From b92e7e28f1490c137225a97b24503e341e183c25 Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Sun, 22 Jun 2025 20:18:19 +0300 Subject: [PATCH] Features: 1) Add new email content translations for `ru_RU`, `zh_Hans`, and `ro_RO` locales; 2) Update "balance deposit" and general email-related translations across multiple languages; Fixes: 1) Correct inconsistent formatting in translation strings; 2) Fix placeholders in email templates for better accuracy; Extra: Update `.gitignore` to include `.env` file exclusion. --- .gitignore | 5 +- core/locale/ar_AR/LC_MESSAGES/django.mo | Bin 57333 -> 57357 bytes core/locale/ar_AR/LC_MESSAGES/django.po | 497 +++++++------- core/locale/cs_CZ/LC_MESSAGES/django.mo | Bin 49474 -> 49507 bytes core/locale/cs_CZ/LC_MESSAGES/django.po | 497 +++++++------- core/locale/da_DK/LC_MESSAGES/django.mo | Bin 47871 -> 47904 bytes core/locale/da_DK/LC_MESSAGES/django.po | 497 +++++++------- core/locale/de_DE/LC_MESSAGES/django.mo | Bin 50743 -> 50784 bytes core/locale/de_DE/LC_MESSAGES/django.po | 497 +++++++------- core/locale/en_GB/LC_MESSAGES/django.mo | Bin 46158 -> 46210 bytes core/locale/en_GB/LC_MESSAGES/django.po | 604 +++++++++--------- core/locale/en_US/LC_MESSAGES/django.mo | Bin 46157 -> 46201 bytes core/locale/en_US/LC_MESSAGES/django.po | 497 +++++++------- core/locale/es_ES/LC_MESSAGES/django.mo | Bin 49593 -> 49614 bytes core/locale/es_ES/LC_MESSAGES/django.po | 497 +++++++------- core/locale/fr_FR/LC_MESSAGES/django.mo | Bin 50775 -> 50802 bytes core/locale/fr_FR/LC_MESSAGES/django.po | 497 +++++++------- core/locale/hi_IN/LC_MESSAGES/django.po | 493 +++++++------- core/locale/it_IT/LC_MESSAGES/django.mo | Bin 49940 -> 49976 bytes core/locale/it_IT/LC_MESSAGES/django.po | 497 +++++++------- core/locale/ja_JP/LC_MESSAGES/django.mo | Bin 51863 -> 51925 bytes core/locale/ja_JP/LC_MESSAGES/django.po | 497 +++++++------- core/locale/kk_KZ/LC_MESSAGES/django.po | 493 +++++++------- core/locale/nl_NL/LC_MESSAGES/django.mo | Bin 49125 -> 49165 bytes core/locale/nl_NL/LC_MESSAGES/django.po | 497 +++++++------- core/locale/pl_PL/LC_MESSAGES/django.mo | Bin 49453 -> 49521 bytes core/locale/pl_PL/LC_MESSAGES/django.po | 497 +++++++------- core/locale/pt_BR/LC_MESSAGES/django.mo | Bin 49526 -> 49552 bytes core/locale/pt_BR/LC_MESSAGES/django.po | 497 +++++++------- core/locale/ro_RO/LC_MESSAGES/django.mo | Bin 50333 -> 50343 bytes core/locale/ro_RO/LC_MESSAGES/django.po | 497 +++++++------- core/locale/ru_RU/LC_MESSAGES/django.mo | Bin 63499 -> 63526 bytes core/locale/ru_RU/LC_MESSAGES/django.po | 497 +++++++------- core/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 44408 -> 44434 bytes core/locale/zh_Hans/LC_MESSAGES/django.po | 497 +++++++------- payments/locale/ar_AR/LC_MESSAGES/django.mo | Bin 2719 -> 2627 bytes payments/locale/ar_AR/LC_MESSAGES/django.po | 75 +-- payments/locale/cs_CZ/LC_MESSAGES/django.mo | Bin 2517 -> 2388 bytes payments/locale/cs_CZ/LC_MESSAGES/django.po | 75 +-- payments/locale/da_DK/LC_MESSAGES/django.mo | Bin 2465 -> 2363 bytes payments/locale/da_DK/LC_MESSAGES/django.po | 75 +-- payments/locale/de_DE/LC_MESSAGES/django.mo | Bin 2601 -> 2435 bytes payments/locale/de_DE/LC_MESSAGES/django.po | 75 +-- payments/locale/en_GB/LC_MESSAGES/django.mo | Bin 2426 -> 2324 bytes payments/locale/en_GB/LC_MESSAGES/django.po | 70 +- payments/locale/en_US/LC_MESSAGES/django.mo | Bin 2414 -> 2312 bytes payments/locale/en_US/LC_MESSAGES/django.po | 75 +-- payments/locale/es_ES/LC_MESSAGES/django.mo | Bin 2465 -> 2408 bytes payments/locale/es_ES/LC_MESSAGES/django.po | 75 +-- payments/locale/fr_FR/LC_MESSAGES/django.mo | Bin 2543 -> 2443 bytes payments/locale/fr_FR/LC_MESSAGES/django.po | 78 +-- payments/locale/hi_IN/LC_MESSAGES/django.po | 48 +- payments/locale/it_IT/LC_MESSAGES/django.mo | Bin 2494 -> 2393 bytes payments/locale/it_IT/LC_MESSAGES/django.po | 75 +-- payments/locale/ja_JP/LC_MESSAGES/django.mo | Bin 2667 -> 2493 bytes payments/locale/ja_JP/LC_MESSAGES/django.po | 74 +-- payments/locale/kk_KZ/LC_MESSAGES/django.po | 48 +- payments/locale/nl_NL/LC_MESSAGES/django.mo | Bin 2454 -> 2357 bytes payments/locale/nl_NL/LC_MESSAGES/django.po | 75 +-- payments/locale/pl_PL/LC_MESSAGES/django.mo | Bin 2505 -> 2431 bytes payments/locale/pl_PL/LC_MESSAGES/django.po | 75 +-- payments/locale/pt_BR/LC_MESSAGES/django.mo | Bin 2478 -> 2399 bytes payments/locale/pt_BR/LC_MESSAGES/django.po | 75 +-- payments/locale/ro_RO/LC_MESSAGES/django.mo | Bin 2524 -> 2388 bytes payments/locale/ro_RO/LC_MESSAGES/django.po | 75 +-- payments/locale/ru_RU/LC_MESSAGES/django.mo | Bin 2988 -> 2795 bytes payments/locale/ru_RU/LC_MESSAGES/django.po | 75 +-- payments/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 2361 -> 2285 bytes payments/locale/zh_Hans/LC_MESSAGES/django.po | 73 +-- payments/signals.py | 10 +- payments/templates/balance_deposit_email.html | 68 +- payments/utils/emailing.py | 38 +- scripts/Unix/backup.sh | 12 + scripts/Unix/export-environment-file.sh | 64 +- scripts/Unix/generate-environment-file.sh | 182 ++---- scripts/Unix/install.sh | 59 +- scripts/Unix/reboot.sh | 50 +- scripts/Unix/run.sh | 60 +- scripts/Unix/starter.sh | 24 + scripts/Unix/uninstall.sh | 44 +- scripts/Windows/backup.ps1 | 23 +- scripts/Windows/export-environment-file.ps1 | 23 +- scripts/Windows/generate-environment-file.ps1 | 24 +- scripts/Windows/install.ps1 | 20 +- scripts/Windows/reboot.ps1 | 24 +- scripts/Windows/run.ps1 | 24 +- scripts/Windows/starter.ps1 | 21 + scripts/Windows/uninstall.ps1 | 24 +- 88 files changed, 5339 insertions(+), 5796 deletions(-) create mode 100644 scripts/Unix/backup.sh create mode 100644 scripts/Unix/starter.sh create mode 100644 scripts/Windows/starter.ps1 diff --git a/.gitignore b/.gitignore index 0ea2fc71..2246319b 100644 --- a/.gitignore +++ b/.gitignore @@ -160,4 +160,7 @@ cypress/screenshots/ *.tsbuildinfo # Environment file -.env \ No newline at end of file +.env + +# Development stuff +test.ipynb \ No newline at end of file diff --git a/core/locale/ar_AR/LC_MESSAGES/django.mo b/core/locale/ar_AR/LC_MESSAGES/django.mo index eb55f77070b39c04ee6abc4139dbf1a8291ffef0..7b6f17c52105405cae5439bd0f482e86a45e0de4 100644 GIT binary patch delta 11320 zcmZwM2Y8Ox|Htt=gb)!U2nmu%jRYa~iWMVP5TjOGD?t;Z*3W*#ZmL#Lv(&6eYotbO zO{uC~G%?$%Ur|*`hg!e)C+Fn4{IBbOU%q*Lzvn*BJZzj^h=mR>#>J>NwRf9mDZ17DxZerhm9K8jH~$kN!9nOW`UkiM!DU z&tgTqh2}5&`O&+Exsa0ROC5~5 z(1xfRXol+7%Q_HsVZ+cJ7vM_H?<^tFm50}4*s&h!#4Rx&_QFay0QJGSsQwFWz0A5A zb;5P15lTgF-r0j8cpEEVp;~4t>!3>~7)%n3@1Z&_K}Oj*j2goGw!Ij`)PTA%YDmXp z8C-1LiTrcU@uL{#tz$;UAKOybL=T*TC2&?9#$R{5ng$&x1$74}@J+mc(HL6Sahl+G zY=P-m6kj6i$SG3KEUpOjrtXZ|-xnw1C@hb^qo$}h3!otS*Ju2TlZ4Qq4>Uo|bqwl4 z24W!`h9z(cYSAr0U)*H(AF}OdtT$0p@DP3Q83tk@hA$MWBeU-Gc9F22oOyP~5!4BP zMGe(6Ovc#P84nHo~X4EkGjK=sLxMDjr4ldly67fpevoE07(Yw z%Ffyj|Dq0@yOBAeH|m3BQFB`nHPnqzBi9af!ne^66Hq6dZQB=PAoV)baWas_>~c<# z=uXe0?ko#6C3jH=e1$qt!3c9=Kh#rD4fVNNm^~8KXw(JvMa}sb)Re76O+_k}!Xw!- z|5r$K;wPv(ac^u6?2A>X15k^sJ!%b%v-NyrJvsZ4>2;oGEc~YGi+=xl2{?#Lyf6aCMNahhcqMpwgsG&_l)}fPuy3kjsIS=P0Pzmc}5cWr1 z*bLN(wxS--Td0wIhFTNeEzKefMlI47EnVh{-=U!c4e#MtJd8uJPAhXk8&In~1^MTs z^Fw#&v^FE*i5j6Is3{3XU0_f2z-g%cNvI24g<4Y=T_n{=oG3Gg)v*m_3-rf%$hvY; zP$#^Lx}(R)%hAb8=c*WiH8CD@;~K1l>rrdq6zX_aZ2cFOrFOZuHA5eaI&crHi1F5B z)DZ8tUdKS{S6BuE+cA&W7z1!P2I73IjN8#2uc1cZN7T?i#(aAIz1y1xUt}wqZThz#Hz!1*wT(uqYM4P#; zg*rh4)avhm1@SHP#(4C?30N9uqwZ(}>V$`}3LZyY@MF|*JUg02?T1>7UC@j3JA+9I z;26{a6H#;ZF={dGLl1mt{RegDPA9XNieXjC_Nb?50V-8i<*)>s6}}Zi{Nz(!{1ShscbjL;oanPLmhZI zYB66xtqH&G<^qFI7hD&0zGg0xawPq%Gq61MW?P>|4c$Ymg`RJk3u=P8!#>y>2O;<1 zWT58Ww}*L;^g%7gO&EyZVKIDyI<6}}&xEER7{jrnH4!xeY1SK9kve}b^E+TThEOM< z`YpwJcob{kzqYQ*)#e*Zy6^b-_*{2 zTR%mOOoO-0q8*MJ(aEUAwiY>rvjep@yx%d4ybR{i^B+#4)m|4hS1qv`wnx6GoJqF* zu=O}<=ue{$W};4XAGJnapw>vTw;0CtW0~NT%bUerAY&#irCg z{Y}TNs5zX56>uAB6<UeqL%;Q@a+fawZ zG5%Uaqi86Pt5H{;ffeup7Q*6#%$G=c)X;@uQS5>K7>~Mv*{IK@Vq^Rc^I*}z<^oD$ zUg}^hiJ^lTf8ALm4aKpe?HG%?lM(2FYjHAuikia;L(I2gH*7)uAIygbP>bvsmcxsv zHS#y+#{%z~8z_#Nx=0s^R=bSAqu3l@p{AyJym`!qqvm)ys^1x$j$R4oaa(|zk_^=6 zf3fYML-{?C`Yo)3Td)fLfT8FrILs`Ldgw<(U(`rUM0Hq*nwkTsIsOTIxRDGui>T)a zvsmY22+ilPF8+%(vBrDm#S@3RfZ3>#J%mh|%XvVe5BQAC{z7xwVOQ!^sE&`&3xh_P zI}F20)G-)<6EPK6qWVRRHW%6rA5o7&Z;Tzoqm84Hm!Go_!}R?7jO7L4&afeUoi!88 zkQSTBU#Qfrk!g3%SnEzQUn*-+Q*j=(=n73Xi>nS6q>ex>%66y=7-4G{`cQAcK+f;% zC8>;A=!tozuzDHd!dRHPBb|z1U(`sAMBQl$w!uB9&$&%C?OxVW$bC5#Fc2$a4Q!9S z(S@!^lB*j=~o&OjY^De8jOyGUx2WMCvd#VCyU!2F>x3!6}%MlG^}bIk#2 zp&qAZr~{3|nz#(r@09g1>IVHjG%u_e)P;@4V06u~4XM^6*n%Awu?m)&XI@aPP#>Iw zUbqT10$b1%Gf;PU2G#EeRKF*--EF>k<@%tewhH>{`EO1VK|?R}#%0#cr~~gtIyy&f zdlrUK-$9+ocY*nhs4^C%jzWE|H|m1oP!~E5%ibP!UV6Hbc`C>r(eeooEG4#quBXU5}ektGnzP^Ma|2S_9Fj z8`zAx;De~4K7sx49@fM5Yt2;6bdl&eT!K14I%-iB{lr{(H!M%R27BW%)anmfXX;Lv zmpT>o;z`5$cm~xk-+C4z)5gS!)erU zsMUNIbtf-S7wWaeyjbd?KHnKN5-tqE6{tn{6_ QB(H_TWB@CB;lVE$v6$b-%yLF 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 &XiUUF{2p09&La%MT$LTi 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 KvSL?!$o~OctPRxw diff --git a/core/locale/ar_AR/LC_MESSAGES/django.po b/core/locale/ar_AR/LC_MESSAGES/django.po index ddb921da..3438c4df 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -21,122 +21,112 @@ msgstr "المعرف الفريد" msgid "unique id is used to surely identify any database object" msgstr "يستخدم المعرف الفريد لتحديد أي كائن قاعدة بيانات بالتأكيد" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "نشط" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" msgstr "" "إذا تم تعيينه على خطأ، لا يمكن للمستخدمين رؤية هذا الكائن دون الحاجة إلى إذن" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "تم إنشاؤها" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "عندما ظهر الكائن لأول مرة في قاعدة البيانات" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "تم التعديل" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "متى تم تحرير الكائن آخر مرة" -#: core/admin.py:41 -msgid "general" -msgstr "جنرال لواء" - -#: core/admin.py:42 -msgid "I18N" -msgstr "التدويل" - -#: core/admin.py:43 -msgid "metadata" -msgstr "البيانات الوصفية" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "الطوابع الزمنية" - -#: core/admin.py:45 -msgid "relations" -msgstr "العلاقات" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "الترجمات" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "جنرال لواء" + +#: core/admin.py:60 +msgid "relations" +msgstr "العلاقات" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "البيانات الوصفية" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "الطوابع الزمنية" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "تنشيط المحدد %(verbose_name_plural)s" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s تم تفعيله بنجاح!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "إلغاء تنشيط %(verbose_name_plural)s المحددة" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s تم إلغاء تنشيطه بنجاح." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "قيمة السمة" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "قيم السمات" -#: core/admin.py:235 -msgid "name" -msgstr "الاسم" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "الصورة" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "الصور" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "المخزون" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "الأسهم" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "السعر" - -#: core/admin.py:314 -msgid "rating" -msgstr "تصنيف المنتج" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "طلب المنتج" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "اطلب المنتجات" -#: core/admin.py:419 -msgid "is business" -msgstr "هل الأعمال" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "الأطفال" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "التكوين" #: core/apps.py:8 @@ -789,7 +779,8 @@ msgstr "السمات" msgid "Quantity" msgstr "الكمية" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "سبيكة" @@ -968,7 +959,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - يعمل مثل السحر" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "السمات" @@ -981,11 +972,11 @@ msgid "groups of attributes" msgstr "مجموعات السمات" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "الفئات" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "العلامات التجارية" @@ -1041,7 +1032,7 @@ msgid "represents feedback from a user." msgstr "يمثل ملاحظات من المستخدم." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "الإشعارات" @@ -1053,7 +1044,7 @@ msgstr "تحميل الرابط الخاص بمنتج الطلب هذا إن أ msgid "a list of order products in this order" msgstr "قائمة بطلب المنتجات بهذا الترتيب" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "عنوان إرسال الفواتير" @@ -1077,7 +1068,7 @@ msgstr "إجمالي كمية المنتجات بالترتيب" msgid "are all products in the order digital" msgstr "هل جميع المنتجات في الطلب رقمي" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "الطلبات" @@ -1089,15 +1080,15 @@ msgstr "رابط الصورة" msgid "product's images" msgstr "صور المنتج" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "الفئة" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "الملاحظات" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "العلامة التجارية" @@ -1105,6 +1096,14 @@ msgstr "العلامة التجارية" msgid "attribute groups" msgstr "مجموعات السمات" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "السعر" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1117,7 +1116,7 @@ msgstr "الكمية" msgid "number of feedbacks" msgstr "عدد الملاحظات" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "المنتجات" @@ -1129,7 +1128,7 @@ msgstr "الرموز الترويجية" msgid "products on sale" msgstr "المنتجات المعروضة للبيع" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "العروض الترويجية" @@ -1137,7 +1136,7 @@ msgstr "العروض الترويجية" msgid "vendor" msgstr "البائع" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1145,11 +1144,11 @@ msgstr "البائع" msgid "product" msgstr "المنتج" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "المنتجات المفضلة" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "قوائم التمنيات" @@ -1157,7 +1156,7 @@ msgstr "قوائم التمنيات" msgid "tagged products" msgstr "المنتجات الموسومة" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "علامات المنتج" @@ -1256,7 +1255,7 @@ msgstr "مجموعة السمات الرئيسية" msgid "attribute group's name" msgstr "اسم مجموعة السمات" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "مجموعة السمات" @@ -1310,7 +1309,7 @@ msgstr "علامة المنتج" msgid "category tag" msgstr "علامة الفئة" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "علامات الفئة" @@ -1350,444 +1349,440 @@ msgstr "إضافة وصف تفصيلي لهذه الفئة" msgid "category description" msgstr "وصف الفئة" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "العلامات التي تساعد في وصف هذه الفئة أو تجميعها" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "الأولوية" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "اسم هذه العلامة التجارية" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "اسم العلامة التجارية" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "تحميل شعار يمثل هذه العلامة التجارية" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "صورة العلامة التجارية الصغيرة" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "رفع شعار كبير يمثل هذه العلامة التجارية" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "صورة كبيرة للعلامة التجارية" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "إضافة وصف تفصيلي للعلامة التجارية" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "وصف العلامة التجارية" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "الفئات الاختيارية التي ترتبط بها هذه العلامة التجارية" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "الفئات" -#: core/models.py:306 -msgid "brand slug" -msgstr "سبيكة العلامة التجارية" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "الفئة التي ينتمي إليها هذا المنتج" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "ربط هذا المنتج اختياريًا بعلامة تجارية" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "العلامات التي تساعد في وصف أو تجميع هذا المنتج" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "يشير إلى ما إذا كان هذا المنتج يتم تسليمه رقميًا أم لا" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "هل المنتج رقمي" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "توفير اسم تعريفي واضح للمنتج" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "اسم المنتج" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "إضافة وصف تفصيلي للمنتج" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "وصف المنتج" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "رقم الجزء لهذا المنتج" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "رقم الجزء" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "فئة هذه السمة" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "مجموعة هذه السمة" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "الخيط" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "عدد صحيح" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "تعويم" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "منطقية" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "المصفوفة" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "الكائن" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "نوع قيمة السمة" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "نوع القيمة" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "اسم هذه السمة" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "اسم السمة" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "السمة" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "سمة هذه القيمة" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "المنتج المحدد المرتبط بقيمة هذه السمة" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "المنتج المرتبط" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "القيمة المحددة لهذه السمة" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "توفير نص بديل للصورة لإمكانية الوصول" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "النص البديل للصورة" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "تحميل ملف الصورة لهذا المنتج" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "صورة المنتج" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "يحدد الترتيب الذي يتم عرض الصور به" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "أولوية العرض" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "المنتج الذي تمثله هذه الصورة" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "صور المنتج" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "النسبة المئوية للخصم على المنتجات المختارة" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "نسبة الخصم" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "تقديم اسم فريد لهذا العرض الترويجي" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "اسم الترقية" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "وصف الترقية" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "حدد المنتجات المشمولة في هذا العرض الترويجي" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "المنتجات المشمولة" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "الترقية" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "البائع الذي يورد هذا المنتج المخزون" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "البائع المرتبط" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "السعر النهائي للعميل بعد هوامش الربح" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "سعر البيع" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "المنتج المرتبط بإدخال المخزون هذا" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "السعر المدفوع للبائع مقابل هذا المنتج" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "سعر الشراء من البائع" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "الكمية المتوفرة من المنتج في المخزون" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "الكمية في المخزون" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU المعين من قبل البائع لتحديد المنتج" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "وحدة تخزين البائع" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "الملف الرقمي المرتبط بهذا المخزون إن أمكن" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "ملف رقمي" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "إدخالات المخزون" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "المنتجات التي حددها المستخدم على أنها مطلوبة" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "المستخدم الذي يمتلك قائمة الرغبات هذه" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "مالك قائمة الرغبات" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "قائمة الرغبات" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} غير موجود: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "فيلم وثائقي" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "الأفلام الوثائقية" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "لم يتم حلها" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "سطر العنوان للعميل" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "سطر العنوان" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "الشارع" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "المنطقة" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "المدينة" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "المنطقة" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "الرمز البريدي" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "البلد" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "نقطة تحديد الموقع الجغرافي(خط الطول، خط العرض)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "استجابة JSON كاملة من أداة التشفير الجغرافي لهذا العنوان" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "استجابة JSON مخزّنة من خدمة الترميز الجغرافي" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "العنوان" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "العناوين" -#: core/models.py:791 +#: core/models.py:793 msgid "unique code used by a user to redeem a discount" msgstr "الرمز الفريد الذي يستخدمه المستخدم لاسترداد قيمة الخصم" -#: core/models.py:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "معرّف الرمز الترويجي" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "مبلغ الخصم الثابت المطبق في حالة عدم استخدام النسبة المئوية" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "مبلغ الخصم الثابت" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "النسبة المئوية للخصم المطبق في حالة عدم استخدام مبلغ ثابت" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "النسبة المئوية للخصم" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "الطابع الزمني عند انتهاء صلاحية الرمز الترويجي" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "وقت انتهاء الصلاحية" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "الطابع الزمني الذي يكون هذا الرمز الترويجي صالحاً منه" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "وقت بدء الصلاحية" -#: core/models.py:824 +#: core/models.py:826 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "الطابع الزمني عند استخدام الرمز الترويجي، فارغ إذا لم يتم استخدامه بعد" -#: core/models.py:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "الطابع الزمني للاستخدام" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "المستخدم المعين لهذا الرمز الترويجي إن أمكن" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "المستخدم المعين" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "الرمز الترويجي" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "الرموز الترويجية" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1795,135 +1790,135 @@ msgstr "" "يجب تحديد نوع واحد فقط من الخصم (المبلغ أو النسبة المئوية)، وليس كلا النوعين" " أو لا هذا ولا ذاك." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "تم استخدام الرمز الترويجي بالفعل" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "نوع الخصم غير صالح للرمز الترويجي {self.uuid}" -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "عنوان إرسال الفواتير المستخدم لهذا الطلب" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "الرمز الترويجي الاختياري المطبق على هذا الطلب" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "الرمز الترويجي المطبق" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "عنوان الشحن المستخدم لهذا الطلب" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "عنوان الشحن" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "الحالة الحالية للطلب في دورة حياته" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "حالة الطلب" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "بنية JSON للإشعارات التي سيتم عرضها للمستخدمين، في واجهة مستخدم المشرف، يتم " "استخدام عرض الجدول" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "تمثيل JSON لسمات الطلب لهذا الطلب" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "المستخدم الذي قدم الطلب" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "المستخدم" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "الطابع الزمني عند الانتهاء من الطلب" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "وقت الشراء" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "معرّف يمكن قراءته بواسطة البشر للطلب" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "معرّف يمكن قراءته من قبل البشر" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "الطلب" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "يجب أن يكون لدى المستخدم طلب واحد فقط معلق في كل مرة!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "لا يمكنك إضافة منتجات إلى طلب غير معلق إلى طلب غير معلق" -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "لا يمكنك إضافة منتجات غير نشطة للطلب" -#: core/models.py:1037 +#: core/models.py:1039 msgid "you cannot add more products than available in stock" msgstr "لا يمكنك إضافة منتجات أكثر من المتوفرة في المخزون" -#: core/models.py:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "لا يمكنك إزالة المنتجات من طلب غير معلق من طلب غير معلق" -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} غير موجود مع الاستعلام <{query}>" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "الرمز الترويجي غير موجود" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "يمكنك فقط شراء المنتجات المادية مع تحديد عنوان الشحن فقط!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "العنوان غير موجود" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "لا يمكنك الشراء في هذه اللحظة، يرجى المحاولة مرة أخرى بعد بضع دقائق." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "قيمة القوة غير صالحة" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "لا يمكنك شراء طلبية فارغة!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "عدم كفاية الأموال لإكمال الطلب" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1931,116 +1926,116 @@ msgstr "" "لا يمكنك الشراء بدون تسجيل، يرجى تقديم المعلومات التالية: اسم العميل، البريد" " الإلكتروني للعميل، رقم هاتف العميل" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "طريقة الدفع غير صالحة: {payment_method} من {available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 msgid "the price paid by the customer for this product at purchase time" msgstr "السعر الذي دفعه العميل لهذا المنتج وقت الشراء" -#: core/models.py:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "سعر الشراء وقت الطلب" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "تعليقات داخلية للمسؤولين حول هذا المنتج المطلوب" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "التعليقات الداخلية" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "إشعارات المستخدم" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "تمثيل JSON لسمات هذا العنصر" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "سمات المنتج المطلوبة" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "الإشارة إلى الطلب الأصلي الذي يحتوي على هذا المنتج" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "ترتيب الوالدين" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "المنتج المحدد المرتبط بخط الطلب هذا" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "كمية هذا المنتج المحدد في الطلب" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "كمية المنتج" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "الحالة الحالية لهذا المنتج بالترتيب" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "حالة خط الإنتاج" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "إجراء خاطئ محدد للتغذية الراجعة: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "لا يمكنك التعليق على طلب لم يتم استلامه" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "تنزيل" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "التنزيلات" -#: core/models.py:1467 +#: core/models.py:1469 msgid "you can not download a digital asset for a non-finished order" msgstr "لا يمكنك تنزيل أصل رقمي لطلب غير مكتمل" -#: core/models.py:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "التعليقات المقدمة من المستخدمين حول تجربتهم مع المنتج" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "تعليقات على الملاحظات" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "الإشارة إلى المنتج المحدد في الطلب الذي تدور حوله هذه الملاحظات" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "منتجات الطلبات ذات الصلة" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "التصنيف المعين من قبل المستخدم للمنتج" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "تصنيف المنتج" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "الملاحظات" diff --git a/core/locale/cs_CZ/LC_MESSAGES/django.mo b/core/locale/cs_CZ/LC_MESSAGES/django.mo index e29e6b1bda7f798be38f5a505fbc8f84b2a463f2..a6208ad419a0847ffd11a5547ba630f6ddd41f1d 100644 GIT binary patch delta 11283 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 IenOf50dt4ie*gdg delta 11276 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 V8(nFG1|$yYH+V?q\n" "Language-Team: BRITISH ENGLISH \n" @@ -22,11 +22,11 @@ msgid "unique id is used to surely identify any database object" msgstr "" "Jedinečné ID slouží k jisté identifikaci jakéhokoli databázového objektu." -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Je aktivní" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -34,111 +34,101 @@ msgstr "" "Pokud je nastaveno na false, nemohou tento objekt vidět uživatelé bez " "potřebného oprávnění." -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Vytvořeno" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "Kdy se objekt poprvé objevil v databázi" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Upraveno" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "Kdy byl objekt naposledy upraven" -#: core/admin.py:41 -msgid "general" -msgstr "Obecné" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internacionalizace" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Metadata" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Časová razítka" - -#: core/admin.py:45 -msgid "relations" -msgstr "Vztahy" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Překlady" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "Obecné" + +#: core/admin.py:60 +msgid "relations" +msgstr "Vztahy" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Metadata" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Časová razítka" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Aktivovat vybrané %(verbose_name_plural)s" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s úspěšně aktivován!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Deaktivovat vybrané %(verbose_name_plural)s" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s byl úspěšně deaktivován." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Hodnota atributu" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Hodnoty atributů" -#: core/admin.py:235 -msgid "name" -msgstr "Název" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Obrázek" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Obrázky" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Stock" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Zásoby" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Cena" - -#: core/admin.py:314 -msgid "rating" -msgstr "Hodnocení produktu" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Objednat produkt" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Objednat produkty" -#: core/admin.py:419 -msgid "is business" -msgstr "Je podnikání" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Děti" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Konfigurace" #: core/apps.py:8 @@ -814,7 +804,8 @@ msgstr "Atributy" msgid "Quantity" msgstr "Množství" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Slug" @@ -995,7 +986,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funguje jako kouzlo" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Atributy" @@ -1008,11 +999,11 @@ msgid "groups of attributes" msgstr "Skupiny atributů" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Kategorie" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Značky" @@ -1069,7 +1060,7 @@ msgid "represents feedback from a user." msgstr "Představuje zpětnou vazbu od uživatele." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Oznámení" @@ -1081,7 +1072,7 @@ msgstr "Stáhněte si url adresu pro tento objednaný produkt, pokud je to možn msgid "a list of order products in this order" msgstr "Seznam objednaných produktů v tomto pořadí" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Fakturační adresa" @@ -1105,7 +1096,7 @@ msgstr "Celkové množství objednaných produktů" msgid "are all products in the order digital" msgstr "Jsou všechny produkty v objednávce digitální" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Objednávky" @@ -1117,15 +1108,15 @@ msgstr "Adresa URL obrázku" msgid "product's images" msgstr "Obrázky produktu" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Kategorie" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Zpětná vazba" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Značka" @@ -1133,6 +1124,14 @@ msgstr "Značka" msgid "attribute groups" msgstr "Skupiny atributů" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Cena" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1145,7 +1144,7 @@ msgstr "Množství" msgid "number of feedbacks" msgstr "Počet zpětných vazeb" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Produkty" @@ -1157,7 +1156,7 @@ msgstr "Propagační kódy" msgid "products on sale" msgstr "Produkty v prodeji" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Propagační akce" @@ -1165,7 +1164,7 @@ msgstr "Propagační akce" msgid "vendor" msgstr "Prodejce" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1173,11 +1172,11 @@ msgstr "Prodejce" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Produkty uvedené na seznamu přání" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Seznamy přání" @@ -1185,7 +1184,7 @@ msgstr "Seznamy přání" msgid "tagged products" msgstr "Produkty s příznakem" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Štítky produktu" @@ -1283,7 +1282,7 @@ msgstr "Nadřazená skupina atributů" msgid "attribute group's name" msgstr "Název skupiny atributů" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Skupina atributů" @@ -1337,7 +1336,7 @@ msgstr "Štítek produktu" msgid "category tag" msgstr "značka kategorie" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "štítky kategorií" @@ -1377,443 +1376,439 @@ msgstr "Přidejte podrobný popis této kategorie" msgid "category description" msgstr "Popis kategorie" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "značky, které pomáhají popsat nebo seskupit tuto kategorii" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Priorita" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Název této značky" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Název značky" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Nahrát logo reprezentující tuto značku" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Malý obrázek značky" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Nahrát velké logo reprezentující tuto značku" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Velká image značky" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Přidejte podrobný popis značky" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Popis značky" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Volitelné kategorie, se kterými je tato značka spojena" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Kategorie" -#: core/models.py:306 -msgid "brand slug" -msgstr "Brandův slimák" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Kategorie, do které tento produkt patří" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Volitelně přiřadit tento produkt ke značce" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Značky, které pomáhají popsat nebo seskupit tento produkt" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Označuje, zda je tento produkt dodáván digitálně" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "Je produkt digitální" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Uveďte jasný identifikační název výrobku" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Název produktu" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Přidejte podrobný popis produktu" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Popis produktu" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Číslo dílu pro tento produkt" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Číslo dílu" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Kategorie tohoto atributu" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Skupina tohoto atributu" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "Řetězec" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Celé číslo" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Float" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Boolean" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Pole" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Objekt" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Typ hodnoty atributu" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Typ hodnoty" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Název tohoto atributu" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Název atributu" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Atribut" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Atribut této hodnoty" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "Konkrétní produkt spojený s hodnotou tohoto atributu" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Související produkt" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "Konkrétní hodnota tohoto atributu" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "Poskytněte alternativní text k obrázku kvůli přístupnosti." -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "Text alt obrázku" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Nahrát soubor s obrázkem tohoto produktu" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Obrázek produktu" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Určuje pořadí, v jakém se obrázky zobrazují." -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Priorita zobrazení" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "Výrobek, který tento obrázek představuje" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Obrázky produktů" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Procentuální sleva na vybrané produkty" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Procento slevy" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Uveďte jedinečný název této propagační akce" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Název akce" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Popis propagace" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Vyberte, které produkty jsou zahrnuty do této akce" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Zahrnuté produkty" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Propagace" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "Prodejce dodávající tento výrobek na sklad" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Přidružený prodejce" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Konečná cena pro zákazníka po přirážkách" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Prodejní cena" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "Produkt spojený s touto skladovou položkou" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "Cena zaplacená prodejci za tento výrobek" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Kupní cena prodejce" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Dostupné množství produktu na skladě" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Množství na skladě" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU přidělený prodejcem pro identifikaci výrobku" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "SKU prodejce" -#: core/models.py:639 +#: core/models.py:641 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:640 +#: core/models.py:642 msgid "digital file" msgstr "Digitální soubor" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Zápisy do zásob" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Výrobky, které uživatel označil jako požadované" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "Uživatel, který vlastní tento seznam přání" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Majitel seznamu přání" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Seznam přání" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} neexistuje: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Dokumentární film" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Dokumentární filmy" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Nevyřešené" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Adresní řádek pro zákazníka" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Adresní řádek" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Ulice" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "Okres" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "Město" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Region" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Poštovní směrovací číslo" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "Země" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Geolokace Bod(Zeměpisná délka, Zeměpisná šířka)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Úplná odpověď JSON z geokodéru pro tuto adresu" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Uložená odpověď JSON ze služby geokódování" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Adresa" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Adresy" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Identifikátor propagačního kódu" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "Pevná výše slevy, pokud není použito procento" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Pevná výše slevy" -#: core/models.py:806 +#: core/models.py:808 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:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Procentuální sleva" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Časové razítko ukončení platnosti promokódu" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "Doba ukončení platnosti" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Časové razítko, od kterého je tento promokód platný" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Čas zahájení platnosti" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Časové razítko použití" -#: core/models.py:830 +#: core/models.py:832 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:831 +#: core/models.py:833 msgid "assigned user" msgstr "Přiřazený uživatel" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Propagační kód" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Propagační kódy" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1821,137 +1816,137 @@ 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:863 +#: core/models.py:865 msgid "promocode already used" msgstr "Promo kód byl již použit" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Neplatný typ slevy pro promocode {self.uuid}" -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "Fakturační adresa použitá pro tuto objednávku" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Volitelný promo kód použitý na tuto objednávku" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Použitý promo kód" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "Dodací adresa použitá pro tuto objednávku" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Dodací adresa" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Aktuální stav zakázky v jejím životním cyklu" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Stav objednávky" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "JSON struktura oznámení pro zobrazení uživatelům, v uživatelském rozhraní " "administrátora se používá tabulkové zobrazení." -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "JSON reprezentace atributů objednávky pro tuto objednávku" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "Uživatel, který zadal objednávku" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "Uživatel" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "Časové razítko, kdy byla objednávka dokončena." -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Kupte si čas" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "Lidsky čitelný identifikátor objednávky" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "lidsky čitelné ID" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Objednávka" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "Uživatel smí mít vždy pouze jednu čekající objednávku!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "" "Do objednávky, která není v procesu vyřizování, nelze přidat produkty." -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "Do objednávky nelze přidat neaktivní produkty" -#: core/models.py:1037 +#: core/models.py:1039 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:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "Nelze odebrat produkty z objednávky, která není nevyřízená." -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} neexistuje s dotazem <{query}>" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Promo kód neexistuje" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "Fyzické produkty můžete zakoupit pouze se zadanou dodací adresou!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "Adresa neexistuje" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "V tuto chvíli nemůžete nakupovat, zkuste to prosím znovu za několik minut." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Neplatná hodnota síly" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "Nelze zakoupit prázdnou objednávku!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Nedostatek finančních prostředků na dokončení objednávky" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1959,118 +1954,118 @@ msgstr "" "bez registrace nelze nakupovat, uveďte prosím následující údaje: jméno " "zákazníka, e-mail zákazníka, telefonní číslo zákazníka." -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Neplatný způsob platby: {payment_method} z {available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Nákupní cena v době objednávky" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "Interní komentáře pro administrátory k tomuto objednanému produktu" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Interní připomínky" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "Oznámení uživatele" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "JSON reprezentace atributů této položky" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Objednané atributy produktu" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Odkaz na nadřazenou objednávku, která obsahuje tento produkt" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Objednávka rodičů" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "Konkrétní produkt spojený s touto objednávkou" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Množství tohoto konkrétního produktu v objednávce" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Množství produktu" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Aktuální stav tohoto produktu v objednávce" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Stav produktové řady" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "špatně zadaná akce pro zpětnou vazbu: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "nelze poskytnout zpětnou vazbu na objednávku, která nebyla přijata" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Stáhnout" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Ke stažení na" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "Komentáře uživatelů o jejich zkušenostech s produktem" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Zpětná vazba" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "Odkazuje na konkrétní produkt v objednávce, kterého se tato zpětná vazba " "týká." -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Související objednávka produktu" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "Hodnocení produktu přidělené uživatelem" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Hodnocení produktu" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Zpětná vazba" diff --git a/core/locale/da_DK/LC_MESSAGES/django.mo b/core/locale/da_DK/LC_MESSAGES/django.mo index 618bf7647c04f01156722e0243a388cde822ea8f..3364a06be2581f6891842c2f2ae74c1f56731ba3 100644 GIT binary patch delta 11267 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 DQT4yj diff --git a/core/locale/da_DK/LC_MESSAGES/django.po b/core/locale/da_DK/LC_MESSAGES/django.po index 4f1bb0f8..1ed0e4c7 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -21,11 +21,11 @@ msgstr "Unikt ID" msgid "unique id is used to surely identify any database object" msgstr "Unikt ID bruges til sikkert at identificere ethvert databaseobjekt" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Er aktiv" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -33,111 +33,101 @@ msgstr "" "Hvis det er sat til false, kan dette objekt ikke ses af brugere uden den " "nødvendige tilladelse." -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Oprettet" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "Da objektet første gang dukkede op i databasen" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Modificeret" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "Hvornår objektet sidst blev redigeret" -#: core/admin.py:41 -msgid "general" -msgstr "Generelt" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internationalisering" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Metadata" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Tidsstempler" - -#: core/admin.py:45 -msgid "relations" -msgstr "Relationer" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Oversættelser" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "Generelt" + +#: core/admin.py:60 +msgid "relations" +msgstr "Relationer" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Metadata" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Tidsstempler" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Aktivér udvalgte %(verbose_name_plural)s" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s aktiveret med succes!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Deaktiver udvalgte %(verbose_name_plural)s" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s deaktiveret med succes." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Attributværdi" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Attributværdier" -#: core/admin.py:235 -msgid "name" -msgstr "Navn" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Billede" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Billeder" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Lager" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Aktier" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Pris" - -#: core/admin.py:314 -msgid "rating" -msgstr "Produktvurdering" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Bestil produkt" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Bestil produkter" -#: core/admin.py:419 -msgid "is business" -msgstr "Er forretning" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Børn" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Konfig" #: core/apps.py:8 @@ -816,7 +806,8 @@ msgstr "Egenskaber" msgid "Quantity" msgstr "Mængde" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Snegl" @@ -997,7 +988,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - fungerer som en charme" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Egenskaber" @@ -1010,11 +1001,11 @@ msgid "groups of attributes" msgstr "Grupper af attributter" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Kategorier" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Mærker" @@ -1075,7 +1066,7 @@ msgid "represents feedback from a user." msgstr "Repræsenterer feedback fra en bruger." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Meddelelser" @@ -1087,7 +1078,7 @@ msgstr "Download url for dette ordreprodukt, hvis det er relevant" msgid "a list of order products in this order" msgstr "En liste over bestillingsprodukter i denne ordre" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Faktureringsadresse" @@ -1111,7 +1102,7 @@ msgstr "Samlet antal produkter i ordren" msgid "are all products in the order digital" msgstr "Er alle produkterne i ordren digitale?" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Bestillinger" @@ -1123,15 +1114,15 @@ msgstr "Billed-URL" msgid "product's images" msgstr "Produktets billeder" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Kategori" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Tilbagemeldinger" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Brand" @@ -1139,6 +1130,14 @@ msgstr "Brand" msgid "attribute groups" msgstr "Attributgrupper" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Pris" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1151,7 +1150,7 @@ msgstr "Mængde" msgid "number of feedbacks" msgstr "Antal tilbagemeldinger" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Produkter" @@ -1163,7 +1162,7 @@ msgstr "Promokoder" msgid "products on sale" msgstr "Produkter til salg" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Kampagner" @@ -1171,7 +1170,7 @@ msgstr "Kampagner" msgid "vendor" msgstr "Leverandør" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1179,11 +1178,11 @@ msgstr "Leverandør" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Produkter på ønskelisten" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Ønskelister" @@ -1191,7 +1190,7 @@ msgstr "Ønskelister" msgid "tagged products" msgstr "Mærkede produkter" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Produktmærker" @@ -1289,7 +1288,7 @@ msgstr "Overordnet attributgruppe" msgid "attribute group's name" msgstr "Attributgruppens navn" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Attributgruppe" @@ -1343,7 +1342,7 @@ msgstr "Produktmærke" msgid "category tag" msgstr "Kategori-tag" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "Kategori-tags" @@ -1383,444 +1382,440 @@ msgstr "Tilføj en detaljeret beskrivelse af denne kategori" msgid "category description" msgstr "Beskrivelse af kategori" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "tags, der hjælper med at beskrive eller gruppere denne kategori" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Prioritet" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Navnet på dette mærke" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Varemærke" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Upload et logo, der repræsenterer dette brand" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Brandets lille image" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Upload et stort logo, der repræsenterer dette brand" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Brandets store image" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Tilføj en detaljeret beskrivelse af brandet" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Varemærkebeskrivelse" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Valgfrie kategorier, som dette brand er forbundet med" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Kategorier" -#: core/models.py:306 -msgid "brand slug" -msgstr "Brands snegl" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Kategori, som dette produkt tilhører" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Tilknyt eventuelt dette produkt til et brand" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Tags, der hjælper med at beskrive eller gruppere dette produkt" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Angiver, om dette produkt leveres digitalt" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "Er produktet digitalt?" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Giv produktet et klart identificerende navn" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Produktets navn" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Tilføj en detaljeret beskrivelse af produktet" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Produktbeskrivelse" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Reservedelsnummer for dette produkt" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Varenummer" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Kategori for denne attribut" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Gruppe af denne attribut" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "Streng" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Heltal" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Flyder" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Boolsk" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Array" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Objekt" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Type af attributtens værdi" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Værditype" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Navn på denne attribut" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Attributtens navn" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribut" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Attribut for denne værdi" -#: core/models.py:504 +#: core/models.py:506 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:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Tilknyttet produkt" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "Den specifikke værdi for denne attribut" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "Giv alternativ tekst til billedet af hensyn til tilgængeligheden" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "Billedets alt-tekst" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Upload billedfilen til dette produkt" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Produktbillede" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Bestemmer den rækkefølge, billederne vises i" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Skærm-prioritet" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "Det produkt, som dette billede repræsenterer" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Produktbilleder" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Procentvis rabat for de valgte produkter" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Rabatprocent" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Giv et unikt navn til denne kampagne" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Navn på kampagne" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Beskrivelse af kampagnen" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Vælg, hvilke produkter der er inkluderet i denne kampagne" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Inkluderede produkter" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Forfremmelse" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "Den leverandør, der leverer dette produkt, lagerfører" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Tilknyttet leverandør" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Endelig pris til kunden efter tillæg" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Salgspris" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "Det produkt, der er knyttet til denne lagerpost" -#: core/models.py:622 +#: core/models.py:624 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:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Leverandørens købspris" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Tilgængelig mængde af produktet på lager" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Antal på lager" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "Leverandørtildelt SKU til identifikation af produktet" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "Leverandørens SKU" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "Digital fil knyttet til dette lager, hvis relevant" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "Digital fil" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Lagerposteringer" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Produkter, som brugeren har markeret som ønskede" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "Bruger, der ejer denne ønskeliste" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Ønskelistens ejer" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Ønskeliste" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} findes ikke: {product_uuid}." -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Dokumentarfilm" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Dokumentarfilm" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Uafklaret" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Adresselinje til kunden" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Adresselinje" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Gade" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "Distrikt" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "By" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Region" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Postnummer" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "Land" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Geolokaliseringspunkt (længdegrad, breddegrad)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Fuldt JSON-svar fra geokoderen for denne adresse" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Gemt JSON-svar fra geokodningstjenesten" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Adresse" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Adresser" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Identifikator for kampagnekode" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "Fast rabatbeløb anvendes, hvis procent ikke bruges" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Fast rabatbeløb" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "Procentvis rabat, hvis det faste beløb ikke bruges" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Procentvis rabat" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Tidsstempel, når promokoden udløber" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "Slut gyldighedstid" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Tidsstempel, hvorfra denne promokode er gyldig" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Start gyldighedstid" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Tidsstempel for brug" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "Bruger tildelt denne promokode, hvis relevant" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Tildelt bruger" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Kampagnekode" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Kampagnekoder" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1828,137 +1823,137 @@ msgstr "" "Der skal kun defineres én type rabat (beløb eller procent), men ikke begge " "eller ingen af dem." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "Promokoden er allerede blevet brugt" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Ugyldig rabattype for promokode {self.uuid}." -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "Den faktureringsadresse, der bruges til denne ordre" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Valgfri kampagnekode anvendt på denne ordre" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Anvendt kampagnekode" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "Den leveringsadresse, der er brugt til denne ordre" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Leveringsadresse" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Ordrens aktuelle status i dens livscyklus" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Bestillingsstatus" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "JSON-struktur af meddelelser, der skal vises til brugerne, i admin UI bruges" " tabelvisningen" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "JSON-repræsentation af ordreattributter for denne ordre" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "Den bruger, der har afgivet ordren" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "Bruger" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "Tidsstemplet for, hvornår ordren blev afsluttet" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Køb tid" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "En menneskeligt læsbar identifikator for ordren" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "menneskeligt læsbart ID" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Bestil" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "En bruger må kun have én afventende ordre ad gangen!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "Du kan ikke tilføje produkter til en ordre, der ikke er i gang." -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "Du kan ikke tilføje inaktive produkter til en ordre" -#: core/models.py:1037 +#: core/models.py:1039 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:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "" "Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende " "ordre." -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} findes ikke med forespørgsel <{query}>." -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Promokode findes ikke" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "Du kan kun købe fysiske produkter med angivet leveringsadresse!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "Adressen findes ikke" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "Du kan ikke købe i øjeblikket, prøv venligst igen om et par minutter." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Ugyldig kraftværdi" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "Du kan ikke købe en tom ordre!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Utilstrækkelige midler til at gennemføre ordren" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1966,120 +1961,120 @@ msgstr "" "du kan ikke købe uden registrering, angiv venligst følgende oplysninger: " "kundens navn, kundens e-mail, kundens telefonnummer" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Ugyldig betalingsmetode: {payment_method} fra {available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Købspris på bestillingstidspunktet" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "Interne kommentarer til administratorer om dette bestilte produkt" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Interne kommentarer" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "Notifikationer til brugere" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "JSON-repræsentation af dette elements attributter" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Bestilte produktattributter" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Henvisning til den overordnede ordre, der indeholder dette produkt" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Forældreordre" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "Det specifikke produkt, der er knyttet til denne ordrelinje" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Mængde af dette specifikke produkt i ordren" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Produktmængde" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Aktuel status for dette produkt i bestillingen" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Status for produktlinje" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "forkert handling angivet for feedback: {action}." -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "" "Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende " "ordre." -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Download" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Downloads" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "Brugernes kommentarer om deres oplevelse med produktet" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Kommentarer til feedback" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "Henviser til det specifikke produkt i en ordre, som denne feedback handler " "om" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Relateret ordreprodukt" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "Brugertildelt vurdering af produktet" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Produktvurdering" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Feedback" diff --git a/core/locale/de_DE/LC_MESSAGES/django.mo b/core/locale/de_DE/LC_MESSAGES/django.mo index ecc68d726178139dd40b7f858d2fdeb5c5d8bd7a..394ab449310b3a27c6d7a194eccf6176ad952b0f 100644 GIT binary patch delta 11408 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 delta 11289 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 Ma%x)L)xkyn58kKX2mk;8 diff --git a/core/locale/de_DE/LC_MESSAGES/django.po b/core/locale/de_DE/LC_MESSAGES/django.po index ba367e6d..c3c5f7b7 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -23,11 +23,11 @@ msgstr "" "Eindeutige ID wird zur sicheren Identifizierung jedes Datenbankobjekts " "verwendet" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Ist aktiv" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -35,111 +35,101 @@ msgstr "" "Wenn auf false gesetzt, kann dieses Objekt von Benutzern ohne die " "erforderliche Berechtigung nicht gesehen werden." -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Erstellt" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "Wann das Objekt zum ersten Mal in der Datenbank erschienen ist" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Geändert" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "Wann das Objekt zuletzt bearbeitet wurde" -#: core/admin.py:41 -msgid "general" -msgstr "Allgemein" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internationalisierung" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Metadaten" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Zeitstempel" - -#: core/admin.py:45 -msgid "relations" -msgstr "Beziehungen" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Übersetzungen" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "Allgemein" + +#: core/admin.py:60 +msgid "relations" +msgstr "Beziehungen" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Metadaten" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Zeitstempel" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Ausgewählte %(verbose_name_plural)s aktivieren" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s erfolgreich aktiviert!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Ausgewählte %(verbose_name_plural)s deaktivieren" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s wurde erfolgreich deaktiviert." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Attribut Wert" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Attribut Werte" -#: core/admin.py:235 -msgid "name" -msgstr "Name" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Bild" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Bilder" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Lagerbestand" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Bestände" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Preis" - -#: core/admin.py:314 -msgid "rating" -msgstr "Produktbewertung" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Produkt bestellen" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Produkte bestellen" -#: core/admin.py:419 -msgid "is business" -msgstr "Ist Business" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Kinder" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Konfigurieren Sie" #: core/apps.py:8 @@ -844,7 +834,8 @@ msgstr "Attribute" msgid "Quantity" msgstr "Menge" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Schnecke" @@ -1027,7 +1018,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funktioniert wie ein Zauber" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Attribute" @@ -1040,11 +1031,11 @@ msgid "groups of attributes" msgstr "Gruppen von Attributen" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Kategorien" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Marken" @@ -1104,7 +1095,7 @@ msgid "represents feedback from a user." msgstr "Stellt das Feedback eines Benutzers dar." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Benachrichtigungen" @@ -1116,7 +1107,7 @@ msgstr "Download-Url für dieses Bestellprodukt, falls zutreffend" msgid "a list of order products in this order" msgstr "Eine Liste der bestellten Produkte in dieser Reihenfolge" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Rechnungsadresse" @@ -1140,7 +1131,7 @@ msgstr "Gesamtmenge der bestellten Produkte" msgid "are all products in the order digital" msgstr "Sind alle Produkte in der Bestellung digital" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Bestellungen" @@ -1152,15 +1143,15 @@ msgstr "Bild URL" msgid "product's images" msgstr "Bilder des Produkts" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Kategorie" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Rückmeldungen" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Marke" @@ -1168,6 +1159,14 @@ msgstr "Marke" msgid "attribute groups" msgstr "Attribut-Gruppen" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Preis" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1180,7 +1179,7 @@ msgstr "Menge" msgid "number of feedbacks" msgstr "Anzahl der Rückmeldungen" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Produkte" @@ -1192,7 +1191,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Zum Verkauf stehende Produkte" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Werbeaktionen" @@ -1200,7 +1199,7 @@ msgstr "Werbeaktionen" msgid "vendor" msgstr "Anbieter" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1208,11 +1207,11 @@ msgstr "Anbieter" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Auf dem Wunschzettel stehende Produkte" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Wunschzettel" @@ -1220,7 +1219,7 @@ msgstr "Wunschzettel" msgid "tagged products" msgstr "Markierte Produkte" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Produkt-Tags" @@ -1318,7 +1317,7 @@ msgstr "Übergeordnete Attributgruppe" msgid "attribute group's name" msgstr "Name der Attributgruppe" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Attribut-Gruppe" @@ -1374,7 +1373,7 @@ msgstr "Produkt-Tag" msgid "category tag" msgstr "Kategorie-Tag" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "Kategorie-Tags" @@ -1416,454 +1415,450 @@ msgstr "Fügen Sie eine detaillierte Beschreibung für diese Kategorie hinzu" msgid "category description" msgstr "Beschreibung der Kategorie" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "Tags, die helfen, diese Kategorie zu beschreiben oder zu gruppieren" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Priorität" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Name dieser Marke" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Markenname" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Laden Sie ein Logo hoch, das diese Marke repräsentiert" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Marke kleines Bild" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Laden Sie ein großes Logo hoch, das diese Marke repräsentiert" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Großes Image der Marke" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Fügen Sie eine detaillierte Beschreibung der Marke hinzu" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Beschreibung der Marke" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "" "Optionale Kategorien, mit denen diese Marke in Verbindung gebracht wird" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Kategorien" -#: core/models.py:306 -msgid "brand slug" -msgstr "Brandschnecke" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Kategorie, zu der dieses Produkt gehört" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Optional können Sie dieses Produkt mit einer Marke verknüpfen" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Tags, die helfen, dieses Produkt zu beschreiben oder zu gruppieren" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Gibt an, ob dieses Produkt digital geliefert wird" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "Ist das Produkt digital" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "" "Geben Sie einen eindeutigen Namen zur Identifizierung des Produkts an." -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Name des Produkts" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Fügen Sie eine detaillierte Beschreibung des Produkts hinzu" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Beschreibung des Produkts" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Teilenummer für dieses Produkt" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Teilnummer" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Kategorie dieses Attributs" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Gruppe dieses Attributs" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "Zeichenfolge" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Integer" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Schwimmer" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Boolesche" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Array" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Objekt" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Typ des Attributwerts" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Werttyp" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Name dieses Attributs" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Name des Attributs" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribut" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Attribut dieses Wertes" -#: core/models.py:504 +#: core/models.py:506 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:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Zugehöriges Produkt" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "Der spezifische Wert für dieses Attribut" -#: core/models.py:526 +#: core/models.py:528 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:527 +#: core/models.py:529 msgid "image alt text" msgstr "Bild-Alt-Text" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Laden Sie die Bilddatei für dieses Produkt hoch" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Produktbild" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Legt die Reihenfolge fest, in der die Bilder angezeigt werden" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Priorität anzeigen" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "Das Produkt, das dieses Bild darstellt" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Produktbilder" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Prozentualer Rabatt für die ausgewählten Produkte" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Prozentsatz der Ermäßigung" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Geben Sie einen eindeutigen Namen für diese Aktion an" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Name der Aktion" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Wählen Sie aus, welche Produkte in dieser Aktion enthalten sind" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Enthaltene Produkte" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Förderung" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "Der Verkäufer, der dieses Produkt liefert, hat folgende Bestände" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Zugehöriger Anbieter" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Endpreis für den Kunden nach Aufschlägen" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Verkaufspreis" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "Das mit diesem Bestandseintrag verbundene Produkt" -#: core/models.py:622 +#: core/models.py:624 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:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Einkaufspreis des Verkäufers" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Verfügbare Menge des Produkts auf Lager" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Vorrätige Menge" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "Vom Hersteller zugewiesene SKU zur Identifizierung des Produkts" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "SKU des Verkäufers" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "" "Digitale Datei, die mit diesem Bestand verbunden ist, falls zutreffend" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "Digitale Datei" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Bestandseinträge" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Produkte, die der Benutzer als gewünscht markiert hat" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "Benutzer, dem diese Wunschliste gehört" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Besitzer der Wishlist" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Wunschzettel" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} existiert nicht: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Dokumentarfilm" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Dokumentarfilme" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Ungelöst" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Adresszeile für den Kunden" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Adresszeile" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Straße" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "Bezirk" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "Stadt" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Region" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Postleitzahl" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "Land" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Längengrad, Breitengrad)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Vollständige JSON-Antwort vom Geocoder für diese Adresse" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Gespeicherte JSON-Antwort vom Geokodierungsdienst" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Adresse" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Adressen" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Kennung des Promo-Codes" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "" "Fester Rabattbetrag, der angewandt wird, wenn kein Prozentsatz verwendet " "wird" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Fester Rabattbetrag" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "Prozentualer Rabatt, wenn der Festbetrag nicht verwendet wird" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Prozentualer Rabatt" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Zeitstempel, wann der Promocode abläuft" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "Ende der Gültigkeitsdauer" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Zeitstempel, ab dem dieser Promocode gültig ist" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Beginn der Gültigkeitsdauer" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Zeitstempel der Verwendung" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "Diesem Promocode zugewiesener Benutzer, falls zutreffend" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Zugewiesener Benutzer" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Promo-Code" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Promo-Codes" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1871,142 +1866,142 @@ msgstr "" "Es sollte nur eine Art von Rabatt definiert werden (Betrag oder " "Prozentsatz), aber nicht beides oder keines von beiden." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "Promocode wurde bereits verwendet" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Ungültiger Rabatttyp für Promocode {self.uuid}" -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "Die für diese Bestellung verwendete Rechnungsadresse" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Optionaler Promo-Code für diese Bestellung" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Angewandter Promo-Code" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "Die für diese Bestellung verwendete Lieferadresse" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Lieferadresse" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Aktueller Status des Auftrags in seinem Lebenszyklus" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Status der Bestellung" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "JSON-Struktur der Benachrichtigungen, die den Benutzern angezeigt werden " "sollen; in der Admin-UI wird die Tabellenansicht verwendet" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "JSON-Darstellung der Auftragsattribute für diesen Auftrag" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "Der Benutzer, der die Bestellung aufgegeben hat" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "Benutzer" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "Der Zeitstempel, zu dem der Auftrag abgeschlossen wurde" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Zeit kaufen" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "Ein von Menschen lesbarer Identifikator für den Auftrag" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "menschenlesbare ID" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Bestellung" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "Ein Benutzer darf immer nur einen schwebenden Auftrag haben!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "" "Sie können keine Produkte zu einem Auftrag hinzufügen, der nicht in " "Bearbeitung ist." -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "Sie können keine inaktiven Produkte zur Bestellung hinzufügen" -#: core/models.py:1037 +#: core/models.py:1039 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:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "" "Sie können keine Produkte aus einer Bestellung entfernen, die nicht in " "Bearbeitung ist." -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} existiert nicht mit Abfrage <{query}>" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Promocode existiert nicht" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "" "Sie können nur physische Produkte mit angegebener Lieferadresse kaufen!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "Adresse ist nicht vorhanden" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "Sie können im Moment nicht kaufen, bitte versuchen Sie es in ein paar " "Minuten erneut." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Ungültiger Force-Wert" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "Sie können keine leere Bestellung kaufen!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Unzureichende Mittel für die Ausführung des Auftrags" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -2014,124 +2009,124 @@ msgstr "" "Sie können nicht ohne Registrierung kaufen, bitte geben Sie die folgenden " "Informationen an: Kundenname, Kunden-E-Mail, Kunden-Telefonnummer" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Ungültige Zahlungsmethode: {payment_method} von {available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Einkaufspreis zum Zeitpunkt der Bestellung" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "Interne Kommentare für Administratoren zu diesem bestellten Produkt" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Interne Kommentare" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "Benutzerbenachrichtigungen" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "JSON-Darstellung der Attribute dieses Artikels" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Bestellte Produktattribute" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Verweis auf den übergeordneten Auftrag, der dieses Produkt enthält" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Übergeordneter Auftrag" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "Das spezifische Produkt, das mit dieser Auftragszeile verbunden ist" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Menge dieses spezifischen Produkts in der Bestellung" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Produktmenge" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Aktueller Status dieses Produkts im Auftrag" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Status der Produktlinie" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "falsche Aktion für die Rückmeldung angegeben: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "" "Sie können keine Produkte aus einer Bestellung entfernen, die nicht in " "Bearbeitung ist." -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Herunterladen" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Herunterladen" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "Kommentare der Nutzer über ihre Erfahrungen mit dem Produkt" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Kommentare zum Feedback" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "Verweist auf das spezifische Produkt in einer Bestellung, auf das sich diese" " Rückmeldung bezieht" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Produkt zur Bestellung" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "Vom Benutzer zugewiesene Bewertung für das Produkt" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Produktbewertung" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Rückmeldung" diff --git a/core/locale/en_GB/LC_MESSAGES/django.mo b/core/locale/en_GB/LC_MESSAGES/django.mo index e2c4f2c49b1df7c66865a999d0b44e0f2865d881..5b92c41741d1652af487b1ee7813fb21f2c4c556 100644 GIT binary patch delta 11289 zcmb{0cYKf6`^WJ+G9?j`Aj?RkL=r+`#fZHrMeR+jhM1w|$5yJg+Iz23A2mwRrqeEM zzeZbC)lzDdwyMwJ*;5g;*5GLa-EQC>s=J;f53oJ-`21emTjKGx`j{7kb&te>2 z#}ba?astYj1C!979gR^Zw6X02(VKcYPQcly;{wV$4t;eB<06bhA3TCFn2oy84UEKm zNsjX#4^|qhQh#4w58~oxJXR$dlC0_0<)|k*hrxIQ3*%py7lTqvN5V0TIu_N@>Zk{( zgF3F0H67KlO!UHexPtpTi%Hb;)>Wt*u1Af~ zPUPX80~n7tuoUL6Xr{6L!Tl$~R!A-rST3o=aAsB5BzbTk&lMb^E@ zf6h666hxoOW@MtUDRl+(#R*s#r&nhD^~9@a(1o_6p5SwAkLR%kCRA~pS~wc(;~@;e zf01?M1gDzCm4-potx)@W;8+}vCGj3=iVCp+@?lg}#=j6rJPkUb7HY0rqdJm~`7sj< z;{?>ATa012+3r7T+s|09qNd(>VnTv7s{7rZXAhv3(BF+tB5%xVQqoxU=P%sXQ8HS1!^jGVgw$~k@>$&q8mR# zJ&9LMbKx*7LtPxT$eN?p!0Wc2i>xQ-FfzT)BUDF{SgEo$>c*{Y-5b?`EK~<(N*Bon z5_RAM)LflLb>u#3jy!9dsmO;~G~uWbX@+{;I-o8*2X({ss3CTvM(_w~icg?EK;NMD zKSozFiANoCqY9`Fq#^s99;lA3Lp{;Es1HasYLWeF+aI7V=vmhs7l`V3F^tF3$eZf4 z#!Wa2b$t1H%)jQkYCYx=TcY02si>iyg{(s-8`aV0s5wvOBTyQvVhr{|b!;l?Mmtci z=XKOb{)1W*K@H3zj72Td`VCyB$K7donTDY_5|7~^tlZFaXd`O1Z%6)f4)H@z=rl4T z;g1@jVAPbvqB__SeQ`2s|14AoSEAO`S1yurBu-;9hvl&eWqpjoImo(lwxe!%3-v?~ zk&mO}!@*@S4J%*wg7Nd4~H8n#Yi@IoD^h-GsZdvHT1Jl zuipw(NB5#u{U;cXmrzgoyKUEe`cN0dB#gq2*c3H#8!?{yJ6G%h-Yv{rS47>Q8fx{w zjQOxD24MyU;utJ~Gf+>o5p~03SOz~ub@(CbI{q!qqK-r@#x@wp{hj_K0hool;3U*s ztwt@T_t6*cTOXsI+hX4`>&yHaNq8KYWL@DZKg63^~H-totK7sJzKP9{1Zv~ z(x3}3K!03=`YvooUHCX^C{Lm0`a0^kr-#Fd^Dzz+a5id64xkq0R~U@nVG`a$Ev8~^9fxm|(-w8%WvIn`9YO^0fsp0Epc#(u~%IN7MV59?sQ zBVAC7aWh8a1uTe$oRQwQA z@QJO<(mP$ZuXQPE-|qA(Q2=PnyUs_4x1ytsGM=O{h0Mr)X<;C zP`rq`(H+zpd4^geK0VBPAC85oOQW8=7V34)#1k%(l_XQJUr#f{x3M;LXfJc%tEf4g zjHPflY88Kj459NJH3HRpo3%3pbEX7~(*7Z8>aJof^ks!t!ba%Qg~yY;gxj$Oo<%)j zU?20L2t&PwMKJ>7F&68gUfX`C8;wAX+yc}p{|L1vPNA;n-PgRn1+WQqd|$?2i)c6v zC2Q-QSd|?UMw%x%hx*F<< zhG4KRgoSYlYL4GQb>tw1VK!i`UN@iMAoQZHhAXfZs^?cQ5PwA7 z_#SGpd5t#Tfqba*Dx;3CZtJ?%MyMM$M|G?nmc^dviYJ*%QVI`Y3jTn)LFgEBgCeNo z8lV=>VAK$&9yJbYbf>aHhq|4QFC7bwdk5+7W0fvBefm%mh8oxj-&QpL3Q*t>PF9O?KjD+jY!nU#$a)D zCE11+s3Go*dct%Jz)VyJ#@PLvP#1m&^~8s4`w7(Iynq_&o2cXdLXBvi$>u=|pgNF< zw7Z;Cl4u$lqB_tIwVH>Zo-_;fWaCj6dds>3b)jvj8}CP*cM^5pIn+p8wEl`Z?kVbn z7R=|ffZqQqB$|uH7=c}^BW?RU>qgXt52Du0anvIF4YdX$rkc7urc!sos<;@{k+aro zsF8c9n)^Fm(@X~nqdJgat#8}AVF}uY*?KW*ingJK*o|5I}^3DEd-gLUrUC z>Vf=bnK}V=pH`^Xb0+GwUN?*J*P_@*Lo|MYdL4g7J(>5L=Kl+XVJGT7*b0xMIutV7 ztoCqhNF9fHF%vZsucNNxLQTnhERCO`I(%O{biiX&5B=XVi>NM^qs~Ol;c9G(doc>1 zVNHyfV{X_1^+dg}GG<{}+==b+GJ0alT+@Ndn2*}kokSNLWE*B;G3q6#9`8q8_zuS5 zb8Fl@GsG>eLou5D3vIm*%Ts@Y`q22!H^;|eB6Sn=()*u95=_Gw)X>jHKip#LJ=lo) zq-_sfVD=ZmAlgf!UcZVMg3VAP)(yjP80tyiwC&4KQ?m<`^#1Q7=}5zM)X=3ZG^=w2 zCQ+|O&Gl&v!3&rle@0#SPgF;|7Ma&C6pK(tqaG*?b;Ax=2D_s=JR9@t{og>M4~82H z;vEb`kHzK_9E7@HBxs zEoyQ8vXt?UCJA3=UW=-jO5F=JLCa3AXutj>X7pib~!Z-y)t>rhX$^+#Bn+JA$wnRPbm zxYMXrpMRrSwDqwBb!*fj&B88v|EH5^aa>2O^50Q!fzKv$Vjya+BC#CCU}J1$+m~C{ zp@x1d#-JN@qpwkGi7!2O+I5-pn2sQ0x!@-1?vVLuGtVm`eSu{QNq z)N!{^AC$1I=C@pZEKQw(8o@=V5jck>(R-VjxHQ@V>`7&0)p47EaQ@9R`<2kI4_t6h4?KW$nCTbD3 zM6I=9E)osNbS#VWP;++_8{rd7!@7IShh!p_q5c>(LJv@L9QCd_?iHLuJqPvngzPm_ z(g5pH4?wl=#AfKaN}>-)qT5`!7iy^IqSnUy7>PfkM&g;>AG*&>O-Y#x!Zjb{qp*d zh~!vb{0FxYdi^HiLkuR4lfOs&$o-u^Nc1|)$Crp3#MjgnaVnv0gtY?s2R2`rv&a1C z3af}t?9&3)b?cMAYme(l`$f5nG7gsK*iA$hG}QUX94z zrjTEtIPpT8_En-DlY5Z0m^HsW_8j#If;H-L2GPi`d#5EXv zkGAK8-t85{n}myfPw^npo_sm+19>bCMBZfQJb6bvi`v3<(m|p##TYD%-7rdf?Z!7G z=l@`jr2R7@ciU?7zL-H2BZd$UhyfgQnrLhfo@o6WZxUrWMw`}&!#Bhkt>lGmIr*2i z-oe3D$;%Us?TJOL2kbE?u`O+15N{GOL?UgE?EZhL``G*z`7D#Wa(-9qTl^Z07wrKv z$+gY4n#%kvLfZz?VK3}kL;ePBZq&!@#qAEoblUlH=WGwGL-1EUe>yu`QQX1a#CPQN zP+K}tk(fbzXWP!;SZZzhtyqKl3Nenn2oXvwvBxeV*Jt`y>Q9JM*SXS zvoZfq$okRXNt7cmg#EP_9}>-o{}2O+CPW?LU+uSBUg|%|@8c-Eje+Qae_&yJ1+`Tt z*ES9HcYv3Rq#DV$SQBH3T0}OnoygtRvwx~B8j|O3m2BekLR;>>ESu;rpBBVnq78BB zg=1a4XgFsZN?-+>=cj!hc}-hWIy1<>B>E745*LZ?v@a&M=>WE&w4EmWiDT54h*!yz z@DyrGCaM#kdocfVX>3kRp`i+)tp&9k_hDz^6Y^!mCi1t47q>`?eMB?j0Q>qA{>zedP|&!NxI+FFaf`T2Xlp>+W#2VoXHJXxYbl=kck1KB zRiYhr0sNkrOK6)(ET(-gj=~;T5;x;^&Hqs%50OEGFM6UMeu^9MXKaPJTLSqzw%%`D zZEeCqN#sp&Gk$~X?1>*?9C6;($?SK%PVtOnJw{+C5kT%moF#syZbYmgE)cofU6Sd< z5n>DNtBBS_6!9@_Pw^gR;#>GCF_PFx{ldohvrQn*0;R82mTt_$y#)L&g_v}4l zz{s8>`lLq>&+6T~&+y@Wvjz?v9iyF*(dm8u`|c$7^q>}!gAAN-ABrX zdM&IoYO1?K%1?goM%B|jeESa=m_Dpe=E7|?`nn6JeG=gQrSUdT_u}T${M<2ZD@FaU z@9wTMD#gd6&ceG@65VUYhk3fQCwBh-P86Bk%{^)I(g1hKITt+L&*rc4bFW*zE8_nE Dcu>C3 delta 11268 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 z\n" "Language-Team: BRITISH ENGLISH \n" @@ -25,123 +25,111 @@ msgstr "Unique ID" msgid "unique id is used to surely identify any database object" msgstr "Unique ID is used to surely identify any database object" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Is Active" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" -"If set to false, this object can't be seen by users without needed " -"permission" +"If set to false, this object can't be seen by users without needed permission" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Created" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "When the object first appeared on the database" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Modified" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "When the object was last edited" -#: core/admin.py:41 -msgid "general" -msgstr "General" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internationalization" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Metadata" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Timestamps" - -#: core/admin.py:45 -msgid "relations" -msgstr "Relations" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Translations" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "General" + +#: core/admin.py:60 +msgid "relations" +msgstr "Relations" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Metadata" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Timestamps" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Activate selected %(verbose_name_plural)s" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s activated successfully!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Deactivate selected %(verbose_name_plural)s" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s deactivated successfully." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Attribute Value" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Attribute Values" -#: core/admin.py:235 -msgid "name" -msgstr "Name" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Image" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Images" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Stock" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Stocks" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Price" - -#: core/admin.py:314 -msgid "rating" -msgstr "Rating" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Order Product" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Order Products" -#: core/admin.py:419 -msgid "is business" -msgstr "Is Business" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Children" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Config" #: core/apps.py:8 @@ -257,8 +245,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "Rewrite an existing attribute group saving non-editables" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Rewrite some fields of an existing attribute group saving non-editables" @@ -307,8 +294,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "Rewrite an existing attribute value saving non-editables" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Rewrite some fields of an existing attribute value saving non-editables" @@ -346,11 +332,11 @@ msgstr "For non-staff users, only their own orders are returned." #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -382,13 +368,13 @@ msgstr "Filter by order status (case-insensitive substring match)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -554,20 +540,30 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" #: core/docs/drf/viewsets.py:349 @@ -620,10 +616,12 @@ msgstr "(exact) Digital vs. physical" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -794,7 +792,8 @@ msgstr "Attributes" msgid "Quantity" msgstr "Quantity" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 core/models.py:307 +#: core/models.py:388 msgid "Slug" msgstr "Slug" @@ -950,11 +949,11 @@ msgstr "Buy an order" #: core/graphene/mutations.py:456 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" -"Please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"Please send the attributes as the string formatted like attr1=value1," +"attr2=value2" #: core/graphene/mutations.py:546 msgid "original address string provided by the user" @@ -974,7 +973,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - works like a charm" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Attributes" @@ -987,11 +986,11 @@ msgid "groups of attributes" msgstr "Groups of attributes" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Categories" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Brands" @@ -1009,8 +1008,7 @@ msgid "which attributes and values can be used for filtering this category." msgstr "Which attributes and values can be used for filtering this category." #: core/graphene/object_types.py:133 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Minimum and maximum prices for products in this category, if available." @@ -1047,7 +1045,7 @@ msgid "represents feedback from a user." msgstr "Represents feedback from a user." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Notifications" @@ -1059,7 +1057,7 @@ msgstr "Download url for this order product if applicable" msgid "a list of order products in this order" msgstr "A list of order products in this order" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Billing address" @@ -1083,7 +1081,7 @@ msgstr "Total quantity of products in order" msgid "are all products in the order digital" msgstr "Are all of the products in the order digital" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Orders" @@ -1095,15 +1093,15 @@ msgstr "Image URL" msgid "product's images" msgstr "Product's images" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Category" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Feedbacks" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Brand" @@ -1111,6 +1109,14 @@ msgstr "Brand" msgid "attribute groups" msgstr "Attribute groups" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Price" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1123,7 +1129,7 @@ msgstr "Quantity" msgid "number of feedbacks" msgstr "Number of feedbacks" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Products" @@ -1135,7 +1141,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Products on sale" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Promotions" @@ -1143,7 +1149,7 @@ msgstr "Promotions" msgid "vendor" msgstr "Vendor" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1151,11 +1157,11 @@ msgstr "Vendor" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Wishlisted products" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Wishlists" @@ -1163,7 +1169,7 @@ msgstr "Wishlists" msgid "tagged products" msgstr "Tagged products" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Product tags" @@ -1260,7 +1266,7 @@ msgstr "Parent attribute group" msgid "attribute group's name" msgstr "Attribute group's name" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Attribute group" @@ -1313,7 +1319,7 @@ msgstr "Product tag" msgid "category tag" msgstr "category tag" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "category tags" @@ -1353,443 +1359,438 @@ msgstr "Add a detailed description for this category" msgid "category description" msgstr "Category description" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "tags that help describe or group this category" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Priority" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Name of this brand" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Brand name" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Upload a logo representing this brand" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Brand small image" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Upload a big logo representing this brand" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Brand big image" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Add a detailed description of the brand" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Brand description" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Optional categories that this brand is associated with" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Categories" -#: core/models.py:306 -msgid "brand slug" -msgstr "Brand's slug" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Category this product belongs to" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Optionally associate this product with a brand" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Tags that help describe or group this product" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Indicates whether this product is digitally delivered" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "Is product digital" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Provide a clear identifying name for the product" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Product name" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Add a detailed description of the product" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Product description" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Part number for this product" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Part number" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Category of this attribute" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Group of this attribute" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "String" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Integer" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Float" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Boolean" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Array" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Object" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Type of the attribute's value" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Value type" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Name of this attribute" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Attribute's name" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribute" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Attribute of this value" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "The specific product associated with this attribute's value" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 core/models.py:1361 msgid "associated product" msgstr "Associated product" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "The specific value for this attribute" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "Provide alternative text for the image for accessibility" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "Image alt text" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Upload the image file for this product" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Product image" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Determines the order in which images are displayed" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Display priority" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "The product that this image represents" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Product images" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Percentage discount for the selected products" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Discount percentage" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Provide a unique name for this promotion" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Promotion name" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Select which products are included in this promotion" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Included products" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Promotion" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "The vendor supplying this product stock" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Associated vendor" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Final price to the customer after markups" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Selling price" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "The product associated with this stock entry" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "The price paid to the vendor for this product" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Vendor purchase price" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Available quantity of the product in stock" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Quantity in stock" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "Vendor-assigned SKU for identifying the product" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "Vendor's SKU" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "Digital file associated with this stock if applicable" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "Digital file" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Stock entries" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Products that the user has marked as wanted" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "User who owns this wishlist" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Wishlist's Owner" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Wishlist" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} does not exist: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Documentary" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Unresolved" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Address line for the customer" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Address line" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Street" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "District" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "City" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Region" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Postal code" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "Country" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Longitude, Latitude)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Full JSON response from geocoder for this address" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Stored JSON response from the geocoding service" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Address" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Adresses" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "Fixed discount amount applied if percent is not used" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Fixed discount amount" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "Percentage discount applied if fixed amount is not used" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Percentage discount" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Timestamp when the promocode expires" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "End validity time" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Timestamp from which this promocode is valid" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Start validity time" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Usage timestamp" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "User assigned to this promocode if applicable" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Assigned user" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Promo code" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1797,136 +1798,136 @@ msgstr "" "Only one type of discount should be defined (amount or percent), but not " "both or neither." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "Promocode has been used already" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Invalid discount type for promocode {self.uuid}" -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "The billing address used for this order" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Optional promo code applied to this order" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Applied promo code" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "The shipping address used for this order" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Shipping address" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Current status of the order in its lifecycle" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Order status" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "JSON structure of notifications to display to users, in admin UI the table-" "view is used" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "JSON representation of order attributes for this order" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "The user who placed the order" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "User" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "The timestamp when the order was finalized" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Buy time" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "A human-readable identifier for the order" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "human-readable ID" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Order" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "A user must have only one pending order at a time!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "You cannot add products to an order that is not a pending one" -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "You cannot add inactive products to order" -#: core/models.py:1037 +#: core/models.py:1039 msgid "you cannot add more products than available in stock" msgstr "You cannot add more products than available in stock" -#: core/models.py:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "You cannot remove products from an order that is not a pending one" -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} does not exist with query <{query}>" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Promocode does not exist" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "You can only buy physical products with shipping address specified!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "Address does not exist" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "You can not purchase at this moment, please try again in a few minutes." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Invalid force value" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "You cannot purchase an empty order!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Insufficient funds to complete the order" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1934,117 +1935,116 @@ msgstr "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Invalid payment method: {payment_method} from {available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Purchase price at order time" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "Internal comments for admins about this ordered product" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Internal comments" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "User notifications" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "JSON representation of this item's attributes" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Ordered product attributes" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Reference to the parent order that contains this product" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Parent order" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "The specific product associated with this order line" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Quantity of this specific product in the order" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Product quantity" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Current status of this product in the order" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Product line status" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "wrong action specified for feedback: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "you cannot feedback an order which is not received" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Download" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Downloads" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "User-provided comments about their experience with the product" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Feedback comments" -#: core/models.py:1488 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1490 +msgid "references the specific product in an order that this feedback is about" msgstr "" "References the specific product in an order that this feedback is about" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Related order product" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "User-assigned rating for the product" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Product rating" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Feedback" @@ -2086,11 +2086,12 @@ msgstr "Hello %(order.user.first_name)s," #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" -"Thank you for your order #%(order.pk)s! We are pleased to inform you that we" -" have taken your order into work. Below are the details of your order:" +"Thank you for your order #%(order.pk)s! We are pleased to inform you that we " +"have taken your order into work. Below are the details of your order:" #: core/templates/digital_order_created_email.html:112 #: core/templates/digital_order_delivered_email.html:111 @@ -2179,11 +2180,12 @@ msgstr "Key" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" -"Thank you for your order! We are pleased to confirm your purchase. Below are" -" the details of your order:" +"Thank you for your order! We are pleased to confirm your purchase. Below are " +"the details of your order:" #: core/templates/shipped_order_created_email.html:123 #: core/templates/shipped_order_delivered_email.html:123 @@ -2207,7 +2209,7 @@ msgid "" "all rights\n" " reserved" msgstr "" -"all rights\n" +"All rights\n" " reserved" #: core/utils/caching.py:41 @@ -2254,8 +2256,7 @@ msgstr "NOMINATIM_URL parameter must be configured!" #: core/validators.py:16 #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" -msgstr "" -"Image dimensions should not exceed w{max_width} x h{max_height} pixels" +msgstr "Image dimensions should not exceed w{max_width} x h{max_height} pixels" #: core/validators.py:22 msgid "invalid phone number format" @@ -2274,6 +2275,21 @@ msgstr "favicon not found" msgid "Geocoding error: {e}" msgstr "Geocoding error: {e}" +#~ msgid "I18N" +#~ msgstr "Internationalization" + +#~ msgid "name" +#~ msgstr "Name" + +#~ msgid "rating" +#~ msgstr "Rating" + +#~ msgid "is business" +#~ msgstr "Is Business" + +#~ msgid "brand slug" +#~ msgstr "Brand's slug" + #~ msgid "basic info" #~ msgstr "Basic Info" diff --git a/core/locale/en_US/LC_MESSAGES/django.mo b/core/locale/en_US/LC_MESSAGES/django.mo index e9a70bd84dd897d3916dd98a78cca0b1df8a9ac1..fb9ef2f3431295923029cfc846374a683090aa4a 100644 GIT binary patch delta 11296 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 S-OH_8Zp9wS1*ca{t?)k@Gs)lp delta 11281 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 diff --git a/core/locale/en_US/LC_MESSAGES/django.po b/core/locale/en_US/LC_MESSAGES/django.po index 77807e5b..640e7f77 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -21,11 +21,11 @@ msgstr "Unique ID" msgid "unique id is used to surely identify any database object" msgstr "Unique ID is used to surely identify any database object" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Is Active" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -33,111 +33,101 @@ msgstr "" "If set to false, this object can't be seen by users without needed " "permission" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Created" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "When the object first appeared on the database" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Modified" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "When the object was last edited" -#: core/admin.py:41 -msgid "general" -msgstr "General" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internationalization" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Metadata" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Timestamps" - -#: core/admin.py:45 -msgid "relations" -msgstr "Relations" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Translations" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "General" + +#: core/admin.py:60 +msgid "relations" +msgstr "Relations" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Metadata" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Timestamps" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Activate selected %(verbose_name_plural)s" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s activated successfully!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Deactivate selected %(verbose_name_plural)s" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s deactivated successfully." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Attribute Value" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Attribute Values" -#: core/admin.py:235 -msgid "name" -msgstr "Name" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Image" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Images" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Stock" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Stocks" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Price" - -#: core/admin.py:314 -msgid "rating" -msgstr "Product rating" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Order Product" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Order Products" -#: core/admin.py:419 -msgid "is business" -msgstr "Is Business" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Children" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Config" #: core/apps.py:8 @@ -790,7 +780,8 @@ msgstr "Attributes" msgid "Quantity" msgstr "Quantity" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Slug" @@ -970,7 +961,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - works like a charm" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Attributes" @@ -983,11 +974,11 @@ msgid "groups of attributes" msgstr "Groups of attributes" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Categories" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Brands" @@ -1043,7 +1034,7 @@ msgid "represents feedback from a user." msgstr "Represents feedback from a user." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Notifications" @@ -1055,7 +1046,7 @@ msgstr "Download url for this order product if applicable" msgid "a list of order products in this order" msgstr "A list of order products in this order" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Billing address" @@ -1079,7 +1070,7 @@ msgstr "Total quantity of products in order" msgid "are all products in the order digital" msgstr "Are all of the products in the order digital" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Orders" @@ -1091,15 +1082,15 @@ msgstr "Image URL" msgid "product's images" msgstr "Product's images" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Category" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Feedbacks" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Brand" @@ -1107,6 +1098,14 @@ msgstr "Brand" msgid "attribute groups" msgstr "Attribute groups" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Price" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1119,7 +1118,7 @@ msgstr "Quantity" msgid "number of feedbacks" msgstr "Number of feedbacks" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Products" @@ -1131,7 +1130,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Products on sale" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Promotions" @@ -1139,7 +1138,7 @@ msgstr "Promotions" msgid "vendor" msgstr "Vendor" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1147,11 +1146,11 @@ msgstr "Vendor" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Wishlisted products" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Wishlists" @@ -1159,7 +1158,7 @@ msgstr "Wishlists" msgid "tagged products" msgstr "Tagged products" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Product tags" @@ -1256,7 +1255,7 @@ msgstr "Parent attribute group" msgid "attribute group's name" msgstr "Attribute group's name" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Attribute group" @@ -1309,7 +1308,7 @@ msgstr "Product tag" msgid "category tag" msgstr "category tag" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "category tags" @@ -1349,443 +1348,439 @@ msgstr "Add a detailed description for this category" msgid "category description" msgstr "Category description" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "tags that help describe or group this category" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Priority" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Name of this brand" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Brand name" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Upload a logo representing this brand" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Brand small image" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Upload a big logo representing this brand" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Brand big image" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Add a detailed description of the brand" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Brand description" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Optional categories that this brand is associated with" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Categories" -#: core/models.py:306 -msgid "brand slug" -msgstr "Brand's slug" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Category this product belongs to" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Optionally associate this product with a brand" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Tags that help describe or group this product" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Indicates whether this product is digitally delivered" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "Is product digital" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Provide a clear identifying name for the product" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Product name" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Add a detailed description of the product" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Product description" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Part number for this product" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Part number" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Category of this attribute" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Group of this attribute" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "String" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Integer" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Float" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Boolean" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Array" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Object" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Type of the attribute's value" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Value type" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Name of this attribute" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Attribute's name" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribute" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Attribute of this value" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "The specific product associated with this attribute's value" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Associated product" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "The specific value for this attribute" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "Provide alternative text for the image for accessibility" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "Image alt text" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Upload the image file for this product" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Product image" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Determines the order in which images are displayed" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Display priority" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "The product that this image represents" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Product images" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Percentage discount for the selected products" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Discount percentage" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Provide a unique name for this promotion" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Promotion name" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Select which products are included in this promotion" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Included products" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Promotion" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "The vendor supplying this product stock" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Associated vendor" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Final price to the customer after markups" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Selling price" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "The product associated with this stock entry" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "The price paid to the vendor for this product" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Vendor purchase price" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Available quantity of the product in stock" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Quantity in stock" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "Vendor-assigned SKU for identifying the product" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "Vendor's SKU" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "Digital file associated with this stock if applicable" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "Digital file" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Stock entries" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Products that the user has marked as wanted" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "User who owns this wishlist" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Wishlist's Owner" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Wishlist" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} does not exist: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Documentary" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Unresolved" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Address line for the customer" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Address line" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Street" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "District" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "City" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Region" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Postal code" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "Country" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Longitude, Latitude)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Full JSON response from geocoder for this address" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Stored JSON response from the geocoding service" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Address" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Adresses" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "Fixed discount amount applied if percent is not used" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Fixed discount amount" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "Percentage discount applied if fixed amount is not used" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Percentage discount" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Timestamp when the promocode expires" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "End validity time" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Timestamp from which this promocode is valid" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Start validity time" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Usage timestamp" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "User assigned to this promocode if applicable" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Assigned user" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Promo code" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1793,136 +1788,136 @@ msgstr "" "Only one type of discount should be defined (amount or percent), but not " "both or neither." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "Promocode has been used already" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Invalid discount type for promocode {self.uuid}" -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "The billing address used for this order" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Optional promo code applied to this order" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Applied promo code" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "The shipping address used for this order" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Shipping address" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Current status of the order in its lifecycle" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Order status" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "JSON structure of notifications to display to users, in admin UI the table-" "view is used" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "JSON representation of order attributes for this order" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "The user who placed the order" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "User" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "The timestamp when the order was finalized" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Buy time" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "A human-readable identifier for the order" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "human-readable ID" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Order" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "A user must have only one pending order at a time!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "You cannot add products to an order that is not a pending one" -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "You cannot add inactive products to order" -#: core/models.py:1037 +#: core/models.py:1039 msgid "you cannot add more products than available in stock" msgstr "You cannot add more products than available in stock" -#: core/models.py:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "You cannot remove products from an order that is not a pending one" -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} does not exist with query <{query}>" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Promocode does not exist" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "You can only buy physical products with shipping address specified!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "Address does not exist" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "You can not purchase at this moment, please try again in a few minutes." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Invalid force value" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "You cannot purchase an empty order!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Insufficient funds to complete the order" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1930,117 +1925,117 @@ msgstr "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Invalid payment method: {payment_method} from {available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Purchase price at order time" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "Internal comments for admins about this ordered product" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Internal comments" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "User notifications" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "JSON representation of this item's attributes" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Ordered product attributes" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Reference to the parent order that contains this product" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Parent order" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "The specific product associated with this order line" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Quantity of this specific product in the order" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Product quantity" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Current status of this product in the order" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Product line status" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "wrong action specified for feedback: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "you cannot feedback an order which is not received" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Download" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Downloads" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "User-provided comments about their experience with the product" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Feedback comments" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "References the specific product in an order that this feedback is about" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Related order product" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "User-assigned rating for the product" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Product rating" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Feedback" diff --git a/core/locale/es_ES/LC_MESSAGES/django.mo b/core/locale/es_ES/LC_MESSAGES/django.mo index c3e4534ed0cd4a4712f6307bd7b93fd022b9b48e..85c222c7a5ee884dd2dd8bc81d6497e9cd383092 100644 GIT binary patch delta 11273 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 KYs=a~q5lKc`PGR4 delta 11273 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 X!i)KHvzE2?%I><`KX>=~z|#K*zJJ49 diff --git a/core/locale/es_ES/LC_MESSAGES/django.po b/core/locale/es_ES/LC_MESSAGES/django.po index e829b1f8..4bd2f4e6 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -23,11 +23,11 @@ msgstr "" "El identificador único se utiliza para identificar con seguridad cualquier " "objeto de la base de datos" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Está activo" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -35,111 +35,101 @@ msgstr "" "Si se establece en false, este objeto no puede ser visto por los usuarios " "sin el permiso necesario" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Creado" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "Cuando el objeto apareció por primera vez en la base de datos" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Modificado" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "Cuándo se editó el objeto por última vez" -#: core/admin.py:41 -msgid "general" -msgstr "General" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internacionalización" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Metadatos" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Marcas de tiempo" - -#: core/admin.py:45 -msgid "relations" -msgstr "Relaciones" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Traducciones" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "General" + +#: core/admin.py:60 +msgid "relations" +msgstr "Relaciones" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Metadatos" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Marcas de tiempo" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Activar %(verbose_name_plural)s seleccionados" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "¡%(verbose_name_plural)s activado con éxito!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Desactivar %(verbose_name_plural)s seleccionados" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s desactivado con éxito." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Atributo Valor" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Valores de los atributos" -#: core/admin.py:235 -msgid "name" -msgstr "Nombre" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Imagen" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Imágenes" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Stock" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Acciones" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Precio" - -#: core/admin.py:314 -msgid "rating" -msgstr "Valoración del producto" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Pedir un producto" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Pedir productos" -#: core/admin.py:419 -msgid "is business" -msgstr "Es Negocio" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Niños" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Configurar" #: core/apps.py:8 @@ -826,7 +816,8 @@ msgstr "Atributos" msgid "Quantity" msgstr "Cantidad" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Babosa" @@ -1008,7 +999,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funciona a las mil maravillas" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Atributos" @@ -1021,11 +1012,11 @@ msgid "groups of attributes" msgstr "Grupos de atributos" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Categorías" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Marcas" @@ -1085,7 +1076,7 @@ msgid "represents feedback from a user." msgstr "Representa la opinión de un usuario." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Notificaciones" @@ -1097,7 +1088,7 @@ msgstr "Descargar url para este producto de pedido si procede" msgid "a list of order products in this order" msgstr "Una lista de los productos del pedido" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Dirección de facturación" @@ -1121,7 +1112,7 @@ msgstr "Cantidad total de productos del pedido" msgid "are all products in the order digital" msgstr "¿Están todos los productos en el pedido digital" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Pedidos" @@ -1133,15 +1124,15 @@ msgstr "URL de la imagen" msgid "product's images" msgstr "Imágenes del producto" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Categoría" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Comentarios" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Marca" @@ -1149,6 +1140,14 @@ msgstr "Marca" msgid "attribute groups" msgstr "Grupos de atributos" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Precio" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1161,7 +1160,7 @@ msgstr "Cantidad" msgid "number of feedbacks" msgstr "Número de reacciones" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Productos" @@ -1173,7 +1172,7 @@ msgstr "Códigos promocionales" msgid "products on sale" msgstr "Productos a la venta" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Promociones" @@ -1181,7 +1180,7 @@ msgstr "Promociones" msgid "vendor" msgstr "Vendedor" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1189,11 +1188,11 @@ msgstr "Vendedor" msgid "product" msgstr "Producto" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Productos deseados" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Listas de deseos" @@ -1201,7 +1200,7 @@ msgstr "Listas de deseos" msgid "tagged products" msgstr "Productos con etiqueta" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Etiquetas del producto" @@ -1299,7 +1298,7 @@ msgstr "Grupo de atributos padre" msgid "attribute group's name" msgstr "Nombre del grupo de atributos" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Grupo de atributos" @@ -1355,7 +1354,7 @@ msgstr "Etiqueta del producto" msgid "category tag" msgstr "etiqueta de categoría" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "etiquetas de categoría" @@ -1395,445 +1394,441 @@ msgstr "Añadir una descripción detallada para esta categoría" msgid "category description" msgstr "Descripción de la categoría" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "etiquetas que ayudan a describir o agrupar esta categoría" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Prioridad" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Nombre de esta marca" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Marca" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Cargar un logotipo que represente a esta marca" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Marca pequeña imagen" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Sube un logotipo grande que represente a esta marca" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Gran imagen de marca" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Añadir una descripción detallada de la marca" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Descripción de la marca" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Categorías opcionales a las que se asocia esta marca" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Categorías" -#: core/models.py:306 -msgid "brand slug" -msgstr "La babosa de Brand" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Categoría a la que pertenece este producto" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Si lo desea, puede asociar este producto a una marca" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Etiquetas que ayudan a describir o agrupar este producto" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Indica si este producto se entrega digitalmente" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "¿Es digital el producto?" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Proporcionar un nombre que identifique claramente el producto" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Nombre del producto" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Añada una descripción detallada del producto" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Descripción del producto" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Número de pieza de este producto" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Número de pieza" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Categoría de este atributo" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Grupo de este atributo" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "Cadena" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Entero" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Flotador" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Booleano" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Matriz" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Objeto" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Tipo del valor del atributo" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Tipo de valor" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Nombre de este atributo" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Nombre del atributo" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Atributo" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Atributo de este valor" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "El producto específico asociado al valor de este atributo" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Producto asociado" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "El valor específico de este atributo" -#: core/models.py:526 +#: core/models.py:528 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:527 +#: core/models.py:529 msgid "image alt text" msgstr "Texto alternativo de la imagen" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Cargar el archivo de imagen para este producto" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Imagen del producto" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Determina el orden de visualización de las imágenes" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Prioridad de visualización" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "El producto que representa esta imagen" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Imágenes de productos" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Porcentaje de descuento para los productos seleccionados" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Porcentaje de descuento" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Proporcione un nombre único para esta promoción" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Nombre de la promoción" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Descripción de la promoción" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Seleccione los productos incluidos en esta promoción" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Productos incluidos" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Promoción" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "El vendedor que suministra este producto dispone de" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Proveedor asociado" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Precio final al cliente después de márgenes" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Precio de venta" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "El producto asociado a esta entrada en stock" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "El precio pagado al vendedor por este producto" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Precio de compra al vendedor" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Cantidad disponible del producto en stock" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Cantidad en stock" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU asignada por el proveedor para identificar el producto" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "SKU del vendedor" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "Archivo digital asociado a esta acción, si procede" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "Archivo digital" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Entradas en existencias" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Productos que el usuario ha marcado como deseados" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "Usuario propietario de esta lista de deseos" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Propietario de Wishlist" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Lista de deseos" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} no existe: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Documental" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Sin resolver" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Dirección del cliente" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Dirección" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Calle" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "Distrito" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "Ciudad" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Región" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Promo code" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "País" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocalización Punto(Longitud, Latitud)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Respuesta JSON completa del geocodificador para esta dirección" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Respuesta JSON almacenada del servicio de geocodificación" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Dirección" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Direcciones" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:799 +#: core/models.py:801 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:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Importe fijo del descuento" -#: core/models.py:806 +#: core/models.py:808 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:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Porcentaje de descuento" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Fecha de caducidad del promocode" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "Hora de fin de validez" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Fecha a partir de la cual es válido este promocode" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Hora de inicio de validez" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Marca de tiempo de uso" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "Usuario asignado a este promocode si procede" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Usuario asignado" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Promo code" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1841,138 +1836,138 @@ msgstr "" "Sólo debe definirse un tipo de descuento (importe o porcentaje), pero no " "ambos ni ninguno." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "El código promocional ya ha sido utilizado" -#: core/models.py:880 +#: core/models.py:882 #, 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:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "La dirección de facturación utilizada para este pedido" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Código promocional opcional aplicado a este pedido" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Código promocional aplicado" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "La dirección de envío utilizada para este pedido" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Dirección de envío" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Estado actual del pedido en su ciclo de vida" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Estado del pedido" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "Estructura JSON de las notificaciones para mostrar a los usuarios, en la " "interfaz de administración se utiliza la vista de tabla." -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "Representación JSON de los atributos de la orden para esta orden" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "El usuario que realizó el pedido" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "Usuario" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "Fecha de finalización de la orden" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Comprar tiempo" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "Un identificador legible por el ser humano para la orden" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "ID legible por humanos" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Pida" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "Un usuario sólo puede tener una orden pendiente a la vez." -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "No puede añadir productos a un pedido que no esté pendiente" -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "No se pueden añadir productos inactivos al pedido" -#: core/models.py:1037 +#: core/models.py:1039 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:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "No puede eliminar productos de un pedido que no esté pendiente" -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} no existe con la consulta <{query}>" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Promocode no existe" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "" "Sólo puede comprar productos físicos con la dirección de envío especificada." -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "La dirección no existe" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "No puede comprar en este momento, por favor inténtelo de nuevo en unos " "minutos." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Valor de fuerza no válido" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "No se puede comprar un pedido vacío." -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Fondos insuficientes para completar el pedido" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1980,120 +1975,120 @@ msgstr "" "no puede comprar sin registrarse, facilite la siguiente información: nombre " "del cliente, correo electrónico del cliente, número de teléfono del cliente" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Forma de pago no válida: ¡{payment_method} de {available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Precio de compra en el momento del pedido" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "" "Comentarios internos para los administradores sobre este producto solicitado" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Comentarios internos" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "Notificaciones a los usuarios" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "Representación JSON de los atributos de este elemento" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Atributos ordenados del producto" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Referencia al pedido principal que contiene este producto" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Orden de los padres" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "El producto específico asociado a esta línea de pedido" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Cantidad de este producto específico en el pedido" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Cantidad de productos" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Estado actual de este producto en el pedido" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Estado de la línea de productos" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "acción incorrecta especificada para la retroalimentación: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "no se puede comentar un pedido no recibido" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Descargar" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Descargas" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "Comentarios de los usuarios sobre su experiencia con el producto" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Comentarios" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "Hace referencia al producto específico de un pedido sobre el que trata esta " "opinión" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Producto relacionado con el pedido" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "Valoración del producto asignada por el usuario" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Valoración del producto" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Comentarios" diff --git a/core/locale/fr_FR/LC_MESSAGES/django.mo b/core/locale/fr_FR/LC_MESSAGES/django.mo index 9efcb667001f2a58eb95f55ebc0d859bbdd92ef4..7efaee6402c4422bd893d049e6e629727f9260be 100644 GIT binary patch delta 11300 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 delta 11289 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -23,11 +23,11 @@ msgstr "" "L'identifiant unique est utilisé pour identifier de manière sûre tout objet " "de la base de données." -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Est actif" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -35,111 +35,101 @@ msgstr "" "Si la valeur est fixée à false, cet objet ne peut pas être vu par les " "utilisateurs qui n'ont pas l'autorisation nécessaire." -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Créée" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "Date de la première apparition de l'objet dans la base de données" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Modifié" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "Date de la dernière modification de l'objet" -#: core/admin.py:41 -msgid "general" -msgstr "Général" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internationalisation" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Métadonnées" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Horodatage" - -#: core/admin.py:45 -msgid "relations" -msgstr "Relations" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Traductions" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "Général" + +#: core/admin.py:60 +msgid "relations" +msgstr "Relations" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Métadonnées" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Horodatage" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Activer les %(verbose_name_plural)s sélectionnés" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s activé avec succès !" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Désactiver les %(verbose_name_plural)s sélectionnés" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "Désactivation réussie de %(verbose_name_plural)s." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Valeur de l'attribut" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Valeurs des attributs" -#: core/admin.py:235 -msgid "name" -msgstr "Nom" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Image" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Images" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Stock" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Stocks" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Prix" - -#: core/admin.py:314 -msgid "rating" -msgstr "Evaluation du produit" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Commander un produit" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Commander des produits" -#: core/admin.py:419 -msgid "is business" -msgstr "Est l'entreprise" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Les enfants" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Config" #: core/apps.py:8 @@ -836,7 +826,8 @@ msgstr "Attributs" msgid "Quantity" msgstr "Quantité" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Limace" @@ -1021,7 +1012,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - fonctionne comme un charme" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Attributs" @@ -1034,11 +1025,11 @@ msgid "groups of attributes" msgstr "Groupes d'attributs" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Catégories" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Marques" @@ -1097,7 +1088,7 @@ msgid "represents feedback from a user." msgstr "Représente le retour d'information d'un utilisateur." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Notifications" @@ -1109,7 +1100,7 @@ msgstr "URL de téléchargement pour ce produit de la commande, le cas échéant msgid "a list of order products in this order" msgstr "Une liste des produits commandés dans cette commande" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Adresse de facturation" @@ -1133,7 +1124,7 @@ msgstr "Quantité totale de produits dans la commande" msgid "are all products in the order digital" msgstr "Tous les produits de la commande sont-ils numériques ?" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Commandes" @@ -1145,15 +1136,15 @@ msgstr "Image URL" msgid "product's images" msgstr "Images du produit" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Catégorie" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Retour d'information" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Marque" @@ -1161,6 +1152,14 @@ msgstr "Marque" msgid "attribute groups" msgstr "Groupes d'attributs" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Prix" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1173,7 +1172,7 @@ msgstr "Quantité" msgid "number of feedbacks" msgstr "Nombre de retours d'information" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Produits" @@ -1185,7 +1184,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Produits en vente" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Promotions" @@ -1193,7 +1192,7 @@ msgstr "Promotions" msgid "vendor" msgstr "Vendeur" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1201,11 +1200,11 @@ msgstr "Vendeur" msgid "product" msgstr "Produit" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Produits en liste de souhaits" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Liste de souhaits" @@ -1213,7 +1212,7 @@ msgstr "Liste de souhaits" msgid "tagged products" msgstr "Produits marqués" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Étiquettes du produit" @@ -1312,7 +1311,7 @@ msgstr "Groupe d'attributs parent" msgid "attribute group's name" msgstr "Nom du groupe d'attributs" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Groupe d'attributs" @@ -1367,7 +1366,7 @@ msgstr "Étiquette du produit" msgid "category tag" msgstr "étiquette de catégorie" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "balises de catégorie" @@ -1408,448 +1407,444 @@ msgstr "Ajouter une description détaillée pour cette catégorie" msgid "category description" msgstr "Description de la catégorie" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "les étiquettes qui aident à décrire ou à regrouper cette catégorie" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Priorité" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Nom de cette marque" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Nom de marque" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Télécharger un logo représentant cette marque" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Petite image de marque" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Télécharger un grand logo représentant cette marque" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Une grande image de marque" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Ajouter une description détaillée de la marque" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Description de la marque" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Catégories facultatives auxquelles cette marque est associée" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Catégories" -#: core/models.py:306 -msgid "brand slug" -msgstr "La limace de la marque" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Catégorie à laquelle appartient ce produit" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Possibilité d'associer ce produit à une marque" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Étiquettes permettant de décrire ou de regrouper ce produit" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Indique si ce produit est livré numériquement" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "Le produit est-il numérique ?" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Fournir un nom d'identification clair pour le produit" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Nom du produit" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Ajouter une description détaillée du produit" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Description du produit" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Numéro de pièce pour ce produit" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Numéro de pièce" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Catégorie de cet attribut" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Groupe de cet attribut" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "Chaîne" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Entier" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Flotteur" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Booléen" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Tableau" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Objet" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Type de la valeur de l'attribut" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Type de valeur" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Nom de cet attribut" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Nom de l'attribut" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribut" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Attribut de cette valeur" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "Le produit spécifique associé à la valeur de cet attribut" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Produit associé" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "La valeur spécifique de cet attribut" -#: core/models.py:526 +#: core/models.py:528 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:527 +#: core/models.py:529 msgid "image alt text" msgstr "Texte alt de l'image" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Télécharger le fichier image pour ce produit" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Image du produit" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Détermine l'ordre d'affichage des images" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Priorité à l'affichage" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "Le produit que cette image représente" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Images du produit" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Pourcentage de réduction pour les produits sélectionnés" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Pourcentage de réduction" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Donnez un nom unique à cette promotion" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Nom de la promotion" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Sélectionnez les produits inclus dans cette promotion" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Produits inclus" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Promotion" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "Le vendeur qui fournit ce stock de produits" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Vendeur associé" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Prix final pour le client après majoration" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Prix de vente" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "Le produit associé à cette entrée de stock" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "Le prix payé au vendeur pour ce produit" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Prix d'achat du vendeur" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Quantité disponible du produit en stock" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Quantité en stock" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU attribué par le fournisseur pour identifier le produit" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "UGS du vendeur" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "Fichier numérique associé à ce stock, le cas échéant" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "Fichier numérique" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Entrées de stock" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Produits que l'utilisateur a marqués comme souhaités" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "Utilisateur qui possède cette liste de souhaits" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Propriétaire de la liste de souhaits" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Liste de souhaits" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} n'existe pas : {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Documentaire" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Documentaires" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Non résolu" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Ligne d'adresse du client" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Ligne d'adresse" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Rue" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "District" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "Ville" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Région" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Code postal" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "Pays" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Point de géolocalisation (longitude, latitude)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Réponse JSON complète du géocodeur pour cette adresse" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Réponse JSON stockée du service de géocodage" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Adresse" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Adresses" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Identifiant du code promotionnel" -#: core/models.py:799 +#: core/models.py:801 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:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Montant de l'escompte fixe" -#: core/models.py:806 +#: core/models.py:808 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:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Pourcentage de réduction" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Date d'expiration du code promotionnel" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "Heure de fin de validité" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Date à partir de laquelle ce code promotionnel est valable" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Heure de début de validité" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Horodatage de l'utilisation" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "Utilisateur assigné à ce code promo, le cas échéant" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Utilisateur assigné" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Code promo" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Codes promotionnels" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1857,144 +1852,144 @@ msgstr "" "Un seul type de remise doit être défini (montant ou pourcentage), mais pas " "les deux ni aucun des deux." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "Le code promotionnel a déjà été utilisé" -#: core/models.py:880 +#: core/models.py:882 #, 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:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "L'adresse de facturation utilisée pour cette commande" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Code promo optionnel appliqué à cette commande" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Code promo appliqué" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "L'adresse de livraison utilisée pour cette commande" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Adresse de livraison" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Statut actuel de la commande dans son cycle de vie" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Statut de la commande" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "Structure JSON des notifications à afficher aux utilisateurs ; dans " "l'interface d'administration, la vue en tableau est utilisée." -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "Représentation JSON des attributs de cette commande" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "L'utilisateur qui a passé la commande" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "Utilisateur" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "L'heure à laquelle la commande a été finalisée." -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Temps d'achat" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "Un identifiant lisible par l'homme pour la commande" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "ID lisible par l'homme" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Commande" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "Un utilisateur ne peut avoir qu'un seul ordre en cours à la fois !" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "" "Vous ne pouvez pas ajouter de produits à une commande qui n'est pas en " "cours." -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "Vous ne pouvez pas ajouter des produits inactifs à la commande" -#: core/models.py:1037 +#: core/models.py:1039 msgid "you cannot add more products than available in stock" msgstr "" "Vous ne pouvez pas ajouter plus de produits que ceux disponibles en stock" -#: core/models.py:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "" "Vous ne pouvez pas retirer des produits d'une commande qui n'est pas en " "cours." -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} n'existe pas avec la requête <{query}>" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Le code promotionnel n'existe pas" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "" "Vous ne pouvez acheter que des produits physiques dont l'adresse de " "livraison est spécifiée !" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "L'adresse n'existe pas" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "Vous ne pouvez pas acheter en ce moment, veuillez réessayer dans quelques " "minutes." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Valeur de force non valide" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "Vous ne pouvez pas acheter une commande vide !" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Insuffisance de fonds pour compléter la commande" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -2003,7 +1998,7 @@ msgstr "" "informations suivantes : nom du client, courriel du client, numéro de " "téléphone du client" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -2011,116 +2006,116 @@ msgstr "" "Méthode de paiement non valide : {payment_method} de " "{available_payment_methods} !" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Prix d'achat au moment de la commande" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "" "Commentaires internes pour les administrateurs sur ce produit commandé" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Commentaires internes" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "Notifications aux utilisateurs" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "Représentation JSON des attributs de cet élément" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Attributs du produit ordonnés" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Référence à l'ordre parent qui contient ce produit" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Ordonnance parentale" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "Le produit spécifique associé à cette ligne de commande" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Quantité de ce produit spécifique dans la commande" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Quantité de produits" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Statut actuel de ce produit dans la commande" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Statut de la ligne de produits" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "mauvaise action spécifiée pour le retour d'information : {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "" "Vous ne pouvez pas retirer des produits d'une commande qui n'est pas en " "cours." -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Télécharger" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Téléchargements" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "Commentaires des utilisateurs sur leur expérience du produit" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Commentaires" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "Fait référence au produit spécifique d'une commande sur lequel porte le " "retour d'information." -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Produit de commande apparenté" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "Note attribuée par l'utilisateur au produit" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Evaluation du produit" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Retour d'information" diff --git a/core/locale/hi_IN/LC_MESSAGES/django.po b/core/locale/hi_IN/LC_MESSAGES/django.po index b94a5edc..fbeb4733 100644 --- a/core/locale/hi_IN/LC_MESSAGES/django.po +++ b/core/locale/hi_IN/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-22 13:48+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -24,120 +24,110 @@ msgstr "" msgid "unique id is used to surely identify any database object" msgstr "" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed permission" msgstr "" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "" -#: core/admin.py:41 -msgid "general" -msgstr "" - -#: core/admin.py:42 -msgid "I18N" -msgstr "" - -#: core/admin.py:43 -msgid "metadata" -msgstr "" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "" - -#: core/admin.py:45 -msgid "relations" -msgstr "" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "" + +#: core/admin.py:60 +msgid "relations" +msgstr "" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "" + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "" -#: core/admin.py:235 -msgid "name" -msgstr "" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "" - -#: core/admin.py:314 -msgid "rating" -msgstr "" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "" -#: core/admin.py:419 -msgid "is business" +#: core/admin.py:158 core/admin.py:159 +msgid "children" msgstr "" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "" #: core/apps.py:8 @@ -760,7 +750,8 @@ msgstr "" msgid "Quantity" msgstr "" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 core/models.py:307 +#: core/models.py:388 msgid "Slug" msgstr "" @@ -938,7 +929,7 @@ msgid "elasticsearch - works like a charm" msgstr "" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "" @@ -951,11 +942,11 @@ msgid "groups of attributes" msgstr "" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "" @@ -1009,7 +1000,7 @@ msgid "represents feedback from a user." msgstr "" #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "" @@ -1021,7 +1012,7 @@ msgstr "" msgid "a list of order products in this order" msgstr "" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "" @@ -1043,7 +1034,7 @@ msgstr "" msgid "are all products in the order digital" msgstr "" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "" @@ -1055,15 +1046,15 @@ msgstr "" msgid "product's images" msgstr "" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "" @@ -1071,6 +1062,14 @@ msgstr "" msgid "attribute groups" msgstr "" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1083,7 +1082,7 @@ msgstr "" msgid "number of feedbacks" msgstr "" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "" @@ -1095,7 +1094,7 @@ msgstr "" msgid "products on sale" msgstr "" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "" @@ -1103,7 +1102,7 @@ msgstr "" msgid "vendor" msgstr "" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1111,11 +1110,11 @@ msgstr "" msgid "product" msgstr "" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "" @@ -1123,7 +1122,7 @@ msgstr "" msgid "tagged products" msgstr "" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "" @@ -1220,7 +1219,7 @@ msgstr "" msgid "attribute group's name" msgstr "" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "" @@ -1272,7 +1271,7 @@ msgstr "" msgid "category tag" msgstr "" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "" @@ -1312,687 +1311,683 @@ msgstr "" msgid "category description" msgstr "" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "" -#: core/models.py:306 -msgid "brand slug" -msgstr "" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "" -#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 core/models.py:1361 msgid "associated product" msgstr "" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "" -#: core/models.py:791 +#: core/models.py:793 msgid "unique code used by a user to redeem a discount" msgstr "" -#: core/models.py:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "" -#: core/models.py:824 +#: core/models.py:826 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -#: core/models.py:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "" -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "" -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "" -#: core/models.py:1037 +#: core/models.py:1039 msgid "you cannot add more products than available in stock" msgstr "" -#: core/models.py:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "" -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" -#: core/models.py:1324 +#: core/models.py:1326 msgid "the price paid by the customer for this product at purchase time" msgstr "" -#: core/models.py:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "" -#: core/models.py:1467 +#: core/models.py:1469 msgid "you can not download a digital asset for a non-finished order" msgstr "" -#: core/models.py:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "" -#: core/models.py:1488 +#: core/models.py:1490 msgid "references the specific product in an order that this feedback is about" msgstr "" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "" diff --git a/core/locale/it_IT/LC_MESSAGES/django.mo b/core/locale/it_IT/LC_MESSAGES/django.mo index a9882b27429f1ceca8d8fcfb29e2d6001d68752d..ee9a0fc6eae076bdd07dc93871d8967b813bc354 100644 GIT binary patch delta 11280 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 diff --git a/core/locale/it_IT/LC_MESSAGES/django.po b/core/locale/it_IT/LC_MESSAGES/django.po index 4fc957c8..262e790d 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -23,11 +23,11 @@ msgstr "" "L'ID univoco viene utilizzato per identificare con certezza qualsiasi " "oggetto del database." -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "È attivo" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -35,111 +35,101 @@ msgstr "" "Se impostato a false, questo oggetto non può essere visto dagli utenti senza" " i necessari permessi." -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Creato" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "Quando l'oggetto è apparso per la prima volta nel database" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Modificato" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "Quando l'oggetto è stato modificato per l'ultima volta" -#: core/admin.py:41 -msgid "general" -msgstr "Generale" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internazionalizzazione" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Metadati" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Timestamp" - -#: core/admin.py:45 -msgid "relations" -msgstr "Relazioni" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Traduzioni" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "Generale" + +#: core/admin.py:60 +msgid "relations" +msgstr "Relazioni" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Metadati" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Timestamp" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Attivare il %(verbose_name_plural)s selezionato" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s attivato con successo!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Disattivare il %(verbose_name_plural)s selezionato" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s disattivato con successo." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Valore dell'attributo" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Valori degli attributi" -#: core/admin.py:235 -msgid "name" -msgstr "Nome" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Immagine" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Immagini" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Stock" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Le scorte" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Prezzo" - -#: core/admin.py:314 -msgid "rating" -msgstr "Valutazione" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Ordina il prodotto" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Ordinare i prodotti" -#: core/admin.py:419 -msgid "is business" -msgstr "È Business" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "I bambini" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Configurazione" #: core/apps.py:8 @@ -835,7 +825,8 @@ msgstr "Attributi" msgid "Quantity" msgstr "Quantità" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Lumaca" @@ -1018,7 +1009,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch: funziona a meraviglia" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Attributi" @@ -1031,11 +1022,11 @@ msgid "groups of attributes" msgstr "Gruppi di attributi" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Categorie" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Marche" @@ -1093,7 +1084,7 @@ msgid "represents feedback from a user." msgstr "Rappresenta il feedback di un utente." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Notifiche" @@ -1105,7 +1096,7 @@ msgstr "URL di download per il prodotto dell'ordine, se applicabile" msgid "a list of order products in this order" msgstr "Un elenco di prodotti ordinati in questo ordine" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Indirizzo di fatturazione" @@ -1129,7 +1120,7 @@ msgstr "Quantità totale di prodotti in ordine" msgid "are all products in the order digital" msgstr "Tutti i prodotti sono presenti nell'ordine digitale" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Ordini" @@ -1141,15 +1132,15 @@ msgstr "URL immagine" msgid "product's images" msgstr "Immagini del prodotto" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Categoria" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Feedback" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Marchio" @@ -1157,6 +1148,14 @@ msgstr "Marchio" msgid "attribute groups" msgstr "Gruppi di attributi" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Prezzo" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1169,7 +1168,7 @@ msgstr "Quantità" msgid "number of feedbacks" msgstr "Numero di feedback" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Prodotti" @@ -1181,7 +1180,7 @@ msgstr "Codici promozionali" msgid "products on sale" msgstr "Prodotti in vendita" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Promozioni" @@ -1189,7 +1188,7 @@ msgstr "Promozioni" msgid "vendor" msgstr "Venditore" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1197,11 +1196,11 @@ msgstr "Venditore" msgid "product" msgstr "Prodotto" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Prodotti desiderati" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Liste dei desideri" @@ -1209,7 +1208,7 @@ msgstr "Liste dei desideri" msgid "tagged products" msgstr "Prodotti contrassegnati" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Tag del prodotto" @@ -1307,7 +1306,7 @@ msgstr "Gruppo di attributi padre" msgid "attribute group's name" msgstr "Nome del gruppo di attributi" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Gruppo di attributi" @@ -1361,7 +1360,7 @@ msgstr "Etichetta del prodotto" msgid "category tag" msgstr "tag categoria" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "tag di categoria" @@ -1402,447 +1401,443 @@ msgstr "Aggiungere una descrizione dettagliata per questa categoria" msgid "category description" msgstr "Descrizione della categoria" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "tag che aiutano a descrivere o raggruppare questa categoria" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Priorità" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Nome del marchio" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Nome del marchio" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Caricare un logo che rappresenti questo marchio" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Immagine piccola del marchio" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Caricare un grande logo che rappresenti questo marchio" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Grande immagine del marchio" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Aggiungere una descrizione dettagliata del marchio" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Descrizione del marchio" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Categorie opzionali a cui questo marchio è associato" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Categorie" -#: core/models.py:306 -msgid "brand slug" -msgstr "La lumaca del marchio" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Categoria a cui appartiene questo prodotto" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Associare facoltativamente questo prodotto a un marchio" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Tag che aiutano a descrivere o raggruppare questo prodotto" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Indica se il prodotto è consegnato in formato digitale" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "Il prodotto è digitale" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Fornire un nome identificativo chiaro per il prodotto" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Nome del prodotto" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Aggiungere una descrizione dettagliata del prodotto" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Descrizione del prodotto" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Numero di parte per questo prodotto" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Numero di parte" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Categoria di questo attributo" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Gruppo di questo attributo" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "Stringa" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Intero" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Galleggiante" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Booleano" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Array" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Oggetto" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Tipo di valore dell'attributo" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Tipo di valore" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Nome dell'attributo" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Nome dell'attributo" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attributo" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Attributo di questo valore" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "Il prodotto specifico associato al valore di questo attributo" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Prodotto associato" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "Il valore specifico per questo attributo" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "" "Fornire un testo alternativo per l'immagine ai fini dell'accessibilità." -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "Testo alt dell'immagine" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Caricare il file immagine per questo prodotto" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Immagine del prodotto" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Determina l'ordine di visualizzazione delle immagini" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Priorità del display" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "Il prodotto che questa immagine rappresenta" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Immagini del prodotto" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Percentuale di sconto per i prodotti selezionati" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Percentuale di sconto" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Fornite un nome unico per questa promozione" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Nome della promozione" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Descrizione della promozione" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Selezionare i prodotti inclusi in questa promozione" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Prodotti inclusi" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Promozione" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "Il venditore che fornisce questo stock di prodotti" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Venditore associato" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Prezzo finale al cliente dopo i ricarichi" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Prezzo di vendita" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "Il prodotto associato a questa voce di magazzino" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "Il prezzo pagato al venditore per questo prodotto" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Prezzo di acquisto del fornitore" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Quantità disponibile del prodotto in magazzino" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Quantità in magazzino" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU assegnato dal fornitore per identificare il prodotto" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "SKU del venditore" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "File digitale associato a questo stock, se applicabile" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "File digitale" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Voci di magazzino" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Prodotti che l'utente ha contrassegnato come desiderati" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "Utente che possiede questa wishlist" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Proprietario della lista dei desideri" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Lista dei desideri" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} non esiste: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Documentario" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Documentari" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Non risolto" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Indirizzo del cliente" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Linea di indirizzo" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Via" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "Distretto" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "Città" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Regione" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Codice postale" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "Paese" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Punto di geolocalizzazione(Longitudine, Latitudine)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Risposta JSON completa di geocoder per questo indirizzo" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Risposta JSON memorizzata dal servizio di geocodifica" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Indirizzo" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Indirizzi" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Identificatore del codice promozionale" -#: core/models.py:799 +#: core/models.py:801 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:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Importo fisso dello sconto" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "Sconto percentuale applicato se l'importo fisso non viene utilizzato" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Sconto percentuale" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Data di scadenza del codice promozionale" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "Tempo di validità finale" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Data a partire dalla quale il codice promozionale è valido" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Ora di inizio validità" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Timestamp d'uso" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "Utente assegnato a questo codice promozionale, se applicabile" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Utente assegnato" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Codice promozionale" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Codici promozionali" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1850,140 +1845,140 @@ msgstr "" "È necessario definire un solo tipo di sconto (importo o percentuale), ma non" " entrambi o nessuno." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "Il codice promozionale è già stato utilizzato" -#: core/models.py:880 +#: core/models.py:882 #, 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:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "L'indirizzo di fatturazione utilizzato per questo ordine" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Codice promozionale opzionale applicato a questo ordine" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Codice promozionale applicato" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "L'indirizzo di spedizione utilizzato per questo ordine" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Indirizzo di spedizione" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Stato attuale dell'ordine nel suo ciclo di vita" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Stato dell'ordine" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "Struttura JSON delle notifiche da mostrare agli utenti; nell'interfaccia " "utente dell'amministratore viene utilizzata la visualizzazione a tabella." -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "Rappresentazione JSON degli attributi dell'ordine per questo ordine" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "L'utente che ha effettuato l'ordine" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "Utente" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "Il timestamp del momento in cui l'ordine è stato finalizzato" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Acquista tempo" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "Un identificatore leggibile dall'uomo per l'ordine" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "ID leggibile dall'uomo" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Ordine" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "Un utente può avere un solo ordine pendente alla volta!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "" "Non è possibile aggiungere prodotti a un ordine che non sia in sospeso." -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "Non è possibile aggiungere all'ordine prodotti inattivi" -#: core/models.py:1037 +#: core/models.py:1039 msgid "you cannot add more products than available in stock" msgstr "" "Non è possibile aggiungere più prodotti di quelli disponibili in magazzino" -#: core/models.py:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "Non è possibile rimuovere i prodotti da un ordine che non è in corso." -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} non esiste con la query <{query}>." -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Il codice promozionale non esiste" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "" "È possibile acquistare solo prodotti fisici con indirizzo di spedizione " "specificato!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "L'indirizzo non esiste" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "In questo momento non è possibile acquistare, riprovare tra qualche minuto." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Valore di forza non valido" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "Non è possibile acquistare un ordine vuoto!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Fondi insufficienti per completare l'ordine" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1992,7 +1987,7 @@ msgstr "" "seguenti informazioni: nome del cliente, e-mail del cliente, numero di " "telefono del cliente" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -2000,111 +1995,111 @@ msgstr "" "Metodo di pagamento non valido: {payment_method} da " "{available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Prezzo di acquisto al momento dell'ordine" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "Commenti interni per gli amministratori su questo prodotto ordinato" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Commenti interni" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "Notifiche degli utenti" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "Rappresentazione JSON degli attributi di questo elemento" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Attributi del prodotto ordinati" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Riferimento all'ordine padre che contiene questo prodotto" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Ordine dei genitori" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "Il prodotto specifico associato a questa riga d'ordine" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Quantità di questo prodotto specifico nell'ordine" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Quantità di prodotto" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Stato attuale di questo prodotto nell'ordine" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Stato della linea di prodotti" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "azione errata specificata per il feedback: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "non è possibile dare un riscontro a un ordine non ricevuto" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Scaricare" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Scaricamento" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "Commenti degli utenti sulla loro esperienza con il prodotto" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Commenti di feedback" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "Riferisce il prodotto specifico in un ordine di cui si tratta il feedback." -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Prodotto correlato all'ordine" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "Valutazione del prodotto assegnata dall'utente" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Valutazione del prodotto" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Feedback" diff --git a/core/locale/ja_JP/LC_MESSAGES/django.mo b/core/locale/ja_JP/LC_MESSAGES/django.mo index 950328e40d0722222768513e39034792decae56a..683bc5915f7f0da189e370274fbe010b6dc17689 100644 GIT binary patch delta 11310 zcmZwMcYKc5|Httwf+WNiLC{2yfk=$lGd2x^8Z9*FDuckF>3)(8B zt+uGqe$yyAsL?7~zt=nGi%u2yX#ib+^G)ND>ug} zgT)Iw&dywpekp!!RE=TBAPD+14ju9`czu1?QvM<*({EjMXWD%P~Gs|3)t?SltYyB>IvEq6S(YHG!t6 zc0H}JsDUM7Zd{D3>EB7Eppi$^VA-(_s^b>ui9InG`=dTMAJu+|%~x92qB`7!TA^LY z~Gz3)M7R8Hp}+Fo;4R4o5XiMON84fm*`fY<+Q-sUCSF)RKP9Elb20cwkUH~d>X4FMeR}AGh^iT5qGa;2{>n7wC_LSiVpUM|RzL+eLx%2J9Yx!`2kLCZqh>e)_4%o&l};r;vdf*(KZHIqJdg z4NQjxQ6DUa+S?%1Qa3=YTsu^Uy|FYVpgNpo>zAQF`6kqJGLXaUaxPHNOus_S>>6rI z?x7y|3iY4@4Nb?TQEx#t)aPnq_DWczQ3LFQ+VjzwUgrsFAYq(T*#y;bjLrL_1~3{mfH~4dA&r6t za16Cq7f}Owh}t9fCT1%Npbkw*)QYr2y>8u64_=7sa1&~Y(@`sU6t%_YQC~pcq3%CJ zR|EyOrlzABr~x!Y?m2x>1KWt2(SFnyNCxVV-M96Bq8{kp%(U}H4ZIwNU@-EgIx)Bf z=c3w&N3s9f>$*|wBX&T&pVLuGI~O^JP6leAuTXm)!IwZV*2MtqhZ@*)R7X2euV*G| zC10S2ufNM}^>WYg(H408^vxni>hO{~Q;X>qGIXh4t-b2mkG4kc; zX}PR^TVp(mzH|z5fN{*Ue`o*P!Dzb-^2pg z3kzaAdgBBvgR@XG+KlS(1XjUwr~yAlJttoWbEr$B4r6EZrhjJ;h5R@g^}r<5UadnN zrcclVA6lQGX6|$}hp9MLC2fy-izXlk-r0+t@CoYqElJdI4CcXsnEm^I2nBU82KC@6 zs2MNCg1Euf??uf#0}JD2d;cd?2M_K2m-fC_jM>W4sBgSL)aM$aUeD+l*1s}^I4bnu zrI-)bqrMk*pdNe@wUif7d!31D_Y%F(qqAvW1U29w)cr^d$EN6yBT#Qe3hMjiXlMKW zKczya*P{!+^DziRaXxBG4x$d_6)b``F$^D|4pX_Vj>C78(-rmLRj9-KHR?>1e#;Cn z05#y+sQ#L|D3qtr*E$_5l5e&7Mby$g#G06|n;B4J)C}Ljw{ajc2PXry_rBfD_sBb_ z!}tOE<2P6wpP-)W^5UJ)76f7hcCaR)Rv_Ja3xmkLdYZohBQS(K0o86f*1=O)9iQ90 zDx=eL;3=7-l+ACS+arHlm>fk{wFpeuiMKw0r^es9I^R7sFkVL+Z@`V zs1==zI&2$|M>zXYXQSY|=8%`gJbM2lDCo4;M(tG#tcLB8UsTQ{TYtiO4z=_bu^3)O zb@UtRjQoo_BYFFn_r4^SAP+{(yfNx^O~msq3Tr4#!-0Lx690-#$cyze4ZEQBFc~Z1 zUeqc64p~Cy6>0_Q_cv!}7-nw?mZkm_YU^%eWAxyJ*TPol(t{^csDL}L0bWAQ(0hRS zqVPq%hGnr7hF~B@pky5kq9U$E zjXVP@;U8ECeFmCeA{9|f7m7u(JNjWfY67!RpWB6v@Egp7MF*Jyl*GK`fmjkl2eJN| zSripM*ugd&fSSoL^uP@`8MmSKu+m`jTd^xPCm)NRcocQW&SH7If;uCAqZj6X&rHAv zwRKT03OenwA)dl!_zJZ(&Em~#HWanTt5EH}#A)cAU|zSys4dAref}3)A3B7;6UlpF zByPtl_#=j*t3aYT9CffX6@5@EF%i{Z32JMOqW1WI*xil7P_wr^h8dTl2Ji)j;RCFU z<%XN*w#CBa1F!&&LAJo)Y>Qg@IMf%>SZt3A(N&ki4-`tG4@W!(!%z=MLd|?O zYJfK|9Q~)5v(X9l+D$^O$VM!OpIh&up6|gddty`6{WaDjF4kXrah(cvSbnN$5Q55E zV^Qp2^L{v#d@%OGYuFp>CGl4ju0m}=u4MCZG%JD zn*22Cz0E(ve8F@>4QP#Z7iuexq8{`+2H{c8>8CwwIu;kvdTR5s^UXkNSnHu?+7#7MA8d`|(F;$bR`LRB0yj|YGSQ{NOA4Bi z&jQnNd+bC0uFX$kF!?vw7hj?}?7h&mpNwykFGh863pL;@)JzL3GBXcE<*iYNxA!8} zzcGbHRNTQ!s0SQaY({(xHIs|zjU|@wy^Vnwhe_BH@1j0eZK?UoCK4NvC!jvR9sA%T z)CzY_F%uY?!uo4O3#q7yn=uTpp}yNamziI)WpOO|Moh#~siwo(s1;mn|9E-YZN89Wj=CFlq*0qL%nR7Q&({O}p}_ zt*UR0#RT#Ns1BcFCv;n7KIiI8L0=I4Q6ry$HE^6Ky^Z z_4%c?ej93q4xtX|71Y^zj3v=oXP#3EYwP{@r@*#4-BC089W~G6#alSM&;v%TLoXsm* zt6LkR2HYMskO8)SsCANcj&->;&AKm*_1BD!*@|nZf!slD!9S>(hi*3YO;GJS+k7ZS zk|$#YJZ$T4p+5H~s=db+GtfX(eFM}M#cW~ywN#U-&}(rJyP($x<^#P^4aeeS+=S}T zf2+CQ4fB!@L#@DAtcpq468EC78-Jpqo>OqUIsJ7}pIhOgpc${T75g!O{E+oJ>VYq9 z9=gNaZ*NURy&a2DXXrK-z+yYiUrGTON4^AO@fpTruU)3S>vIa4(ZAN3yUmitqqblc z>aZO`b?_9mVj+9X+tDADr(rX^iTa%XUSlWJ_dqgM(0vTTT>G+D+U0~&(1Ts3!b!(o zz}BHR`BeXfD&9lQ)b|s!vaM0y1CuZm zSKIs?y7Yi73U6bXBj!7N9M&a2gWA*oup2f#YF?jJsG06XE$spH!wl36Z`=FN(1-jL z>esN(G4pT7y)lt|$T8MmOLKz?J>U+G#$3nkKu`lXgN@PSgqe9ORQu_u0c=36;BM3w zzQV>>^rSgMF{p`-#df#{HG$_RUFHF9r;G(rr_>L1NSdHJ>WF%90_wpoRL3W90A4`N zu=;6px+kJKN<*#416%KzVI~xg>Sv^jf*P#E9=IRh#QbN>lJ~$~s>fzn=&bp>AOg4&EC&LZQ%~o*~s-7|1$zzH7GQoa2%W93#^U}J~#gfWhknH zJs5_6pkCLq=gq&EbizjD%h3&WH79aqmw4~-g)Qe$io!~hxUxs}oKGg(PcO$&++2lA z2`#&>Ukuqlf97Xf?)^g?A#$!ql*`&AKjne8{Hygeb%lv5L}h~c^SeL0z}F^b+J^t) zJLFaDJynmkjngwrw0a-&;;Nc`srFWnHem z{NVL>5~y5^e0MloiQma55xptv`XA+bM9wvh@;4;sU#ru-TI3UQ8d=L(3)!}p$vH00 zevNYol`BX(V2W*E+dI!F9Hs6YkwN4k_7QstU7-f&4f3J3PQPxK*!m6D;@0-~J;51w z#%H%@oqo0->}eYX+k6}OLdtp@GHu-xYZP^_2v1@)F^_O@?0_g_>poTCLq7~ zoUbYCHNS+qO6o(0h_^{5UG$VU$Dne|0$7kZL{S#j3>$w!-zkL!8E!^ zw6=|>TK~bjL{-}8(m8SV5#v>O?RuZ`S2o{CU;k6 z>o<~_)bn>s_VuTA7~a?XW4YOhB#&%N0X3v-kVqd)c+j8avy1 zRn4XBP3)vR5f9sYEAbT(MEG-$-(Ai)%GU{VvH#C04Wz=Is7Bcb2k9<8CfX6-6N8C1 zL{s8F-M5z)`CpVD;#m9@z0nPyVhQYsy6RKbH3Q3IZWo1m6mDQ63?v#88N?1E=i0>m z={9LeIp?Zn3wd9w%egn&7Aj#hafIkhTzjpps~;7YZAE#kVaxjKXEEhQHYasvQT~b; zK>S5qCElezmDsKZT*IlmNaQ0aVF!i3iGwGejLim%khPUzI|41(j=v zA1GfT?h)4sT`h<|xc3vWE4#-0Z3@QQ`pQ9;mA!RwsTT`Vv{xZ6TTwzZ0{m z>qFcob`!^_OC+-Y$j=LRsoY37DT$Lymh9Vq)Zj6FM-7PeA33^z{{bUM#*I!$7$1;* zvsCPW|NnMa`m@kYxjdtWCdLgO=rm6`+9V+TXw_o5)2~Df@=9-2Ki17-(BOpF5d#ua zwl|1NFVXO9{`6m3Z+A~mZ9l^^J)mnXKl=79pP97x&hE6VLx(bxcHaH?VAj0U%%l~W zNyoE)u77YeNu%%$c)eLx(waNFH@)60b82#W*J07_1=2I8@lR@Ia$08czLbC^!6`TA z7f!!A@{>I2YsLqAr{A3M!p%Et_u`+Aug*+bpP95V<@;H^(_74*QYiiMieY)uTdggd LFMasdN`e0eEi(#r delta 11293 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 CCh%MU diff --git a/core/locale/ja_JP/LC_MESSAGES/django.po b/core/locale/ja_JP/LC_MESSAGES/django.po index b8e6f22f..98076e69 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -21,121 +21,111 @@ msgstr "ユニークID" msgid "unique id is used to surely identify any database object" msgstr "ユニークIDは、データベースオブジェクトを確実に識別するために使用されます。" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "アクティブ" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" msgstr "falseに設定された場合、このオブジェクトは必要なパーミッションのないユーザーには見えない。" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "作成" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "そのオブジェクトが初めてデータベースに登場した時" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "変形" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "オブジェクトの最終編集日時" -#: core/admin.py:41 -msgid "general" -msgstr "一般" - -#: core/admin.py:42 -msgid "I18N" -msgstr "国際化" - -#: core/admin.py:43 -msgid "metadata" -msgstr "メタデータ" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "タイムスタンプ" - -#: core/admin.py:45 -msgid "relations" -msgstr "関係" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "翻訳" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "一般" + +#: core/admin.py:60 +msgid "relations" +msgstr "関係" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "メタデータ" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "タイムスタンプ" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "選択した %(verbose_name_plural)s をアクティブにする。" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)sは正常に起動しました!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "選択された %(verbose_name_plural)s を非アクティブにする。" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)sは正常に停止しました。" + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "属性値" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "属性値" -#: core/admin.py:235 -msgid "name" -msgstr "名称" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "画像" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "画像" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "在庫" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "株式" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "価格" - -#: core/admin.py:314 -msgid "rating" -msgstr "製品評価" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "商品のご注文" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "商品のご注文" -#: core/admin.py:419 -msgid "is business" -msgstr "ビジネス" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "子供たち" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "コンフィグ" #: core/apps.py:8 @@ -774,7 +764,8 @@ msgstr "属性" msgid "Quantity" msgstr "数量" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "スラッグ" @@ -952,7 +943,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - 魅力のように動作" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "属性" @@ -965,11 +956,11 @@ msgid "groups of attributes" msgstr "属性のグループ" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "カテゴリー" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "ブランド" @@ -1024,7 +1015,7 @@ msgid "represents feedback from a user." msgstr "ユーザーからのフィードバックを表す。" #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "お知らせ" @@ -1036,7 +1027,7 @@ msgstr "該当する場合は、この注文商品のダウンロードURLを入 msgid "a list of order products in this order" msgstr "注文商品のリスト" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "請求先住所" @@ -1058,7 +1049,7 @@ msgstr "注文商品の総数量" msgid "are all products in the order digital" msgstr "ご注文の商品はすべてデジタルですか?" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "受注状況" @@ -1070,15 +1061,15 @@ msgstr "画像URL" msgid "product's images" msgstr "製品画像" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "カテゴリー" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "フィードバック" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "ブランド" @@ -1086,6 +1077,14 @@ msgstr "ブランド" msgid "attribute groups" msgstr "属性グループ" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "価格" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1098,7 +1097,7 @@ msgstr "数量" msgid "number of feedbacks" msgstr "フィードバック数" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "製品紹介" @@ -1110,7 +1109,7 @@ msgstr "プロモコード" msgid "products on sale" msgstr "販売商品" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "プロモーション" @@ -1118,7 +1117,7 @@ msgstr "プロモーション" msgid "vendor" msgstr "ベンダー" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1126,11 +1125,11 @@ msgstr "ベンダー" msgid "product" msgstr "製品" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "ウィッシュリスト掲載商品" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "ウィッシュリスト" @@ -1138,7 +1137,7 @@ msgstr "ウィッシュリスト" msgid "tagged products" msgstr "タグ別アーカイブ" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "商品タグ" @@ -1235,7 +1234,7 @@ msgstr "親属性グループ" msgid "attribute group's name" msgstr "属性グループ名" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "属性グループ" @@ -1287,7 +1286,7 @@ msgstr "商品タグ" msgid "category tag" msgstr "カテゴリタグ" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "カテゴリータグ" @@ -1327,689 +1326,685 @@ msgstr "このカテゴリの詳細説明を追加する" msgid "category description" msgstr "カテゴリー説明" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "このカテゴリーを説明またはグループ化するのに役立つタグ" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "優先順位" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "ブランド名" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "ブランド名" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "このブランドを代表するロゴをアップロードする" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "小さなブランドイメージ" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "このブランドを象徴する大きなロゴをアップロードする" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "大きなブランドイメージ" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "ブランドの詳細な説明を加える" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "ブランド説明" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "このブランドが関連するオプション・カテゴリー" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "カテゴリー" -#: core/models.py:306 -msgid "brand slug" -msgstr "ブランドスラッグ" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "この製品が属するカテゴリ" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "オプションでこの製品をブランドと関連付ける" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "この商品の説明やグループ分けに役立つタグ" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "この製品がデジタル配信されるかどうかを示す" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "製品はデジタルか" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "製品の明確な識別名を提供する" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "商品名" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "商品の詳細説明を追加する" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "商品説明" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "この製品の品番" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "品番" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "この属性のカテゴリー" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "この属性のグループ" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "ストリング" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "整数" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "フロート" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "ブーリアン" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "配列" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "対象" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "属性値のタイプ" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "値の種類" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "この属性の名前" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "属性名" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "属性" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "この値の属性" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "この属性の値に関連する特定の製品" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "関連製品" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "この属性の具体的な値" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "アクセシビリティのために、画像に代替テキストを提供する。" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "画像のaltテキスト" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "この商品の画像ファイルをアップロードする" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "商品画像" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "画像の表示順を決める" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "表示優先度" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "この画像が表す製品" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "商品画像" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "選択した商品の割引率" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "割引率" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "このプロモーションのユニークな名前を入力してください。" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "プロモーション名" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "プロモーション内容" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "キャンペーン対象商品をお選びください。" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "含まれる製品" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "プロモーション" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "この製品の在庫を供給しているベンダー" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "関連ベンダー" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "マークアップ後の顧客への最終価格" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "販売価格" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "このストックエントリーに関連する製品" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "この製品に対してベンダーに支払われた価格" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "ベンダーの購入価格" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "在庫数" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "在庫数" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "製品を識別するためにベンダーが割り当てたSKU" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "ベンダーのSKU" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "この銘柄に関連するデジタルファイル(該当する場合" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "デジタルファイル" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "ストックエントリー" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "ユーザーが欲しいとマークした商品" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "このウィッシュリストを所有しているユーザー" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "ウィッシュリストのオーナー" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "ウィッシュリスト" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name}が存在しません:{product_uuid}が存在しません。" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "ドキュメンタリー" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "ドキュメンタリー" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "未解決" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "お客様の住所" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "住所" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "ストリート" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "地区" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "都市" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "地域" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "郵便番号" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "国名" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "ジオロケーションポイント(経度、緯度)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "この住所に対するジオコーダーからの完全なJSON応答" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "ジオコーディング・サービスからの保存されたJSONレスポンス" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "住所" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "住所" -#: core/models.py:791 +#: core/models.py:793 msgid "unique code used by a user to redeem a discount" msgstr "ユーザーが割引を利用する際に使用する固有のコード" -#: core/models.py:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "プロモコード識別子" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "パーセントを使用しない場合に適用される固定割引額" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "固定割引額" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "定額を使用しない場合に適用される割引率" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "割引率" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "プロモコードの有効期限が切れるタイムスタンプ" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "終了有効時間" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "このプロモコードが有効なタイムスタンプ" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "開始有効時間" -#: core/models.py:824 +#: core/models.py:826 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "プロモコードが使用されたタイムスタンプ、未使用の場合は空白" -#: core/models.py:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "使用タイムスタンプ" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "該当する場合、このプロモコードに割り当てられたユーザー" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "担当ユーザー" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "プロモコード" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "プロモコード" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "割引の種類は1つだけ(金額またはパーセント)定義されるべきで、両方またはどちらも定義してはならない。" -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "プロモコードはすでに使用されています" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "プロモコード {self.uuid} の割引タイプが無効です。" -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "この注文に使用される請求先住所" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "この注文に適用されるプロモコード" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "プロモーションコード適用" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "この注文に使用された配送先住所" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "配送先住所" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "ライフサイクルにおける現在の注文状況" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "注文状況" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "ユーザーに表示する通知のJSON構造、管理UIではテーブルビューが使用されます。" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "この注文の注文属性のJSON表現" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "注文を行ったユーザー" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "ユーザー" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "注文が確定したタイムスタンプ" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "時間を買う" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "オーダーの人間が読み取り可能な識別子。" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "人間が読めるID" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "オーダー" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "ユーザーは一度に1つの未決注文しか持つことができません!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "保留中の注文以外の注文に商品を追加することはできません。" -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "アクティブでない商品を注文に追加することはできません。" -#: core/models.py:1037 +#: core/models.py:1039 msgid "you cannot add more products than available in stock" msgstr "在庫以上の商品を追加することはできません。" -#: core/models.py:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "保留中の注文以外の注文から商品を削除することはできません。" -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "クエリ<{query}>で{name}が存在しません。" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "プロモコードが存在しない" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "配送先住所が指定された現物商品のみ購入可能!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "アドレスが存在しない" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "現在ご購入いただけません。数分後にもう一度お試しください。" -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "無効なフォース値" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "空注文はできません!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "注文を完了するための資金不足" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "ご登録がない場合はご購入いただけませんので、以下の情報をお知らせください:お客様のお名前、お客様のEメール、お客様の電話番号" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "支払方法が無効です:{available_payment_methods}からの{payment_method}が無効です!" -#: core/models.py:1324 +#: core/models.py:1326 msgid "the price paid by the customer for this product at purchase time" msgstr "この商品の購入時に顧客が支払った価格" -#: core/models.py:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "注文時の購入価格" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "この注文商品に関する管理者への内部コメント" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "社内コメント" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "ユーザー通知" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "このアイテムの属性のJSON表現" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "製品属性の順序" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "この商品を含む親注文への参照" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "親注文" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "この注文ラインに関連する特定の製品" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "注文に含まれる特定の商品の数量" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "製品数量" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "この商品の現在のご注文状況" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "製品ラインの状況" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "フィードバックに指定されたアクションが間違っています:{action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "受信していない注文をフィードバックすることはできません。" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "ダウンロード" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "ダウンロード" -#: core/models.py:1467 +#: core/models.py:1469 msgid "you can not download a digital asset for a non-finished order" msgstr "未完成の注文のデジタル資産をダウンロードすることはできません。" -#: core/models.py:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "ユーザーから寄せられた製品使用体験に関するコメント" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "フィードバック・コメント" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "このフィードバックが対象としている注文の特定の製品を参照する。" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "関連注文商品" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "ユーザーによる製品の評価" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "製品評価" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "フィードバック" diff --git a/core/locale/kk_KZ/LC_MESSAGES/django.po b/core/locale/kk_KZ/LC_MESSAGES/django.po index b94a5edc..fbeb4733 100644 --- a/core/locale/kk_KZ/LC_MESSAGES/django.po +++ b/core/locale/kk_KZ/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-22 13:48+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -24,120 +24,110 @@ msgstr "" msgid "unique id is used to surely identify any database object" msgstr "" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed permission" msgstr "" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "" -#: core/admin.py:41 -msgid "general" -msgstr "" - -#: core/admin.py:42 -msgid "I18N" -msgstr "" - -#: core/admin.py:43 -msgid "metadata" -msgstr "" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "" - -#: core/admin.py:45 -msgid "relations" -msgstr "" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "" + +#: core/admin.py:60 +msgid "relations" +msgstr "" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "" + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "" -#: core/admin.py:235 -msgid "name" -msgstr "" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "" - -#: core/admin.py:314 -msgid "rating" -msgstr "" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "" -#: core/admin.py:419 -msgid "is business" +#: core/admin.py:158 core/admin.py:159 +msgid "children" msgstr "" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "" #: core/apps.py:8 @@ -760,7 +750,8 @@ msgstr "" msgid "Quantity" msgstr "" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 core/models.py:307 +#: core/models.py:388 msgid "Slug" msgstr "" @@ -938,7 +929,7 @@ msgid "elasticsearch - works like a charm" msgstr "" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "" @@ -951,11 +942,11 @@ msgid "groups of attributes" msgstr "" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "" @@ -1009,7 +1000,7 @@ msgid "represents feedback from a user." msgstr "" #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "" @@ -1021,7 +1012,7 @@ msgstr "" msgid "a list of order products in this order" msgstr "" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "" @@ -1043,7 +1034,7 @@ msgstr "" msgid "are all products in the order digital" msgstr "" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "" @@ -1055,15 +1046,15 @@ msgstr "" msgid "product's images" msgstr "" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "" @@ -1071,6 +1062,14 @@ msgstr "" msgid "attribute groups" msgstr "" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1083,7 +1082,7 @@ msgstr "" msgid "number of feedbacks" msgstr "" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "" @@ -1095,7 +1094,7 @@ msgstr "" msgid "products on sale" msgstr "" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "" @@ -1103,7 +1102,7 @@ msgstr "" msgid "vendor" msgstr "" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1111,11 +1110,11 @@ msgstr "" msgid "product" msgstr "" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "" @@ -1123,7 +1122,7 @@ msgstr "" msgid "tagged products" msgstr "" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "" @@ -1220,7 +1219,7 @@ msgstr "" msgid "attribute group's name" msgstr "" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "" @@ -1272,7 +1271,7 @@ msgstr "" msgid "category tag" msgstr "" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "" @@ -1312,687 +1311,683 @@ msgstr "" msgid "category description" msgstr "" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "" -#: core/models.py:306 -msgid "brand slug" -msgstr "" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "" -#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 core/models.py:1361 msgid "associated product" msgstr "" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "" -#: core/models.py:791 +#: core/models.py:793 msgid "unique code used by a user to redeem a discount" msgstr "" -#: core/models.py:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "" -#: core/models.py:824 +#: core/models.py:826 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -#: core/models.py:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "" -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "" -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "" -#: core/models.py:1037 +#: core/models.py:1039 msgid "you cannot add more products than available in stock" msgstr "" -#: core/models.py:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "" -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" -#: core/models.py:1324 +#: core/models.py:1326 msgid "the price paid by the customer for this product at purchase time" msgstr "" -#: core/models.py:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "" -#: core/models.py:1467 +#: core/models.py:1469 msgid "you can not download a digital asset for a non-finished order" msgstr "" -#: core/models.py:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "" -#: core/models.py:1488 +#: core/models.py:1490 msgid "references the specific product in an order that this feedback is about" msgstr "" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "" diff --git a/core/locale/nl_NL/LC_MESSAGES/django.mo b/core/locale/nl_NL/LC_MESSAGES/django.mo index ee0ccc874984e31c5b099674ea918b05e84046e3..a8a6ee7bac52601a1dc694a3a19f1806b062a5df 100644 GIT binary patch delta 11363 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 delta 11274 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 Se#t|Jjz~(*IlHz_ng0W#=g12H diff --git a/core/locale/nl_NL/LC_MESSAGES/django.po b/core/locale/nl_NL/LC_MESSAGES/django.po index b9fe30bf..1827f846 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -21,11 +21,11 @@ msgstr "Uniek ID" msgid "unique id is used to surely identify any database object" msgstr "Unieke ID wordt gebruikt om elk databaseobject te identificeren" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Is actief" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -33,111 +33,101 @@ msgstr "" "Als false is ingesteld, kan dit object niet worden gezien door gebruikers " "zonder de benodigde toestemming" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Gemaakt" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "Wanneer het object voor het eerst in de database verscheen" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Gewijzigd" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "Wanneer het object voor het laatst bewerkt is" -#: core/admin.py:41 -msgid "general" -msgstr "Algemeen" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internationalisering" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Metagegevens" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Tijdstempels" - -#: core/admin.py:45 -msgid "relations" -msgstr "Relaties" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Vertalingen" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "Algemeen" + +#: core/admin.py:60 +msgid "relations" +msgstr "Relaties" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Metagegevens" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Tijdstempels" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Activeer geselecteerde %(verbose_name_plural)s" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s met succes geactiveerd!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Deactiveer geselecteerde %(verbose_name_plural)s" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s met succes gedeactiveerd." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Attribuut Waarde" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Attribuutwaarden" -#: core/admin.py:235 -msgid "name" -msgstr "Naam" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Afbeelding" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Afbeeldingen" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Voorraad" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Aandelen" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Prijs" - -#: core/admin.py:314 -msgid "rating" -msgstr "Productbeoordeling" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Product bestellen" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Producten bestellen" -#: core/admin.py:419 -msgid "is business" -msgstr "Is zakelijk" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Kinderen" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Config" #: core/apps.py:8 @@ -832,7 +822,8 @@ msgstr "Attributen" msgid "Quantity" msgstr "Hoeveelheid" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Slak" @@ -1012,7 +1003,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - werkt als een charme" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Attributen" @@ -1025,11 +1016,11 @@ msgid "groups of attributes" msgstr "Groepen van kenmerken" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Categorieën" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Merken" @@ -1088,7 +1079,7 @@ msgid "represents feedback from a user." msgstr "Vertegenwoordigt feedback van een gebruiker." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Meldingen" @@ -1100,7 +1091,7 @@ msgstr "Download url voor dit bestelproduct indien van toepassing" msgid "a list of order products in this order" msgstr "Een lijst met bestelde producten in deze bestelling" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Factuuradres" @@ -1124,7 +1115,7 @@ msgstr "Totale hoeveelheid producten in bestelling" msgid "are all products in the order digital" msgstr "Zijn alle producten in de bestelling digitaal" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Bestellingen" @@ -1136,15 +1127,15 @@ msgstr "Afbeelding URL" msgid "product's images" msgstr "Afbeeldingen van het product" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Categorie" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Reacties" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Merk" @@ -1152,6 +1143,14 @@ msgstr "Merk" msgid "attribute groups" msgstr "Attribuutgroepen" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Prijs" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1164,7 +1163,7 @@ msgstr "Hoeveelheid" msgid "number of feedbacks" msgstr "Aantal terugkoppelingen" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Producten" @@ -1176,7 +1175,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Producten te koop" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Promoties" @@ -1184,7 +1183,7 @@ msgstr "Promoties" msgid "vendor" msgstr "Verkoper" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1192,11 +1191,11 @@ msgstr "Verkoper" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Gewenste producten" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Verlanglijst" @@ -1204,7 +1203,7 @@ msgstr "Verlanglijst" msgid "tagged products" msgstr "Getagde producten" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Product tags" @@ -1303,7 +1302,7 @@ msgstr "Ouderattribuutgroep" msgid "attribute group's name" msgstr "Naam attribuutgroep" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Attribuutgroep" @@ -1358,7 +1357,7 @@ msgstr "Productlabel" msgid "category tag" msgstr "categorie tag" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "categorie tags" @@ -1398,448 +1397,444 @@ msgstr "Voeg een gedetailleerde beschrijving toe voor deze categorie" msgid "category description" msgstr "Categorie beschrijving" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "tags die deze categorie helpen beschrijven of groeperen" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Prioriteit" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Naam van dit merk" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Merknaam" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Upload een logo dat dit merk vertegenwoordigt" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Klein merkimago" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Upload een groot logo dat dit merk vertegenwoordigt" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Groot merkimago" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Een gedetailleerde beschrijving van het merk toevoegen" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Merknaam" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Optionele categorieën waarmee dit merk wordt geassocieerd" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Categorieën" -#: core/models.py:306 -msgid "brand slug" -msgstr "Brand's slak" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Categorie waartoe dit product behoort" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Dit product optioneel koppelen aan een merk" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Tags die dit product helpen beschrijven of groeperen" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Geeft aan of dit product digitaal wordt geleverd" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "Is product digitaal" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Zorg voor een duidelijke identificerende naam voor het product" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Naam product" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Voeg een gedetailleerde beschrijving van het product toe" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Productbeschrijving" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Onderdeelnummer voor dit product" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Onderdeelnummer" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Categorie van dit kenmerk" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Groep van dit kenmerk" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "String" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Integer" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Vlotter" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Booleaans" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Array" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Object" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Type waarde van het kenmerk" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Waardetype" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Naam van dit kenmerk" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Naam attribuut" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribuut" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Attribuut van deze waarde" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "Het specifieke product geassocieerd met de waarde van dit kenmerk" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Bijbehorend product" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "De specifieke waarde voor dit kenmerk" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "Geef alternatieve tekst voor de afbeelding voor toegankelijkheid" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "Alt-tekst afbeelding" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Upload het afbeeldingsbestand voor dit product" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Product afbeelding" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Bepaalt de volgorde waarin afbeeldingen worden weergegeven" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Prioriteit weergeven" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "Het product dat deze afbeelding vertegenwoordigt" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Product afbeeldingen" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Kortingspercentage voor de geselecteerde producten" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Kortingspercentage" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Geef deze promotie een unieke naam" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Naam promotie" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Promotie beschrijving" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Selecteer welke producten onder deze promotie vallen" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Meegeleverde producten" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Promotie" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "De verkoper die dit product levert" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Geassocieerde verkoper" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Eindprijs voor de klant na winstmarges" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Verkoopprijs" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "Het product dat bij deze voorraadvermelding hoort" -#: core/models.py:622 +#: core/models.py:624 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:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Aankoopprijs verkoper" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Beschikbare hoeveelheid van het product in voorraad" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Hoeveelheid op voorraad" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "Door de verkoper toegewezen SKU om het product te identificeren" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "Verkoper SKU" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "Digitaal bestand gekoppeld aan deze voorraad indien van toepassing" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "Digitaal bestand" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Voorraadboekingen" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Producten die de gebruiker als gewenst heeft gemarkeerd" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "Gebruiker die eigenaar is van deze verlanglijst" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Eigenaar verlanglijstje" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Verlanglijst" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} bestaat niet: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Documentaire" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Documentaires" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Onopgelost" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Adresregel voor de klant" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Adresregel" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Straat" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "District" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "Stad" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Regio" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Postcode" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "Land" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocatie Punt (lengtegraad, breedtegraad)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Volledig JSON-antwoord van geocoder voor dit adres" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Opgeslagen JSON-antwoord van de geocoderingsservice" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Adres" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Adressen" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Promo code identificatie" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "" "Vast kortingsbedrag dat wordt toegepast als percentage niet wordt gebruikt" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Vast kortingsbedrag" -#: core/models.py:806 +#: core/models.py:808 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:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Kortingspercentage" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Tijdstempel wanneer de promocode verloopt" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "Geldigheidsduur einde" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Tijdstempel vanaf wanneer deze promocode geldig is" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Begin geldigheidsduur" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Gebruik tijdstempel" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "Gebruiker toegewezen aan deze promocode indien van toepassing" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Toegewezen gebruiker" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Kortingscode" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Actiecodes" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1847,140 +1842,140 @@ msgstr "" "Er moet slechts één type korting worden gedefinieerd (bedrag of percentage)," " maar niet beide of geen van beide." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "Promocode is al gebruikt" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Ongeldig kortingstype voor promocode {self.uuid}" -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "Het factuuradres dat voor deze bestelling is gebruikt" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Optionele promotiecode toegepast op deze bestelling" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Kortingscode toegepast" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "Het verzendadres dat voor deze bestelling is gebruikt" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Verzendadres" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Huidige status van de order in zijn levenscyclus" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Bestelstatus" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "JSON-structuur van meldingen om weer te geven aan gebruikers, in admin UI " "wordt de tabelweergave gebruikt" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "JSON-weergave van bestelattributen voor deze bestelling" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "De gebruiker die de bestelling heeft geplaatst" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "Gebruiker" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "De tijdstempel waarop de bestelling is afgerond" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Tijd kopen" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "Een menselijk leesbare identificatiecode voor de bestelling" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "menselijk leesbare ID" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Bestel" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "Een gebruiker mag maar één lopende order tegelijk hebben!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "" "U kunt geen producten toevoegen aan een bestelling die niet in behandeling " "is." -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "U kunt geen inactieve producten toevoegen aan uw bestelling" -#: core/models.py:1037 +#: core/models.py:1039 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:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "" "U kunt geen producten verwijderen uit een bestelling die niet in behandeling" " is." -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} bestaat niet met query <{query}>" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Promocode bestaat niet" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "Je kunt alleen fysieke producten kopen met opgegeven verzendadres!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "Adres bestaat niet" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "U kunt op dit moment niet kopen. Probeer het over een paar minuten nog eens." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Ongeldige krachtwaarde" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "Je kunt geen lege bestelling kopen!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Onvoldoende fondsen om de bestelling te voltooien" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1988,7 +1983,7 @@ msgstr "" "u niet kunt kopen zonder registratie, geef dan de volgende informatie: " "klantnaam, e-mail klant, telefoonnummer klant" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -1996,114 +1991,114 @@ msgstr "" "Ongeldige betalingsmethode: {payment_method} van " "{available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Aankoopprijs bij bestelling" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "Interne opmerkingen voor beheerders over dit bestelde product" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Interne opmerkingen" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "Meldingen van gebruikers" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "JSON weergave van de attributen van dit item" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Geordende producteigenschappen" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Verwijzing naar de bovenliggende bestelling die dit product bevat" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Ouderlijk bevel" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "Het specifieke product dat bij deze bestelregel hoort" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Hoeveelheid van dit specifieke product in de bestelling" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Hoeveelheid product" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Huidige status van dit product in de bestelling" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Status productlijn" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "verkeerde actie opgegeven voor feedback: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "" "U kunt geen producten verwijderen uit een bestelling die niet in behandeling" " is." -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Downloaden" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Downloads" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "Opmerkingen van gebruikers over hun ervaring met het product" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Reacties" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "Verwijst naar het specifieke product in een bestelling waar deze feedback " "over gaat" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Gerelateerd product bestellen" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "Door de gebruiker toegekende waardering voor het product" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Productbeoordeling" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Feedback" diff --git a/core/locale/pl_PL/LC_MESSAGES/django.mo b/core/locale/pl_PL/LC_MESSAGES/django.mo index 0d1ca28383ff2055b3c03243a0939543f4cfae04..50475887e1064b737fa378e96286e966a8b86f65 100644 GIT binary patch delta 11300 zcmZwLcYKf6`^WK{Btj&yLLxyHiG(1w5G$w>qd{wyG=emUiW%dh_NuLDs7>t>ilV5} z)@W6=HA<^$mDX%)wDo)DxY?Vt5Tp;on#YeXE;}1fV~4II5%d zQ4i1rbzE0#Z&b$yqC3vPZ0_$YBvH>}YcT9s7j@(2SP;8nMNC1RI1_dJTw5=;E<@dL z6>5YwBM>NZ5;T_xV$1ufFH$)BTNGyvB ztUHkZIj8x@4-3>bBNK$JsB54nj>S?qxi;gkCtgN_F0>K#1Yh85cm~^IbREZOgd?#T z?#1HxAF_^|Vs*{pibr4SS5W(V;V8_+3V0VaMI~7PJ{VMw@h?ddMT1UggqrIlR7ZMa z5gdr6a4c%kEku7@XZL?%+rP5@gqnhTSOTA62o_=ZqOlq>>rOWp3G2z3Wp^Ax-S9SQ zsGcFOiQ`t^^gIH!zcQ+$4Nx~~YwIqkwULf`!ojHX$Du}gHEPN~L_MHuFG*pNBdDHz zZ4Y>gy0BXVb3NB*H=JVI7hnkWD%5q3AdA`MoFvhc zeuH|l^QbAgg}UH#)P;QF&5Z+5Z$VYmc{MS2B&=;w9qfgg^P#9I%SKJbW-N_|a%KK6 zkm$ybP*39C&|KIbD^mxf7Fi-{4UDk$Y-Bw-`;h5%9-%r?g_SBBqi&pJ>l9Q6hN3z! zO}a={lc)m+P;+$()scIsIdW@krosocXaZ0p(i-);bw*uy7V3tpP(z%98o~XjDL#(+ z0DX_z{}^4dB>9?{8`VH{ARgK0^g?xPCF+T`qdp)

bw0+kPK)LAR#nIB!(P%V88& zMBY><3D@Fu)bZ64n19W6y#(eF+o9giiKwBSj;urH2&$vcQF9*4N1!6s!%%z!)v<}F z8*M_po>x&L`3$ute4Cp^7>-(`&6>MRk9*S4hK9Fr7#_p{Si6Pk&>GZg--!Ir*~>qA zLgytj5?-hgDu$Ypa8w7opeK$;?Vpb7;8N6@I_n~-O5(IMb65>urfh~mI15=<&PLP? zZ=s&(A@Xr_3UF`?#$ydkM>kxK6>&9c4V*+>?}DxW!gACu_f}@;!%-LRjFFgbosSyg zeb!4DLj4@eVn}P|5gTGKW?%@;#!C1hy5oNw!aI&lu zP(wcx_4;L_I=Tb3>W^Xoo<}|D1KY0oEI{ptRWJyG!6x0)~LEZ2mR>otf4nIU)$E%%L)PbnQ*a5w{ztfMTFb+js z@NLvwy^mTI@+4}mucD6o2MeKR2XlNeREHx``)gx0Y=R*;81+`n zM}1%Rcd+mOpEPLodUoVDA0sguXQHNLH)>Iy#bS5~tKePKVk+0kariblolqBEf?CXH zP-`OaRnx&xREO)J?$^Xc5=N42oro2v*W3COYUu7^P4s%rbf^*P3AbkB%yc3#&aE!%v*0)h3kYl}!k<^8{n!f>KF^alB>bQ5Y zE*{3}_|(=h^iJ39V_l3Ix#L)0@Bb6KqgHn_WPPy-2W+$TeQZo!uZJ-U`K5OD+4>1; zWa3^oi#7u_qGM2tZ3S`(XFFUAB6$6X{#NhV<5WHZFKu`zXtH_U+@ zQFAyRBXApP6@QNmq4OLy0`*hO+8KnoQ-Wn_Ka85XpRf^nvchZOOX$*t$B>lAjo1Lc zMm?c-s`*g(qh7qBjszEUfo5^k#XuT*p+;g9>VUbZso9U3<6p3IK9USG5?uzF8%{-? ze*#1CI;ukj-!f~aG6qw(Kpocyc`IDb+a&rTEyg(9f_3mFYHmXYo1txh{?yG;7wUnU z+c7v7C!mJ7WTsgg!MK6CI(p-es42aLe3hNjLo@}SzbljWVz>j>bwj6}9MgqDFKdYEfTDU+(YxMN$ntvdk0J z#`V+On2w=3bQ<+mTtyA_6VwIsjW@>^N7YfN-itAK5;by9Q8#ubnlD`` z)FKQ;wa1{2OF%8YmoXGwU2MZBRL^E$X2gGBFVHfrd%poac)+kO=*Q2%M`plN1AVo)Pe z57m(twjPZ7V7ZVXc6OtN{uma(%czmLhA!RsF^QhYYr0w8aj2d*MeU!2A-D)z;~oq~ z_ZjB(ERR~G@u&-Dpx&bKwq9c0Y(0oI*?(pR^RF9u&Sdzp6&A*4sMYTIj`@ov2tBF0 zVKSy*Z#;_CF?yES-vcA4Q!x@}qDF2fHp2_3>juv@YpBL-#$WGkOBzD33u+Byp-x9`O1<~Wga_*URL^uRK6&6I^<8|ntA>rF=ubvA0TuEMIg8*AeY)B}}s%`-zBfv?a| z7uECW*Z_B+R_|R*Lf`qOW6AhB^%T?^xQ<#o53wQoEHG;#5i_YrpgMd9>)`{`NV_U8 zG#`Sx=tDzS)D8Qg4xECz@L|*wT*R7K_+9f`&={kr(@{ge(AN7=Z^3np#;`@kHrSkc z1oE1?oKHxK(QpLy+I@!w@d4^Bc!nBU|HY<*si^&#=!c`R1kS}GxE4#|E)2mFs0X`) zy53XN)RbDHkz)SKlJupaJJ!R`tp8zk>bmclp-RWn)Wgvq=b|reK;3W;7RRqpQ+NgS zK!vi+`4JdPT^;r9?~Q(X|HqRw!bPaX^8=Q`o2VN+#}M>gYF@jl*o3+rY7Xb3o@g2B z{57Z{-i77y8P>p%W#%pDh^f>|(51!moJ4c({l58hR>DHm)ljQ64mE^LQ5|ZJ8uFf~ zk;t^|Gf*9P&(@nzQ~NRM{FAo6fSSTP?=$`ZB!AMNA@p5tI#M3%P$!^nILbO5gQ=IG z=6Wwy#4j-jAD|cdt}r(!jk<9d>N?d>H*SPltSwi#%ndVW2&Z8dw!|G6hR?7JmRreR z##kRK;8N87Pf;Uu4K*Uaqu!EytIU7Q#$pfZk=PV}z^)j$+DzF{7fCr9Mx!p2jiI>O zdKA^u8@BdcWA<0GCZR@Z2$sjqs5S8o>PDBaJ=R@o{{Mk#*hcNB*Vt8Qo%!Rl7beg! z7uBKfur@xzc&xPE{6}dTs(quauh=^51M~lkc0ui5Vf_JfKU^EkZ$~nAWd9cAel92f zM)UW03seV|VgvjcTVvTxeD5(0yW=VBhS8hN7jv@poHcrjIc_wDaol;-TKNYnqW4y_ z7HZ)Lz5mTfeAsaSHP-pA;HUfax&6-9NRIlAFWEP!iK$8E+)+=05@1@ywd zF%a{AXs%xtOL2cEhD1Z$4C8P-@-WT;9E@*nH;d{LHlp^~VLrKSuoCrftbnUA8o$K4 z_y}uZOpe)~f@+_JQTQpkbmAQn4Sn&QW)5FPbz~V9!tmC-rwE$8h(pavC?kS({8AaOhOIqPAr8# zVqtuUjqy2Zh#T)Qf8%wtPQ~i9??N4S6ZHU5dl`SteT}_lj+&t6ED?)h8kWT@R7V$M z3tW$y(?9Sne1i2b{bTbQuEjRg$5H16>@yD-iM6Q{ury}5NOZsg)P+}LGyDx(W7Ykp z9%Vg*8Uc?3W-en;=k>wYa0@Qg{!jSNbXPYk;xT zX{ag4#$Y^w>hW#V9D5u#U(8qxqV9zGP@5hge{RNN#%DIqL)Tes3RiBgpK|7Sd-l6H zgq=%p9#Pz$b;BxtC0eoX39*mJ+a8dYwMAj_zBa#Y{gk$%#95*eq3@5gAU9zh;8lCz zzu29+vfZcVp*H`KTyw6E(o00%c8|oLI7|d`tS3Ih4TRpZarh965r@ck5x;PM=TDNl zI2X$k*NE?^YvM#g+YoCF@&h)XpS#EW(*u?fUD+3ax^6S_?e^F{)VzI8HR>M3U~+A) zWd321I{j&!gL{ef#P8IjiPy=s{X!l`nc2-#Ztcmyo@dYt5 z_jtzXS9_vf2W=H?%@3C|i(DU$tG4ZtRbR{JL_s2(m_fMM_YdwNUL${x_?bK$`y-!! z=L~rl{2H|d=%hVFH;OFOSM7DwE0woxCFxEKqy2LtZ~MUJeK4IUM+_qF6KNcDifCyM z9%p@mH;EXI(WZ5h`=4GTmAtUMNB)hiH*s)1@@hm&dtzDZZhOoL>_pp_#0(;o(0AgI z-TxnTs?BeaPdB+M_b*uwiZ^LIXAhW0u5G5(ROa6@w5=u`{KCHFU#>h{B^Bu=%b2TQ}LG&cX*hcNpubVdgIQhQNzQX2fa`&2FPo=@O z4#mqH^RBJ)cubpqsM^@`)y_|_%V}gA4&rheBXE-TvLz8s?fy6L&D>U=8avo_HBBe? zCN`0e!o7CiVth_S5+UsSk{CgLfiN5M|CFpR4Q_;f@k(Mp?Zt;gYvKnYjd+=8Lj0%w zb}K~v7x_ILj3SfW1hMLy<#HjRnI1RClP+S*d*;7;sD93@{u ztR;VkcySA)*h#b|cC)V^F^2qOd>h*kpA&ag6Q2=v32hle=S8(KcGHD{6xG;T@)`9vk7g}h=sK8z~R^nE8sfZsQLed$WNrx z;E8Tn5Rc&+ypFG6-WE;1)z%+b-?zTZK~>0G;X3>tSK1Rl#Yp0etz+5m8bR?d$to<3 zC5Xc0?!?!`b?TRhY~ouYZ~KE}GO?dnPx~?=i3lP-qwOEOiv#f;>_`kFHdDW_G5&00 ziLY`q^G`b{N%(Q_Ol*%;iC4+TVsYXl@-C|gjVaY>MdxvBWO-V`3%W(Uj$W0&U_!>gK52cOX7l$q4$avgQ^GyxY;3O-vf2Sr_$>}txxSMzD+|CRgoUAjqPK(W1lo{ud xb8W;0ubh(;=H@HVEGsQFC2fB9N!@Zjn{>`6XZ`%;?m3BzvkT??zOr%f{{T=R-lPBk delta 11271 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 diff --git a/core/locale/pl_PL/LC_MESSAGES/django.po b/core/locale/pl_PL/LC_MESSAGES/django.po index e7349c0d..98d57a93 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -23,11 +23,11 @@ msgstr "" "Unikalny identyfikator służy do jednoznacznej identyfikacji dowolnego " "obiektu bazy danych" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Jest aktywny" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -35,111 +35,101 @@ msgstr "" "Jeśli ustawione na false, obiekt ten nie może być widoczny dla użytkowników " "bez wymaganych uprawnień." -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Utworzony" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "Kiedy obiekt po raz pierwszy pojawił się w bazie danych" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Zmodyfikowany" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "Kiedy obiekt był ostatnio edytowany" -#: core/admin.py:41 -msgid "general" -msgstr "Ogólne" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internacjonalizacja" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Metadane" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Znaczniki czasu" - -#: core/admin.py:45 -msgid "relations" -msgstr "Relacje" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Tłumaczenia" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "Ogólne" + +#: core/admin.py:60 +msgid "relations" +msgstr "Relacje" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Metadane" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Znaczniki czasu" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Aktywuj wybrane %(verbose_name_plural)s" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s aktywowany pomyślnie!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Dezaktywacja wybranych %(verbose_name_plural)s" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "Funkcja %(verbose_name_plural)s została pomyślnie dezaktywowana." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Wartość atrybutu" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Wartości atrybutów" -#: core/admin.py:235 -msgid "name" -msgstr "Nazwa" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Obraz" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Obrazy" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Stan magazynowy" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Akcje" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Cena" - -#: core/admin.py:314 -msgid "rating" -msgstr "Ocena" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Zamów produkt" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Zamawianie produktów" -#: core/admin.py:419 -msgid "is business" -msgstr "Czy biznes" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Dzieci" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Konfiguracja" #: core/apps.py:8 @@ -828,7 +818,8 @@ msgstr "Atrybuty" msgid "Quantity" msgstr "Ilość" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Ślimak" @@ -1008,7 +999,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - działa jak urok" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Atrybuty" @@ -1021,11 +1012,11 @@ msgid "groups of attributes" msgstr "Grupy atrybutów" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Kategorie" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Marki" @@ -1082,7 +1073,7 @@ msgid "represents feedback from a user." msgstr "Reprezentuje informacje zwrotne od użytkownika." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Powiadomienia" @@ -1094,7 +1085,7 @@ msgstr "Adres URL pobierania dla tego produktu zamówienia, jeśli dotyczy" msgid "a list of order products in this order" msgstr "Lista zamówionych produktów w tym zamówieniu" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Adres rozliczeniowy" @@ -1118,7 +1109,7 @@ msgstr "Całkowita ilość produktów w zamówieniu" msgid "are all products in the order digital" msgstr "Czy wszystkie produkty w zamówieniu są cyfrowe?" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Zamówienia" @@ -1130,15 +1121,15 @@ msgstr "Adres URL obrazu" msgid "product's images" msgstr "Zdjęcia produktu" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Kategoria" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Informacje zwrotne" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Marka" @@ -1146,6 +1137,14 @@ msgstr "Marka" msgid "attribute groups" msgstr "Grupy atrybutów" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Cena" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1158,7 +1157,7 @@ msgstr "Ilość" msgid "number of feedbacks" msgstr "Liczba informacji zwrotnych" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Produkty" @@ -1170,7 +1169,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Produkty w sprzedaży" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Promocje" @@ -1178,7 +1177,7 @@ msgstr "Promocje" msgid "vendor" msgstr "Sprzedawca" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1186,11 +1185,11 @@ msgstr "Sprzedawca" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Produkty z listy życzeń" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Listy życzeń" @@ -1198,7 +1197,7 @@ msgstr "Listy życzeń" msgid "tagged products" msgstr "Produkty Tagged" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Tagi produktu" @@ -1295,7 +1294,7 @@ msgstr "Grupa atrybutów nadrzędnych" msgid "attribute group's name" msgstr "Nazwa grupy atrybutów" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Grupa atrybutów" @@ -1349,7 +1348,7 @@ msgstr "Etykieta produktu" msgid "category tag" msgstr "tag kategorii" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "tagi kategorii" @@ -1389,446 +1388,442 @@ msgstr "Dodaj szczegółowy opis dla tej kategorii" msgid "category description" msgstr "Opis kategorii" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "tagi, które pomagają opisać lub pogrupować tę kategorię" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Priorytet" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Nazwa tej marki" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Nazwa marki" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Prześlij logo reprezentujące tę markę" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Mały wizerunek marki" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Prześlij duże logo reprezentujące tę markę" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Duży wizerunek marki" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Dodaj szczegółowy opis marki" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Opis marki" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Opcjonalne kategorie, z którymi powiązana jest ta marka" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Kategorie" -#: core/models.py:306 -msgid "brand slug" -msgstr "Brand's slug" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Kategoria, do której należy ten produkt" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Opcjonalnie można powiązać ten produkt z marką" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Tagi, które pomagają opisać lub pogrupować ten produkt" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Wskazuje, czy produkt jest dostarczany cyfrowo." -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "Czy produkt jest cyfrowy?" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Wyraźna nazwa identyfikująca produkt" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Nazwa produktu" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Dodaj szczegółowy opis produktu" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Opis produktu" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Numer części dla tego produktu" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Numer części" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Kategoria tego atrybutu" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Grupa tego atrybutu" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "String" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Integer" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Pływak" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Wartość logiczna" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Tablica" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Obiekt" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Typ wartości atrybutu" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Typ wartości" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Nazwa tego atrybutu" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Nazwa atrybutu" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Atrybut" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Atrybut tej wartości" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "Konkretny produkt powiązany z wartością tego atrybutu" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Produkt powiązany" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "Konkretna wartość dla tego atrybutu" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "" "Zapewnienie alternatywnego tekstu dla obrazu w celu ułatwienia dostępu" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "Tekst alternatywny obrazu" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Prześlij plik obrazu dla tego produktu" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Obraz produktu" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Określa kolejność wyświetlania obrazów" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Priorytet wyświetlania" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "Produkt, który przedstawia ten obraz" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Zdjęcia produktów" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Rabat procentowy na wybrane produkty" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Procent rabatu" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Podaj unikalną nazwę tej promocji" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Nazwa promocji" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Opis promocji" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Wybierz produkty objęte promocją" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Dołączone produkty" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Promocja" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "Sprzedawca dostarczający ten produkt" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Powiązany sprzedawca" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Ostateczna cena dla klienta po uwzględnieniu marży" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Cena sprzedaży" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "Produkt powiązany z tym wpisem magazynowym" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "Cena zapłacona sprzedawcy za ten produkt" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Cena zakupu przez sprzedawcę" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Dostępna ilość produktu w magazynie" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Ilość w magazynie" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "Jednostki SKU przypisane przez dostawcę w celu identyfikacji produktu" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "SKU sprzedawcy" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "Plik cyfrowy powiązany z tymi zapasami, jeśli dotyczy" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "Plik cyfrowy" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Zapisy magazynowe" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Produkty, które użytkownik oznaczył jako poszukiwane" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "Użytkownik posiadający tę listę życzeń" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Właściciel listy życzeń" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Lista życzeń" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} nie istnieje: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Film dokumentalny" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Filmy dokumentalne" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Nierozwiązany" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Linia adresu dla klienta" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Linia adresowa" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "ul." -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "Okręg" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "Miasto" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Region" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Kod pocztowy" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "Kraj" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Longitude, Latitude)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Pełna odpowiedź JSON z geokodera dla tego adresu" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Przechowywana odpowiedź JSON z usługi geokodowania" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Adres" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Adresy" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Identyfikator kodu promocyjnego" -#: core/models.py:799 +#: core/models.py:801 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:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Stała kwota rabatu" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "Rabat procentowy stosowany w przypadku niewykorzystania stałej kwoty" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Rabat procentowy" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Znacznik czasu wygaśnięcia kodu promocyjnego" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "Końcowy czas ważności" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Znacznik czasu, od którego ten kod promocyjny jest ważny" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Czas rozpoczęcia ważności" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Znacznik czasu użycia" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "Użytkownik przypisany do tego kodu promocyjnego, jeśli dotyczy" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Przypisany użytkownik" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Kod promocyjny" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Kody promocyjne" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1836,141 +1831,141 @@ msgstr "" "Należy zdefiniować tylko jeden rodzaj rabatu (kwotowy lub procentowy), ale " "nie oba lub żaden z nich." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "Kod promocyjny został już wykorzystany" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Nieprawidłowy typ rabatu dla kodu promocyjnego {self.uuid}." -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "Adres rozliczeniowy użyty dla tego zamówienia" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Opcjonalny kod promocyjny zastosowany do tego zamówienia" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Zastosowany kod promocyjny" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "Adres wysyłki użyty dla tego zamówienia" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Adres wysyłki" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Aktualny status zamówienia w jego cyklu życia" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Status zamówienia" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "Struktura JSON powiadomień do wyświetlenia użytkownikom, w interfejsie " "administratora używany jest widok tabeli" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "Reprezentacja JSON atrybutów zamówienia dla tego zamówienia" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "Użytkownik, który złożył zamówienie" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "Użytkownik" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "Znacznik czasu, kiedy zamówienie zostało sfinalizowane" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Kup czas" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "Czytelny dla człowieka identyfikator zamówienia" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "Identyfikator czytelny dla człowieka" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Zamówienie" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "" "Użytkownik może mieć tylko jedno oczekujące zlecenie w danym momencie!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "" "Nie można dodać produktów do zamówienia, które nie jest zamówieniem " "oczekującym." -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "Nie można dodać nieaktywnych produktów do zamówienia" -#: core/models.py:1037 +#: core/models.py:1039 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:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "" "Nie można usunąć produktów z zamówienia, które nie jest zamówieniem " "oczekującym." -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} nie istnieje z zapytaniem <{query}>." -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Kod promocyjny nie istnieje" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "Możesz kupować tylko produkty fizyczne z podanym adresem wysyłki!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "Adres nie istnieje" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "W tej chwili nie możesz dokonać zakupu, spróbuj ponownie za kilka minut." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Nieprawidłowa wartość siły" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "Nie można kupić pustego zamówienia!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Niewystarczające środki do zrealizowania zamówienia" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1979,7 +1974,7 @@ msgstr "" "informacje: imię i nazwisko klienta, adres e-mail klienta, numer telefonu " "klienta." -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -1987,115 +1982,115 @@ msgstr "" "Nieprawidłowa metoda płatności: {payment_method} z " "{available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Cena zakupu w momencie zamówienia" -#: core/models.py:1330 +#: core/models.py:1332 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:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Uwagi wewnętrzne" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "Powiadomienia użytkownika" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "Reprezentacja JSON atrybutów tego elementu" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Zamówione atrybuty produktu" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Odniesienie do zamówienia nadrzędnego zawierającego ten produkt" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Zamówienie nadrzędne" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "Konkretny produkt powiązany z tą linią zamówienia" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Ilość tego konkretnego produktu w zamówieniu" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Ilość produktu" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Aktualny status tego produktu w zamówieniu" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Status linii produktów" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "nieprawidłowe działanie określone dla informacji zwrotnej: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "" "Nie można usunąć produktów z zamówienia, które nie jest zamówieniem " "oczekującym." -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Pobierz" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Pliki do pobrania" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "Komentarze użytkowników na temat ich doświadczeń z produktem" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Komentarze zwrotne" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "Odnosi się do konkretnego produktu w zamówieniu, którego dotyczy ta " "informacja zwrotna." -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Powiązany produkt zamówienia" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "Ocena produktu przypisana przez użytkownika" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Ocena produktu" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Informacje zwrotne" diff --git a/core/locale/pt_BR/LC_MESSAGES/django.mo b/core/locale/pt_BR/LC_MESSAGES/django.mo index 5cd541aeef0aa1b6b7696de140ad5904302b472a..a97749b10a31f96ff55b0b1885c1cda356ff46e2 100644 GIT binary patch delta 11279 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 W`D83jd*hz5V(GcO8PnE23;rK(0+x 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -23,11 +23,11 @@ msgstr "" "O ID exclusivo é usado para identificar com segurança qualquer objeto do " "banco de dados" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Está ativo" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -35,111 +35,101 @@ msgstr "" "Se definido como false, esse objeto não poderá ser visto por usuários sem a " "permissão necessária" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Criado" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "Quando o objeto apareceu pela primeira vez no banco de dados" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Modificado" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "Quando o objeto foi editado pela última vez" -#: core/admin.py:41 -msgid "general" -msgstr "Geral" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internacionalização" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Metadados" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Carimbos de data/hora" - -#: core/admin.py:45 -msgid "relations" -msgstr "Relações" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Traduções" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "Geral" + +#: core/admin.py:60 +msgid "relations" +msgstr "Relações" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Metadados" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Carimbos de data/hora" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Ativar %(verbose_name_plural)s selecionados" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s ativado com sucesso!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Desativar %(verbose_name_plural)s selecionados" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s desativado com sucesso." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Valor do atributo" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Valores de atributos" -#: core/admin.py:235 -msgid "name" -msgstr "Nome" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Imagem" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Imagens" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Estoque" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Ações" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Preço" - -#: core/admin.py:314 -msgid "rating" -msgstr "Avaliação do produto" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Pedido de produto" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Solicitar produtos" -#: core/admin.py:419 -msgid "is business" -msgstr "É um negócio" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Crianças" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Configuração" #: core/apps.py:8 @@ -819,7 +809,8 @@ msgstr "Atributos" msgid "Quantity" msgstr "Quantidade" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Lesma" @@ -999,7 +990,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funciona muito bem" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Atributos" @@ -1012,11 +1003,11 @@ msgid "groups of attributes" msgstr "Grupos de atributos" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Categorias" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Marcas" @@ -1073,7 +1064,7 @@ msgid "represents feedback from a user." msgstr "Representa o feedback de um usuário." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Notificações" @@ -1085,7 +1076,7 @@ msgstr "URL de download para este produto do pedido, se aplicável" msgid "a list of order products in this order" msgstr "Uma lista dos produtos solicitados nesse pedido" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Endereço de cobrança" @@ -1109,7 +1100,7 @@ msgstr "Quantidade total de produtos no pedido" msgid "are all products in the order digital" msgstr "Todos os produtos estão no pedido digital?" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Pedidos" @@ -1121,15 +1112,15 @@ msgstr "URL da imagem" msgid "product's images" msgstr "Imagens do produto" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Categoria" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Feedbacks" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Brand" @@ -1137,6 +1128,14 @@ msgstr "Brand" msgid "attribute groups" msgstr "Grupos de atributos" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Preço" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1149,7 +1148,7 @@ msgstr "Quantidade" msgid "number of feedbacks" msgstr "Número de feedbacks" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Produtos" @@ -1161,7 +1160,7 @@ msgstr "Códigos promocionais" msgid "products on sale" msgstr "Produtos à venda" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Promoções" @@ -1169,7 +1168,7 @@ msgstr "Promoções" msgid "vendor" msgstr "Vendor" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1177,11 +1176,11 @@ msgstr "Vendor" msgid "product" msgstr "Produto" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Produtos da lista de desejos" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Listas de desejos" @@ -1189,7 +1188,7 @@ msgstr "Listas de desejos" msgid "tagged products" msgstr "Produtos marcados" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Etiquetas do produto" @@ -1287,7 +1286,7 @@ msgstr "Grupo de atributos pai" msgid "attribute group's name" msgstr "Nome do grupo de atributos" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Grupo de atributos" @@ -1341,7 +1340,7 @@ msgstr "Etiqueta do produto" msgid "category tag" msgstr "tag de categoria" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "tags de categoria" @@ -1381,447 +1380,443 @@ msgstr "Adicione uma descrição detalhada para essa categoria" msgid "category description" msgstr "Descrição da categoria" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "tags que ajudam a descrever ou agrupar essa categoria" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Prioridade" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Nome da marca" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Nome da marca" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Faça upload de um logotipo que represente essa marca" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Imagem pequena da marca" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Faça upload de um logotipo grande que represente essa marca" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Imagem de marca grande" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Adicione uma descrição detalhada da marca" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Descrição da marca" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Categorias opcionais às quais essa marca está associada" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Categorias" -#: core/models.py:306 -msgid "brand slug" -msgstr "Lesma da marca" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Categoria à qual este produto pertence" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Opcionalmente, associe esse produto a uma marca" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Tags que ajudam a descrever ou agrupar este produto" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Indica se esse produto é entregue digitalmente" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "O produto é digital" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Fornecer um nome de identificação claro para o produto" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Nome do produto" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Adicione uma descrição detalhada do produto" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Descrição do produto" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Número de peça para este produto" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Número da peça" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Categoria desse atributo" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Grupo desse atributo" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "Cordas" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Inteiro" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Flutuação" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Booleano" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Matriz" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Objeto" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Tipo do valor do atributo" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Tipo de valor" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Nome desse atributo" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Nome do atributo" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Atributo" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Atributo desse valor" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "O produto específico associado ao valor desse atributo" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Produto associado" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "O valor específico para esse atributo" -#: core/models.py:526 +#: core/models.py:528 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:527 +#: core/models.py:529 msgid "image alt text" msgstr "Texto alternativo da imagem" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Faça o upload do arquivo de imagem para este produto" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Imagem do produto" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Determina a ordem em que as imagens são exibidas" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Prioridade de exibição" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "O produto que esta imagem representa" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Imagens do produto" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Desconto percentual para os produtos selecionados" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Porcentagem de desconto" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Forneça um nome exclusivo para essa promoção" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Nome da promoção" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Descrição da promoção" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Selecione quais produtos estão incluídos nessa promoção" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Produtos incluídos" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Promoção" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "O fornecedor que fornece esse estoque de produtos" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Fornecedor associado" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Preço final para o cliente após as marcações" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Preço de venda" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "O produto associado a essa entrada em estoque" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "O preço pago ao fornecedor por esse produto" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Preço de compra do fornecedor" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Quantidade disponível do produto em estoque" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Quantidade em estoque" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU atribuído pelo fornecedor para identificar o produto" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "SKU do fornecedor" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "Arquivo digital associado a esse estoque, se aplicável" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "Arquivo digital" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Entradas de estoque" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Produtos que o usuário marcou como desejados" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "Usuário que possui esta lista de desejos" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Proprietário da lista de desejos" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Lista de desejos" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} não existe: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Documentário" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Documentários" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Não resolvido" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Linha de endereço do cliente" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Linha de endereço" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Rua" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "Distrito" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "Cidade" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Região" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Código postal" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "País" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Ponto de geolocalização (Longitude, Latitude)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Resposta JSON completa do geocodificador para este endereço" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Resposta JSON armazenada do serviço de geocodificação" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Endereço" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Endereços" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Identificador de código promocional" -#: core/models.py:799 +#: core/models.py:801 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:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Valor do desconto fixo" -#: core/models.py:806 +#: core/models.py:808 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:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Desconto percentual" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Registro de data e hora em que o código promocional expira" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "Tempo de validade final" -#: core/models.py:818 +#: core/models.py:820 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:819 +#: core/models.py:821 msgid "start validity time" msgstr "Hora de início da validade" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Registro de data e hora de uso" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "Usuário atribuído a esse código promocional, se aplicável" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Usuário atribuído" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Código promocional" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Códigos promocionais" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1829,139 +1824,139 @@ msgstr "" "Apenas um tipo de desconto deve ser definido (valor ou porcentagem), mas não" " ambos ou nenhum." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "O código promocional já foi usado" -#: core/models.py:880 +#: core/models.py:882 #, 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:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "O endereço de cobrança usado para esse pedido" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Código promocional opcional aplicado a este pedido" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Código promocional aplicado" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "O endereço de entrega usado para esse pedido" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Endereço de entrega" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Status atual do pedido em seu ciclo de vida" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Status do pedido" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "Estrutura JSON de notificações a serem exibidas aos usuários; na interface " "do usuário do administrador, é usada a visualização de tabela" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "Representação JSON dos atributos do pedido para esse pedido" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "O usuário que fez o pedido" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "Usuário" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "O registro de data e hora em que o pedido foi finalizado" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Tempo de compra" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "Um identificador legível por humanos para o pedido" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "ID legível por humanos" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Pedido" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "Um usuário deve ter apenas uma ordem pendente por vez!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "Não é possível adicionar produtos a um pedido que não esteja pendente" -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "Não é possível adicionar produtos inativos ao pedido" -#: core/models.py:1037 +#: core/models.py:1039 msgid "you cannot add more products than available in stock" msgstr "" "Não é possível adicionar mais produtos do que os disponíveis em estoque" -#: core/models.py:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "Não é possível remover produtos de um pedido que não esteja pendente" -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} não existe com a consulta <{query}>" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "O código promocional não existe" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "" "Você só pode comprar produtos físicos com o endereço de entrega " "especificado!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "O endereço não existe" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "Não é possível comprar neste momento, tente novamente em alguns minutos." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Valor de força inválido" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "Você não pode comprar um pedido vazio!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Fundos insuficientes para concluir o pedido" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1969,7 +1964,7 @@ msgstr "" "Não é possível comprar sem registro, forneça as seguintes informações: nome " "do cliente, e-mail do cliente, número de telefone do cliente" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -1977,115 +1972,115 @@ msgstr "" "Método de pagamento inválido: {payment_method} de " "{available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Preço de compra no momento do pedido" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "" "Comentários internos para administradores sobre este produto encomendado" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Comentários internos" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "Notificações do usuário" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "Representação JSON dos atributos desse item" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Atributos ordenados do produto" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Referência ao pedido pai que contém esse produto" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Ordem dos pais" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "O produto específico associado a essa linha de pedido" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Quantidade desse produto específico no pedido" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Quantidade do produto" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Status atual desse produto no pedido" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Status da linha de produtos" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "ação incorreta especificada para feedback: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "você não pode dar feedback a um pedido que não foi recebido" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Baixar" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Downloads" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "" "Comentários fornecidos pelo usuário sobre sua experiência com o produto" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Comentários de feedback" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "Faz referência ao produto específico em um pedido sobre o qual se trata esse" " feedback" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Produto de pedido relacionado" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "Classificação atribuída pelo usuário ao produto" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Avaliação do produto" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Feedback" diff --git a/core/locale/ro_RO/LC_MESSAGES/django.mo b/core/locale/ro_RO/LC_MESSAGES/django.mo index 1f4c73aba627ad418bd5408b7e7aed308cf1ff3d..3c7a6afd16baf8102002fac1d03e0d13c91c7664 100644 GIT binary patch delta 11270 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 diff --git a/core/locale/ro_RO/LC_MESSAGES/django.po b/core/locale/ro_RO/LC_MESSAGES/django.po index 0ab00358..73985fcd 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -23,11 +23,11 @@ msgstr "" "ID-ul unic este utilizat pentru a identifica cu siguranță orice obiect din " "baza de date" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Este activ" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -35,111 +35,101 @@ msgstr "" "Dacă este setat la false, acest obiect nu poate fi văzut de utilizatori fără" " permisiunea necesară" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Creat" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "Când a apărut pentru prima dată obiectul în baza de date" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Modificat" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "Când a fost editat obiectul ultima dată" -#: core/admin.py:41 -msgid "general" -msgstr "Generalități" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Internaționalizare" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Metadate" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Timestamps" - -#: core/admin.py:45 -msgid "relations" -msgstr "Relații" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Traduceri" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "Generalități" + +#: core/admin.py:60 +msgid "relations" +msgstr "Relații" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Metadate" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Timestamps" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Activați %(verbose_name_plural)s selectate" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s activat cu succes!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Dezactivați %(verbose_name_plural)s selectate" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s dezactivat cu succes." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Atribut Valoare" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Valori ale atributului" -#: core/admin.py:235 -msgid "name" -msgstr "Nume și prenume" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Imagine" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Imagini" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Stoc" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Stocuri" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Preț" - -#: core/admin.py:314 -msgid "rating" -msgstr "Evaluarea produsului" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Comanda Produs" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Comandați produse" -#: core/admin.py:419 -msgid "is business" -msgstr "Este o afacere" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Copii" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Configurare" #: core/apps.py:8 @@ -829,7 +819,8 @@ msgstr "Atribute" msgid "Quantity" msgstr "Cantitate" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Melc" @@ -1012,7 +1003,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funcționează ca un farmec" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Atribute" @@ -1025,11 +1016,11 @@ msgid "groups of attributes" msgstr "Grupuri de atribute" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Categorii" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Mărci" @@ -1088,7 +1079,7 @@ msgid "represents feedback from a user." msgstr "Reprezintă feedback de la un utilizator." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Notificări" @@ -1100,7 +1091,7 @@ msgstr "URL de descărcare pentru acest produs de comandă, dacă este cazul" msgid "a list of order products in this order" msgstr "O listă a produselor comandate în această comandă" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Adresa de facturare" @@ -1124,7 +1115,7 @@ msgstr "Cantitatea totală de produse din comandă" msgid "are all products in the order digital" msgstr "Sunt toate produsele din comanda digitală" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Ordine" @@ -1136,15 +1127,15 @@ msgstr "URL imagine" msgid "product's images" msgstr "Imagini ale produsului" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Categorie" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Feedback-uri" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Marca" @@ -1152,6 +1143,14 @@ msgstr "Marca" msgid "attribute groups" msgstr "Grupuri de atribute" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Preț" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1164,7 +1163,7 @@ msgstr "Cantitate" msgid "number of feedbacks" msgstr "Numărul de reacții" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Produse" @@ -1176,7 +1175,7 @@ msgstr "Coduri promoționale" msgid "products on sale" msgstr "Produse scoase la vânzare" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Promoții" @@ -1184,7 +1183,7 @@ msgstr "Promoții" msgid "vendor" msgstr "Furnizor" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1192,11 +1191,11 @@ msgstr "Furnizor" msgid "product" msgstr "Produs" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Produse dorite" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Liste de dorințe" @@ -1204,7 +1203,7 @@ msgstr "Liste de dorințe" msgid "tagged products" msgstr "Produse etichetate" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Etichete de produs" @@ -1303,7 +1302,7 @@ msgstr "Grup de atribute părinte" msgid "attribute group's name" msgstr "Numele grupului de atribute" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Grup de atribute" @@ -1358,7 +1357,7 @@ msgstr "Etichetă produs" msgid "category tag" msgstr "etichetă de categorie" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "Etichete de categorie" @@ -1399,445 +1398,441 @@ msgstr "Adăugați o descriere detaliată pentru această categorie" msgid "category description" msgstr "Descriere categorie" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "etichete care ajută la descrierea sau gruparea acestei categorii" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Prioritate" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Denumirea acestui brand" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Nume de marcă" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Încărcați un logo care reprezintă acest brand" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Brand imagine mică" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Încărcați un logo mare care reprezintă acest brand" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Imagine de marcă mare" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Adăugați o descriere detaliată a mărcii" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Descrierea mărcii" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Categorii opționale cu care acest brand este asociat" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Categorii" -#: core/models.py:306 -msgid "brand slug" -msgstr "Melc de marcă" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Categoria din care face parte acest produs" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "Opțional, asociați acest produs cu un brand" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Etichete care ajută la descrierea sau gruparea acestui produs" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Indică dacă acest produs este livrat digital" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "Produsul este digital" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Furnizați o denumire clară de identificare a produsului" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Denumirea produsului" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Adăugați o descriere detaliată a produsului" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Descrierea produsului" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Numărul piesei pentru acest produs" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Numărul piesei" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Categoria acestui atribut" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Grupul acestui atribut" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "Șir de caractere" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Număr întreg" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Float" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Boolean" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Array" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Obiect" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Tipul valorii atributului" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Tipul de valoare" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Denumirea acestui atribut" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Numele atributului" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Atribut" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Atributul acestei valori" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "Produsul specific asociat cu valoarea acestui atribut" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Produs asociat" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "Valoarea specifică pentru acest atribut" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "Furnizați text alternativ pentru imagine pentru accesibilitate" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "Textul alt al imaginii" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Încărcați fișierul de imagine pentru acest produs" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Imaginea produsului" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Determină ordinea în care sunt afișate imaginile" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Prioritatea afișării" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "Produsul pe care îl reprezintă această imagine" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Imagini ale produsului" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Procentul de reducere pentru produsele selectate" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Procent de reducere" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Furnizați un nume unic pentru această promoție" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Numele promoției" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Descrierea promoției" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Selectați ce produse sunt incluse în această promoție" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Produse incluse" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Promovare" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "Furnizorul care furnizează acest stoc de produse" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Furnizor asociat" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Prețul final pentru client după majorări" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Prețul de vânzare" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "Produsul asociat cu această intrare în stoc" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "Prețul plătit vânzătorului pentru acest produs" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Prețul de achiziție al furnizorului" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Cantitatea disponibilă a produsului în stoc" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Cantitate în stoc" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU atribuit de furnizor pentru identificarea produsului" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "SKU al furnizorului" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "Fișier digital asociat cu acest stoc, dacă este cazul" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "Fișier digital" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Intrări pe stoc" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Produse pe care utilizatorul le-a marcat ca fiind dorite" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "Utilizatorul care deține această listă de dorințe" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Proprietarul listei de dorințe" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Lista dorințelor" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} nu există: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Documentar" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Documentare" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Nerezolvat" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Linia de adresă pentru client" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Linia de adresă" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Strada" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "Districtul" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "Oraș" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Regiunea" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Cod poștal" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "Țara" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Punct de geolocație (longitudine, latitudine)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Răspuns JSON complet de la geocoder pentru această adresă" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Răspuns JSON stocat de la serviciul de geocodare" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Adresă" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Adrese" -#: core/models.py:791 +#: core/models.py:793 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:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Cod promoțional de identificare" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "Valoarea fixă a reducerii aplicate dacă procentul nu este utilizat" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Valoarea fixă a reducerii" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "Procentul de reducere aplicat dacă suma fixă nu este utilizată" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Reducere procentuală" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Data la care expiră codul promoțional" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "Timpul final de valabilitate" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Timestamp de la care acest cod promoțional este valabil" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Ora de începere a valabilității" -#: core/models.py:824 +#: core/models.py:826 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:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Timestamp de utilizare" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "Utilizatorul atribuit acestui cod promoțional, dacă este cazul" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Utilizator atribuit" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Cod promoțional" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Coduri promoționale" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1845,140 +1840,140 @@ msgstr "" "Trebuie definit un singur tip de reducere (sumă sau procent), dar nu ambele " "sau niciuna." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "Codul promoțional a fost deja utilizat" -#: core/models.py:880 +#: core/models.py:882 #, 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:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "Adresa de facturare utilizată pentru această comandă" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Cod promoțional opțional aplicat la această comandă" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Cod promoțional aplicat" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "Adresa de expediere utilizată pentru această comandă" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Adresa de expediere" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Stadiul actual al comenzii în ciclul său de viață" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Stadiul comenzii" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "Structura JSON a notificărilor care urmează să fie afișate utilizatorilor, " "în interfața de administrare este utilizată vizualizarea tabelară" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "Reprezentarea JSON a atributelor comenzii pentru această comandă" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "Utilizatorul care a plasat comanda" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "Utilizator" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "Momentul în care comanda a fost finalizată" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Cumpărați timp" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "Un identificator ușor de citit pentru comandă" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "ID lizibil de către om" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Comandă" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "" "Un utilizator trebuie să aibă un singur ordin în așteptare la un moment dat!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "Nu puteți adăuga produse la o comandă care nu este în așteptare" -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "Nu puteți adăuga produse inactive la comandă" -#: core/models.py:1037 +#: core/models.py:1039 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:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "" "Nu puteți elimina produse dintr-o comandă care nu este o comandă în curs" -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} nu există cu interogarea <{query}>" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Codul promoțional nu există" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "" "Puteți cumpăra numai produse fizice cu adresa de expediere specificată!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "Adresa nu există" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "Nu puteți achiziționa în acest moment, vă rugăm să încercați din nou în " "câteva minute." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Valoare forță invalidă" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "Nu puteți achiziționa o comandă goală!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Insuficiența fondurilor pentru finalizarea comenzii" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1986,7 +1981,7 @@ msgstr "" "nu puteți cumpăra fără înregistrare, vă rugăm să furnizați următoarele " "informații: nume client, e-mail client, număr de telefon client" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -1994,114 +1989,114 @@ msgstr "" "Metodă de plată invalidă: {payment_method} de la " "{available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 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:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Prețul de achiziție la momentul comenzii" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "" "Comentarii interne pentru administratori cu privire la acest produs comandat" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Observații interne" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "Notificări pentru utilizatori" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "Reprezentarea JSON a atributelor acestui element" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Atribute de produs ordonate" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Trimitere la comanda mamă care conține acest produs" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Ordinul părinților" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "Produsul specific asociat cu această linie de comandă" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Cantitatea acestui produs specific din comandă" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Cantitatea produsului" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Starea actuală a acestui produs în comandă" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Starea liniei de produse" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "acțiune greșită specificată pentru feedback: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "" "Nu puteți elimina produse dintr-o comandă care nu este o comandă în curs" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Descărcare" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Descărcări" -#: core/models.py:1467 +#: core/models.py:1469 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:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "" "Comentarii furnizate de utilizatori cu privire la experiența lor cu produsul" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Comentarii de feedback" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "Face referire la produsul specific dintr-o comandă despre care este vorba în" " acest feedback" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Produs aferent comenzii" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "Rating atribuit de utilizator pentru produs" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Evaluarea produsului" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Feedback" diff --git a/core/locale/ru_RU/LC_MESSAGES/django.mo b/core/locale/ru_RU/LC_MESSAGES/django.mo index 85a2ec86e521b3cca5ebd08a49935499d0f107f0..2bc8cb1b1ae799bc9eebcb751341334fcffcdb92 100644 GIT binary patch delta 11404 zcmZ|U33yG{`p5AdQ;Z=*64H7efSm$mYLJpbo*Kljb&eb?S+@3q%jd!M6s&V$_RALMpjEuLqI z!}h|>ab7{MVve&hm*W%;P^;tY33HsPxECYwHkL%cO6K@TYdiF!JrVtI5|+Z1=!?6s z1fIrVyou!;$K@2NYz_>^g6wFC`aoyfo`iX+r{hGNi#o1Q7002kjyEpGV9bXHFc33Q z7rKR|u}HY%?BvEmunzUr2;GQ_i*Z{uX$ZH*THiz6Q5JgQE%e5xSO7h$nU46P4|Nc# zqxDcX&=_@G4{I!{V?!|yF2EIB-&sPUo<~+^*f9!q;bxd0dte9-Kz(p7>iC7WUS?f| zy5Jhr2yH@c-r0?zcnd3H(HdqdYoSXQ7)TO?!%+t=K}Oj*gc`!Tw%veR<7FPrGpzes;AA@gV3Rb}Ts3|JR0w{uhbr}DWB%w6u1C3B~-3ir^ zSS*S|(HkeC7Tpr`!S#0kLEC=HdJQ!N53mIOg#lQU;S0kEWY(RYE)v$0GtcfgjJn_* z)KL9}JSI-=dZySI$9rfp?0?Jj#?Xus5=~i`urr+NUudr`Bu~oy7rP3BFRMc z?6f`LPt=KX*EbjRKz*T&CaI`KTz1=pa4I2|>D2T)V| z73u|a0k!`bx*|#38k-AMM|Ge9vd@V@b?igb9c@FsKr&H_>{r|V5Ou=bubSfuqdHy& zLooz-Qk_ot5za;(AJK&Q*Id_W!aQPo)blwNHMFylb?9WGI{E@N=aIYwLa+`7Vt-V} zrlKyi5%qZ9M2+NMs5Rly%q+qn)FN%#%w>AqmxkA97>=Xy5Dvjw%}s~ap;mhu@;_%U ze{_dV3o{Z0Q6uDunvx(?2fL#?PC@OTjq2b^)S5c)BB@H^v@~-VfvqT;q94vf)|Hcn zy5Mcp9X&!`j!r%fu7VA)IwoRn`~X96Eou#%K%MWBt^b2%s9kwlo1qUvowyqYW1=+` zHN^X^-(vvv3-rf;Hq0Y7#IiUH18_c8!mXGGub@WYI%?=2VSYXT9&Js74>A}|HDre~ z-ugCb=;xvyzZIyCZbz;9qv(qlQFr>gZP$F}qxQmZ^uzAh8Z~n3FqG>%m+b+0+nKqp zfx19l)ari?i(qf`z(g#J(_ z{rx|LL>Cy1I`Kr*9WO!;Ty5L8pzb^qi(!`Ce;sv!2X_D8c7K6RW-3dg-grT%&ow|j zp6xm@{*_4LY0!xmVL|)=^Or=c1-$H)>IyM^F47!|^_9F_r1+IJ}#juBa0) zM=j>Fs5Mdgb<@E>REKM$uGiQ_QjVmbbt+b%{@B(hQA76tYhb}QOotkw?ywj3#02CX zoJ`c*`*bt!kzT09xE=%W9D3nn)OlS6cqTLjK^Tect&>qBkZ!$-!PEtMnBRbr7)qUl zI&LXO;SsEcf7-eVz0-N)t;$q{6<LB#Ruz`%f?yLz7C9%CdFb;Jm$>@%&aRPpVn!}2N%(r4!Y)U-_^Wy>3B0GxZ@H}db zJjDW7Xt23~lBlU`;v&&%mksa;zKSnUQ}b$~dCZ2P=6E^kxKsEx7EUsc+XB>-WTHO* zvuzI>!tX@t-dGDaU}gLP!_ZY^s979QSek|y)JVLEI$$AcY7U_0_y%@!BN=9fxO=j> z;4;+EUq&siT*J*BMxmx=B&uV}F#@j`T~3h^=0XjTmz*;Qd3QL6u^RfNn8&LfY6SXP z7h^%{n@%RGiHP(wf1x(J_B@0-P^b%%Rqn+y2NF>_xYwV1kK1x&z5dO!Nj z816xh%yIO?E4F@yy3;}n%^X)n9oHSzo`m7J0QDVm2>HCrxk%E1h9{_1+Y_1oq_7`3Dk-FdHd*daj1GJCg4>}#^y^+M|Yz-auGE}k5qGg$CIV2 zhDxXtwX%-4?Hf^F%g1etIK0jk>@}9Dut}BUgI4nUY$lwGw0NM05qy zu!N)yW}xn{zwRLABZPnL54n_#mQTpVX%L(Ieym}{l!h&QSO5g3APQByMt zyW^CVjQ@C&D>PJhO!6$nio

W%o_(H*|ADQ2D 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 F{tqRbIhp_f diff --git a/core/locale/ru_RU/LC_MESSAGES/django.po b/core/locale/ru_RU/LC_MESSAGES/django.po index 5a06e51d..e496d6da 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -23,11 +23,11 @@ msgstr "" "Уникальный идентификатор используется для точной идентификации любого " "объекта базы данных" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "Активен" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" @@ -35,111 +35,101 @@ msgstr "" "Если установлено значение false, этот объект не может быть виден " "пользователям без необходимого разрешения" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "Создано" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "Когда объект впервые появился в базе данных" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "Модифицированный" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "Когда объект был отредактирован в последний раз" -#: core/admin.py:41 -msgid "general" -msgstr "Общие сведения" - -#: core/admin.py:42 -msgid "I18N" -msgstr "Интернационализация" - -#: core/admin.py:43 -msgid "metadata" -msgstr "Метаданные" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "Временные метки" - -#: core/admin.py:45 -msgid "relations" -msgstr "Отношения" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "Переводы" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "Общие сведения" + +#: core/admin.py:60 +msgid "relations" +msgstr "Отношения" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "Метаданные" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "Временные метки" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Активировать выбранные %(verbose_name_plural)s" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s успешно активирован!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Деактивировать выбранные %(verbose_name_plural)s" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "%(verbose_name_plural)s успешно деактивирован." + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "Значение атрибута" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "Значения атрибутов" -#: core/admin.py:235 -msgid "name" -msgstr "Имя" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "Изображение" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "Изображения" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "Наличие" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "Наличия" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "Цена" - -#: core/admin.py:314 -msgid "rating" -msgstr "Рейтинг продукции" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "Заказать товар" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "Заказать товары" -#: core/admin.py:419 -msgid "is business" -msgstr "Бизнес" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "Дети" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "Конфигурация" #: core/apps.py:8 @@ -828,7 +818,8 @@ msgstr "Атрибуты" msgid "Quantity" msgstr "Количество" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "Слаг" @@ -1012,7 +1003,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - работает как шарм" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "Атрибуты" @@ -1025,11 +1016,11 @@ msgid "groups of attributes" msgstr "Группы атрибутов" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "Категории" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "Бренды" @@ -1088,7 +1079,7 @@ msgid "represents feedback from a user." msgstr "Представляет собой отзыв пользователя." #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "Уведомления" @@ -1100,7 +1091,7 @@ msgstr "Если применимо, загрузите url для этого п msgid "a list of order products in this order" msgstr "Список товаров, заказанных в этом заказе" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "Адрес для выставления счетов" @@ -1124,7 +1115,7 @@ msgstr "Общее количество продуктов в заказе" msgid "are all products in the order digital" msgstr "Все ли товары в заказе представлены в цифровом виде" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "Заказы" @@ -1136,15 +1127,15 @@ msgstr "URL-адрес изображения" msgid "product's images" msgstr "Изображения продукта" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "Категория" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "Отзывы" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "Бренд" @@ -1152,6 +1143,14 @@ msgstr "Бренд" msgid "attribute groups" msgstr "Группы атрибутов" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "Цена" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1164,7 +1163,7 @@ msgstr "Количество" msgid "number of feedbacks" msgstr "Количество отзывов" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "Продукция" @@ -1176,7 +1175,7 @@ msgstr "Промокоды" msgid "products on sale" msgstr "Продукты в продаже" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "Акции" @@ -1184,7 +1183,7 @@ msgstr "Акции" msgid "vendor" msgstr "Поставщик" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1192,11 +1191,11 @@ msgstr "Поставщик" msgid "product" msgstr "Продукт" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "Продукты из списка желаний" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "Списки желаний" @@ -1204,7 +1203,7 @@ msgstr "Списки желаний" msgid "tagged products" msgstr "Tagged products" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "Теги товара" @@ -1303,7 +1302,7 @@ msgstr "Родительская группа атрибутов" msgid "attribute group's name" msgstr "Имя группы атрибутов" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "Группа атрибутов" @@ -1357,7 +1356,7 @@ msgstr "Метка продукта" msgid "category tag" msgstr "тег категории" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "теги категорий" @@ -1397,448 +1396,444 @@ msgstr "Добавьте подробное описание для этой к msgid "category description" msgstr "Описание категории" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "теги, которые помогают описать или сгруппировать эту категорию" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "Приоритет" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "Название этой марки" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "Название бренда" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "Загрузите логотип, представляющий этот бренд" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "Маленький образ бренда" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "Загрузите большой логотип, представляющий этот бренд" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "Большой имидж бренда" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "Добавьте подробное описание бренда" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "Описание бренда" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "Дополнительные категории, с которыми ассоциируется этот бренд" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "Категории" -#: core/models.py:306 -msgid "brand slug" -msgstr "Слаг бренда" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "Категория, к которой относится этот продукт" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "По желанию ассоциируйте этот продукт с брендом" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "Теги, которые помогают описать или сгруппировать этот продукт" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "Указывает, поставляется ли этот продукт в цифровом виде" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "Является ли продукт цифровым" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "Обеспечьте четкое идентификационное название продукта" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "Название продукта" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "Добавьте подробное описание продукта" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "Описание товара" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "Парт. номер для данного товара" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "Парт. номер" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "Категория этого атрибута" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "Группа этого атрибута" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "Строка" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "Целое число" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "Поплавок" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "Булево" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "Массив" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "Объект" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "Тип значения атрибута" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "Тип значения" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "Имя этого атрибута" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "Имя атрибута" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Атрибут" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "Атрибут этого значения" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "Конкретный продукт, связанный со значением этого атрибута" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "Сопутствующий товар" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "Конкретное значение для этого атрибута" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "" "Предоставьте альтернативный текст для изображения, чтобы обеспечить " "доступность" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "Альтовый текст изображения" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "Загрузите файл изображения для этого продукта" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "Изображение продукта" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "Определяет порядок отображения изображений" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "Приоритет отображения" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "Продукт, который представлен на этом изображении" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "Изображения продуктов" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "Процентная скидка на выбранные продукты" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "Процент скидки" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "Укажите уникальное имя для этой акции" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "Название акции" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "Описание акции" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "Выберите, какие продукты участвуют в этой акции" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "Включенные продукты" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "Продвижение" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "Поставщик, поставляющий данный товар на склад" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "Ассоциированный поставщик" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "Окончательная цена для покупателя после наценок" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "Цена продажи" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "Продукт, связанный с этой складской записью" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "Цена, уплаченная продавцу за этот продукт" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "Цена покупки у поставщика" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "Доступное количество продукта на складе" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "Количество на складе" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "Присвоенный поставщиком SKU для идентификации продукта" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "SKU поставщика" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "Цифровой файл, связанный с этой акцией, если применимо" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "Цифровой файл" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "Складские состояния" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "Продукты, которые пользователь отметил как желаемые" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "Пользователь, владеющий этим списком желаний" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "Владелец вишлиста" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "Список желаний" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} не существует: {product_uuid}" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "Документальный фильм" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "Документальные фильмы" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "Неразрешенные" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "Адресная строка для клиента" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "Адресная строка" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "Улица" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "Округ" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "Город" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "Регион" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "Почтовый индекс" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "Страна" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "Геолокационная точка(долгота, широта)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "Полный JSON-ответ от геокодера для этого адреса" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "Сохраненный JSON-ответ от сервиса геокодирования" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "Адрес" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "Адреса" -#: core/models.py:791 +#: core/models.py:793 msgid "unique code used by a user to redeem a discount" msgstr "Уникальный код, используемый пользователем для получения скидки" -#: core/models.py:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "Идентификатор промо-кода" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "Фиксированная сумма скидки, применяемая, если процент не используется" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "Фиксированная сумма скидки" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "" "Процентная скидка, применяемая, если фиксированная сумма не используется" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "Процентная скидка" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "Временная метка, когда истекает срок действия промокода" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "Время окончания срока действия" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "Время, с которого действует этот промокод" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "Время начала действия" -#: core/models.py:824 +#: core/models.py:826 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Временная метка, когда был использован промокод, пустая, если он еще не " "использовался" -#: core/models.py:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "Временная метка использования" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "Пользователь, назначенный на этот промокод, если применимо" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "Назначенный пользователь" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "Промокод" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "Промокоды" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1846,139 +1841,139 @@ msgstr "" "Следует определить только один тип скидки (сумма или процент), но не оба или" " ни один из них." -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "Промокоды" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Неверный тип скидки для промокода {self.uuid}" -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "Адрес для выставления счетов, используемый для данного заказа" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "Дополнительный промокод, применяемый к этому заказу" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "Примененный промокод" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "Адрес доставки, используемый для данного заказа" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "Адрес доставки" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "Текущий статус заказа в его жизненном цикле" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "Статус заказа" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "" "JSON-структура уведомлений для отображения пользователям, в административном" " интерфейсе используется табличный вид" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "JSON-представление атрибутов заказа для этого заказа" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "Пользователь, разместивший заказ" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "Пользователь" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "Временная метка, когда заказ был завершен" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "Время покупки" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "Человекочитаемый идентификатор для заказа" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "человекочитаемый идентификатор" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "Заказать" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "Пользователь может одновременно иметь только один отложенный ордер!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "Вы не можете добавить товары в заказ, который не является отложенным." -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "Вы не можете добавить неактивные товары в заказ" -#: core/models.py:1037 +#: core/models.py:1039 msgid "you cannot add more products than available in stock" msgstr "Вы не можете добавить больше товаров, чем есть на складе" -#: core/models.py:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "" "Вы не можете удалить товары из заказа, который не является отложенным." -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} не существует в запросе <{query}>." -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "Промокод не существует" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "" "Вы можете купить физические товары только с указанным адресом доставки!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "Адрес не существует" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "В данный момент вы не можете совершить покупку, пожалуйста, повторите " "попытку через несколько минут." -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "Недопустимое значение силы" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "Вы не можете приобрести пустой заказ!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "Недостаточно средств для выполнения заказа" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1986,118 +1981,118 @@ msgstr "" "Вы не можете купить без регистрации, пожалуйста, предоставьте следующую " "информацию: имя клиента, электронная почта клиента, номер телефона клиента" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Неверный способ оплаты: {payment_method} от {available_payment_methods}!" -#: core/models.py:1324 +#: core/models.py:1326 msgid "the price paid by the customer for this product at purchase time" msgstr "Цена, уплаченная клиентом за данный продукт на момент покупки" -#: core/models.py:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "Покупная цена на момент заказа" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "" "Внутренние комментарии для администраторов об этом заказанном продукте" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "Внутренние комментарии" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "Уведомления пользователей" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "JSON-представление атрибутов этого элемента" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "Атрибуты заказанного продукта" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "Ссылка на родительский заказ, содержащий данный продукт" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "Родительский приказ" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "Конкретный продукт, связанный с этой линией заказа" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "Количество данного товара в заказе" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "Количество продукта" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "Текущий статус этого продукта в заказе" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "Состояние продуктовой линейки" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "указано неверное действие для обратной связи: {action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "Вы не можете отозвать заказ, который не был получен" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "Скачать" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "Скачать" -#: core/models.py:1467 +#: core/models.py:1469 msgid "you can not download a digital asset for a non-finished order" msgstr "Вы не можете загрузить цифровой актив для незавершенного заказа" -#: core/models.py:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "Комментарии пользователей об их опыте использования продукта" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "Комментарии к отзывам" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "Ссылка на конкретный продукт в заказе, о котором идет речь в этом отзыве" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "Сопутствующий товар для заказа" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "Присвоенный пользователем рейтинг продукта" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "Рейтинг продукции" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "Обратная связь" diff --git a/core/locale/zh_Hans/LC_MESSAGES/django.mo b/core/locale/zh_Hans/LC_MESSAGES/django.mo index 2a52b83f08de375a80f977df8b15e9da4a562cdb..e15f5f93cb28f023b35fec817402a9e7a743a8eb 100644 GIT binary patch delta 11237 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 delta 11241 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 GT>l5N*RQ(( diff --git a/core/locale/zh_Hans/LC_MESSAGES/django.po b/core/locale/zh_Hans/LC_MESSAGES/django.po index f61ce1b9..f6ed35e3 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-06-22 13:52+0100\n" +"POT-Creation-Date: 2025-06-22 18:05+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -21,121 +21,111 @@ msgstr "唯一 ID" msgid "unique id is used to surely identify any database object" msgstr "唯一 ID 用于确定识别任何数据库对象" -#: core/abstract.py:21 +#: core/abstract.py:20 msgid "is active" msgstr "处于活动状态" -#: core/abstract.py:23 +#: core/abstract.py:22 msgid "" "if set to false, this object can't be seen by users without needed " "permission" msgstr "如果设置为 false,则没有必要权限的用户无法查看此对象" -#: core/abstract.py:28 core/choices.py:18 +#: core/abstract.py:26 core/choices.py:18 msgid "created" msgstr "创建" -#: core/abstract.py:28 +#: core/abstract.py:26 msgid "when the object first appeared on the database" msgstr "对象首次出现在数据库中的时间" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "modified" msgstr "改装" -#: core/abstract.py:32 +#: core/abstract.py:29 msgid "when the object was last modified" msgstr "对象最后一次编辑的时间" -#: core/admin.py:41 -msgid "general" -msgstr "一般情况" - -#: core/admin.py:42 -msgid "I18N" -msgstr "国际化" - -#: core/admin.py:43 -msgid "metadata" -msgstr "元数据" - -#: core/admin.py:44 -msgid "timestamps" -msgstr "时间戳" - -#: core/admin.py:45 -msgid "relations" -msgstr "关系" - -#: core/admin.py:69 core/admin.py:70 +#: core/admin.py:53 msgid "translations" msgstr "翻译" -#: core/admin.py:98 core/admin.py:113 +#: core/admin.py:58 +msgid "general" +msgstr "一般情况" + +#: core/admin.py:60 +msgid "relations" +msgstr "关系" + +#: core/admin.py:65 core/admin.py:67 +msgid "metadata" +msgstr "元数据" + +#: core/admin.py:74 +msgid "timestamps" +msgstr "时间戳" + +#: core/admin.py:80 core/admin.py:95 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "激活选定的 %(verbose_name_plural)s" -#: core/admin.py:103 core/admin.py:118 +#: core/admin.py:83 +#, python-format +msgid "%(verbose_name_plural)s activated successfully!" +msgstr "%(verbose_name_plural)s_激活成功!" + +#: core/admin.py:85 core/admin.py:100 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "停用选定的 %(verbose_name_plural)s" -#: core/admin.py:127 core/graphene/object_types.py:411 -#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 +#: core/admin.py:88 +#, python-format +msgid "%(verbose_name_plural)s deactivated successfully." +msgstr "成功停用%(verbose_name_plural)s_。" + +#: core/admin.py:110 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:511 core/models.py:519 msgid "attribute value" msgstr "属性值" -#: core/admin.py:128 core/graphene/object_types.py:48 core/models.py:518 +#: core/admin.py:111 core/graphene/object_types.py:48 core/models.py:520 msgid "attribute values" msgstr "属性值" -#: core/admin.py:235 -msgid "name" -msgstr "名称" - -#: core/admin.py:258 +#: core/admin.py:119 msgid "image" msgstr "图片" -#: core/admin.py:259 core/graphene/object_types.py:364 +#: core/admin.py:120 core/graphene/object_types.py:364 msgid "images" msgstr "图片" -#: core/admin.py:267 core/models.py:648 +#: core/admin.py:128 core/models.py:650 msgid "stock" msgstr "库存" -#: core/admin.py:268 core/graphene/object_types.py:465 +#: core/admin.py:129 core/graphene/object_types.py:465 msgid "stocks" msgstr "股票" -#: core/admin.py:309 core/graphene/object_types.py:368 -#: core/templates/digital_order_created_email.html:111 -#: core/templates/digital_order_delivered_email.html:110 -#: core/templates/shipped_order_created_email.html:109 -#: core/templates/shipped_order_delivered_email.html:109 -msgid "price" -msgstr "价格" - -#: core/admin.py:314 -msgid "rating" -msgstr "产品评级" - -#: core/admin.py:390 core/models.py:1382 +#: core/admin.py:139 core/models.py:1384 msgid "order product" msgstr "订购产品" -#: core/admin.py:391 core/graphene/object_types.py:290 core/models.py:1383 +#: core/admin.py:140 core/graphene/object_types.py:290 core/models.py:1385 msgid "order products" msgstr "订购产品" -#: core/admin.py:419 -msgid "is business" -msgstr "Is Business" +#: core/admin.py:158 core/admin.py:159 +msgid "children" +msgstr "儿童" -#: core/admin.py:552 -msgid "config" +#: core/admin.py:454 +msgid "Config" msgstr "配置" #: core/apps.py:8 @@ -769,7 +759,8 @@ msgstr "属性" msgid "Quantity" msgstr "数量" -#: core/filters.py:73 core/filters.py:355 +#: core/filters.py:73 core/filters.py:355 core/models.py:229 +#: core/models.py:307 core/models.py:388 msgid "Slug" msgstr "蛞蝓" @@ -947,7 +938,7 @@ msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - 工作起来得心应手" #: core/graphene/object_types.py:55 core/graphene/object_types.py:273 -#: core/graphene/object_types.py:314 core/models.py:486 core/models.py:933 +#: core/graphene/object_types.py:314 core/models.py:488 core/models.py:935 msgid "attributes" msgstr "属性" @@ -960,11 +951,11 @@ msgid "groups of attributes" msgstr "属性组" #: core/graphene/object_types.py:89 core/graphene/object_types.py:123 -#: core/graphene/object_types.py:153 core/models.py:256 core/models.py:450 +#: core/graphene/object_types.py:153 core/models.py:257 core/models.py:452 msgid "categories" msgstr "类别" -#: core/graphene/object_types.py:96 core/models.py:320 +#: core/graphene/object_types.py:96 core/models.py:321 msgid "brands" msgstr "品牌" @@ -1019,7 +1010,7 @@ msgid "represents feedback from a user." msgstr "代表用户的反馈意见。" #: core/graphene/object_types.py:274 core/graphene/object_types.py:315 -#: core/models.py:927 +#: core/models.py:929 msgid "notifications" msgstr "通知" @@ -1031,7 +1022,7 @@ msgstr "此订单产品的下载网址(如适用" msgid "a list of order products in this order" msgstr "该订单中的订单产品列表" -#: core/graphene/object_types.py:306 core/models.py:897 +#: core/graphene/object_types.py:306 core/models.py:899 msgid "billing address" msgstr "账单地址" @@ -1053,7 +1044,7 @@ msgstr "订单中产品的总数量" msgid "are all products in the order digital" msgstr "订单中的所有产品都是数字产品吗?" -#: core/graphene/object_types.py:333 core/models.py:961 +#: core/graphene/object_types.py:333 core/models.py:963 msgid "orders" msgstr "订单" @@ -1065,15 +1056,15 @@ msgstr "图片 URL" msgid "product's images" msgstr "产品图片" -#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 +#: core/graphene/object_types.py:363 core/models.py:256 core/models.py:331 msgid "category" msgstr "类别" -#: core/graphene/object_types.py:365 core/models.py:1505 +#: core/graphene/object_types.py:365 core/models.py:1507 msgid "feedbacks" msgstr "反馈意见" -#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 +#: core/graphene/object_types.py:366 core/models.py:320 core/models.py:340 msgid "brand" msgstr "品牌" @@ -1081,6 +1072,14 @@ msgstr "品牌" msgid "attribute groups" msgstr "属性组" +#: core/graphene/object_types.py:368 +#: core/templates/digital_order_created_email.html:111 +#: core/templates/digital_order_delivered_email.html:110 +#: core/templates/shipped_order_created_email.html:109 +#: core/templates/shipped_order_delivered_email.html:109 +msgid "price" +msgstr "价格" + #: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 @@ -1093,7 +1092,7 @@ msgstr "数量" msgid "number of feedbacks" msgstr "反馈数量" -#: core/graphene/object_types.py:388 core/models.py:391 +#: core/graphene/object_types.py:388 core/models.py:393 msgid "products" msgstr "产品" @@ -1105,7 +1104,7 @@ msgstr "促销代码" msgid "products on sale" msgstr "销售产品" -#: core/graphene/object_types.py:453 core/models.py:589 +#: core/graphene/object_types.py:453 core/models.py:591 msgid "promotions" msgstr "促销活动" @@ -1113,7 +1112,7 @@ msgstr "促销活动" msgid "vendor" msgstr "供应商" -#: core/graphene/object_types.py:458 core/models.py:390 +#: core/graphene/object_types.py:458 core/models.py:392 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1121,11 +1120,11 @@ msgstr "供应商" msgid "product" msgstr "产品" -#: core/graphene/object_types.py:469 core/models.py:659 +#: core/graphene/object_types.py:469 core/models.py:661 msgid "wishlisted products" msgstr "心愿单上的产品" -#: core/graphene/object_types.py:475 core/models.py:676 +#: core/graphene/object_types.py:475 core/models.py:678 msgid "wishlists" msgstr "愿望清单" @@ -1133,7 +1132,7 @@ msgstr "愿望清单" msgid "tagged products" msgstr "标签产品" -#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:346 msgid "product tags" msgstr "产品标签" @@ -1230,7 +1229,7 @@ msgstr "父属性组" msgid "attribute group's name" msgstr "属性组名称" -#: core/models.py:85 core/models.py:458 +#: core/models.py:85 core/models.py:460 msgid "attribute group" msgstr "属性组" @@ -1282,7 +1281,7 @@ msgstr "产品标签" msgid "category tag" msgstr "类别标签" -#: core/models.py:173 core/models.py:234 +#: core/models.py:173 core/models.py:235 msgid "category tags" msgstr "类别标签" @@ -1322,689 +1321,685 @@ msgstr "为该类别添加详细说明" msgid "category description" msgstr "类别说明" -#: core/models.py:233 +#: core/models.py:234 msgid "tags that help describe or group this category" msgstr "有助于描述或归类该类别的标签" -#: core/models.py:240 core/models.py:312 +#: core/models.py:241 core/models.py:313 msgid "priority" msgstr "优先权" -#: core/models.py:265 +#: core/models.py:266 msgid "name of this brand" msgstr "品牌名称" -#: core/models.py:266 +#: core/models.py:267 msgid "brand name" msgstr "品牌名称" -#: core/models.py:273 +#: core/models.py:274 msgid "upload a logo representing this brand" msgstr "上传代表该品牌的徽标" -#: core/models.py:275 +#: core/models.py:276 msgid "brand small image" msgstr "品牌小形象" -#: core/models.py:281 +#: core/models.py:282 msgid "upload a big logo representing this brand" msgstr "上传代表该品牌的大徽标" -#: core/models.py:283 +#: core/models.py:284 msgid "brand big image" msgstr "品牌大形象" -#: core/models.py:288 +#: core/models.py:289 msgid "add a detailed description of the brand" msgstr "添加品牌的详细描述" -#: core/models.py:289 +#: core/models.py:290 msgid "brand description" msgstr "品牌描述" -#: core/models.py:294 +#: core/models.py:295 msgid "optional categories that this brand is associated with" msgstr "与该品牌相关的可选类别" -#: core/models.py:295 +#: core/models.py:296 msgid "associated categories" msgstr "类别" -#: core/models.py:306 -msgid "brand slug" -msgstr "布兰德的鼻涕虫" - -#: core/models.py:329 +#: core/models.py:330 msgid "category this product belongs to" msgstr "该产品所属类别" -#: core/models.py:338 +#: core/models.py:339 msgid "optionally associate this product with a brand" msgstr "可选择将该产品与某个品牌联系起来" -#: core/models.py:344 +#: core/models.py:345 msgid "tags that help describe or group this product" msgstr "有助于描述或归类该产品的标签" -#: core/models.py:349 +#: core/models.py:350 msgid "indicates whether this product is digitally delivered" msgstr "表示该产品是否以数字方式交付" -#: core/models.py:350 +#: core/models.py:351 msgid "is product digital" msgstr "产品是否数字化" -#: core/models.py:356 +#: core/models.py:357 msgid "provide a clear identifying name for the product" msgstr "为产品提供一个明确的标识名称" -#: core/models.py:357 +#: core/models.py:358 msgid "product name" msgstr "产品名称" -#: core/models.py:362 core/models.py:577 +#: core/models.py:363 core/models.py:579 msgid "add a detailed description of the product" msgstr "添加产品的详细描述" -#: core/models.py:363 +#: core/models.py:364 msgid "product description" msgstr "产品说明" -#: core/models.py:370 +#: core/models.py:371 msgid "part number for this product" msgstr "该产品的零件编号" -#: core/models.py:371 +#: core/models.py:372 msgid "part number" msgstr "部件编号" -#: core/models.py:449 +#: core/models.py:451 msgid "category of this attribute" msgstr "该属性的类别" -#: core/models.py:457 +#: core/models.py:459 msgid "group of this attribute" msgstr "该属性的组" -#: core/models.py:463 +#: core/models.py:465 msgid "string" msgstr "字符串" -#: core/models.py:464 +#: core/models.py:466 msgid "integer" msgstr "整数" -#: core/models.py:465 +#: core/models.py:467 msgid "float" msgstr "浮动" -#: core/models.py:466 +#: core/models.py:468 msgid "boolean" msgstr "布尔型" -#: core/models.py:467 +#: core/models.py:469 msgid "array" msgstr "阵列" -#: core/models.py:468 +#: core/models.py:470 msgid "object" msgstr "对象" -#: core/models.py:470 +#: core/models.py:472 msgid "type of the attribute's value" msgstr "属性值的类型" -#: core/models.py:471 +#: core/models.py:473 msgid "value type" msgstr "价值类型" -#: core/models.py:476 +#: core/models.py:478 msgid "name of this attribute" msgstr "该属性的名称" -#: core/models.py:477 +#: core/models.py:479 msgid "attribute's name" msgstr "属性名称" -#: core/models.py:485 core/models.py:497 +#: core/models.py:487 core/models.py:499 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "属性" -#: core/models.py:496 +#: core/models.py:498 msgid "attribute of this value" msgstr "该值的属性" -#: core/models.py:504 +#: core/models.py:506 msgid "the specific product associated with this attribute's value" msgstr "与该属性值相关的特定产品" -#: core/models.py:505 core/models.py:544 core/models.py:615 -#: core/models.py:1359 +#: core/models.py:507 core/models.py:546 core/models.py:617 +#: core/models.py:1361 msgid "associated product" msgstr "相关产品" -#: core/models.py:510 +#: core/models.py:512 msgid "the specific value for this attribute" msgstr "该属性的具体值" -#: core/models.py:526 +#: core/models.py:528 msgid "provide alternative text for the image for accessibility" msgstr "为图像提供替代文字,以便于访问" -#: core/models.py:527 +#: core/models.py:529 msgid "image alt text" msgstr "图片 alt 文本" -#: core/models.py:530 +#: core/models.py:532 msgid "upload the image file for this product" msgstr "上传该产品的图片文件" -#: core/models.py:531 core/models.py:556 +#: core/models.py:533 core/models.py:558 msgid "product image" msgstr "产品图片" -#: core/models.py:537 +#: core/models.py:539 msgid "determines the order in which images are displayed" msgstr "确定图像的显示顺序" -#: core/models.py:538 +#: core/models.py:540 msgid "display priority" msgstr "显示优先级" -#: core/models.py:543 +#: core/models.py:545 msgid "the product that this image represents" msgstr "该图片所代表的产品" -#: core/models.py:557 +#: core/models.py:559 msgid "product images" msgstr "产品图片" -#: core/models.py:565 +#: core/models.py:567 msgid "percentage discount for the selected products" msgstr "所选产品的折扣百分比" -#: core/models.py:566 +#: core/models.py:568 msgid "discount percentage" msgstr "折扣百分比" -#: core/models.py:571 +#: core/models.py:573 msgid "provide a unique name for this promotion" msgstr "为该促销活动提供一个独特的名称" -#: core/models.py:572 +#: core/models.py:574 msgid "promotion name" msgstr "推广名称" -#: core/models.py:578 +#: core/models.py:580 msgid "promotion description" msgstr "促销说明" -#: core/models.py:583 +#: core/models.py:585 msgid "select which products are included in this promotion" msgstr "选择促销活动包括哪些产品" -#: core/models.py:584 +#: core/models.py:586 msgid "included products" msgstr "包括产品" -#: core/models.py:588 +#: core/models.py:590 msgid "promotion" msgstr "促销活动" -#: core/models.py:603 +#: core/models.py:605 msgid "the vendor supplying this product stock" msgstr "提供该产品库存的供应商" -#: core/models.py:604 +#: core/models.py:606 msgid "associated vendor" msgstr "相关供应商" -#: core/models.py:608 +#: core/models.py:610 msgid "final price to the customer after markups" msgstr "加价后给客户的最终价格" -#: core/models.py:609 +#: core/models.py:611 msgid "selling price" msgstr "销售价格" -#: core/models.py:614 +#: core/models.py:616 msgid "the product associated with this stock entry" msgstr "与该库存条目相关的产品" -#: core/models.py:622 +#: core/models.py:624 msgid "the price paid to the vendor for this product" msgstr "为该产品支付给供应商的价格" -#: core/models.py:623 +#: core/models.py:625 msgid "vendor purchase price" msgstr "供应商购买价格" -#: core/models.py:627 +#: core/models.py:629 msgid "available quantity of the product in stock" msgstr "产品的可用库存量" -#: core/models.py:628 +#: core/models.py:630 msgid "quantity in stock" msgstr "库存数量" -#: core/models.py:632 +#: core/models.py:634 msgid "vendor-assigned SKU for identifying the product" msgstr "供应商指定的 SKU,用于识别产品" -#: core/models.py:633 +#: core/models.py:635 msgid "vendor sku" msgstr "供应商 SKU" -#: core/models.py:639 +#: core/models.py:641 msgid "digital file associated with this stock if applicable" msgstr "与该库存相关的数字文件(如适用" -#: core/models.py:640 +#: core/models.py:642 msgid "digital file" msgstr "数字文件" -#: core/models.py:649 +#: core/models.py:651 msgid "stock entries" msgstr "库存条目" -#: core/models.py:658 +#: core/models.py:660 msgid "products that the user has marked as wanted" msgstr "用户标记为想要的产品" -#: core/models.py:666 +#: core/models.py:668 msgid "user who owns this wishlist" msgstr "拥有此愿望清单的用户" -#: core/models.py:667 +#: core/models.py:669 msgid "wishlist owner" msgstr "心愿单所有者" -#: core/models.py:675 +#: core/models.py:677 msgid "wishlist" msgstr "愿望清单" -#: core/models.py:686 core/models.py:698 core/models.py:1047 -#: core/models.py:1077 core/models.py:1107 +#: core/models.py:688 core/models.py:700 core/models.py:1049 +#: core/models.py:1079 core/models.py:1109 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} 不存在:{product_uuid} 不存在" -#: core/models.py:722 +#: core/models.py:724 msgid "documentary" msgstr "纪录片" -#: core/models.py:723 +#: core/models.py:725 msgid "documentaries" msgstr "纪录片" -#: core/models.py:733 +#: core/models.py:735 msgid "unresolved" msgstr "未解决" -#: core/models.py:742 +#: core/models.py:744 msgid "address line for the customer" msgstr "客户地址栏" -#: core/models.py:743 +#: core/models.py:745 msgid "address line" msgstr "地址栏" -#: core/models.py:745 +#: core/models.py:747 msgid "street" msgstr "街道" -#: core/models.py:746 +#: core/models.py:748 msgid "district" msgstr "地区" -#: core/models.py:747 +#: core/models.py:749 msgid "city" msgstr "城市" -#: core/models.py:748 +#: core/models.py:750 msgid "region" msgstr "地区" -#: core/models.py:749 +#: core/models.py:751 msgid "postal code" msgstr "邮政编码" -#: core/models.py:750 +#: core/models.py:752 msgid "country" msgstr "国家" -#: core/models.py:757 +#: core/models.py:759 msgid "geolocation point: (longitude, latitude)" msgstr "地理位置点(经度、纬度)" -#: core/models.py:760 +#: core/models.py:762 msgid "full JSON response from geocoder for this address" msgstr "地理编码器对此地址的完整 JSON 响应" -#: core/models.py:765 +#: core/models.py:767 msgid "stored JSON response from the geocoding service" msgstr "存储的来自地理编码服务的 JSON 响应" -#: core/models.py:773 +#: core/models.py:775 msgid "address" msgstr "地址" -#: core/models.py:774 +#: core/models.py:776 msgid "addresses" msgstr "地址" -#: core/models.py:791 +#: core/models.py:793 msgid "unique code used by a user to redeem a discount" msgstr "用户用于兑换折扣的唯一代码" -#: core/models.py:792 +#: core/models.py:794 msgid "promo code identifier" msgstr "促销代码标识符" -#: core/models.py:799 +#: core/models.py:801 msgid "fixed discount amount applied if percent is not used" msgstr "如果不使用百分比,则使用固定折扣额" -#: core/models.py:800 +#: core/models.py:802 msgid "fixed discount amount" msgstr "固定折扣额" -#: core/models.py:806 +#: core/models.py:808 msgid "percentage discount applied if fixed amount is not used" msgstr "未使用固定金额时适用的折扣百分比" -#: core/models.py:807 +#: core/models.py:809 msgid "percentage discount" msgstr "折扣百分比" -#: core/models.py:812 +#: core/models.py:814 msgid "timestamp when the promocode expires" msgstr "促销代码过期的时间戳" -#: core/models.py:813 +#: core/models.py:815 msgid "end validity time" msgstr "结束有效时间" -#: core/models.py:818 +#: core/models.py:820 msgid "timestamp from which this promocode is valid" msgstr "该促销代码有效的时间戳" -#: core/models.py:819 +#: core/models.py:821 msgid "start validity time" msgstr "开始有效时间" -#: core/models.py:824 +#: core/models.py:826 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "使用促销代码的时间戳,如果尚未使用,则留空" -#: core/models.py:825 +#: core/models.py:827 msgid "usage timestamp" msgstr "使用时间戳" -#: core/models.py:830 +#: core/models.py:832 msgid "user assigned to this promocode if applicable" msgstr "分配给此促销代码的用户(如适用" -#: core/models.py:831 +#: core/models.py:833 msgid "assigned user" msgstr "指定用户" -#: core/models.py:838 +#: core/models.py:840 msgid "promo code" msgstr "促销代码" -#: core/models.py:839 +#: core/models.py:841 msgid "promo codes" msgstr "促销代码" -#: core/models.py:847 +#: core/models.py:849 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "只能定义一种折扣类型(金额或百分比),而不能同时定义两种类型或两者都不定义。" -#: core/models.py:863 +#: core/models.py:865 msgid "promocode already used" msgstr "促销代码已被使用" -#: core/models.py:880 +#: core/models.py:882 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "促销代码 {self.uuid} 的折扣类型无效" -#: core/models.py:896 +#: core/models.py:898 msgid "the billing address used for this order" msgstr "该订单使用的账单地址" -#: core/models.py:904 +#: core/models.py:906 msgid "optional promo code applied to this order" msgstr "此订单可选择使用促销代码" -#: core/models.py:905 +#: core/models.py:907 msgid "applied promo code" msgstr "应用促销代码" -#: core/models.py:913 +#: core/models.py:915 msgid "the shipping address used for this order" msgstr "该订单使用的送货地址" -#: core/models.py:914 +#: core/models.py:916 msgid "shipping address" msgstr "送货地址" -#: core/models.py:920 +#: core/models.py:922 msgid "current status of the order in its lifecycle" msgstr "订单在其生命周期中的当前状态" -#: core/models.py:921 +#: core/models.py:923 msgid "order status" msgstr "订单状态" -#: core/models.py:926 core/models.py:1336 +#: core/models.py:928 core/models.py:1338 msgid "json structure of notifications to display to users" msgstr "向用户显示的通知的 JSON 结构,在管理用户界面中使用表格视图" -#: core/models.py:932 +#: core/models.py:934 msgid "json representation of order attributes for this order" msgstr "该订单属性的 JSON 表示形式" -#: core/models.py:938 +#: core/models.py:940 msgid "the user who placed the order" msgstr "下订单的用户" -#: core/models.py:939 +#: core/models.py:941 msgid "user" msgstr "用户" -#: core/models.py:945 +#: core/models.py:947 msgid "the timestamp when the order was finalized" msgstr "订单确定的时间戳" -#: core/models.py:946 +#: core/models.py:948 msgid "buy time" msgstr "购买时间" -#: core/models.py:953 +#: core/models.py:955 msgid "a human-readable identifier for the order" msgstr "订单的人工可读标识符" -#: core/models.py:954 +#: core/models.py:956 msgid "human readable id" msgstr "人类可读 ID" -#: core/models.py:960 +#: core/models.py:962 msgid "order" msgstr "订购" -#: core/models.py:975 +#: core/models.py:977 msgid "a user must have only one pending order at a time" msgstr "用户每次只能有一个挂单!" -#: core/models.py:1011 +#: core/models.py:1013 msgid "you cannot add products to an order that is not a pending one" msgstr "您不能向非待处理订单添加产品" -#: core/models.py:1017 +#: core/models.py:1019 msgid "you cannot add inactive products to order" msgstr "您不能在订单中添加非活动产品" -#: core/models.py:1037 +#: core/models.py:1039 msgid "you cannot add more products than available in stock" msgstr "添加的产品数量不能超过现有库存" -#: core/models.py:1060 core/models.py:1088 core/models.py:1098 +#: core/models.py:1062 core/models.py:1090 core/models.py:1100 msgid "you cannot remove products from an order that is not a pending one" msgstr "您不能从非待处理订单中删除产品" -#: core/models.py:1083 +#: core/models.py:1085 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "查询 <{query}> 时 {name} 不存在" -#: core/models.py:1121 +#: core/models.py:1123 msgid "promocode does not exist" msgstr "促销代码不存在" -#: core/models.py:1132 +#: core/models.py:1134 msgid "you can only buy physical products with shipping address specified" msgstr "您只能购买指定送货地址的实物产品!" -#: core/models.py:1153 +#: core/models.py:1155 msgid "address does not exist" msgstr "地址不存在" -#: core/models.py:1165 core/models.py:1218 +#: core/models.py:1167 core/models.py:1220 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "您现在无法购买,请稍后再试。" -#: core/models.py:1171 +#: core/models.py:1173 msgid "invalid force value" msgstr "力值无效" -#: core/models.py:1176 core/models.py:1222 +#: core/models.py:1178 core/models.py:1224 msgid "you cannot purchase an empty order!" msgstr "您不能购买空单!" -#: core/models.py:1194 +#: core/models.py:1196 msgid "insufficient funds to complete the order" msgstr "资金不足,无法完成订单" -#: core/models.py:1231 +#: core/models.py:1233 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "未经注册不能购买,请提供以下信息:客户姓名、客户电子邮件、客户电话号码" -#: core/models.py:1242 +#: core/models.py:1244 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "付款方式无效:来自 {available_payment_methods} 的 {payment_method} !" -#: core/models.py:1324 +#: core/models.py:1326 msgid "the price paid by the customer for this product at purchase time" msgstr "客户购买该产品时支付的价格" -#: core/models.py:1325 +#: core/models.py:1327 msgid "purchase price at order time" msgstr "订购时的购买价格" -#: core/models.py:1330 +#: core/models.py:1332 msgid "internal comments for admins about this ordered product" msgstr "管理员对该订购产品的内部评论" -#: core/models.py:1331 +#: core/models.py:1333 msgid "internal comments" msgstr "内部意见" -#: core/models.py:1337 +#: core/models.py:1339 msgid "user notifications" msgstr "用户通知" -#: core/models.py:1342 +#: core/models.py:1344 msgid "json representation of this item's attributes" msgstr "该项属性的 JSON 表示形式" -#: core/models.py:1343 +#: core/models.py:1345 msgid "ordered product attributes" msgstr "有序的产品属性" -#: core/models.py:1348 +#: core/models.py:1350 msgid "reference to the parent order that contains this product" msgstr "对包含该产品的父订单的引用" -#: core/models.py:1349 +#: core/models.py:1351 msgid "parent order" msgstr "父顺序" -#: core/models.py:1358 +#: core/models.py:1360 msgid "the specific product associated with this order line" msgstr "与该订单项目相关的具体产品" -#: core/models.py:1365 +#: core/models.py:1367 msgid "quantity of this specific product in the order" msgstr "订单中该特定产品的数量" -#: core/models.py:1366 +#: core/models.py:1368 msgid "product quantity" msgstr "产品数量" -#: core/models.py:1373 +#: core/models.py:1375 msgid "current status of this product in the order" msgstr "订单中该产品的当前状态" -#: core/models.py:1374 +#: core/models.py:1376 msgid "product line status" msgstr "产品系列状态" -#: core/models.py:1434 +#: core/models.py:1436 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "为反馈指定了错误的操作:{action}" -#: core/models.py:1445 +#: core/models.py:1447 msgid "you cannot feedback an order which is not received" msgstr "您不能反馈未收到的订单" -#: core/models.py:1457 +#: core/models.py:1459 msgid "download" msgstr "下载" -#: core/models.py:1458 +#: core/models.py:1460 msgid "downloads" msgstr "下载" -#: core/models.py:1467 +#: core/models.py:1469 msgid "you can not download a digital asset for a non-finished order" msgstr "您无法下载未完成订单的数字资产" -#: core/models.py:1479 +#: core/models.py:1481 msgid "user-provided comments about their experience with the product" msgstr "用户提供的产品使用体验评论" -#: core/models.py:1480 +#: core/models.py:1482 msgid "feedback comments" msgstr "反馈意见" -#: core/models.py:1488 +#: core/models.py:1490 msgid "" "references the specific product in an order that this feedback is about" msgstr "引用该反馈意见涉及的订单中的具体产品" -#: core/models.py:1490 +#: core/models.py:1492 msgid "related order product" msgstr "相关订购产品" -#: core/models.py:1495 +#: core/models.py:1497 msgid "user-assigned rating for the product" msgstr "用户对产品的评分" -#: core/models.py:1496 +#: core/models.py:1498 msgid "product rating" msgstr "产品评级" -#: core/models.py:1504 +#: core/models.py:1506 msgid "feedback" msgstr "反馈意见" diff --git a/payments/locale/ar_AR/LC_MESSAGES/django.mo b/payments/locale/ar_AR/LC_MESSAGES/django.mo index d0be91f6b4e8d81400c42701a264412b3c28994f..f4ff31c08240b9ec584bba29f279b2f9e140f1c2 100644 GIT binary patch delta 1374 zcmZ{iT}xC!7{|xAT+K356AJSwlGMbY3&FA=!ipj*>7t@sj%R0gkDT3O=S2|>@ikkz zs7}#MU=+40iiuhoK^M`LUtp%_BXr+I7yakBOCmXN<~PsG^ZuNv%C8lVj||l@#)@(o zD+f=2h2VLx6l@1WU?JOB=W%HIo6 z>A%WjLu@Aw%ed$Qzkns+VOR}<$3bN<4;}?q!J9dZ{RB@zZr%Z1&<2&=bFd104ekLy zfi2)V*bEjR>)l{0*a}`Q9Ab=cn8byuY!-Y1u7k?qT|}=3yFr!lGf-8W&dA@ue#jyt zcN8)97BUABla&;s2(TPP-a%LQfe-_KxiK76#;^|zfFMJ~>{6pa!NDrS4&SVDLkyBs zm8vcl;H$ugCI;gH*e+lyj4!Hs|D8q+3Z>(_OMWn;fsF$Fg10T)!;0x~jG= z^BCp{%`oeoCT3bO%TMONzrZ&32P)jiwh$so?fOjpQopqCL;Fl8CBwLUh0JfcRd=~~CtOKs zars!m?Hqq9bo%7H9G5AvMj|c8#DW}=lX8UQIF7?|QhXG%EO=QGt592HVp>6@Vd4J> z9c+OnY~P3vxSk;~2fGwr=deE_H5EB5mSjqfY@Lk%J2dTIFDxJ0G7K>--ib8HQG}f! zeypen$CpXVK9ByKWupnl(o%g0W1!1!D`wMsB!~y^S delta 1416 zcmZ{hOKVg~6vrzM({0+0uc z$8r7}>;tzVs}^t>d<^=ajuVBt`(P`m?>~zcs*aB^Y=hww*bV*%ZUK*MWUL1~0TOrz z>;RvFx{^OZUD=1)`Co7h=U8*qUj(6vJprMc!EM%7{81ZgMt;))6l4?vCa`|Ax^`lt zyMpdBblM05%=!WU&G@wV7JRzhdX#PW^x9Dc+L8>MQ7hoh^vw!SL}TGE(MU&MGAVLy zuy&7r6FHC8tl2DiPG%_Zo5QZ?j|GqW+#BVoI6KMxfIObDyp-SBV|%>=L!5qYPYO5f zWa9l-E}c7lYGCkU--Xj1J`Hf|COgBkS%E7#govjd&kqJ&>n88;JK5PZ1$b`ff#dn#PS1fo}~o>=N&ggSFfDcI)A!>S{*kK zG^UHmbDL~Wxxl2&46fx7k+Ka+93Z=!cK$uZOoARw7O?l=7_n@;{B&>SA(U zjmwIfQBx*`p494O%&1bTC>PYYx+mYsmvM$uh2(Sj zR?WycGJ)pdpFya3Gd^T1BiqD!Gt?2vNHmAHv#V1K-$(WoOt9Cotix9zu%vz`4MOya zDq{OUZ_DzPx=(5v@)rq?X-F%nX+5)5Jt$Ajkh+H_D{4ZA8Q15coX2@wE|`08ua&R} z`Gpmdb80fdjE*<50$Z8MH);|E&1xA_YEmbhLV846h7NQUHWPi_X|GBCZljS?=R+0y pCQ!O=G\n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "تفاصيل المعالجة" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"يجب أن يتناسب مبلغ المعاملة مع {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"يجب أن يتناسب مبلغ المعاملة مع " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "الرصيد" msgid "balances" msgstr "الموازين" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "تفعيل حسابك" +msgid "balance deposit" +msgstr "إيداع الرصيد" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "الشعار" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "مرحباً %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "مرحباً %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"شكرًا لك على تسجيلك في %(config.PROJECT_NAME)s. يرجى تفعيل حسابك بالنقر فوق " -"الزر أدناه:" +"لقد نجحنا في إيداع رصيد حسابك في %(amount)s. رصيدك الحالي\n" +" رصيدك الحالي هو %(balance)s__." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"تفعيل\n" -" الحساب" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"إذا كان الزر أعلاه لا يعمل، يرجى نسخ عنوان URL التالي ولصقه في متصفح الويب " -"الخاص بك:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "مع أطيب التحيات,
فريق %(config.PROJECT_NAME)s" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"جميع الحقوق\n" -" محفوظة." +"إذا كان لديك أي أسئلة، فلا تتردد في الاتصال بدعمنا على\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "مع أطيب تحياتي،
فريق%(project_name)s" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "جميع الحقوق محفوظة" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "مطلوب مزود للحصول على الأسعار من" msgid "couldn't find provider {provider}" msgstr "تعذّر العثور على الموفر {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "محرك eVibes" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | إيداع الرصيد" diff --git a/payments/locale/cs_CZ/LC_MESSAGES/django.mo b/payments/locale/cs_CZ/LC_MESSAGES/django.mo index c07bb4e6d19109f0d8c358791ccd77d08376bce4..564564479a99c2f6e1278b7c28a6917066e28a35 100644 GIT binary patch delta 1259 zcmZ|NTWi!n6bJCJ7hUg{dO<}w6-%#H^uZTJyepzrREidHnN4Ol*-bKWW)j&}=@+md zt{~!z!6!lSq3VMuKBW5zw1SEs!FM11Pj?FiHIV%FBr|hn&e{2%FPk3hogQF}t?Xc| z2Ofkg;2F3cj==)F1&3e-_QHqIj(Y=l!4Gf~{0?`(UoeD)PR6=m3U|UOXxDoT?f7S% zY?`gck6FAZ!B21v+=E$n;eKc*yoCMmExf*rv7hiT;zP?B+YS}98@dlS!$+_izJPu3 zH5`TW?e|?6ya(~B71OPq?86JY&@ng#Cm?dLuW%6lfSAj=u^W5BHE<>DhqvK@cKjS_ z#IM?MF9r=D9){TWLRGiIRk&>hIx2W@GXA4@LV8oL>LZNzO8Z?OR`TdfVa zZ58c_?deg(g=zq{);@4GzI6^2c@U8DE1uD$gcd3lE-UeXM~+yOToFs{o5fhOlF$aj zD_psHcMT{mxdA_yeDCs@B&_LW{7GQ#{a)n!5+ zPX+O)PPY>*?aN4yP+5q8%1Q__k{lTs?iiAZBAvvsRED@|Z0y*zt#6?Hu_!|B2ZMT) z1+pR=QP;b(qP4P497kwfPJ*CLjuNhKgliKk;*KMe$j}|%c-SHjZG<&iU!6oL5iR67 z*RBfr8spl5O=f4hir-;V*hkr~j9$KS>HO)F*NS7uFP^?fcWH5AyNt8L-4n|irwT_( zz?A1BI4|X-|E0b^R+hI)MT1xG?{0C^f(*OGq29BQY;_*k>$uNj$g zLlJLgK9aj=LV}36i+@gIL&xrawc>(p#qYxBvtu}4o;5Sd-_OkmLscCL{MPZ@(`FXU zJ*Bw$#E&({29~w~hs7M^PH_4te`Q;KvTFZrOImQ%V55;t%zt~(E~KbYS_`>Ua2Y?$ht`?pmLh3PU^O<;@EPX&`LU>`L4{{oHf6WDwUJP*PY`w{#c+yxiG3)mcw>{AdX z*%x3M{A%>R3%-r_1T?z;1ZTj%L2SW}9~|!UE{H#t!_N({IC}qi#9u)Za$wMmW}_#C z4pW1@ji08OeT?mKGr2P{LFgI6%$`Rdx0mqn9QupsN6?KgCXYwaO?!C=#lQ;REuPbT!pybh}}pytjc{J*kVk@kYC>k-qBQZO_0V` zZjPU}nIl4}TsOg>Ltw~VhlRY;5`k81^v$^C z2+dtzF&*(hnFz^X@|k$coJDHII7l^D53_S~e1Njo3%Rw*=A~>U_fhuxW+A_pFRT}~ zt*H~T*9H?Nw@_@$)eR@&TdWkxrm(e@cdQK&DQL;ie5#CCMA|B-y6afWaa~yznW0pv zXq83VHM6V>2z-VX<`&+!=H{)_b2N84v+&`2b7-kmoI$H%-1E7XQHFAtie*AyUSBJ2 z(AkyZS|z(uIe&4zoWn@IoL(sw&S6UuIvdQsd&(c#qgW&Z)59BC?vY$x{` z(p_tEAT=)$ZSK4x)>);rXr?#M+D_#FMTKgl5G>?9P&}* z;Yh&Y`F{-3L>b!feD1J~Q6Pi8yG`yP`XO@A!%k3Z4hRm+V4{h1w|`%0uDzHQt4-k` zz-^C{2UTIjZ6sj_OW^@^IZnN846za}CX|+>6Uk~Im39f=C+4%k_2nLF=-w@aUBl$C oU}4Dkf${{aZ87i$Dk9l!3B-Y>7NY-KsnQdBU)6|VAY;w`0deTs8~^|S diff --git a/payments/locale/cs_CZ/LC_MESSAGES/django.po b/payments/locale/cs_CZ/LC_MESSAGES/django.po index 289ab6a0..e7ed0f46 100644 --- a/payments/locale/cs_CZ/LC_MESSAGES/django.po +++ b/payments/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-06-21 22:42+0100\n" +"POT-Creation-Date: 2025-06-22 18:07+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Podrobnosti o zpracování" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"Částka transakce se musí vejít do rozmezí {config.PAYMENT_GATEWAY_MINIMUM}-" -"{config.PAYMENT_GATEWAY_MAXIMUM}." +"Částka transakce se musí vejít do rozmezí " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}." #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "Bilance" msgid "balances" msgstr "Váhy" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Aktivace účtu" +msgid "balance deposit" +msgstr "Zůstatková záloha" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Hello %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Ahoj %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Děkujeme, že jste se přihlásili k odběru %(config.PROJECT_NAME)s. Aktivujte " -"prosím svůj účet kliknutím na tlačítko níže:" +"Na váš účet jsme úspěšně připsali %(amount)s. Váš aktuální\n" +" je %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Aktivace\n" -" Účet" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"Pokud výše uvedené tlačítko nefunguje, zkopírujte a vložte do webového " -"prohlížeče následující adresu URL:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "S pozdravem,
Tým %(config.PROJECT_NAME)s" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"Všechna práva\n" -" vyhrazena." +"Pokud máte jakékoli dotazy, neváhejte kontaktovat naši podporu na adrese\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "S pozdravem,
tým %(project_name)s" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "Všechna práva vyhrazena" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "Je třeba mít poskytovatele, od kterého lze získat sazby" msgid "couldn't find provider {provider}" msgstr "Nepodařilo se najít poskytovatele {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "Motor eVibes" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Zůstatek vkladu" diff --git a/payments/locale/da_DK/LC_MESSAGES/django.mo b/payments/locale/da_DK/LC_MESSAGES/django.mo index 135fd0672b6e1164765e35917979074b79780ddf..a6f7f29ba54977f241d876384f46057d07da7f61 100644 GIT binary patch literal 2363 zcmbu9y^kA37{&((keII!J_SL%0Y$mMt#i2uh@4!6@8U~LV*BLy4$^QM?~d0S&(1hA zvkq1gi3W*+3WN|{np{N(NGXsgEE*abDkS(1prJxEJhQeh29l#-g9 zUjV-W_kllw&w;;!DY*MS#&&@N@Okhm=;!+k^!;yu4}o8TZSY(0Velmkx&|Hreg7}O zL*UooJJ9|!IFI+&9~kc|1iha3!M)&zAb#v~{1w3);LG3-pzrrPNZ_B~Q{a9yJ_{~_ zL+~7kCD?bMANM_20Dl9Y2LAxP?!6G#1^0uGfFFPo`~-X)WP8T`?gPE$-cvu`&*k?I zoAR?k_gpW)9`%1S#h;7U;)|aXQ{|fdyZ6fP*K4^S^+{A%nC}tDHF+{leWM3SBn&xC zv2bL#6P7wgr<7PS;&PT45iu?$nI!Hy-)4mwpsmd%SD~1aBGK12anpCp+QMQ&5pxsS z`IBvP%5?=DoWqirMCdjZPsL$NPVkh4I+Kw)Qqpwl^A;I zQ!Uf4GfiC~rN*)uWN&s7W2Y<6v!p{qol%z$1aUQ_%NZ0WTG@H(2q9sE5PtShE5}1e zIx}RmeqS3$+!bhta&T@kXj7y-k%w)ONgZpZ&BSc%EELuf?>M;M=Sjr+e3%O5ESr2w zR18xchFj(gR~8zeZuXgYsx##%&0uvWag-?Ny^6IvNnBhjU#wN?t<5v#R^{#T#m!o^ zUahUyt_OGRP<|)xFuR0hSH##Nn}uF-CzEnWA;KbYBJvIz;vr5DI<6$H3$Mqju<7yF zFf#@l+tIMe3HqozI5&CmuK5`w!>_Py&CSMJm6g_Jy<7cg|k$tpE>XOU&Bfi@gV9IYSmh0W;4Zw!U`f1js~q^ADW$b&mHMYo~RQP zcDb>_Ev>g!gX6dRdFdTtf{F@tgup7%@pj@0Ycexj2CLenwnVC*zuKk66EuEYnp1RO ziH;sVQDCPLr}(u^7E?##Sy2|Xhd!P;f^T#a_cp;L!?oe8ETzERcMeHI_%0aH7F{hP zVcGH|b6nsu(zx(#1i6GLwlUg@onSSD)j%kj#MDLb3pLIj@DLg5p9!SM&SgpoN_st! zrw_3$YbJeERb+cv#4e1s94Q?`U04Z?d+_$bmtUu7QsW2 z&ml++{n0HG+jMkO&U>fOJP@*{Q{3u&F4)xbsifxw4Kxzzb~b^69dE}S(#d(BP8udM zNKw!UbGeGVizM=tGTjARp13Ov9=AL3PM%xjB{b)O4OKq5%skt+kfU3ehis2ad)eDIi+Pr UTRkigd*|A?pLb0z|BBGR0CMM$$^ZZW literal 2465 zcma)-O>Y}T7{>=%pmobzDW&2?JXM9-imY)`UMjb#a8frhjg!cAN-I^0X1(L})a#jL zX4WREa^QeCfYb|ogciZ2NWJuKsfV69ao_`R=fs8otnFYS+%od`w>vM-JkK*T|NZ^Q z{vR018>nxi{)+l8>UYoJ59PqKjFrHH;Ok%+oC7z(d2kne6TA=Zf{(%d;Oaiu0PEms z@Hg-Ua34AkfQP^n;8D=Ge+<3@UIdSTH^H|+4f^rlj@!Qn58?esFa#ffhrwgdjmDh> zufz8_FhKj)&yVaq06)b0BX9xy3p@@MvADOh0>Tvg861H3K_BNSERILk1Tlr(1W$sk zar-wQ;r$Ni^YhEN{}EWg`yb#j@K4bDefS__9q>5#BKQ^fDtHIC1USVu<0+(dTnLTD~FJA&Rj-O{Qpao>b{^z3rk8n z8fep_nDE(Y1;824@5|z(F3?rW@|du ztl8nJ>pQ8f4Otm0Z!t^r*BNmYX>;TiA8$Zz{E05`(GF0!L#;%%x_*(V&_jVx%8XNL zbYDio5Il|rGL7xE)Hb?D(jxC)WYUO;g*@S^B_^~C`J$c$?kw~?b zZbGuUC#a{D*zs#k430-lH)%8W2ew+mTHLZjY4k18azQN$t_fq|OPS^i4dlYOpl)Ls1xs0MgQhN1VRIvBh`#irf=ftz znHEY59|fiP;B1LXXUhwpyk9~otlO&?yuoi=5vu52_2b!lsT;~HI9-dJx|mYbhm z-fC3QQfm~KH|iHLO~o0HMc}VRnU)&0X6@=KRo7S6JfAkLOc4*FZlPYQSEqt0mI}*S zIqX8v+)3fH6JNRy(u7NOo?0DltZ<84&C9{Lf5v&&+rk7@)zT66tW4)Z=?a@kW_S`@ z)~096q|*G=E-swME%ZH$rxl%8r1>-F3#`(G_6YODL+|h275Jt{qlZ5k!fMnVH6@9_ zfp!kcBXGiITEe{yMMo!*E3&$Xs4r9^W9s0H36)FGjB7fPpIiSeKC9Sig5oIahIfUE z1a%cpNp`z}`qFfTnWGS%S&B0FoJwH?>6q;Bo`VFnhYyoDp9cBCA&yAq(LrMVr7#>a zh9DyJXM_zQCzGB)JQyF((#|5~8TL6F1&rIWmpn8@#2s~$+}m_`H}^diiWEFnSgp)1 z;gaGPnk>%644qjN?)b}$scp{tMjA>qhVBYcsVy+klhR}p0*F2ew+S!JQkWZunNrnbTdAG==WilEc zo6$63@VGaKw{wk2ZlO89g&b!QA~W@DA*jQLutT=X6aUe`H^loTX{M0;U!^HdFO<75 Oyw}aQ62XMH-|TN^bfP@~ diff --git a/payments/locale/da_DK/LC_MESSAGES/django.po b/payments/locale/da_DK/LC_MESSAGES/django.po index 153ec10c..b57ddfa8 100644 --- a/payments/locale/da_DK/LC_MESSAGES/django.po +++ b/payments/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-06-21 22:42+0100\n" +"POT-Creation-Date: 2025-06-22 18:07+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Behandling af detaljer" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"Transaktionsbeløbet skal passe ind i {config.PAYMENT_GATEWAY_MINIMUM}-" -"{config.PAYMENT_GATEWAY_MAXIMUM}." +"Transaktionsbeløbet skal passe ind i " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}." #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "Balance" msgid "balances" msgstr "Vægte" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Aktivér din konto" +msgid "balance deposit" +msgstr "Saldoindbetaling" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Hej %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Hej %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Tak, fordi du har tilmeldt dig %(config.PROJECT_NAME)s. Aktivér venligst din " -"konto ved at klikke på knappen nedenfor:" +"Vi har krediteret din konto med %(amount)s. Din nuværende\n" +" saldo er %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Aktiver\n" -" Konto" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"Hvis ovenstående knap ikke virker, bedes du kopiere og sætte følgende URL " -"ind i din webbrowser:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "Med venlig hilsen,
%(config.PROJECT_NAME)s Team" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"Alle rettigheder\n" -" forbeholdt." +"Hvis du har spørgsmål, er du velkommen til at kontakte vores support på\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "Med venlig hilsen,
teamet %(project_name)s." + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "Alle rettigheder forbeholdes" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "Der er brug for en udbyder at få priser fra" msgid "couldn't find provider {provider}" msgstr "Kunne ikke finde udbyder {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "eVibes-motor" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Saldoindbetaling" diff --git a/payments/locale/de_DE/LC_MESSAGES/django.mo b/payments/locale/de_DE/LC_MESSAGES/django.mo index c9c9d2dec4225fe9557788cf223e875ab9f42849..60228123931af968cb3eca421c0f55a511c6196a 100644 GIT binary patch delta 1282 zcmZ{i&u>*l6vv0QNGtvT%CD%HgAsT@DaHkE3`v#J@}p=dNueP==iYnXy#w=R>df4h z0=0?!1ICx=#zYrxOxRW2NW!8kmLzT@;V&?5+_>d?-g}LZz|Fh&bI;6~bH4X{->*CG zjDGw6YC|bCGN9Bb_#wCjJPp1HUI2%|FTf*U3GN5K110Y_a36Rd+yOoY-va*u+u-n^ zQbXV(_%?V8lzKmalK=CdT2))|vWA5Wd;q=%zK2t{!Q-GDxC0ILFn#^+YO2cnZQ7ahkOC@yNUtz zhCH6R#2OJJ*LK_@WS0cEWLn#Bix`=}PTUw`*B+oNO4#{p@JLfzOTm;?iWE3~c2C3i$A5GebqsllYq?bAraqQzPoJkeOD0v2 zsM`{uMsGK-LtxkKGu@vGnTWi8AkE}t5%iL}1syF@j(>jfv$K<*UTR*Ln3-Im+q7}8 zKgPAAo98!mR)(kTgtbf;Ij<7aq7NBY+9q~tPV17@Cp{PFRDb&2Ri|c5lBv|LuqLnA z(NtK!zy1@ut`UV6bTZWRf#I8Uj8xid& zGYMj~quRkt+3A~ssc{fLcE7-n^Sb{6i9^fVGO*PD-vKJ? zRC3I#U>H)y=>i3=yV0TQ=fkT`Nc>H+l@ae*6f;s6)^5WcgvQx_>MBhP+zXXgE!ndiSw9R5b2 zJ%|1x`XA^oqks7j9%x4%7GeTC3O);#!6LW0)37W@-@ z3_OI%Bj7Rc40sasu3*at{LzVa$gsAux^m={+ z3*e!ngE*c5y`2g0HLwQaCwjy29nkyz71#xDfycq)P~v$S^eM-1-k!wM`{QlERPKY1 z(>I?V@5`w9z4N+}dVw^HC(uXjX}oy-PobYgM_Bnjo&tS)W&j~7?Nn{alneBLR%y3Q zrqg`^x^6N{`=d!hR>hsv9jM5%W4py+NzAfK$#N`h=!%zGcBa{3di8AE=t#w-mB#Y> z)w$-zQl(x!=cviDE3R;o7%a)4q7*6X(hV)Ue9jd`Eus|Stt?HACfPDuOrc>%+N9Js zcC$#mgr#F@o8C4_9a2xalyj-bKyP2^nARGL2YT)^qjYL$+lSoe7PYMD!*9AG)0cveiJ5lXTZ)7a=79*6hkkqqg zONDF+9>DN;U3BP};aZ@VJoo^dK2 zk(}u=b&ck2Z)>D*xN3aJ*r7kr)n?~NMkyTZNfnBo-0reYofyvfutH9yN}Nco)Xrzf z=<#=wU4Is-o8cfuDjn?3&Cvm>T(4J`ni~t1W_7)CeWPAms@2!(yTO4AD%bJ_<0hQw ztF#kZ*%vF;e9Y}MsD;5*whq3OX|m8jE^HdqU97@jHj7=*G-WEREC&tVQhrr1kHnX0 zYGUf`U}7>jKS2}c%Tw>ZF@aWC#2E~lKDd@YkYDvyED_wt9uCOACvh4-zXQvq8v(daYg^3#K$tm@_)X zE(Fc(9(+#u)AY?=B9*>K?T)mL)9JP5<>12Ib>8)eZBW&16JpQGbfKlv!b*}^nFN=O z?Yc7QUjFH(r!L|a`kCpon$AqqyN>xJ?~6v0(S^?A>CW*Q9yr9#E6yfi-EJwWd%pnU;!~ zR*}Lajgr0ZV1_h|!EmM#z0n9iEz+jx?dO4zMwBNnj`9?<4%t^Hf}a%a-NAs*7Rn6c z*!%b~u+FVvNg`HySeC9TPB1r*;#8zi;?@o1+8wXQ9vB^t7k{9Crxqi5x?8W1Rt?L;jK_?ehmh|xs*x5|rFUc}$#gvS zN?Z67SwQf#lXa<*xj13$*Z7J&M5tMnNr>Z^MJQ4+mRp)-iQ}bGs3a|s=2;$DxG}H< zv-5+}mJ6Vq>`REe82B8c*3F|hj(xip=SEQP9PRX#%a7}Ut<8 diff --git a/payments/locale/de_DE/LC_MESSAGES/django.po b/payments/locale/de_DE/LC_MESSAGES/django.po index 76b9de2d..15de2683 100644 --- a/payments/locale/de_DE/LC_MESSAGES/django.po +++ b/payments/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-06-21 22:42+0100\n" +"POT-Creation-Date: 2025-06-22 18:07+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Details zur Verarbeitung" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"Der Transaktionsbetrag muss zwischen {config.PAYMENT_GATEWAY_MINIMUM}-" -"{config.PAYMENT_GATEWAY_MAXIMUM} liegen" +"Der Transaktionsbetrag muss zwischen " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM} liegen" #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "Waage" msgid "balances" msgstr "Waagen" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Aktivieren Sie Ihr Konto" +msgid "balance deposit" +msgstr "Balance Deposit" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Hallo %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Hallo %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Vielen Dank, dass Sie sich für %(config.PROJECT_NAME)s angemeldet haben. " -"Bitte aktivieren Sie Ihr Konto, indem Sie auf die Schaltfläche unten klicken:" +"Wir haben Ihrem Konto erfolgreich %(amount)s gutgeschrieben. Ihr aktuelles\n" +" Saldo beträgt %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Aktivieren Sie\n" -" Konto" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"Wenn die obige Schaltfläche nicht funktioniert, kopieren Sie bitte die " -"folgende URL und fügen Sie sie in Ihren Webbrowser ein:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "Mit freundlichen Grüßen,
Das %(config.PROJECT_NAME)s Team" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"Alle Rechte\n" -" vorbehalten." +"Wenn Sie Fragen haben, wenden Sie sich bitte an unseren Support unter\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "Mit freundlichen Grüßen,
das %(project_name)s-Team" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "Alle Rechte vorbehalten" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "Sie benötigen einen Anbieter, bei dem Sie die Preise erfragen können." msgid "couldn't find provider {provider}" msgstr "Anbieter {provider} konnte nicht gefunden werden" -#~ msgid "eVibes Engine" -#~ msgstr "eVibes Motor" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Saldo Einzahlung" diff --git a/payments/locale/en_GB/LC_MESSAGES/django.mo b/payments/locale/en_GB/LC_MESSAGES/django.mo index b8ff6978191607bc34426074403438dbe4e806e6..00eb93a42486450068eb26908b2bc3c01727418a 100644 GIT binary patch literal 2324 zcmchX&u<$=6vr1RkeZ(@za)N$S45NqvZ<2_Q8`Vi<2tEPY)59(kPFs$cXqvKf4DQV z309gTH%>?uH^d(R7k=E3ICJ5IgoFeaZu~eQapwE%-NpivAXPBZ+t1GIo0;#tdHa4m zd+L^j_7v<{*tf9fVej3A2inx#mNg5W1|I{L!27{9@DZ>DPJwTMFM$Dg4tyVEzt6$v zz%RkG;P>Fu;BR0IPTgZ!r@&qC8E_xu^*#XE|0D1L@H4Oneg!@VzJN(L!Sf*de+BVXWm|*yAvSaCAn%dWav~1PxTW8+uZaNhy$qlrU10 zuhN)8O-kO#LM1&*L=mYl=o=o>Qte`_CnAx!vLJbKkm}GBeQoum#)2{s%G2|gdg`+2 zOPZd=mTybfbQ2NFIZZ~2*mBb>@{$=tewcWNqV@}U2Uf9qPSR;CDNYkPWa)*L;_Jjv zUq(@iZ8OO3`k~Ur&hu92(=g4bFLot~WJotMC=Sy^&yz1@gfK|StGj7pglj0x6zOa* zNR=UBN_0${p3Nt9Wh}yIPA^zd8l+aL@?hg+uGE@@ZxH=~2t8{chOtbHw(@Ub5+JAs z)3s%kNHjD+-Q+uoIL#76afVR)p`kE=-hJ%thrz;Tb*EWxIoavUO^xh&bwqG(7i(jqj{;|MAeE^ZJy_CnJ~tjDTw=n>q+Rdo>HR?W7edZMN->+zr{wzKYbZ&{BEn6}!A>Uno=gLS^aIm&<6S4WW(g z@Et_Lq^d&o^>&9~t6Q!1b-Gk*x14Itxw5v^sbi$kS*W#}moY5~G7(7IL6TQ!wbO7K zZ(O5#Ykh-x(zL(LC^Z|+`oyso%B31|6S1|O;Q;E5e8-$0L?TR<$?XfJrCHf>*6fRi zetZaDD!ZPzsfQG+(8XS8N}ExpL}ag}D%KTB2BWTCSz4y?>&k3G=T>NOZn1tj!^1ilK|9#o0ome)C)pH(EHj1wkW#ih>Wux)GmW>TA8|`Dt u#%57Akoo+7PL_>P%I0Nb;{CrW8xvb-Yx@q$#ts*iJ1HC6CzXxArr)1+DSkWv literal 2426 zcmds%O>Y}T7{{liKmoC$8{2;_yx0RiG&o*?v6K0)-&6g zag0^v#*Io`;4>g`L4pG(B+i@>5*#@29k}x!dpEU&l5l|oBR~5a&&xCaXI`G)FQ5OC zp}YWl8TK>mRoH`b_@G>Pgs}>E5quu3f{S1mTmp~47r}49Bk(8iJh(LnA7Bfd2Y&+} z2j|dv0lWlW1FwLt{cZ3Sa1Fc+egwV*D$tGpEN}k;yoCQ>fdTj(_yl(;ejPpMp;J z1JLRI8g#mU0P$nL=IwugPWPXn(|zvZRCffrarZ#TX27I8jjz*Fg1LT#Gl>(Jtb;I) zi#t2#8(Yt?&Fm>yQJzKRN!T;6D=-&}JIAXqSDu@Kv07-8LvBTh&M37oR6}WxC(y1M zYC3LBQ_@MiZ_SC0v@k*+im1%ig|VbX%yncIZv}eI-xu`ye5hnUiObzy=es#&`9Lg~Mb_+-#q?lkt&+q8btouO!jM#!MoJ$nQkDvC z1cfRa6PFQX+*mQ0)mQL4N@Pqsz3mf~yPZj-RWx=Xk3>L$RwGEMvTYSB=I?WP;5wJAGIgh_czysA=ch{G(-WXzOktXY2X2v>&;x-`s*F>n)nO6|O;8*Q z>@<$oP+zM7B?kL`ZOlZj%Zx_lw#Qi$tbOVhfT{13?2N z#n`P?ILt@QHYuI!fv->)L%eSxFyl$YGCm#%X${N!Tv(B?JV_0+noHw$NXgkc@qxRG zG#KI{^%FZio%_WFs_nKKZGUgG<~Q!vcK2G%cC)q9I`U2&Q2TH)V0H<^Mv2{zG#|09 zRv(Mddd8^Hr5f-Hz82hlv~I-NwdOX}Pj|!>cTL z*DF-HUR{3Y%?e6s8+Xw2U3e+CN>{0|+368%eW%^IL$~UkwqL9J?{4h$8fa\n" "Language-Team: BRITISH ENGLISH \n" @@ -70,57 +70,46 @@ msgstr "Balance" msgid "balances" msgstr "Balances" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Activate Your Account" +msgid "balance deposit" +msgstr "Balance Deposit" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Hello %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Hello %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your " -"account by clicking the button below:" +"We have successfully credited your account with %(amount)s. Your current\n" +" balance is %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Activate\n" -" Account" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"If the button above does not work, please copy and paste the following URL " -"into your web browser:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "Best regards,
The %(config.PROJECT_NAME)s Team" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"All rights\n" -" reserved." +"If you have any questions, feel free to contact our support at\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "Best regards,
the %(project_name)s team" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "All rights reserved" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -131,8 +120,7 @@ msgstr "A provider to get rates from is required" msgid "couldn't find provider {provider}" msgstr "Couldn't find provider {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "eVibes Engine" - -#~ msgid "Activate Account" -#~ msgstr "Activate Account" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Balance Deposit" \ No newline at end of file diff --git a/payments/locale/en_US/LC_MESSAGES/django.mo b/payments/locale/en_US/LC_MESSAGES/django.mo index ad9b1d06c84a1812bf26fdad050d030db6591870..b5d49a6e5a92239b90821c64fc59f00b94227301 100644 GIT binary patch literal 2312 zcmchX+ix316vhW=AvKpmxr&Q8MT(L@HgysKmD5x>u9F(YcI0lFh6k+4?$}R5XScoJ@6^wlLx0kas-<~=C?wmXI ziNJUs@iO8k#H)ypAHV@);z1#%!872~-~#vvxC)*H8{h=^KKMG=1$n$*)a{g!Fqu^KI4){Iz82B1qx&>YUIsZ#=3j7AV z0qwtntoyBpN4nb}>oFkf-Usm$AK}2dZ-cD+JCO5!16lVUAnQ1do2>fij6Pxlrbbb7S->|z!!Zvh*WHi$esmp7e%#r z-3Y5?Y@h+^#?MJcNg7*_#$4yF9*l0Q}wHt7ja|NwmqJ`qZn@(}wSu9da}`x>|^GNg$gq%{tUEXw8 zor{NgEWM+&Q;ogEM`M-f;!a=-8)2$t=&U9>G9`-p!%MTgutcNN<>{EtFVpY}T7{>=%pmljIrAWL!6+$Fx);OtvYSTnGu9FzWFLF0&A|XZN-LbP|J+sV= z<62cDE}Y;9SFUhD2qEzy5Zn+44!!dMIB?@X_HOEn6E1LI6ONDCwMk%)?HO&CjB^tg`9!mW;84GsjoITtF~jeEsbyZJ%266`n1 z_3FH#K=3}>6iK4sGC+u8H`d1POWqgrW`WhZWHG!muvSUp9d#rqQo@i_mWE0nE>M~X zZUluY9TArirQBFC9@SNdJB($Iw%c1XmAjpZrByU?OCE|2b+j5niqE!GPqE;D%R|>m zU8TvyJ?SD2((&hvbrq>KQN^ad_w^nOb^BU@1Q1lxlSpM?w=6 z_XKtt$7`soRi9#megAk6YZ0*yPq++4PQ!4%NhII0)Q#OHI-QN%lh21B4K%)7-lt>#_f=j({4v}b-t`hnVGDQA3*7P&Zk6__y3uSCY;C*I+@V{QW+Nz9g7??A+f}sG+Qmw< zzKUV8H{dq_^HPcj{Unw6zx zyh7KrGAHTU3N6kr7fw>iskh!ezLPAIzm@-8?)i`M3;nYkQhxaQPtPH1Sq`}q@^&mefIF1t);knt1CGRRc@-^w6UQy6wP&meyTt8a=n diff --git a/payments/locale/en_US/LC_MESSAGES/django.po b/payments/locale/en_US/LC_MESSAGES/django.po index 7d0c819a..f6465785 100644 --- a/payments/locale/en_US/LC_MESSAGES/django.po +++ b/payments/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-06-21 22:42+0100\n" +"POT-Creation-Date: 2025-06-22 18:07+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Processing details" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"Transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"Transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "Balance" msgid "balances" msgstr "Scales" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Activate Your Account" +msgid "balance deposit" +msgstr "Balance Deposit" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Hello %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Hello %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your " -"account by clicking the button below:" +"We have successfully credited your account with %(amount)s. Your current\n" +" balance is %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Activate\n" -" Account" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"If the button above does not work, please copy and paste the following URL " -"into your web browser:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "Best regards,
The %(config.PROJECT_NAME)s Team" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"All rights\n" -" reserved." +"If you have any questions, feel free to contact our support at\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "Best regards,
the %(project_name)s team" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "All rights reserved" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "A provider to get rates from is required" msgid "couldn't find provider {provider}" msgstr "Couldn't find provider {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "eVibes Engine" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Balance Deposit" diff --git a/payments/locale/es_ES/LC_MESSAGES/django.mo b/payments/locale/es_ES/LC_MESSAGES/django.mo index 99797a811d02b1e0cd1f12a218be1e6c940ae9e8..7829282b5aff75a794cd45cc22e1fc6b47c6091f 100644 GIT binary patch literal 2408 zcmbW2&5smC7{*IQh4CBw{(LbZEV{kSE}~>$3Cl9OjA3Rrv$F^nH#OZgJw>{^nyTu- z6*ziQFDAyD@#M*iL2o1+_!mq}O!Pl6UOoD}Js*q)*Thb0e*IBZ?^92`_0Dhm_k1aE zy@2*A+D~Y2pndiLesJx5P>4BjA9w&<0v`p}z^A|#xEK5od<%@hgWwk+_xk~S4ZIER z2Y&%y27d=raPLDx>;Z@1E8umI=lcre{@;L)fw#aOcn5qOd=rCifJZ^@{~dT3{1Lna z?Z1LmJiq(MD1Hn+jOR~4p7&Fb^?eO;zi+`s@MmxzxDOu*JOFb4cfgmxb?|dgf*kh` zkp21-xyj_H7wt%h}WC(JE*h7dDl9gYE*- z%InE7C*Xa-a?9%({IdS%MvtY2r*Y37vOd-Z3(MF*sfj5h<<<;!q%3(uvGQc4SC0DD zq@*2Lb+yn|MM5SCSsf2NzjMkC@vbKmnT2XXid1f#_LFBPddgu!6-yhr`BOc6+7A>R znnTDdD)if#Ow|!bUddF1rbwdfu&2JxqI;sQPvqScli9~4XHrF}$Z2W_iV>g0%95Q&M6Fm`MDZTP&a!|GBri!DJ@`iUwhIS^j=5ozK$0*RxUT|t?u^vO1J*O%H{25qt$3`HE#z0 z+F|8V*6W7$pB3FbgxnCs74uwby?N!7MT9P4l5IU}DKY-UGRao@sYgkx|h3#tC zcn3M_4$X}p*fpLpvhtdkYVNe(udjBuTPw}_O}a7J`f2)YjM6J;M8QR69Sp0{Vx@!R zv_5FMSVzIxB6dO7)Tpx24mxV6xmR!wsb8a|>eBI`x)>a*QuSDE>AknBxGEQ<^Ff#Q zAd%kK8r9d^9YQ<1)oNd)Q>*P(cV)GEW^Joe$D2lHVYS^njbT|_$XEqkBzcX_b{gHr z=6R~O)-N#sYgmnx3zVxg8_oL6Viu~ERb(U_4Z1ryG<)@tKbj{}XD2BfNb8he-s-Le zC+_uQ>3wB`dKQ`piB+Q$J?$$SNnvFYtQniS8fAI;=$4mG(&%=1E~A6Xw0PuXMQkd{ z6cRvtNkvv3Ql%ne;e5hJhfEKexRgk%`_hT7iHxHJ4LPsE0d7XcL*l*Ilu2a7IhEhN zg((gCkSkx+U5Lt3b|`p)5NAfqM2%_)VsTN*`AFlO%v2K5GUPZ_DaR5cLkernaBwVP z5c&>Ba%YOlG&<|x;)T9&M_GdtX=NEH(LGEtBUDmYzt8?BT4WiE!WE0hU#N1HkOeT8#2bmoI}Y;V0XE%qf%rE2v1Ei3m46x&ONyO{2pyC(f%BX@Mk0HX)TbL6BY^etNBMAn&uLZ9A)xf>0F)? literal 2465 zcma)-&2Jk;7{&)$pmix9r4&&>yj6v0Mb;##D3#k(IH}th#YyCBN{f)9+1;@{?RsWA zGwTql966O^IdI{IxWS>^IaK1n5pm+cAHj(W63@Gi(;P_4NaLS9JM+%_wU7TicJOO~ z@fzlvn7?DbjrrA6_`o>yv=GzaVenP30ZxId;0(A8o&8uUm8Rih`2W}4d4gxv#l z)0U2QSM!{l?hk_B*N{_Qxsl51VqW<`PW7eB{M4nyU5*Ee-Z_(6)6@O>YIo)1)?dv&bMw?)1i$mU22_?>M!j*S<2W#LC^tw{4NB!g?JhByWd` zhSsPpzH4G|XV=~(>vsHstyFnWvKQcBA$2ASxiwTKc(L=0!^%{UI`<+tX*_4hn!Vpi z4!IX;SfY`7I*hAxchW%3o1NBjym74=w?1j!+~~BI+nx2!cC_z?=8bB@-YdM=)M1c0 zxhYniy`|C+wX^8Davr`kXr|UhE?kH@zOS=rzU=!bwhgMSu0&lm(!49Wg2Xpyc6#=M zXnH0(H%-&$8nYk1H;qwSLJvkUhnLG>U4vTJR=R{azrMV3oh~h`EXU1-_@k@q-4<5b z-TJ~x=Q56&ekuDZ;@6@<^WApbUR$Kr^0g)Ala4h=`AGR%r`>7o38p?>Td*de3Q@dO zz~`Vo5APSb)aD|k1L?d9bL;Wd=)$9Y?0QeRsAW={p=J%bkmyib%}Xcq=&E%?-yl;| zKmFY7MZAUlWbTZiQ*$(P_F`>EO59_cp5MKN5}wJ)cJd{qDp&_EPD2h4kcf z2Ladw9m6sso$g7`Y0a!?`4qz9#j+)MIDj0XJ#dvmpBVO=FJnm=8{4BUS5)!v0j{$G z-&kj`7oDY?g-|$IRVUX8Oz?*BR+5umSb@YK@q{ae)zQ*O8mTXE7U`5?RramN!60)~ zyb5A0IMDC0%A^{l6Rn)|kY8>5jZ{T~LDrz^DV7o>=oWORDuASYHRXSc&hG8dQ7^hG HXpZn-4|tz= diff --git a/payments/locale/es_ES/LC_MESSAGES/django.po b/payments/locale/es_ES/LC_MESSAGES/django.po index 79ea16e9..1de2abb2 100644 --- a/payments/locale/es_ES/LC_MESSAGES/django.po +++ b/payments/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-06-21 22:42+0100\n" +"POT-Creation-Date: 2025-06-22 18:07+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Detalles del proceso" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"El importe de la transacción debe ajustarse a {config." -"PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" +"El importe de la transacción debe ajustarse a " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "Saldo" msgid "balances" msgstr "Escalas" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Activar su cuenta" +msgid "balance deposit" +msgstr "Depósito de saldo" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logotipo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Hola %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Hola %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Gracias por registrarse en %(config.PROJECT_NAME)s. Por favor, active su " -"cuenta haciendo clic en el botón de abajo:" +"Hemos ingresado correctamente %(amount)s en su cuenta. Su saldo\n" +" actual es de %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Activar\n" -" Cuenta" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"Si el botón anterior no funciona, copie y pegue la siguiente URL en su " -"navegador:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "Saludos cordiales,
El equipo de %(config.PROJECT_NAME)s" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"Todos los derechos\n" -" reservados." +"Si tiene alguna pregunta, no dude en ponerse en contacto con nuestro servicio de asistencia en\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "Saludos cordiales,
el equipo %(project_name)s" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "Todos los derechos reservados" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "Se necesita un proveedor del que obtener tarifas" msgid "couldn't find provider {provider}" msgstr "No se ha podido encontrar el proveedor {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "Motor eVibes" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Depósito de saldo" diff --git a/payments/locale/fr_FR/LC_MESSAGES/django.mo b/payments/locale/fr_FR/LC_MESSAGES/django.mo index 8a76bdf4b9f38306688f086c0ec46fac446cec95..d8d54560577fe0b42932c066ca4a0640cbd4e64f 100644 GIT binary patch delta 1275 zcmZ|N-D(p-6bJAzO~3r8t?>)BI#x^CT3YZzFBGBG+8|oRidqrFWOtHG+3chE5VDrgbIBDL3{x({GVilg1WH#+u1!cbM~D5k$IkZadLHpG1i-6 zECWx&Zg?5)hI6n7K7eDe1dqd)km5GrAp8jTz_0KS{0=Lyr-QLHtii+Z38eMbAjPkD zuvNALH}CPF06)QG5fxB%B+4Pp=0hgD9%4D5wxA#FGXDe=4T5%eJ?z6AsL z4Q_{bFlhu9Ao6Y|NAu|&RUlQuH7<183Y>dBdnhWVns0Rc#y>E*?k?9vB`;Ugl**s9@Aiut1k| z9HuvCWou;{d7iYk7zM#H_l)$FlRj;1xbQq3g^oW|u8b5#g+^GT_124wkzsS6Tv8RT zEaH*@ZALSFBObCR$fKxA6E|*NzcO?2R(@{k+RRhF!rK#*GQL06d2d^s>&czHr6bFI zqZJjuQK#zT%BGX@C-O^4`IE7Ye|8-_%Bk!@wozY-RQ0do$8UPV)oC3r(kK42@bik- zXnPd?F&b?DtbCX)BM;Q*F|P{C8|&@zOT$C$jO3K6@+9}O!dhh={Vo(2WQC94$RZ+2 ztC|So-Kk^$>d;l{(9Yh^=jK{TpyOyvqmIrr>d1^X@pPr?um^qJ@4nn_C7=U8?oS=f i(Vy6iNUBU7nV0xEoift=wbdfi%xw2ZX-ThG4x&NJ`KJpSX@ z!OsNR^SEBZ^$V_7aDDs`ZfJ)d7GerK3_b@|z)5fooCbHn7r<}9UGPWnAh>h@Ilu;Z z3j7^>3_O6BhrlD?3Gi8v``-j#1}}iez<0qHK?8F9M@9dq;1T@(3T%Vlfscd79~s7- z1g}E-Bv?lOhmT?m@D6wu`~f@<{tfbcD;PWhuYgD;z6U=5e*zc5B@B*7@d?N}KF940 z_+`=mGx#cg{{}t<{so={j~+(Nz-io$gR>y(Zi2VK_dwSDD_8>m1i9ou-k!vr_3%5S z6qrsP59IZM{JV|Uj&q~*0%aCY;2O23@o*FuYvVfbTzDN>6SrrE5TY7--IrdK=mD)7 zh9*n=-4E!R$t>ONjbpO9yXD=!iL7$U_El6C^U8U$sw-{eCeOF+h1Qm$*G`2d>F92G zt-1P6ZK1WfQf<^uJ8CJ}6H6+N4MH-cD0j4Velw9hb=pmedWSqdZ)e_{gk;%b2=_%@&MD6fcql87&c$cw-9^?v@b0j++0#m6Yk;f9b}pz5_oZKbujSZ&p=RIhC|>MQleMq@YFH=ueo z4;UZ9iEZt-A}hDWnl;x|=!1F`TvpaWONFLOP1M5rpy9eY3g)w}3tFZ^rM17gkqV z)rHpEmo}O;^wgW>h1JFde3o=G*;N4_iwey*>#h3w64h1~mzfXxtb%P2bZn_nZ`8&n zQ=TdE>o;aSHj(+^K|4%+d7e+0xKTl)dk!=d-t9dZ|~VaOxXx`84O9 zEt5HlvA-j0^!?mtu*dd;ds#G;j$@UArp>=1p>)ZQwu6 zXk9}KwN1ue6zU+tUWdL!!3vUm8{-l7Gf91wv55ECl{Ah5&S?lU!c#l}FCv%0ma!xh zq0YsW6WP~Y?5Vw1YxMbH(VT@xX|KU48GXUSIcyHq#$=73_M;}QqUjk zn;A4f3sn7kT0B@q)MH{ZPX>E@tR;+vl|HqpyS&WHrVqL-PJ(k3Ze*iG!#hU;C diff --git a/payments/locale/fr_FR/LC_MESSAGES/django.po b/payments/locale/fr_FR/LC_MESSAGES/django.po index bbf2ebf2..2319678c 100644 --- a/payments/locale/fr_FR/LC_MESSAGES/django.po +++ b/payments/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-06-21 22:42+0100\n" +"POT-Creation-Date: 2025-06-22 18:07+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Détails du traitement" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"Le montant de la transaction doit être compris entre {config." -"PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}." +"Le montant de la transaction doit être compris entre " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}." #: payments/models.py:61 msgid "balance" @@ -66,66 +66,58 @@ msgstr "Balance" msgid "balances" msgstr "Balances" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Activer votre compte" +msgid "balance deposit" +msgstr "Balance Deposit" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Bonjour %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Bonjour %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Merci de vous être inscrit à %(config.PROJECT_NAME)s. Veuillez activer votre " -"compte en cliquant sur le bouton ci-dessous :" +"Nous avons crédité votre compte de %(amount)s. Votre solde\n" +" est de %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Activer\n" -" Compte" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"Si le bouton ci-dessus ne fonctionne pas, veuillez copier et coller l'URL " -"suivante dans votre navigateur web :" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "Meilleures salutations,
L'équipe %(config.PROJECT_NAME)s" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"Tous les droits\n" -" réservés." +"Si vous avez des questions, n'hésitez pas à contacter notre service d'assistance à l'adresse suivante\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "Meilleures salutations,
l'équipe %(project_name)s" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "Tous droits réservés" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" -msgstr "Il est nécessaire de disposer d'un fournisseur pour obtenir des tarifs" +msgstr "" +"Il est nécessaire de disposer d'un fournisseur pour obtenir des tarifs" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" msgstr "Impossible de trouver le fournisseur {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "Moteur eVibes" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Dépôt de solde" diff --git a/payments/locale/hi_IN/LC_MESSAGES/django.po b/payments/locale/hi_IN/LC_MESSAGES/django.po index 306b42a2..c8a9753f 100644 --- a/payments/locale/hi_IN/LC_MESSAGES/django.po +++ b/payments/locale/hi_IN/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 22:42+0100\n" +"POT-Creation-Date: 2025-06-22 18:07+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -67,48 +67,41 @@ msgstr "" msgid "balances" msgstr "" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" +msgid "balance deposit" msgstr "" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," +msgid "hello %(user_first_name)s," msgstr "" #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your new\n" +" balance is %(balance)s." msgstr "" #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" +msgid "" +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -#: payments/templates/balance_deposit_email.html:116 -msgid "" -"All rights\n" -" reserved." +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" msgstr "" #: payments/utils/__init__.py:8 @@ -119,3 +112,8 @@ msgstr "" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "" + +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "" diff --git a/payments/locale/it_IT/LC_MESSAGES/django.mo b/payments/locale/it_IT/LC_MESSAGES/django.mo index 4ce446109576353edb2141ac63a884f1c38c5f4c..021e8f7b09f06f9bce54b745bb06e8efb932f982 100644 GIT binary patch delta 1242 zcmZ|NyH6BB90%~>B?pQEC*UKHfq=X&Vo0Pi#y64}3$^eSFLS$dcVp&uU}p9R4?}0I zZedHTD2xqiWwh{5FeYL`XY2pq_qTgj5OtHi&(7{VzrXvO-|K%dzBR=d>uO~z59eVg zyaA8F+b{>8z!_M9qwp1^e(&Kh`~>^qPk0LchBcULW2_z4;c2)5X};Hx`fsz;(3WL9E55 zF=z^&gV=YP>L8@eQUa|N{0!kn|8xLIPe3*=Dh+Lhu0GtfkpXJpqO|A$w3!av$8jUX z^z?xB&=0O;uWhC%wB}Y-s@`!cowRisvXamu3S?6r%4Oq}Z?+vPN$1hMB5ddi7fSY` zuSz~KwQS8(8Teu(YI53fFGVfMw?BSRm0BBok1>C-tgLHxDKJ&$YbNGZQI}jqYkVcf z)XGGzz{^r1&HtypCn$!KRj|BP?)X4gh=yR#h+Tax+QLiJwkz2b_8$|`!YiXsWMk)*_>3ow7v(@U(#3%3#L&B?_;5p-qw+k?8VoegC)45ys{=MzyKAX86FOj Hj$nTPrvfQd literal 2494 zcma)-&yN&E6vsySlfer>d>0 z-en$9f)t3wVDFUH}hZ)3?A&px5&$2vzJ6cn|y)ya+B}^BTAbVv1St9QXjlk3GcW zL+~f?74T2+6!;H#7(9x{o8Sr1+kGC?;Ns-{2M{K)UqBynplUDU>Fx1*LluKNm7hQr zAHQbWeD1t%gq|VH>?QPRdliEh(YA$;fQe*_n!ru)=JKq|TOwb!0@wO=9P+49(SOQ_!h1u~wit3QlXffG zSZj9MXDvm7kJt^7=Ncj`LJ|OE8;`FB`DFtlG2X0wYfV- zMJ~7%6zgJ#xJszt)`@CWs-bsVs*KhLt1~V4k&()2+VL)Liy;k--i9e5Th*Cn(I!`S z{YOf*AuBWGHI_y7I>WCz^~YB6NdhY6|7ijrXMlz~6z4L&>o?is`cS}?kZ~%E-jazh z1dB6)NF%+LQlm#CE#m%VDUC?jkmp>*VoJ-9-#k&L9i`F-X{zPHbhOJ7QD`gOlw|ct z&`2w>oJj4R(q>{0bj8A2;;Dmy1(yjc_|8ZuXW8VNcPkN&%iJ<&xUxP%TJ0SZ zANjLLqY?)xm2RA!2h#)8ywh#3MH?&4sQp><&PKPh*6FTycY~P%&D)j0-YqQKmTogK ze4F)+{zAkq=p?}{VJvJ3X}&f7{~e2z*EjjfIOr zV?MahpvHx8;nKMVT5T0)Fo?W+Id|HG)L!Wg2z_~dt#^yAw0dh%vlV@OeSOfzOlMGU z^}1KFOl2j{MBuMQNXvsx)VX)HJyhEW-7dBq@BO5%_>H$CHagpbW>DjmAT~zB;k(Xb`*xA3@J)Wbsq|ENxxKiUf<7>{O)~pzQUkWO4dvK573%s^* zhWe1-P3ZC@>r-uS2cxfiP%n^uo^YhI`2@(e)}4R`Mb+~+)Fs6jgmOJ zD7Tzq_zP*F1m1HLS4gF)U~L2_|QF7x2ND-8y6hS zCIc^N{KKL3{eZvg?eT;m1X3hEEMd|6@ Lk`1JjMzenb?AWPX diff --git a/payments/locale/it_IT/LC_MESSAGES/django.po b/payments/locale/it_IT/LC_MESSAGES/django.po index b83a0bec..50d12ae9 100644 --- a/payments/locale/it_IT/LC_MESSAGES/django.po +++ b/payments/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-06-21 22:42+0100\n" +"POT-Creation-Date: 2025-06-22 18:07+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Dettagli di elaborazione" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"L'importo della transazione deve rientrare in {config." -"PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" +"L'importo della transazione deve rientrare in " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "Equilibrio" msgid "balances" msgstr "Bilance" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Attivare il proprio account" +msgid "balance deposit" +msgstr "Saldo Deposito" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Ciao %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Hello %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Grazie per esservi iscritti a %(config.PROJECT_NAME)s. Attivate il vostro " -"account facendo clic sul pulsante sottostante:" +"Abbiamo accreditato il vostro conto con %(amount)s. Il suo saldo attuale\n" +" saldo è %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Attivare\n" -" Conto" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"Se il pulsante qui sopra non funziona, copiate e incollate il seguente URL " -"nel vostro browser web:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "Cordiali saluti,
Il team %(config.PROJECT_NAME)s" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"Tutti i diritti\n" -" riservati." +"In caso di domande, non esitate a contattare il nostro supporto all'indirizzo\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "Cordiali saluti,
il team %(project_name)s" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "Tutti i diritti riservati" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "È necessario un fornitore da cui ottenere le tariffe" msgid "couldn't find provider {provider}" msgstr "Impossibile trovare il fornitore {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "Motore eVibes" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Deposito a saldo" diff --git a/payments/locale/ja_JP/LC_MESSAGES/django.mo b/payments/locale/ja_JP/LC_MESSAGES/django.mo index c7bac42331061dbbef5c6e366fa4f0c3132b89e6..e37cf94cc8970fd80023c658fd0c1e96fd217e33 100644 GIT binary patch delta 1309 zcmZvZ`EN{76vwYF+S-buqN!XwoYY;-}l0&P4p^XTEn9OSpOWe(pK@Oa0&Pg41>k_gcN{HU| z1lR-l2Ppk};Isnl2T^xA`66%zw(LM&5Jx#S?9&banIn%smK+U!IKAfKl!YwJi0NYH z;x4;bh`j(CO-zpmAhYFx<$cVr@hQ4aO)VI*Eow50nN7@38WdfLs4Pe7XN`uX**V!F z4a~A(9#l-fRlB9Z+-8Rut*UM`jgw5ZeGw(hR$J6&O4utaIDRz5blt$agZRFHW?DIu zTA~GLv*FN?(!{6|X{M(fgw~9RRZ9bm=`>(6Ms0(tM#NTBn;MQuEvK>3Fm0;X-n_iZ z@~Z0WqmP9ZO=ZkCB`IjYJmE8ysQGgVFI*KFpOiA}1gs^LUzdRntX zC{YPZ2{AISs$-fglFqXy+ZC!=u*(WEne_CV%4u>2bp*8FxhO@Ypo(L-EGasdIM|H=ZRQw8byr4(_^lFN#%l~e+h;b2nCt?F$MTyZWxF=js@FBtP3jX{*oflC~ z1iv=LnHVN!OsakA$YIgcZAyxQ^7AKUi2p4jw9sctB&MgU)tai z^zrLmu#b0N6fQ0|1;;sKK=A7_O4OATs`zI@c)))?6Yi+jUh?^%3^RN$@d#0e<6ZaT zZxDFs_bgCY{QN`oK}K~^WUjWTD>%LHaWMd;t8g1|q>O z*gp$Y0{sFW#<>Ja`zy#A0Y3o?;53LU)(Umsfno4<@Yi6zl3+(8x&Xs&{JjZ22R;Qx z!F^x?ltP9;seBZ~kIhu=KY;Sx8t8z(RnJF5mBa}Ux|I*0Vxu+|LVnc&6r>UWszp-m z!}Sb4WLMCAhEB65u^+Cd@$m%qF6?G(*={+?7HqlpRKQqg+({2;jvnIMmfzFZbTJrc z?~KRItl?}u;~$w>i*H#o8E&Ohy^bC7|7zHmw{%;#2J}RPy{+30xAc@|CG7B9G3!vY zSLdy5anneqQ<3hI@4wr1INI}G=kcy~n@4r+G&`baGA5p65h9XITej0?&J(6?bHj9a&b0c%yg#FB_5q#8&Hh2I842F6*^aK}j3v&1-rgX0hP*}C+5gTYZf#sX zyFPk%eQc7I3RgEKZP_d$BYlNPJD=9*HR$cGXauia(8%mI@ooBP8zocLHts zM-GuZp>#|$5Ey$sH}O zAkzi;OngCNn#7lg{^#l?M&3-KM-Kkhr3}&y#Qw6@p33kvKzQ zg2W_3ZndzY^xx8?UQF&fd7k{JO5Qdw)KnRe%BpJGCbs61e=u;cg}ia{=4HFwyR5k8 aZ+?EhJU8P19WedY;Dd(py>B*$huJ@EYytoP diff --git a/payments/locale/ja_JP/LC_MESSAGES/django.po b/payments/locale/ja_JP/LC_MESSAGES/django.po index a01cb829..4c8d5b7d 100644 --- a/payments/locale/ja_JP/LC_MESSAGES/django.po +++ b/payments/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-06-21 22:42+0100\n" +"POT-Creation-Date: 2025-06-22 18:07+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,10 @@ msgstr "加工内容" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"取引金額は{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}に" -"収まる必要があります。" +"取引金額は{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}に収まる必要があります。" #: payments/models.py:61 msgid "balance" @@ -66,57 +65,46 @@ msgstr "バランス" msgid "balances" msgstr "体重計" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "アカウントの有効化" +msgid "balance deposit" +msgstr "預金残高" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "ロゴ" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "こんにちは、%(user.first_name)sです、" +msgid "hello %(user_first_name)s," +msgstr "こんにちは%(user_first_name)s、" #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"%(config.PROJECT_NAME)sにご登録いただきありがとうございます。下のボタンをク" -"リックしてアカウントを有効にしてください:" +"お客様の口座に%(amount)sが入金されました。あなたの現在の\n" +" 現在の残高は%(balance)sです。" #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"アクティベート\n" -" アカウント" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"上記のボタンが機能しない場合は、以下のURLをコピーしてウェブブラウザに貼り付け" -"てください:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "よろしくお願いします、
%(config.PROJECT_NAME)sチーム" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"無断転載を禁じます。\n" -" 予約済み" +"ご不明な点がございましたら、お気軽に下記までお問い合わせください。\n" +" %(contact_email)s。" + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "よろしくお願いします、
%(project_name)sチーム" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "無断複写・転載を禁じます。" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +115,7 @@ msgstr "レートを取得するプロバイダーが必要" msgid "couldn't find provider {provider}" msgstr "{provider}プロバイダーが見つかりません。" -#~ msgid "eVibes Engine" -#~ msgstr "eVibesエンジン" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME}| 預金残高" diff --git a/payments/locale/kk_KZ/LC_MESSAGES/django.po b/payments/locale/kk_KZ/LC_MESSAGES/django.po index 306b42a2..c8a9753f 100644 --- a/payments/locale/kk_KZ/LC_MESSAGES/django.po +++ b/payments/locale/kk_KZ/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 22:42+0100\n" +"POT-Creation-Date: 2025-06-22 18:07+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -67,48 +67,41 @@ msgstr "" msgid "balances" msgstr "" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" +msgid "balance deposit" msgstr "" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," +msgid "hello %(user_first_name)s," msgstr "" #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your new\n" +" balance is %(balance)s." msgstr "" #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" +msgid "" +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -#: payments/templates/balance_deposit_email.html:116 -msgid "" -"All rights\n" -" reserved." +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" msgstr "" #: payments/utils/__init__.py:8 @@ -119,3 +112,8 @@ msgstr "" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "" + +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "" diff --git a/payments/locale/nl_NL/LC_MESSAGES/django.mo b/payments/locale/nl_NL/LC_MESSAGES/django.mo index 493f537a655b95ba7cf59939cf6012b9155ba202..660b9a176132fba6ef5b34aaf8583df7d23240f1 100644 GIT binary patch delta 1252 zcmZ|N?@JUx7zglCPd)o#{z}Qv#>!F?1A`)nK*AqcS!iKJbj zQ!Qida1=Je33vd`z%;xMhoA@h;B#o#y@NgQ18jreU^n~;^Dted41z5W3BknkK@?P&p{1mA@*ROVK3Z-HsB9vGyheYr;*(P=IziP z{mfHi^etW}6zSa$8L>O`vc)rnGktS6nmt{pLB8RGSmkLq`raIRwOWI($ zCzPv)FJ#q4;}h>6C@8r=j>$wKPlK8p68WS(b?=T(VJPuDM*K`JP`bKgm<2h$BxCN2 zB5@Hd@dq(N2Qt#bJVzAroFd{zaz{o+IEKquaUB;5QW-8x(puZo)jv>qn4!D~!a+U4 zLg~pQO1+>cmP>RNiN* zQWYL(tgB4yX7){2i4t2z9=X69xiNcvdi>JO%*@!e@ke}xS6{4@as5>N-I`<|edhdF z7!u0p_=X~0lu~8Mm$6F`n-ifcx9)t-;IKjDv3Vj-JH8NM@~5G@$0xIM&Dj+hC4H%m zWGy|NnL>kisr^`}dCZGSc-Y>jtQqEuwiNNdY8N8P<6$0K$><^RMSK`Y)_x~}LtGYY z2Re7?z*Xrbo9Ryz^XLF&vxpIwaMVSLa1wOT_M<36?op*3q}=j0+gos}#QivM121W* a?VZ%NCjV9ca%2z|ad$0$xt3g4tN0h!|1Ej| literal 2454 zcma)-O>Y}T7{>=%pmljIv`D-@RfR}J);Otv;x-jda2rD$N6w}%fE3MoAFn4~&zPC9 zO;knV!igR@z=;pQ4Gu_L_y!gu4D-L7j(-iF!uxk%0{#d-4xW8vGVeTi3$ZVP zA?`08g%9v2a2fm+d>8x&3~^tA^N+x75T?ZUpa*{h!~6v}hbi$fSO6t>9?YljUxA@s z--6G8KZCD;zfHgY1%`b7p1v1O3bBXxGhoQ$a}a;xF8+m*hv(3qLJ#o-pIADMA>VUMy`*;=%?b!*0sI=ERH<&VjiDFw>=XbU2@ddXiYHjjZo(#MzOsQc<+ISin+g+r7 z&eAcpOn;xGPN^@Q=kcnxf!&eP8SOMT=0+YWqqH})A5tE1LWwmagi;n8CNm=LNZkz| zsckGdmFZw{&>z3f$*V|Plc?l$1IEVh8-kqd044j>%2lfyoE%9#VWd(PlKR#RRmzqS zamJ`Lw%1YHnjR^Kx_>%QmQ#_)TAAKg- z3ulpf101Bb@{`@UGdn<)+x6;ZynDS8S8rBs@78OZwfau|AeuX&a%(){s0$}X%6C#L zM`FvGJ#P7^mPR+&I>b_@r9u<6us*80Or_E4AahY{%2e2DL`@#5Fe`c=g)h@`Y5A?F zv=m(|QR!lN`JFdPXoU@&!6**t<+$``isft7i5&DfrUxBmFm ztt?;0Eeu~)7Brn(p`{C#3lk|}w)Z{t;quK?W@kjROEA7RY*~v+o-oVuUPK8L$6{1S+aBe9Gkak`|XqdX%^hqmN z9kK2DMe3TqLdL`z^^jdkr4EaRCeK1dL56UcX^(@<{8wdG8I!vnb0IPvn1qWS=SYYW zwKp&9B8mrv4?baZR=qUXKxpu2;1+s%BwlD^H&@**>$0eZKxaw-0r3*0LxMC!;9;Uw zdx$&;%MiPvoEO_NPmQ?AoH-mFnTrph%ZE1ZsmY`+Lud^)aobC;I72#k#J!@C^boH+ zrQj4*orqP~@A3B_5{Tc8eKjWPf-Shu%zJuX3 sF@9w{9V!kdjN6|<-Y|+^3\n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Verwerkingsdetails" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"Het transactiebedrag moet passen binnen {config.PAYMENT_GATEWAY_MINIMUM}-" -"{config.PAYMENT_GATEWAY_MAXIMUM}." +"Het transactiebedrag moet passen binnen " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}." #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "Saldo" msgid "balances" msgstr "Weegschaal" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Uw account activeren" +msgid "balance deposit" +msgstr "Saldo Storting" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Hallo %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Hallo %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Bedankt voor het aanmelden bij %(config.PROJECT_NAME)s. Activeer je account " -"door op de onderstaande knop te klikken:" +"We hebben uw rekening succesvol gecrediteerd met %(amount)s. Uw huidige\n" +" saldo is %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Activeer\n" -" Account" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende URL in " -"je webbrowser:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "Vriendelijke groeten,
Het %(config.PROJECT_NAME)s Team" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"Alle rechten\n" -" voorbehouden." +"Als u vragen hebt, kunt u contact opnemen met onze klantenservice op\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "Vriendelijke groeten,
het %(project_name)s team" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "Alle rechten voorbehouden" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "Een provider om tarieven van te krijgen is vereist" msgid "couldn't find provider {provider}" msgstr "Kon provider {provider} niet vinden" -#~ msgid "eVibes Engine" -#~ msgstr "eVibes motor" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Saldo storting" diff --git a/payments/locale/pl_PL/LC_MESSAGES/django.mo b/payments/locale/pl_PL/LC_MESSAGES/django.mo index a59f4c091246d290210898343bcac45a05406f9b..6134527e0e915bae96b6dfad3671079435bf844b 100644 GIT binary patch delta 1314 zcmZ{i&x;&I6vr#G8#77#kz`_mhRE~B;%;0M5`uz?5JGf`x=Iq9M8x53cTG>tR9AJn zs(0v4WMDyZ64XAZc=6^Xw^dII9UVKgs<*xeAK1)c(Tfp39NfXiSL`~*A(Cg8K+S77k_5j+ZRfCs?ez^B3cU_Tfk9GW50e=A>1)oFIb?^ij0&apYft646nGL01>XTZ_~F#PGqvx6kA?l+hykyF&^_tuAuz;-4m1+H4r9SzK-}aB zC;0ahMiaz@XFnEli6?`BCv+A7AN7 ztu6KolRv<6y-8jUdEwtP8>zHFrJ3W z_aKqeU?IoWZdByCG?O|@)2@(m@S7T;Scr^s9*S$w(N)Ru4=%ia{@mG1o#iv{o%@uo z({|vrjq5M%{Afr0a`W|3+f`Bzl%x#dOcgtyS8}{zjT9Gdtq+YIa>C*w>)1|)P?f$A zZBCR}=DwC0;wiILoZF$2M)718m2}yy_3_$&1|pVGDz)PcgIb1leWQ7K)K;GR51-9> zIsQ&7O4(J^XXqSQjXDF$O3$Ghxj`7qz!!aTYV%vF$iTTwDXtWc*JKKHsf|ipg{Ws# zR2kXFub4Ovmo42xb*pjY&_gEpu1)HD&EL;n8sbV(C}XLz&LgW0NlQpGI1YNIH2Ot@ wq4k@eJutyD5XRcn`x?(I4NHS7{NUi)Wn{a&d1Ipef2Y^Z#%t`E9HzkHA0hBi-2eap literal 2505 zcma)-%WoS+9LEP*pmlkcQp8LAstVCS)+8y9%4sT`)NS3yN#r_BTOmc`-LW&?_0D!@ zHrw4Qmr4}}IKlz-#s!HBNRc?u-V$FpaN@)P{tb?N$B!ll+%n4evorgf-*fhtzm6XK zmSMb(`8MVsnD1hK{S!tKY?4|Z{R`j(gElIYv3vH zPw+YL0A3yfkANq@W1!vt6nqCf2Ob5#0N(-?Xyv~e?tcRw!TJZV32uYWgU6p4$ejeQ z!}m$h!T!Bx8GFgffggiA;2H2A(E2?M;}Tp1p^E(i-U1(hCD4KK0=NO%_Zpl4Z-WqF z--9Q?AHkQw-@y;Szd`F~;V@%wfX6|rX9_gn>~Q@v_yX1sK$~))KdjHzo;?Fq4B_CuVdwTM0Gd|bY5cJ+DSA{LvF0Ry< zFIN^C>r3TYWkOR!@GiR~fgr-m# zN>%JnQWOZT1-UB9h=(3UTpQ6p)l$%#%CJqV^~JHC+sw$&D9UWesc2F&Rw-O5u|?HZ ztg*pE-@c@lib>0MXf-BLe>oF;7HF zOEV&A)fLoLp~$SQk;0+W{w);`{edo5XidCj;9$h1$0D9}MQAh|zO!L@!f+XAW?~*{ zn;{kMecUHL3QqoE>QVKt+LcuzgTWm*2*{5Yt^M{ZMC-Lj1?$f?+ffV zp;;=;h8Odct;DJ$T;o(d=bDH$d@0d%p^jX{#;NJH^ql#mt(}G{QDJ4-sf$f%rJVCf ze2HeJWx4PKy0mEfd0la7_}EjUq7s8wr~eZdr` z3JWSUsDjhTBKT~?ZSzqSa2d{$yTM~E%-m|@f^%k1&br?WmI%yZtAq;u{jp`Y|S&`qJEo$cP;aczjLNy9t; z-GMHP-u*yQq|&VSQ0EyO$}?ALpF()&<&yXA@=4OZie%CuNvR)*4&*~QkmnwHqwPRw zT=uYN2fOz?9{bW>Y!QdTs8n=@-R68Qcfa$Kj_78TbNt1kgNBNZ#H~Gzx0H^Hqe#P~ zlTLA~`>9luYzZC?Me~pcqW3FghZ-~5Yc)l79^Y4<8MYQ7dk{i^ z?gm1OqzDnBhdjfc=7FaMGKTMM+~i#twvzUrK|iMk{|j<#pg$^7R;i0s!dCEPLe;zP zN_I7Ok$ig(`b88b<#CRza@PM+xsTh&uA~a42Av5T(sm*INZbNf+Q\n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Szczegóły przetwarzania" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"Kwota transakcji musi mieścić się w przedziale {config." -"PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}." +"Kwota transakcji musi mieścić się w przedziale " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}." #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "Równowaga" msgid "balances" msgstr "Wagi" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Aktywacja konta" +msgid "balance deposit" +msgstr "Saldo depozytu" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Witaj %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Witaj %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Dziękujemy za zarejestrowanie się w %(config.PROJECT_NAME)s. Aktywuj swoje " -"konto, klikając poniższy przycisk:" +"Twoje konto zostało pomyślnie zasilone kwotą %(amount)s. Aktualne\n" +" wynosi %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Aktywuj\n" -" Konto" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"Jeśli powyższy przycisk nie działa, skopiuj i wklej poniższy adres URL do " -"przeglądarki internetowej:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "Z wyrazami szacunku,
Zespół %(config.PROJECT_NAME)s" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"Wszelkie prawa\n" -" zastrzeżone." +"Jeśli masz jakiekolwiek pytania, skontaktuj się z naszym działem pomocy technicznej pod adresem\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "Najlepsze pozdrowienia,
zespół %(project_name)s" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "Wszelkie prawa zastrzeżone" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "Wymagany jest dostawca, od którego można uzyskać stawki" msgid "couldn't find provider {provider}" msgstr "Nie można znaleźć dostawcy {provider}." -#~ msgid "eVibes Engine" -#~ msgstr "Silnik eVibes" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Wpłata salda" diff --git a/payments/locale/pt_BR/LC_MESSAGES/django.mo b/payments/locale/pt_BR/LC_MESSAGES/django.mo index ffbddda256d0043cb49d8798e79e074f934fa003..a4c815ff37f328d172a892aed92590db54da488d 100644 GIT binary patch literal 2399 zcmbW1PmdHu7{*IQgi%ybH2#Y(CWJ+{mtj#M152D;W^o8Jvl(U)E^cbNYkJCbcMVn5 z0~_Gx#l(X#FdW;ia44QIO~V1RetK zgO?HeBe0C;k9Lmpia}oI3y|0S8r%)u0cXK`;5_&cNVjNvapk=Bj~|OYU&cMh@+|tR=#a3;5fFR$!cEe^nxT%AC2uHJo~-oB zQO}x`v?Hso=Gv-A$Rr`FJySPsiM?mYMn!$#xnhP z%TQk>iNUrx!d~lX>!v%;3f-f1lT%*~70GO!uI7kXo6OBpPpJelD8;LXCi61%WO7R` z9}JB3Bz=jtX$NN}FRiIm>g2GS6N!n9Fm@s~G7FV+Bzqp}52TL7K(41M^G;0u(^(8r zJzjUhTbVh;fatc~lT1yXc}jCg-P4|QhInsa@1Bn5R;pJTwPt7ST(wjCw0dQ&QE%28 ztBqU16DL$J7ZbK_;lwpHmdNEHhuq7PWSv5kh4w091ue-CCx|$%Y2Sy|u*yIGc>JH9K9#}PAF|zWS*oe8^I$vArtTn5R+AX>{J^GFETN#&EP>+I3$~p*E zp<|^siqra_;bI*Hi+SvVj;T;-r4_W*Q1h(dEK0vZ^X2&ugYvQ9c$vz_EAuCgl+j8T zr1L?C&mfWB*b3Fowc3QfxY}%8qSH&QW~aK;`FMG?UBgJdJ-5_qoWW~ZoXc1R9Ta(m z7Tfhs{o*H7Yo5En{IAz4H1I*!mKya&ZA&t9<bgHVNTkkAQP`K( zDZjAVSq@Ha&g0N~$_BM8G!Y7`LMOZ0msXP8$|P7eHgy%s2F0UWm_J41+l85o4lK~I z!>3AO^d)7A3t)8HYD0Nie5WchT)tM4>2f7Ye9_YCo^+yPBI5|Z2p*z6ZpPjrF)V6u zmSl9Vi>1U_H5mN@>o7P(ax#gGSY&e<-NhRa!{$Sv^A8ONlcqzZVa`O(e1~3%SAYc z9TawDuhTOYm!uj%55T?)NNhGapXE_Dolrz-- zirA+?j`Q=Ug?JJC89W6J!E@jP@EEv&#n-{BAg}Wicpdx|f@Bs*rHC^E`XYCLTk zdt;iiSV^ZSG}#u(G@?v8uZme+1HYR(?a^9mdC$nXGCK8!wm9WY)uE0xn+T;MmQBxy zc3-A9_#<_VC8v8Sd(5-qb&tHtv^t7PjyIri{>TvIXa}gXMPaPN8@$M_)H@2PRD`6= znt_g#B}Cj)s5G|MQP-M;v_su*=Gv-AbYv{kP)+Cr_BW2w_dInq7ir?<_T*_>L@F~* z`w7XJL{VZ=wZ&^q9FDDa4;ed-2fjk(9LcUnfSJ^h$mCX{Qt!n08>ba1FLmsMw=#8H zA(QTYCYkVAq$I~d>S{mQo!gTGRK3=yt+Y2TRNJ*H)oUA#`bxdA*4PgAG^k!J40bQ! z#HRNB$jVKzYRzXV^g%re)|GXLr9!i%7HVOA&~QB+1&evl1#MHI(rPnksexvz;2a8H zp}Cp4Q^Cw^aB_xbPFChV{$K{Jw2U(tv^l+4dSfe8yU=VA`r_J3bDhpEHCNizrS>Q1 z*IG4<)LZ4HW@7=<(q1lmD&T8Tp~Y6cUB7&hYAY9(nU9-Rq09#zTWZuBwOz@SXG%*Z z_1J}=y_F$muWtDdvsmi%426AZo$~W*?eoFuhjtu#SJ|MJh9<(ERp@j_`_gKhTNwxE zjZIvI(yVxO^K)l#3;E0ZR7%I^Y4*gKlBlxu*hijuzIq&*92=9%B`z`#v`u6j;V;5* z*4{i$c_hrsVhOhZa}pKz4HSvOJjtx)187ECR3*M38AN1HO%ly`c;~;>=&~YQ1mlN4 z7?Pn*B&Gb=&C?JkLfUCoA+3njC}vxydO5U3u>g@u@SamD2N1^yS`taRqB*Nt0kZQr|KaG5ms3#aDEA z$7(})QV4Bvi~yV8josud6KAub~pSyF~~F}hM@Z8YM9t9t_#lfpqs zaiJ};W=Sc0?h==CV{sW1b~5f^eH^a7(zXcJ$v83s7Q_3{pFkx_9k\n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Detalhes do processamento" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"O valor da transação deve se enquadrar em {config.PAYMENT_GATEWAY_MINIMUM}-" -"{config.PAYMENT_GATEWAY_MAXIMUM}" +"O valor da transação deve se enquadrar em " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "Equilíbrio" msgid "balances" msgstr "Balanças" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Ativar sua conta" +msgid "balance deposit" +msgstr "Depósito de saldo" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logotipo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Olá %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Olá %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Obrigado por se inscrever no %(config.PROJECT_NAME)s. Ative sua conta " -"clicando no botão abaixo:" +"Creditamos sua conta com %(amount)s com sucesso. Seu saldo atual\n" +" saldo atual é %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Ativar\n" -" Conta" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"Se o botão acima não funcionar, copie e cole o seguinte URL em seu navegador " -"da Web:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "Com os melhores cumprimentos,
A equipe de %(config.PROJECT_NAME)s" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"Todos os direitos\n" -" reservados." +"Se tiver alguma dúvida, entre em contato com o nosso suporte em\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "Atenciosamente,
a equipe %(project_name)s" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "Todos os direitos reservados" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "É necessário um provedor para obter as tarifas" msgid "couldn't find provider {provider}" msgstr "Não foi possível encontrar o provedor {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "Motor eVibes" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Depósito de saldo" diff --git a/payments/locale/ro_RO/LC_MESSAGES/django.mo b/payments/locale/ro_RO/LC_MESSAGES/django.mo index ad9753aeb3734b9f298eca04c449978b625500f4..c68e1d824158fd30006682c5fdf23a3394b97121 100644 GIT binary patch literal 2388 zcmb`IOK)366vqcB(3)q)BBFA}hN+ALpE~>zHeE#dRviq)ZHqlYTsQtSuZ46kTpJcl=D-p7lLJ zQ`5NeQ<3_X=6!M0kr%wrQWI3Bk9g`xo!t|)HI{dSjZe=>&h!QKjTReG`dG_&bz-U~ zlrp$BKz6GmtsCEboXHMtm_R+gE{N+5x)PvR8tsl#M+k*52oXIllA}ypBS&X11p5g_e9;ycucVSC7lm~QSdmT?8c0s- zld9{=ELjX)mo!b03aj;`A=YKIO3oqmi!?ts|4uS@A~`unb0>@Q@4Y>TRyfa{Pnz)! z6!*p!sk~Be5c=X;t$vZtEY)kx(o*w-<+Vl`GnK~7QoVW>+jKYZu1K0l@**uZD$UA; z52;*RIUo67+lpjOVojl1sg@_4nVBmrAtMpdq`5JGW-qS!*@5CxpQg0OtrLD>t+||> zx@Q-qcZ5yKIyD&*t4OEX(ic`$uv{g}#`ay2^k6u23-hOG^mSoc)8Pd=arAV7m7N!) z1yX=p3Yt2>YPo4FB2S7_%B>)`vrSHrY2UpiHNJapWk;~4L2N0rV&H?7N}wuiqKIIU zmD8S7vTXyqU{pru@J^d3B8#!O+`YB4&6Wi0@f)Ic(71rB;CHsI92OLT%>(|gn!;)U zKMWcKA3Sw;ww>G+8x&0xmGNyL4u@va^6poV+U8nDryMk~+-i5c7@}*NGQ^wjQ&!IL z6zeD|@xY(I)!vHsP%`O20^aes5JQ#Mh~bz!i2%cAPTC;dEY=m@^EY#!B6B_#nYzUj z$7dN8lK3!L7~nkQ2!h8})y_5~z%kF2lp{-_LTX{kVw!LA6b6D_;Jvq{Kk9 zgWP>>xR`Q0?xu*|{twmXo&w2A{k+t0Pia8;jWuW(I6P&xjuL~}$%+%xXuO1i8MxXr eh9eU~;gA2DCJIkOz~`<&Kps?i#(6PJl79e1OQC`Q literal 2524 zcma)+OK)366vqczpmlkcQY0SYR0!Hau1Qh>mD^M}iQBr06U%i%BOyiOd&kbS*E5%S zI3!h8R#&hri>eX}Hn4(4KSC`OSRe!}5DPvAJ0$+&M`|HV8F~D>Gjrz5dCZ(YjvoA+ zp}mOy3i_|;uc3eT2>#FxJ<8ZLco=*EEPzvB6`TQg!I!{q!CmkN@E~~k0Ca#A@D%tv z_yl+Wi-*7?;0f>;80OytUj;9KN5PN4mq85%`A>)Qx4|PAe+4$cd*GAc@y7;ouY=cM z`xF>q{?_9IyYGQ#F#aA4_WuP2Ki|UPUGNGBRqRLb7WfNT0M~K&Ves~lUw|hu{u+b` z`w0wo{{}t-{s{)Xk7H9bp zx%~~auDzlC*)%01Tbs^KRAht|rX!L(n-|uR5iM>KJ9WNcF4Q*#y>TkmswrFfYHj68 zX`#NcT&$E%TdE7*W|u{pYKVBK$Ty|2ZbR|5IBlm`xk(P&8{Rpsh&OacP@;t;r5$Z) zb7P9KRB$UO*4Z|3l~Bg56a8IH4ZT}ZwP>}rG|}=98L6D6?cnm3Xi&rGEtpbZOS+|5 zeUqyjVUe2Jkd-YJH2SPRoZwfUsspR|Fadq#|7ijrWPlpm6sI!25e^x1y&>RAfpN-= z?#M(Kg2gR?NF%+Lnnt%tTEzWhFO5i8gQr}@VnoZ3-!xGt9W`YL(n!nA(bq0ZM5e8D zBa+o^L2a$Xb~tOKa40oCrOnVD=!%84#G4KVW?UvLN{=-VS$>+8!6FDcvADH%Aw!xLzqO*EcQ|>!lBi>l>Bwa=Efv*^MR&6tDFK#*eUU zOS;X(@GVv~`nrf+R8FEbVJvJZ&`hp|SQr;oY)dB5yl>g4t_zf_u0%D_kwGe2MBocF zJ3aeuG(8iYnWpJ8h1vJto<_?p;SNUi;9km|HU%nOTB#BG{Oa<`8l7KQS*{ls>K|NO zt(7oSuH_e2Di^R#wLEW$C_IY-&DYBH^3}^!TE4Ut_^@pSGCDFkS1DIYW6tEKa|>EI zWFe|=XRz6cPux3M%B4C-@g_G`xVhE(#pvt?JW zwk?p#`a?T6dk(KKtjwKKbYhNXPM^ySONn`S?Fq&WrT6YiJY?m3N=e7&SzRN@lo*jY zZ)7@Imk~QCKM>Bdt336t*EO!vVH%5f zv)7I9e~Ho%st*qMr_BRX%Vk+2bBr*N(7^o+`9u)8eGY6 zu+?c2R)f_3c*Wr62FnJeC)k$w3>M+)\n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Detalii de prelucrare" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"Valoarea tranzacției trebuie să se încadreze în {config." -"PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" +"Valoarea tranzacției trebuie să se încadreze în " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "Echilibru" msgid "balances" msgstr "Balanță" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Activați contul dvs." +msgid "balance deposit" +msgstr "Sold Depozit" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Logo" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Bună ziua %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Bună ziua %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Vă mulțumim pentru înscrierea la %(config.PROJECT_NAME)s. Vă rugăm să vă " -"activați contul făcând clic pe butonul de mai jos:" +"Am creditat cu succes contul dvs. cu %(amount)s. Soldul dvs. actual\n" +" actual este %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Activare\n" -" Cont" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"Dacă butonul de mai sus nu funcționează, vă rugăm să copiați și să lipiți " -"următoarea adresă URL în browserul dvs. web:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "Salutări,
Echipa %(config.PROJECT_NAME)s" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"Toate drepturile\n" -" rezervate." +"Dacă aveți întrebări, nu ezitați să contactați asistența noastră la\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "Cele mai bune salutări,
echipa %(project_name)s" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "Toate drepturile rezervate" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "Este necesar un furnizor de la care să se obțină tarife" msgid "couldn't find provider {provider}" msgstr "Nu am putut găsi furnizorul {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "Motorul eVibes" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Depozit sold" diff --git a/payments/locale/ru_RU/LC_MESSAGES/django.mo b/payments/locale/ru_RU/LC_MESSAGES/django.mo index cfaa0f4f848db79741def16b1bcccb498b251e12..19bd0d569905d92851203b0f61a76456a8b7472d 100644 GIT binary patch delta 1445 zcmZ{iO=w(I6vuBqYMS~{+gbyb(pzmYO@}IiE<_3I~@EJG+Uxqv3DYzZJ5655$9)$By{FdQYA=kCK7 zehVdT9XI&)zqz z)B)@<_y{}+XJNi){|*?53@P+mNZn*(Ec$M<#UmCA9XLlc>B(iGIV<2zN? zY*H7@L=buLrX8tq6UDffoUjn(UKkIL$7Q1rk4}WaIpfCps#7sXA{`s2(%3V2=Do7< z{ebg?{Q066Mw>1<lt#HL>5Blyt;snqE|Zh=38%^ zJn_;y`BN{xe&R!YQEvwJ+PHLd+v&c>+2O+J`E=U0wC$uH*`{5zO>M8(X8N&hvs!jN zom2J;POh@n)9HU1cEc{Fb9PnRWn4R$R|u;sJ8xU*bUN3_4?TTI%V_Kxhu0(puFd~U zsc~a?q4om`+9+tH^?Q%WeudPlwyo0{ElSgAfn2&y;2QE~2+g*nnhlYV(>Pp~+9;=K zSJQeX?Ni(|Va;@wWRf<`&Da$@NiBseOG$*Skhh&}X~LJ;k;-Od<_GUFbNd~!OI%$? zQD>>P<3Qh;@6$OHb4Q2RSuWk^w)hgg%Ie8#5;5JXX3>*g!dKdG_gA2)sMS({T_Yb8 xva6yawwICCn~&5Yh1c0yq^i$)dA9s2cAl9@o5idBzdwxqa_da>)=O+t{R88e0geCw literal 2988 zcma)--)|IE6vwZE3X4AxF!4t`M2!$TYg?j{Ep6P^1=e)iX5Au9Nb2nF-R;Qk%sMmM z+K?u+^#`U6D1nej2vHtaVQ{WwNGkACt ze1HjX4|o@R0^EenE#NkAH@E}j^>@Knz#ecrcno|AbU?PBtFNB}x8eOKFb!S>p9FV3 zRH4UWXa)HU(et#N)s^C zaZ!%06VUpgoQ;cn$C^NT0hzTwKwr<{?^C#+#m(_irtae|kgw-!5F(oKt#Q+rA$rIa z&19Ui?Qa~Q5vT0Z#%iHJu9YA2y_Sw#=}C87X2YUadOo=_Z@O8p?LgY?NsUQ*V^7Ah zb5=e)lpOpp)|VO`h$dotJxWQlC=Sa)!GTE`F2Xs>_54xWEXuuJn~3Mg$MJO8_Z^$e zv@qw7m$EOL$J>Ev8f;2rz8K*Q!rk$md>G@Kh$~o{mVcB^aPWHFVoRzU`-=Rq^ zc|xWs?K%@kB_jHrydzR$rhS|@Dd)K4S$Ug1mP`7zMO|SUs%2%?8=##(Fa@*L0ZLC& zreI}`bC9Oe(-Ngbgh?gW8Mm_1C1jkJP#W#^DCaswvOMViS=n-BR;0~>X=h}Eo(yv~3XBWOg-s#?B)9!BS z*xMBn>RVL}X4HyWQY*npwGJ)>Gr{}=zXJXk)s^6DRl(6U95_Sjx>``T;A1+NzsG4X zt8T!qLcuh=uLq|om~EWJ)9HK8o`qS3)GcJQz}d9SghRrp0#?AL0+7>sSg0R}lS6H* z956VAr<-a8u2JSSoLj}_8d5&P%lb!9eUGi1dU;tbwE8_1>VjIXrH687)Y3+U_x*KL z=TXrr2d;8r2w#P7oSH*QsC12`;bIpd&I|}u+gPlsHbz@E{IioK9TU<7^9@y3QOq(+ z8GM5pZ}1PP0Y98$C78yMy7btBOck|gs6~zlzgoM9P!|#Fs*b;+ZVC0B76%IoI=~dl z@zDkL2H82^3hcSvGuqQvct$6eT4@$0bs65SAuV(R1Hr;Av=QE$=5M3W+Nf~8*k`@4 zv&ORMjW+qae;1hAY7r!5oW(VsNho(?XqPsd@Dhw{wfQ7h|zGqknn2pTPxKLt1sc zzPVnTiuxQ@Ssbky>cE)t;G$aSfFdu~9ufMQS`nNyOM^vJc#j+2=Wg(~#y=9(fM?|l zK2NB0lfO2|dhb5_S%#-o-3k6$5S^!OPER3vfoJq|iCX?c`QQI>{+k`Ad{&3zo}z8y EZ?6WyV*mgE diff --git a/payments/locale/ru_RU/LC_MESSAGES/django.po b/payments/locale/ru_RU/LC_MESSAGES/django.po index 5d696109..57dfa416 100644 --- a/payments/locale/ru_RU/LC_MESSAGES/django.po +++ b/payments/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-06-21 22:42+0100\n" +"POT-Creation-Date: 2025-06-22 18:07+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "Детали обработки" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"Сумма транзакции должна вписываться в {config.PAYMENT_GATEWAY_MINIMUM}-" -"{config.PAYMENT_GATEWAY_MAXIMUM}" +"Сумма транзакции должна вписываться в " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" #: payments/models.py:61 msgid "balance" @@ -66,57 +66,46 @@ msgstr "Баланс" msgid "balances" msgstr "Весы" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "Активируйте свою учетную запись" +msgid "balance deposit" +msgstr "Балансовый депозит" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "Логотип" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "Здравствуйте %(user.first_name)s," +msgid "hello %(user_first_name)s," +msgstr "Привет %(user_first_name)s," #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." msgstr "" -"Благодарим вас за регистрацию в %(config.PROJECT_NAME)s. Пожалуйста, " -"активируйте свой аккаунт, нажав на кнопку ниже:" +"Мы успешно зачислили на ваш счет %(amount)s. Ваш текущий\n" +" баланс составляет %(balance)s." #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"Активировать\n" -" Учетная запись" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "" -"Если кнопка выше не работает, скопируйте и вставьте следующий URL-адрес в " -"свой веб-браузер:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "С наилучшими пожеланиями,
Команда %(config.PROJECT_NAME)s" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"Все права\n" -" зарезервировано." +"Если у вас возникнут вопросы, обращайтесь в нашу службу поддержки по адресу\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "С наилучшими пожеланиями,
команда %(project_name)s" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "Все права защищены" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -127,5 +116,7 @@ msgstr "Требуется поставщик, у которого можно п msgid "couldn't find provider {provider}" msgstr "Не удалось найти провайдера {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "Движок eVibes" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME} | Депозит баланса" diff --git a/payments/locale/zh_Hans/LC_MESSAGES/django.mo b/payments/locale/zh_Hans/LC_MESSAGES/django.mo index 644ce2a8f1bed4d1f75b4fbbd14df6bc59ca4074..fc816df920d5e612e439d49446d4544e8f957c04 100644 GIT binary patch delta 1225 zcmZvZTSyd97{`y-wtH%2H{oPOW>U~Y^bkQ8D}pYBFNL&>vuAfFW@l_JifFhlm0CvG zRGL|-rBs+ombcZ6UZVFPD(c0ZarZ%b?6v>d9l^lEp7Y!PIp6o4@BC*xcP{7d_WB}1 z$kKE|^1yxI67V><8axAfz)N5;7y!3|_dp)^4lDpC!CdeMxCxvCL!c*vkW8=&+zi%& zyj~l~Gf!n|@Ao@wE;jS8ZunuS^l3shsYM@tDX{0<`Lm}=kCu7Q96nuomDbVu zMAydQ-C5;nR)J@W^(i}dGqJ~q5MXd6iMwEvlGi4Tq@I_@}a zBZ+WFe7Z3f?TwAyavqM`lXv0`_h*NrPE%_v+CSTI&AC75v^2yfChXRBZuQ1RtaiE@ z?ddkF)zf_>m1mE>b(-$lH=o&^L-x>(1)h5214H)pUNnW;@ppYr)96e%!sX)uyZJUY e`6b6vPQ=D07PyQzMMxqXwi_oFx4Dk~XW&05bZs60 delta 1314 zcmZ{hZBGK5bI&>d zbMDJ+OWTL{rw`K_Cz>b+Zc)Pq;9R> zqvv_jpzEiJ1U0mHr)5^#H^RHq1~Zw_!=m-%8)jP6U~$EWnsvuj<3w90qX!N~xE|Bu z^{wa5es`*=t>gQ~mQ%GRZDYy>(##SGjw?x|sE=ueX?5tz1y*a;k<&41AzV#b7T2kw z@*YN`oS9VT7EN)ZtB!Ujm}2f@G{U=ksiH?|w_;k%4U2IkPHB3a{&4P$tJ5A11mc=* zaoQ`pNimhG22Y`I13AOvoV0Z+dY5$47&oY?#dR5;>~_ufbWu-Rr3OY7f23~m^?C;s zZ<18)rICad>5>`W>Plr0*WmsnYVQ9)`=*ey znsMfrz5IBoL#6p?C%Z_zW8WyOjumg+aRxKa=%6$9v&cSL%k;~TPir>v*nPph=?$Mq z{61B_Jx-kdoOtkbqeoiH^bs-L@7xO``1MFu~>Rs{QGukeqN-rv#27&7p|8cX2qRcA^+#AmAk~5 z7!a$!5$E!FX?6-%oVlF1GW4Fu=s=$+RqS691IsA&wjysrUJ;QW#?WN?@@S?s-RE4l hPX=qYh^4vG\n" "Language-Team: BRITISH ENGLISH \n" @@ -52,11 +52,11 @@ msgstr "处理细节" #: payments/models.py:39 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"交易金额必须符合 {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM} 的规定。" +"交易金额必须符合 {config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM} " +"的规定。" #: payments/models.py:61 msgid "balance" @@ -66,53 +66,46 @@ msgstr "平衡" msgid "balances" msgstr "天平" -#: payments/templates/balance_deposit_email.html:8 +#: payments/templates/balance_deposit_email.html:7 #: payments/templates/balance_deposit_email.html:100 -msgid "Activate Your Account" -msgstr "激活账户" +msgid "balance deposit" +msgstr "余额存款" -#: payments/templates/balance_deposit_email.html:94 -msgid "Logo" +#: payments/templates/balance_deposit_email.html:95 +msgid "logo" msgstr "标志" #: payments/templates/balance_deposit_email.html:101 #, python-format -msgid "Hello %(user.first_name)s," -msgstr "您好 %(user.first_name)s、" +msgid "hello %(user_first_name)s," +msgstr "你好%(user_first_name)s_、" #: payments/templates/balance_deposit_email.html:102 #, python-format msgid "" -"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" -" account by clicking the button below:" -msgstr "感谢您注册%(config.PROJECT_NAME)s_。请点击下面的按钮激活您的帐户:" +"we have successfully credited your account with %(amount)s. your current\n" +" balance is %(balance)s." +msgstr "" +"我们已成功地将 %(amount)s_记入您的账户。您目前的\n" +" 余额为%(balance)s_。" #: payments/templates/balance_deposit_email.html:105 -msgid "" -"Activate\n" -" Account" -msgstr "" -"激活\n" -" 账户" - -#: payments/templates/balance_deposit_email.html:108 -msgid "" -"If the button above does not work, please copy and paste the following URL\n" -" into your web browser:" -msgstr "如果上面的按钮不起作用,请将以下 URL 复制并粘贴到您的浏览器中:" - -#: payments/templates/balance_deposit_email.html:111 #, python-format -msgid "Best regards,
The %(config.PROJECT_NAME)s Team" -msgstr "致以最诚挚的问候,
%(config.PROJECT_NAME)s团队" - -#: payments/templates/balance_deposit_email.html:116 msgid "" -"All rights\n" -" reserved." +"if you have any questions, feel free to contact our support at\n" +" %(contact_email)s." msgstr "" -"保留所有权利。\n" -" 保留所有权利。" +"如果您有任何问题,请随时通过以下方式联系我们的支持人员\n" +" %(contact_email)s." + +#: payments/templates/balance_deposit_email.html:107 +#, python-format +msgid "best regards,
the %(project_name)s team" +msgstr "致以最诚挚的问候,
%(project_name)s_团队" + +#: payments/templates/balance_deposit_email.html:113 +msgid "all rights reserved" +msgstr "保留所有权利" #: payments/utils/__init__.py:8 msgid "a provider to get rates from is required" @@ -123,5 +116,7 @@ msgstr "需要提供商提供费率" msgid "couldn't find provider {provider}" msgstr "找不到提供方 {provider}" -#~ msgid "eVibes Engine" -#~ msgstr "eVibes 引擎" +#: payments/utils/emailing.py:27 +#, python-brace-format +msgid "{config.PROJECT_NAME} | balance deposit" +msgstr "{config.PROJECT_NAME}| 余额存款" diff --git a/payments/signals.py b/payments/signals.py index aa88d334..79fbd86a 100644 --- a/payments/signals.py +++ b/payments/signals.py @@ -2,6 +2,7 @@ from django.db.models.signals import post_save from django.dispatch import receiver from payments.models import Balance, Transaction +from payments.utils.emailing import balance_deposit_email from vibes_auth.models import User @@ -17,5 +18,10 @@ def process_transaction_changes(instance, created, **_kwargs): try: gateway = object() gateway.process_transaction(instance) - except Exception: # noqa: - instance.process = {"status": "NOGATEWAY"} + except Exception as e: # noqa: + instance.process = {"status": "NOGATEWAY", "error": str(e)} + if not created: + if "success" in str(instance.process).lower() and "notify" in str(instance.process).lower(): + balance_deposit_email.delay(instance.uuid) + if "fail" in str(instance.process).lower() and "notify" in str(instance.process).lower(): + pass diff --git a/payments/templates/balance_deposit_email.html b/payments/templates/balance_deposit_email.html index a330b7de..509d0c06 100644 --- a/payments/templates/balance_deposit_email.html +++ b/payments/templates/balance_deposit_email.html @@ -1,32 +1,36 @@ +{% load tz static i18n filters conditions %} - {% load static %} - {% load i18n %} - {% blocktrans with msgid="activate_account_title" %}Activate Your Account{% endblocktrans %} + {% blocktrans %}balance deposit{% endblocktrans %} - -
- diff --git a/payments/utils/emailing.py b/payments/utils/emailing.py index dbb3b525..d2a39266 100644 --- a/payments/utils/emailing.py +++ b/payments/utils/emailing.py @@ -1,32 +1,46 @@ +from datetime import datetime + from celery.app import shared_task from constance import config +from django.core import mail from django.core.mail import EmailMessage from django.template.loader import render_to_string -from django.utils import timezone from django.utils.translation import activate -from vibes_auth.models import User +from core.utils.constance import set_email_settings +from payments.models import Transaction @shared_task -def balance_email(user_pk: str) -> tuple[bool, str]: - pass +def balance_deposit_email(transaction_pk: str) -> tuple[bool, str]: try: - user = User.objects.get(pk=user_pk) - except User.DoesNotExist: - return False, f"Order not found with the given pk: {user_pk}" + transaction = Transaction.objects.get(pk=transaction_pk) + except Transaction.DoesNotExist: + return False, f"Transaction not found with the given pk: {transaction_pk}" - activate(user.language) + activate(transaction.balance.user.language) # type: ignore + + set_email_settings() + connection = mail.get_connection() email = EmailMessage( - "eVibes | Successful Order", + _(f"{config.PROJECT_NAME} | balance deposit"), render_to_string( - "balance_deposit_email.html", {"user": user, "current_year": timezone.now().year, "config": config} + template_name="balance_deposit_email.html", + context={ + "amount": transaction.amount, + "balance": transaction.balance.amount, + "user_first_name": transaction.balance.user.first_name, # type: ignore + "project_name": config.PROJECT_NAME, + "contact_email": config.EMAIL_FROM, + "today": datetime.today(), + }, ), - to=[user.email], + to=[transaction.balance.user.email], # type: ignore from_email=f"{config.PROJECT_NAME} <{config.EMAIL_FROM}>", + connection=connection, ) email.content_subtype = "html" email.send() - return True, user.uuid + return True, str(order.uuid) diff --git a/scripts/Unix/backup.sh b/scripts/Unix/backup.sh new file mode 100644 index 00000000..520b30ec --- /dev/null +++ b/scripts/Unix/backup.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -euo pipefail + +source ./scripts/Unix/starter.sh + +echo "Starting database backup process..." +docker compose exec app poetry run python manage.py dbbackup +echo "Database backup created under ./dbbackup" + +echo "Starting media backup process..." +docker compose exec app poetry run python manage.py mediabackup +echo "Media backup created under ./dbbackup" diff --git a/scripts/Unix/export-environment-file.sh b/scripts/Unix/export-environment-file.sh index ddf50107..f6572466 100755 --- a/scripts/Unix/export-environment-file.sh +++ b/scripts/Unix/export-environment-file.sh @@ -1,63 +1,35 @@ #!/usr/bin/env bash set -euo pipefail -if [ ! -d "./evibes" ]; then - printf "\e[31m❌ Please run this script from the project's root (where the 'evibes' directory lives).\e[0m\n" - exit 1 -fi +source ./scripts/Unix/starter.sh -PURPLE="\e[38;2;121;101;209m" -RESET="\e[0m" -GRAY="\e[90m" - -SOURCE="${BASH_SOURCE[0]:-$0}" -SCRIPT_DIR="$(cd "$(dirname "$SOURCE")" && pwd)" -ART_PATH="$SCRIPT_DIR/../ASCII_ART_EVIBES" - -if [ ! -f "$ART_PATH" ]; then - printf "\e[31m❌ Could not find ASCII art at %s\e[0m\n" "$ART_PATH" - exit 1 -fi - -while IFS= read -r line; do - printf "%b%s%b\n" "$PURPLE" "$line" "$RESET" -done < "$ART_PATH" - -printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET" - -ENV_FILE=".env" -if [ ! -f "$ENV_FILE" ]; then - printf "\e[31m.env file not found in the current directory.\e[0m\n" +env_file=".env" +if [ ! -f "$env_file" ]; then + echo ".env file not found in the current directory." >&2 exit 1 fi declare -A env_vars -declare -a keys - -while IFS= read -r raw; do - line="${raw%%#*}" - line="${line%"${line##*[![:space:]]}"}" +while IFS= read -r line; do line="${line#"${line%%[![:space:]]*}"}" - [ -z "$line" ] || [[ "$line" != *=* ]] && continue + line="${line%"${line##*[![:space:]]}"}" + if [ -z "$line" ] || [[ "$line" == \#* ]] || [[ "$line" != *=* ]]; then + continue + fi key="${line%%=*}" value="${line#*=}" - if [[ "${value:0:1}" == '"' && "${value: -1}" == '"' ]] || \ - [[ "${value:0:1}" == "'" && "${value: -1}" == "'" ]]; then + if [[ ( "$value" == \"*\" && "$value" == *\" ) || ( "$value" == \'*\' && "$value" == *\' ) ]]; then value="${value:1:-1}" fi - export "$key"="$value" + export "$key=$value" env_vars["$key"]="$value" - keys+=("$key") -done < "$ENV_FILE" +done < "$env_file" -if [ "${#keys[@]}" -gt 0 ]; then - # shellcheck disable=SC2207 - IFS=$'\n' sorted=($(sort <<<"${keys[*]}")) - unset IFS - formatted="" - for k in "${sorted[@]}"; do - [ -z "$formatted" ] && formatted="$k=${env_vars[$k]}" \ - || formatted="$formatted;$k=${env_vars[$k]}" +if [ "${#env_vars[@]}" -gt 0 ]; then + IFS=$'\n' sorted=($(for k in "${!env_vars[@]}"; do echo "${k}=${env_vars[$k]}"; done | sort)) + printf "%s" "${sorted[0]}" + for entry in "${sorted[@]:1}"; do + printf ";%s" "$entry" done - printf "%s\n" "$formatted" + echo fi diff --git a/scripts/Unix/generate-environment-file.sh b/scripts/Unix/generate-environment-file.sh index fb58e807..dfa3618d 100755 --- a/scripts/Unix/generate-environment-file.sh +++ b/scripts/Unix/generate-environment-file.sh @@ -1,145 +1,81 @@ #!/usr/bin/env bash set -euo pipefail -if [ ! -d "./evibes" ]; then - printf "\e[31m❌ Please run this script from the project's root (where the 'evibes' directory lives).\e[0m\n" - exit 1 -fi +source ./scripts/Unix/starter.sh -PURPLE="\e[38;2;121;101;209m" -RESET="\e[0m" -GRAY="\e[90m" - -SOURCE="${BASH_SOURCE[0]:-$0}" -SCRIPT_DIR="$(cd "$(dirname "$SOURCE")" && pwd)" -ART_PATH="$SCRIPT_DIR/../ASCII_ART_EVIBES" - -if [ ! -f "$ART_PATH" ]; then - printf "\e[31m❌ Could not find ASCII art at %s\e[0m\n" "$ART_PATH" - exit 1 -fi - -while IFS= read -r line; do - printf "%b%s%b\n" "$PURPLE" "$line" "$RESET" -done < "$ART_PATH" - -printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET" - -# prompt for a value with default -prompt_default() { - local name="$1" default="$2" result - read -rp "Enter $name [$default]: " result - printf '%s\n' "${result:-$default}" +get_random_hex() { + hexdump -v -e '/1 "%02x"' -n "$1" /dev/urandom } -# prompt for a value, auto-generate hex if blank -prompt_autogen() { - local name="$1" bytes="$2" result - read -rp "Enter $name (leave blank to auto-generate): " result - if [ -z "$result" ]; then - # generate $bytes random bytes as hex - result="$(head -c "$bytes" /dev/urandom | od -An -tx1 | tr -d ' \n')" +prompt_default() { + printf "Enter %s [%s]: " "$1" "$2" + read -r response + if [ -z "${response//[[:space:]]/}" ]; then + echo "$2" + else + echo "$response" + fi +} + +prompt_autogen() { + printf "Enter %s (leave blank to auto-generate): " "$1" + read -r response + if [ -z "${response//[[:space:]]/}" ]; then + get_random_hex "$2" + else + echo "$response" fi - printf '%s\n' "$result" } if [ -f .env ]; then - printf "\e[33m.env already exists and will be overwritten.\e[0m\n" - read -rp "Press Enter to continue or Ctrl+C to abort" + echo ".env already exists and will be overwritten." >&2 + printf "Press Enter to continue or Ctrl+C to abort" + read -r fi -PROJECT_NAME=$(prompt_default 'EVIBES_PROJECT_NAME' 'eVibes') -FRONTEND_DOMAIN=$(prompt_default 'EVIBES_FRONTEND_DOMAIN' 'evibes.com') -BASE_DOMAIN=$(prompt_default 'EVIBES_BASE_DOMAIN' 'evibes.com') -SENTRY_DSN=$(prompt_default 'SENTRY_DSN' '') -DEBUG=$(prompt_default 'DEBUG' '1') +PROJECT_NAME=$(prompt_default EVIBES_PROJECT_NAME eVibes) +FRONTEND_DOMAIN=$(prompt_default EVIBES_FRONTEND_DOMAIN evibes.com) +BASE_DOMAIN=$(prompt_default EVIBES_BASE_DOMAIN evibes.com) +SENTRY_DSN=$(prompt_default SENTRY_DSN "") +DEBUG=$(prompt_default DEBUG 1) -SECRET_KEY=$(prompt_autogen 'SECRET_KEY' 32) -JWT_SIGNING_KEY=$(prompt_autogen 'JWT_SIGNING_KEY' 64) +SECRET_KEY=$(prompt_autogen SECRET_KEY 32) +JWT_SIGNING_KEY=$(prompt_autogen JWT_SIGNING_KEY 64) -ALLOWED_HOSTS=$(prompt_default 'ALLOWED_HOSTS' 'evibes.com api.evibes.com b2b.evibes.com') -CSRF_TRUSTED_ORIGINS=$(prompt_default 'CSRF_TRUSTED_ORIGINS' 'https://evibes.com https://api.evibes.com https://www.evibes.com https://b2b.evibes.com') -CORS_ALLOWED_ORIGINS="$CSRF_TRUSTED_ORIGINS" +ALLOWED_HOSTS=$(prompt_default ALLOWED_HOSTS "evibes.com api.evibes.com b2b.evibes.com") +CSRF_TRUSTED_ORIGINS=$(prompt_default CSRF_TRUSTED_ORIGINS "https://evibes.com https://api.evibes.com https://www.evibes.com https://b2b.evibes.com") +CORS_ALLOWED_ORIGINS=$CSRF_TRUSTED_ORIGINS -POSTGRES_DB=$(prompt_default 'POSTGRES_DB' 'evibes') -POSTGRES_USER=$(prompt_default 'POSTGRES_USER' 'evibes_user') -POSTGRES_PASSWORD=$(prompt_autogen 'POSTGRES_PASSWORD' 16) +POSTGRES_DB=$(prompt_default POSTGRES_DB evibes) +POSTGRES_USER=$(prompt_default POSTGRES_USER evibes_user) +POSTGRES_PASSWORD=$(prompt_autogen POSTGRES_PASSWORD 16) -DBBACKUP_SFTP_HOST=$(prompt_default 'DBBACKUP_SFTP_HOST' 'Your SFTP backup host') -DBBACKUP_SFTP_USER=$(prompt_default 'DBBACKUP_SFTP_USER' 'The username to use to log in to that host') -DBBACKUP_SFTP_PASS=$(prompt_default 'DBBACKUP_SFTP_PASS' 'The password to use to log in to that host') +DBBACKUP_SFTP_HOST=$(prompt_default DBBACKUP_SFTP_HOST "Your SFTP backup host") +DBBACKUP_SFTP_USER=$(prompt_default DBBACKUP_SFTP_USER "The username to use to log in to that host") +DBBACKUP_SFTP_PASS=$(prompt_default DBBACKUP_SFTP_PASS "The password to use to log in to that host") -ELASTIC_PASSWORD=$(prompt_autogen 'ELASTIC_PASSWORD' 16) -REDIS_PASSWORD=$(prompt_autogen 'REDIS_PASSWORD' 16) +ELASTIC_PASSWORD=$(prompt_autogen ELASTIC_PASSWORD 16) +REDIS_PASSWORD=$(prompt_autogen REDIS_PASSWORD 16) -PROMETHEUS_USER=$(prompt_default 'PROMETHEUS_USER' 'evibes') -PROMETHEUS_PASSWORD=$(prompt_autogen 'PROMETHEUS_PASSWORD' 16) +PROMETHEUS_USER=$(prompt_default PROMETHEUS_USER evibes) +PROMETHEUS_PASSWORD=$(prompt_autogen PROMETHEUS_PASSWORD 16) -EMAIL_BACKEND=$(prompt_default 'EMAIL_BACKEND' 'django.core.mail.backends.smtp.EmailBackend') -EMAIL_HOST=$(prompt_default 'EMAIL_HOST' 'smtp.whatever.evibes.com') -EMAIL_PORT=$(prompt_default 'EMAIL_PORT' '465') -EMAIL_USE_TLS=$(prompt_default 'EMAIL_USE_TLS' '0') -EMAIL_USE_SSL=$(prompt_default 'EMAIL_USE_SSL' '1') -EMAIL_HOST_USER=$(prompt_default 'EMAIL_HOST_USER' 'your-email-user@whatever.evibes.com') -EMAIL_FROM="$EMAIL_HOST_USER" -EMAIL_HOST_PASSWORD=$(prompt_default 'EMAIL_HOST_PASSWORD' 'SUPERSECRETEMAILHOSTPASSWORD') +EMAIL_BACKEND=$(prompt_default EMAIL_BACKEND django.core.mail.backends.smtp.EmailBackend) +EMAIL_HOST=$(prompt_default EMAIL_HOST smtp.whatever.evibes.com) +EMAIL_PORT=$(prompt_default EMAIL_PORT 465) +EMAIL_USE_TLS=$(prompt_default EMAIL_USE_TLS 0) +EMAIL_USE_SSL=$(prompt_default EMAIL_USE_SSL 1) +EMAIL_HOST_USER=$(prompt_default EMAIL_HOST_USER your-email-user@whatever.evibes.com) +EMAIL_FROM=$EMAIL_HOST_USER +EMAIL_HOST_PASSWORD=$(prompt_default EMAIL_HOST_PASSWORD SUPERSECRETEMAILHOSTPASSWORD) -COMPANY_NAME=$(prompt_default 'COMPANY_NAME' 'eVibes, Inc.') -COMPANY_PHONE_NUMBER=$(prompt_default 'COMPANY_PHONE_NUMBER' '+888888888888') -COMPANY_ADDRESS=$(prompt_default 'COMPANY_ADDRESS' 'The place that does not exist') +COMPANY_NAME=$(prompt_default COMPANY_NAME "eVibes, Inc.") +COMPANY_PHONE_NUMBER=$(prompt_default COMPANY_PHONE_NUMBER "+888888888888") +COMPANY_ADDRESS=$(prompt_default COMPANY_ADDRESS "The place that does not exist") -OPENAI_API_KEY=$(prompt_default 'OPENAI_API_KEY' 'Haha, really?') -ABSTRACT_API_KEY=$(prompt_default 'ABSTRACT_API_KEY' 'Haha, really? x2') -DEEPL_AUTH_KEY=$(prompt_default 'DEEPL_AUTH_KEY' 'Haha, really? x3') +OPENAI_API_KEY=$(prompt_default OPENAI_API_KEY "Haha, really?") +ABSTRACT_API_KEY=$(prompt_default ABSTRACT_API_KEY "Haha, really? x2") +DEEPL_AUTH_KEY=$(prompt_default DEEPL_AUTH_KEY "Haha, really? x3") -# Write to .env -{ - printf 'EVIBES_PROJECT_NAME="%s"\n' "$PROJECT_NAME" - printf 'EVIBES_FRONTEND_DOMAIN="%s"\n' "$FRONTEND_DOMAIN" - printf 'EVIBES_BASE_DOMAIN="%s"\n' "$BASE_DOMAIN" - printf 'SENTRY_DSN="%s"\n' "$SENTRY_DSN" - printf 'DEBUG=%s\n\n' "$DEBUG" - - printf 'SECRET_KEY="%s"\n' "$SECRET_KEY" - printf 'JWT_SIGNING_KEY="%s"\n\n' "$JWT_SIGNING_KEY" - - printf 'ALLOWED_HOSTS="%s"\n' "$ALLOWED_HOSTS" - printf 'CSRF_TRUSTED_ORIGINS="%s"\n' "$CSRF_TRUSTED_ORIGINS" - printf 'CORS_ALLOWED_ORIGINS="%s"\n\n' "$CORS_ALLOWED_ORIGINS" - - printf 'POSTGRES_DB="%s"\n' "$POSTGRES_DB" - printf 'POSTGRES_USER="%s"\n' "$POSTGRES_USER" - printf 'POSTGRES_PASSWORD="%s"\n\n' "$POSTGRES_PASSWORD" - - printf 'DBBACKUP_SFTP_HOST="%s"\n' "$DBBACKUP_SFTP_HOST" - printf 'DBBACKUP_SFTP_USER="%s"\n' "$DBBACKUP_SFTP_USER" - printf 'DBBACKUP_SFTP_PASS="%s"\n\n' "$DBBACKUP_SFTP_PASS" - - printf 'ELASTIC_PASSWORD="%s"\n\n' "$ELASTIC_PASSWORD" - - printf 'REDIS_PASSWORD="%s"\n' "$REDIS_PASSWORD" - printf 'CELERY_BROKER_URL="redis://:%s@redis:6379/0"\n' "$REDIS_PASSWORD" - printf 'CELERY_RESULT_BACKEND="redis://:%s@redis:6379/0"\n\n' "$REDIS_PASSWORD" - - printf 'PROMETHEUS_USER="%s"\n' "$PROMETHEUS_USER" - printf 'PROMETHEUS_PASSWORD="%s"\n\n' "$PROMETHEUS_PASSWORD" - - printf 'EMAIL_BACKEND="%s"\n' "$EMAIL_BACKEND" - printf 'EMAIL_HOST="%s"\n' "$EMAIL_HOST" - printf 'EMAIL_PORT="%s"\n' "$EMAIL_PORT" - printf 'EMAIL_USE_TLS=%s\n' "$EMAIL_USE_TLS" - printf 'EMAIL_USE_SSL=%s\n' "$EMAIL_USE_SSL" - printf 'EMAIL_HOST_USER="%s"\n' "$EMAIL_HOST_USER" - printf 'EMAIL_HOST_PASSWORD="%s"\n' "$EMAIL_HOST_PASSWORD" - printf 'EMAIL_FROM="%s"\n\n' "$EMAIL_FROM" - - printf 'COMPANY_NAME="%s"\n' "$COMPANY_NAME" - printf 'COMPANY_PHONE_NUMBER="%s"\n' "$COMPANY_PHONE_NUMBER" - printf 'COMPANY_ADDRESS="%s"\n\n' "$COMPANY_ADDRESS" - - printf 'OPENAI_API_KEY="%s"\n\n' "$OPENAI_API_KEY" - printf 'ABSTRACT_API_KEY="%s"\n\n' "$ABSTRACT_API_KEY" - printf 'DEEPL_AUTH_KEY="%s"\n' "$DEEPL_AUTH_KEY" -} > .env - -printf "\e[32m.env file generated with fresh values.\e[0m\n" +cat > .env <&2 exit 0 fi -CPU_COUNT=$(nproc 2>/dev/null || sysctl -n hw.ncpu) -if [ "$CPU_COUNT" -lt 4 ]; then - printf "\e[31mInsufficient CPU cores: %d detected. Minimum 4 required.\e[0m\n" "$CPU_COUNT" +cpu_count=$(getconf _NPROCESSORS_ONLN) +if [ "$cpu_count" -lt 4 ]; then exit 1 fi if [ -f /proc/meminfo ]; then - MEM_KB=$(awk '/MemTotal/ {print $2}' /proc/meminfo) - MEM_GB=$(awk "BEGIN {printf \"%.2f\", ${MEM_KB}/1024/1024}") + mem_kb=$(grep MemTotal /proc/meminfo | awk '{print $2}') + total_mem_gb=$(awk "BEGIN {printf \"%.2f\", $mem_kb/1024/1024}") else - MEM_BYTES=$(vm_stat | awk '/Pages free/ {print $3 * 4096}') - MEM_GB=$(awk "BEGIN {printf \"%.2f\", ${MEM_BYTES}/1024/1024/1024}") + total_mem_bytes=$(sysctl -n hw.memsize) + total_mem_gb=$(awk "BEGIN {printf \"%.2f\", $total_mem_bytes/1024/1024/1024}") fi - -if (( $(echo "$MEM_GB < 6" | bc -l) )); then - printf "\e[31mInsufficient RAM: %.2fGB detected. Minimum 6 GB required.\e[0m\n" "$MEM_GB" +if ! awk "BEGIN {exit !($total_mem_gb >= 6)}"; then exit 1 fi -FREE_GB=$(df -BG . | awk 'NR==2 {gsub("G","",$4); print $4}') -if [ "$FREE_GB" -lt 20 ]; then - printf "\e[31mInsufficient free disk space: %dGB available. Minimum 20 GB required.\e[0m\n" "$FREE_GB" +avail_kb=$(df -k . | tail -1 | awk '{print $4}') +free_gb=$(awk "BEGIN {printf \"%.2f\", $avail_kb/1024/1024}") +if ! awk "BEGIN {exit !($free_gb >= 20)}"; then exit 1 fi -printf "\e[32mSystem requirements met: CPU cores=%d, RAM=%.2fGB, FreeDisk=%dGB\e[0m\n" "$CPU_COUNT" "$MEM_GB" "$FREE_GB" +echo "System requirements met: CPU cores=$cpu_count, RAM=${total_mem_gb}GB, FreeDisk=${free_gb}GB" -printf "\e[36mPulling related images…\e[0m\n" +echo "Pulling images" docker compose pull +echo "Images pulled successfully" -printf "\e[36mBuilding the project's images…\e[0m\n" +echo "Building images" docker compose build +echo "Images built successfully" + +echo +echo "You can now use run.sh script." diff --git a/scripts/Unix/reboot.sh b/scripts/Unix/reboot.sh index 7c5bc296..7f855a12 100755 --- a/scripts/Unix/reboot.sh +++ b/scripts/Unix/reboot.sh @@ -1,50 +1,30 @@ #!/usr/bin/env bash set -euo pipefail -if [ ! -d "./evibes" ]; then - printf "\e[31m❌ Please run this script from the project's root (where the 'evibes' directory lives).\e[0m\n" - exit 1 -fi +source ./scripts/Unix/starter.sh -PURPLE="\e[38;2;121;101;209m" -RESET="\e[0m" -GRAY="\e[90m" -CYAN="\e[36m" - -SOURCE="${BASH_SOURCE[0]:-$0}" -SCRIPT_DIR="$(cd "$(dirname "$SOURCE")" && pwd)" -ART_PATH="$SCRIPT_DIR/../ASCII_ART_EVIBES" - -if [ ! -f "$ART_PATH" ]; then - printf "\e[31m❌ Could not find ASCII art at %s\e[0m\n" "$ART_PATH" - exit 1 -fi - -while IFS= read -r line; do - printf "%b%s%b\n" "$PURPLE" "$line" "$RESET" -done < "$ART_PATH" - -printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET" - -printf "%bStopping services…%b\n" "$CYAN" "$RESET" +echo "Shutting down..." docker compose down +echo "Services were shut down successfully!" -printf "%bRebuilding services…%b\n" "$CYAN" "$RESET" -docker compose build +echo "Spinning services up..." +docker compose up -d --build --wait +echo "Services are up and healthy!" -printf "%bStarting services…%b\n" "$CYAN" "$RESET" -docker compose up -d - -printf "%bApplying database migrations…%b\n" "$CYAN" "$RESET" +echo "Applying migrations..." docker compose exec app poetry run python manage.py migrate --no-input --verbosity 0 +echo "Migrations applied successfully!" -printf "%bCollecting static files…%b\n" "$CYAN" "$RESET" +echo "Collecting static files..." docker compose exec app poetry run python manage.py collectstatic --no-input --verbosity 0 +echo "Static files collected successfully!" -printf "%bSetting default caches…%b\n" "$CYAN" "$RESET" +echo "Setting default caches..." docker compose exec app poetry run python manage.py set_default_caches +echo "Default caches set successfully!" -printf "%bCleaning up unused Docker data…%b\n" "$CYAN" "$RESET" +echo "Cleaning up unused Docker data..." docker system prune -f +echo "Unused Docker data cleaned successfully!" -printf "\n\e[37mAll done! eVibes is up and running.\e[0m\n" +echo "All done! eVibes is up and running!" diff --git a/scripts/Unix/run.sh b/scripts/Unix/run.sh index 93acf182..99c9507f 100755 --- a/scripts/Unix/run.sh +++ b/scripts/Unix/run.sh @@ -1,60 +1,36 @@ #!/usr/bin/env bash set -euo pipefail -if [ ! -d "./evibes" ]; then - printf "\e[31m❌ Please run this script from the project's root (where the 'evibes' directory lives).\e[0m\n" - exit 1 -fi - -PURPLE="\e[38;2;121;101;209m" -RESET="\e[0m" -GRAY="\e[90m" - -SOURCE="${BASH_SOURCE[0]:-$0}" -SCRIPT_DIR="$(cd "$(dirname "$SOURCE")" && pwd)" -ART_PATH="$SCRIPT_DIR/../ASCII_ART_EVIBES" - -if [ ! -f "$ART_PATH" ]; then - printf "\e[31m❌ Could not find ASCII art at %s\e[0m\n" "$ART_PATH" - exit 1 -fi - -while IFS= read -r line; do - printf "%b%s%b\n" "$PURPLE" "$line" "$RESET" -done < "$ART_PATH" - -printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET" - -printf "\e[32mVerifying all images are present…\e[0m\n" - -if ! command -v jq >/dev/null 2>&1; then - printf "\e[31mjq is required for verifying images. Please install jq.\e[0m\n" - exit 1 -fi - -images=$(docker compose config --format json | jq -r '.services[]?.image // empty') +source ./scripts/Unix/starter.sh +echo "Verifying all images are present…" +images=$(docker compose config --format json | jq -r '.services[].image // empty') for image in $images; do - if ! docker image inspect "$image" >/dev/null 2>&1; then - printf "\e[31mRequired images not found. Please run install.sh first.\e[0m\n" + if ! docker image inspect "$image" > /dev/null 2>&1; then + echo "Required images not found. Please run install.sh first." >&2 exit 1 fi - printf " • Found image: %s\n" "$image" + echo " • Found image: $image" done -printf "\e[36mStarting services…\e[0m\n" +echo "Spinning services up…" docker compose up --no-build --detach --wait +echo "Services are up and healthy!" -printf "\e[36mApplying migrations…\e[0m\n" +echo "Applying migrations…" docker compose exec app poetry run python manage.py migrate --no-input +echo "Migrations applied successfully!" -printf "\e[36mCollecting static files…\e[0m\n" +echo "Collecting static files…" docker compose exec app poetry run python manage.py collectstatic --no-input +echo "Static files collected successfully!" -printf "\e[36mSetting default caches…\e[0m\n" +echo "Setting default caches…" docker compose exec app poetry run python manage.py set_default_caches +echo "Default caches set successfully!" -printf "\e[36mCleaning up…\e[0m\n" -docker compose exec app poetry run python manage.py set_default_caches +echo "Cleaning unused Docker data…" +docker system prune -f +echo "Unused Docker data cleaned successfully!" -printf "\e[32mAll done! eVibes is up and running.\e[0m\n" +echo "All done! eVibes is up and running!" diff --git a/scripts/Unix/starter.sh b/scripts/Unix/starter.sh new file mode 100644 index 00000000..7ee42548 --- /dev/null +++ b/scripts/Unix/starter.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +set -euo pipefail + +if [ -n "${BASH_VERSION-}" ]; then script_path="${BASH_SOURCE[0]}" +elif [ -n "${ZSH_VERSION-}" ]; then script_path="${(%):-%x}" +else script_path="$0" +fi +script_dir="$(cd "$(dirname "$script_path")" && pwd -P)" + +if [ ! -d "./evibes" ]; then + echo "❌ Please run this script from the project's root (where the 'evibes' directory lives)." >&2 + exit 1 +fi + +art_path="$script_dir/../ASCII_ART_EVIBES" +if [ ! -f "$art_path" ]; then + echo "❌ Could not find ASCII art at $art_path" >&2 + exit 1 +fi + +cat "$art_path" +echo +echo " by WISELESS TEAM" +echo diff --git a/scripts/Unix/uninstall.sh b/scripts/Unix/uninstall.sh index 0ea05878..e3c97daf 100644 --- a/scripts/Unix/uninstall.sh +++ b/scripts/Unix/uninstall.sh @@ -1,39 +1,23 @@ #!/usr/bin/env bash set -euo pipefail -if [ ! -d "./evibes" ]; then - printf "\e[31m❌ Please run this script from the project's root (where the 'evibes' directory lives).\e[0m\n" - exit 1 -fi +source ./scripts/Unix/starter.sh -PURPLE="\e[38;2;121;101;209m" -RESET="\e[0m" -GRAY="\e[90m" -CYAN="\e[36m" -RED="\e[31m" - -SOURCE="${BASH_SOURCE[0]:-$0}" -SCRIPT_DIR="$(cd "$(dirname "$SOURCE")" && pwd)" -ART_PATH="$SCRIPT_DIR/../ASCII_ART_EVIBES" - -if [ ! -f "$ART_PATH" ]; then - printf "%b❌ Could not find ASCII art at %s%b\n" "$RED" "$ART_PATH" "$RESET" - exit 1 -fi - -while IFS= read -r line; do - printf "%b%s%b\n" "$PURPLE" "$line" "$RESET" -done < "$ART_PATH" - -printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET" - -printf "%bKilling services…%b\n" "$CYAN" "$RESET" +echo "Shutting down..." docker compose down +echo "Services were shut down successfully!" -printf "%bCleaning up Docker data…%b\n" "$CYAN" "$RESET" -docker system prune -f +echo "Removing volumes..." +docker volume rm -f evibes_prometheus-data +docker volume rm -f evibes_es-data +echo "Volumes were removed successfully!" -printf "%bRemoving related files…%b\n" "$CYAN" "$RESET" +echo "Cleaning up unused Docker data..." +docker system prune -a -f --volumes +echo "Unused Docker data cleaned successfully!" + +echo "Removing related files..." rm -rf ./services_data ./media ./static +echo "Related files removed successfully!" -printf "%bBye-bye, hope you return later!%b\n" "$RED" "$RESET" +echo "Bye-bye, hope you return later!" diff --git a/scripts/Windows/backup.ps1 b/scripts/Windows/backup.ps1 index 15fd02bb..cc12a11b 100644 --- a/scripts/Windows/backup.ps1 +++ b/scripts/Windows/backup.ps1 @@ -2,28 +2,7 @@ Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' -if (-not (Test-Path -Path ".\evibes" -PathType Container)) -{ - Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red - exit 1 -} - -$purple = "`e[38;2;121;101;209m" -$reset = "`e[0m" - -$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES' -if (-not (Test-Path $artPath)) -{ - Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red - exit 1 -} - -$art = Get-Content -Raw -Path $artPath -$art -split "`r?`n" | ForEach-Object { - Write-Host "$purple$_$reset" -} - -Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray +.\scripts\Windows\starter.ps1 Write-Host "Starting database backup process..." -ForegroundColor Magenta docker compose exec app poetry run python manage.py dbbackup diff --git a/scripts/Windows/export-environment-file.ps1 b/scripts/Windows/export-environment-file.ps1 index 234875cd..010d44b0 100644 --- a/scripts/Windows/export-environment-file.ps1 +++ b/scripts/Windows/export-environment-file.ps1 @@ -2,28 +2,7 @@ Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' -if (-not (Test-Path -Path ".\evibes" -PathType Container)) -{ - Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red - exit 1 -} - -$purple = "`e[38;2;121;101;209m" -$reset = "`e[0m" - -$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES' -if (-not (Test-Path $artPath)) -{ - Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red - exit 1 -} - -$art = Get-Content -Raw -Path $artPath -$art -split "`r?`n" | ForEach-Object { - Write-Host "$purple$_$reset" -} - -Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray +.\scripts\Windows\starter.ps1 $envFile = '.env' diff --git a/scripts/Windows/generate-environment-file.ps1 b/scripts/Windows/generate-environment-file.ps1 index 1cee26b3..62c1410a 100644 --- a/scripts/Windows/generate-environment-file.ps1 +++ b/scripts/Windows/generate-environment-file.ps1 @@ -1,29 +1,7 @@ -#!/usr/bin/env pwsh Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' -if (-not (Test-Path -Path ".\evibes" -PathType Container)) -{ - Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red - exit 1 -} - -$purple = "`e[38;2;121;101;209m" -$reset = "`e[0m" - -$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES' -if (-not (Test-Path $artPath)) -{ - Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red - exit 1 -} - -$art = Get-Content -Raw -Path $artPath -$art -split "`r?`n" | ForEach-Object { - Write-Host "$purple$_$reset" -} - -Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray +.\scripts\Windows\starter.ps1 function Get-RandomHex { diff --git a/scripts/Windows/install.ps1 b/scripts/Windows/install.ps1 index e4c426cb..c0d49dca 100644 --- a/scripts/Windows/install.ps1 +++ b/scripts/Windows/install.ps1 @@ -1,25 +1,7 @@ -#!/usr/bin/env pwsh Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' -if (-not (Test-Path -Path ".\evibes" -PathType Container)) -{ - Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red - exit 1 -} - -$purple = "`e[38;2;121;101;209m" -$reset = "`e[0m" -$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES' - -if (-not (Test-Path $artPath)) -{ - Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red - exit 1 -} - -Get-Content -Raw -Path $artPath | ForEach-Object { Write-Host "$purple$_$reset" } -Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray +.\scripts\Windows\starter.ps1 if (-not (Test-Path '.env')) { diff --git a/scripts/Windows/reboot.ps1 b/scripts/Windows/reboot.ps1 index 63a30ad5..a6f48430 100644 --- a/scripts/Windows/reboot.ps1 +++ b/scripts/Windows/reboot.ps1 @@ -1,27 +1,7 @@ +Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' -if (-not (Test-Path -Path ".\evibes" -PathType Container)) -{ - Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red - exit 1 -} - -$purple = "`e[38;2;121;101;209m" -$reset = "`e[0m" - -$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES' -if (-not (Test-Path $artPath)) -{ - Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red - exit 1 -} - -$art = Get-Content -Raw -Path $artPath -$art -split "`r?`n" | ForEach-Object { - Write-Host "$purple$_$reset" -} - -Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray +.\scripts\Windows\starter.ps1 Write-Host "Shutting down..." -ForegroundColor Magenta diff --git a/scripts/Windows/run.ps1 b/scripts/Windows/run.ps1 index fb56acdf..e43b7a9c 100644 --- a/scripts/Windows/run.ps1 +++ b/scripts/Windows/run.ps1 @@ -1,29 +1,7 @@ -#!/usr/bin/env pwsh Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' -if (-not (Test-Path -Path ".\evibes" -PathType Container)) -{ - Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red - exit 1 -} - -$purple = "`e[38;2;121;101;209m" -$reset = "`e[0m" - -$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES' -if (-not (Test-Path $artPath)) -{ - Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red - exit 1 -} - -$art = Get-Content -Raw -Path $artPath -$art -split "`r?`n" | ForEach-Object { - Write-Host "$purple$_$reset" -} - -Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray +.\scripts\Windows\starter.ps1 Write-Host "Verifying all images are present…" -ForegroundColor Green diff --git a/scripts/Windows/starter.ps1 b/scripts/Windows/starter.ps1 new file mode 100644 index 00000000..dc4914f5 --- /dev/null +++ b/scripts/Windows/starter.ps1 @@ -0,0 +1,21 @@ +Set-StrictMode -Version Latest +$ErrorActionPreference = 'Stop' + +if (-not (Test-Path -Path ".\evibes" -PathType Container)) +{ + Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red + exit 1 +} + +$purple = "`e[38;2;121;101;209m" +$reset = "`e[0m" +$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES' + +if (-not (Test-Path $artPath)) +{ + Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red + exit 1 +} + +Get-Content -Raw -Path $artPath | ForEach-Object { Write-Host "$purple$_$reset" } +Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray \ No newline at end of file diff --git a/scripts/Windows/uninstall.ps1 b/scripts/Windows/uninstall.ps1 index 7cc64a3b..bee7d3a4 100644 --- a/scripts/Windows/uninstall.ps1 +++ b/scripts/Windows/uninstall.ps1 @@ -1,29 +1,7 @@ -#!/usr/bin/env pwsh Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' -if (-not (Test-Path -Path ".\evibes" -PathType Container)) -{ - Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red - exit 1 -} - -$purple = "`e[38;2;121;101;209m" -$reset = "`e[0m" - -$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES' -if (-not (Test-Path $artPath)) -{ - Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red - exit 1 -} - -$art = Get-Content -Raw -Path $artPath -$art -split "`r?`n" | ForEach-Object { - Write-Host "$purple$_$reset" -} - -Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray +.\scripts\Windows\starter.ps1 Write-Host "Shutting down..." -ForegroundColor Magenta docker compose down