From a91ba0c41a85c9570e392cad324ecad5b254e7de Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Sun, 22 Jun 2025 00:48:06 +0300 Subject: [PATCH] Features: 1) Add `priority` field to `Category` model; 2) Update `priority` field in `Brand` model to improve consistency. Fixes: 1) Ensure correct handling of query results in category/brand auto-resolve methods; 2) Fix PO formatting issues across multiple locales. Extra: 1) Add `priority` field to Django admin for categories; 2) Suppress specific type-checking warnings in settings and utilities. --- blog/locale/ar_AR/LC_MESSAGES/django.mo | Bin 1586 -> 1524 bytes blog/locale/ar_AR/LC_MESSAGES/django.po | 9 +- blog/locale/cs_CZ/LC_MESSAGES/django.mo | Bin 1453 -> 1394 bytes blog/locale/cs_CZ/LC_MESSAGES/django.po | 9 +- blog/locale/da_DK/LC_MESSAGES/django.mo | Bin 1365 -> 1306 bytes blog/locale/da_DK/LC_MESSAGES/django.po | 9 +- blog/locale/de_DE/LC_MESSAGES/django.mo | Bin 1423 -> 1364 bytes blog/locale/de_DE/LC_MESSAGES/django.po | 9 +- blog/locale/en_GB/LC_MESSAGES/django.mo | Bin 1330 -> 1270 bytes blog/locale/en_GB/LC_MESSAGES/django.po | 9 +- blog/locale/en_US/LC_MESSAGES/django.mo | Bin 1335 -> 1275 bytes blog/locale/en_US/LC_MESSAGES/django.po | 9 +- blog/locale/es_ES/LC_MESSAGES/django.mo | Bin 1415 -> 1356 bytes blog/locale/es_ES/LC_MESSAGES/django.po | 9 +- blog/locale/fr_FR/LC_MESSAGES/django.mo | Bin 1403 -> 1343 bytes blog/locale/fr_FR/LC_MESSAGES/django.po | 13 +- blog/locale/hi_IN/LC_MESSAGES/django.po | 6 +- blog/locale/it_IT/LC_MESSAGES/django.mo | Bin 1353 -> 1293 bytes blog/locale/it_IT/LC_MESSAGES/django.po | 9 +- blog/locale/ja_JP/LC_MESSAGES/django.mo | Bin 1512 -> 1447 bytes blog/locale/ja_JP/LC_MESSAGES/django.po | 17 +- blog/locale/kk_KZ/LC_MESSAGES/django.po | 6 +- blog/locale/nl_NL/LC_MESSAGES/django.mo | Bin 1380 -> 1321 bytes blog/locale/nl_NL/LC_MESSAGES/django.po | 13 +- blog/locale/pl_PL/LC_MESSAGES/django.mo | Bin 1384 -> 1324 bytes blog/locale/pl_PL/LC_MESSAGES/django.po | 9 +- blog/locale/pt_BR/LC_MESSAGES/django.mo | Bin 1431 -> 1372 bytes blog/locale/pt_BR/LC_MESSAGES/django.po | 12 +- blog/locale/ro_RO/LC_MESSAGES/django.mo | Bin 1418 -> 1357 bytes blog/locale/ro_RO/LC_MESSAGES/django.po | 12 +- blog/locale/ru_RU/LC_MESSAGES/django.mo | Bin 1731 -> 1665 bytes blog/locale/ru_RU/LC_MESSAGES/django.po | 9 +- blog/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 1331 -> 1271 bytes blog/locale/zh_Hans/LC_MESSAGES/django.po | 9 +- core/admin.py | 1 + core/elasticsearch/__init__.py | 84 +- core/elasticsearch/documents.py | 34 +- core/locale/ar_AR/LC_MESSAGES/django.mo | Bin 57207 -> 57061 bytes core/locale/ar_AR/LC_MESSAGES/django.po | 798 ++++++++-------- core/locale/cs_CZ/LC_MESSAGES/django.mo | Bin 49373 -> 49258 bytes core/locale/cs_CZ/LC_MESSAGES/django.po | 790 ++++++++-------- core/locale/da_DK/LC_MESSAGES/django.mo | Bin 47768 -> 47651 bytes core/locale/da_DK/LC_MESSAGES/django.po | 813 ++++++++-------- core/locale/de_DE/LC_MESSAGES/django.mo | Bin 50640 -> 50521 bytes core/locale/de_DE/LC_MESSAGES/django.po | 845 +++++++++-------- core/locale/en_GB/LC_MESSAGES/django.mo | Bin 46046 -> 45930 bytes core/locale/en_GB/LC_MESSAGES/django.po | 797 ++++++++-------- core/locale/en_US/LC_MESSAGES/django.mo | Bin 46045 -> 45929 bytes core/locale/en_US/LC_MESSAGES/django.po | 794 ++++++++-------- core/locale/es_ES/LC_MESSAGES/django.mo | Bin 49491 -> 49368 bytes core/locale/es_ES/LC_MESSAGES/django.po | 810 ++++++++-------- core/locale/fr_FR/LC_MESSAGES/django.mo | Bin 50672 -> 50550 bytes core/locale/fr_FR/LC_MESSAGES/django.po | 827 ++++++++-------- core/locale/hi_IN/LC_MESSAGES/django.po | 700 +++++++------- core/locale/it_IT/LC_MESSAGES/django.mo | Bin 49842 -> 49721 bytes core/locale/it_IT/LC_MESSAGES/django.po | 833 ++++++++-------- core/locale/ja_JP/LC_MESSAGES/django.mo | Bin 51768 -> 51636 bytes core/locale/ja_JP/LC_MESSAGES/django.po | 894 ++++++++++-------- core/locale/kk_KZ/LC_MESSAGES/django.po | 700 +++++++------- core/locale/nl_NL/LC_MESSAGES/django.mo | Bin 49018 -> 48896 bytes core/locale/nl_NL/LC_MESSAGES/django.po | 813 ++++++++-------- core/locale/pl_PL/LC_MESSAGES/django.mo | Bin 49344 -> 49229 bytes core/locale/pl_PL/LC_MESSAGES/django.po | 796 ++++++++-------- core/locale/pt_BR/LC_MESSAGES/django.mo | Bin 49417 -> 49299 bytes core/locale/pt_BR/LC_MESSAGES/django.po | 793 ++++++++-------- core/locale/ro_RO/LC_MESSAGES/django.mo | Bin 50231 -> 50111 bytes core/locale/ro_RO/LC_MESSAGES/django.po | 814 ++++++++-------- core/locale/ru_RU/LC_MESSAGES/django.mo | Bin 63367 -> 63218 bytes core/locale/ru_RU/LC_MESSAGES/django.po | 812 ++++++++-------- core/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 44305 -> 44193 bytes core/locale/zh_Hans/LC_MESSAGES/django.po | 787 +++++++-------- ..._category_priority_alter_brand_priority.py | 23 + core/models.py | 8 +- core/utils/db.py | 1 + core/vendors/__init__.py | 6 +- evibes/locale/ar_AR/LC_MESSAGES/django.po | 7 +- evibes/locale/cs_CZ/LC_MESSAGES/django.po | 7 +- evibes/locale/da_DK/LC_MESSAGES/django.po | 7 +- evibes/locale/de_DE/LC_MESSAGES/django.po | 7 +- evibes/locale/en_GB/LC_MESSAGES/django.po | 7 +- evibes/locale/en_US/LC_MESSAGES/django.po | 7 +- evibes/locale/es_ES/LC_MESSAGES/django.po | 7 +- evibes/locale/fr_FR/LC_MESSAGES/django.po | 7 +- evibes/locale/hi_IN/LC_MESSAGES/django.po | 7 +- evibes/locale/it_IT/LC_MESSAGES/django.po | 7 +- evibes/locale/ja_JP/LC_MESSAGES/django.po | 7 +- evibes/locale/kk_KZ/LC_MESSAGES/django.po | 7 +- evibes/locale/nl_NL/LC_MESSAGES/django.po | 7 +- evibes/locale/pl_PL/LC_MESSAGES/django.po | 7 +- evibes/locale/pt_BR/LC_MESSAGES/django.po | 7 +- evibes/locale/ro_RO/LC_MESSAGES/django.po | 7 +- evibes/locale/ru_RU/LC_MESSAGES/django.po | 7 +- evibes/locale/zh_Hans/LC_MESSAGES/django.po | 7 +- evibes/settings/daisy.py | 2 +- payments/locale/ar_AR/LC_MESSAGES/django.mo | Bin 2789 -> 2719 bytes payments/locale/ar_AR/LC_MESSAGES/django.po | 17 +- payments/locale/cs_CZ/LC_MESSAGES/django.mo | Bin 2584 -> 2517 bytes payments/locale/cs_CZ/LC_MESSAGES/django.po | 17 +- payments/locale/da_DK/LC_MESSAGES/django.mo | Bin 2532 -> 2465 bytes payments/locale/da_DK/LC_MESSAGES/django.po | 21 +- payments/locale/de_DE/LC_MESSAGES/django.mo | Bin 2668 -> 2601 bytes payments/locale/de_DE/LC_MESSAGES/django.po | 20 +- payments/locale/en_GB/LC_MESSAGES/django.mo | Bin 2494 -> 2426 bytes payments/locale/en_GB/LC_MESSAGES/django.po | 17 +- payments/locale/en_US/LC_MESSAGES/django.mo | Bin 2482 -> 2414 bytes payments/locale/en_US/LC_MESSAGES/django.po | 17 +- payments/locale/es_ES/LC_MESSAGES/django.mo | Bin 2532 -> 2465 bytes payments/locale/es_ES/LC_MESSAGES/django.po | 17 +- payments/locale/fr_FR/LC_MESSAGES/django.mo | Bin 2611 -> 2543 bytes payments/locale/fr_FR/LC_MESSAGES/django.po | 24 +- payments/locale/hi_IN/LC_MESSAGES/django.po | 6 +- payments/locale/it_IT/LC_MESSAGES/django.mo | Bin 2562 -> 2494 bytes payments/locale/it_IT/LC_MESSAGES/django.po | 17 +- payments/locale/ja_JP/LC_MESSAGES/django.mo | Bin 2740 -> 2667 bytes payments/locale/ja_JP/LC_MESSAGES/django.po | 23 +- payments/locale/kk_KZ/LC_MESSAGES/django.po | 6 +- payments/locale/nl_NL/LC_MESSAGES/django.mo | Bin 2521 -> 2454 bytes payments/locale/nl_NL/LC_MESSAGES/django.po | 17 +- payments/locale/pl_PL/LC_MESSAGES/django.mo | Bin 2573 -> 2505 bytes payments/locale/pl_PL/LC_MESSAGES/django.po | 17 +- payments/locale/pt_BR/LC_MESSAGES/django.mo | Bin 2545 -> 2478 bytes payments/locale/pt_BR/LC_MESSAGES/django.po | 21 +- payments/locale/ro_RO/LC_MESSAGES/django.mo | Bin 2593 -> 2524 bytes payments/locale/ro_RO/LC_MESSAGES/django.po | 17 +- payments/locale/ru_RU/LC_MESSAGES/django.mo | Bin 3062 -> 2988 bytes payments/locale/ru_RU/LC_MESSAGES/django.po | 17 +- payments/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 2429 -> 2361 bytes payments/locale/zh_Hans/LC_MESSAGES/django.po | 17 +- scripts/Windows/uninstall.ps1 | 2 +- vibes_auth/locale/ar_AR/LC_MESSAGES/django.mo | Bin 9777 -> 9724 bytes vibes_auth/locale/ar_AR/LC_MESSAGES/django.po | 30 +- vibes_auth/locale/cs_CZ/LC_MESSAGES/django.mo | Bin 8155 -> 8115 bytes vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po | 29 +- vibes_auth/locale/da_DK/LC_MESSAGES/django.mo | Bin 7998 -> 7958 bytes vibes_auth/locale/da_DK/LC_MESSAGES/django.po | 29 +- vibes_auth/locale/de_DE/LC_MESSAGES/django.mo | Bin 8550 -> 8510 bytes vibes_auth/locale/de_DE/LC_MESSAGES/django.po | 37 +- vibes_auth/locale/en_GB/LC_MESSAGES/django.mo | Bin 7805 -> 7765 bytes vibes_auth/locale/en_GB/LC_MESSAGES/django.po | 34 +- vibes_auth/locale/en_US/LC_MESSAGES/django.mo | Bin 7794 -> 7754 bytes vibes_auth/locale/en_US/LC_MESSAGES/django.po | 26 +- vibes_auth/locale/es_ES/LC_MESSAGES/django.mo | Bin 8381 -> 8341 bytes vibes_auth/locale/es_ES/LC_MESSAGES/django.po | 26 +- vibes_auth/locale/fr_FR/LC_MESSAGES/django.mo | Bin 8742 -> 8702 bytes vibes_auth/locale/fr_FR/LC_MESSAGES/django.po | 40 +- vibes_auth/locale/hi_IN/LC_MESSAGES/django.po | 16 +- vibes_auth/locale/it_IT/LC_MESSAGES/django.mo | Bin 8364 -> 8314 bytes vibes_auth/locale/it_IT/LC_MESSAGES/django.po | 26 +- vibes_auth/locale/ja_JP/LC_MESSAGES/django.mo | Bin 9306 -> 9266 bytes vibes_auth/locale/ja_JP/LC_MESSAGES/django.po | 45 +- vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po | 16 +- vibes_auth/locale/nl_NL/LC_MESSAGES/django.mo | Bin 8223 -> 8183 bytes vibes_auth/locale/nl_NL/LC_MESSAGES/django.po | 34 +- vibes_auth/locale/pl_PL/LC_MESSAGES/django.mo | Bin 8275 -> 8235 bytes vibes_auth/locale/pl_PL/LC_MESSAGES/django.po | 33 +- vibes_auth/locale/pt_BR/LC_MESSAGES/django.mo | Bin 8181 -> 8131 bytes vibes_auth/locale/pt_BR/LC_MESSAGES/django.po | 30 +- vibes_auth/locale/ro_RO/LC_MESSAGES/django.mo | Bin 8414 -> 8374 bytes vibes_auth/locale/ro_RO/LC_MESSAGES/django.po | 29 +- vibes_auth/locale/ru_RU/LC_MESSAGES/django.mo | Bin 10559 -> 10519 bytes vibes_auth/locale/ru_RU/LC_MESSAGES/django.po | 36 +- .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 7556 -> 7516 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 29 +- vibes_auth/serializers.py | 6 +- 164 files changed, 7935 insertions(+), 7805 deletions(-) create mode 100644 core/migrations/0034_category_priority_alter_brand_priority.py diff --git a/blog/locale/ar_AR/LC_MESSAGES/django.mo b/blog/locale/ar_AR/LC_MESSAGES/django.mo index d8cbdc08946e2e07ad7a3c76728ec073fee506ad..bbc938ed87ac7af5ce994ecad2f47ed1859a4ac1 100644 GIT binary patch delta 346 zcmXxfzYf7r6vy#%Y5i$Sq>Vu^S)_wqA~BGt#bOha#0y9)2K4|Yjl=^O%nYm+t2giz zMhV}W)=7T(+;iJ|dwO=>cKC9Qy--C`BU|E;578AUks%JzzzCaoz#iU{eKRGJqqi`R z9$HvO6PsAV7V7u9@qQ=)iv}AboO0O$C-l#BJe1E@`}A$x;2QO?U#w!0+w16K1p{<( zhWdw=SjHXdb0_TJ6_pHFC6z@znVz0!k|Fv4^GJd4J#omtm{07av7)&eUmoh1x~zWK8btsA delta 429 zcmYMvu}cC`9Ki8+c4p?OA%sW;4_e$?1alB;h?*tDh6^t}>P|4oMNkm>2U1*J92@GE z250BSS{hqjbQJo&>%<@Y?(^RJ9q;{qi`cu-{YmLVK_tmTazLg@L*qj<@B(er(Ze`? zU>0Xs!g)|X2??>oK8H~(;x1ld7|XbaRph^}aDu`U9#iOGmCMFhVZYiEB7xVuu9~dl z8Md*9Q&jZ=w;$jY9$^DB_>3tWqZ-h|ef-1(?~7j+ryMMicl}Tk8f1**SVTzr@FxR* zqHVPxR8#coPpkH-nRU?HCQRv=t@~QD?aDj*!II6EbY5<>eB3JAx7MRPck8xmc_VES RGG4#lzWegO;N|qG_6J+XF&qE@ diff --git a/blog/locale/ar_AR/LC_MESSAGES/django.po b/blog/locale/ar_AR/LC_MESSAGES/django.po index 258189c3..344b8205 100644 --- a/blog/locale/ar_AR/LC_MESSAGES/django.po +++ b/blog/locale/ar_AR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "المدونة" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "محرك eVibes" - #: blog/models.py:17 msgid "post title" msgstr "عنوان المنشور" @@ -70,3 +66,6 @@ msgstr "علامة المشاركة" #: blog/models.py:97 msgid "post tags" msgstr "علامات المشاركة" + +#~ msgid "eVibes Engine" +#~ msgstr "محرك eVibes" diff --git a/blog/locale/cs_CZ/LC_MESSAGES/django.mo b/blog/locale/cs_CZ/LC_MESSAGES/django.mo index f87ed5e017797d1836aec79ba8242490c489b41d..61b08f2c0e82dc00bc1d7a0a8a61bd0cd4b43ff9 100644 GIT binary patch delta 346 zcmXZYJq`gu6u|K}?D|-ru?dNgNGMh#R1%FsVK)&C9VHiVfxUo6MB)e<)y4rdI&lM) z6Q~pl|5^Kzm*2dZ$-I|2XWo|oEExwO@??$Nk~aAzb+}5zLk|tyqk~5r;WgSfV^L1!6J50-y8n-eQ{Yd*_h&z$2K^pe#HL`TXgMFw{e0C%;E_vc)>E>Q4ju# z&OcbCHtAl#1}3nJ1MH)cF{>z&s3+6Ya~59Kzrs9{BY7`u3}G;zWTLgTU#nSgQ@dEO HGCcJIU=JBE delta 429 zcmYMvu};EJ6oBDdEQnClK%$8;;U+GugoVh0F%F6@#^3-B7^*bTHYo%a6W##@S6{%X zi%;NVxcC4PcN6|ons}1aulJtbo_l^X@7d{B-kd99hdd--$bHf>co022M+Z#|F^3;m z!cRQKpSWI0D3xYi#VtI+3^p){P29yc^4(Oqabb){6rQln&))Ec_20(2@ipBo*0)&3 zE?(jy-v36q_!9RpO}7FTQO;HH0P85jwlGD1)#v4yjR5Hzg-j@ivLxGTljI)JWDrf1 zk{3dL#$BUnWxXwrIJnDybhO(E`dxqG=?7\n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "Motor eVibes" - #: blog/models.py:17 msgid "post title" msgstr "Název příspěvku" @@ -72,3 +68,6 @@ msgstr "Označení příspěvku" #: blog/models.py:97 msgid "post tags" msgstr "Štítky příspěvků" + +#~ msgid "eVibes Engine" +#~ msgstr "Motor eVibes" diff --git a/blog/locale/da_DK/LC_MESSAGES/django.mo b/blog/locale/da_DK/LC_MESSAGES/django.mo index 70d6bbe0c5c1cc6a3a2d3dfb53deb910d6d5f6cd..3727ef762f33145e94ea526724521cdbc7cb91a1 100644 GIT binary patch delta 345 zcmXxgyAAM#t|j83hc^1?;u_m{4DOwfNQ~NG91Cc$ zf)2Wv#U^TB>vunsE{8f7103_%6noT{@NZy=sSWBX>cBomafun+pgz3A93F!2XDm`* zQ3pOy7kOe0Uua2(QxN*7HtP1;7$Nnqu#coj`Xx#JgZ(5C6vm%e!~Mychy0QK{sN@Y B8*cyr delta 428 zcmYMvu}i~16vy#POs!2*t5WD9c%p-Yow5i{QXERbF^la`F>0tuAc`(RRy$V_octfU z^e=F7tgDl|lamO3-!hwDOKsRa6;z3D9RcV$@0Ov421aqTB zd7&hfvzpt=yeyBR$o{W^jtANBG`&sqS#%ldG}H08Z|&E@AUX-J^kH%yCE?`B8rj}_ OsTHT!X*S+)e*OUB&n&zE diff --git a/blog/locale/da_DK/LC_MESSAGES/django.po b/blog/locale/da_DK/LC_MESSAGES/django.po index 650ab119..e3f2c7e5 100644 --- a/blog/locale/da_DK/LC_MESSAGES/django.po +++ b/blog/locale/da_DK/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes-motor" - #: blog/models.py:17 msgid "post title" msgstr "Indlæggets titel" @@ -70,3 +66,6 @@ msgstr "Tag til indlæg" #: blog/models.py:97 msgid "post tags" msgstr "Tags til indlæg" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes-motor" diff --git a/blog/locale/de_DE/LC_MESSAGES/django.mo b/blog/locale/de_DE/LC_MESSAGES/django.mo index accd2c058ee642f50683defa008343e9bb58007e..00ae24695bf1764d105e5a43c17b1ed8c8a0e7d7 100644 GIT binary patch delta 346 zcmXxezYf805Ww;K(W3RQVUn=0R3u)Z1BrIASPWJxi5KV#NDPg{L)bilh0$W=2|R*? z?`i##>*sgBT<>mIzPs_WVeN%eBih84XcBKiPiRCUjL^aaeLUa@&)K`36Dg6q=wK6F z?4XT4dN@R_3)1&kLM}ZXrnsQl2G``bd^#{-YM*?Jb6jB&uUOSO)a4)8z!&NQAFQLp zbRF12U8KurfIb?TaLbN1)k6JQ3k!rcW}n|6`bmZOANG@Smbl5%%uW|`%$;J(GhbjX B8B_oO delta 429 zcmYMvy-vbV6u|M@T0~3ng9QhNn=pWJbTK*^WH82!5C#}fD>mBRq!L|B`UnnUTwNWU zy7&Y>0kf~*6PWNnml{uU`nwxdtyqBrCxVXm#7mqlg*c%%5ze|h8G2H|9Deho~ zeSF6T3Jd|bmVtYH&nkOP#TJVqI?izWK2A&XrOE|9)9q>wbLkR00v%wazS`$x;N zAfza>+9tA>=6}I#|1r|>D80Ef4~f2tZbNNS9X}79!)n-z&ci$1NybqU=C96&8x%)p LW@6I3?QJ@9$)PHk diff --git a/blog/locale/de_DE/LC_MESSAGES/django.po b/blog/locale/de_DE/LC_MESSAGES/django.po index f0e7a500..84937039 100644 --- a/blog/locale/de_DE/LC_MESSAGES/django.po +++ b/blog/locale/de_DE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes Motor" - #: blog/models.py:17 msgid "post title" msgstr "Titel des Beitrags" @@ -73,3 +69,6 @@ msgstr "Tag eintragen" #: blog/models.py:97 msgid "post tags" msgstr "Tags eintragen" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes Motor" diff --git a/blog/locale/en_GB/LC_MESSAGES/django.mo b/blog/locale/en_GB/LC_MESSAGES/django.mo index bb8d4871bcf9033ae8e046bdfee729296c494d3b..9a736931aec6d2f0efb3f21a8e81e559c81abdb5 100644 GIT binary patch delta 349 zcmXZYJqp4=5QgDdP5g;Jh_Mm0vWbmX5L7T}Y%Dy17w`ZED;v8Iu=4^|(F=%>LaaQ1 z$FQ>SotPz)XEO}@ElHeDHGH?NSXfP}M;$1a`ck@lBNAYM7Dnjd5vO>|`*uO3!ncD} zbkV^++UQ{mN2qh-e?JtT&49)NR~)uM4SW>;fgMscu!}RCAdl>M=|Kn7z!>XzLJd5l z1}3O;_q_i^&3mDdIlFw7Q3v%fJ)lJCU*SH|pqS4BAY0r|YWd!Y)@FH0&8`roW*BX) F>kq*G8^izr delta 438 zcmZ9|F;Buk7{>7fssaKM78x8aaWSkUgcZ~n;w(C_K&;q6+XNF>2>lS??q`6-)tC@h zW|GcMx*0b7zef`j-}Jp-uh;9-_9rz@2Vuc_R@4!FLeJ=9Ium1{9SRPB=ah!u!d>8#yxCe9$UzLfpVjTA)c}@##2&NTed%=_&z=^o(&8<4 K7tj8`9R31XYB8t) diff --git a/blog/locale/en_GB/LC_MESSAGES/django.po b/blog/locale/en_GB/LC_MESSAGES/django.po index bf77211f..5ec67bda 100644 --- a/blog/locale/en_GB/LC_MESSAGES/django.po +++ b/blog/locale/en_GB/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -21,10 +21,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes Engine" - #: blog/models.py:17 msgid "post title" msgstr "Post's title" @@ -75,6 +71,9 @@ msgstr "Post tag" msgid "post tags" msgstr "Post tags" +#~ msgid "eVibes Engine" +#~ msgstr "eVibes Engine" + #~ msgid "(no content yet)" #~ msgstr "(no content yet)" diff --git a/blog/locale/en_US/LC_MESSAGES/django.mo b/blog/locale/en_US/LC_MESSAGES/django.mo index 601914afc30c1701fa5709d59904d39ad13008ec..fcd618d0cd4e25d09dda949abe78217a5d0eb406 100644 GIT binary patch delta 357 zcmXZYzYf7r6vy#XZvCl05uGGhEMo8q1`_`gJ7KX{BoZ&s7w965M9f}544rK@F`0M; z55VAi=t)mMw>LNE*EV$CY42GyTcPrFnf7Uy{?J-IOQer|G#FqVci6^rv~R~mQan4D zMi(8dppA7bU=#IR>%Z?wk424*5l$JlMh(2i|A8e^HL!{u>>`)=+;q?eHE@qvJfH?1 zQ3FHNbC+oUhMIRrO9rf>N}?XrVLBi|>tEr0Bu8`p7XZKF{Uj5u^-F_Kd}!v&)gl<1 M#_46vV!^~bzRLL>@c;k- delta 417 zcmZ9|u};EJ6vpveTEx~?2o5fqn79~M7FGj<5SSTASxA~vqjey0GU>o06nEdDgRCsZ z1xLrm7a$CdgoOVo4Fe}V_t)Or+pq1${IsI9YP>6|OkdG6`jWOa25O8Q4A8&?9h~DG zeqjUG`FgFO)G60>H1Po~>|zo7SV0%LFH+C>!Ykgg@P;lA`#=fa>igg}=@Q&S2_9e* zr^unc86o-y@s-yPM&9J675YKw#n;Atve1SF=Xg5Z0WxMO%K!iX diff --git a/blog/locale/en_US/LC_MESSAGES/django.po b/blog/locale/en_US/LC_MESSAGES/django.po index 18067ef9..14717544 100644 --- a/blog/locale/en_US/LC_MESSAGES/django.po +++ b/blog/locale/en_US/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes Engine" - #: blog/models.py:17 msgid "post title" msgstr "Post's title" @@ -70,3 +66,6 @@ msgstr "Post tag" #: blog/models.py:97 msgid "post tags" msgstr "Post tags" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes Engine" diff --git a/blog/locale/es_ES/LC_MESSAGES/django.mo b/blog/locale/es_ES/LC_MESSAGES/django.mo index 626d92605d4592d2d567a68536fc8d7a4eaa8856..a617cd25307b0ce0cd0ea8f79f817511ec123f7b 100644 GIT binary patch delta 346 zcmXxgKMnyw6vy#5?E15d6(Sl6kqD8f^a=$c(Fm261GvDJ8r?>sbpVxGp`npDfJEaI z5{2($P4dfU-pkI+%dXt3<3DoNMpzkAB5RT-Z=$PjLihaT=xA3UNCe!)22 zv4GFeSJ?NMrcJ+yMtbbRrH6Dfy-X*L5&bL7BWc2UNs<3zzV9GfJHgzH4`&lZ4hySd EK3gXlvj6}9 delta 429 zcmYMvF-yZh6u|LIOs%%57DZh|j&@Pkb`YG3IB0PZ2?%wln6{x!0=3jd$ml9qarHZ7 z@e?@t5yaWewM(J@cMbU9<#+F1xOewecq%488_ugD*2!IRLhg{R#fRwO83yQJiY5HO zef-1|{LA_^Td5W5BV5G>7O;sq^stOAZ;@+r$1{{1E9*Fz|Ie)ZxpGbzJhj;MTv_r%^YE{PfM5*zQF< MqP=LOhfc+s1L&12-2eap diff --git a/blog/locale/es_ES/LC_MESSAGES/django.po b/blog/locale/es_ES/LC_MESSAGES/django.po index 25615109..8fe39788 100644 --- a/blog/locale/es_ES/LC_MESSAGES/django.po +++ b/blog/locale/es_ES/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "Motor eVibes" - #: blog/models.py:17 msgid "post title" msgstr "Título del mensaje" @@ -72,3 +68,6 @@ msgstr "Etiqueta postal" #: blog/models.py:97 msgid "post tags" msgstr "Etiquetas" + +#~ msgid "eVibes Engine" +#~ msgstr "Motor eVibes" diff --git a/blog/locale/fr_FR/LC_MESSAGES/django.mo b/blog/locale/fr_FR/LC_MESSAGES/django.mo index 513384696d129f3642dca0f2ed4da6f4a28db127..c0b8b43978d64d53e36390fe774215b6684d60e6 100644 GIT binary patch delta 346 zcmXZYy$%6E5Ww+W&et9yuF$xMh~%Q+5fln{jYbqitI~OadjZ`=cnifvEfiXXUZwL0 z6#jE=lDXf`W_NaSA9FV0vu^DaQ6-z?mUPH3DdB6S0u0c?2t7RD2rub=E~8YD+F%JC zH0WXuJ*;6L<=pVUA1a?khm8p?X|}-y^*#H4u*a)i>H*GihSKneWjvuYzNS7fPyNCc zzR^aTOLDKlr;RRZHD;AY0cA3oUJgnV`76w$DkOc92O$aOOBzdIqLrS;H@(lqYpbSz Ds3#d^ delta 430 zcmYMwze~eF6u|LIO|{0xS{E0=lTzyB;v#e^BBhj0LTRNPDxMl@5{SQ+LjQ(hMMwXK zEN*W88U6zf;w+VZUmEbiyHD=kaqlkg&aX56+_aw*Q6RU;DY-@FEe7HW8|a~pF}nDM zd-#Dz_?^}dGD_u`AL1(3(7`5Vv5gzpL-vi8pBC=1L}7$I4tvE@=Ch?m;||@WaUaV# z#4b)y4*tSC{-8AYOD#}bX0CAuE4YSr%+g<-@UhE67wMaXG?K$)Bg<-qhmrOl`&QL8ZSTz7=;Pqh3rzfMy=2^0 Pcx&z=y{N?dcF~#x6N4=Y diff --git a/blog/locale/fr_FR/LC_MESSAGES/django.po b/blog/locale/fr_FR/LC_MESSAGES/django.po index 61b3f2a4..8a1ba7a3 100644 --- a/blog/locale/fr_FR/LC_MESSAGES/django.po +++ b/blog/locale/fr_FR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "Moteur eVibes" - #: blog/models.py:17 msgid "post title" msgstr "Titre du message" @@ -47,8 +43,8 @@ msgstr "" msgid "" "a markdown file or markdown content must be provided - mutually exclusive" msgstr "" -"un fichier markdown ou un contenu markdown doit être fourni - ils s'excluent" -" mutuellement" +"un fichier markdown ou un contenu markdown doit être fourni - ils s'excluent " +"mutuellement" #: blog/models.py:82 msgid "internal tag identifier for the post tag" @@ -73,3 +69,6 @@ msgstr "Tag de poste" #: blog/models.py:97 msgid "post tags" msgstr "Tags de la poste" + +#~ msgid "eVibes Engine" +#~ msgstr "Moteur eVibes" diff --git a/blog/locale/hi_IN/LC_MESSAGES/django.po b/blog/locale/hi_IN/LC_MESSAGES/django.po index e23dfe66..b8fb06fc 100644 --- a/blog/locale/hi_IN/LC_MESSAGES/django.po +++ b/blog/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -20,10 +20,6 @@ msgstr "" msgid "blog" msgstr "" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "" - #: blog/models.py:17 msgid "post title" msgstr "" diff --git a/blog/locale/it_IT/LC_MESSAGES/django.mo b/blog/locale/it_IT/LC_MESSAGES/django.mo index 912ba8ea72c818a753734b6755b3760c110ad6d8..052aaff9c4ac860ac95a75d72ade9d48ae5d1827 100644 GIT binary patch delta 345 zcmXZYJq`g;5Ww+Sc6~gbp`{^`jlvZaB6b^%=(HTb1zdo}l8Dv?BrZTB*-EF>=$t{} zKkH30`MozgnR(gRY|QFabN51&$p*P5>*SZz2po|RLv%4h9}hUdo2`2(ksNn}d90(s zCVJ>&6?>?C{eOKW0f#n)G0qsa#3}bj`oFNlR{h?^q4uE;+@TISVi8YR!LzMjZ9TR= yF~j#aw(x_Fj5yiIq7Ky8>jG`ozruT@MADxuf+TpK6zthVb7yk7JKI#WaNj>?qZi^Ki zzo6jO$jNy|5qfxnd2C@7+sL`03hm$?w;4QQn~%NWIqScbMerHv5`2Mj zu8&Q8Liz9%CHND|I77MAx847>`*{w_yoLqx)fO*xHg=HQtRzSdtSi\n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "Motore eVibes" - #: blog/models.py:17 msgid "post title" msgstr "Titolo del post" @@ -71,3 +67,6 @@ msgstr "Post tag" #: blog/models.py:97 msgid "post tags" msgstr "Tag dei post" + +#~ msgid "eVibes Engine" +#~ msgstr "Motore eVibes" diff --git a/blog/locale/ja_JP/LC_MESSAGES/django.mo b/blog/locale/ja_JP/LC_MESSAGES/django.mo index b98eb4328f942d4e047919e284ff794f57949192..a64f9076a170a6c4a33d15c9064a02f4951e6434 100644 GIT binary patch delta 346 zcmXZYy$%6E5Ww--bH46;=M-rU2-v(G}5$U1o>tK^T=5h#%mL$onMAFnvXr#VksA~|{o^H@a( z8<<8PE7(Cj*H6w55>T`_nBbCSTinyXQ^}$cx3=l0c)=a&3tYAqux4zcN8iN^4zP?N z>iGrg`4#qXgG$C!CbFnsrib|!FVTO6_ehcC-gp7T!TZEDwG*w??EX>@>wdE5>JLps B7qS2V delta 435 zcmYMvJ4?e*6u|MD8Xs*^Em>R~F6hu*5Wz`GhoU$JggVrkYN$!2MO|77?bb=~1x^lv zT_p(l1b&PzS={^tg8!2SJaF#szBuRJckA04&K&bm5o_cI`9Q9dw!uJLU=4jVF~TCo zSjI1`;7@kGol|Os^)BXd9}9SZi|Aqr>&U&K3bKP6+~lB-b&9>>HS6Dnd7&QN9o7Tf z!aIDzPn1T7RJYO1Y@*!1!X+G|d~$+v{{?OOt2ZV)Y{TZY` zlA;n)l((iuWxXmx7QF308ailn+h?8IP`CU`Pj|XHxIZ!Wik|DAdOckY&;8Jgo{c!? T%(s%!G#N+9C}xa~%wyvZ%nmef diff --git a/blog/locale/ja_JP/LC_MESSAGES/django.po b/blog/locale/ja_JP/LC_MESSAGES/django.po index b8f26d43..be48e78c 100644 --- a/blog/locale/ja_JP/LC_MESSAGES/django.po +++ b/blog/locale/ja_JP/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "ブログ" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibesエンジン" - #: blog/models.py:17 msgid "post title" msgstr "投稿タイトル" @@ -39,12 +35,16 @@ msgstr "投稿" #: blog/models.py:69 msgid "markdown files are not supported yet - use markdown content instead" -msgstr "マークダウン・ファイルはサポートされていません - 代わりにマークダウン・コンテンツを使用してください!" +msgstr "" +"マークダウン・ファイルはサポートされていません - 代わりにマークダウン・コンテ" +"ンツを使用してください!" #: blog/models.py:71 msgid "" "a markdown file or markdown content must be provided - mutually exclusive" -msgstr "マークダウン・ファイルまたはマークダウン・コンテンツを提供しなければならない。" +msgstr "" +"マークダウン・ファイルまたはマークダウン・コンテンツを提供しなければならな" +"い。" #: blog/models.py:82 msgid "internal tag identifier for the post tag" @@ -69,3 +69,6 @@ msgstr "投稿タグ" #: blog/models.py:97 msgid "post tags" msgstr "投稿タグ" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibesエンジン" diff --git a/blog/locale/kk_KZ/LC_MESSAGES/django.po b/blog/locale/kk_KZ/LC_MESSAGES/django.po index e23dfe66..b8fb06fc 100644 --- a/blog/locale/kk_KZ/LC_MESSAGES/django.po +++ b/blog/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -20,10 +20,6 @@ msgstr "" msgid "blog" msgstr "" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "" - #: blog/models.py:17 msgid "post title" msgstr "" diff --git a/blog/locale/nl_NL/LC_MESSAGES/django.mo b/blog/locale/nl_NL/LC_MESSAGES/django.mo index 9e54f42956d05653fd94c7a143d8ecd79ceb6c1b..f7fa23c2ae14335518b3fb2759ab5a1389160780 100644 GIT binary patch delta 345 zcmXxgI|{-;5XSL|CO*~&K3c6ri3nc7!ot`HB4}f)2k-*9fL##0LOQ|9QUqHoTWvgm ztsv@uNF4b1WtL%Q$-{)kzg6swP(@NBYf>d|qUBj4LmZ-w0lK)wJ|5$9Cn1udH<-mL z8myy(E|##1I@gQNeew8ca4^C-m#uJ0e@R9QTWoF8cW{PdOks$6(GGRt0n2!b`zz|g zJL=pM^&u~8;}XU!T@cYU=cs? z5T|&7bF+V%Q)-R5itAWI2d^=Y9+t3)T$ifQY`kEZjaO{)uy^#Be^&m3>!iEP4Lra$ z-ryUq;tVDD3nlm)xAE7^CDJ8$59PWO%#*JwoE))mhU8`?UnpT4G|Q?$^B&oakbRMa zO39z&U9(V`H|1c8>}9od*h-%6<6flO!LzU9M2G!b>%8cD!JXgHm(fEI`IC_~$hl@I LjJt8tKeiWtp1>`P diff --git a/blog/locale/nl_NL/LC_MESSAGES/django.po b/blog/locale/nl_NL/LC_MESSAGES/django.po index 62a69d16..e84cdf13 100644 --- a/blog/locale/nl_NL/LC_MESSAGES/django.po +++ b/blog/locale/nl_NL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes motor" - #: blog/models.py:17 msgid "post title" msgstr "Titel van de post" @@ -47,8 +43,8 @@ msgstr "" msgid "" "a markdown file or markdown content must be provided - mutually exclusive" msgstr "" -"er moet een markdown-bestand of markdown-inhoud worden geleverd - wederzijds" -" exclusief" +"er moet een markdown-bestand of markdown-inhoud worden geleverd - wederzijds " +"exclusief" #: blog/models.py:82 msgid "internal tag identifier for the post tag" @@ -73,3 +69,6 @@ msgstr "Post tag" #: blog/models.py:97 msgid "post tags" msgstr "Post tags" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes motor" diff --git a/blog/locale/pl_PL/LC_MESSAGES/django.mo b/blog/locale/pl_PL/LC_MESSAGES/django.mo index 8a714cd3f47ffc9ebffda338b24ba4bbcbc9cab8..014705df9171f82d0177606b061f276aaef4cec0 100644 GIT binary patch delta 345 zcmXZYD-Oay5P;!nDX--bLMW=?WEIhceA@Q?aLfY^lUn7A?jp{T#+vMB{e)t#77?;jIoDX9OETh&)Xs;<_62? zqQN%iv4;&DqV5}|>yda2IxGY@HdJqE)kwrY`d8>jY9!~9LXZUgNhKSbcy5KKtF^J?h4cFZ DyM7xb delta 429 zcmYMwu}Z^09LMoX8`~P2T3lQl4(uQnr&1{BBH~a4mqJB|L&d1qHVH(qi_k}KXr-$U z;MT<_@G-h{aS?Yx+V4LN^iTfx$>qZRF8Of2o#AZ9epA#oy+@DfUAky7P>3{v5X$_-cSYU!ZYr(@PZzjz2i0W|LiLGigXF~ zu!3E@#8>1}GX@EqV-bH+|4@SS4Dx|4%7G3sN4~0aQ{}-4lADwS$tGJgk5!)L9LbkK zvO!L6DEV`oH3^q_Nrtq@UROs4ow#=w4MKfy`o4~09gJ?QW7lt+TmMO)hYu$7rxR\n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "Silnik eVibes" - #: blog/models.py:17 msgid "post title" msgstr "Tytuł postu" @@ -72,3 +68,6 @@ msgstr "Tag posta" #: blog/models.py:97 msgid "post tags" msgstr "Tagi postów" + +#~ msgid "eVibes Engine" +#~ msgstr "Silnik eVibes" diff --git a/blog/locale/pt_BR/LC_MESSAGES/django.mo b/blog/locale/pt_BR/LC_MESSAGES/django.mo index 5848d97c497edb02e1c6fd286044c091c4e1c3bb..bbbee08ed704b43e76539b728322ddf1be753143 100644 GIT binary patch delta 346 zcmXxgJq`g;5Ww+ytgrPEu^Ndj(9kI8Gzx`P5Q#)Z=>jgWz34W=4RjhO5Q$c!6txqm z6#m1SWb%9S-ezX9+w|S`9|db8M2;+zYtkX#q=sii1~@hh7GUPwlPtsvw2MaSfUd$?ToLe39 E0Zcg=PXGV_ delta 429 zcmYMwF;Buk6u|K-R1qjb#Ke#|9AR-q7852z7)V3H#8d_dMH_6JAkoEy58y=5u=*Xk z_zC zEBwM1{wDQCN~sg(H<-m+%%P1(*vAq&$i9X0lfo0$D7>J<$3C#j{4afIY}4Ih-opkC zu!l=L#veS#ElPtOma#}zIdBatSVyVbn4!ONc(`U^jP#8|UXW&al4Uk3#W~`eL3|@= zDj|Q4v&OfT`Kb&^aEAXFYJWJJj>G3bPrL_LhcoT321c{s_Pvq&sN2Dv7r4>dcuiT| Na8CJ9h^l7O*aKuSEN=h+ diff --git a/blog/locale/pt_BR/LC_MESSAGES/django.po b/blog/locale/pt_BR/LC_MESSAGES/django.po index 0c97e2b9..195cb3a5 100644 --- a/blog/locale/pt_BR/LC_MESSAGES/django.po +++ b/blog/locale/pt_BR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "Motor eVibes" - #: blog/models.py:17 msgid "post title" msgstr "Título da postagem" @@ -40,8 +36,7 @@ msgstr "Publicações" #: blog/models.py:69 msgid "markdown files are not supported yet - use markdown content instead" msgstr "" -"Os arquivos markdown não são suportados - use conteúdo markdown em vez " -"disso!" +"Os arquivos markdown não são suportados - use conteúdo markdown em vez disso!" #: blog/models.py:71 msgid "" @@ -72,3 +67,6 @@ msgstr "Etiqueta de postagem" #: blog/models.py:97 msgid "post tags" msgstr "Tags de postagem" + +#~ msgid "eVibes Engine" +#~ msgstr "Motor eVibes" diff --git a/blog/locale/ro_RO/LC_MESSAGES/django.mo b/blog/locale/ro_RO/LC_MESSAGES/django.mo index 42862341c28e066162a9e7d76d5a4f36e23c60f1..c841be1df11ff7990833997074a1df195fa2b138 100644 GIT binary patch delta 346 zcmXxezYf7r6vy#%DW(2v!lH>pB%RnT1_ND$SPdfa0$!lIFf|g-!CAYEWCsr9PCdkr4?nKno-E@qh!o#Pd`_Bt!3D7F~4E z!xZ{h#t!Pa{%;=2h)s*Z80TEJ#tHpB`FpU*t3CQQPH}-6K!T(md| zzC#wDz|B|i6}q?z{?F~lAt%4wd%`{Ud}l`4=x5CyD`J)0AYaLKGH3B3Ztxggv@ym! zeqt5B@Bk;XdOe|3n)NQOU;{IFf=k%KBDRtLBIV5r54cI;3ELd@foH7$lGDabx))eq z;2w7I9N&>gO?XND7fYC=n+#RP6mFpmwvF=Nq1lf(kdGZUE|I<_WWpSoCD~TXB=<0r zftg4Sm5?Uf)l4gEIeZ>+u|;&W*9ix`;L+FD?$FUesJ)jfYd`O_+^%!0kNm#tJMo+K ToG6?IcR_eR)YDR2v1`^p+h8m^ diff --git a/blog/locale/ro_RO/LC_MESSAGES/django.po b/blog/locale/ro_RO/LC_MESSAGES/django.po index cdf21678..bf8d82ef 100644 --- a/blog/locale/ro_RO/LC_MESSAGES/django.po +++ b/blog/locale/ro_RO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Blog" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "Motorul eVibes" - #: blog/models.py:17 msgid "post title" msgstr "Titlul postului" @@ -40,8 +36,7 @@ msgstr "Mesaje" #: blog/models.py:69 msgid "markdown files are not supported yet - use markdown content instead" msgstr "" -"Fișierele Markdown nu sunt acceptate - utilizați în schimb conținut " -"Markdown!" +"Fișierele Markdown nu sunt acceptate - utilizați în schimb conținut Markdown!" #: blog/models.py:71 msgid "" @@ -73,3 +68,6 @@ msgstr "Etichetă post" #: blog/models.py:97 msgid "post tags" msgstr "Etichete poștale" + +#~ msgid "eVibes Engine" +#~ msgstr "Motorul eVibes" diff --git a/blog/locale/ru_RU/LC_MESSAGES/django.mo b/blog/locale/ru_RU/LC_MESSAGES/django.mo index 26148cc2108ce6e2910f17c1a449a158e137e1b0..b4022501152ec3be856a0fa0c3e51ea6ff9f11e1 100644 GIT binary patch delta 346 zcmXxgy$-=p6u|LwtMySTK4OqCiNwMy7!2Bh#cK5e7KsJ1nlutGAQ5YyKqMWB(c%d_ z0*U|CI?2iJp4;1VPkV7z&f-}zcS7XJ8o43MC|F=N;ks@2@bAIHdmi9QhCClWbhr{zQ#}P`!*G HG(YMK9oifj delta 435 zcmX}oJxjwt7{KvMjn0o3zT*;pqCS8-mK=B<=jfNwrM}qXW0!#lscS;tFh@?2{4cU3 z=P-r9Y{+sG`sFyQxvd_U)=e7v#r~r%gL>oSAi4|g5-d+;_G diff --git a/blog/locale/ru_RU/LC_MESSAGES/django.po b/blog/locale/ru_RU/LC_MESSAGES/django.po index ccc76ba3..6110c478 100644 --- a/blog/locale/ru_RU/LC_MESSAGES/django.po +++ b/blog/locale/ru_RU/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.8.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "Блог" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "Движок eVibes" - #: blog/models.py:17 msgid "post title" msgstr "Заголовок сообщения" @@ -73,3 +69,6 @@ msgstr "Тэг поста" #: blog/models.py:97 msgid "post tags" msgstr "Тэги постов" + +#~ msgid "eVibes Engine" +#~ msgstr "Движок eVibes" diff --git a/blog/locale/zh_Hans/LC_MESSAGES/django.mo b/blog/locale/zh_Hans/LC_MESSAGES/django.mo index 90289b2efd061b292d89d800ba1f1df8d55a8a79..441405043965d396a47a0001c6349b506b6dfb6f 100644 GIT binary patch delta 345 zcmXZWKM%n`7{~Fa)uQz$(#FO_qLW!fVlZeIiP&x40GmWQT5Kh;+Uy-o7O{ypVDKg^ z2H&fDk|&?L-(BvW)crW|%d-wbRp|!3qkZ~Is|pQ~2qUyG!2pjq!mG}0Q>4h=MF)L! zv57VYSi>%=d&7SoOUR-{Fu^&GEpfp9nG?xlm0#Of#~$`k}#08Bh2C{u3-~*u!VdVslXP7xJTh0&$;Xc>+F|lrPi@dcWK*-!!2XWguEO<@-!W-!0@X8Op\n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,6 @@ msgstr "" msgid "blog" msgstr "博客" -#: blog/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes 引擎" - #: blog/models.py:17 msgid "post title" msgstr "帖子标题" @@ -69,3 +65,6 @@ msgstr "职位标签" #: blog/models.py:97 msgid "post tags" msgstr "帖子标签" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes 引擎" diff --git a/core/admin.py b/core/admin.py index 7713f228..ada81a31 100644 --- a/core/admin.py +++ b/core/admin.py @@ -128,6 +128,7 @@ class CategoryAdmin(DraggableMPTTAdmin, BasicModelAdmin, TabbedTranslationAdmin) "description", "parent", "is_active", + "priority", "image", "markup_percent", "tags", diff --git a/core/elasticsearch/__init__.py b/core/elasticsearch/__init__.py index 3d3e1e1f..69e835d3 100644 --- a/core/elasticsearch/__init__.py +++ b/core/elasticsearch/__init__.py @@ -32,6 +32,68 @@ SMART_FIELDS = [ "title.auto^4", ] +functions = [ + # — product boost whenever hitting the products` index — + { + "filter": Q("term", **{"_index": "products"}), + "field_value_factor": { + "field": "brand_priority", + "modifier": "log1p", + "factor": 1, + "missing": 0, + }, + }, + { + "filter": Q("term", **{"_index": "products"}), + "field_value_factor": { + "field": "rating", + "modifier": "log1p", + "factor": 1, + "missing": 0, + }, + }, + { + "filter": Q("term", **{"_index": "products"}), + "field_value_factor": { + "field": "total_orders", + "modifier": "log1p", + "factor": 1, + "missing": 0, + }, + }, + { + "filter": Q("term", **{"_index": "products"}), + "field_value_factor": { + "field": "category_priority", + "modifier": "log1p", + "factor": 1, + "missing": 0, + }, + }, + + # — category boost whenever hitting the categories` index — + { + "filter": Q("term", **{"_index": "categories"}), + "field_value_factor": { + "field": "priority", + "modifier": "log1p", + "factor": 2, # you can tweak + "missing": 0, + }, + }, + + # — brand boost whenever hitting the brands` index — + { + "filter": Q("term", **{"_index": "brands"}), + "field_value_factor": { + "field": "priority", + "modifier": "log1p", + "factor": 2, + "missing": 0, + }, + }, +] + def process_query(query: str = "", request: Request | None = None) -> dict[str, list[dict]] | None: """ @@ -68,17 +130,7 @@ def process_query(query: str = "", request: Request | None = None) -> dict[str, function_score_query = Q( "function_score", query=query_base, - functions=[ - { - "filter": Q("term", **{"_index": "products"}), - "field_value_factor": { - "field": "brand_priority", - "factor": 1, - "modifier": "log1p", - "missing": 0, - }, - } - ], + functions=functions, boost_mode="multiply", score_mode="first", ) @@ -124,12 +176,14 @@ def process_query(query: str = "", request: Request | None = None) -> dict[str, if settings.DEBUG: if idx == "products": - hit_result["rating"] = getattr(hit, "rating", 0) - hit_result["brand_priority"] = getattr(hit, "brand_priority", 0) + hit_result["rating_debug"] = getattr(hit, "rating", 0) + hit_result["total_orders_debug"] = getattr(hit, "total_orders", 0) + hit_result["brand_priority_debug"] = getattr(hit, "brand_priority", 0) + hit_result["category_priority_debug"] = getattr(hit, "category_priority", 0) if idx == "brands": - pass + hit_result["priority_debug"] = getattr(hit, "priority", 0) if idx == "categories": - pass + hit_result["priority_debug"] = getattr(hit, "priority", 0) if idx == "posts": pass diff --git a/core/elasticsearch/documents.py b/core/elasticsearch/documents.py index bf2623d1..0722f9c5 100644 --- a/core/elasticsearch/documents.py +++ b/core/elasticsearch/documents.py @@ -11,9 +11,13 @@ class _BaseDoc(ActiveOnlyMixin, Document): analyzer="standard", fields={ "raw": fields.KeywordField(ignore_above=256), - "ngram": fields.TextField(analyzer="name_ngram", search_analyzer="query_lc"), + "ngram": fields.TextField( + analyzer="name_ngram", search_analyzer="query_lc" + ), "phonetic": fields.TextField(analyzer="name_phonetic"), - "auto": fields.TextField(analyzer="autocomplete", search_analyzer="autocomplete_search"), + "auto": fields.TextField( + analyzer="autocomplete", search_analyzer="autocomplete_search" + ), }, ) description = fields.TextField( @@ -21,9 +25,13 @@ class _BaseDoc(ActiveOnlyMixin, Document): analyzer="standard", fields={ "raw": fields.KeywordField(ignore_above=256), - "ngram": fields.TextField(analyzer="name_ngram", search_analyzer="query_lc"), + "ngram": fields.TextField( + analyzer="name_ngram", search_analyzer="query_lc" + ), "phonetic": fields.TextField(analyzer="name_phonetic"), - "auto": fields.TextField(analyzer="autocomplete", search_analyzer="autocomplete_search"), + "auto": fields.TextField( + analyzer="autocomplete", search_analyzer="autocomplete_search" + ), }, ) slug = fields.KeywordField(attr="slug", index=False) @@ -45,11 +53,17 @@ class _BaseDoc(ActiveOnlyMixin, Document): class ProductDocument(_BaseDoc): rating = fields.FloatField(attr="rating") + total_order = fields.IntegerField(attr="total_orders") brand_priority = fields.IntegerField( attr="brand.priority", index=True, fields={"raw": fields.KeywordField()}, ) + category_priority = fields.IntegerField( + attr="category.priority", + index=True, + fields={"raw": fields.KeywordField()}, + ) class Index(_BaseDoc.Index): name = "products" @@ -64,6 +78,8 @@ registry.register_document(ProductDocument) class CategoryDocument(_BaseDoc): + priority = fields.IntegerField(attr="priority") + class Index(_BaseDoc.Index): name = "categories" @@ -77,15 +93,7 @@ registry.register_document(CategoryDocument) class BrandDocument(ActiveOnlyMixin, Document): - name = fields.TextField( - attr="name", - analyzer="standard", - fields={ - "raw": fields.KeywordField(ignore_above=256), - "ngram": fields.TextField(analyzer="name_ngram", search_analyzer="query_lc"), - "phonetic": fields.TextField(analyzer="name_phonetic"), - }, - ) + priority = fields.IntegerField(attr="priority") class Index: name = "brands" diff --git a/core/locale/ar_AR/LC_MESSAGES/django.mo b/core/locale/ar_AR/LC_MESSAGES/django.mo index a9a12b27d8615c5a25d3eb31cd708febdc731d09..8a76dd0fce08f0eb0376d7c173f28e2bed3344c7 100644 GIT binary patch delta 10977 zcmZwN2V7Ux|Htv;Ld6A&f;d1F1O#*7R-Cv;DXEDIQE)HRpJw`Xrn$JQ2S>%*P$QvM_3B4U`hNL1F&EvV~SxYR>V3O zf{Cc(rlGen9rh8mu{V%{HS{@WdX^qzz9Z3{1XVT07h|vlHpl$f1J!{P^v98?4$eY#{4LaRo1N*X zjvd0>cng=|J@mp!)fgR|fqq=yEF#H=n=u@Bp+0y6^?|Qlec$;2b-~A|j{Sw)tnsRD zOa#VY81_W2X{MvjzZc8nQPgqw(8DO2!ZCIT>!EfeVO^Yy8q(8P2Jbp^Fpe6^Ab$Aa z%czkVh^=u7=Ebw9k-Ut$;|HkoJVo7re@*7U3rV?}#3sDcm;y4y{zIo`2t7|j<>Pb2cEPQha)#J11gZI!M zpSb;nSW#*(rViIM1W`?nyoWcHw@B-8B=^f1o4a2#sLUPe78Jy45m zlH30}s>h2_7u@7bckPE!Yvls!j<2H5^9^d~^VPF!pg8J=%VGiagp;VJG46m~s0;K* zbu87jPesl39MsUSMh)frs0$v)K)i@qbM4xnVleG_>)S;gj=IrkI4H&7aW7Sv)QPpVgc#|OHd=S(zz3L{BhJ8xQ3dle^66Xq=9|$ly^43B3$2eA<>4NIWeCJx!h4;An6siN)up~Zkda=@raD5X@ zqPePq>PRQl93`WsVmNB?j7N>kd&m=H4xmo_7kJ{@au2fU&5#--x=v zcGMgn#X@)i)uEeM5FcV`{1bIY{_X7rt6>y%9n^ax8FiissKq@OwKz{W-t)2kWBtw?Un_o7ejI`N?ii2i(0sRl6;`3%iouwHdK&&l zO+i>EyBK?QV*IsgN6^q0=VK)PhMJ0U@%Bz)(U-afR>oIQi)$uoF};bri_9t11-xIj zi@GW5xY?+VE88qDe%l9sY>#JGZQrefjlcR4)s15j&(5&Bk*&#|8J~K z9p24;NhPA{MX2+hbv{RpTvd8q4|^l~J!UzHp8s>$7)x}wbysXey~=qT`Q|ktJ#2e# z)X1zxE!r!nA-#uMqbbF>X#z;xvM$J}-8VZH4B zXw=Zhpia~fb)inE)!rAiMuuP!^k4~m6LsesP><(6^tR^HQi0ipK!#g<6bbQETQHhT;QMM~fyi z{<^aU$#%&4Vs7eDs1X>4MR6mR!u?nQuV5Jdg|QftVmqFQ>Ocy5;Yd_R#-VO#0T#y< zsN;60F#fueBQ)g2M>qk0N6p#j{`T8%9X6vrg_`RE1MH&m!w~B7s5Q|X^J6#E4fI7# z)dFmc=dc0#476*ky@y0|F&`uFFltUSQ3sY8#3I22tcJHxQ&DuVJwZ)W`#5Za+ps47 zfl>Iv5IfY}u_E;h48$F%k?@>x2Yij1n*u}a99PAzIgIIm>e!}X_RHoHR;TtJZeJ|1 zs0;Q&jpSm~6rI9a_yfL(#YqZ1UI zY#*bBsGd*6!MFvrCj6&Z8(@3tBU=UVd;_6~E)CoMO_B9xe$IvGSiw(8tp3Sfqh?!~E zOdM*2ldu#Hcg~r~5NW74(V#b7ItJrecfgOR$Hn^%JIA5UI_OJ#JJgALp*l1eYv3Gg zipNkF^qR%=U<5FbX{pbM2d{GwOqBSP-|NMr0p)}KXybtRRggwZbF@JFS6fbj=3Gzu`)ZpLtP-?P5T>96c(m#g+;L|>I8#O z9U6n`=u9k&Yp^kXggQ^Ix9oBL7)%|3I<9qAJM%xl9WWmCfw`!;S&dEbHtGdaVZME= zCZOhUKl0m`$+5t`AG)GCl#E4itgC0b{Y$Yl?VC`)7o1c(*Ebm?5%|3t&~KsbNC@iA zYhowYE=iWurHd5sJU;A>iJq!NB6n<1eT+|j*0jTYh%xqcB+=3 z9>a~O^L&b0Qx#U(8%Xhxgwn7R6Ywfl#_FqW-3K+~hf#BV5(Du|tb@Ozj<39i*ERM) zt$}=N?YEsjYEiDh>iE8^?_nis&u=8{NkZ1y7t9FMiPNwKUP4_U-+KFtNiFAK=W6W4 z{wt_EkKAC7Pr^9r1*j3dhLQLUMx)QhEIlTcWC{&~QFr(VbqBdN*&Y@}4S6gEU@O!K z`k+SQE!1M%idu}9u_R`qE}V0-ed85D{xk9XNWy9jrv1jym5h^b{odo_|O$C*!XZ z9-%?c?Pb)RJ;opm*kxb2wK1A{G^%|qYN(H+K7YxX>GuDFF|?OWw@+6mY)Cy0o8ms# z{&za#U!I2YyZN;UTVM_R5<{`b9=nKYU@&zP)Ep+EM&Mmc#68$22W=nNKXksj*Z%T( z71hzUAKDv8Kwa+*=XMW?dV0|{c5@=Qd2H z{VsOF)<^iWJ+475&Rj=%@8b~6TC6yRy2(db$9v2^5;gc9jf5NZm+K&UczKK3# z=Vl3ZqP~l9SnE@Jp$Vv|IEZ!eF=~I*XZAOpk@y1jZdc#KO4MOz?f#B9gnALCV9s-P ztqequdUlp%GFCWmpW6+n$8j&}#Ghj=%yq%O5$j<;>dsga58^<)f_~Weq8;kaIG%bm zw#3J%wO03%U6d0qG5)%pWC?&#vtkus5_qTyowr$GGEwtc~>k*eGrS` zC$9bqBdEW3?S7Z-V;zpcw70*^_^U_5XwZezaVVa^4p{w)ox`cvpL!4Kj>}%Pk5O%G zNS%P{=rYvE9l&OI6`Nz}Yjz}(P&aZ5b-qx~m-c{p*o215*bM`&+dE4|rp;W%7P$U~ zosx%`L|rDsj>KdfPJIv?Vf0sa%?!n8>b0o%$3@hX=Dumyh$n`mE)Bgg9G77*p1>S< zogWv7F67#HPZ@7&EhG>Asz$acL>|J6ctCsh7De8UqTs*UR+4AZHq~C5e{!QCl!kBJ zr~aaTMn1`X=sx-PY#=oQ-5xLhPqKPC2(=OcLgnHD)%zBNd+6=mmZcptMjy#;nre?)8~ekB&swgv}b zWkRb%n-8&x_GN^Y>;fD~1d#uUb8$NUgxOmd*Ef}Ee4E%u?oAvZ-$H2H>0Czs*yY2V zMQQWZL2Ta;g9)DNtY1?hYx}^dw~Myse737i%~M?1JuIL8p7sB>HXM*Z^#!hQttH(B z^`QHcKg64OiP-Fp`33(XS`n>je-X>z9?ahIQ?I4iK~y5wwpnYS35lL|{XaC_i3;R3 za68eDd>v7fJbTk~rq@zy*U*D~Rfw9@=dgrp--5pp;|X3Q<|v`90mtZdr|rDfKs_4X zrf8Ve#BYk!+gx6Ud^a(W_>GuDXseHZ+SF7fuSgW39!==4t1c7&AwTJk`4JnrdCfd=ymzYidE^(ZEBEcIk>-S~I`jzGgZQ7m_56M5xs_c(Q z>bs;rVvIY^Gnj<;sY!PYaqa_$kZ-pC*(Oo(C1XD2*qOvd;!WbTJE}L2k;GdY)|s+?H+9#T>E0zc$K<|Ym1_-eD?g0a|bMCXDBh+9WuL>YGW#AMfAg*totf@G^}S6eaivDgdm5*5i$yZwFf55kA2O|&P@652Xh%n^J4 zw#pAzIN%-pp7?|CC$z;|vi=mPv=(vLova+Lr0$^|Y*mS`Y5S1qLgXU`5JnN+Z){@H qsEFXEiKF_Z3>%sLVPqYjUG*~ar2p2aSDW-HbG-7Wr@eiv)qerBKD;de delta 11091 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 diff --git a/core/locale/ar_AR/LC_MESSAGES/django.po b/core/locale/ar_AR/LC_MESSAGES/django.po index 3d8b6fc2..778d9e42 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-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -27,8 +27,7 @@ msgstr "نشط" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "إذا تم تعيينه على خطأ، لا يمكن للمستخدمين رؤية هذا الكائن دون الحاجة إلى إذن" @@ -58,36 +57,36 @@ msgstr "تنشيط المحدد %(verbose_name_plural)s" msgid "deactivate selected %(verbose_name_plural)s" msgstr "إلغاء تنشيط %(verbose_name_plural)s المحددة" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "قيمة السمة" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "قيم السمات" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "الاسم" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "الصورة" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "الصور" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "المخزون" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "الأسهم" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -95,31 +94,31 @@ msgstr "الأسهم" msgid "price" msgstr "السعر" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "تصنيف المنتج" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "معلومات أساسية" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "تواريخ مهمة" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "طلب المنتج" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "اطلب المنتجات" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "هل الأعمال" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "التكوين" @@ -127,10 +126,6 @@ msgstr "التكوين" msgid "core" msgstr "الأساسيات" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "محرك eVibes" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "تم الانتهاء" @@ -185,7 +180,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "تطبيق مفتاح فقط لقراءة البيانات المسموح بها من ذاكرة التخزين المؤقت.\n" -"تطبيق مفتاح وبيانات ومهلة مع المصادقة لكتابة البيانات إلى ذاكرة التخزين المؤقت." +"تطبيق مفتاح وبيانات ومهلة مع المصادقة لكتابة البيانات إلى ذاكرة التخزين " +"المؤقت." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -199,7 +195,7 @@ msgstr "الحصول على معلمات التطبيق القابلة للكش msgid "send a message to the support team" msgstr "إرسال رسالة إلى فريق الدعم" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "طلب عنوان URL مرتبط بـ CORSed. مسموح بـ https فقط." @@ -240,8 +236,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "إعادة كتابة مجموعة سمات موجودة تحفظ غير القابلة للتعديل" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "إعادة كتابة بعض حقول مجموعة سمات موجودة تحفظ غير القابلة للتعديل" #: core/docs/drf/viewsets.py:70 @@ -289,8 +284,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "إعادة كتابة قيمة سمة موجودة تحفظ غير القابلة للتعديل" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "إعادة كتابة بعض حقول قيمة سمة موجودة حفظ غير قابل للتعديل" #: core/docs/drf/viewsets.py:124 @@ -327,8 +321,8 @@ msgstr "بالنسبة للمستخدمين من غير الموظفين، يت #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "البحث في سلسلة فرعية غير حساسة لحالة الأحرف عبر human_readable_id و " "order_products.product.name و order_products.product.partnumber" @@ -364,9 +358,9 @@ msgstr "تصفية حسب حالة الطلب (مطابقة سلسلة فرعي #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "الترتيب حسب واحد من: uuid، معرف_بشري_مقروء، بريد_إلكتروني_مستخدم، مستخدم، " "حالة، إنشاء، تعديل، وقت_الشراء، عشوائي. البادئة بحرف \"-\" للترتيب التنازلي " @@ -409,7 +403,7 @@ msgstr "" "ينهي أمر الشراء. إذا تم استخدام \"فرض_الرصيد\"، يتم إكمال عملية الشراء " "باستخدام رصيد المستخدم؛ إذا تم استخدام \"فرض_الدفع\"، يتم بدء المعاملة." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "شراء طلب شراء بدون إنشاء حساب" @@ -436,8 +430,7 @@ msgid "" "adds a list of products to an order using the provided `product_uuid` and " "`attributes`." msgstr "" -"يضيف قائمة من المنتجات إلى طلب باستخدام \"معرّف_المنتج\" و\"السمات\" " -"المتوفرة." +"يضيف قائمة من المنتجات إلى طلب باستخدام \"معرّف_المنتج\" و\"السمات\" المتوفرة." #: core/docs/drf/viewsets.py:266 msgid "remove product from order" @@ -447,7 +440,8 @@ msgstr "إزالة منتج من الطلب" msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." -msgstr "يزيل منتجًا من أحد الطلبات باستخدام \"معرّف_المنتج\" و\"السمات\" المتوفرة." +msgstr "" +"يزيل منتجًا من أحد الطلبات باستخدام \"معرّف_المنتج\" و\"السمات\" المتوفرة." #: core/docs/drf/viewsets.py:272 msgid "remove product from order, quantities will not count" @@ -533,20 +527,32 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "تصفية حسب زوج واحد أو أكثر من أسماء/قيم السمات. \n" "- **صيغة**: `attr_name=الطريقة-القيمة[ ؛ attr2=الطريقة2-القيمة2]...`\n" -"- **الأساليب** (افتراضيًا إلى \"يحتوي على\" إذا تم حذفها): \"بالضبط\"، \"بالضبط\"، \"بالضبط\"، \"يحتوي\"، \"يحتوي\"، \"لاغية\"، \"يبدأ ب\"، \"يبدأ ب\"، \"يبدأ ب\"، \"ينتهي ب\"، \"ينتهي ب\"، \"regex\"، \"iregex\"، \"lt\"، \"lte\"، \"gt\"، \"gte\"، \"in\n" -"- **كتابة القيمة**: تتم تجربة JSON أولًا (حتى تتمكن من تمرير القوائم/المجادلات)، \"صحيح\"/\"خطأ\" للمنطقيين والأعداد الصحيحة والعوامات؛ وإلا يتم التعامل معها كسلسلة. \n" -"- **القاعدة 64**: البادئة ب \"b64-\" لتشفير القيمة الخام بأمان لقاعدة 64- لتشفير القيمة الخام. \n" +"- **الأساليب** (افتراضيًا إلى \"يحتوي على\" إذا تم حذفها): \"بالضبط\"، " +"\"بالضبط\"، \"بالضبط\"، \"يحتوي\"، \"يحتوي\"، \"لاغية\"، \"يبدأ ب\"، \"يبدأ " +"ب\"، \"يبدأ ب\"، \"ينتهي ب\"، \"ينتهي ب\"، \"regex\"، \"iregex\"، \"lt\"، " +"\"lte\"، \"gt\"، \"gte\"، \"in\n" +"- **كتابة القيمة**: تتم تجربة JSON أولًا (حتى تتمكن من تمرير القوائم/" +"المجادلات)، \"صحيح\"/\"خطأ\" للمنطقيين والأعداد الصحيحة والعوامات؛ وإلا يتم " +"التعامل معها كسلسلة. \n" +"- **القاعدة 64**: البادئة ب \"b64-\" لتشفير القيمة الخام بأمان لقاعدة 64- " +"لتشفير القيمة الخام. \n" "أمثلة: \n" -"'color=exact-red'، 'size=gt-10'، 'features=in-[\"wifi\"،\"bluetooth\"]، 'fatures=in-[\"wifi\",\"bluetooth\"],\n" +"'color=exact-red'، 'size=gt-10'، 'features=in-[\"wifi\"،\"bluetooth\"]، " +"'fatures=in-[\"wifi\",\"bluetooth\"],\n" "\"b64-description=icontains-aGVhdC1jb2xk" #: core/docs/drf/viewsets.py:349 @@ -599,7 +605,8 @@ msgstr "(بالضبط) الرقمية مقابل المادية" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" "قائمة مفصولة بفواصل من الحقول للفرز حسب. البادئة بـ \"-\" للفرز التنازلي. \n" @@ -729,234 +736,234 @@ msgstr "حذف علاقة الطلب-المنتج" msgid "add or remove feedback on an order–product relation" msgstr "إضافة أو إزالة الملاحظات على العلاقة بين الطلب والمنتج" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "لم يتم توفير مصطلح بحث." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "الاسم" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "الفئات" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "الفئات الرخويات" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "الوسوم" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "الحد الأدنى للسعر" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "ماكس برايس" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "نشط" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "العلامة التجارية" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "السمات" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "الكمية" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "سبيكة" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "هو رقمي" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "تضمين الفئات الفرعية" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "يجب أن يكون هناك category_uid لاستخدام علامة تضمين_الفئات_الفرعية" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "البحث (المعرف أو اسم المنتج أو رقم الجزء)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "تم الشراء بعد (شامل)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "تم الشراء من قبل (شامل)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "البريد الإلكتروني للمستخدم" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "معرّف المستخدم UUID" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "الحالة" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "معرّف قابل للقراءة من قبل الإنسان" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "الوالدين" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "الفئة الكاملة (تحتوي على منتج واحد على الأقل أو لا)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "المستوى" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "UUID المنتج" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "" "مفتاح للبحث عنه في ذاكرة التخزين المؤقت أو تعيينه في ذاكرة التخزين المؤقت" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "البيانات المراد تخزينها في ذاكرة التخزين المؤقت" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "المهلة بالثواني لتعيين البيانات في ذاكرة التخزين المؤقت" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "البيانات المخزنة مؤقتاً" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "بيانات JSON مجمّلة من عنوان URL المطلوب" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "يُسمح فقط بعناوين URL التي تبدأ ب http(s)://" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "إضافة منتج إلى الطلب" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "الطلب {order_uuid} غير موجود" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "إزالة منتج من الطلب" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "إزالة جميع المنتجات من الطلب" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "شراء طلبية" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "يرجى تقديم إما Order_uuid أو order_uid_hr_hr_id - متنافيان!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "جاء نوع خاطئ من طريقة order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "تنفيذ إجراء على قائمة من المنتجات بالترتيب" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "إزالة/إضافة" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "يجب أن يكون الإجراء إما \"إضافة\" أو \"إزالة\"!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "إضافة منتج إلى الطلب" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "قائمة الأمنيات {wishlist_uuid} غير موجودة" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "إزالة منتج من الطلب" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "إزالة منتج من الطلب" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "إزالة منتج من الطلب" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "شراء طلبية" -#: core/graphene/mutations.py:483 +#: 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 "الرجاء إرسال السمات كسلسلة منسقة مثل attr1=قيمة1، attr2=قيمة2" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "سلسلة العنوان الأصلي المقدمة من المستخدم" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} غير موجود: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "يجب أن يكون الحد بين 1 و10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - يعمل مثل السحر" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "السمات" @@ -968,84 +975,83 @@ msgstr "السمات المجمعة" msgid "groups of attributes" msgstr "مجموعات السمات" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "الفئات" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "العلامات التجارية" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "الفئات" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "النسبة المئوية للترميز" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "ما هي السمات والقيم التي يمكن استخدامها لتصفية هذه الفئة." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "الحد الأدنى والحد الأقصى لأسعار المنتجات في هذه الفئة، إذا كانت متوفرة." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "العلامات الخاصة بهذه الفئة" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "المنتجات في هذه الفئة" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "البائعون" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "خط العرض (الإحداثي Y)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "خط الطول (الإحداثي X)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "كيفية" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "قيمة التصنيف من 1 إلى 10، شاملة، أو 0 إذا لم يتم تعيينها." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "يمثل ملاحظات من المستخدم." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "الإشعارات" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "تحميل الرابط الخاص بمنتج الطلب هذا إن أمكن" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "قائمة بطلب المنتجات بهذا الترتيب" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "عنوان إرسال الفواتير" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1053,47 +1059,47 @@ msgstr "" "عنوان الشحن لهذا الطلب، اترك العنوان فارغًا إذا كان هو نفسه عنوان إرسال " "الفواتير أو إذا لم يكن منطبقًا" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "السعر الإجمالي لهذا الطلب" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "إجمالي كمية المنتجات بالترتيب" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "هل جميع المنتجات في الطلب رقمي" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "الطلبات" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "رابط الصورة" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "صور المنتج" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "الفئة" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "الملاحظات" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "العلامة التجارية" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "مجموعات السمات" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1101,31 +1107,31 @@ msgstr "مجموعات السمات" msgid "quantity" msgstr "الكمية" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "عدد الملاحظات" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "المنتجات" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "الرموز الترويجية" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "المنتجات المعروضة للبيع" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "العروض الترويجية" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "البائع" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1133,902 +1139,901 @@ msgstr "البائع" msgid "product" msgstr "المنتج" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "المنتجات المفضلة" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "قوائم التمنيات" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "المنتجات الموسومة" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "علامات المنتج" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "الفئات الموسومة" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "علامات الفئات" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "اسم المشروع" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "البريد الإلكتروني للشركة" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "اسم الشركة" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "عنوان الشركة" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "رقم هاتف الشركة" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" -"\"البريد الإلكتروني من\"، في بعض الأحيان يجب استخدامه بدلاً من قيمة المستخدم" -" المضيف" +"\"البريد الإلكتروني من\"، في بعض الأحيان يجب استخدامه بدلاً من قيمة المستخدم " +"المضيف" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "مستخدم البريد الإلكتروني المضيف" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "الحد الأقصى لمبلغ السداد" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "الحد الأدنى لمبلغ السداد" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "بيانات التحليلات" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "بيانات الإعلانات" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "التكوين" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "رمز اللغة" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "اسم اللغة" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "علم اللغة، إذا كان موجوداً :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "الحصول على قائمة باللغات المدعومة" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "نتائج البحث عن المنتجات" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "نتائج البحث عن المنتجات" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "والد هذه المجموعة" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "مجموعة السمات الرئيسية" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "اسم مجموعة السمات" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "مجموعة السمات" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "تخزين بيانات الاعتماد ونقاط النهاية المطلوبة لاتصالات واجهة برمجة التطبيقات " "الخاصة بالمورّد" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "معلومات المصادقة" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "تحديد الترميز للمنتجات المسترجعة من هذا البائع" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "نسبة هامش الربح للبائع" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "اسم هذا البائع" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "اسم البائع" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "معرّف العلامة الداخلي لعلامة المنتج" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "اسم العلامة" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "اسم سهل الاستخدام لعلامة المنتج" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "اسم عرض العلامة" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "علامة المنتج" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "علامة الفئة" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "علامات الفئة" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "تحميل صورة تمثل هذه الفئة" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "صورة الفئة" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "تحديد نسبة ترميز للمنتجات في هذه الفئة" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "أصل هذه الفئة لتكوين بنية هرمية" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "الفئة الرئيسية" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "اسم الفئة" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "تقديم اسم لهذه الفئة" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "إضافة وصف تفصيلي لهذه الفئة" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "وصف الفئة" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "العلامات التي تساعد في وصف هذه الفئة أو تجميعها" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "أولوية العلامة التجارية" + +#: core/models.py:265 msgid "name of this brand" msgstr "اسم هذه العلامة التجارية" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "اسم العلامة التجارية" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "تحميل شعار يمثل هذه العلامة التجارية" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "صورة العلامة التجارية الصغيرة" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "رفع شعار كبير يمثل هذه العلامة التجارية" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "صورة كبيرة للعلامة التجارية" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "إضافة وصف تفصيلي للعلامة التجارية" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "وصف العلامة التجارية" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "الفئات الاختيارية التي ترتبط بها هذه العلامة التجارية" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "الفئات" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "سبيكة العلامة التجارية" -#: core/models.py:296 -msgid "brand priority" -msgstr "أولوية العلامة التجارية" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "الفئة التي ينتمي إليها هذا المنتج" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "ربط هذا المنتج اختياريًا بعلامة تجارية" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "العلامات التي تساعد في وصف أو تجميع هذا المنتج" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "يشير إلى ما إذا كان هذا المنتج يتم تسليمه رقميًا أم لا" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "هل المنتج رقمي" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "توفير اسم تعريفي واضح للمنتج" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "اسم المنتج" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "إضافة وصف تفصيلي للمنتج" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "وصف المنتج" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "رقم الجزء لهذا المنتج" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "رقم الجزء" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "فئة هذه السمة" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "مجموعة هذه السمة" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "الخيط" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "عدد صحيح" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "تعويم" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "منطقية" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "المصفوفة" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "الكائن" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "نوع قيمة السمة" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "نوع القيمة" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "اسم هذه السمة" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "اسم السمة" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "السمة" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "سمة هذه القيمة" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "المنتج المحدد المرتبط بقيمة هذه السمة" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "المنتج المرتبط" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "القيمة المحددة لهذه السمة" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "توفير نص بديل للصورة لإمكانية الوصول" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "النص البديل للصورة" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "تحميل ملف الصورة لهذا المنتج" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "صورة المنتج" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "يحدد الترتيب الذي يتم عرض الصور به" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "أولوية العرض" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "المنتج الذي تمثله هذه الصورة" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "صور المنتج" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "النسبة المئوية للخصم على المنتجات المختارة" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "نسبة الخصم" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "تقديم اسم فريد لهذا العرض الترويجي" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "اسم الترقية" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "وصف الترقية" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "حدد المنتجات المشمولة في هذا العرض الترويجي" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "المنتجات المشمولة" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "الترقية" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "البائع الذي يورد هذا المنتج المخزون" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "البائع المرتبط" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "السعر النهائي للعميل بعد هوامش الربح" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "سعر البيع" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "المنتج المرتبط بإدخال المخزون هذا" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "السعر المدفوع للبائع مقابل هذا المنتج" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "سعر الشراء من البائع" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "الكمية المتوفرة من المنتج في المخزون" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "الكمية في المخزون" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU المعين من قبل البائع لتحديد المنتج" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "وحدة تخزين البائع" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "الملف الرقمي المرتبط بهذا المخزون إن أمكن" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "ملف رقمي" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "إدخالات المخزون" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "المنتجات التي حددها المستخدم على أنها مطلوبة" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "المستخدم الذي يمتلك قائمة الرغبات هذه" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "مالك قائمة الرغبات" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "قائمة الرغبات" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} غير موجود: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "فيلم وثائقي" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "الأفلام الوثائقية" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "لم يتم حلها" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "سطر العنوان للعميل" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "سطر العنوان" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "الشارع" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "المنطقة" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "المدينة" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "المنطقة" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "الرمز البريدي" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "البلد" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "نقطة تحديد الموقع الجغرافي(خط الطول، خط العرض)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "استجابة JSON كاملة من أداة التشفير الجغرافي لهذا العنوان" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "استجابة JSON مخزّنة من خدمة الترميز الجغرافي" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "العنوان" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "العناوين" -#: core/models.py:767 +#: core/models.py:791 msgid "unique code used by a user to redeem a discount" msgstr "الرمز الفريد الذي يستخدمه المستخدم لاسترداد قيمة الخصم" -#: core/models.py:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "معرّف الرمز الترويجي" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "مبلغ الخصم الثابت المطبق في حالة عدم استخدام النسبة المئوية" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "مبلغ الخصم الثابت" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "النسبة المئوية للخصم المطبق في حالة عدم استخدام مبلغ ثابت" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "النسبة المئوية للخصم" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "الطابع الزمني عند انتهاء صلاحية الرمز الترويجي" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "وقت انتهاء الصلاحية" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "الطابع الزمني الذي يكون هذا الرمز الترويجي صالحاً منه" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "وقت بدء الصلاحية" -#: core/models.py:800 +#: core/models.py:824 msgid "timestamp when the promocode was used, blank if not used yet" -msgstr "" -"الطابع الزمني عند استخدام الرمز الترويجي، فارغ إذا لم يتم استخدامه بعد" +msgstr "الطابع الزمني عند استخدام الرمز الترويجي، فارغ إذا لم يتم استخدامه بعد" -#: core/models.py:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "الطابع الزمني للاستخدام" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "المستخدم المعين لهذا الرمز الترويجي إن أمكن" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "المستخدم المعين" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "الرمز الترويجي" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "الرموز الترويجية" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -"يجب تحديد نوع واحد فقط من الخصم (المبلغ أو النسبة المئوية)، وليس كلا النوعين" -" أو لا هذا ولا ذاك." +"يجب تحديد نوع واحد فقط من الخصم (المبلغ أو النسبة المئوية)، وليس كلا النوعين " +"أو لا هذا ولا ذاك." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "تم استخدام الرمز الترويجي بالفعل" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "نوع الخصم غير صالح للرمز الترويجي {self.uuid}" -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "عنوان إرسال الفواتير المستخدم لهذا الطلب" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "الرمز الترويجي الاختياري المطبق على هذا الطلب" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "الرمز الترويجي المطبق" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "عنوان الشحن المستخدم لهذا الطلب" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "عنوان الشحن" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "الحالة الحالية للطلب في دورة حياته" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "حالة الطلب" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 msgid "json structure of notifications to display to users" msgstr "" "بنية JSON للإشعارات التي سيتم عرضها للمستخدمين، في واجهة مستخدم المشرف، يتم " "استخدام عرض الجدول" -#: core/models.py:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "تمثيل JSON لسمات الطلب لهذا الطلب" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "المستخدم الذي قدم الطلب" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "المستخدم" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "الطابع الزمني عند الانتهاء من الطلب" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "وقت الشراء" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "معرّف يمكن قراءته بواسطة البشر للطلب" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "معرّف يمكن قراءته من قبل البشر" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "الطلب" -#: core/models.py:951 +#: core/models.py:975 msgid "a user must have only one pending order at a time" msgstr "يجب أن يكون لدى المستخدم طلب واحد فقط معلق في كل مرة!" -#: core/models.py:987 +#: core/models.py:1011 msgid "you cannot add products to an order that is not a pending one" msgstr "لا يمكنك إضافة منتجات إلى طلب غير معلق إلى طلب غير معلق" -#: core/models.py:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "لا يمكنك إضافة منتجات غير نشطة للطلب" -#: core/models.py:1013 +#: core/models.py:1037 msgid "you cannot add more products than available in stock" msgstr "لا يمكنك إضافة منتجات أكثر من المتوفرة في المخزون" -#: core/models.py:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 msgid "you cannot remove products from an order that is not a pending one" msgstr "لا يمكنك إزالة المنتجات من طلب غير معلق من طلب غير معلق" -#: core/models.py:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} غير موجود مع الاستعلام <{query}>" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "الرمز الترويجي غير موجود" -#: core/models.py:1108 +#: core/models.py:1132 msgid "you can only buy physical products with shipping address specified" msgstr "يمكنك فقط شراء المنتجات المادية مع تحديد عنوان الشحن فقط!" -#: core/models.py:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "العنوان غير موجود" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "لا يمكنك الشراء في هذه اللحظة، يرجى المحاولة مرة أخرى بعد بضع دقائق." -#: core/models.py:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "قيمة القوة غير صالحة" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "لا يمكنك شراء طلبية فارغة!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "عدم كفاية الأموال لإكمال الطلب" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "" -"لا يمكنك الشراء بدون تسجيل، يرجى تقديم المعلومات التالية: اسم العميل، البريد" -" الإلكتروني للعميل، رقم هاتف العميل" +"لا يمكنك الشراء بدون تسجيل، يرجى تقديم المعلومات التالية: اسم العميل، البريد " +"الإلكتروني للعميل، رقم هاتف العميل" -#: core/models.py:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "طريقة الدفع غير صالحة: {payment_method} من {available_payment_methods}!" -#: core/models.py:1300 +#: core/models.py:1324 msgid "the price paid by the customer for this product at purchase time" msgstr "السعر الذي دفعه العميل لهذا المنتج وقت الشراء" -#: core/models.py:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "سعر الشراء وقت الطلب" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "تعليقات داخلية للمسؤولين حول هذا المنتج المطلوب" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "التعليقات الداخلية" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "إشعارات المستخدم" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "تمثيل JSON لسمات هذا العنصر" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "سمات المنتج المطلوبة" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "الإشارة إلى الطلب الأصلي الذي يحتوي على هذا المنتج" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "ترتيب الوالدين" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "المنتج المحدد المرتبط بخط الطلب هذا" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "كمية هذا المنتج المحدد في الطلب" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "كمية المنتج" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "الحالة الحالية لهذا المنتج بالترتيب" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "حالة خط الإنتاج" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "إجراء خاطئ محدد للتغذية الراجعة: {action}" -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "لا يمكنك التعليق على طلب لم يتم استلامه" -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "تنزيل" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "التنزيلات" -#: core/models.py:1443 +#: core/models.py:1467 msgid "you can not download a digital asset for a non-finished order" msgstr "لا يمكنك تنزيل أصل رقمي لطلب غير مكتمل" -#: core/models.py:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "التعليقات المقدمة من المستخدمين حول تجربتهم مع المنتج" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "تعليقات على الملاحظات" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +msgid "references the specific product in an order that this feedback is about" msgstr "الإشارة إلى المنتج المحدد في الطلب الذي تدور حوله هذه الملاحظات" -#: core/models.py:1466 +#: core/models.py:1490 msgid "related order product" msgstr "منتجات الطلبات ذات الصلة" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "التصنيف المعين من قبل المستخدم للمنتج" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "تصنيف المنتج" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "الملاحظات" @@ -2037,7 +2042,7 @@ msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "يجب عليك تقديم تعليق، وتقييم، وطلب المنتج uuid لإضافة ملاحظاتك." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "خطأ أثناء إنشاء الرمز الترويجي: {e!s}" @@ -2069,11 +2074,12 @@ msgstr "مرحبًا %(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 "" -"شكرًا لك على طلبك #%(order.pk)s! يسعدنا إبلاغك بأننا قد أخذنا طلبك في العمل." -" فيما يلي تفاصيل طلبك:" +"شكرًا لك على طلبك #%(order.pk)s! يسعدنا إبلاغك بأننا قد أخذنا طلبك في العمل. " +"فيما يلي تفاصيل طلبك:" #: core/templates/digital_order_created_email.html:112 #: core/templates/digital_order_delivered_email.html:111 @@ -2159,7 +2165,8 @@ msgstr "المفتاح" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "شكرًا لك على طلبك! يسعدنا تأكيد طلبك. فيما يلي تفاصيل طلبك:" @@ -2196,12 +2203,12 @@ msgstr "كل من البيانات والمهلة مطلوبة" msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "قيمة المهلة غير صالحة، يجب أن تكون بين 0 و216000 ثانية" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "يجب أن يكون {model} نموذجًا" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "يجب أن تكون {data} كائن قائمة" @@ -2225,7 +2232,7 @@ msgstr "{config.PROJECT_NAME} | تم تسليم الطلب" msgid "you do not have permission to perform this action." msgstr "ليس لديك إذن لتنفيذ هذا الإجراء." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "يجب تكوين معلمة NOMINATIM_URL!" @@ -2238,11 +2245,11 @@ msgstr "يجب ألا تتجاوز أبعاد الصورة w{max_width} x h{max_ msgid "invalid phone number format" msgstr "تنسيق رقم الهاتف غير صالح" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "يمكنك تنزيل الأصل الرقمي مرة واحدة فقط" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "الرمز المفضل غير موجود" @@ -2250,3 +2257,6 @@ msgstr "الرمز المفضل غير موجود" #, python-brace-format msgid "Geocoding error: {e}" msgstr "خطأ في الترميز الجغرافي: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "محرك eVibes" diff --git a/core/locale/cs_CZ/LC_MESSAGES/django.mo b/core/locale/cs_CZ/LC_MESSAGES/django.mo index ba33c3f8bc9ce8d845ee02894db546d726409b40..a5ae89540c26062894987cbbe51685f1b312d3d5 100644 GIT binary patch delta 10977 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 ay1PzJ!R$X%hBwF_Hzmq5J9}1C!v6u_&VmpC delta 11083 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 F{{tJ-pA!H8 diff --git a/core/locale/cs_CZ/LC_MESSAGES/django.po b/core/locale/cs_CZ/LC_MESSAGES/django.po index 76996bdc..b0faebd9 100644 --- a/core/locale/cs_CZ/LC_MESSAGES/django.po +++ b/core/locale/cs_CZ/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -28,8 +28,7 @@ msgstr "Je aktivní" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Pokud je nastaveno na false, nemohou tento objekt vidět uživatelé bez " "potřebného oprávnění." @@ -60,36 +59,36 @@ msgstr "Aktivovat vybrané %(verbose_name_plural)s" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Deaktivovat vybrané %(verbose_name_plural)s" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Hodnota atributu" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Hodnoty atributů" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Název" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Obrázek" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Obrázky" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Stock" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Zásoby" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -97,31 +96,31 @@ msgstr "Zásoby" msgid "price" msgstr "Cena" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Hodnocení produktu" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Základní informace" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Důležitá data" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Objednat produkt" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Objednat produkty" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Je podnikání" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Konfigurace" @@ -129,10 +128,6 @@ msgstr "Konfigurace" msgid "core" msgstr "Jádro" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "Motor eVibes" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Dokončeno" @@ -201,7 +196,7 @@ msgstr "Získání vystavitelných parametrů aplikace" msgid "send a message to the support team" msgstr "Odeslání zprávy týmu podpory" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Vyžádejte si adresu URL s protokolem CORS. Povoleno pouze https." @@ -244,8 +239,7 @@ msgstr "" "Přepsání existující skupiny atributů s uložením neupravitelných položek" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Přepsání některých polí existující skupiny atributů s uložením " "neupravitelných položek" @@ -297,8 +291,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "Přepsání existující hodnoty atributu uložením neupravitelných položek" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Přepsání některých polí existující hodnoty atributu s uložením " "neupravitelných položek" @@ -340,12 +333,12 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Vyhledávání podřetězců bez ohledu na velikost písmen v položkách " -"human_readable_id, order_products.product.name a " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name a order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -381,9 +374,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Řazení podle jedné z následujících možností: uuid, human_readable_id, " "user_email, user, status, created, modified, buy_time, random. Pro sestupné " @@ -424,11 +417,11 @@ msgid "" "completed using the user's balance; if `force_payment` is used, a " "transaction is initiated." msgstr "" -"Dokončí nákup objednávky. Pokud je použito `force_balance`, nákup se dokončí" -" s použitím zůstatku uživatele; pokud je použito `force_payment`, zahájí se " +"Dokončí nákup objednávky. Pokud je použito `force_balance`, nákup se dokončí " +"s použitím zůstatku uživatele; pokud je použito `force_payment`, zahájí se " "transakce." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "zakoupení objednávky bez vytvoření účtu" @@ -540,8 +533,7 @@ msgstr "Přidání mnoha produktů do seznamu přání" #: core/docs/drf/viewsets.py:320 msgid "adds many products to an wishlist using the provided `product_uuids`" -msgstr "" -"Přidá mnoho produktů do seznamu přání pomocí zadaných `product_uuids`." +msgstr "Přidá mnoho produktů do seznamu přání pomocí zadaných `product_uuids`." #: core/docs/drf/viewsets.py:325 msgid "remove many products from wishlist" @@ -557,18 +549,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrování podle jedné nebo více dvojic název/hodnota atributu. \n" "- **Syntaxe**: `attr_name=method-value[;attr2=method2-value2]...`\n" -"- **Metody** (pokud je vynecháno, výchozí hodnota je `obsahuje`): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- **Typování hodnot**: Pro booleany, celá čísla, floaty se nejprve zkouší JSON (takže můžete předávat seznamy/dicty), `true`/`false`; jinak se s nimi zachází jako s řetězci. \n" -"- **Base64**: předpona `b64-` pro bezpečné zakódování surové hodnoty do URL base64. \n" +"- **Metody** (pokud je vynecháno, výchozí hodnota je `obsahuje`): `iexact`, " +"`exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, " +"`endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" +"- **Typování hodnot**: Pro booleany, celá čísla, floaty se nejprve zkouší " +"JSON (takže můžete předávat seznamy/dicty), `true`/`false`; jinak se s nimi " +"zachází jako s řetězci. \n" +"- **Base64**: předpona `b64-` pro bezpečné zakódování surové hodnoty do URL " +"base64. \n" "Příklady: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -623,10 +625,12 @@ msgstr "(přesně) Digitální vs. fyzické" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Seznam polí oddělených čárkou, podle kterých se má třídit. Pro sestupné řazení použijte předponu `-`. \n" +"Seznam polí oddělených čárkou, podle kterých se má třídit. Pro sestupné " +"řazení použijte předponu `-`. \n" "**Povolené:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -754,236 +758,236 @@ msgstr "odstranit vztah objednávka-produkt" msgid "add or remove feedback on an order–product relation" msgstr "přidat nebo odebrat zpětnou vazbu na vztah objednávka-produkt." -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "Nebyl zadán žádný vyhledávací termín." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Název" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Kategorie" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Kategorie Slimáci" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Štítky" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Minimální cena" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Max Price" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Je aktivní" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Značka" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Atributy" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Množství" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Slug" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "Je digitální" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Zahrnout podkategorie" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" "Pro použití příznaku include_subcategories musí existovat category_uuid." -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Vyhledávání (ID, název produktu nebo číslo dílu)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Koupeno po (včetně)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Koupeno před (včetně)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "E-mail uživatele" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "UUID uživatele" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Stav" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "Lidsky čitelné ID" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Rodič" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Celá kategorie (má nebo nemá alespoň 1 produkt)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Úroveň" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "UUID produktu" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Klíč k vyhledání v keši nebo nastavení do keše" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Data k uložení do mezipaměti" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Časový limit v sekundách pro nastavení dat do mezipaměti" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Data uložená v mezipaměti" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Kamelizovaná data JSON z požadované adresy URL" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Povoleny jsou pouze adresy URL začínající http(s)://." -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Přidání produktu do objednávky" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Objednávka {order_uuid} nebyla nalezena" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Odstranění produktu z objednávky" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Odstranění všech produktů z objednávky" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Koupit objednávku" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Zadejte prosím order_uuid nebo order_hr_id - vzájemně se vylučují!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Z metody order.buy() pochází nesprávný typ: {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Provedení akce na seznamu produktů v objednávce" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Odebrat/přidat" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "Akce musí být buď \"přidat\", nebo \"odebrat\"!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Přidání produktu do objednávky" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Seznam přání {wishlist_uuid} nebyl nalezen" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Odstranění produktu z objednávky" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Odstranění produktu z objednávky" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Odstranění produktu z objednávky" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Koupit objednávku" -#: core/graphene/mutations.py:483 +#: 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 "" -"Prosím, pošlete atributy jako řetězec ve formátu " -"attr1=hodnota1,attr2=hodnota2." +"Prosím, pošlete atributy jako řetězec ve formátu attr1=hodnota1," +"attr2=hodnota2." -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Původní řetězec adresy zadaný uživatelem" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} neexistuje: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "Limit musí být mezi 1 a 10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funguje jako kouzlo" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Atributy" @@ -995,85 +999,83 @@ msgstr "Seskupené atributy" msgid "groups of attributes" msgstr "Skupiny atributů" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Kategorie" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Značky" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Kategorie" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Procento přirážky" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "Které atributy a hodnoty lze použít pro filtrování této kategorie." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" -"Minimální a maximální ceny produktů v této kategorii, pokud jsou k " -"dispozici." +"Minimální a maximální ceny produktů v této kategorii, pokud jsou k dispozici." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Štítky pro tuto kategorii" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Produkty v této kategorii" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Prodejci" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Zeměpisná šířka (souřadnice Y)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Zeměpisná délka (souřadnice X)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Jak na to" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Hodnota hodnocení od 1 do 10 včetně nebo 0, pokud není nastaveno." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Představuje zpětnou vazbu od uživatele." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Oznámení" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "Stáhněte si url adresu pro tento objednaný produkt, pokud je to možné" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "Seznam objednaných produktů v tomto pořadí" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Fakturační adresa" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1081,47 +1083,47 @@ msgstr "" "Dodací adresa pro tuto objednávku, pokud je stejná jako fakturační adresa " "nebo pokud není použitelná, ponechte prázdné." -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Celková cena této objednávky" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Celkové množství objednaných produktů" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Jsou všechny produkty v objednávce digitální" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Objednávky" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "Adresa URL obrázku" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Obrázky produktu" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Kategorie" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Zpětná vazba" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Značka" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Skupiny atributů" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1129,31 +1131,31 @@ msgstr "Skupiny atributů" msgid "quantity" msgstr "Množství" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Počet zpětných vazeb" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Produkty" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Propagační kódy" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Produkty v prodeji" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Propagační akce" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Prodejce" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1161,647 +1163,648 @@ msgstr "Prodejce" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Produkty uvedené na seznamu přání" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Seznamy přání" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Produkty s příznakem" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Štítky produktu" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Kategorie s příznakem" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Štítky kategorií" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Název projektu" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "E-mail společnosti" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Název společnosti" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Adresa společnosti" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Telefonní číslo společnosti" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', někdy se musí použít místo hodnoty hostitelského uživatele." -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "Uživatel hostitelského e-mailu" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Maximální částka pro platbu" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Minimální částka pro platbu" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Analytická data" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Reklamní údaje" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Konfigurace" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Kód jazyka" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Název jazyka" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Příznak jazyka, pokud existuje :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Získat seznam podporovaných jazyků" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Výsledky vyhledávání produktů" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Výsledky vyhledávání produktů" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Rodič této skupiny" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Nadřazená skupina atributů" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Název skupiny atributů" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Skupina atributů" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Ukládá pověření a koncové body potřebné pro komunikaci s rozhraním API " "dodavatele." -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Informace o ověřování" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "Definice přirážky pro produkty získané od tohoto dodavatele" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Procento přirážky prodejce" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Název tohoto prodejce" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Název prodejce" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Interní identifikátor značky produktu" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Název štítku" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "Uživatelsky přívětivý název pro značku produktu" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Zobrazení názvu štítku" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Štítek produktu" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "značka kategorie" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "štítky kategorií" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Nahrát obrázek reprezentující tuto kategorii" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Obrázek kategorie" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "Definovat procento přirážky pro produkty v této kategorii." -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Nadřízený této kategorie, který tvoří hierarchickou strukturu." -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Nadřazená kategorie" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Název kategorie" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Uveďte název této kategorie" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Přidejte podrobný popis této kategorie" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Popis kategorie" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "značky, které pomáhají popsat nebo seskupit tuto kategorii" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Priorita značky" + +#: core/models.py:265 msgid "name of this brand" msgstr "Název této značky" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Název značky" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Nahrát logo reprezentující tuto značku" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Malý obrázek značky" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Nahrát velké logo reprezentující tuto značku" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Velká image značky" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Přidejte podrobný popis značky" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Popis značky" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Volitelné kategorie, se kterými je tato značka spojena" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Kategorie" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "Brandův slimák" -#: core/models.py:296 -msgid "brand priority" -msgstr "Priorita značky" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Kategorie, do které tento produkt patří" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Volitelně přiřadit tento produkt ke značce" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Značky, které pomáhají popsat nebo seskupit tento produkt" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Označuje, zda je tento produkt dodáván digitálně" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "Je produkt digitální" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Uveďte jasný identifikační název výrobku" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Název produktu" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Přidejte podrobný popis produktu" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Popis produktu" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Číslo dílu pro tento produkt" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Číslo dílu" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Kategorie tohoto atributu" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Skupina tohoto atributu" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "Řetězec" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Celé číslo" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Float" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Boolean" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Pole" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Objekt" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Typ hodnoty atributu" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Typ hodnoty" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Název tohoto atributu" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Název atributu" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Atribut" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Atribut této hodnoty" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "Konkrétní produkt spojený s hodnotou tohoto atributu" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Související produkt" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "Konkrétní hodnota tohoto atributu" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "Poskytněte alternativní text k obrázku kvůli přístupnosti." -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "Text alt obrázku" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Nahrát soubor s obrázkem tohoto produktu" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Obrázek produktu" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Určuje pořadí, v jakém se obrázky zobrazují." -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Priorita zobrazení" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "Výrobek, který tento obrázek představuje" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Obrázky produktů" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Procentuální sleva na vybrané produkty" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Procento slevy" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Uveďte jedinečný název této propagační akce" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Název akce" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Popis propagace" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Vyberte, které produkty jsou zahrnuty do této akce" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Zahrnuté produkty" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Propagace" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "Prodejce dodávající tento výrobek na sklad" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Přidružený prodejce" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Konečná cena pro zákazníka po přirážkách" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Prodejní cena" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "Produkt spojený s touto skladovou položkou" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "Cena zaplacená prodejci za tento výrobek" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Kupní cena prodejce" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Dostupné množství produktu na skladě" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Množství na skladě" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU přidělený prodejcem pro identifikaci výrobku" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "SKU prodejce" -#: core/models.py:615 +#: core/models.py:639 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:616 +#: core/models.py:640 msgid "digital file" msgstr "Digitální soubor" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Zápisy do zásob" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Výrobky, které uživatel označil jako požadované" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "Uživatel, který vlastní tento seznam přání" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Majitel seznamu přání" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Seznam přání" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} neexistuje: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Dokumentární film" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Dokumentární filmy" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Nevyřešené" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Adresní řádek pro zákazníka" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Adresní řádek" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Ulice" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "Okres" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "Město" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Region" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Poštovní směrovací číslo" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "Země" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Geolokace Bod(Zeměpisná délka, Zeměpisná šířka)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Úplná odpověď JSON z geokodéru pro tuto adresu" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Uložená odpověď JSON ze služby geokódování" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Adresa" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Adresy" -#: core/models.py:767 +#: core/models.py:791 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:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Identifikátor propagačního kódu" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "Pevná výše slevy, pokud není použito procento" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Pevná výše slevy" -#: core/models.py:782 +#: core/models.py:806 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:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Procentuální sleva" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Časové razítko ukončení platnosti promokódu" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "Doba ukončení platnosti" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Časové razítko, od kterého je tento promokód platný" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Čas zahájení platnosti" -#: core/models.py:800 +#: core/models.py:824 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:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Časové razítko použití" -#: core/models.py:806 +#: core/models.py:830 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:807 +#: core/models.py:831 msgid "assigned user" msgstr "Přiřazený uživatel" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Propagační kód" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Propagační kódy" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1809,137 +1812,136 @@ 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:839 +#: core/models.py:863 msgid "promocode already used" msgstr "Promo kód byl již použit" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Neplatný typ slevy pro promocode {self.uuid}" -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "Fakturační adresa použitá pro tuto objednávku" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Volitelný promo kód použitý na tuto objednávku" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Použitý promo kód" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "Dodací adresa použitá pro tuto objednávku" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Dodací adresa" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Aktuální stav zakázky v jejím životním cyklu" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Stav objednávky" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 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:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "JSON reprezentace atributů objednávky pro tuto objednávku" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "Uživatel, který zadal objednávku" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "Uživatel" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "Časové razítko, kdy byla objednávka dokončena." -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Kupte si čas" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "Lidsky čitelný identifikátor objednávky" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "lidsky čitelné ID" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Objednávka" -#: core/models.py:951 +#: core/models.py:975 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:987 +#: core/models.py:1011 msgid "you cannot add products to an order that is not a pending one" -msgstr "" -"Do objednávky, která není v procesu vyřizování, nelze přidat produkty." +msgstr "Do objednávky, která není v procesu vyřizování, nelze přidat produkty." -#: core/models.py:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "Do objednávky nelze přidat neaktivní produkty" -#: core/models.py:1013 +#: core/models.py:1037 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:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 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:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} neexistuje s dotazem <{query}>" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Promo kód neexistuje" -#: core/models.py:1108 +#: core/models.py:1132 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:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "Adresa neexistuje" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Neplatná hodnota síly" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "Nelze zakoupit prázdnou objednávku!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Nedostatek finančních prostředků na dokončení objednávky" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1947,118 +1949,117 @@ 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:1218 +#: core/models.py:1242 #, 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:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Nákupní cena v době objednávky" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "Interní komentáře pro administrátory k tomuto objednanému produktu" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Interní připomínky" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "Oznámení uživatele" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "JSON reprezentace atributů této položky" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Objednané atributy produktu" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Odkaz na nadřazenou objednávku, která obsahuje tento produkt" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Objednávka rodičů" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "Konkrétní produkt spojený s touto objednávkou" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Množství tohoto konkrétního produktu v objednávce" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Množství produktu" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Aktuální stav tohoto produktu v objednávce" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Stav produktové řady" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "špatně zadaná akce pro zpětnou vazbu: {action}" -#: core/models.py:1421 +#: core/models.py:1445 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:1433 +#: core/models.py:1457 msgid "download" msgstr "Stáhnout" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Ke stažení na" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "Komentáře uživatelů o jejich zkušenostech s produktem" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Zpětná vazba" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +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:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Související objednávka produktu" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "Hodnocení produktu přidělené uživatelem" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Hodnocení produktu" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Zpětná vazba" @@ -2068,7 +2069,7 @@ msgid "" msgstr "" "pro přidání zpětné vazby musíte uvést komentář, hodnocení a uuid produktu." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Chyba při vytváření promokódu: {e!s}" @@ -2100,7 +2101,8 @@ 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 "" "Děkujeme vám za vaši objednávku #%(order.pk)s! S potěšením Vám oznamujeme, " @@ -2194,7 +2196,8 @@ msgstr "Klíč" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Děkujeme vám za vaši objednávku! S potěšením potvrzujeme váš nákup. Níže " @@ -2233,12 +2236,12 @@ msgstr "Jsou vyžadována data i časový limit" msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "Nesprávná hodnota timeoutu, musí být v rozmezí 0 až 216000 sekund." -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} musí být model" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} musí být objekt seznamu" @@ -2262,7 +2265,7 @@ msgstr "{config.PROJECT_NAME} | Dodaná objednávka" msgid "you do not have permission to perform this action." msgstr "K provedení této akce nemáte oprávnění." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "Parametr NOMINATIM_URL musí být nakonfigurován!" @@ -2276,11 +2279,11 @@ msgstr "" msgid "invalid phone number format" msgstr "Nesprávný formát telefonního čísla" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "Digitální aktivum můžete stáhnout pouze jednou" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "favicon nebyl nalezen" @@ -2288,3 +2291,6 @@ msgstr "favicon nebyl nalezen" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Chyba v zeměpisném kódování: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "Motor eVibes" diff --git a/core/locale/da_DK/LC_MESSAGES/django.mo b/core/locale/da_DK/LC_MESSAGES/django.mo index f4f11e5dd4ec6bf268a2308335177e2edb486394..057a195c5204c8027881d0b616a9ffb14490f0fa 100644 GIT binary patch delta 10977 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 delta 11088 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 Gwf_h9l$r(r diff --git a/core/locale/da_DK/LC_MESSAGES/django.po b/core/locale/da_DK/LC_MESSAGES/django.po index 836ef996..30dda43e 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-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -27,8 +27,7 @@ msgstr "Er aktiv" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Hvis det er sat til false, kan dette objekt ikke ses af brugere uden den " "nødvendige tilladelse." @@ -59,36 +58,36 @@ msgstr "Aktivér udvalgte %(verbose_name_plural)s" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Deaktiver udvalgte %(verbose_name_plural)s" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Attributværdi" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Attributværdier" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Navn" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Billede" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Billeder" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Lager" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Aktier" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -96,31 +95,31 @@ msgstr "Aktier" msgid "price" msgstr "Pris" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Produktvurdering" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Grundlæggende information" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Vigtige datoer" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Bestil produkt" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Bestil produkter" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Er forretning" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Konfig" @@ -128,10 +127,6 @@ msgstr "Konfig" msgid "core" msgstr "Kerne" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes-motor" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Færdig" @@ -186,7 +181,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Anvend kun en nøgle til at læse tilladte data fra cachen.\n" -"Anvend nøgle, data og timeout med autentificering for at skrive data til cachen." +"Anvend nøgle, data og timeout med autentificering for at skrive data til " +"cachen." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -200,7 +196,7 @@ msgstr "Hent applikationens eksponerbare parametre" msgid "send a message to the support team" msgstr "Send en besked til supportteamet" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Anmod om en CORSed URL. Kun https er tilladt." @@ -243,8 +239,7 @@ msgstr "" "attributter" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Omskriv nogle felter i en eksisterende attributgruppe og gem ikke-" "redigerbare felter" @@ -297,11 +292,10 @@ msgstr "" "Omskriv en eksisterende attributværdi, der gemmer ikke-redigerbare filer" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" -"Omskriv nogle felter i en eksisterende attributværdi og gem ikke-redigerbare" -" felter" +"Omskriv nogle felter i en eksisterende attributværdi og gem ikke-redigerbare " +"felter" #: core/docs/drf/viewsets.py:124 msgid "list all categories (simple view)" @@ -335,17 +329,16 @@ msgstr "Liste over alle kategorier (enkel visning)" #: core/docs/drf/viewsets.py:152 msgid "for non-staff users, only their own orders are returned." -msgstr "" -"For ikke-ansatte brugere er det kun deres egne ordrer, der returneres." +msgstr "For ikke-ansatte brugere er det kun deres egne ordrer, der returneres." #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Substringsøgning uden brug af store og små bogstaver på tværs af " -"human_readable_id, order_products.product.name og " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name og order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -377,13 +370,13 @@ msgstr "Filtrer efter ordrestatus (case-insensitive substring match)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Bestil efter en af: uuid, human_readable_id, user_email, user, status, " -"created, modified, buy_time, random. Præfiks med '-' for faldende rækkefølge" -" (f.eks. '-buy_time')." +"created, modified, buy_time, random. Præfiks med '-' for faldende rækkefølge " +"(f.eks. '-buy_time')." #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -425,7 +418,7 @@ msgstr "" "ved hjælp af brugerens saldo; hvis `force_payment` bruges, igangsættes en " "transaktion." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "Køb en ordre uden at oprette en konto" @@ -533,8 +526,7 @@ msgstr "Fjern et produkt fra ønskelisten" #: core/docs/drf/viewsets.py:314 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" -"Fjerner et produkt fra en ønskeliste ved hjælp af den angivne " -"`product_uuid`." +"Fjerner et produkt fra en ønskeliste ved hjælp af den angivne `product_uuid`." #: core/docs/drf/viewsets.py:319 msgid "add many products to wishlist" @@ -561,18 +553,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrer efter et eller flere attributnavn/værdipar. \n" "- **Syntaks**: `attr_name=method-value[;attr2=method2-value2]...`.\n" -"- **Metoder** (standard er `icontains`, hvis udeladt): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- Værdiindtastning**: JSON forsøges først (så du kan sende lister/dikter), `true`/`false` for booleans, heltal, floats; ellers behandles de som strenge. \n" -"- **Base64**: præfiks med `b64-` for URL-sikker base64-kodning af den rå værdi. \n" +"- **Metoder** (standard er `icontains`, hvis udeladt): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" +"- Værdiindtastning**: JSON forsøges først (så du kan sende lister/dikter), " +"`true`/`false` for booleans, heltal, floats; ellers behandles de som " +"strenge. \n" +"- **Base64**: præfiks med `b64-` for URL-sikker base64-kodning af den rå " +"værdi. \n" "Eksempler på dette: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`." @@ -627,10 +629,12 @@ msgstr "(præcis) Digital vs. fysisk" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Kommasepareret liste over felter, der skal sorteres efter. Præfiks med `-` for faldende. \n" +"Kommasepareret liste over felter, der skal sorteres efter. Præfiks med `-` " +"for faldende. \n" "**Tilladt:** uuid, vurdering, navn, slug, oprettet, ændret, pris, tilfældig" #: core/docs/drf/viewsets.py:441 @@ -756,236 +760,236 @@ msgstr "slette en ordre-produkt-relation" msgid "add or remove feedback on an order–product relation" msgstr "tilføje eller fjerne feedback på en ordre-produkt-relation" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "Der er ikke angivet noget søgeord." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Navn" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Kategorier" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Kategorier Snegle" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Tags" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Min. pris" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Maks. pris" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Er aktiv" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Brand" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Egenskaber" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Mængde" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Snegl" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "Er digital" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Inkluder underkategorier" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" "Der skal være en category_uuid for at bruge include_subcategories-flaget" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Søg (ID, produktnavn eller reservedelsnummer)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Købt efter (inklusive)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Købt før (inklusive)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "Brugerens e-mail" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "Bruger UUID" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Status" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "Menneskeligt læsbart ID" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Forælder" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Hele kategorien (har mindst 1 produkt eller ej)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Niveau" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "Produkt UUID" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Nøgle til at lede efter i eller lægge i cachen" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Data, der skal gemmes i cachen" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Timeout i sekunder for at lægge data i cachen" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Cachelagrede data" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Cameliserede JSON-data fra den ønskede URL" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Kun URL'er, der starter med http(s)://, er tilladt." -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Tilføj et produkt til ordren" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Ordre {order_uuid} ikke fundet" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Fjern et produkt fra ordren" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Fjern alle produkter fra ordren" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Køb en ordre" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Angiv enten order_uuid eller order_hr_id - det udelukker hinanden!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Forkert type kom fra metoden order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Udfør en handling på en liste af produkter i ordren" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Fjern/tilføj" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "Handlingen skal være enten \"tilføj\" eller \"fjern\"!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Tilføj et produkt til ordren" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Ønskeliste {wishlist_uuid} ikke fundet" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Fjern et produkt fra ordren" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Fjern et produkt fra ordren" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Fjern et produkt fra ordren" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Køb en ordre" -#: core/graphene/mutations.py:483 +#: 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 "" -"Send venligst attributterne som en streng formateret som " -"attr1=værdi1,attr2=værdi2" +"Send venligst attributterne som en streng formateret som attr1=værdi1," +"attr2=værdi2" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Original adressestreng leveret af brugeren" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} findes ikke: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "Grænsen skal være mellem 1 og 10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - fungerer som en charme" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Egenskaber" @@ -997,89 +1001,87 @@ msgstr "Grupperede attributter" msgid "groups of attributes" msgstr "Grupper af attributter" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Kategorier" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Mærker" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Kategorier" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Markup-procentdel" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" -"Hvilke attributter og værdier, der kan bruges til at filtrere denne " -"kategori." +"Hvilke attributter og værdier, der kan bruges til at filtrere denne kategori." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Minimums- og maksimumspriser for produkter i denne kategori, hvis de er " "tilgængelige." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Tags for denne kategori" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Produkter i denne kategori" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Leverandører" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Breddegrad (Y-koordinat)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Længdegrad (X-koordinat)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Sådan gør du" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" "Vurderingsværdi fra 1 til 10, inklusive, eller 0, hvis den ikke er " "indstillet." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Repræsenterer feedback fra en bruger." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Meddelelser" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "Download url for dette ordreprodukt, hvis det er relevant" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "En liste over bestillingsprodukter i denne ordre" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Faktureringsadresse" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1087,47 +1089,47 @@ msgstr "" "Leveringsadresse for denne ordre, lad den være tom, hvis den er den samme " "som faktureringsadressen, eller hvis den ikke er relevant" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Samlet pris for denne ordre" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Samlet antal produkter i ordren" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Er alle produkterne i ordren digitale?" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Bestillinger" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "Billed-URL" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Produktets billeder" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Kategori" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Tilbagemeldinger" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Brand" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Attributgrupper" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1135,31 +1137,31 @@ msgstr "Attributgrupper" msgid "quantity" msgstr "Mængde" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Antal tilbagemeldinger" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Produkter" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Promokoder" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Produkter til salg" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Kampagner" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Leverandør" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1167,648 +1169,649 @@ msgstr "Leverandør" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Produkter på ønskelisten" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Ønskelister" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Mærkede produkter" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Produktmærker" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Tagged kategorier" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Kategoriernes tags" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Projektets navn" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "Virksomhedens e-mail" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Virksomhedens navn" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Virksomhedens adresse" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Virksomhedens telefonnummer" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'e-mail fra', nogle gange skal den bruges i stedet for værtsbrugerværdien" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "E-mail-værtsbruger" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Maksimalt beløb til betaling" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Minimumsbeløb for betaling" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Analytiske data" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Data om reklamer" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Konfiguration" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Sprogkode" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Sprogets navn" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Sprogflag, hvis det findes :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Få en liste over understøttede sprog" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Søgeresultater for produkter" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Søgeresultater for produkter" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Forælder til denne gruppe" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Overordnet attributgruppe" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Attributgruppens navn" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Attributgruppe" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Gemmer legitimationsoplysninger og slutpunkter, der er nødvendige for " "leverandørens API-kommunikation" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Oplysninger om godkendelse" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "Definer markeringen for produkter, der hentes fra denne leverandør" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Sælgerens markup-procentdel" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Navn på denne leverandør" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Leverandørens navn" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Intern tag-identifikator for produkttagget" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Tag-navn" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "Brugervenligt navn til produktmærket" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Navn på tag-visning" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Produktmærke" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "Kategori-tag" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "Kategori-tags" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Upload et billede, der repræsenterer denne kategori" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Kategori billede" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "Definer en markup-procentdel for produkter i denne kategori" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Forælder til denne kategori for at danne en hierarkisk struktur" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Overordnet kategori" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Navn på kategori" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Giv et navn til denne kategori" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Tilføj en detaljeret beskrivelse af denne kategori" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Beskrivelse af kategori" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "tags, der hjælper med at beskrive eller gruppere denne kategori" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Brandets prioritet" + +#: core/models.py:265 msgid "name of this brand" msgstr "Navnet på dette mærke" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Varemærke" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Upload et logo, der repræsenterer dette brand" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Brandets lille image" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Upload et stort logo, der repræsenterer dette brand" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Brandets store image" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Tilføj en detaljeret beskrivelse af brandet" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Varemærkebeskrivelse" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Valgfrie kategorier, som dette brand er forbundet med" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Kategorier" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "Brands snegl" -#: core/models.py:296 -msgid "brand priority" -msgstr "Brandets prioritet" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Kategori, som dette produkt tilhører" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Tilknyt eventuelt dette produkt til et brand" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Tags, der hjælper med at beskrive eller gruppere dette produkt" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Angiver, om dette produkt leveres digitalt" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "Er produktet digitalt?" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Giv produktet et klart identificerende navn" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Produktets navn" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Tilføj en detaljeret beskrivelse af produktet" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Produktbeskrivelse" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Reservedelsnummer for dette produkt" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Varenummer" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Kategori for denne attribut" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Gruppe af denne attribut" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "Streng" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Heltal" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Flyder" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Boolsk" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Array" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Objekt" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Type af attributtens værdi" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Værditype" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Navn på denne attribut" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Attributtens navn" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribut" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Attribut for denne værdi" -#: core/models.py:480 +#: core/models.py:504 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:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Tilknyttet produkt" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "Den specifikke værdi for denne attribut" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "Giv alternativ tekst til billedet af hensyn til tilgængeligheden" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "Billedets alt-tekst" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Upload billedfilen til dette produkt" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Produktbillede" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Bestemmer den rækkefølge, billederne vises i" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Skærm-prioritet" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "Det produkt, som dette billede repræsenterer" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Produktbilleder" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Procentvis rabat for de valgte produkter" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Rabatprocent" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Giv et unikt navn til denne kampagne" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Navn på kampagne" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Beskrivelse af kampagnen" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Vælg, hvilke produkter der er inkluderet i denne kampagne" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Inkluderede produkter" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Forfremmelse" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "Den leverandør, der leverer dette produkt, lagerfører" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Tilknyttet leverandør" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Endelig pris til kunden efter tillæg" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Salgspris" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "Det produkt, der er knyttet til denne lagerpost" -#: core/models.py:598 +#: core/models.py:622 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:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Leverandørens købspris" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Tilgængelig mængde af produktet på lager" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Antal på lager" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "Leverandørtildelt SKU til identifikation af produktet" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "Leverandørens SKU" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "Digital fil knyttet til dette lager, hvis relevant" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "Digital fil" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Lagerposteringer" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Produkter, som brugeren har markeret som ønskede" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "Bruger, der ejer denne ønskeliste" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Ønskelistens ejer" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Ønskeliste" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} findes ikke: {product_uuid}." -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Dokumentarfilm" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Dokumentarfilm" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Uafklaret" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Adresselinje til kunden" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Adresselinje" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Gade" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "Distrikt" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "By" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Region" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Postnummer" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "Land" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Geolokaliseringspunkt (længdegrad, breddegrad)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Fuldt JSON-svar fra geokoderen for denne adresse" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Gemt JSON-svar fra geokodningstjenesten" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Adresse" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Adresser" -#: core/models.py:767 +#: core/models.py:791 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:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Identifikator for kampagnekode" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "Fast rabatbeløb anvendes, hvis procent ikke bruges" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Fast rabatbeløb" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "Procentvis rabat, hvis det faste beløb ikke bruges" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Procentvis rabat" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Tidsstempel, når promokoden udløber" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "Slut gyldighedstid" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Tidsstempel, hvorfra denne promokode er gyldig" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Start gyldighedstid" -#: core/models.py:800 +#: core/models.py:824 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:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Tidsstempel for brug" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "Bruger tildelt denne promokode, hvis relevant" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Tildelt bruger" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Kampagnekode" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Kampagnekoder" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1816,137 +1819,136 @@ msgstr "" "Der skal kun defineres én type rabat (beløb eller procent), men ikke begge " "eller ingen af dem." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "Promokoden er allerede blevet brugt" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Ugyldig rabattype for promokode {self.uuid}." -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "Den faktureringsadresse, der bruges til denne ordre" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Valgfri kampagnekode anvendt på denne ordre" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Anvendt kampagnekode" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "Den leveringsadresse, der er brugt til denne ordre" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Leveringsadresse" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Ordrens aktuelle status i dens livscyklus" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Bestillingsstatus" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 msgid "json structure of notifications to display to users" msgstr "" -"JSON-struktur af meddelelser, der skal vises til brugerne, i admin UI bruges" -" tabelvisningen" +"JSON-struktur af meddelelser, der skal vises til brugerne, i admin UI bruges " +"tabelvisningen" -#: core/models.py:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "JSON-repræsentation af ordreattributter for denne ordre" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "Den bruger, der har afgivet ordren" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "Bruger" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "Tidsstemplet for, hvornår ordren blev afsluttet" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Køb tid" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "En menneskeligt læsbar identifikator for ordren" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "menneskeligt læsbart ID" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Bestil" -#: core/models.py:951 +#: core/models.py:975 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:987 +#: core/models.py:1011 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:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "Du kan ikke tilføje inaktive produkter til en ordre" -#: core/models.py:1013 +#: core/models.py:1037 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:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 msgid "you cannot remove products from an order that is not a pending one" msgstr "" -"Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende " -"ordre." +"Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende ordre." -#: core/models.py:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} findes ikke med forespørgsel <{query}>." -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Promokode findes ikke" -#: core/models.py:1108 +#: core/models.py:1132 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:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "Adressen findes ikke" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Ugyldig kraftværdi" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "Du kan ikke købe en tom ordre!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Utilstrækkelige midler til at gennemføre ordren" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1954,120 +1956,117 @@ msgstr "" "du kan ikke købe uden registrering, angiv venligst følgende oplysninger: " "kundens navn, kundens e-mail, kundens telefonnummer" -#: core/models.py:1218 +#: core/models.py:1242 #, 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:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Købspris på bestillingstidspunktet" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "Interne kommentarer til administratorer om dette bestilte produkt" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Interne kommentarer" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "Notifikationer til brugere" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "JSON-repræsentation af dette elements attributter" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Bestilte produktattributter" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Henvisning til den overordnede ordre, der indeholder dette produkt" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Forældreordre" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "Det specifikke produkt, der er knyttet til denne ordrelinje" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Mængde af dette specifikke produkt i ordren" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Produktmængde" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Aktuel status for dette produkt i bestillingen" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Status for produktlinje" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "forkert handling angivet for feedback: {action}." -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "" -"Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende " -"ordre." +"Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende ordre." -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "Download" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Downloads" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "Brugernes kommentarer om deres oplevelse med produktet" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Kommentarer til feedback" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +msgid "references the specific product in an order that this feedback is about" msgstr "" -"Henviser til det specifikke produkt i en ordre, som denne feedback handler " -"om" +"Henviser til det specifikke produkt i en ordre, som denne feedback handler om" -#: core/models.py:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Relateret ordreprodukt" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "Brugertildelt vurdering af produktet" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Produktvurdering" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Feedback" @@ -2078,7 +2077,7 @@ msgstr "" "Du skal angive en kommentar, en vurdering og et produkt-uid for at tilføje " "feedback." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Fejl under oprettelse af promokode: {e!s}" @@ -2110,7 +2109,8 @@ msgstr "Hej %(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 "" "Tak for din ordre #%(order.pk)s! Vi er glade for at kunne informere dig om, " @@ -2203,7 +2203,8 @@ msgstr "Nøgle" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Tak for din bestilling! Vi er glade for at kunne bekræfte dit køb. Nedenfor " @@ -2242,12 +2243,12 @@ msgstr "Både data og timeout er påkrævet" msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "Ugyldig timeout-værdi, den skal være mellem 0 og 216000 sekunder" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} skal være model" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} skal være et listeobjekt" @@ -2271,7 +2272,7 @@ msgstr "{config.PROJECT_NAME} | Ordre leveret" msgid "you do not have permission to perform this action." msgstr "Du har ikke tilladelse til at udføre denne handling." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "Parameteren NOMINATIM_URL skal være konfigureret!" @@ -2279,18 +2280,17 @@ msgstr "Parameteren NOMINATIM_URL skal være konfigureret!" #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -"Billedets dimensioner bør ikke overstige w{max_width} x h{max_height} " -"pixels." +"Billedets dimensioner bør ikke overstige w{max_width} x h{max_height} pixels." #: core/validators.py:22 msgid "invalid phone number format" msgstr "Ugyldigt telefonnummerformat" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "Du kan kun downloade det digitale aktiv én gang" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "Favicon ikke fundet" @@ -2298,3 +2298,6 @@ msgstr "Favicon ikke fundet" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Fejl i geokodning: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes-motor" diff --git a/core/locale/de_DE/LC_MESSAGES/django.mo b/core/locale/de_DE/LC_MESSAGES/django.mo index 8c308012bb6ddc0424c108a8e0c65d72220b9c87..c4ba44841c5671a219f0f641cc425a42337b21e3 100644 GIT binary patch delta 10977 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Ist aktiv" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Wenn auf false gesetzt, kann dieses Objekt von Benutzern ohne die " "erforderliche Berechtigung nicht gesehen werden." @@ -61,36 +60,36 @@ msgstr "Ausgewählte %(verbose_name_plural)s aktivieren" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Ausgewählte %(verbose_name_plural)s deaktivieren" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Attribut Wert" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Attribut Werte" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Name" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Bild" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Bilder" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Lagerbestand" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Bestände" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -98,31 +97,31 @@ msgstr "Bestände" msgid "price" msgstr "Preis" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Produktbewertung" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Grundlegende Informationen" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Wichtige Termine" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Produkt bestellen" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Produkte bestellen" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Ist Business" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Konfigurieren Sie" @@ -130,10 +129,6 @@ msgstr "Konfigurieren Sie" msgid "core" msgstr "Kern" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes Motor" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Fertige" @@ -187,8 +182,10 @@ msgid "" "apply only a key to read permitted data from cache.\n" "apply key, data and timeout with authentication to write data to cache." msgstr "" -"Wenden Sie nur einen Schlüssel an, um erlaubte Daten aus dem Cache zu lesen.\n" -"Schlüssel, Daten und Timeout mit Authentifizierung anwenden, um Daten in den Cache zu schreiben." +"Wenden Sie nur einen Schlüssel an, um erlaubte Daten aus dem Cache zu " +"lesen.\n" +"Schlüssel, Daten und Timeout mit Authentifizierung anwenden, um Daten in den " +"Cache zu schreiben." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -202,7 +199,7 @@ msgstr "Abrufen der exponierbaren Parameter der Anwendung" msgid "send a message to the support team" msgstr "Senden Sie eine Nachricht an das Support-Team" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Fordern Sie eine CORS-gesicherte URL an. Nur https erlaubt." @@ -245,8 +242,7 @@ msgstr "" "Editierbarkeit" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Umschreiben einiger Felder einer bestehenden Attributgruppe, wobei nicht " "editierbare Felder gespeichert werden" @@ -276,8 +272,8 @@ msgstr "" #: core/docs/drf/viewsets.py:90 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" -"Umschreiben einiger Felder eines vorhandenen Attributs, um nicht editierbare" -" Daten zu speichern" +"Umschreiben einiger Felder eines vorhandenen Attributs, um nicht editierbare " +"Daten zu speichern" #: core/docs/drf/viewsets.py:97 msgid "list all attribute values (simple view)" @@ -302,8 +298,7 @@ msgstr "" "Editierbarkeit" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Umschreiben einiger Felder eines vorhandenen Attributwerts, wobei nicht " "bearbeitbare Daten gespeichert werden" @@ -332,8 +327,8 @@ msgstr "" #: core/docs/drf/viewsets.py:144 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" -"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare" -" Daten zu speichern" +"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare " +"Daten zu speichern" #: core/docs/drf/viewsets.py:151 msgid "list all orders (simple view)" @@ -346,12 +341,12 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Groß- und Kleinschreibung unempfindliche Teilstringsuche über " -"human_readable_id, order_products.product.name und " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name und order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -387,9 +382,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Sortierung nach einem von: uuid, human_readable_id, user_email, user, " "status, created, modified, buy_time, random. Präfix mit '-' für absteigend " @@ -419,8 +414,8 @@ msgstr "" #: core/docs/drf/viewsets.py:227 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" -"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare" -" Daten zu speichern" +"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare " +"Daten zu speichern" #: core/docs/drf/viewsets.py:231 msgid "purchase an order" @@ -436,15 +431,14 @@ msgstr "" "wird der Kauf mit dem Guthaben des Benutzers abgeschlossen; bei Verwendung " "von \"force_payment\" wird eine Transaktion ausgelöst." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "eine Bestellung kaufen, ohne ein Konto anzulegen" #: core/docs/drf/viewsets.py:246 msgid "finalizes the order purchase for a non-registered user." msgstr "" -"schließt den Kauf einer Bestellung für einen nicht registrierten Benutzer " -"ab." +"schließt den Kauf einer Bestellung für einen nicht registrierten Benutzer ab." #: core/docs/drf/viewsets.py:254 msgid "add product to order" @@ -461,8 +455,8 @@ msgstr "" #: core/docs/drf/viewsets.py:260 msgid "add a list of products to order, quantities will not count" msgstr "" -"Fügen Sie eine Liste der zu bestellenden Produkte hinzu, Mengen werden nicht" -" gezählt" +"Fügen Sie eine Liste der zu bestellenden Produkte hinzu, Mengen werden nicht " +"gezählt" #: core/docs/drf/viewsets.py:261 msgid "" @@ -531,8 +525,8 @@ msgstr "" #: core/docs/drf/viewsets.py:303 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" -"Umschreiben einiger Felder eines vorhandenen Attributs, um nicht editierbare" -" Daten zu speichern" +"Umschreiben einiger Felder eines vorhandenen Attributs, um nicht editierbare " +"Daten zu speichern" #: core/docs/drf/viewsets.py:307 msgid "add product to wishlist" @@ -579,18 +573,29 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtern Sie nach einem oder mehreren Attributnamen/Wertpaaren. \n" "- **Syntax**: `attr_name=Methode-Wert[;attr2=Methode2-Wert2]...`\n" -"- **Methoden** (Standardwert ist \"icontains\", wenn nicht angegeben): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- **Wert-Typisierung**: JSON wird zuerst versucht (damit man Listen/Dicts übergeben kann), `true`/`false` für Booleans, Integers, Floats; ansonsten als String behandelt. \n" -"- Base64**: Präfix \"b64-\" für URL-sichere Base64-Kodierung des Rohwertes. \n" +"- **Methoden** (Standardwert ist \"icontains\", wenn nicht angegeben): " +"`iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, " +"`istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, " +"`gt`, `gte`, `in`\n" +"- **Wert-Typisierung**: JSON wird zuerst versucht (damit man Listen/Dicts " +"übergeben kann), `true`/`false` für Booleans, Integers, Floats; ansonsten " +"als String behandelt. \n" +"- Base64**: Präfix \"b64-\" für URL-sichere Base64-Kodierung des " +"Rohwertes. \n" "Beispiele: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -618,8 +623,7 @@ msgstr "(genau) Kategorie UUID" #: core/docs/drf/viewsets.py:378 msgid "(list) Tag names, case-insensitive" -msgstr "" -"(Liste) Tag-Namen, Groß- und Kleinschreibung wird nicht berücksichtigt" +msgstr "(Liste) Tag-Namen, Groß- und Kleinschreibung wird nicht berücksichtigt" #: core/docs/drf/viewsets.py:384 msgid "(gte) Minimum stock price" @@ -647,10 +651,12 @@ msgstr "(genau) Digital vs. physisch" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Durch Kommata getrennte Liste der Felder, nach denen sortiert werden soll. Präfix mit \"-\" für absteigend. \n" +"Durch Kommata getrennte Liste der Felder, nach denen sortiert werden soll. " +"Präfix mit \"-\" für absteigend. \n" "**Erlaubt:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -670,8 +676,8 @@ msgstr "Ein Produkt erstellen" #: core/docs/drf/viewsets.py:463 msgid "rewrite an existing product, preserving non-editable fields" msgstr "" -"Umschreiben eines bestehenden Produkts unter Beibehaltung nicht editierbarer" -" Felder" +"Umschreiben eines bestehenden Produkts unter Beibehaltung nicht editierbarer " +"Felder" #: core/docs/drf/viewsets.py:478 msgid "" @@ -719,10 +725,10 @@ msgstr "Autovervollständigung der Adresseingabe" #: core/docs/drf/viewsets.py:576 msgid "raw data query string, please append with data from geo-IP endpoint" msgstr "" -"docker compose exec app poetry run python manage.py deepl_translate -l en-gb" -" -l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " -"it-it -l ja-jp -l kk-kz -l nl-nl -l pl -l pt-br -l ro-ro -l ru-ru -l zh-hans" -" -a core -a geo -a payments -a vibes_auth -a blog" +"docker compose exec app poetry run python manage.py deepl_translate -l en-gb " +"-l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " +"it-it -l ja-jp -l kk-kz -l nl-nl -l pl -l pt-br -l ro-ro -l ru-ru -l zh-hans " +"-a core -a geo -a payments -a vibes_auth -a blog" #: core/docs/drf/viewsets.py:582 msgid "limit the results amount, 1 < limit < 10, default: 5" @@ -752,8 +758,8 @@ msgstr "" #: core/docs/drf/viewsets.py:615 msgid "rewrite some fields of an existing feedback saving non-editables" msgstr "" -"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare" -" Daten zu speichern" +"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare " +"Daten zu speichern" #: core/docs/drf/viewsets.py:622 msgid "list all order–product relations (simple view)" @@ -784,238 +790,238 @@ msgid "add or remove feedback on an order–product relation" msgstr "" "Feedback zu einer Bestellung-Produkt-Beziehung hinzufügen oder entfernen" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "Kein Suchbegriff angegeben." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Name" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Kategorien" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Kategorien Schnecken" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Tags" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Mindestpreis" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Maximaler Preis" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Ist aktiv" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Marke" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Attribute" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Menge" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Schnecke" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "Is Digital" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Unterkategorien einbeziehen" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" -"Es muss eine category_uuid vorhanden sein, um das Flag include_subcategories" -" zu verwenden" +"Es muss eine category_uuid vorhanden sein, um das Flag include_subcategories " +"zu verwenden" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Suche (ID, Produktname oder Teilenummer)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Gekauft nach (einschließlich)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Gekauft vor (einschließlich)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "Benutzer-E-Mail" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "User UUID" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Status" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "Human Readable ID" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Elternteil" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Gesamte Kategorie (mit oder ohne mindestens 1 Produkt)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Ebene" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "Produkt UUID" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Schlüssel, der im Cache zu suchen oder in den Cache zu legen ist" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Im Cache zu speichernde Daten" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Timeout in Sekunden, um die Daten in den Cache zu stellen" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Zwischengespeicherte Daten" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON-Daten aus der angeforderten URL" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Nur URLs, die mit http(s):// beginnen, sind zulässig" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Ein Produkt zur Bestellung hinzufügen" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Bestellung {order_uuid} nicht gefunden" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Ein Produkt aus der Bestellung entfernen" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Alle Produkte aus der Bestellung entfernen" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Eine Bestellung kaufen" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" "Bitte geben Sie entweder order_uuid oder order_hr_id an - beide schließen " "sich gegenseitig aus!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Von der Methode order.buy() kam der falsche Typ: {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Eine Aktion für eine Liste von Produkten in der Bestellung ausführen" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Entfernen/Hinzufügen" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "Aktion muss entweder \"Hinzufügen\" oder \"Entfernen\" sein!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Ein Produkt zur Bestellung hinzufügen" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Wunschzettel {wishlist_uuid} nicht gefunden" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Ein Produkt aus der Bestellung entfernen" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Ein Produkt aus der Bestellung entfernen" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Ein Produkt aus der Bestellung entfernen" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Eine Bestellung kaufen" -#: core/graphene/mutations.py:483 +#: 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 "" "Bitte senden Sie die Attribute als String im Format attr1=wert1,attr2=wert2" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Vom Benutzer angegebene Originaladresse" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} existiert nicht: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "Der Grenzwert muss zwischen 1 und 10 liegen." -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funktioniert wie ein Zauber" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Attribute" @@ -1027,88 +1033,86 @@ msgstr "Gruppierte Attribute" msgid "groups of attributes" msgstr "Gruppen von Attributen" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Kategorien" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Marken" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Kategorien" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Markup Percentage" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" "Welche Attribute und Werte können für die Filterung dieser Kategorie " "verwendet werden." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" -"Mindest- und Höchstpreise für Produkte in dieser Kategorie, sofern " -"verfügbar." +"Mindest- und Höchstpreise für Produkte in dieser Kategorie, sofern verfügbar." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Tags für diese Kategorie" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Produkte in dieser Kategorie" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Anbieter" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Breitengrad (Y-Koordinate)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Längengrad (X-Koordinate)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Wie" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" "Bewertungswert von 1 bis einschließlich 10 oder 0, wenn nicht festgelegt." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Stellt das Feedback eines Benutzers dar." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Benachrichtigungen" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "Download-Url für dieses Bestellprodukt, falls zutreffend" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "Eine Liste der bestellten Produkte in dieser Reihenfolge" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Rechnungsadresse" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1116,47 +1120,47 @@ msgstr "" "Lieferadresse für diese Bestellung, leer lassen, wenn sie mit der " "Rechnungsadresse übereinstimmt oder nicht zutrifft" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Gesamtpreis für diese Bestellung" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Gesamtmenge der bestellten Produkte" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Sind alle Produkte in der Bestellung digital" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Bestellungen" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "Bild URL" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Bilder des Produkts" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Kategorie" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Rückmeldungen" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Marke" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Attribut-Gruppen" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1164,31 +1168,31 @@ msgstr "Attribut-Gruppen" msgid "quantity" msgstr "Menge" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Anzahl der Rückmeldungen" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Produkte" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Zum Verkauf stehende Produkte" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Werbeaktionen" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Anbieter" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1196,662 +1200,660 @@ msgstr "Anbieter" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Auf dem Wunschzettel stehende Produkte" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Wunschzettel" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Markierte Produkte" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Produkt-Tags" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Markierte Kategorien" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Kategorien'-Tags" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Name des Projekts" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "Unternehmen E-Mail" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Name des Unternehmens" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Adresse des Unternehmens" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Telefonnummer des Unternehmens" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "E-Mail von\", muss manchmal anstelle des Host-Benutzerwerts verwendet werden" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "E-Mail-Host-Benutzer" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Höchstbetrag für die Zahlung" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Mindestbetrag für die Zahlung" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Analytische Daten" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Advertisement data" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Konfiguration" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Sprachcode" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Name der Sprache" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Sprachflagge, falls vorhanden :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Eine Liste der unterstützten Sprachen abrufen" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Suchergebnisse für Produkte" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Suchergebnisse für Produkte" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Elternteil dieser Gruppe" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Übergeordnete Attributgruppe" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Name der Attributgruppe" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Attribut-Gruppe" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Speichert Anmeldeinformationen und Endpunkte, die für die API-Kommunikation " "des Anbieters erforderlich sind" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Informationen zur Authentifizierung" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "" "Definieren Sie den Aufschlag für Produkte, die von diesem Lieferanten " "bezogen werden" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Prozentualer Aufschlag des Lieferanten" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Name dieses Anbieters" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Name des Anbieters" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Interner Tag-Identifikator für das Produkt-Tag" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Tag name" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "Benutzerfreundlicher Name für den Produktanhänger" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Tag-Anzeigename" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Produkt-Tag" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "Kategorie-Tag" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "Kategorie-Tags" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Laden Sie ein Bild hoch, das diese Kategorie repräsentiert" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Kategorie Bild" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "" "Definieren Sie einen prozentualen Aufschlag für Produkte in dieser Kategorie" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "" "Übergeordneter dieser Kategorie, um eine hierarchische Struktur zu bilden" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Übergeordnete Kategorie" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Name der Kategorie" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Geben Sie einen Namen für diese Kategorie an" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Fügen Sie eine detaillierte Beschreibung für diese Kategorie hinzu" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Beschreibung der Kategorie" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "Tags, die helfen, diese Kategorie zu beschreiben oder zu gruppieren" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Priorität der Marke" + +#: core/models.py:265 msgid "name of this brand" msgstr "Name dieser Marke" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Markenname" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Laden Sie ein Logo hoch, das diese Marke repräsentiert" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Marke kleines Bild" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Laden Sie ein großes Logo hoch, das diese Marke repräsentiert" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Großes Image der Marke" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Fügen Sie eine detaillierte Beschreibung der Marke hinzu" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Beschreibung der Marke" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "" "Optionale Kategorien, mit denen diese Marke in Verbindung gebracht wird" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Kategorien" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "Brandschnecke" -#: core/models.py:296 -msgid "brand priority" -msgstr "Priorität der Marke" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Kategorie, zu der dieses Produkt gehört" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Optional können Sie dieses Produkt mit einer Marke verknüpfen" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Tags, die helfen, dieses Produkt zu beschreiben oder zu gruppieren" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Gibt an, ob dieses Produkt digital geliefert wird" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "Ist das Produkt digital" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" -msgstr "" -"Geben Sie einen eindeutigen Namen zur Identifizierung des Produkts an." +msgstr "Geben Sie einen eindeutigen Namen zur Identifizierung des Produkts an." -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Name des Produkts" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Fügen Sie eine detaillierte Beschreibung des Produkts hinzu" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Beschreibung des Produkts" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Teilenummer für dieses Produkt" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Teilnummer" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Kategorie dieses Attributs" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Gruppe dieses Attributs" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "Zeichenfolge" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Integer" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Schwimmer" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Boolesche" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Array" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Objekt" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Typ des Attributwerts" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Werttyp" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Name dieses Attributs" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Name des Attributs" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribut" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Attribut dieses Wertes" -#: core/models.py:480 +#: core/models.py:504 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:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Zugehöriges Produkt" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "Der spezifische Wert für dieses Attribut" -#: core/models.py:502 +#: core/models.py:526 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:503 +#: core/models.py:527 msgid "image alt text" msgstr "Bild-Alt-Text" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Laden Sie die Bilddatei für dieses Produkt hoch" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Produktbild" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Legt die Reihenfolge fest, in der die Bilder angezeigt werden" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Priorität anzeigen" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "Das Produkt, das dieses Bild darstellt" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Produktbilder" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Prozentualer Rabatt für die ausgewählten Produkte" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Prozentsatz der Ermäßigung" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Geben Sie einen eindeutigen Namen für diese Aktion an" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Name der Aktion" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Wählen Sie aus, welche Produkte in dieser Aktion enthalten sind" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Enthaltene Produkte" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Förderung" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "Der Verkäufer, der dieses Produkt liefert, hat folgende Bestände" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Zugehöriger Anbieter" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Endpreis für den Kunden nach Aufschlägen" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Verkaufspreis" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "Das mit diesem Bestandseintrag verbundene Produkt" -#: core/models.py:598 +#: core/models.py:622 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:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Einkaufspreis des Verkäufers" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Verfügbare Menge des Produkts auf Lager" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Vorrätige Menge" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "Vom Hersteller zugewiesene SKU zur Identifizierung des Produkts" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "SKU des Verkäufers" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" -msgstr "" -"Digitale Datei, die mit diesem Bestand verbunden ist, falls zutreffend" +msgstr "Digitale Datei, die mit diesem Bestand verbunden ist, falls zutreffend" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "Digitale Datei" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Bestandseinträge" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Produkte, die der Benutzer als gewünscht markiert hat" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "Benutzer, dem diese Wunschliste gehört" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Besitzer der Wishlist" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Wunschzettel" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} existiert nicht: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Dokumentarfilm" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Dokumentarfilme" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Ungelöst" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Adresszeile für den Kunden" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Adresszeile" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Straße" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "Bezirk" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "Stadt" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Region" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Postleitzahl" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "Land" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Längengrad, Breitengrad)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Vollständige JSON-Antwort vom Geocoder für diese Adresse" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Gespeicherte JSON-Antwort vom Geokodierungsdienst" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Adresse" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Adressen" -#: core/models.py:767 +#: core/models.py:791 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:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Kennung des Promo-Codes" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "" -"Fester Rabattbetrag, der angewandt wird, wenn kein Prozentsatz verwendet " -"wird" +"Fester Rabattbetrag, der angewandt wird, wenn kein Prozentsatz verwendet wird" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Fester Rabattbetrag" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "Prozentualer Rabatt, wenn der Festbetrag nicht verwendet wird" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Prozentualer Rabatt" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Zeitstempel, wann der Promocode abläuft" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "Ende der Gültigkeitsdauer" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Zeitstempel, ab dem dieser Promocode gültig ist" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Beginn der Gültigkeitsdauer" -#: core/models.py:800 +#: core/models.py:824 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:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Zeitstempel der Verwendung" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "Diesem Promocode zugewiesener Benutzer, falls zutreffend" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Zugewiesener Benutzer" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Promo-Code" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Promo-Codes" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1859,142 +1861,142 @@ msgstr "" "Es sollte nur eine Art von Rabatt definiert werden (Betrag oder " "Prozentsatz), aber nicht beides oder keines von beiden." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "Promocode wurde bereits verwendet" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Ungültiger Rabatttyp für Promocode {self.uuid}" -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "Die für diese Bestellung verwendete Rechnungsadresse" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Optionaler Promo-Code für diese Bestellung" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Angewandter Promo-Code" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "Die für diese Bestellung verwendete Lieferadresse" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Lieferadresse" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Aktueller Status des Auftrags in seinem Lebenszyklus" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Status der Bestellung" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 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:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "JSON-Darstellung der Auftragsattribute für diesen Auftrag" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "Der Benutzer, der die Bestellung aufgegeben hat" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "Benutzer" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "Der Zeitstempel, zu dem der Auftrag abgeschlossen wurde" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Zeit kaufen" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "Ein von Menschen lesbarer Identifikator für den Auftrag" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "menschenlesbare ID" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Bestellung" -#: core/models.py:951 +#: core/models.py:975 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:987 +#: core/models.py:1011 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:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "Sie können keine inaktiven Produkte zur Bestellung hinzufügen" -#: core/models.py:1013 +#: core/models.py:1037 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:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 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:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} existiert nicht mit Abfrage <{query}>" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Promocode existiert nicht" -#: core/models.py:1108 +#: core/models.py:1132 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:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "Adresse ist nicht vorhanden" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Ungültiger Force-Wert" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "Sie können keine leere Bestellung kaufen!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Unzureichende Mittel für die Ausführung des Auftrags" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -2002,124 +2004,123 @@ msgstr "" "Sie können nicht ohne Registrierung kaufen, bitte geben Sie die folgenden " "Informationen an: Kundenname, Kunden-E-Mail, Kunden-Telefonnummer" -#: core/models.py:1218 +#: core/models.py:1242 #, 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:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Einkaufspreis zum Zeitpunkt der Bestellung" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "Interne Kommentare für Administratoren zu diesem bestellten Produkt" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Interne Kommentare" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "Benutzerbenachrichtigungen" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "JSON-Darstellung der Attribute dieses Artikels" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Bestellte Produktattribute" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Verweis auf den übergeordneten Auftrag, der dieses Produkt enthält" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Übergeordneter Auftrag" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "Das spezifische Produkt, das mit dieser Auftragszeile verbunden ist" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Menge dieses spezifischen Produkts in der Bestellung" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Produktmenge" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Aktueller Status dieses Produkts im Auftrag" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Status der Produktlinie" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "falsche Aktion für die Rückmeldung angegeben: {action}" -#: core/models.py:1421 +#: core/models.py:1445 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:1433 +#: core/models.py:1457 msgid "download" msgstr "Herunterladen" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Herunterladen" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "Kommentare der Nutzer über ihre Erfahrungen mit dem Produkt" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Kommentare zum Feedback" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +msgid "references the specific product in an order that this feedback is about" msgstr "" -"Verweist auf das spezifische Produkt in einer Bestellung, auf das sich diese" -" Rückmeldung bezieht" +"Verweist auf das spezifische Produkt in einer Bestellung, auf das sich diese " +"Rückmeldung bezieht" -#: core/models.py:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Produkt zur Bestellung" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "Vom Benutzer zugewiesene Bewertung für das Produkt" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Produktbewertung" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Rückmeldung" @@ -2130,7 +2131,7 @@ msgstr "" "Sie müssen einen Kommentar, eine Bewertung und eine Produktnummer angeben, " "um eine Bewertung abzugeben." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Fehler bei der Erstellung des Promocodes: {e!s}" @@ -2162,7 +2163,8 @@ msgstr "Hallo %(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 "" "Vielen Dank für Ihre Bestellung #%(order.pk)s! Wir freuen uns, Ihnen " @@ -2256,7 +2258,8 @@ msgstr "Schlüssel" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Vielen Dank für Ihre Bestellung! Wir freuen uns, Ihren Kauf zu bestätigen. " @@ -2293,15 +2296,14 @@ msgstr "Sowohl Daten als auch Timeout sind erforderlich" #: core/utils/caching.py:43 msgid "invalid timeout value, it must be between 0 and 216000 seconds" -msgstr "" -"Ungültiger Timeout-Wert, er muss zwischen 0 und 216000 Sekunden liegen" +msgstr "Ungültiger Timeout-Wert, er muss zwischen 0 und 216000 Sekunden liegen" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} muss Modell sein" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} muss ein Listenobjekt sein" @@ -2325,7 +2327,7 @@ msgstr "{config.PROJECT_NAME} | Auftrag ausgeliefert" msgid "you do not have permission to perform this action." msgstr "Sie haben nicht die Erlaubnis, diese Aktion durchzuführen." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "Der Parameter NOMINATIM_URL muss konfiguriert werden!" @@ -2340,11 +2342,11 @@ msgstr "" msgid "invalid phone number format" msgstr "Ungültiges Rufnummernformat" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "Sie können das digitale Asset nur einmal herunterladen" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "Favicon nicht gefunden" @@ -2352,3 +2354,6 @@ msgstr "Favicon nicht gefunden" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Geokodierungsfehler: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes Motor" diff --git a/core/locale/en_GB/LC_MESSAGES/django.mo b/core/locale/en_GB/LC_MESSAGES/django.mo index 10241999457cd00060dc05116bcfac4bcb48d37c..0a1d36b88c706800e6ee481a502c2c3fb9679d2e 100644 GIT binary patch delta 10995 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -31,11 +31,9 @@ msgstr "Is Active" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" -"If set to false, this object can't be seen by users without needed " -"permission" +"If set to false, this object can't be seen by users without needed permission" #: core/abstract.py:22 core/choices.py:18 msgid "created" @@ -63,36 +61,36 @@ msgstr "Activate selected %(verbose_name_plural)s" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Deactivate selected %(verbose_name_plural)s" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Attribute Value" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Attribute Values" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Name" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Image" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Images" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Stock" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Stocks" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -100,31 +98,31 @@ msgstr "Stocks" msgid "price" msgstr "Price" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Rating" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Basic Info" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Important Dates" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Order Product" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Order Products" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Is Business" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Config" @@ -132,10 +130,6 @@ msgstr "Config" msgid "core" msgstr "Core" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes Engine" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Finished" @@ -204,7 +198,7 @@ msgstr "Get application's exposable parameters" msgid "send a message to the support team" msgstr "Send a message to the support team" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Request a CORSed URL. Only https allowed." @@ -245,8 +239,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "Rewrite an existing attribute group saving non-editables" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Rewrite some fields of an existing attribute group saving non-editables" @@ -295,8 +288,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "Rewrite an existing attribute value saving non-editables" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Rewrite some fields of an existing attribute value saving non-editables" @@ -334,11 +326,11 @@ msgstr "For non-staff users, only their own orders are returned." #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -370,13 +362,13 @@ msgstr "Filter by order status (case-insensitive substring match)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -416,7 +408,7 @@ msgstr "" "completed using the user's balance; If `force_payment` is used, a " "transaction is initiated." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "purchase an order without account creation" @@ -542,20 +534,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 @@ -608,10 +610,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 @@ -734,235 +738,235 @@ msgstr "delete an order–product relation" msgid "add or remove feedback on an order–product relation" msgstr "add or remove feedback on an order–product relation" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "No search term provided." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Name" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Categories" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Categories Slugs" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Tags" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Min Price" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Max Price" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Is Active" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Brand" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Attributes" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Quantity" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Slug" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "Is Digital" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Include sub-categories" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "There must be a category_uuid to use include_subcategories flag" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Search (ID, product name or part number)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Bought after (inclusive)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Bought before (inclusive)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "User email" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "User UUID" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Status" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "Human Readable ID" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Parent" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Whole category(has at least 1 product or not)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Level" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "Product UUID" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Key to look for in or set into the cache" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Data to store in cache" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Timeout in seconds to set the data for into the cache" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Cached data" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON data from the requested URL" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Only URLs starting with http(s):// are allowed" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Add a product to the order" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Order {order_uuid} not found" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Remove all products from the order" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Buy an order" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Please provide either order_uuid or order_hr_id - mutually exclusive!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Wrong type came from order.buy() method: {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Perform an action on a list of products in the order" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Remove/Add" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "Action must be either \"add\" or \"remove\"!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Add a product to the order" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Wishlist {wishlist_uuid} not found" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Buy an order" -#: core/graphene/mutations.py:483 +#: 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:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Original address string provided by the user" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} does not exist: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "Limit must be between 1 and 10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - works like a charm" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Attributes" @@ -974,84 +978,83 @@ msgstr "Grouped attributes" msgid "groups of attributes" msgstr "Groups of attributes" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Categories" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Brands" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Categories" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Markup Percentage" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 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:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Minimum and maximum prices for products in this category, if available." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Tags for this category" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Products in this category" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Vendors" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Latitude (Y coordinate)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Longitude (X coordinate)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Comment" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Rating value from 1 to 10, inclusive, or 0 if not set." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Represents feedback from a user." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Notifications" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "Download url for this order product if applicable" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "A list of order products in this order" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Billing address" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1059,47 +1062,47 @@ msgstr "" "Shipping address for this order, leave blank if same as billing address or " "if not applicable" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Total price of this order" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Total quantity of products in order" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Are all of the products in the order digital" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Orders" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "Image URL" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Product's images" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Category" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Feedbacks" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Brand" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Attribute groups" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1107,31 +1110,31 @@ msgstr "Attribute groups" msgid "quantity" msgstr "Quantity" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Number of feedbacks" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Products" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Products on sale" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Promotions" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Vendor" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1139,645 +1142,646 @@ msgstr "Vendor" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Wishlisted products" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Wishlists" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Tagged products" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Product tags" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Tagged categories" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Categories' tags" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Project name" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "Company Email" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Company Name" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Company Address" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Company Phone Number" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "'email from', sometimes it must be used instead of host user value" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "Email host user" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Maximum amount for payment" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Minimum amount for payment" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Analytics data" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Advertisement data" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Configuration" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Language code" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Language name" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Language flag, if exists :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Get a list of supported languages" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Products search results" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Products search results" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Parent of this group" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Parent attribute group" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Attribute group's name" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Attribute group" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Stores credentials and endpoints required for vendor's API communication" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Authentication info" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "Define the markup for products retrieved from this vendor" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Vendor markup percentage" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Name of this vendor" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Vendor name" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Internal tag identifier for the product tag" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Tag name" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "User-friendly name for the product tag" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Tag display name" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Product tag" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "category tag" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "category tags" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Upload an image representing this category" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Category image" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "Define a markup percentage for products in this category" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Parent of this category to form a hierarchical structure" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Parent category" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Category name" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Provide a name for this category" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Add a detailed description for this category" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Category description" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "tags that help describe or group this category" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Brand's priority" + +#: core/models.py:265 msgid "name of this brand" msgstr "Name of this brand" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Brand name" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Upload a logo representing this brand" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Brand small image" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Upload a big logo representing this brand" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Brand big image" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Add a detailed description of the brand" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Brand description" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Optional categories that this brand is associated with" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Categories" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "Brand's slug" -#: core/models.py:296 -msgid "brand priority" -msgstr "Brand's priority" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Category this product belongs to" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Optionally associate this product with a brand" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Tags that help describe or group this product" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Indicates whether this product is digitally delivered" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "Is product digital" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Provide a clear identifying name for the product" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Product name" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Add a detailed description of the product" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Product description" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Part number for this product" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Part number" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Category of this attribute" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Group of this attribute" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "String" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Integer" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Float" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Boolean" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Array" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Object" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Type of the attribute's value" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Value type" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Name of this attribute" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Attribute's name" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribute" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Attribute of this value" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "The specific product associated with this attribute's value" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Associated product" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "The specific value for this attribute" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "Provide alternative text for the image for accessibility" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "Image alt text" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Upload the image file for this product" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Product image" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Determines the order in which images are displayed" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Display priority" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "The product that this image represents" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Product images" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Percentage discount for the selected products" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Discount percentage" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Provide a unique name for this promotion" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Promotion name" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Select which products are included in this promotion" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Included products" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Promotion" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "The vendor supplying this product stock" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Associated vendor" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Final price to the customer after markups" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Selling price" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "The product associated with this stock entry" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "The price paid to the vendor for this product" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Vendor purchase price" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Available quantity of the product in stock" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Quantity in stock" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "Vendor-assigned SKU for identifying the product" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "Vendor's SKU" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "Digital file associated with this stock if applicable" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "Digital file" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Stock entries" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Products that the user has marked as wanted" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "User who owns this wishlist" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Wishlist's Owner" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Wishlist" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} does not exist: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Documentary" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Unresolved" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Address line for the customer" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Address line" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Street" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "District" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "City" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Region" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Postal code" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "Country" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Longitude, Latitude)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Full JSON response from geocoder for this address" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Stored JSON response from the geocoding service" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Address" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Adresses" -#: core/models.py:767 +#: core/models.py:791 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:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "Fixed discount amount applied if percent is not used" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Fixed discount amount" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "Percentage discount applied if fixed amount is not used" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Percentage discount" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Timestamp when the promocode expires" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "End validity time" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Timestamp from which this promocode is valid" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Start validity time" -#: core/models.py:800 +#: core/models.py:824 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:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Usage timestamp" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "User assigned to this promocode if applicable" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Assigned user" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Promo code" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1785,136 +1789,136 @@ msgstr "" "Only one type of discount should be defined (amount or percent), but not " "both or neither." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "Promocode has been used already" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Invalid discount type for promocode {self.uuid}" -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "The billing address used for this order" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Optional promo code applied to this order" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Applied promo code" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "The shipping address used for this order" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Shipping address" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Current status of the order in its lifecycle" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Order status" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 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:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "JSON representation of order attributes for this order" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "The user who placed the order" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "User" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "The timestamp when the order was finalized" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Buy time" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "A human-readable identifier for the order" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "human-readable ID" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Order" -#: core/models.py:951 +#: core/models.py:975 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:987 +#: core/models.py:1011 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:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "You cannot add inactive products to order" -#: core/models.py:1013 +#: core/models.py:1037 msgid "you cannot add more products than available in stock" msgstr "You cannot add more products than available in stock" -#: core/models.py:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 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:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} does not exist with query <{query}>" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Promocode does not exist" -#: core/models.py:1108 +#: core/models.py:1132 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:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "Address does not exist" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Invalid force value" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "You cannot purchase an empty order!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Insufficient funds to complete the order" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1922,117 +1926,116 @@ msgstr "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" -#: core/models.py:1218 +#: core/models.py:1242 #, 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:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Purchase price at order time" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "Internal comments for admins about this ordered product" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Internal comments" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "User notifications" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "JSON representation of this item's attributes" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Ordered product attributes" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Reference to the parent order that contains this product" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Parent order" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "The specific product associated with this order line" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Quantity of this specific product in the order" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Product quantity" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Current status of this product in the order" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Product line status" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "wrong action specified for feedback: {action}" -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "you cannot feedback an order which is not received" -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "Download" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Downloads" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "User-provided comments about their experience with the product" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Feedback comments" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +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:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Related order product" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "User-assigned rating for the product" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Product rating" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Feedback" @@ -2042,7 +2045,7 @@ msgid "" msgstr "" "you must provide a comment, rating, and order product uuid to add feedback." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Error during promocode creation: {e!s}" @@ -2074,11 +2077,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 @@ -2167,11 +2171,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 @@ -2206,12 +2211,12 @@ msgstr "Both data and timeout are required" msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "Invalid timeout value, it must be between 0 and 216000 seconds" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} must be model" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} must be list object" @@ -2235,25 +2240,24 @@ msgstr "{config.PROJECT_NAME} | Order Delivered" msgid "you do not have permission to perform this action." msgstr "You do not have permission to perform this action." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." 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" msgstr "Invalid phone number format" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "You can only download the digital asset once" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "favicon not found" @@ -2261,3 +2265,6 @@ msgstr "favicon not found" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Geocoding error: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes Engine" diff --git a/core/locale/en_US/LC_MESSAGES/django.mo b/core/locale/en_US/LC_MESSAGES/django.mo index 88bece5a7d9a15880a4f2de420a8f0653f38cd7b..762d6245005b8abb3ed03832693398b96b5e7e49 100644 GIT binary patch delta 10982 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -27,11 +27,9 @@ msgstr "Is Active" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" -"If set to false, this object can't be seen by users without needed " -"permission" +"If set to false, this object can't be seen by users without needed permission" #: core/abstract.py:22 core/choices.py:18 msgid "created" @@ -59,36 +57,36 @@ msgstr "Activate selected %(verbose_name_plural)s" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Deactivate selected %(verbose_name_plural)s" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Attribute Value" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Attribute Values" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Name" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Image" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Images" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Stock" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Stocks" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -96,31 +94,31 @@ msgstr "Stocks" msgid "price" msgstr "Price" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Product rating" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Basic Info" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Important dates" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Order Product" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Order Products" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Is Business" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Config" @@ -128,10 +126,6 @@ msgstr "Config" msgid "core" msgstr "Core" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes Engine" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Finished" @@ -200,7 +194,7 @@ msgstr "Get application's exposable parameters" msgid "send a message to the support team" msgstr "Send a message to the support team" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Request a CORSed URL. Only https allowed." @@ -241,8 +235,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "Rewrite an existing attribute group saving non-editables" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Rewrite some fields of an existing attribute group saving non-editables" @@ -291,8 +284,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "Rewrite an existing attribute value saving non-editables" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Rewrite some fields of an existing attribute value saving non-editables" @@ -330,11 +322,11 @@ msgstr "For non-staff users, only their own orders are returned." #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -366,13 +358,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)" @@ -412,7 +404,7 @@ msgstr "" "completed using the user's balance; If `force_payment` is used, a " "transaction is initiated." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "purchase an order without account creation" @@ -538,17 +530,26 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…`\n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`,\n" @@ -604,10 +605,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 @@ -730,235 +733,235 @@ msgstr "delete an order–product relation" msgid "add or remove feedback on an order–product relation" msgstr "add or remove feedback on an order–product relation" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "No search term provided." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Name" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Categories" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Categories Slugs" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Tags" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Min Price" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Max Price" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Is Active" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Brand" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Attributes" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Quantity" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Slug" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "Is Digital" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Include sub-categories" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "There must be a category_uuid to use include_subcategories flag" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Search (ID, product name or part number)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Bought after (inclusive)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Bought before (inclusive)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "User email" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "User UUID" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Status" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "Human Readable ID" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Parent" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Whole category(has at least 1 product or not)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Level" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "Product UUID" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Key to look for in or set into the cache" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Data to store in cache" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Timeout in seconds to set the data for into the cache" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Cached data" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON data from the requested URL" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Only URLs starting with http(s):// are allowed" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Add a product to the order" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Order {order_uuid} not found" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Remove all products from the order" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Buy an order" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Please provide either order_uuid or order_hr_id - mutually exclusive!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Wrong type came from order.buy() method: {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Perform an action on a list of products in the order" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Remove/Add" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "Action must be either \"add\" or \"remove\"!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Add a product to the order" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Wishlist {wishlist_uuid} not found" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Buy an order" -#: core/graphene/mutations.py:483 +#: 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:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Original address string provided by the user" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} does not exist: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "Limit must be between 1 and 10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - works like a charm" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Attributes" @@ -970,84 +973,83 @@ msgstr "Grouped attributes" msgid "groups of attributes" msgstr "Groups of attributes" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Categories" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Brands" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Categories" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Markup Percentage" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 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:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Minimum and maximum prices for products in this category, if available." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Tags for this category" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Products in this category" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Vendors" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Latitude (Y coordinate)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Longitude (X coordinate)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "How to" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Rating value from 1 to 10, inclusive, or 0 if not set." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Represents feedback from a user." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Notifications" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "Download url for this order product if applicable" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "A list of order products in this order" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Billing address" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1055,47 +1057,47 @@ msgstr "" "Shipping address for this order, leave blank if same as billing address or " "if not applicable" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Total price of this order" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Total quantity of products in order" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Are all of the products in the order digital" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Orders" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "Image URL" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Product's images" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Category" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Feedbacks" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Brand" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Attribute groups" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1103,31 +1105,31 @@ msgstr "Attribute groups" msgid "quantity" msgstr "Quantity" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Number of feedbacks" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Products" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Products on sale" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Promotions" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Vendor" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1135,645 +1137,646 @@ msgstr "Vendor" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Wishlisted products" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Wishlists" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Tagged products" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Product tags" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Tagged categories" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Categories' tags" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Project name" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "Company Email" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Company Name" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Company Address" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Company Phone Number" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "'email from', sometimes it must be used instead of host user value" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "Email host user" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Maximum amount for payment" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Minimum amount for payment" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Analytics data" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Advertisement data" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Configuration" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Language code" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Language name" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Language flag, if exists :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Get a list of supported languages" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Products search results" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Products search results" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Parent of this group" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Parent attribute group" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Attribute group's name" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Attribute group" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Stores credentials and endpoints required for vendor's API communication" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Authentication info" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "Define the markup for products retrieved from this vendor" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Vendor markup percentage" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Name of this vendor" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Vendor name" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Internal tag identifier for the product tag" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Tag name" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "User-friendly name for the product tag" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Tag display name" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Product tag" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "category tag" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "category tags" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Upload an image representing this category" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Category image" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "Define a markup percentage for products in this category" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Parent of this category to form a hierarchical structure" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Parent category" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Category name" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Provide a name for this category" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Add a detailed description for this category" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Category description" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "tags that help describe or group this category" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Brand's priority" + +#: core/models.py:265 msgid "name of this brand" msgstr "Name of this brand" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Brand name" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Upload a logo representing this brand" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Brand small image" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Upload a big logo representing this brand" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Brand big image" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Add a detailed description of the brand" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Brand description" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Optional categories that this brand is associated with" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Categories" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "Brand's slug" -#: core/models.py:296 -msgid "brand priority" -msgstr "Brand's priority" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Category this product belongs to" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Optionally associate this product with a brand" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Tags that help describe or group this product" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Indicates whether this product is digitally delivered" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "Is product digital" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Provide a clear identifying name for the product" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Product name" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Add a detailed description of the product" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Product description" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Part number for this product" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Part number" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Category of this attribute" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Group of this attribute" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "String" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Integer" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Float" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Boolean" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Array" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Object" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Type of the attribute's value" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Value type" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Name of this attribute" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Attribute's name" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribute" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Attribute of this value" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "The specific product associated with this attribute's value" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Associated product" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "The specific value for this attribute" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "Provide alternative text for the image for accessibility" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "Image alt text" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Upload the image file for this product" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Product image" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Determines the order in which images are displayed" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Display priority" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "The product that this image represents" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Product images" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Percentage discount for the selected products" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Discount percentage" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Provide a unique name for this promotion" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Promotion name" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Select which products are included in this promotion" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Included products" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Promotion" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "The vendor supplying this product stock" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Associated vendor" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Final price to the customer after markups" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Selling price" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "The product associated with this stock entry" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "The price paid to the vendor for this product" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Vendor purchase price" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Available quantity of the product in stock" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Quantity in stock" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "Vendor-assigned SKU for identifying the product" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "Vendor's SKU" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "Digital file associated with this stock if applicable" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "Digital file" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Stock entries" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Products that the user has marked as wanted" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "User who owns this wishlist" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Wishlist's Owner" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Wishlist" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} does not exist: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Documentary" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Unresolved" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Address line for the customer" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Address line" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Street" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "District" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "City" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Region" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Postal code" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "Country" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Longitude, Latitude)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Full JSON response from geocoder for this address" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Stored JSON response from the geocoding service" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Address" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Adresses" -#: core/models.py:767 +#: core/models.py:791 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:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "Fixed discount amount applied if percent is not used" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Fixed discount amount" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "Percentage discount applied if fixed amount is not used" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Percentage discount" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Timestamp when the promocode expires" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "End validity time" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Timestamp from which this promocode is valid" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Start validity time" -#: core/models.py:800 +#: core/models.py:824 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:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Usage timestamp" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "User assigned to this promocode if applicable" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Assigned user" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Promo code" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1781,136 +1784,136 @@ msgstr "" "Only one type of discount should be defined (amount or percent), but not " "both or neither." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "Promocode has been used already" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Invalid discount type for promocode {self.uuid}" -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "The billing address used for this order" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Optional promo code applied to this order" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Applied promo code" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "The shipping address used for this order" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Shipping address" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Current status of the order in its lifecycle" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Order status" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 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:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "JSON representation of order attributes for this order" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "The user who placed the order" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "User" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "The timestamp when the order was finalized" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Buy time" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "A human-readable identifier for the order" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "human-readable ID" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Order" -#: core/models.py:951 +#: core/models.py:975 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:987 +#: core/models.py:1011 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:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "You cannot add inactive products to order" -#: core/models.py:1013 +#: core/models.py:1037 msgid "you cannot add more products than available in stock" msgstr "You cannot add more products than available in stock" -#: core/models.py:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 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:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} does not exist with query <{query}>" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Promocode does not exist" -#: core/models.py:1108 +#: core/models.py:1132 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:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "Address does not exist" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Invalid force value" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "You cannot purchase an empty order!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Insufficient funds to complete the order" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1918,117 +1921,116 @@ msgstr "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" -#: core/models.py:1218 +#: core/models.py:1242 #, 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:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Purchase price at order time" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "Internal comments for admins about this ordered product" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Internal comments" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "User notifications" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "JSON representation of this item's attributes" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Ordered product attributes" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Reference to the parent order that contains this product" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Parent order" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "The specific product associated with this order line" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Quantity of this specific product in the order" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Product quantity" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Current status of this product in the order" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Product line status" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "wrong action specified for feedback: {action}" -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "you cannot feedback an order which is not received" -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "Download" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Downloads" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "User-provided comments about their experience with the product" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Feedback comments" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +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:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Related order product" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "User-assigned rating for the product" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Product rating" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Feedback" @@ -2038,7 +2040,7 @@ msgid "" msgstr "" "you must provide a comment, rating, and order product uuid to add feedback." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Error during promocode creation: {e!s}" @@ -2070,11 +2072,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 @@ -2163,11 +2166,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 @@ -2202,12 +2206,12 @@ msgstr "Both data and timeout are required" msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "Invalid timeout value, it must be between 0 and 216000 seconds" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} must be model" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} must be list object" @@ -2231,25 +2235,24 @@ msgstr "{config.PROJECT_NAME} | Order Delivered" msgid "you do not have permission to perform this action." msgstr "You do not have permission to perform this action." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." 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" msgstr "Invalid phone number format" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "You can only download the digital asset once" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "favicon not found" @@ -2257,3 +2260,6 @@ msgstr "favicon not found" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Geocoding error: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes Engine" diff --git a/core/locale/es_ES/LC_MESSAGES/django.mo b/core/locale/es_ES/LC_MESSAGES/django.mo index 2107fecf6c7a177ae70a8e335ba8e7a0f98d5012..a00351e4963188b23969290dfdaa8a5ea0d8d102 100644 GIT binary patch delta 10977 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 delta 11091 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 diff --git a/core/locale/es_ES/LC_MESSAGES/django.po b/core/locale/es_ES/LC_MESSAGES/django.po index 2fb7e2ed..bf900755 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-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Está activo" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Si se establece en false, este objeto no puede ser visto por los usuarios " "sin el permiso necesario" @@ -61,36 +60,36 @@ msgstr "Activar %(verbose_name_plural)s seleccionados" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Desactivar %(verbose_name_plural)s seleccionados" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Atributo Valor" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Valores de los atributos" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Nombre" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Imagen" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Imágenes" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Stock" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Acciones" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -98,31 +97,31 @@ msgstr "Acciones" msgid "price" msgstr "Precio" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Valoración del producto" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Información básica" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Fechas importantes" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Pedir un producto" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Pedir productos" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Es Negocio" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Configurar" @@ -130,10 +129,6 @@ msgstr "Configurar" msgid "core" msgstr "Núcleo" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "Motor eVibes" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Terminado" @@ -188,7 +183,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Aplicar sólo una clave para leer datos permitidos de la caché.\n" -"Aplicar clave, datos y tiempo de espera con autenticación para escribir datos en la caché." +"Aplicar clave, datos y tiempo de espera con autenticación para escribir " +"datos en la caché." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -202,7 +198,7 @@ msgstr "Obtener los parámetros exponibles de la aplicación" msgid "send a message to the support team" msgstr "Enviar un mensaje al equipo de asistencia" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Solicitar una URL CORSed. Solo se permite https." @@ -220,8 +216,8 @@ msgid "" "purchase an order as a business, using the provided `products` with " "`product_uuid` and `attributes`." msgstr "" -"Compra un pedido como empresa, utilizando los `productos` proporcionados con" -" `product_uuid` y `attributes`." +"Compra un pedido como empresa, utilizando los `productos` proporcionados con " +"`product_uuid` y `attributes`." #: core/docs/drf/viewsets.py:43 msgid "list all attribute groups (simple view)" @@ -244,8 +240,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "Reescribir un grupo de atributos existente guardando los no editables" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Reescribir algunos campos de un grupo de atributos existente guardando los " "no editables" @@ -273,8 +268,7 @@ msgstr "Reescribir un atributo existente guardando los no editables" #: core/docs/drf/viewsets.py:90 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" -"Reescribir algunos campos de un atributo existente guardando los no " -"editables" +"Reescribir algunos campos de un atributo existente guardando los no editables" #: core/docs/drf/viewsets.py:97 msgid "list all attribute values (simple view)" @@ -297,11 +291,10 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "Reescribir un valor de atributo existente guardando los no editables" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" -"Reescribir algunos campos de un valor de atributo existente guardando los no" -" editables" +"Reescribir algunos campos de un valor de atributo existente guardando los no " +"editables" #: core/docs/drf/viewsets.py:124 msgid "list all categories (simple view)" @@ -341,12 +334,12 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Búsqueda de subcadenas sin distinción entre mayúsculas y minúsculas en " -"human_readable_id, order_products.product.name y " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name y order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -367,8 +360,8 @@ msgstr "Filtrar por ID de pedido exacto legible por el ser humano" #: core/docs/drf/viewsets.py:185 msgid "Filter by user's email (case-insensitive exact match)" msgstr "" -"Filtrar por correo electrónico del usuario (coincidencia exacta insensible a" -" mayúsculas y minúsculas)" +"Filtrar por correo electrónico del usuario (coincidencia exacta insensible a " +"mayúsculas y minúsculas)" #: core/docs/drf/viewsets.py:190 msgid "Filter by user's UUID" @@ -382,9 +375,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Ordenar por: uuid, human_readable_id, user_email, user, status, created, " "modified, buy_time, random. Utilice el prefijo '-' para orden descendente " @@ -430,7 +423,7 @@ msgstr "" "finaliza utilizando el saldo del usuario; Si se utiliza `force_payment`, se " "inicia una transacción." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "comprar un pedido sin crear una cuenta" @@ -519,8 +512,7 @@ msgstr "Reescribir un atributo existente guardando los no editables" #: core/docs/drf/viewsets.py:303 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" -"Reescribir algunos campos de un atributo existente guardando los no " -"editables" +"Reescribir algunos campos de un atributo existente guardando los no editables" #: core/docs/drf/viewsets.py:307 msgid "add product to wishlist" @@ -567,20 +559,31 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrar por uno o varios pares nombre/valor de atributo. \n" "- Sintaxis**: `nombre_attr=método-valor[;attr2=método2-valor2]...`.\n" -"- Métodos** (por defecto `icontiene` si se omite): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- Tipificación de valores**: Se intenta primero JSON (para poder pasar listas/dictos), `true`/`false` para booleanos, enteros, flotantes; en caso contrario se trata como cadena. \n" -"- Base64**: prefiérelo con `b64-` para codificar en base64 el valor sin procesar. \n" +"- Métodos** (por defecto `icontiene` si se omite): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" +"- Tipificación de valores**: Se intenta primero JSON (para poder pasar " +"listas/dictos), `true`/`false` para booleanos, enteros, flotantes; en caso " +"contrario se trata como cadena. \n" +"- Base64**: prefiérelo con `b64-` para codificar en base64 el valor sin " +"procesar. \n" "Ejemplos: \n" -"`color=rojo exacto`, `tamaño=gt-10`, `características=en-[\"wifi\", \"bluetooth\"]`,\n" +"`color=rojo exacto`, `tamaño=gt-10`, `características=en-[\"wifi\", " +"\"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`." #: core/docs/drf/viewsets.py:349 @@ -635,10 +638,12 @@ msgstr "(exacto) Digital frente a físico" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Lista separada por comas de campos por los que ordenar. Prefiérela con `-` para que sea descendente. \n" +"Lista separada por comas de campos por los que ordenar. Prefiérela con `-` " +"para que sea descendente. \n" "**Permitido:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -766,237 +771,235 @@ msgstr "suprimir una relación pedido-producto" msgid "add or remove feedback on an order–product relation" msgstr "añadir o eliminar comentarios en una relación pedido-producto" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "No se proporciona ningún término de búsqueda." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Nombre" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Categorías" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Categorías Babosas" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Etiquetas" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Precio mínimo" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Precio máximo" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Está activo" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Marca" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Atributos" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Cantidad" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Babosa" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "Es Digital" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Incluir subcategorías" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" -msgstr "" -"Debe haber un category_uuid para usar la bandera include_subcategories" +msgstr "Debe haber un category_uuid para usar la bandera include_subcategories" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Búsqueda (ID, nombre del producto o número de pieza)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Comprado después (inclusive)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Comprado antes (inclusive)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "Correo electrónico del usuario" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "UUID de usuario" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Estado" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "Identificación legible" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Padres" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Toda la categoría (tenga o no al menos 1 producto)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Nivel" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "UUID del producto" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Clave que hay que buscar o introducir en la caché" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Datos a almacenar en caché" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Tiempo de espera en segundos para poner los datos en la caché" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Datos en caché" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Datos JSON camelizados de la URL solicitada" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Sólo se permiten URL que empiecen por http(s)://." -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Añadir un producto al pedido" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Pedido {order_uuid} no encontrado" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Eliminar un producto del pedido" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Eliminar todos los productos del pedido" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Comprar un pedido" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Indique order_uuid o order_hr_id, ¡se excluyen mutuamente!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" -msgstr "" -"Tipo incorrecto proveniente del método order.buy(): {type(instance)!s}" +msgstr "Tipo incorrecto proveniente del método order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Realizar una acción en una lista de productos del pedido" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Quitar/Agregar" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "La acción debe ser \"añadir\" o \"eliminar\"." -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Añadir un producto al pedido" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Lista de deseos {wishlist_uuid} no encontrada" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Eliminar un producto del pedido" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Eliminar un producto del pedido" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Eliminar un producto del pedido" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Comprar un pedido" -#: core/graphene/mutations.py:483 +#: 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 "" -"Por favor, envíe los atributos como una cadena formateada como " -"attr1=valor1,attr2=valor2" +"Por favor, envíe los atributos como una cadena formateada como attr1=valor1," +"attr2=valor2" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Cadena de dirección original proporcionada por el usuario" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} no existe: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "El límite debe estar entre 1 y 10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funciona a las mil maravillas" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Atributos" @@ -1008,88 +1011,86 @@ msgstr "Atributos agrupados" msgid "groups of attributes" msgstr "Grupos de atributos" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Categorías" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Marcas" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Categorías" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Porcentaje de recargo" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" "Qué atributos y valores se pueden utilizar para filtrar esta categoría." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Precios mínimo y máximo de los productos de esta categoría, si están " "disponibles." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Etiquetas para esta categoría" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Productos de esta categoría" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Vendedores" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Latitud (coordenada Y)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Longitud (coordenada X)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Cómo" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" -"Valor de calificación de 1 a 10, ambos inclusive, o 0 si no está " -"configurado." +"Valor de calificación de 1 a 10, ambos inclusive, o 0 si no está configurado." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Representa la opinión de un usuario." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Notificaciones" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "Descargar url para este producto de pedido si procede" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "Una lista de los productos del pedido" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Dirección de facturación" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1097,47 +1098,47 @@ msgstr "" "Dirección de envío para este pedido, dejar en blanco si es la misma que la " "de facturación o si no procede" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Precio total de este pedido" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Cantidad total de productos del pedido" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "¿Están todos los productos en el pedido digital" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Pedidos" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "URL de la imagen" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Imágenes del producto" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Categoría" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Comentarios" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Marca" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Grupos de atributos" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1145,31 +1146,31 @@ msgstr "Grupos de atributos" msgid "quantity" msgstr "Cantidad" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Número de reacciones" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Productos" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Códigos promocionales" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Productos a la venta" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Promociones" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Vendedor" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: 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,651 +1178,652 @@ msgstr "Vendedor" msgid "product" msgstr "Producto" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Productos deseados" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Listas de deseos" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Productos con etiqueta" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Etiquetas del producto" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Categorías" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Etiquetas de las categorías" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Nombre del proyecto" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "Correo electrónico de la empresa" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Nombre de la empresa" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Dirección de la empresa" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Teléfono de la empresa" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', a veces debe utilizarse en lugar del valor del usuario host" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "Correo electrónico del usuario anfitrión" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Importe máximo de pago" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Importe mínimo de pago" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Datos analíticos" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Datos publicitarios" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Configuración" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Código de idioma" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Nombre de la lengua" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Bandera de idioma, si existe :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Obtener una lista de los idiomas admitidos" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Resultados de la búsqueda de productos" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Resultados de la búsqueda de productos" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Padre de este grupo" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Grupo de atributos padre" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Nombre del grupo de atributos" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Grupo de atributos" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Almacena las credenciales y los puntos finales necesarios para la " "comunicación API del proveedor" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Información de autenticación" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "" "Definir el margen de beneficio para los productos recuperados de este " "proveedor" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Porcentaje de margen del vendedor" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Nombre de este vendedor" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Nombre del vendedor" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Identificador interno de la etiqueta del producto" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Nombre de la etiqueta" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "Nombre fácil de usar para la etiqueta del producto" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Nombre de la etiqueta" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Etiqueta del producto" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "etiqueta de categoría" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "etiquetas de categoría" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Cargar una imagen que represente esta categoría" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Categoría imagen" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "Definir un porcentaje de recargo para los productos de esta categoría" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Padre de esta categoría para formar una estructura jerárquica" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Categoría de padres" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Nombre de la categoría" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Indique un nombre para esta categoría" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Añadir una descripción detallada para esta categoría" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Descripción de la categoría" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "etiquetas que ayudan a describir o agrupar esta categoría" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "La prioridad de la marca" + +#: core/models.py:265 msgid "name of this brand" msgstr "Nombre de esta marca" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Marca" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Cargar un logotipo que represente a esta marca" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Marca pequeña imagen" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Sube un logotipo grande que represente a esta marca" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Gran imagen de marca" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Añadir una descripción detallada de la marca" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Descripción de la marca" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Categorías opcionales a las que se asocia esta marca" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Categorías" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "La babosa de Brand" -#: core/models.py:296 -msgid "brand priority" -msgstr "La prioridad de la marca" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Categoría a la que pertenece este producto" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Si lo desea, puede asociar este producto a una marca" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Etiquetas que ayudan a describir o agrupar este producto" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Indica si este producto se entrega digitalmente" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "¿Es digital el producto?" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Proporcionar un nombre que identifique claramente el producto" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Nombre del producto" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Añada una descripción detallada del producto" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Descripción del producto" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Número de pieza de este producto" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Número de pieza" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Categoría de este atributo" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Grupo de este atributo" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "Cadena" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Entero" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Flotador" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Booleano" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Matriz" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Objeto" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Tipo del valor del atributo" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Tipo de valor" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Nombre de este atributo" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Nombre del atributo" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Atributo" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Atributo de este valor" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "El producto específico asociado al valor de este atributo" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Producto asociado" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "El valor específico de este atributo" -#: core/models.py:502 +#: core/models.py:526 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:503 +#: core/models.py:527 msgid "image alt text" msgstr "Texto alternativo de la imagen" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Cargar el archivo de imagen para este producto" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Imagen del producto" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Determina el orden de visualización de las imágenes" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Prioridad de visualización" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "El producto que representa esta imagen" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Imágenes de productos" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Porcentaje de descuento para los productos seleccionados" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Porcentaje de descuento" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Proporcione un nombre único para esta promoción" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Nombre de la promoción" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Descripción de la promoción" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Seleccione los productos incluidos en esta promoción" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Productos incluidos" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Promoción" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "El vendedor que suministra este producto dispone de" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Proveedor asociado" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Precio final al cliente después de márgenes" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Precio de venta" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "El producto asociado a esta entrada en stock" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "El precio pagado al vendedor por este producto" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Precio de compra al vendedor" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Cantidad disponible del producto en stock" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Cantidad en stock" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU asignada por el proveedor para identificar el producto" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "SKU del vendedor" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "Archivo digital asociado a esta acción, si procede" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "Archivo digital" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Entradas en existencias" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Productos que el usuario ha marcado como deseados" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "Usuario propietario de esta lista de deseos" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Propietario de Wishlist" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Lista de deseos" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} no existe: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Documental" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Sin resolver" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Dirección del cliente" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Dirección" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Calle" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "Distrito" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "Ciudad" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Región" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Promo code" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "País" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocalización Punto(Longitud, Latitud)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Respuesta JSON completa del geocodificador para esta dirección" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Respuesta JSON almacenada del servicio de geocodificación" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Dirección" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Direcciones" -#: core/models.py:767 +#: core/models.py:791 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:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:775 +#: core/models.py:799 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:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Importe fijo del descuento" -#: core/models.py:782 +#: core/models.py:806 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:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Porcentaje de descuento" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Fecha de caducidad del promocode" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "Hora de fin de validez" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Fecha a partir de la cual es válido este promocode" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Hora de inicio de validez" -#: core/models.py:800 +#: core/models.py:824 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:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Marca de tiempo de uso" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "Usuario asignado a este promocode si procede" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Usuario asignado" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Promo code" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1829,138 +1831,138 @@ msgstr "" "Sólo debe definirse un tipo de descuento (importe o porcentaje), pero no " "ambos ni ninguno." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "El código promocional ya ha sido utilizado" -#: core/models.py:856 +#: core/models.py:880 #, 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:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "La dirección de facturación utilizada para este pedido" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Código promocional opcional aplicado a este pedido" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Código promocional aplicado" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "La dirección de envío utilizada para este pedido" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Dirección de envío" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Estado actual del pedido en su ciclo de vida" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Estado del pedido" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 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:908 +#: core/models.py:932 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:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "El usuario que realizó el pedido" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "Usuario" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "Fecha de finalización de la orden" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Comprar tiempo" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "Un identificador legible por el ser humano para la orden" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "ID legible por humanos" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Pida" -#: core/models.py:951 +#: core/models.py:975 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:987 +#: core/models.py:1011 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:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "No se pueden añadir productos inactivos al pedido" -#: core/models.py:1013 +#: core/models.py:1037 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:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 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:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} no existe con la consulta <{query}>" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Promocode no existe" -#: core/models.py:1108 +#: core/models.py:1132 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:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "La dirección no existe" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Valor de fuerza no válido" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "No se puede comprar un pedido vacío." -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Fondos insuficientes para completar el pedido" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1968,120 +1970,119 @@ 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:1218 +#: core/models.py:1242 #, 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:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Precio de compra en el momento del pedido" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "" "Comentarios internos para los administradores sobre este producto solicitado" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Comentarios internos" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "Notificaciones a los usuarios" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "Representación JSON de los atributos de este elemento" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Atributos ordenados del producto" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Referencia al pedido principal que contiene este producto" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Orden de los padres" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "El producto específico asociado a esta línea de pedido" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Cantidad de este producto específico en el pedido" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Cantidad de productos" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Estado actual de este producto en el pedido" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Estado de la línea de productos" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "acción incorrecta especificada para la retroalimentación: {action}" -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "no se puede comentar un pedido no recibido" -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "Descargar" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Descargas" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "Comentarios de los usuarios sobre su experiencia con el producto" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Comentarios" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +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:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Producto relacionado con el pedido" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "Valoración del producto asignada por el usuario" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Valoración del producto" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Comentarios" @@ -2092,7 +2093,7 @@ msgstr "" "debe proporcionar un comentario, una valoración y el uuid del producto " "solicitado para añadir comentarios." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Error durante la creación del promocode: {e!s}" @@ -2124,7 +2125,8 @@ msgstr "Hola %(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 "" "¡Gracias por su pedido #%(order.pk)s! Nos complace informarle de que hemos " @@ -2217,7 +2219,8 @@ msgstr "Clave" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Gracias por su pedido. Nos complace confirmarle su compra. A continuación " @@ -2257,12 +2260,12 @@ msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "" "Valor de tiempo de espera no válido, debe estar entre 0 y 216000 segundos." -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} debe ser modelo" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} debe ser un objeto de lista" @@ -2286,7 +2289,7 @@ msgstr "{config.PROJECT_NAME} | Pedido entregado" msgid "you do not have permission to perform this action." msgstr "No tiene permiso para realizar esta acción." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "El parámetro NOMINATIM_URL debe estar configurado." @@ -2301,11 +2304,11 @@ msgstr "" msgid "invalid phone number format" msgstr "Formato de número de teléfono no válido" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "Sólo puede descargar el activo digital una vez" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "favicon no encontrado" @@ -2313,3 +2316,6 @@ msgstr "favicon no encontrado" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Error de geocodificación: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "Motor eVibes" diff --git a/core/locale/fr_FR/LC_MESSAGES/django.mo b/core/locale/fr_FR/LC_MESSAGES/django.mo index 17a7fdb3d8c8dd457ed95cae8904599815549916..8f8c4849f0067ebf51257bea15d4752c0f9820c5 100644 GIT binary patch delta 10977 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 delta 11090 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 diff --git a/core/locale/fr_FR/LC_MESSAGES/django.po b/core/locale/fr_FR/LC_MESSAGES/django.po index b21b2a56..1d27f911 100644 --- a/core/locale/fr_FR/LC_MESSAGES/django.po +++ b/core/locale/fr_FR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Est actif" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Si la valeur est fixée à false, cet objet ne peut pas être vu par les " "utilisateurs qui n'ont pas l'autorisation nécessaire." @@ -61,36 +60,36 @@ msgstr "Activer les %(verbose_name_plural)s sélectionnés" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Désactiver les %(verbose_name_plural)s sélectionnés" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Valeur de l'attribut" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Valeurs des attributs" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Nom" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Image" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Images" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Stock" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Stocks" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -98,31 +97,31 @@ msgstr "Stocks" msgid "price" msgstr "Prix" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Evaluation du produit" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Informations de base" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Important Dates" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Commander un produit" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Commander des produits" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Est l'entreprise" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Config" @@ -130,10 +129,6 @@ msgstr "Config" msgid "core" msgstr "Cœur de métier" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "Moteur eVibes" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Fini" @@ -187,8 +182,10 @@ msgid "" "apply only a key to read permitted data from cache.\n" "apply key, data and timeout with authentication to write data to cache." msgstr "" -"Appliquer uniquement une clé pour lire les données autorisées dans la mémoire cache.\n" -"Appliquer une clé, des données et un délai d'attente avec authentification pour écrire des données dans la mémoire cache." +"Appliquer uniquement une clé pour lire les données autorisées dans la " +"mémoire cache.\n" +"Appliquer une clé, des données et un délai d'attente avec authentification " +"pour écrire des données dans la mémoire cache." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -202,7 +199,7 @@ msgstr "Obtenir les paramètres exposables de l'application" msgid "send a message to the support team" msgstr "Envoyer un message à l'équipe d'assistance" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Demander une URL CORSée. Seul https est autorisé." @@ -246,8 +243,7 @@ msgstr "" "modifiables" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Réécrire certains champs d'un groupe d'attributs existant en sauvegardant " "les non-éditables" @@ -276,8 +272,8 @@ msgstr "" #: core/docs/drf/viewsets.py:90 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" -"Réécrire certains champs d'un attribut existant en sauvegardant les éléments" -" non modifiables" +"Réécrire certains champs d'un attribut existant en sauvegardant les éléments " +"non modifiables" #: core/docs/drf/viewsets.py:97 msgid "list all attribute values (simple view)" @@ -302,8 +298,7 @@ msgstr "" "modifiables" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Réécrire certains champs d'une valeur d'attribut existante en sauvegardant " "les éléments non modifiables" @@ -346,11 +341,11 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Recherche insensible à la casse dans human_readable_id, " -"order_products.product.name, et order_products.product.partnumber" +"Recherche insensible à la casse dans human_readable_id, order_products." +"product.name, et order_products.product.partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -386,13 +381,13 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Ordonner par l'un des éléments suivants : uuid, human_readable_id, " -"user_email, user, status, created, modified, buy_time, random. Préfixer avec" -" '-' pour l'ordre décroissant (par exemple '-buy_time')." +"user_email, user, status, created, modified, buy_time, random. Préfixer avec " +"'-' pour l'ordre décroissant (par exemple '-buy_time')." #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -430,11 +425,11 @@ msgid "" "completed using the user's balance; if `force_payment` is used, a " "transaction is initiated." msgstr "" -"Finalise l'achat de la commande. Si `force_balance` est utilisé, l'achat est" -" complété en utilisant le solde de l'utilisateur ; Si `force_payment` est " +"Finalise l'achat de la commande. Si `force_balance` est utilisé, l'achat est " +"complété en utilisant le solde de l'utilisateur ; Si `force_payment` est " "utilisé, une transaction est initiée." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "acheter une commande sans créer de compte" @@ -491,8 +486,8 @@ msgid "" "removes a list of products from an order using the provided `product_uuid` " "and `attributes`" msgstr "" -"Supprime une liste de produits d'une commande en utilisant le `product_uuid`" -" et les `attributs` fournis." +"Supprime une liste de produits d'une commande en utilisant le `product_uuid` " +"et les `attributs` fournis." #: core/docs/drf/viewsets.py:281 msgid "list all wishlists (simple view)" @@ -528,8 +523,8 @@ msgstr "" #: core/docs/drf/viewsets.py:303 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" -"Réécrire certains champs d'un attribut existant en sauvegardant les éléments" -" non modifiables" +"Réécrire certains champs d'un attribut existant en sauvegardant les éléments " +"non modifiables" #: core/docs/drf/viewsets.py:307 msgid "add product to wishlist" @@ -576,18 +571,29 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtre sur une ou plusieurs paires nom/valeur d'attribut. \n" "- **Syntaxe** : `nom_attr=méthode-valeur[;attr2=méthode2-valeur2]...`\n" -"- **Méthodes** (la valeur par défaut est `icontains` si elle est omise) : `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- **Type de valeur** : JSON est essayé en premier (pour que vous puissiez passer des listes/dicts), `true`/`false` pour les booléens, les entiers, les flottants ; sinon traité comme une chaîne de caractères. \n" -"- **Base64** : préfixe avec `b64-` pour encoder la valeur brute en base64 de manière sûre pour l'URL. \n" +"- **Méthodes** (la valeur par défaut est `icontains` si elle est omise) : " +"`iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, " +"`istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, " +"`gt`, `gte`, `in`\n" +"- **Type de valeur** : JSON est essayé en premier (pour que vous puissiez " +"passer des listes/dicts), `true`/`false` pour les booléens, les entiers, les " +"flottants ; sinon traité comme une chaîne de caractères. \n" +"- **Base64** : préfixe avec `b64-` pour encoder la valeur brute en base64 de " +"manière sûre pour l'URL. \n" "Exemples : \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -642,10 +648,12 @@ msgstr "(exact) Numérique ou physique" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Liste de champs séparés par des virgules à trier. Préfixer avec `-` pour un tri descendant. \n" +"Liste de champs séparés par des virgules à trier. Préfixer avec `-` pour un " +"tri descendant. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -776,240 +784,240 @@ msgstr "" "ajouter ou supprimer un retour d'information sur une relation commande-" "produit" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "Aucun terme de recherche n'est fourni." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Nom" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Catégories" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Catégories Limaces" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Tags" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Prix minimum" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Prix maximum" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Est actif" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Marque" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Attributs" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Quantité" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Limace" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "Is Digital" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Inclure des sous-catégories" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" "Il doit y avoir un category_uuid pour utiliser le drapeau " "include_subcategories" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Recherche (ID, nom du produit ou numéro de pièce)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Acheté après (inclus)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Acheté avant (inclus)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "Courriel de l'utilisateur" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "UUID de l'utilisateur" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Statut" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "ID lisible par l'homme" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Parent" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Catégorie entière (avec au moins 1 produit ou non)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Niveau" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "UUID du produit" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Clé à rechercher ou à insérer dans la cache" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Données à stocker dans la mémoire cache" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Délai d'attente en secondes pour placer les données dans le cache" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Données mises en cache" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Données JSON camélisées provenant de l'URL demandée" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Seuls les URL commençant par http(s):// sont autorisés." -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Ajouter un produit à la commande" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "L'ordre {order_uuid} n'a pas été trouvé" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Supprimer un produit de la commande" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Supprimer tous les produits de la commande" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Acheter une commande" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" "Veuillez fournir soit order_uuid, soit order_hr_id - les deux s'excluent " "mutuellement !" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "" "Le mauvais type provient de la méthode order.buy() : {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Effectuer une action sur une liste de produits dans la commande" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Supprimer/Ajouter" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "L'action doit être soit \"ajouter\", soit \"supprimer\" !" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Ajouter un produit à la commande" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Wishlist {wishlist_uuid} introuvable" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Supprimer un produit de la commande" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Supprimer un produit de la commande" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Supprimer un produit de la commande" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Acheter une commande" -#: core/graphene/mutations.py:483 +#: 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 "" "Veuillez envoyer les attributs sous la forme d'une chaîne formatée comme " "attr1=valeur1,attr2=valeur2." -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Chaîne d'adresse originale fournie par l'utilisateur" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} n'existe pas : {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "La limite doit être comprise entre 1 et 10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - fonctionne comme un charme" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Attributs" @@ -1021,135 +1029,134 @@ msgstr "Attributs groupés" msgid "groups of attributes" msgstr "Groupes d'attributs" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Catégories" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Marques" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Catégories" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Markup Percentage" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" "Quels attributs et valeurs peuvent être utilisés pour filtrer cette " "catégorie." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Prix minimum et maximum pour les produits de cette catégorie, s'ils sont " "disponibles." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Tags pour cette catégorie" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Produits dans cette catégorie" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Vendeurs" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Latitude (coordonnée Y)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Longitude (coordonnée X)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Comment" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Valeur d'évaluation de 1 à 10 inclus, ou 0 si elle n'est pas définie." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Représente le retour d'information d'un utilisateur." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Notifications" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "URL de téléchargement pour ce produit de la commande, le cas échéant" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "Une liste des produits commandés dans cette commande" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Adresse de facturation" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" msgstr "" -"Adresse d'expédition pour cette commande, laisser vide si elle est identique" -" à l'adresse de facturation ou si elle n'est pas applicable" +"Adresse d'expédition pour cette commande, laisser vide si elle est identique " +"à l'adresse de facturation ou si elle n'est pas applicable" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Prix total de la commande" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Quantité totale de produits dans la commande" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Tous les produits de la commande sont-ils numériques ?" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Commandes" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "Image URL" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Images du produit" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Catégorie" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Retour d'information" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Marque" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Groupes d'attributs" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1157,31 +1164,31 @@ msgstr "Groupes d'attributs" msgid "quantity" msgstr "Quantité" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Nombre de retours d'information" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Produits" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Produits en vente" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Promotions" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Vendeur" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: 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,655 +1196,653 @@ msgstr "Vendeur" msgid "product" msgstr "Produit" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Produits en liste de souhaits" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Liste de souhaits" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Produits marqués" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Étiquettes du produit" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Catégories marquées" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Tags des catégories" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Nom du projet" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "Courriel de l'entreprise" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Nom de l'entreprise" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Adresse de l'entreprise" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Numéro de téléphone de l'entreprise" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', parfois il doit être utilisé à la place de la valeur de " "l'utilisateur de l'hôte" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "Utilisateur de l'hôte de messagerie" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Montant maximum du paiement" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Montant minimum pour le paiement" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Données analytiques" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Advertisement data" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Configuration" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Code langue" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Nom de la langue" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Drapeau linguistique, s'il existe :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Obtenir la liste des langues prises en charge" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Résultats de la recherche de produits" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Résultats de la recherche de produits" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Parent de ce groupe" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Groupe d'attributs parent" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Nom du groupe d'attributs" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Groupe d'attributs" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Stocke les informations d'identification et les points d'extrémité " "nécessaires à la communication avec l'API du fournisseur." -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Informations sur l'authentification" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "" "Définir la majoration pour les produits récupérés auprès de ce fournisseur" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Pourcentage de marge du vendeur" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Nom de ce vendeur" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Nom du vendeur" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Identifiant interne de l'étiquette du produit" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Nom du jour" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "Nom convivial pour l'étiquette du produit" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Nom d'affichage de l'étiquette" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Étiquette du produit" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "étiquette de catégorie" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "balises de catégorie" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Télécharger une image représentant cette catégorie" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Image de catégorie" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "" "Définir un pourcentage de majoration pour les produits de cette catégorie" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Parent de cette catégorie pour former une structure hiérarchique" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Catégorie de parents" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Nom de la catégorie" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Donnez un nom à cette catégorie" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Ajouter une description détaillée pour cette catégorie" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Description de la catégorie" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "les étiquettes qui aident à décrire ou à regrouper cette catégorie" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Priorité à la marque" + +#: core/models.py:265 msgid "name of this brand" msgstr "Nom de cette marque" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Nom de marque" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Télécharger un logo représentant cette marque" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Petite image de marque" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Télécharger un grand logo représentant cette marque" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Une grande image de marque" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Ajouter une description détaillée de la marque" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Description de la marque" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Catégories facultatives auxquelles cette marque est associée" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Catégories" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "La limace de la marque" -#: core/models.py:296 -msgid "brand priority" -msgstr "Priorité à la marque" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Catégorie à laquelle appartient ce produit" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Possibilité d'associer ce produit à une marque" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Étiquettes permettant de décrire ou de regrouper ce produit" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Indique si ce produit est livré numériquement" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "Le produit est-il numérique ?" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Fournir un nom d'identification clair pour le produit" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Nom du produit" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Ajouter une description détaillée du produit" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Description du produit" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Numéro de pièce pour ce produit" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Numéro de pièce" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Catégorie de cet attribut" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Groupe de cet attribut" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "Chaîne" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Entier" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Flotteur" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Booléen" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Tableau" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Objet" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Type de la valeur de l'attribut" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Type de valeur" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Nom de cet attribut" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Nom de l'attribut" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribut" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Attribut de cette valeur" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "Le produit spécifique associé à la valeur de cet attribut" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Produit associé" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "La valeur spécifique de cet attribut" -#: core/models.py:502 +#: core/models.py:526 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:503 +#: core/models.py:527 msgid "image alt text" msgstr "Texte alt de l'image" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Télécharger le fichier image pour ce produit" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Image du produit" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Détermine l'ordre d'affichage des images" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Priorité à l'affichage" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "Le produit que cette image représente" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Images du produit" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Pourcentage de réduction pour les produits sélectionnés" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Pourcentage de réduction" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Donnez un nom unique à cette promotion" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Nom de la promotion" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Sélectionnez les produits inclus dans cette promotion" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Produits inclus" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Promotion" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "Le vendeur qui fournit ce stock de produits" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Vendeur associé" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Prix final pour le client après majoration" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Prix de vente" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "Le produit associé à cette entrée de stock" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "Le prix payé au vendeur pour ce produit" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Prix d'achat du vendeur" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Quantité disponible du produit en stock" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Quantité en stock" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU attribué par le fournisseur pour identifier le produit" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "UGS du vendeur" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "Fichier numérique associé à ce stock, le cas échéant" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "Fichier numérique" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Entrées de stock" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Produits que l'utilisateur a marqués comme souhaités" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "Utilisateur qui possède cette liste de souhaits" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Propriétaire de la liste de souhaits" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Liste de souhaits" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} n'existe pas : {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Documentaire" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Documentaires" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Non résolu" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Ligne d'adresse du client" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Ligne d'adresse" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Rue" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "District" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "Ville" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Région" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Code postal" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "Pays" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Point de géolocalisation (longitude, latitude)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Réponse JSON complète du géocodeur pour cette adresse" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Réponse JSON stockée du service de géocodage" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Adresse" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Adresses" -#: core/models.py:767 +#: core/models.py:791 msgid "unique code used by a user to redeem a discount" -msgstr "" -"Code unique utilisé par un utilisateur pour bénéficier d'une réduction" +msgstr "Code unique utilisé par un utilisateur pour bénéficier d'une réduction" -#: core/models.py:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Identifiant du code promotionnel" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" -msgstr "" -"Montant fixe de la remise appliqué si le pourcentage n'est pas utilisé" +msgstr "Montant fixe de la remise appliqué si le pourcentage n'est pas utilisé" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Montant de l'escompte fixe" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" -msgstr "" -"Pourcentage de réduction appliqué si le montant fixe n'est pas utilisé" +msgstr "Pourcentage de réduction appliqué si le montant fixe n'est pas utilisé" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Pourcentage de réduction" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Date d'expiration du code promotionnel" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "Heure de fin de validité" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Date à partir de laquelle ce code promotionnel est valable" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Heure de début de validité" -#: core/models.py:800 +#: core/models.py:824 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -"Date à laquelle le code promotionnel a été utilisé, vide s'il n'a pas encore" -" été utilisé." +"Date à laquelle le code promotionnel a été utilisé, vide s'il n'a pas encore " +"été utilisé." -#: core/models.py:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Horodatage de l'utilisation" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "Utilisateur assigné à ce code promo, le cas échéant" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Utilisateur assigné" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Code promo" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Codes promotionnels" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1845,144 +1850,143 @@ msgstr "" "Un seul type de remise doit être défini (montant ou pourcentage), mais pas " "les deux ni aucun des deux." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "Le code promotionnel a déjà été utilisé" -#: core/models.py:856 +#: core/models.py:880 #, 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:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "L'adresse de facturation utilisée pour cette commande" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Code promo optionnel appliqué à cette commande" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Code promo appliqué" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "L'adresse de livraison utilisée pour cette commande" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Adresse de livraison" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Statut actuel de la commande dans son cycle de vie" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Statut de la commande" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 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:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "Représentation JSON des attributs de cette commande" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "L'utilisateur qui a passé la commande" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "Utilisateur" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "L'heure à laquelle la commande a été finalisée." -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Temps d'achat" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "Un identifiant lisible par l'homme pour la commande" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "ID lisible par l'homme" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Commande" -#: core/models.py:951 +#: core/models.py:975 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:987 +#: core/models.py:1011 msgid "you cannot add products to an order that is not a pending one" msgstr "" -"Vous ne pouvez pas ajouter de produits à une commande qui n'est pas en " -"cours." +"Vous ne pouvez pas ajouter de produits à une commande qui n'est pas en cours." -#: core/models.py:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "Vous ne pouvez pas ajouter des produits inactifs à la commande" -#: core/models.py:1013 +#: core/models.py:1037 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:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 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:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} n'existe pas avec la requête <{query}>" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Le code promotionnel n'existe pas" -#: core/models.py:1108 +#: core/models.py:1132 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:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "L'adresse n'existe pas" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Valeur de force non valide" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "Vous ne pouvez pas acheter une commande vide !" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Insuffisance de fonds pour compléter la commande" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1991,7 +1995,7 @@ msgstr "" "informations suivantes : nom du client, courriel du client, numéro de " "téléphone du client" -#: core/models.py:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -1999,116 +2003,114 @@ msgstr "" "Méthode de paiement non valide : {payment_method} de " "{available_payment_methods} !" -#: core/models.py:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Prix d'achat au moment de la commande" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" -msgstr "" -"Commentaires internes pour les administrateurs sur ce produit commandé" +msgstr "Commentaires internes pour les administrateurs sur ce produit commandé" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Commentaires internes" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "Notifications aux utilisateurs" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "Représentation JSON des attributs de cet élément" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Attributs du produit ordonnés" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Référence à l'ordre parent qui contient ce produit" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Ordonnance parentale" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "Le produit spécifique associé à cette ligne de commande" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Quantité de ce produit spécifique dans la commande" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Quantité de produits" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Statut actuel de ce produit dans la commande" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Statut de la ligne de produits" -#: core/models.py:1410 +#: core/models.py:1434 #, 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:1421 +#: core/models.py:1445 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:1433 +#: core/models.py:1457 msgid "download" msgstr "Télécharger" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Téléchargements" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "Commentaires des utilisateurs sur leur expérience du produit" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Commentaires" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +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:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Produit de commande apparenté" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "Note attribuée par l'utilisateur au produit" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Evaluation du produit" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Retour d'information" @@ -2119,7 +2121,7 @@ msgstr "" "vous devez fournir un commentaire, une note et l'uuid du produit commandé " "pour ajouter un commentaire." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Erreur lors de la création du promocode : {e!s}" @@ -2151,7 +2153,8 @@ msgstr "Bonjour %(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 "" "Merci pour votre commande #%(order.pk)s ! Nous avons le plaisir de vous " @@ -2245,7 +2248,8 @@ msgstr "Clé" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Nous vous remercions pour votre commande ! Nous avons le plaisir de " @@ -2284,15 +2288,15 @@ msgstr "Les données et le délai d'attente sont tous deux nécessaires" #: core/utils/caching.py:43 msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "" -"La valeur du délai d'attente n'est pas valide, elle doit être comprise entre" -" 0 et 216000 secondes." +"La valeur du délai d'attente n'est pas valide, elle doit être comprise entre " +"0 et 216000 secondes." -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} doit être le modèle" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} doit être un objet de liste" @@ -2316,7 +2320,7 @@ msgstr "{config.PROJECT_NAME} | Commande livrée" msgid "you do not have permission to perform this action." msgstr "Vous n'êtes pas autorisé à effectuer cette action." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "Le paramètre NOMINATIM_URL doit être configuré !" @@ -2331,11 +2335,11 @@ msgstr "" msgid "invalid phone number format" msgstr "Format de numéro de téléphone non valide" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "Vous ne pouvez télécharger le bien numérique qu'une seule fois" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "favicon introuvable" @@ -2343,3 +2347,6 @@ msgstr "favicon introuvable" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Erreur de géocodage : {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "Moteur eVibes" diff --git a/core/locale/hi_IN/LC_MESSAGES/django.po b/core/locale/hi_IN/LC_MESSAGES/django.po index 35ad5311..bb728584 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-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -59,36 +59,36 @@ msgstr "" msgid "deactivate selected %(verbose_name_plural)s" msgstr "" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -96,31 +96,31 @@ msgstr "" msgid "price" msgstr "" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "" @@ -128,10 +128,6 @@ msgstr "" msgid "core" msgstr "" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "" @@ -198,7 +194,7 @@ msgstr "" msgid "send a message to the support team" msgstr "" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "" @@ -396,7 +392,7 @@ msgid "" "transaction is initiated." msgstr "" -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "" @@ -700,233 +696,233 @@ msgstr "" msgid "add or remove feedback on an order–product relation" msgstr "" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "" -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "" -#: core/graphene/mutations.py:483 +#: core/graphene/mutations.py:456 msgid "" "please send the attributes as the string formatted like attr1=value1," "attr2=value2" msgstr "" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "" @@ -938,128 +934,128 @@ msgstr "" msgid "groups of attributes" msgstr "" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" -#: core/graphene/object_types.py:142 +#: core/graphene/object_types.py:133 msgid "minimum and maximum prices for products in this category, if available." msgstr "" -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "" -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" msgstr "" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1067,31 +1063,31 @@ msgstr "" msgid "quantity" msgstr "" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1099,888 +1095,888 @@ msgstr "" msgid "product" msgstr "" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +msgid "priority" +msgstr "" + +#: core/models.py:265 msgid "name of this brand" msgstr "" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "" -#: core/models.py:296 -msgid "brand priority" -msgstr "" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "" -#: core/models.py:481 core/models.py:520 core/models.py:591 core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "" -#: core/models.py:767 +#: core/models.py:791 msgid "unique code used by a user to redeem a discount" msgstr "" -#: core/models.py:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "" -#: core/models.py:800 +#: core/models.py:824 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -#: core/models.py:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "" -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 msgid "json structure of notifications to display to users" msgstr "" -#: core/models.py:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "" -#: core/models.py:951 +#: core/models.py:975 msgid "a user must have only one pending order at a time" msgstr "" -#: core/models.py:987 +#: core/models.py:1011 msgid "you cannot add products to an order that is not a pending one" msgstr "" -#: core/models.py:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "" -#: core/models.py:1013 +#: core/models.py:1037 msgid "you cannot add more products than available in stock" msgstr "" -#: core/models.py:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 msgid "you cannot remove products from an order that is not a pending one" msgstr "" -#: core/models.py:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "" -#: core/models.py:1108 +#: core/models.py:1132 msgid "you can only buy physical products with shipping address specified" msgstr "" -#: core/models.py:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" -#: core/models.py:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "" -#: core/models.py:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" -#: core/models.py:1300 +#: core/models.py:1324 msgid "the price paid by the customer for this product at purchase time" msgstr "" -#: core/models.py:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "" -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "" -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "" -#: core/models.py:1443 +#: core/models.py:1467 msgid "you can not download a digital asset for a non-finished order" msgstr "" -#: core/models.py:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "" -#: core/models.py:1464 +#: core/models.py:1488 msgid "references the specific product in an order that this feedback is about" msgstr "" -#: core/models.py:1466 +#: core/models.py:1490 msgid "related order product" msgstr "" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "" @@ -1989,7 +1985,7 @@ msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "" -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "" @@ -2141,12 +2137,12 @@ msgstr "" msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "" @@ -2170,7 +2166,7 @@ msgstr "" msgid "you do not have permission to perform this action." msgstr "" -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "" @@ -2183,11 +2179,11 @@ msgstr "" msgid "invalid phone number format" msgstr "" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "" diff --git a/core/locale/it_IT/LC_MESSAGES/django.mo b/core/locale/it_IT/LC_MESSAGES/django.mo index 889bac80da0247a34c53a19de731c9f8f1828ec2..97a7ded7254521849c5cdac5ab6de40e930f0615 100644 GIT binary patch delta 10977 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 delta 11085 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -29,11 +29,10 @@ msgstr "È attivo" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" -"Se impostato a false, questo oggetto non può essere visto dagli utenti senza" -" i necessari permessi." +"Se impostato a false, questo oggetto non può essere visto dagli utenti senza " +"i necessari permessi." #: core/abstract.py:22 core/choices.py:18 msgid "created" @@ -61,36 +60,36 @@ msgstr "Attivare il %(verbose_name_plural)s selezionato" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Disattivare il %(verbose_name_plural)s selezionato" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Valore dell'attributo" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Valori degli attributi" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Nome" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Immagine" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Immagini" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Stock" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Le scorte" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -98,31 +97,31 @@ msgstr "Le scorte" msgid "price" msgstr "Prezzo" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Valutazione" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Informazioni di base" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Date importanti" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Ordina il prodotto" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Ordinare i prodotti" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "È Business" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Configurazione" @@ -130,10 +129,6 @@ msgstr "Configurazione" msgid "core" msgstr "Nucleo" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "Motore eVibes" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Finito" @@ -188,7 +183,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Applicare solo una chiave per leggere i dati consentiti dalla cache.\n" -"Applicare chiave, dati e timeout con autenticazione per scrivere dati nella cache." +"Applicare chiave, dati e timeout con autenticazione per scrivere dati nella " +"cache." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -202,7 +198,7 @@ msgstr "Ottenere i parametri esponibili dell'applicazione" msgid "send a message to the support team" msgstr "Inviate un messaggio al team di assistenza" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Richiedere un URL CORSed. È consentito solo https." @@ -245,8 +241,7 @@ msgstr "" "Riscrivere un gruppo di attributi esistente salvando i non modificabili" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Riscrivere alcuni campi di un gruppo di attributi esistente salvando quelli " "non modificabili" @@ -301,8 +296,7 @@ msgstr "" "modificabili" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Riscrivere alcuni campi di un valore di attributo esistente salvando i " "valori non modificabili" @@ -331,8 +325,8 @@ msgstr "" #: core/docs/drf/viewsets.py:144 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" -"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non" -" modificabili" +"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non " +"modificabili" #: core/docs/drf/viewsets.py:151 msgid "list all orders (simple view)" @@ -346,12 +340,12 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Ricerca di sottostringhe senza distinzione di maiuscole e minuscole tra " -"human_readable_id, order_products.product.name e " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name e order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -387,9 +381,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Ordinare per uno dei seguenti criteri: uuid, human_readable_id, user_email, " "user, status, created, modified, buy_time, random. Prefisso con '-' per la " @@ -419,8 +413,8 @@ msgstr "" #: core/docs/drf/viewsets.py:227 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" -"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non" -" modificabili" +"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non " +"modificabili" #: core/docs/drf/viewsets.py:231 msgid "purchase an order" @@ -433,10 +427,10 @@ msgid "" "transaction is initiated." msgstr "" "Finalizza l'acquisto dell'ordine. Se si utilizza `forza_bilancio`, " -"l'acquisto viene completato utilizzando il saldo dell'utente; se si utilizza" -" `forza_pagamento`, viene avviata una transazione." +"l'acquisto viene completato utilizzando il saldo dell'utente; se si utilizza " +"`forza_pagamento`, viene avviata una transazione." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "acquistare un ordine senza creare un account" @@ -502,8 +496,8 @@ msgstr "Elenco di tutti gli attributi (vista semplice)" #: core/docs/drf/viewsets.py:282 msgid "for non-staff users, only their own wishlists are returned." msgstr "" -"Per gli utenti che non fanno parte del personale, vengono restituite solo le" -" loro liste dei desideri." +"Per gli utenti che non fanno parte del personale, vengono restituite solo le " +"loro liste dei desideri." #: core/docs/drf/viewsets.py:286 msgid "retrieve a single wishlist (detailed view)" @@ -576,18 +570,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrare in base a una o più coppie nome/valore dell'attributo. \n" "- **Sintassi**: `nome_attraverso=metodo-valore[;attr2=metodo2-valore2]...`\n" -"- **Metodi** (predefiniti a `icontains` se omessi): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- **Tipo di valore**: JSON viene tentato per primo (in modo da poter passare liste/dict), `true`/`false` per booleani, interi, float; altrimenti viene trattato come stringa. \n" -"- **Base64**: prefisso con `b64-` per codificare in base64 il valore grezzo. \n" +"- **Metodi** (predefiniti a `icontains` se omessi): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" +"- **Tipo di valore**: JSON viene tentato per primo (in modo da poter passare " +"liste/dict), `true`/`false` per booleani, interi, float; altrimenti viene " +"trattato come stringa. \n" +"- **Base64**: prefisso con `b64-` per codificare in base64 il valore " +"grezzo. \n" "Esempi: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -643,10 +647,12 @@ msgstr "(esatto) Digitale e fisico" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Elenco separato da virgole dei campi da ordinare. Prefisso con `-` per l'ordinamento discendente. \n" +"Elenco separato da virgole dei campi da ordinare. Prefisso con `-` per " +"l'ordinamento discendente. \n" "**Consentito:** uuid, rating, nome, slug, creato, modificato, prezzo, casuale" #: core/docs/drf/viewsets.py:441 @@ -665,8 +671,7 @@ msgstr "Creare un prodotto" #: core/docs/drf/viewsets.py:463 msgid "rewrite an existing product, preserving non-editable fields" -msgstr "" -"Riscrivere un prodotto esistente, preservando i campi non modificabili" +msgstr "Riscrivere un prodotto esistente, preservando i campi non modificabili" #: core/docs/drf/viewsets.py:478 msgid "" @@ -744,8 +749,8 @@ msgstr "" #: core/docs/drf/viewsets.py:615 msgid "rewrite some fields of an existing feedback saving non-editables" msgstr "" -"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non" -" modificabili" +"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non " +"modificabili" #: core/docs/drf/viewsets.py:622 msgid "list all order–product relations (simple view)" @@ -775,238 +780,237 @@ msgstr "eliminare una relazione ordine-prodotto" msgid "add or remove feedback on an order–product relation" msgstr "aggiungere o rimuovere un feedback su una relazione ordine-prodotto" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "Non è stato fornito alcun termine di ricerca." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Nome" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Categorie" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Categorie Lumache" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Tag" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Prezzo minimo" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Max Price" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "È attivo" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Marchio" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Attributi" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Quantità" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Lumaca" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "È digitale" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Includere le sottocategorie" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" "Deve esserci una categoria_uuid per utilizzare il flag include_subcategories" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Ricerca (ID, nome del prodotto o numero di parte)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Acquistato dopo (incluso)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Acquistato prima (compreso)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "Email dell'utente" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "UUID utente" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Stato" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "ID leggibile dall'uomo" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Genitore" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Intera categoria (con o senza almeno 1 prodotto)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Livello" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "UUID del prodotto" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Chiave da cercare o da inserire nella cache" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Data to store in cache" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Timeout in secondi per l'inserimento dei dati nella cache" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Dati in cache" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Dati JSON camelizzati dall'URL richiesto" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Sono consentiti solo gli URL che iniziano con http(s)://" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Aggiungere un prodotto all'ordine" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Ordine {order_uuid} non trovato" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Rimuovere un prodotto dall'ordine" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Rimuovere tutti i prodotti dall'ordine" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Acquistare un ordine" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" "Si prega di fornire order_uuid o order_hr_id, che si escludono a vicenda!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" -msgstr "" -"Il metodo order.buy() ha fornito un tipo sbagliato: {type(instance)!s}" +msgstr "Il metodo order.buy() ha fornito un tipo sbagliato: {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Eseguire un'azione su un elenco di prodotti nell'ordine" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Rimuovi/Aggiungi" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "L'azione deve essere \"aggiungere\" o \"rimuovere\"!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Aggiungere un prodotto all'ordine" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Lista dei desideri {wishlist_uuid} non trovata" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Rimuovere un prodotto dall'ordine" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Rimuovere un prodotto dall'ordine" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Rimuovere un prodotto dall'ordine" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Acquistare un ordine" -#: core/graphene/mutations.py:483 +#: 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 "" -"Inviare gli attributi come stringa formattata come " -"attr1=valore1,attr2=valore2" +"Inviare gli attributi come stringa formattata come attr1=valore1," +"attr2=valore2" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Stringa di indirizzo originale fornita dall'utente" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} non esiste: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "Il limite deve essere compreso tra 1 e 10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch: funziona a meraviglia" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Attributi" @@ -1018,86 +1022,85 @@ msgstr "Attributi raggruppati" msgid "groups of attributes" msgstr "Gruppi di attributi" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Categorie" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Marche" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Categorie" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Percentuale di markup" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" "Quali attributi e valori possono essere utilizzati per filtrare questa " "categoria." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Prezzi minimi e massimi per i prodotti di questa categoria, se disponibili." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Tag per questa categoria" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Prodotti in questa categoria" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Venditori" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Latitudine (coordinata Y)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Longitudine (coordinata X)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Come" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Valore di valutazione da 1 a 10, incluso, o 0 se non impostato." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Rappresenta il feedback di un utente." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Notifiche" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "URL di download per il prodotto dell'ordine, se applicabile" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "Un elenco di prodotti ordinati in questo ordine" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Indirizzo di fatturazione" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1105,47 +1108,47 @@ msgstr "" "Indirizzo di spedizione per questo ordine, lasciare in bianco se è uguale " "all'indirizzo di fatturazione o se non è applicabile" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Prezzo totale dell'ordine" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Quantità totale di prodotti in ordine" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Tutti i prodotti sono presenti nell'ordine digitale" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Ordini" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "URL immagine" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Immagini del prodotto" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Categoria" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Feedback" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Marchio" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Gruppi di attributi" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1153,31 +1156,31 @@ msgstr "Gruppi di attributi" msgid "quantity" msgstr "Quantità" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Numero di feedback" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Prodotti" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Codici promozionali" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Prodotti in vendita" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Promozioni" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Venditore" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1185,793 +1188,793 @@ msgstr "Venditore" msgid "product" msgstr "Prodotto" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Prodotti desiderati" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Liste dei desideri" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Prodotti contrassegnati" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Tag del prodotto" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Contrassegnato dalle categorie" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Tag delle categorie" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Nome del progetto" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "Email aziendale" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Nome della società" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Indirizzo dell'azienda" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Numero di telefono dell'azienda" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', a volte deve essere usato al posto del valore dell'utente host" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "Utente host dell'e-mail" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Importo massimo per il pagamento" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Importo minimo per il pagamento" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Dati analitici" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Dati pubblicitari" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Configurazione" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Codice lingua" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Nome della lingua" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Bandiera della lingua, se esiste :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Ottenere un elenco delle lingue supportate" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Risultati della ricerca dei prodotti" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Risultati della ricerca dei prodotti" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Genitore di questo gruppo" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Gruppo di attributi padre" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Nome del gruppo di attributi" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Gruppo di attributi" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Memorizza le credenziali e gli endpoint necessari per la comunicazione API " "del fornitore." -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Informazioni sull'autenticazione" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "Definire il markup per i prodotti recuperati da questo fornitore" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Percentuale di ricarico del fornitore" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Nome del fornitore" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Nome del fornitore" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Identificatore interno dell'etichetta del prodotto" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Nome del tag" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "Nome intuitivo per l'etichetta del prodotto" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Nome del tag" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Etichetta del prodotto" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "tag categoria" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "tag di categoria" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Caricare un'immagine che rappresenti questa categoria" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Categoria immagine" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "" "Definire una percentuale di ricarico per i prodotti di questa categoria" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Genitore di questa categoria per formare una struttura gerarchica" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Categoria di genitori" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Nome della categoria" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Indicare un nome per questa categoria" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Aggiungere una descrizione dettagliata per questa categoria" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Descrizione della categoria" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "tag che aiutano a descrivere o raggruppare questa categoria" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Priorità del marchio" + +#: core/models.py:265 msgid "name of this brand" msgstr "Nome del marchio" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Nome del marchio" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Caricare un logo che rappresenti questo marchio" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Immagine piccola del marchio" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Caricare un grande logo che rappresenti questo marchio" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Grande immagine del marchio" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Aggiungere una descrizione dettagliata del marchio" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Descrizione del marchio" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Categorie opzionali a cui questo marchio è associato" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Categorie" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "La lumaca del marchio" -#: core/models.py:296 -msgid "brand priority" -msgstr "Priorità del marchio" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Categoria a cui appartiene questo prodotto" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Associare facoltativamente questo prodotto a un marchio" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Tag che aiutano a descrivere o raggruppare questo prodotto" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Indica se il prodotto è consegnato in formato digitale" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "Il prodotto è digitale" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Fornire un nome identificativo chiaro per il prodotto" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Nome del prodotto" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Aggiungere una descrizione dettagliata del prodotto" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Descrizione del prodotto" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Numero di parte per questo prodotto" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Numero di parte" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Categoria di questo attributo" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Gruppo di questo attributo" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "Stringa" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Intero" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Galleggiante" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Booleano" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Array" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Oggetto" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Tipo di valore dell'attributo" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Tipo di valore" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Nome dell'attributo" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Nome dell'attributo" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attributo" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Attributo di questo valore" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "Il prodotto specifico associato al valore di questo attributo" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Prodotto associato" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "Il valore specifico per questo attributo" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "" "Fornire un testo alternativo per l'immagine ai fini dell'accessibilità." -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "Testo alt dell'immagine" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Caricare il file immagine per questo prodotto" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Immagine del prodotto" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Determina l'ordine di visualizzazione delle immagini" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Priorità del display" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "Il prodotto che questa immagine rappresenta" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Immagini del prodotto" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Percentuale di sconto per i prodotti selezionati" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Percentuale di sconto" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Fornite un nome unico per questa promozione" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Nome della promozione" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Descrizione della promozione" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Selezionare i prodotti inclusi in questa promozione" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Prodotti inclusi" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Promozione" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "Il venditore che fornisce questo stock di prodotti" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Venditore associato" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Prezzo finale al cliente dopo i ricarichi" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Prezzo di vendita" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "Il prodotto associato a questa voce di magazzino" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "Il prezzo pagato al venditore per questo prodotto" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Prezzo di acquisto del fornitore" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Quantità disponibile del prodotto in magazzino" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Quantità in magazzino" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU assegnato dal fornitore per identificare il prodotto" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "SKU del venditore" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "File digitale associato a questo stock, se applicabile" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "File digitale" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Voci di magazzino" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Prodotti che l'utente ha contrassegnato come desiderati" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "Utente che possiede questa wishlist" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Proprietario della lista dei desideri" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Lista dei desideri" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} non esiste: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Documentario" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Documentari" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Non risolto" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Indirizzo del cliente" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Linea di indirizzo" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Via" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "Distretto" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "Città" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Regione" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Codice postale" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "Paese" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Punto di geolocalizzazione(Longitudine, Latitudine)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Risposta JSON completa di geocoder per questo indirizzo" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Risposta JSON memorizzata dal servizio di geocodifica" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Indirizzo" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Indirizzi" -#: core/models.py:767 +#: core/models.py:791 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:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Identificatore del codice promozionale" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" -msgstr "" -"Importo fisso dello sconto applicato se non si utilizza la percentuale" +msgstr "Importo fisso dello sconto applicato se non si utilizza la percentuale" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Importo fisso dello sconto" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "Sconto percentuale applicato se l'importo fisso non viene utilizzato" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Sconto percentuale" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Data di scadenza del codice promozionale" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "Tempo di validità finale" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Data a partire dalla quale il codice promozionale è valido" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Ora di inizio validità" -#: core/models.py:800 +#: core/models.py:824 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:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Timestamp d'uso" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "Utente assegnato a questo codice promozionale, se applicabile" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Utente assegnato" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Codice promozionale" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Codici promozionali" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -"È necessario definire un solo tipo di sconto (importo o percentuale), ma non" -" entrambi o nessuno." +"È necessario definire un solo tipo di sconto (importo o percentuale), ma non " +"entrambi o nessuno." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "Il codice promozionale è già stato utilizzato" -#: core/models.py:856 +#: core/models.py:880 #, 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:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "L'indirizzo di fatturazione utilizzato per questo ordine" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Codice promozionale opzionale applicato a questo ordine" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Codice promozionale applicato" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "L'indirizzo di spedizione utilizzato per questo ordine" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Indirizzo di spedizione" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Stato attuale dell'ordine nel suo ciclo di vita" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Stato dell'ordine" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 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:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "Rappresentazione JSON degli attributi dell'ordine per questo ordine" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "L'utente che ha effettuato l'ordine" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "Utente" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "Il timestamp del momento in cui l'ordine è stato finalizzato" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Acquista tempo" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "Un identificatore leggibile dall'uomo per l'ordine" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "ID leggibile dall'uomo" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Ordine" -#: core/models.py:951 +#: core/models.py:975 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:987 +#: core/models.py:1011 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:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "Non è possibile aggiungere all'ordine prodotti inattivi" -#: core/models.py:1013 +#: core/models.py:1037 msgid "you cannot add more products than available in stock" msgstr "" "Non è possibile aggiungere più prodotti di quelli disponibili in magazzino" -#: core/models.py:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 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:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} non esiste con la query <{query}>." -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Il codice promozionale non esiste" -#: core/models.py:1108 +#: core/models.py:1132 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:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "L'indirizzo non esiste" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Valore di forza non valido" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "Non è possibile acquistare un ordine vuoto!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Fondi insufficienti per completare l'ordine" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1980,7 +1983,7 @@ msgstr "" "seguenti informazioni: nome del cliente, e-mail del cliente, numero di " "telefono del cliente" -#: core/models.py:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -1988,111 +1991,110 @@ msgstr "" "Metodo di pagamento non valido: {payment_method} da " "{available_payment_methods}!" -#: core/models.py:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Prezzo di acquisto al momento dell'ordine" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "Commenti interni per gli amministratori su questo prodotto ordinato" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Commenti interni" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "Notifiche degli utenti" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "Rappresentazione JSON degli attributi di questo elemento" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Attributi del prodotto ordinati" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Riferimento all'ordine padre che contiene questo prodotto" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Ordine dei genitori" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "Il prodotto specifico associato a questa riga d'ordine" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Quantità di questo prodotto specifico nell'ordine" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Quantità di prodotto" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Stato attuale di questo prodotto nell'ordine" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Stato della linea di prodotti" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "azione errata specificata per il feedback: {action}" -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "non è possibile dare un riscontro a un ordine non ricevuto" -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "Scaricare" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Scaricamento" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "Commenti degli utenti sulla loro esperienza con il prodotto" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Commenti di feedback" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +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:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Prodotto correlato all'ordine" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "Valutazione del prodotto assegnata dall'utente" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Valutazione del prodotto" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Feedback" @@ -2100,10 +2102,10 @@ msgstr "Feedback" msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "" -"per aggiungere un feedback è necessario fornire un commento, una valutazione" -" e l'uuid del prodotto dell'ordine." +"per aggiungere un feedback è necessario fornire un commento, una valutazione " +"e l'uuid del prodotto dell'ordine." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Errore durante la creazione del codice promozionale: {e!s}" @@ -2135,7 +2137,8 @@ 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 "" "Grazie per il vostro ordine #%(order.pk)s! Siamo lieti di informarla che " @@ -2164,8 +2167,8 @@ msgid "" "if you have any questions, feel free to contact our support at\n" " %(config.EMAIL_HOST_USER)s." msgstr "" -"Per qualsiasi domanda, non esitate a contattare il nostro supporto al numero" -" %(config.EMAIL_HOST_USER)s." +"Per qualsiasi domanda, non esitate a contattare il nostro supporto al numero " +"%(config.EMAIL_HOST_USER)s." #: core/templates/digital_order_created_email.html:133 #, python-format @@ -2214,8 +2217,8 @@ msgid "" "if you have any questions, feel free to contact our support at\n" " %(contact_email)s." msgstr "" -"Per qualsiasi domanda, non esitate a contattare il nostro supporto al numero" -" %(contact_email)s." +"Per qualsiasi domanda, non esitate a contattare il nostro supporto al numero " +"%(contact_email)s." #: core/templates/digital_order_delivered_email.html:166 #, python-format @@ -2229,7 +2232,8 @@ msgstr "Chiave" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Grazie per il vostro ordine! Siamo lieti di confermare il suo acquisto. Di " @@ -2269,12 +2273,12 @@ msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "" "Valore di timeout non valido, deve essere compreso tra 0 e 216000 secondi." -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} deve essere un modello" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} deve essere un oggetto elenco" @@ -2298,7 +2302,7 @@ msgstr "{config.PROJECT_NAME} | Ordine consegnato" msgid "you do not have permission to perform this action." msgstr "Non si ha il permesso di eseguire questa azione." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "Il parametro NOMINATIM_URL deve essere configurato!" @@ -2306,18 +2310,18 @@ msgstr "Il parametro NOMINATIM_URL deve essere configurato!" #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -"Le dimensioni dell'immagine non devono superare w{max_width} x h{max_height}" -" pixel" +"Le dimensioni dell'immagine non devono superare w{max_width} x h{max_height} " +"pixel" #: core/validators.py:22 msgid "invalid phone number format" msgstr "Formato del numero di telefono non valido" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "È possibile scaricare l'asset digitale una sola volta" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "favicon non trovata" @@ -2325,3 +2329,6 @@ msgstr "favicon non trovata" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Errore di geocodifica: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "Motore eVibes" diff --git a/core/locale/ja_JP/LC_MESSAGES/django.mo b/core/locale/ja_JP/LC_MESSAGES/django.mo index 4a8f5ec59e3f97d786041a98587afa5ad966628a..2a1d8b63e681b29e457482cec4e6246ef5bda797 100644 GIT binary patch delta 10977 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 D{JN8Z delta 11094 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -19,7 +19,8 @@ msgstr "ユニークID" #: core/abstract.py:12 msgid "unique id is used to surely identify any database object" -msgstr "ユニークIDは、データベースオブジェクトを確実に識別するために使用されます。" +msgstr "" +"ユニークIDは、データベースオブジェクトを確実に識別するために使用されます。" #: core/abstract.py:19 msgid "is active" @@ -27,9 +28,10 @@ msgstr "アクティブ" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" -msgstr "falseに設定された場合、このオブジェクトは必要なパーミッションのないユーザーには見えない。" +"if set to false, this object can't be seen by users without needed permission" +msgstr "" +"falseに設定された場合、このオブジェクトは必要なパーミッションのないユーザーに" +"は見えない。" #: core/abstract.py:22 core/choices.py:18 msgid "created" @@ -57,36 +59,36 @@ msgstr "選択した %(verbose_name_plural)s をアクティブにする。" msgid "deactivate selected %(verbose_name_plural)s" msgstr "選択された %(verbose_name_plural)s を非アクティブにする。" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "属性値" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "属性値" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "名称" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "画像" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "画像" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "在庫" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "株式" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -94,31 +96,31 @@ msgstr "株式" msgid "price" msgstr "価格" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "製品評価" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "基本情報" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "重要な日程" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "商品のご注文" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "商品のご注文" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "ビジネス" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "コンフィグ" @@ -126,10 +128,6 @@ msgstr "コンフィグ" msgid "core" msgstr "コア" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibesエンジン" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "終了" @@ -184,7 +182,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "許可されたデータをキャッシュから読み出すには、キーのみを適用する。\n" -"キャッシュにデータを書き込むには、認証付きのキー、データ、タイムアウトを適用する。" +"キャッシュにデータを書き込むには、認証付きのキー、データ、タイムアウトを適用" +"する。" #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -198,7 +197,7 @@ msgstr "アプリケーションの公開可能なパラメータを取得する msgid "send a message to the support team" msgstr "サポートチームにメッセージを送る" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "CORSされたURLを要求する。httpsのみ許可。" @@ -214,7 +213,9 @@ msgstr "ビジネスとして注文を購入する" msgid "" "purchase an order as a business, using the provided `products` with " "`product_uuid` and `attributes`." -msgstr "提供された `product` と `product_uuid` と `attributes` を使用して、ビジネスとして注文を購入する。" +msgstr "" +"提供された `product` と `product_uuid` と `attributes` を使用して、ビジネスと" +"して注文を購入する。" #: core/docs/drf/viewsets.py:43 msgid "list all attribute groups (simple view)" @@ -237,9 +238,10 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "既存の属性グループを書き換えて、編集不可能なものを保存する。" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" -msgstr "既存の属性グループのいくつかのフィールドを書き換え、編集不可能なものを保存する。" +msgid "rewrite some fields of an existing attribute group saving non-editables" +msgstr "" +"既存の属性グループのいくつかのフィールドを書き換え、編集不可能なものを保存す" +"る。" #: core/docs/drf/viewsets.py:70 msgid "list all attributes (simple view)" @@ -263,7 +265,8 @@ msgstr "既存の属性を書き換える。" #: core/docs/drf/viewsets.py:90 msgid "rewrite some fields of an existing attribute saving non-editables" -msgstr "既存の属性のいくつかのフィールドを書き換え、編集不可能なものを保存する。" +msgstr "" +"既存の属性のいくつかのフィールドを書き換え、編集不可能なものを保存する。" #: core/docs/drf/viewsets.py:97 msgid "list all attribute values (simple view)" @@ -286,9 +289,9 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "既存の属性値を書き換える。" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" -msgstr "既存の属性値のいくつかのフィールドを書き換え、編集不可能な値を保存する。" +msgid "rewrite some fields of an existing attribute value saving non-editables" +msgstr "" +"既存の属性値のいくつかのフィールドを書き換え、編集不可能な値を保存する。" #: core/docs/drf/viewsets.py:124 msgid "list all categories (simple view)" @@ -324,10 +327,11 @@ msgstr "スタッフ以外のユーザーについては、自分の注文のみ #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"human_readable_id、order_products.product.name、order_products.product.partnumberの大文字小文字を区別しない部分文字列検索" +"human_readable_id、order_products.product.name、order_products.product." +"partnumberの大文字小文字を区別しない部分文字列検索" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -347,7 +351,8 @@ msgstr "人間が読み取れる正確な注文IDによるフィルタリング" #: core/docs/drf/viewsets.py:185 msgid "Filter by user's email (case-insensitive exact match)" -msgstr "ユーザーのEメールによるフィルタリング(大文字・小文字を区別しない完全一致)" +msgstr "" +"ユーザーのEメールによるフィルタリング(大文字・小文字を区別しない完全一致)" #: core/docs/drf/viewsets.py:190 msgid "Filter by user's UUID" @@ -355,15 +360,19 @@ msgstr "ユーザーのUUIDによるフィルタリング" #: core/docs/drf/viewsets.py:195 msgid "Filter by order status (case-insensitive substring match)" -msgstr "注文ステータスによるフィルタリング(大文字と小文字を区別しない部分文字列マッチ)" +msgstr "" +"注文ステータスによるフィルタリング(大文字と小文字を区別しない部分文字列マッ" +"チ)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" -"uuid、human_readable_id、user_email、user、status、created、modified、buy_time、randomのいずれかによる順序。降順の場合は'-'をプレフィックスとしてつける(例:'-buy_time')。" +"uuid、human_readable_id、user_email、user、status、created、modified、" +"buy_time、randomのいずれかによる順序。降順の場合は'-'をプレフィックスとしてつ" +"ける(例:'-buy_time')。" #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -399,10 +408,11 @@ msgid "" "completed using the user's balance; if `force_payment` is used, a " "transaction is initiated." msgstr "" -"注文の購入を確定する。force_balance` が使用された場合、ユーザーの残高を使用して購入が完了します。 `force_payment` " -"が使用された場合、トランザクションが開始されます。" +"注文の購入を確定する。force_balance` が使用された場合、ユーザーの残高を使用し" +"て購入が完了します。 `force_payment` が使用された場合、トランザクションが開始" +"されます。" -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "アカウントを作成せずに注文を購入する" @@ -418,7 +428,8 @@ msgstr "注文に商品を追加する" msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." -msgstr "指定した `product_uuid` と `attributes` を使用して、商品を注文に追加する。" +msgstr "" +"指定した `product_uuid` と `attributes` を使用して、商品を注文に追加する。" #: core/docs/drf/viewsets.py:260 msgid "add a list of products to order, quantities will not count" @@ -428,7 +439,9 @@ msgstr "数量はカウントされません。" msgid "" "adds a list of products to an order using the provided `product_uuid` and " "`attributes`." -msgstr "指定された `product_uuid` と `attributes` を使用して、注文に商品のリストを追加する。" +msgstr "" +"指定された `product_uuid` と `attributes` を使用して、注文に商品のリストを追" +"加する。" #: core/docs/drf/viewsets.py:266 msgid "remove product from order" @@ -438,7 +451,9 @@ msgstr "注文から商品を削除する" msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." -msgstr "指定された `product_uuid` と `attributes` を使用して、注文から商品を削除する。" +msgstr "" +"指定された `product_uuid` と `attributes` を使用して、注文から商品を削除す" +"る。" #: core/docs/drf/viewsets.py:272 msgid "remove product from order, quantities will not count" @@ -448,7 +463,9 @@ msgstr "注文から商品を削除すると、数量はカウントされませ msgid "" "removes a list of products from an order using the provided `product_uuid` " "and `attributes`" -msgstr "指定された `product_uuid` と `attributes` を用いて、注文から商品のリストを削除する。" +msgstr "" +"指定された `product_uuid` と `attributes` を用いて、注文から商品のリストを削" +"除する。" #: core/docs/drf/viewsets.py:281 msgid "list all wishlists (simple view)" @@ -480,7 +497,8 @@ msgstr "既存の属性を書き換える。" #: core/docs/drf/viewsets.py:303 msgid "rewrite some fields of an existing wishlist saving non-editables" -msgstr "既存の属性のいくつかのフィールドを書き換え、編集不可能なものを保存する。" +msgstr "" +"既存の属性のいくつかのフィールドを書き換え、編集不可能なものを保存する。" #: core/docs/drf/viewsets.py:307 msgid "add product to wishlist" @@ -496,7 +514,8 @@ msgstr "ウィッシュリストから商品を削除する" #: core/docs/drf/viewsets.py:314 msgid "removes a product from an wishlist using the provided `product_uuid`" -msgstr "指定された `product_uuid` を使ってウィッシュリストから商品を削除します。" +msgstr "" +"指定された `product_uuid` を使ってウィッシュリストから商品を削除します。" #: core/docs/drf/viewsets.py:319 msgid "add many products to wishlist" @@ -504,7 +523,8 @@ msgstr "ウィッシュリストに多くの商品を追加する" #: core/docs/drf/viewsets.py:320 msgid "adds many products to an wishlist using the provided `product_uuids`" -msgstr "指定された `product_uuids` を使ってウィッシュリストに多くの商品を追加する。" +msgstr "" +"指定された `product_uuids` を使ってウィッシュリストに多くの商品を追加する。" #: core/docs/drf/viewsets.py:325 msgid "remove many products from wishlist" @@ -513,24 +533,34 @@ msgstr "注文から商品を削除する" #: core/docs/drf/viewsets.py:326 msgid "" "removes many products from an wishlist using the provided `product_uuids`" -msgstr "指定された `product_uuids` を使ってウィッシュリストから多くの商品を削除する。" +msgstr "" +"指定された `product_uuids` を使ってウィッシュリストから多くの商品を削除する。" #: core/docs/drf/viewsets.py:333 msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "1つまたは複数の属性名/値のペアでフィルタリングします。 \n" "- シンタックス**:attr_name=method-value[;attr2=method2-value2]...`。\n" -"- メソッド** (省略された場合のデフォルトは `icontains`):`iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- 値の型付け**:boolean, integer, float の場合は `true`/`false`; それ以外の場合は文字列として扱う。 \n" -"- それ以外は文字列として扱われる。 **Base64**: `b64-` をプレフィックスとしてつけると、生の値を URL-safe base64-encode することができる。 \n" +"- メソッド** (省略された場合のデフォルトは `icontains`):`iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" +"- 値の型付け**:boolean, integer, float の場合は `true`/`false`; それ以外の場" +"合は文字列として扱う。 \n" +"- それ以外は文字列として扱われる。 **Base64**: `b64-` をプレフィックスとして" +"つけると、生の値を URL-safe base64-encode することができる。 \n" "例 \n" "color=exact-red`、`size=gt-10`、`features=in-[\"wifi\", \"bluetooth\"]`、\n" "b64-description=icontains-aGVhdC1jb2xk`。" @@ -585,10 +615,12 @@ msgstr "(正確には)デジタルとフィジカル" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"カンマ区切りの並べ替えフィールドのリスト。降順の場合は `-` をプレフィックスとしてつける。 \n" +"カンマ区切りの並べ替えフィールドのリスト。降順の場合は `-` をプレフィックスと" +"してつける。 \n" "**許可:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -612,7 +644,9 @@ msgstr "編集不可能なフィールドを保持したまま、既存の製品 #: core/docs/drf/viewsets.py:478 msgid "" "update some fields of an existing product, preserving non-editable fields" -msgstr "編集不可能なフィールドを保持したまま、既存の製品の一部のフィールドを更新する。" +msgstr "" +"編集不可能なフィールドを保持したまま、既存の製品の一部のフィールドを更新す" +"る。" #: core/docs/drf/viewsets.py:493 msgid "delete a product" @@ -653,8 +687,8 @@ msgstr "オートコンプリート住所入力" #: core/docs/drf/viewsets.py:576 msgid "raw data query string, please append with data from geo-IP endpoint" msgstr "" -"docker compose exec app poetry run python manage.py deepl_translate -l en-gb" -" -l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " +"docker compose exec app poetry run python manage.py deepl_translate -l en-gb " +"-l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " "it-it -l ja-jp -l kk-kz -l n-nl -l pl-pl -l pt-br -l ro-ro -l ru-ru -l zh-" "hans -a core -a geo -a payments -a vibes_auth -a blog" @@ -684,7 +718,9 @@ msgstr "既存のフィードバックを書き換える。" #: core/docs/drf/viewsets.py:615 msgid "rewrite some fields of an existing feedback saving non-editables" -msgstr "既存のフィードバックのいくつかのフィールドを書き換えて、編集不可能なものを保存する。" +msgstr "" +"既存のフィードバックのいくつかのフィールドを書き換えて、編集不可能なものを保" +"存する。" #: core/docs/drf/viewsets.py:622 msgid "list all order–product relations (simple view)" @@ -714,233 +750,235 @@ msgstr "注文と商品の関係を削除する" msgid "add or remove feedback on an order–product relation" msgstr "注文と商品の関係に関するフィードバックを追加または削除する。" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "検索語はありません。" -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "ユーユーアイディー" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "名称" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "カテゴリー" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "カテゴリー ナメクジ" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "タグ" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "最低価格" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "最高価格" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "アクティブ" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "ブランド" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "属性" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "数量" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "スラッグ" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "デジタル" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "サブカテゴリーを含む" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" -msgstr "include_subcategoriesフラグを使うには、category_uuidがなければならない。" +msgstr "" +"include_subcategoriesフラグを使うには、category_uuidがなければならない。" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "検索(ID、製品名または部品番号)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "購入時期" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "以前に購入したもの(含む)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "ユーザーEメール" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "ユーザーUUID" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "ステータス" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "人間が読めるID" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "親" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "カテゴリー全体(少なくとも1つの製品があるかどうか)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "レベル" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "製品UUID" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "キャッシュを探すキー、またはキャッシュにセットするキー" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "キャッシュに保存するデータ" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "キャッシュにデータをセットするタイムアウト時間(秒" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "キャッシュ・データ" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "リクエストされたURLからキャメル化されたJSONデータ" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "http(s)://で始まるURLのみが許可されます。" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "注文に商品を追加する" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "注文{order_uuid}が見つかりません" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "注文から商品を削除する" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "注文からすべての商品を削除する" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "注文する" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "order_uuidまたはorder_hr_idを入力してください!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "order.buy()メソッドから間違った型が来た:{type(instance)!s}。" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "注文商品のリストに対してアクションを実行する" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "削除/追加" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "アクションは \"add \"か \"remove \"のどちらかでなければならない!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "注文に商品を追加する" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "ウィッシュリスト{wishlist_uuid}が見つかりません。" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "注文から商品を削除する" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "注文から商品を削除する" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "注文から商品を削除する" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "注文する" -#: core/graphene/mutations.py:483 +#: core/graphene/mutations.py:456 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" -msgstr "属性は、attr1=value1,attr2=value2のような形式の文字列として送信してください。" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" +msgstr "" +"属性は、attr1=value1,attr2=value2のような形式の文字列として送信してください。" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "ユーザーが提供したオリジナルのアドレス文字列" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} は存在しません:{uuid} は存在しません。" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "上限は1から10の間でなければならない" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - 魅力のように動作" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "属性" @@ -952,129 +990,128 @@ msgstr "グループ化された属性" msgid "groups of attributes" msgstr "属性のグループ" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "カテゴリー" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "ブランド" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "カテゴリー" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "マークアップ率" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "このカテゴリのフィルタリングに使用できる属性と値。" -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "このカテゴリーの商品の最低価格と最高価格がある場合。" -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "このカテゴリのタグ" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "このカテゴリの製品" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "ベンダー" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "緯度(Y座標)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "経度(X座標)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "どのように" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "1から10までの評価値(設定されていない場合は0)。" -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "ユーザーからのフィードバックを表す。" -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "お知らせ" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "該当する場合は、この注文商品のダウンロードURLを入力してください。" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "注文商品のリスト" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "請求先住所" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" msgstr "請求先住所と同じ場合、または該当しない場合は空白にしてください。" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "この注文の合計金額" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "注文商品の総数量" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "ご注文の商品はすべてデジタルですか?" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "受注状況" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "画像URL" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "製品画像" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "カテゴリー" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "フィードバック" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "ブランド" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "属性グループ" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1082,31 +1119,31 @@ msgstr "属性グループ" msgid "quantity" msgstr "数量" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "フィードバック数" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "製品紹介" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "プロモコード" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "販売商品" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "プロモーション" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "ベンダー" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1114,899 +1151,908 @@ msgstr "ベンダー" msgid "product" msgstr "製品" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "ウィッシュリスト掲載商品" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "ウィッシュリスト" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "タグ別アーカイブ" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "商品タグ" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "タグ別アーカイブ" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "カテゴリー' タグ" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "プロジェクト名" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "会社Eメール" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "会社名" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "会社住所" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "会社電話番号" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "'email from' は、ホストユーザの値の代わりに使用されることがあります。" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "メールホストユーザー" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "支払限度額" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "最低支払額" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "分析データ" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "広告データ" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "構成" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "言語コード" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "言語名" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "言語フラグがある場合 :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "サポートされている言語のリストを取得する" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "製品検索結果" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "製品検索結果" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "このグループの親" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "親属性グループ" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "属性グループ名" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "属性グループ" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "ベンダーのAPI通信に必要な認証情報とエンドポイントを保存する。" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "認証情報" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "このベンダーから取得した商品のマークアップを定義する。" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "ベンダーのマークアップ率" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "このベンダーの名前" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "ベンダー名" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "商品タグの内部タグ識別子" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "タグ名" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "商品タグのユーザーフレンドリーな名前" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "タグ表示名" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "商品タグ" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "カテゴリタグ" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "カテゴリータグ" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "このカテゴリーを表す画像をアップロードする" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "カテゴリーイメージ" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "このカテゴリの商品のマークアップ率を定義する" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "階層構造を形成するこのカテゴリの親" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "親カテゴリー" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "カテゴリー名" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "このカテゴリの名前を入力してください。" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "このカテゴリの詳細説明を追加する" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "カテゴリー説明" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "このカテゴリーを説明またはグループ化するのに役立つタグ" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "ブランドの優先順位" + +#: core/models.py:265 msgid "name of this brand" msgstr "ブランド名" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "ブランド名" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "このブランドを代表するロゴをアップロードする" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "小さなブランドイメージ" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "このブランドを象徴する大きなロゴをアップロードする" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "大きなブランドイメージ" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "ブランドの詳細な説明を加える" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "ブランド説明" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "このブランドが関連するオプション・カテゴリー" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "カテゴリー" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "ブランドスラッグ" -#: core/models.py:296 -msgid "brand priority" -msgstr "ブランドの優先順位" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "この製品が属するカテゴリ" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "オプションでこの製品をブランドと関連付ける" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "この商品の説明やグループ分けに役立つタグ" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "この製品がデジタル配信されるかどうかを示す" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "製品はデジタルか" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "製品の明確な識別名を提供する" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "商品名" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "商品の詳細説明を追加する" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "商品説明" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "この製品の品番" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "品番" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "この属性のカテゴリー" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "この属性のグループ" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "ストリング" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "整数" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "フロート" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "ブーリアン" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "配列" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "対象" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "属性値のタイプ" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "値の種類" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "この属性の名前" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "属性名" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "属性" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "この値の属性" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "この属性の値に関連する特定の製品" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "関連製品" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "この属性の具体的な値" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "アクセシビリティのために、画像に代替テキストを提供する。" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "画像のaltテキスト" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "この商品の画像ファイルをアップロードする" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "商品画像" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "画像の表示順を決める" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "表示優先度" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "この画像が表す製品" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "商品画像" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "選択した商品の割引率" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "割引率" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "このプロモーションのユニークな名前を入力してください。" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "プロモーション名" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "プロモーション内容" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "キャンペーン対象商品をお選びください。" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "含まれる製品" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "プロモーション" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "この製品の在庫を供給しているベンダー" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "関連ベンダー" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "マークアップ後の顧客への最終価格" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "販売価格" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "このストックエントリーに関連する製品" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "この製品に対してベンダーに支払われた価格" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "ベンダーの購入価格" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "在庫数" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "在庫数" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "製品を識別するためにベンダーが割り当てたSKU" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "ベンダーのSKU" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "この銘柄に関連するデジタルファイル(該当する場合" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "デジタルファイル" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "ストックエントリー" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "ユーザーが欲しいとマークした商品" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "このウィッシュリストを所有しているユーザー" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "ウィッシュリストのオーナー" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "ウィッシュリスト" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name}が存在しません:{product_uuid}が存在しません。" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "ドキュメンタリー" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "ドキュメンタリー" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "未解決" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "お客様の住所" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "住所" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "ストリート" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "地区" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "都市" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "地域" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "郵便番号" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "国名" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "ジオロケーションポイント(経度、緯度)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "この住所に対するジオコーダーからの完全なJSON応答" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "ジオコーディング・サービスからの保存されたJSONレスポンス" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "住所" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "住所" -#: core/models.py:767 +#: core/models.py:791 msgid "unique code used by a user to redeem a discount" msgstr "ユーザーが割引を利用する際に使用する固有のコード" -#: core/models.py:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "プロモコード識別子" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "パーセントを使用しない場合に適用される固定割引額" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "固定割引額" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "定額を使用しない場合に適用される割引率" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "割引率" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "プロモコードの有効期限が切れるタイムスタンプ" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "終了有効時間" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "このプロモコードが有効なタイムスタンプ" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "開始有効時間" -#: core/models.py:800 +#: core/models.py:824 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "プロモコードが使用されたタイムスタンプ、未使用の場合は空白" -#: core/models.py:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "使用タイムスタンプ" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "該当する場合、このプロモコードに割り当てられたユーザー" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "担当ユーザー" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "プロモコード" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "プロモコード" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." -msgstr "割引の種類は1つだけ(金額またはパーセント)定義されるべきで、両方またはどちらも定義してはならない。" +msgstr "" +"割引の種類は1つだけ(金額またはパーセント)定義されるべきで、両方またはどちら" +"も定義してはならない。" -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "プロモコードはすでに使用されています" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "プロモコード {self.uuid} の割引タイプが無効です。" -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "この注文に使用される請求先住所" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "この注文に適用されるプロモコード" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "プロモーションコード適用" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "この注文に使用された配送先住所" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "配送先住所" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "ライフサイクルにおける現在の注文状況" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "注文状況" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 msgid "json structure of notifications to display to users" -msgstr "ユーザーに表示する通知のJSON構造、管理UIではテーブルビューが使用されます。" +msgstr "" +"ユーザーに表示する通知のJSON構造、管理UIではテーブルビューが使用されます。" -#: core/models.py:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "この注文の注文属性のJSON表現" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "注文を行ったユーザー" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "ユーザー" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "注文が確定したタイムスタンプ" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "時間を買う" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "オーダーの人間が読み取り可能な識別子。" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "人間が読めるID" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "オーダー" -#: core/models.py:951 +#: core/models.py:975 msgid "a user must have only one pending order at a time" msgstr "ユーザーは一度に1つの未決注文しか持つことができません!" -#: core/models.py:987 +#: core/models.py:1011 msgid "you cannot add products to an order that is not a pending one" msgstr "保留中の注文以外の注文に商品を追加することはできません。" -#: core/models.py:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "アクティブでない商品を注文に追加することはできません。" -#: core/models.py:1013 +#: core/models.py:1037 msgid "you cannot add more products than available in stock" msgstr "在庫以上の商品を追加することはできません。" -#: core/models.py:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 msgid "you cannot remove products from an order that is not a pending one" msgstr "保留中の注文以外の注文から商品を削除することはできません。" -#: core/models.py:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "クエリ<{query}>で{name}が存在しません。" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "プロモコードが存在しない" -#: core/models.py:1108 +#: core/models.py:1132 msgid "you can only buy physical products with shipping address specified" msgstr "配送先住所が指定された現物商品のみ購入可能!" -#: core/models.py:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "アドレスが存在しない" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "現在ご購入いただけません。数分後にもう一度お試しください。" -#: core/models.py:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "無効なフォース値" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "空注文はできません!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "注文を完了するための資金不足" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" -msgstr "ご登録がない場合はご購入いただけませんので、以下の情報をお知らせください:お客様のお名前、お客様のEメール、お客様の電話番号" +msgstr "" +"ご登録がない場合はご購入いただけませんので、以下の情報をお知らせください:お" +"客様のお名前、お客様のEメール、お客様の電話番号" -#: core/models.py:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" -msgstr "支払方法が無効です:{available_payment_methods}からの{payment_method}が無効です!" +msgstr "" +"支払方法が無効です:{available_payment_methods}からの{payment_method}が無効で" +"す!" -#: core/models.py:1300 +#: core/models.py:1324 msgid "the price paid by the customer for this product at purchase time" msgstr "この商品の購入時に顧客が支払った価格" -#: core/models.py:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "注文時の購入価格" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "この注文商品に関する管理者への内部コメント" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "社内コメント" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "ユーザー通知" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "このアイテムの属性のJSON表現" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "製品属性の順序" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "この商品を含む親注文への参照" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "親注文" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "この注文ラインに関連する特定の製品" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "注文に含まれる特定の商品の数量" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "製品数量" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "この商品の現在のご注文状況" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "製品ラインの状況" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "フィードバックに指定されたアクションが間違っています:{action}" -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "受信していない注文をフィードバックすることはできません。" -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "ダウンロード" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "ダウンロード" -#: core/models.py:1443 +#: core/models.py:1467 msgid "you can not download a digital asset for a non-finished order" msgstr "未完成の注文のデジタル資産をダウンロードすることはできません。" -#: core/models.py:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "ユーザーから寄せられた製品使用体験に関するコメント" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "フィードバック・コメント" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +msgid "references the specific product in an order that this feedback is about" msgstr "このフィードバックが対象としている注文の特定の製品を参照する。" -#: core/models.py:1466 +#: core/models.py:1490 msgid "related order product" msgstr "関連注文商品" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "ユーザーによる製品の評価" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "製品評価" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "フィードバック" #: core/serializers/utility.py:87 msgid "" "you must provide a comment, rating, and order product uuid to add feedback." -msgstr "フィードバックを追加するには、コメント、評価、および注文商品の uuid を入力する必要があります。" +msgstr "" +"フィードバックを追加するには、コメント、評価、および注文商品の uuid を入力す" +"る必要があります。" -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "プロモコード作成中にエラーが発生しました:{e!s}です。" @@ -2038,9 +2084,12 @@ msgstr "こんにちは、%(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 "ご注文ありがとうございます#%(order.pk)s!ご注文を承りましたことをお知らせいたします。以下、ご注文の詳細です:" +msgstr "" +"ご注文ありがとうございます#%(order.pk)s!ご注文を承りましたことをお知らせいた" +"します。以下、ご注文の詳細です:" #: core/templates/digital_order_created_email.html:112 #: core/templates/digital_order_delivered_email.html:111 @@ -2063,7 +2112,9 @@ msgstr "合計価格" msgid "" "if you have any questions, feel free to contact our support at\n" " %(config.EMAIL_HOST_USER)s." -msgstr "ご不明な点がございましたら、%(config.EMAIL_HOST_USER)sまでお気軽にお問い合わせください。" +msgstr "" +"ご不明な点がございましたら、%(config.EMAIL_HOST_USER)sまでお気軽にお問い合わ" +"せください。" #: core/templates/digital_order_created_email.html:133 #, python-format @@ -2089,7 +2140,8 @@ msgstr "こんにちは、%(user_first_name)sです、" msgid "" "we have successfully processed your order №%(order_uuid)s! below are the\n" " details of your order:" -msgstr "ご注文の№%(order_uuid)sが正常に処理されました!以下はご注文の詳細です:" +msgstr "" +"ご注文の№%(order_uuid)sが正常に処理されました!以下はご注文の詳細です:" #: core/templates/digital_order_delivered_email.html:129 msgid "" @@ -2109,7 +2161,9 @@ msgstr "価値" msgid "" "if you have any questions, feel free to contact our support at\n" " %(contact_email)s." -msgstr "ご不明な点がございましたら、%(contact_email)sまでお気軽にお問い合わせください。" +msgstr "" +"ご不明な点がございましたら、%(contact_email)sまでお気軽にお問い合わせくださ" +"い。" #: core/templates/digital_order_delivered_email.html:166 #, python-format @@ -2123,9 +2177,12 @@ msgstr "キー" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" -msgstr "ご注文ありがとうございます!ご購入を確認させていただきました。以下、ご注文の詳細です:" +msgstr "" +"ご注文ありがとうございます!ご購入を確認させていただきました。以下、ご注文の" +"詳細です:" #: core/templates/shipped_order_created_email.html:123 #: core/templates/shipped_order_delivered_email.html:123 @@ -2160,12 +2217,12 @@ msgstr "データとタイムアウトの両方が必要" msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "無効なタイムアウト値です。" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model}はモデルでなければならない" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data}はリストオブジェクトでなければならない" @@ -2189,7 +2246,7 @@ msgstr "{config.PROJECT_NAME}|プロジェクト名| 注文の配信" msgid "you do not have permission to perform this action." msgstr "この操作を行う権限がありません。" -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "NOMINATIM_URLパラメータを設定する必要があります!" @@ -2202,11 +2259,11 @@ msgstr "画像の寸法は、w{max_width} x h{max_height}ピクセルを超え msgid "invalid phone number format" msgstr "無効な電話番号形式" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "デジタルアセットのダウンロードは1回限りです。" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "ファビコンが見つかりません" @@ -2214,3 +2271,6 @@ msgstr "ファビコンが見つかりません" #, python-brace-format msgid "Geocoding error: {e}" msgstr "ジオコーディングエラー:{e}" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibesエンジン" diff --git a/core/locale/kk_KZ/LC_MESSAGES/django.po b/core/locale/kk_KZ/LC_MESSAGES/django.po index 35ad5311..bb728584 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-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -59,36 +59,36 @@ msgstr "" msgid "deactivate selected %(verbose_name_plural)s" msgstr "" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -96,31 +96,31 @@ msgstr "" msgid "price" msgstr "" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "" @@ -128,10 +128,6 @@ msgstr "" msgid "core" msgstr "" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "" @@ -198,7 +194,7 @@ msgstr "" msgid "send a message to the support team" msgstr "" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "" @@ -396,7 +392,7 @@ msgid "" "transaction is initiated." msgstr "" -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "" @@ -700,233 +696,233 @@ msgstr "" msgid "add or remove feedback on an order–product relation" msgstr "" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "" -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "" -#: core/graphene/mutations.py:483 +#: core/graphene/mutations.py:456 msgid "" "please send the attributes as the string formatted like attr1=value1," "attr2=value2" msgstr "" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "" @@ -938,128 +934,128 @@ msgstr "" msgid "groups of attributes" msgstr "" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" -#: core/graphene/object_types.py:142 +#: core/graphene/object_types.py:133 msgid "minimum and maximum prices for products in this category, if available." msgstr "" -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "" -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" msgstr "" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1067,31 +1063,31 @@ msgstr "" msgid "quantity" msgstr "" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1099,888 +1095,888 @@ msgstr "" msgid "product" msgstr "" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +msgid "priority" +msgstr "" + +#: core/models.py:265 msgid "name of this brand" msgstr "" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "" -#: core/models.py:296 -msgid "brand priority" -msgstr "" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "" -#: core/models.py:481 core/models.py:520 core/models.py:591 core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "" -#: core/models.py:767 +#: core/models.py:791 msgid "unique code used by a user to redeem a discount" msgstr "" -#: core/models.py:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "" -#: core/models.py:800 +#: core/models.py:824 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -#: core/models.py:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "" -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 msgid "json structure of notifications to display to users" msgstr "" -#: core/models.py:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "" -#: core/models.py:951 +#: core/models.py:975 msgid "a user must have only one pending order at a time" msgstr "" -#: core/models.py:987 +#: core/models.py:1011 msgid "you cannot add products to an order that is not a pending one" msgstr "" -#: core/models.py:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "" -#: core/models.py:1013 +#: core/models.py:1037 msgid "you cannot add more products than available in stock" msgstr "" -#: core/models.py:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 msgid "you cannot remove products from an order that is not a pending one" msgstr "" -#: core/models.py:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "" -#: core/models.py:1108 +#: core/models.py:1132 msgid "you can only buy physical products with shipping address specified" msgstr "" -#: core/models.py:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" -#: core/models.py:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "" -#: core/models.py:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" -#: core/models.py:1300 +#: core/models.py:1324 msgid "the price paid by the customer for this product at purchase time" msgstr "" -#: core/models.py:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "" -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "" -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "" -#: core/models.py:1443 +#: core/models.py:1467 msgid "you can not download a digital asset for a non-finished order" msgstr "" -#: core/models.py:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "" -#: core/models.py:1464 +#: core/models.py:1488 msgid "references the specific product in an order that this feedback is about" msgstr "" -#: core/models.py:1466 +#: core/models.py:1490 msgid "related order product" msgstr "" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "" @@ -1989,7 +1985,7 @@ msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "" -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "" @@ -2141,12 +2137,12 @@ msgstr "" msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "" @@ -2170,7 +2166,7 @@ msgstr "" msgid "you do not have permission to perform this action." msgstr "" -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "" @@ -2183,11 +2179,11 @@ msgstr "" msgid "invalid phone number format" msgstr "" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "" diff --git a/core/locale/nl_NL/LC_MESSAGES/django.mo b/core/locale/nl_NL/LC_MESSAGES/django.mo index 435d676557f470b895120b8b790e438dbc366564..b51370c5cc3cdd7b6a7e28b2cc4c1a5475e65051 100644 GIT binary patch delta 10977 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 a?QU?tP{tokb~nv9Hubn$#{734*83kQlY|EV delta 11098 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 TCYj@h3>!HtHM7`^-=qEqY_Fe? diff --git a/core/locale/nl_NL/LC_MESSAGES/django.po b/core/locale/nl_NL/LC_MESSAGES/django.po index 3b2240d4..f569bf15 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-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -27,8 +27,7 @@ msgstr "Is actief" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Als false is ingesteld, kan dit object niet worden gezien door gebruikers " "zonder de benodigde toestemming" @@ -59,36 +58,36 @@ msgstr "Activeer geselecteerde %(verbose_name_plural)s" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Deactiveer geselecteerde %(verbose_name_plural)s" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Attribuut Waarde" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Attribuutwaarden" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Naam" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Afbeelding" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Afbeeldingen" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Voorraad" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Aandelen" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -96,31 +95,31 @@ msgstr "Aandelen" msgid "price" msgstr "Prijs" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Productbeoordeling" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Basisinformatie" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Belangrijke data" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Product bestellen" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Producten bestellen" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Is zakelijk" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Config" @@ -128,10 +127,6 @@ msgstr "Config" msgid "core" msgstr "Kern" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes motor" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Afgewerkt" @@ -186,7 +181,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Alleen een sleutel gebruiken om toegestane gegevens uit de cache te lezen.\n" -"Sleutel, gegevens en time-out met verificatie toepassen om gegevens naar de cache te schrijven." +"Sleutel, gegevens en time-out met verificatie toepassen om gegevens naar de " +"cache te schrijven." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -200,7 +196,7 @@ msgstr "Verkrijg de blootstelbare parameters van de applicatie" msgid "send a message to the support team" msgstr "Stuur een bericht naar het ondersteuningsteam" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Vraag een CORSed URL op. Alleen https toegestaan." @@ -244,8 +240,7 @@ msgstr "" "opslaan" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Enkele velden van een bestaande attribuutgroep herschrijven door niet-" "wijzigbare velden op te slaan" @@ -300,8 +295,7 @@ msgstr "" "attributen worden opgeslagen" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Herschrijf sommige velden van een bestaande attribuutwaarde door niet-" "wijzigbare velden op te slaan" @@ -339,16 +333,15 @@ msgstr "Alle categorieën weergeven (eenvoudige weergave)" #: core/docs/drf/viewsets.py:152 msgid "for non-staff users, only their own orders are returned." msgstr "" -"Voor niet-personeelsleden worden alleen hun eigen bestellingen " -"geretourneerd." +"Voor niet-personeelsleden worden alleen hun eigen bestellingen geretourneerd." #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Hoofdlettergevoelig substring zoeken in human_readable_id, " -"order_products.product.name en order_products.product.partnumber" +"Hoofdlettergevoelig substring zoeken in human_readable_id, order_products." +"product.name en order_products.product.partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -381,13 +374,13 @@ msgstr "Filter op bestelstatus (hoofdlettergevoelige substringmatch)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Sorteer op een van: uuid, human_readable_id, user_email, gebruiker, status, " -"gemaakt, gewijzigd, buy_time, willekeurig. Voorvoegsel met '-' voor aflopend" -" (bijv. '-buy_time')." +"gemaakt, gewijzigd, buy_time, willekeurig. Voorvoegsel met '-' voor aflopend " +"(bijv. '-buy_time')." #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -429,15 +422,14 @@ msgstr "" "wordt de aankoop afgerond met het saldo van de gebruiker; als " "`force_payment` wordt gebruikt, wordt een transactie gestart." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "een bestelling kopen zonder een account aan te maken" #: core/docs/drf/viewsets.py:246 msgid "finalizes the order purchase for a non-registered user." msgstr "" -"Rondt de aankoop van de bestelling af voor een niet-geregistreerde " -"gebruiker." +"Rondt de aankoop van de bestelling af voor een niet-geregistreerde gebruiker." #: core/docs/drf/viewsets.py:254 msgid "add product to order" @@ -571,18 +563,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filter op een of meer attribuutnaam-/waardeparen. \n" "- **Syntaxis**: `attr_name=methode-waarde[;attr2=methode2-waarde2]...`\n" -"- **Methodes** (standaard op `icontains` indien weggelaten): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- Waarde typen**: JSON wordt eerst geprobeerd (zodat je lijsten/dicten kunt doorgeven), `true`/`false` voor booleans, integers, floats; anders behandeld als string. \n" -"- **Base64**: prefix met `b64-` om URL-veilige base64-encodering van de ruwe waarde. \n" +"- **Methodes** (standaard op `icontains` indien weggelaten): `iexact`, " +"`exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, " +"`endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" +"- Waarde typen**: JSON wordt eerst geprobeerd (zodat je lijsten/dicten kunt " +"doorgeven), `true`/`false` voor booleans, integers, floats; anders behandeld " +"als string. \n" +"- **Base64**: prefix met `b64-` om URL-veilige base64-encodering van de ruwe " +"waarde. \n" "Voorbeelden: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`." @@ -637,11 +639,14 @@ msgstr "(exact) Digitaal vs. fysiek" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Door komma's gescheiden lijst van velden om op te sorteren. Voorvoegsel met `-` voor aflopend. \n" -"**Toegestaan:** uuid, beoordeling, naam, slug, gemaakt, gewijzigd, prijs, willekeurig" +"Door komma's gescheiden lijst van velden om op te sorteren. Voorvoegsel met " +"`-` voor aflopend. \n" +"**Toegestaan:** uuid, beoordeling, naam, slug, gemaakt, gewijzigd, prijs, " +"willekeurig" #: core/docs/drf/viewsets.py:441 msgid "retrieve a single product (detailed view)" @@ -749,8 +754,7 @@ msgstr "alle order-productrelaties weergeven (eenvoudige weergave)" #: core/docs/drf/viewsets.py:629 msgid "retrieve a single order–product relation (detailed view)" -msgstr "" -"een enkele bestelling-productrelatie ophalen (gedetailleerde weergave)" +msgstr "een enkele bestelling-productrelatie ophalen (gedetailleerde weergave)" #: core/docs/drf/viewsets.py:636 msgid "create a new order–product relation" @@ -772,235 +776,235 @@ msgstr "een order-productrelatie verwijderen" msgid "add or remove feedback on an order–product relation" msgstr "feedback toevoegen of verwijderen op een order-productrelatie" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "Geen zoekterm opgegeven." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Naam" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Categorieën" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Categorieën Naaktslakken" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Tags" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Min Prijs" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Maximale prijs" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Is actief" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Merk" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Attributen" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Hoeveelheid" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Slak" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "Is digitaal" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Subcategorieën opnemen" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" "Er moet een categorie_uuid zijn om include_subcategories vlag te gebruiken" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Zoeken (ID, productnaam of onderdeelnummer)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Gekocht na (inclusief)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Eerder gekocht (inclusief)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "E-mail gebruiker" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "Gebruiker UUID" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Status" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "Menselijk leesbare ID" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Ouder" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Hele categorie (heeft minstens 1 product of niet)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Niveau" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "Product UUID" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Sleutel om te zoeken of te plaatsen in de cache" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Gegevens om op te slaan in de cache" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Time-out in seconden om de gegevens in de cache te plaatsen" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Gecachte gegevens" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON-gegevens van de opgevraagde URL" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Alleen URL's die beginnen met http(s):// zijn toegestaan" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Een product aan de bestelling toevoegen" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Order {order_uuid} niet gevonden" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Een product uit de bestelling verwijderen" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Alle producten uit de bestelling verwijderen" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Een bestelling kopen" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Geef order_uuid of order_hr_id - wederzijds exclusief!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Verkeerd type kwam uit order.buy() methode: {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Een actie uitvoeren op een lijst met producten in de bestelling" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Verwijderen/toevoegen" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "De actie moet \"toevoegen\" of \"verwijderen\" zijn!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Een product aan de bestelling toevoegen" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Verlanglijst {wishlist_uuid} niet gevonden" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Een product uit de bestelling verwijderen" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Een product uit de bestelling verwijderen" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Een product uit de bestelling verwijderen" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Een bestelling kopen" -#: core/graphene/mutations.py:483 +#: 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 "" "Stuur de attributen als de string opgemaakt als attr1=waarde1,attr2=waarde2" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Originele adresstring geleverd door de gebruiker" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} bestaat niet: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "Limiet moet tussen 1 en 10 liggen" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - werkt als een charme" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Attributen" @@ -1012,87 +1016,86 @@ msgstr "Gegroepeerde kenmerken" msgid "groups of attributes" msgstr "Groepen van kenmerken" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Categorieën" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Merken" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Categorieën" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Opwaarderingspercentage" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" "Welke attributen en waarden kunnen worden gebruikt om deze categorie te " "filteren." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Minimale en maximale prijzen voor producten in deze categorie, indien " "beschikbaar." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Tags voor deze categorie" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Producten in deze categorie" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Verkopers" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Breedtegraad (Y-coördinaat)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Lengtegraad (X-coördinaat)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Hoe" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Waarderingswaarde van 1 tot en met 10, of 0 indien niet ingesteld." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Vertegenwoordigt feedback van een gebruiker." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Meldingen" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "Download url voor dit bestelproduct indien van toepassing" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "Een lijst met bestelde producten in deze bestelling" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Factuuradres" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1100,47 +1103,47 @@ msgstr "" "Verzendadres voor deze bestelling, leeg laten als dit hetzelfde is als het " "factuuradres of als dit niet van toepassing is" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Totale prijs van deze bestelling" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Totale hoeveelheid producten in bestelling" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Zijn alle producten in de bestelling digitaal" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Bestellingen" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "Afbeelding URL" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Afbeeldingen van het product" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Categorie" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Reacties" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Merk" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Attribuutgroepen" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1148,31 +1151,31 @@ msgstr "Attribuutgroepen" msgid "quantity" msgstr "Hoeveelheid" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Aantal terugkoppelingen" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Producten" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Producten te koop" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Promoties" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Verkoper" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1180,795 +1183,795 @@ msgstr "Verkoper" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Gewenste producten" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Verlanglijst" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Getagde producten" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Product tags" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Getagde categorieën" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Categorieën' tags" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Naam project" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "Bedrijf E-mail" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Bedrijfsnaam" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Adres" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Telefoonnummer bedrijf" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "e-mail van', soms moet deze worden gebruikt in plaats van de " "hostgebruikerswaarde" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "Gebruiker e-mail hosten" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Maximumbedrag voor betaling" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Minimumbedrag voor betaling" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Analytics-gegevens" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Advertentiegegevens" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Configuratie" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Taalcode" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Naam van de taal" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Taalvlag, indien aanwezig :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Een lijst met ondersteunde talen opvragen" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Producten zoekresultaten" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Zoekresultaten" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Ouder van deze groep" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Ouderattribuutgroep" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Naam attribuutgroep" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Attribuutgroep" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Slaat referenties en eindpunten op die vereist zijn voor API-communicatie " "van de verkoper" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Authenticatie-info" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "" "Definieer de opmaak voor producten die zijn opgehaald bij deze leverancier" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Verkoper winstpercentage" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Naam van deze verkoper" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Naam verkoper" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Interne tagidentifier voor de producttag" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Tag naam" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "Gebruiksvriendelijke naam voor de producttag" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Tag weergavenaam" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Productlabel" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "categorie tag" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "categorie tags" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Upload een afbeelding die deze categorie vertegenwoordigt" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Categorie afbeelding" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "Definieer een toeslagpercentage voor producten in deze categorie" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Ouder van deze categorie om een hiërarchische structuur te vormen" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Oudercategorie" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Naam categorie" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Geef deze categorie een naam" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Voeg een gedetailleerde beschrijving toe voor deze categorie" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Categorie beschrijving" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "tags die deze categorie helpen beschrijven of groeperen" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Prioriteit van het merk" + +#: core/models.py:265 msgid "name of this brand" msgstr "Naam van dit merk" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Merknaam" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Upload een logo dat dit merk vertegenwoordigt" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Klein merkimago" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Upload een groot logo dat dit merk vertegenwoordigt" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Groot merkimago" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Een gedetailleerde beschrijving van het merk toevoegen" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Merknaam" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Optionele categorieën waarmee dit merk wordt geassocieerd" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Categorieën" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "Brand's slak" -#: core/models.py:296 -msgid "brand priority" -msgstr "Prioriteit van het merk" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Categorie waartoe dit product behoort" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Dit product optioneel koppelen aan een merk" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Tags die dit product helpen beschrijven of groeperen" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Geeft aan of dit product digitaal wordt geleverd" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "Is product digitaal" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Zorg voor een duidelijke identificerende naam voor het product" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Naam product" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Voeg een gedetailleerde beschrijving van het product toe" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Productbeschrijving" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Onderdeelnummer voor dit product" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Onderdeelnummer" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Categorie van dit kenmerk" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Groep van dit kenmerk" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "String" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Integer" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Vlotter" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Booleaans" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Array" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Object" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Type waarde van het kenmerk" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Waardetype" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Naam van dit kenmerk" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Naam attribuut" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Attribuut" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Attribuut van deze waarde" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "Het specifieke product geassocieerd met de waarde van dit kenmerk" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Bijbehorend product" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "De specifieke waarde voor dit kenmerk" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "Geef alternatieve tekst voor de afbeelding voor toegankelijkheid" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "Alt-tekst afbeelding" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Upload het afbeeldingsbestand voor dit product" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Product afbeelding" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Bepaalt de volgorde waarin afbeeldingen worden weergegeven" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Prioriteit weergeven" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "Het product dat deze afbeelding vertegenwoordigt" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Product afbeeldingen" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Kortingspercentage voor de geselecteerde producten" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Kortingspercentage" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Geef deze promotie een unieke naam" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Naam promotie" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Promotie beschrijving" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Selecteer welke producten onder deze promotie vallen" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Meegeleverde producten" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Promotie" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "De verkoper die dit product levert" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Geassocieerde verkoper" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Eindprijs voor de klant na winstmarges" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Verkoopprijs" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "Het product dat bij deze voorraadvermelding hoort" -#: core/models.py:598 +#: core/models.py:622 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:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Aankoopprijs verkoper" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Beschikbare hoeveelheid van het product in voorraad" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Hoeveelheid op voorraad" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "Door de verkoper toegewezen SKU om het product te identificeren" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "Verkoper SKU" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "Digitaal bestand gekoppeld aan deze voorraad indien van toepassing" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "Digitaal bestand" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Voorraadboekingen" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Producten die de gebruiker als gewenst heeft gemarkeerd" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "Gebruiker die eigenaar is van deze verlanglijst" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Eigenaar verlanglijstje" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Verlanglijst" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} bestaat niet: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Documentaire" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Documentaires" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Onopgelost" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Adresregel voor de klant" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Adresregel" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Straat" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "District" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "Stad" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Regio" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Postcode" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "Land" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocatie Punt (lengtegraad, breedtegraad)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Volledig JSON-antwoord van geocoder voor dit adres" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Opgeslagen JSON-antwoord van de geocoderingsservice" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Adres" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Adressen" -#: core/models.py:767 +#: core/models.py:791 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:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Promo code identificatie" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "" "Vast kortingsbedrag dat wordt toegepast als percentage niet wordt gebruikt" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Vast kortingsbedrag" -#: core/models.py:782 +#: core/models.py:806 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:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Kortingspercentage" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Tijdstempel wanneer de promocode verloopt" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "Geldigheidsduur einde" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Tijdstempel vanaf wanneer deze promocode geldig is" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Begin geldigheidsduur" -#: core/models.py:800 +#: core/models.py:824 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -"Tijdstempel wanneer de promocode werd gebruikt, leeg indien nog niet " -"gebruikt" +"Tijdstempel wanneer de promocode werd gebruikt, leeg indien nog niet gebruikt" -#: core/models.py:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Gebruik tijdstempel" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "Gebruiker toegewezen aan deze promocode indien van toepassing" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Toegewezen gebruiker" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Kortingscode" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Actiecodes" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -"Er moet slechts één type korting worden gedefinieerd (bedrag of percentage)," -" maar niet beide of geen van beide." +"Er moet slechts één type korting worden gedefinieerd (bedrag of percentage), " +"maar niet beide of geen van beide." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "Promocode is al gebruikt" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Ongeldig kortingstype voor promocode {self.uuid}" -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "Het factuuradres dat voor deze bestelling is gebruikt" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Optionele promotiecode toegepast op deze bestelling" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Kortingscode toegepast" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "Het verzendadres dat voor deze bestelling is gebruikt" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Verzendadres" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Huidige status van de order in zijn levenscyclus" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Bestelstatus" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 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:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "JSON-weergave van bestelattributen voor deze bestelling" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "De gebruiker die de bestelling heeft geplaatst" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "Gebruiker" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "De tijdstempel waarop de bestelling is afgerond" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Tijd kopen" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "Een menselijk leesbare identificatiecode voor de bestelling" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "menselijk leesbare ID" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Bestel" -#: core/models.py:951 +#: core/models.py:975 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:987 +#: core/models.py:1011 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:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "U kunt geen inactieve producten toevoegen aan uw bestelling" -#: core/models.py:1013 +#: core/models.py:1037 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:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 msgid "you cannot remove products from an order that is not a pending one" msgstr "" -"U kunt geen producten verwijderen uit een bestelling die niet in behandeling" -" is." +"U kunt geen producten verwijderen uit een bestelling die niet in behandeling " +"is." -#: core/models.py:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} bestaat niet met query <{query}>" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Promocode bestaat niet" -#: core/models.py:1108 +#: core/models.py:1132 msgid "you can only buy physical products with shipping address specified" msgstr "Je kunt alleen fysieke producten kopen met opgegeven verzendadres!" -#: core/models.py:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "Adres bestaat niet" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Ongeldige krachtwaarde" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "Je kunt geen lege bestelling kopen!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Onvoldoende fondsen om de bestelling te voltooien" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1976,122 +1979,120 @@ msgstr "" "u niet kunt kopen zonder registratie, geef dan de volgende informatie: " "klantnaam, e-mail klant, telefoonnummer klant" -#: core/models.py:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" -"Ongeldige betalingsmethode: {payment_method} van " -"{available_payment_methods}!" +"Ongeldige betalingsmethode: {payment_method} van {available_payment_methods}!" -#: core/models.py:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Aankoopprijs bij bestelling" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "Interne opmerkingen voor beheerders over dit bestelde product" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Interne opmerkingen" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "Meldingen van gebruikers" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "JSON weergave van de attributen van dit item" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Geordende producteigenschappen" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Verwijzing naar de bovenliggende bestelling die dit product bevat" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Ouderlijk bevel" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "Het specifieke product dat bij deze bestelregel hoort" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Hoeveelheid van dit specifieke product in de bestelling" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Hoeveelheid product" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Huidige status van dit product in de bestelling" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Status productlijn" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "verkeerde actie opgegeven voor feedback: {action}" -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "" -"U kunt geen producten verwijderen uit een bestelling die niet in behandeling" -" is." +"U kunt geen producten verwijderen uit een bestelling die niet in behandeling " +"is." -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "Downloaden" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Downloads" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "Opmerkingen van gebruikers over hun ervaring met het product" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Reacties" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +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:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Gerelateerd product bestellen" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "Door de gebruiker toegekende waardering voor het product" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Productbeoordeling" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Feedback" @@ -2102,7 +2103,7 @@ msgstr "" "Om feedback toe te voegen, moet je een opmerking, beoordeling en " "productidentificatie opgeven." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Fout tijdens aanmaken promocode: {e!s}" @@ -2134,7 +2135,8 @@ msgstr "Hallo %(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 "" "Hartelijk dank voor uw bestelling #%(order.pk)s! We zijn blij om u te " @@ -2228,7 +2230,8 @@ msgstr "Sleutel" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Bedankt voor uw bestelling! We zijn blij om uw aankoop te bevestigen. " @@ -2265,15 +2268,14 @@ msgstr "Zowel gegevens als time-out zijn vereist" #: core/utils/caching.py:43 msgid "invalid timeout value, it must be between 0 and 216000 seconds" -msgstr "" -"Ongeldige time-outwaarde, deze moet tussen 0 en 216000 seconden liggen" +msgstr "Ongeldige time-outwaarde, deze moet tussen 0 en 216000 seconden liggen" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} moet model zijn" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} moet een lijstobject zijn" @@ -2297,7 +2299,7 @@ msgstr "{config.PROJECT_NAME}. | Geleverd" msgid "you do not have permission to perform this action." msgstr "U hebt geen toestemming om deze actie uit te voeren." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "De parameter NOMINATIM_URL moet worden geconfigureerd!" @@ -2312,11 +2314,11 @@ msgstr "" msgid "invalid phone number format" msgstr "Ongeldig formaat telefoonnummer" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "U kunt het digitale goed maar één keer downloaden" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "favicon niet gevonden" @@ -2324,3 +2326,6 @@ msgstr "favicon niet gevonden" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Fout bij geocodering: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes motor" diff --git a/core/locale/pl_PL/LC_MESSAGES/django.mo b/core/locale/pl_PL/LC_MESSAGES/django.mo index bda0bb116786a8b5f69d79ae4e4baf493e47adb4..bcaf5301bb1fd9f30511a66bc68ffa759ca7f312 100644 GIT binary patch delta 10977 zcmZwNcU+fM|HtuTD2RxNB8rHh2qKCD5hvizoaNq$19Rpc8D4Hm&Al>nRIYNQs5x?^ zW@>3#sg-7~%1SG{&2ruSUT@Cfe)z}ldfXqMpU=70xz0J)^)-LLLz8_@P4e+B7s)>87z`uZ;*r~sk`G&9$+li zrcS78AD}6TlQ0yUqCfUPb)Y{M#}TLw&O~*59_qM_&TLf2 z_G4cB9^b$l=!=sQ86C{R5bkdlk>tmX7>CId7qEcn8(7hseVk-|EIx zz$A>tp2$7Tbky}fz-T;#I_?H~jG`%&WQVXWYDXWegRh~6^f*S~b!Q&NQ9~KYA0gNQ zH8KOSIZi=8JcSy`bEqf2g}Tmt)B_YxX8t>olu0(GHIBzLJdTYqe@*5WTOrH9^unSz z8w=rTw|^^6pgxQ-m|DwDQC|$C9*D(o9O`;=Fc{a=V*J&UY#LbjWIz~cCq z+aJh^QhS86GHMFaP#tTIQP>mX(R2IXMP|wDL`}&}x4)#vIP1nuP(#)M^_uiREwV{& z{|r=*m!NLA!I|ya51`h{8PpSBKwakt)X?XzYu7+A)B~5s0QBNW)YBw)!1JgZynyQ1 zNY_3UHP^FIL%#+!l<%W%cmzx0ST{O#tJwKc_YnET#L6+ z$1iMXr+h_2#y^RM?KEh$|AZRa+sL{xv5jm`dt)5+A}oXZQ62gobpu~M7J5xnQ6tz9 zwH5|o6i!4f&Q++X+Ka95v&J3^jHF}}V}{^-R7d_rt@3HT1zyE*6I+QEQblRldI*-L_9l>M3YMcT{5h7#Yt91A?T{xr z+hY{_$6y35#j3ayBk@PK-?xQ*((;&>_I9X|>WrF-fmY8bsGFx=to)aleLIoX4;r_cs?w0`Mm4 zf_G7K72L)yss!|-?&BPUdh(H|MU{mKcn~#}w~+;I%0A0{V}I23_n>b4G3r6TMNb#L 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 ns!{r=e*Iq@k-a;~T{weY1UL?oa+d|3-X& delta 11085 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Jest aktywny" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Jeśli ustawione na false, obiekt ten nie może być widoczny dla użytkowników " "bez wymaganych uprawnień." @@ -61,36 +60,36 @@ msgstr "Aktywuj wybrane %(verbose_name_plural)s" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Dezaktywacja wybranych %(verbose_name_plural)s" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Wartość atrybutu" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Wartości atrybutów" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Nazwa" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Obraz" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Obrazy" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Stan magazynowy" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Akcje" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -98,31 +97,31 @@ msgstr "Akcje" msgid "price" msgstr "Cena" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Ocena" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Podstawowe informacje" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Ważne daty" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Zamów produkt" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Zamawianie produktów" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Czy biznes" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Konfiguracja" @@ -130,10 +129,6 @@ msgstr "Konfiguracja" msgid "core" msgstr "Rdzeń" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "Silnik eVibes" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Zakończony" @@ -188,7 +183,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Zastosuj tylko klucz, aby odczytać dozwolone dane z pamięci podręcznej.\n" -"Zastosuj klucz, dane i limit czasu z uwierzytelnianiem, aby zapisać dane w pamięci podręcznej." +"Zastosuj klucz, dane i limit czasu z uwierzytelnianiem, aby zapisać dane w " +"pamięci podręcznej." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -202,7 +198,7 @@ msgstr "Uzyskaj dostępne parametry aplikacji" msgid "send a message to the support team" msgstr "Wyślij wiadomość do zespołu wsparcia" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Żądanie adresu URL CORSed. Dozwolony jest tylko protokół https." @@ -245,8 +241,7 @@ msgstr "" "nieedytowalnych" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Przepisanie niektórych pól istniejącej grupy atrybutów z zachowaniem " "atrybutów nieedytowalnych" @@ -301,8 +296,7 @@ msgstr "" "nieedytowalnych" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Przepisz niektóre pola istniejącej wartości atrybutu, zapisując wartości " "nieedytowalne" @@ -345,11 +339,11 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Wyszukiwanie podciągów z uwzględnieniem wielkości liter w human_readable_id," -" order_products.product.name i order_products.product.partnumber." +"Wyszukiwanie podciągów z uwzględnieniem wielkości liter w human_readable_id, " +"order_products.product.name i order_products.product.partnumber." #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -382,14 +376,14 @@ msgstr "Filtrowanie według identyfikatora UUID użytkownika" #: core/docs/drf/viewsets.py:195 msgid "Filter by order status (case-insensitive substring match)" msgstr "" -"Filtrowanie według statusu zamówienia (dopasowanie podciągu z uwzględnieniem" -" wielkości liter)" +"Filtrowanie według statusu zamówienia (dopasowanie podciągu z uwzględnieniem " +"wielkości liter)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Kolejność według jednego z: uuid, human_readable_id, user_email, user, " "status, created, modified, buy_time, random. Prefiks z \"-\" dla malejącego " @@ -435,7 +429,7 @@ msgstr "" "finalizowany przy użyciu salda użytkownika; Jeśli użyto `force_payment`, " "transakcja jest inicjowana." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "zakup zamówienia bez tworzenia konta" @@ -569,18 +563,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrowanie według jednej lub więcej par atrybut/wartość. \n" "- Składnia**: `attr_name=method-value[;attr2=method2-value2]...`\n" -"- **Metody** (domyślnie `icontains` jeśli pominięte): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- Wpisywanie wartości**: JSON jest próbowany jako pierwszy (więc można przekazywać listy/dykty), `true`/`false` dla booleans, integers, floats; w przeciwnym razie traktowane jako string. \n" -"- Base64**: prefiks z `b64-` do bezpiecznego dla adresów URL kodowania base64 surowej wartości. \n" +"- **Metody** (domyślnie `icontains` jeśli pominięte): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" +"- Wpisywanie wartości**: JSON jest próbowany jako pierwszy (więc można " +"przekazywać listy/dykty), `true`/`false` dla booleans, integers, floats; w " +"przeciwnym razie traktowane jako string. \n" +"- Base64**: prefiks z `b64-` do bezpiecznego dla adresów URL kodowania " +"base64 surowej wartości. \n" "Przykłady: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -635,10 +639,12 @@ msgstr "(dokładnie) Cyfrowe vs. fizyczne" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Rozdzielana przecinkami lista pól do posortowania. Prefiks z `-` dla sortowania malejącego. \n" +"Rozdzielana przecinkami lista pól do posortowania. Prefiks z `-` dla " +"sortowania malejącego. \n" "**Dozwolone:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -768,235 +774,235 @@ msgstr "usunąć relację zamówienie-produkt" msgid "add or remove feedback on an order–product relation" msgstr "dodawanie lub usuwanie opinii na temat relacji zamówienie-produkt" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "Nie podano wyszukiwanego hasła." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Nazwa" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Kategorie" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Kategorie Ślimaki" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Tagi" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Cena minimalna" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Maksymalna cena" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Jest aktywny" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Marka" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Atrybuty" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Ilość" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Ślimak" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "Czy cyfrowy" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Uwzględnienie podkategorii" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "Aby użyć flagi include_subcategories, musi istnieć category_uuid" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Wyszukiwanie (ID, nazwa produktu lub numer części)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Kupione po (włącznie)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Kupione wcześniej (włącznie)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "E-mail użytkownika" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "UUID użytkownika" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Status" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "Identyfikator czytelny dla człowieka" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Rodzic" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Cała kategoria (ma co najmniej 1 produkt lub nie)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Poziom" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "UUID produktu" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Klucz do wyszukania lub ustawienia w pamięci podręcznej" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Dane do przechowywania w pamięci podręcznej" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Limit czasu w sekundach na wprowadzenie danych do pamięci podręcznej" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Dane w pamięci podręcznej" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Kamelizowane dane JSON z żądanego adresu URL" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Dozwolone są tylko adresy URL zaczynające się od http(s)://" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Dodawanie produktu do zamówienia" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Nie znaleziono zamówienia {order_uuid}" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Usunięcie produktu z zamówienia" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Usuń wszystkie produkty z zamówienia" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Kup zamówienie" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Podaj albo order_uuid albo order_hr_id - wzajemnie się wykluczają!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Nieprawidłowy typ pochodzi z metody order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Wykonanie akcji na liście produktów w zamówieniu" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Usuń/Dodaj" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "Akcją musi być \"dodaj\" lub \"usuń\"!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Dodawanie produktu do zamówienia" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Lista życzeń {wishlist_uuid} nie została znaleziona" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Usunięcie produktu z zamówienia" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Usunięcie produktu z zamówienia" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Usunięcie produktu z zamówienia" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Kup zamówienie" -#: core/graphene/mutations.py:483 +#: 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 "" "Prześlij atrybuty jako ciąg znaków sformatowany w następujący sposób: " "attr1=value1,attr2=value2" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Oryginalny ciąg adresu podany przez użytkownika" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} nie istnieje: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "Limit musi wynosić od 1 do 10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - działa jak urok" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Atrybuty" @@ -1008,85 +1014,84 @@ msgstr "Atrybuty pogrupowane" msgid "groups of attributes" msgstr "Grupy atrybutów" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Kategorie" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Marki" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Kategorie" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Procentowy narzut" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" "Które atrybuty i wartości mogą być używane do filtrowania tej kategorii." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Minimalne i maksymalne ceny produktów w tej kategorii, jeśli są dostępne." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Tagi dla tej kategorii" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Produkty w tej kategorii" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Sprzedawcy" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Szerokość geograficzna (współrzędna Y)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Długość geograficzna (współrzędna X)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Jak" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Wartość oceny od 1 do 10 włącznie lub 0, jeśli nie jest ustawiona." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Reprezentuje informacje zwrotne od użytkownika." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Powiadomienia" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "Adres URL pobierania dla tego produktu zamówienia, jeśli dotyczy" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "Lista zamówionych produktów w tym zamówieniu" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Adres rozliczeniowy" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1094,47 +1099,47 @@ msgstr "" "Adres wysyłki dla tego zamówienia, pozostaw pusty, jeśli jest taki sam jak " "adres rozliczeniowy lub jeśli nie dotyczy" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Całkowita cena tego zamówienia" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Całkowita ilość produktów w zamówieniu" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Czy wszystkie produkty w zamówieniu są cyfrowe?" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Zamówienia" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "Adres URL obrazu" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Zdjęcia produktu" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Kategoria" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Informacje zwrotne" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Marka" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Grupy atrybutów" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1142,31 +1147,31 @@ msgstr "Grupy atrybutów" msgid "quantity" msgstr "Ilość" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Liczba informacji zwrotnych" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Produkty" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Produkty w sprzedaży" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Promocje" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Sprzedawca" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1174,649 +1179,650 @@ msgstr "Sprzedawca" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Produkty z listy życzeń" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Listy życzeń" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Produkty Tagged" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Tagi produktu" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Kategorie oznaczone tagami" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Tagi kategorii" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Nazwa projektu" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "Firmowy adres e-mail" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Nazwa firmy" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Adres firmy" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Numer telefonu firmy" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" -msgstr "\"email from\", czasami musi być użyty zamiast wartości użytkownika hosta" +msgstr "" +"\"email from\", czasami musi być użyty zamiast wartości użytkownika hosta" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "Użytkownik hosta poczty e-mail" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Maksymalna kwota płatności" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Minimalna kwota płatności" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Dane analityczne" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Dane reklamowe" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Konfiguracja" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Kod języka" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Nazwa języka" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Flaga języka, jeśli istnieje :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Pobierz listę obsługiwanych języków" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Wyniki wyszukiwania produktów" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Wyniki wyszukiwania produktów" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Rodzic tej grupy" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Grupa atrybutów nadrzędnych" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Nazwa grupy atrybutów" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Grupa atrybutów" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Przechowuje dane uwierzytelniające i punkty końcowe wymagane do komunikacji " "API dostawcy." -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Informacje o uwierzytelnianiu" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "Definiowanie znaczników dla produktów pobranych od tego dostawcy" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Procentowa marża sprzedawcy" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Nazwa tego sprzedawcy" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Nazwa sprzedawcy" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Wewnętrzny identyfikator tagu produktu" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Nazwa tagu" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "Przyjazna dla użytkownika nazwa etykiety produktu" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Wyświetlana nazwa znacznika" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Etykieta produktu" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "tag kategorii" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "tagi kategorii" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Prześlij obraz reprezentujący tę kategorię" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Obraz kategorii" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "Zdefiniuj procentowy narzut dla produktów w tej kategorii." -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Rodzic tej kategorii w celu utworzenia struktury hierarchicznej" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Kategoria nadrzędna" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Nazwa kategorii" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Podaj nazwę dla tej kategorii" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Dodaj szczegółowy opis dla tej kategorii" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Opis kategorii" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "tagi, które pomagają opisać lub pogrupować tę kategorię" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Priorytet marki" + +#: core/models.py:265 msgid "name of this brand" msgstr "Nazwa tej marki" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Nazwa marki" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Prześlij logo reprezentujące tę markę" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Mały wizerunek marki" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Prześlij duże logo reprezentujące tę markę" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Duży wizerunek marki" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Dodaj szczegółowy opis marki" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Opis marki" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Opcjonalne kategorie, z którymi powiązana jest ta marka" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Kategorie" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "Brand's slug" -#: core/models.py:296 -msgid "brand priority" -msgstr "Priorytet marki" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Kategoria, do której należy ten produkt" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Opcjonalnie można powiązać ten produkt z marką" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Tagi, które pomagają opisać lub pogrupować ten produkt" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Wskazuje, czy produkt jest dostarczany cyfrowo." -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "Czy produkt jest cyfrowy?" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Wyraźna nazwa identyfikująca produkt" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Nazwa produktu" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Dodaj szczegółowy opis produktu" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Opis produktu" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Numer części dla tego produktu" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Numer części" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Kategoria tego atrybutu" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Grupa tego atrybutu" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "String" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Integer" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Pływak" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Wartość logiczna" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Tablica" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Obiekt" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Typ wartości atrybutu" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Typ wartości" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Nazwa tego atrybutu" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Nazwa atrybutu" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Atrybut" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Atrybut tej wartości" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "Konkretny produkt powiązany z wartością tego atrybutu" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Produkt powiązany" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "Konkretna wartość dla tego atrybutu" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" -msgstr "" -"Zapewnienie alternatywnego tekstu dla obrazu w celu ułatwienia dostępu" +msgstr "Zapewnienie alternatywnego tekstu dla obrazu w celu ułatwienia dostępu" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "Tekst alternatywny obrazu" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Prześlij plik obrazu dla tego produktu" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Obraz produktu" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Określa kolejność wyświetlania obrazów" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Priorytet wyświetlania" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "Produkt, który przedstawia ten obraz" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Zdjęcia produktów" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Rabat procentowy na wybrane produkty" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Procent rabatu" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Podaj unikalną nazwę tej promocji" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Nazwa promocji" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Opis promocji" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Wybierz produkty objęte promocją" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Dołączone produkty" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Promocja" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "Sprzedawca dostarczający ten produkt" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Powiązany sprzedawca" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Ostateczna cena dla klienta po uwzględnieniu marży" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Cena sprzedaży" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "Produkt powiązany z tym wpisem magazynowym" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "Cena zapłacona sprzedawcy za ten produkt" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Cena zakupu przez sprzedawcę" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Dostępna ilość produktu w magazynie" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Ilość w magazynie" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "Jednostki SKU przypisane przez dostawcę w celu identyfikacji produktu" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "SKU sprzedawcy" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "Plik cyfrowy powiązany z tymi zapasami, jeśli dotyczy" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "Plik cyfrowy" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Zapisy magazynowe" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Produkty, które użytkownik oznaczył jako poszukiwane" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "Użytkownik posiadający tę listę życzeń" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Właściciel listy życzeń" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Lista życzeń" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} nie istnieje: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Film dokumentalny" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Filmy dokumentalne" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Nierozwiązany" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Linia adresu dla klienta" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Linia adresowa" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "ul." -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "Okręg" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "Miasto" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Region" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Kod pocztowy" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "Kraj" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Longitude, Latitude)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Pełna odpowiedź JSON z geokodera dla tego adresu" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Przechowywana odpowiedź JSON z usługi geokodowania" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Adres" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Adresy" -#: core/models.py:767 +#: core/models.py:791 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:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Identyfikator kodu promocyjnego" -#: core/models.py:775 +#: core/models.py:799 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:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Stała kwota rabatu" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "Rabat procentowy stosowany w przypadku niewykorzystania stałej kwoty" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Rabat procentowy" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Znacznik czasu wygaśnięcia kodu promocyjnego" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "Końcowy czas ważności" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Znacznik czasu, od którego ten kod promocyjny jest ważny" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Czas rozpoczęcia ważności" -#: core/models.py:800 +#: core/models.py:824 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:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Znacznik czasu użycia" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "Użytkownik przypisany do tego kodu promocyjnego, jeśli dotyczy" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Przypisany użytkownik" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Kod promocyjny" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Kody promocyjne" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1824,141 +1830,140 @@ msgstr "" "Należy zdefiniować tylko jeden rodzaj rabatu (kwotowy lub procentowy), ale " "nie oba lub żaden z nich." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "Kod promocyjny został już wykorzystany" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Nieprawidłowy typ rabatu dla kodu promocyjnego {self.uuid}." -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "Adres rozliczeniowy użyty dla tego zamówienia" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Opcjonalny kod promocyjny zastosowany do tego zamówienia" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Zastosowany kod promocyjny" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "Adres wysyłki użyty dla tego zamówienia" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Adres wysyłki" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Aktualny status zamówienia w jego cyklu życia" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Status zamówienia" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 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:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "Reprezentacja JSON atrybutów zamówienia dla tego zamówienia" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "Użytkownik, który złożył zamówienie" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "Użytkownik" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "Znacznik czasu, kiedy zamówienie zostało sfinalizowane" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Kup czas" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "Czytelny dla człowieka identyfikator zamówienia" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "Identyfikator czytelny dla człowieka" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Zamówienie" -#: core/models.py:951 +#: core/models.py:975 msgid "a user must have only one pending order at a time" -msgstr "" -"Użytkownik może mieć tylko jedno oczekujące zlecenie w danym momencie!" +msgstr "Użytkownik może mieć tylko jedno oczekujące zlecenie w danym momencie!" -#: core/models.py:987 +#: core/models.py:1011 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:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "Nie można dodać nieaktywnych produktów do zamówienia" -#: core/models.py:1013 +#: core/models.py:1037 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:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 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:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} nie istnieje z zapytaniem <{query}>." -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Kod promocyjny nie istnieje" -#: core/models.py:1108 +#: core/models.py:1132 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:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "Adres nie istnieje" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Nieprawidłowa wartość siły" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "Nie można kupić pustego zamówienia!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Niewystarczające środki do zrealizowania zamówienia" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1967,7 +1972,7 @@ msgstr "" "informacje: imię i nazwisko klienta, adres e-mail klienta, numer telefonu " "klienta." -#: core/models.py:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -1975,115 +1980,113 @@ msgstr "" "Nieprawidłowa metoda płatności: {payment_method} z " "{available_payment_methods}!" -#: core/models.py:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Cena zakupu w momencie zamówienia" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "" -"Wewnętrzne komentarze dla administratorów dotyczące tego zamówionego " -"produktu" +"Wewnętrzne komentarze dla administratorów dotyczące tego zamówionego produktu" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Uwagi wewnętrzne" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "Powiadomienia użytkownika" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "Reprezentacja JSON atrybutów tego elementu" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Zamówione atrybuty produktu" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Odniesienie do zamówienia nadrzędnego zawierającego ten produkt" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Zamówienie nadrzędne" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "Konkretny produkt powiązany z tą linią zamówienia" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Ilość tego konkretnego produktu w zamówieniu" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Ilość produktu" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Aktualny status tego produktu w zamówieniu" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Status linii produktów" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "nieprawidłowe działanie określone dla informacji zwrotnej: {action}" -#: core/models.py:1421 +#: core/models.py:1445 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:1433 +#: core/models.py:1457 msgid "download" msgstr "Pobierz" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Pliki do pobrania" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 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:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Komentarze zwrotne" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +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:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Powiązany produkt zamówienia" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "Ocena produktu przypisana przez użytkownika" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Ocena produktu" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Informacje zwrotne" @@ -2094,7 +2097,7 @@ msgstr "" "Aby dodać opinię, należy podać komentarz, ocenę i identyfikator produktu " "zamówienia." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Błąd podczas tworzenia kodu promocyjnego: {e!s}" @@ -2126,7 +2129,8 @@ msgstr "Witam %(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 "" "Dziękujemy za zamówienie #%(order.pk)s! Z przyjemnością informujemy, że " @@ -2183,8 +2187,8 @@ msgid "" "we have successfully processed your order №%(order_uuid)s! below are the\n" " details of your order:" msgstr "" -"Pomyślnie przetworzyliśmy Twoje zamówienie №%(order_uuid)s! Poniżej znajdują" -" się szczegóły zamówienia:" +"Pomyślnie przetworzyliśmy Twoje zamówienie №%(order_uuid)s! Poniżej znajdują " +"się szczegóły zamówienia:" #: core/templates/digital_order_delivered_email.html:129 msgid "" @@ -2220,7 +2224,8 @@ msgstr "Klucz" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Dziękujemy za zamówienie! Z przyjemnością potwierdzamy zakup. Poniżej " @@ -2261,12 +2266,12 @@ msgstr "" "Nieprawidłowa wartość limitu czasu, musi zawierać się w przedziale od 0 do " "216000 sekund." -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} musi być modelem" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} musi być obiektem listy" @@ -2290,7 +2295,7 @@ msgstr "{config.PROJECT_NAME} | Zamówienie dostarczone" msgid "you do not have permission to perform this action." msgstr "Nie masz uprawnień do wykonania tej akcji." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "Parametr NOMINATIM_URL musi być skonfigurowany!" @@ -2304,11 +2309,11 @@ msgstr "" msgid "invalid phone number format" msgstr "Nieprawidłowy format numeru telefonu" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "Zasób cyfrowy można pobrać tylko raz" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "nie znaleziono favicon" @@ -2316,3 +2321,6 @@ msgstr "nie znaleziono favicon" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Błąd geokodowania: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "Silnik eVibes" diff --git a/core/locale/pt_BR/LC_MESSAGES/django.mo b/core/locale/pt_BR/LC_MESSAGES/django.mo index dbadfce1f30df439cd611c76ca5709341625a86b..e8261417d0f6e0a8f18575c9ce86658b35ab7e04 100644 GIT binary patch delta 10977 zcmZwNcYKdm|HtvmN@64t36U5fhy)=dLJ)}+o2o5Vki?4GqQ=*bO;DrMsu88Ah_=)& zw+^bqC~j1>^e$T3Qbqk<@0^o9`p55j+#k=+=UnSt=bY>MmfvsQi~`H27jRuKQSc3i z?Rh@ODJ#7lXKQ}PxfY~W#~E48aZ2JS)cy?X7WAV&j%Dy72H+zsjm4@vjxSchsu+X8 zn1niR78Y?Fm$RNkC+x60PGBMGYd95eAqP51H5{in4#yQZ1uJ5SaC3tw45aRjIXu7w zjG+#XFb|N5b#nIyfKI@ujHac387f z9XpH#@dmEN+vtYV>M%N(fqvZISwZ4~J1`XYp-#MtI^m|R?^y4lZuk(@v1iD`I&P7U z6NXV3f_;&DI-9DZ-j$2e*zgZRS_ zyP`&BD7L{F=#FPmBY6S!#P?9wd5U@f|7hmFJ4wZ8$LW9*F%HjQbM&ak{9=1#894pX z7Z;)zZnXRN;3Vo3SOpu`H&ZkSJ*kIcNlZswZ!!AdruvM(dXh~83*R}6>hW1Dj4REi z)9n5^s2;CG-7w3VZQGBa*2;O*6JJ7I=Lgi#do(m_pd{*n%VSY=g_5YJQTBj-s2dDM zb!?1npNX35g{Yz5gc{1ds2iTdK>QMO=i0VE#R{~$H!_Pl6!oCt$n{-LT@uYr3)F=Y zQ5P73y5V@#lPy5K70XZ;ScMvq4c7Ni$Dc&4fy=0=`WrPh-m&JxQ^^{O-rV2mPNFAC zMP2xHtbsF7i*65UOgd-N+l{970|AA?k*O;>{eFLXBh)YL3HEAEX%6cOVh9 z2nV4{H(E)e4s1mJ=bYpZ&3(Zp=E?j}ACwT(RJ6D4T~HTHvGr@H>rKZnT!6fhP7ZFx z`>5lWH#Jkft|{XmMZ-QCwA$~WhW0+PZk&*2rl$iilzIhL#KWi#-9X*IjgN(1)5fR~ z?1owkL$Cr)MJ>(^sHr-L?eX*GE*2O`U<=1d!%S31UZPfcp#**h(2qa#WQpj8$*2(; zj=JDv)RZhnb@XG@TDoud|AFeLdrPyX;;y#X!_rXok9OCtIgsd1}`r5>3IIs0)9ARq>X!NEm0{h2fIb4Min1ez1quuY;);wudEJ%B2)JXL}O~p{7%b88W!#W$$1MgZNqNd<4 z)CCH+Gq0f+s-sm{H7CfoKg=tiA^HE}Wa#KWkO^KY+3%KUdA(E;hGx!;bu z!MmtAK8Bun9@U}iSPbuDS^Nw2ME)Jj4eMYH>KN2_BL#JxDX7K02(>s*V=?aUTqP-r zcTpGo9W_@z9nGQ&M|bLh)?uh8AA?#{85oX7QB!#zS>R6aE6g{hqOSiT>c*!~4|)Y% zy6{aBUGOe?;&b%EBAl)E0MrwQV{vSN+TRv+;a+xsirqg3HI=haU%W-OeLLzk{Q#@u z`A&?#F8rK^B3SrU^I`BqUAP)*2%}MR+#YpY3KqsusNarBs19Y?{TnfYdM8%EYpA#3 z1!@XHI-AAVuQTJXRXd7?L70iv@G)vCDt0kX(inZHTVhS@iCSE9QHyB_@-1>sqi#^7 zt69{|P{%Dmb#xi(epwidXIwV<8LQCX)y?dPLJeJajKWc<4sAn?z)4KRb4XvEYTeD8 zPetBb=Ok(odiF3Q&;b3Y6H(V4iJAh}e3IHE2dsBdBM`{DB3q!o2P3fouEsF@+U|dW z^{GR9nIEYnRJ{Uq-Lux0sFABpuNz{2WWUQCD--dckFW{$GpugkHbdj7R(Gb6yWS;DG z)PaXkbNCa6V5tFS70056Fa9n2uUAC$I|MLv^%7 z3gfRQi%l^@HV6w+k425ZL@a^Zu?!x>%6Jh&@EJD7;8fG`Bvc1d(G5qVIx-RUK+CWs zu16iWKb7&&n4fq}ROH4?5*?EyDYb5nGLnd92nBcJ1RM6H3W*US{0z#!`DsBih- zs1YbN(tK!QP*c?lwfe_nJ6wbbcm>O2#ZkE<<#OUlbV3_c&r+}uPRF&Ffkm*=X!Cm2 z#80T>QLDMg81r8~@u-fC#RvKM03n0m%p7mNoWCNo>Ud5tBQ!2o=6@H7R`vJjkNMKg z&;(#n>RPA{G(_!BKrODmSQ?Yj3#VEaVFdL$)M7r1$MGxFc`GKG#l9B(xxcfML^n8z zn#*&j5yh7N;(aB`^#lv5|Eo)}r2m_3#_ijf+h(-+W(d9J;hvhS`SA z7*2f-yWn%wTy>gk9EsY$1hqI1+xBPHz$yG-(H?_^F%vanYf&A|#&UQX^}x5M@c#EF z`GtnA_{vnXShk_+-_QqJGfa9b60s~UMYX?c>!Y}o`WjZpv}xvv*Pt);M$`@Wqs}{u ze)#1yPSE@OBMs`|FBpjVr<)VYp$@E#Ix)f4Jy27ShI-Pe7=&|CQ<#N%{jQ?k0*@K| zl46iG88t;aT_if-Dyk!oFa)2W)<7^XzxIcsIueJT*afxd2B3y`6l#v=p*p%0HBy^x zeH6W^zr#}$b4km z&!Rp&H&7jPpKZ?bLLSKF1dymFHBlFeMfJ2JYVq~6`=??->P1)xm!Uei8g6Qm_GcCK zDcz0g(8s8?bQv{eKihU^u37zlsHv%gzTDsGNTM4JR0GaM4_t>D;;mR4_o7DT7S_W@ zs3)#A&rD5I^q@{ejp!iMS{Z}-Qcg!Vd>3mp8@Bxi)D2&t)`r^xvsQvIf;tRiu@~;f)mQ{uE;Nh!)rE|I91TNgD2h9<6Xswt zx-T;SVUmV=UEaYecm=DYv)FtuYM_RCB5DK|TQ{R#%L5pI7f}!NE9&|lOBnxNBqNrX z8-IctqB2X(VhP3$)Q!;-7oj_@MJ>9wQ8&y%b?_5Z$DX2&tCDHfMmV;nZif0kEW##u z%tfM}ZE$~7g>S(Nl ztx(q)jup@~iKH>fI@FwB#YXrTb%V$^OpixlB=r_sU$%A8mF7Q0;;=URXJ8%Nk2?Mi zYK@dxWgfILYV|iZx|~FkRy3re7RPba37=yLynuS|@1if>M@>b()n>mpR;3O`Jy{#{ z!=9+A9D((59QMWC7=xZ`)IsLIC5h&466%DV=#Tr*8$U%2;T2Se?qP9!i5k-4Z<-HP z6l%^pV_i(dQkaQ4FAE#sA=GsrqZjvg+}4^4mPEaVA*c(tMomE)7RH^Zk;y@g#1U+W zU!jKHYn^#b<5BGsuq|ezM&>2z`d)9D2d#~{fB&yfqMpX1p0qov$3w6TPDb^3HI~FI z)bU499l3xS@}E%W{f+9V&wBG+2t-{s64ikg7>{OnXDrTIqxV*c)}@@u;_D9%|0tKwa+~*23SgC05#Kz9Yjnx=fEUY0w8@zughI z$s7=mx={+ML!+=JW}rsk0Jg`o*c;1iHmg4!yHoE(t%(9}n{R(nEK40`O>mJ^qG6zI z$gpm)9!K@~I)-4#7BiIXu^)9m?1D#8bM3d))csLwA_uGB9n_-q+-5q`4C_(5l1Q46 ztigD^iZNJryE&j6s$PuRe+HwmaF*F0j|tT2s6}@ao8vRob>nxKU&$G$`UL9ug74%W z?{eCbbfX~y+u?QWiq&_TPw#Z=d27%vbKD5j4G*E#&=ahV?(dq#7>SdqTcH-;Db!-V zgzoqo`s)3EW*fYBn?>V~Lpb0SEPw~m4Ub?kJcSz4uTYEcPt^CI#2&K_ zYUqP&QL2(Ob2#=!mN$73eyN#~)Sa3zM|URz&6&E-SXagjOZ zpH}11i~3D0k2_FPdj=a}&;c_Ny-^)qc7XA(OY#{FIw9Zt=EG3|W2wV15K}P>XJ91m z!f3pSZP5P%)A0f5Nj(@fW#dsJIR#7LJE;2{MjyQP0pqXL{eT87iqH?4CyYS#cp2&f zUtmjoj+*P{2h9hmD@IUHK)u&ls0*J$J=i7GgLob?uV-8AOuY&_;mPg zZK-#o=Ik$Ag3S+`pXqNfl-l=*`PFQMQPi_>1Rg|nDD0?tuwGb;dIeU+k1-hUVF0?k zkD1pd47H;x24Xtq!z=u8p6E`lje&BCP^Y2`e^(>h45ARBVZTRv-d2OWJw>s9wQV53 zOWREIgUJ8MjRw6^KiadNQ9mc2W>309{y*}LL>clB+`qg@Wnb4=s@I89w2Z{P*p4Vj zd`%1{{=cmejWNW}c4v8e+yGnG`PX?Z$lZv&>|1WzuagJnWBGQqCp^LPHXmip;{YeE zwkIA&y=!A^Jp(7(T*u$GC-tOlv&}^!^;3cspZnYTF}BR-GRsT{lwjv%yn}h0zK8p$ zj}zO8--#8pZN_0(lL#lY6(_Q2UrQvAFT>G9Y4X2t5zfY6F>edu{!UFA-ynE3a(^oi zk-tM|d(XO-{GrWXv+9M^yQ1v}VmR?Np%*-FkJ zAd%`DTyI+g>-ZJ1!yfY+J|pzbwW0kLEQfr#{@Dss^E2%5-FB*zYulkU z(3C{KdHVmM=}qWkT^HXalF7Fa(d2oXUf?i7pDt~E*cUmH3vtEuk%gI7*wg zm&ASY&vGmCM>Xp2NgrU8JjAQ2#UlL1*GxmV~ z*pP6itt_E!6jsCk5Tl7@L;+$daa!~5Me>mFu_p|~g47FaU5EVN+Y{Q;h>|pJ#ZY_P z9vn%uq}`oZNa*8zfk>h~7QZ9%wh6TTNAn*}GK|o6ns}EeKpm_GwztW9;XvXi^8c#w zU)#sDji=T>_%=rU0DMS3f;dS&1uGD7#LvVkq8srW@q>N^w6!ugpIdk1SoX~!=G(T9 z@Dz0beuRaHD|VllPpxe|reG6%L}-mo#P_t5Z7KQRIGb?&mtrZ&2twO(q8Dwui7Dir za3jvdPw*!qgFKVaHXVbA@}_jgldmK1K)goGqTY&?F>fnM{wr}qeala)euVS3RCf5; zgSS|Fv$Ip)0r&?|l6|F#FUW7;8p4x2jqoG1rPH<#j}s@zn-lqoZwYNLa>vHxPCgp% zk+&nhBqrH|GVT6N_$h7KIEKg~%1|G|dG^@8r!DBdp(B_4!F^FhDT(<2^$bTX4 zh@TRX-+a5ukw|zsh)3&S4mpmQ&;rB#U@-ue-ApDakPShtl z5N8Q(oehru?fsvvFxf>8ScCr~{v`YfZCwnxf45Rvk2qp4RuMN)_t6fv+Qd!TJ|Mai z9>fsBQG_O^Ck-4MR-swa*yPmLMrVIeEvERshIb2PKaM}%H2breo7}P|&R-h+f0fvQ AHUIzs delta 11083 zcmYk?2V7RwAII^F3q-+%%1{Au0xF0C4jd$E?rr8Cpd^Yb(Hu|i%-mucCZ%PPI~4aU z&5>qWrlpo6tz21|```cbB0_nvj{^VF-wQ}WNAn%{M~WPx;t<3DbW zQx1z3cbs+k9Oqe}Y8_{7sNqYb-e~ba>9p*TG7>d5w3`=2etcoMCA}&Xr zw+B5P$K{-(pbuQJ4NtHjxlg#`Oh$j?L}xkDH|HZ4sQaX7r6ADq3Y>)*o=e1tl$Tpi}0S#+9H&>D?KHDq9YJdB!B&0Bd0u+~FOWq1Dg;9S(q ztio2f3*E6`w3$gS)QBsgt`mtGK>KLczdMB z9-l(p@MqKv+_L!-+g`AN*)wHPBd>tEUN~wA+N1VDFVw(Yi4=-ZNJaH%f<0jk>PDMT z9o%K>kE7Q7EUE*)qNemA>V}>T&7Sc^-7pGO-vooO9cnYDA_I0gV<_kb6H#mQ4(6^I z>H?clH{6SQe9oXQZ~--Amr*lw!}V{;j>k}&?;q6OsMyHl^^oo2BqGb|tVDI>y!Cg~ji1@vi=C|w1fn_+CAq)TmV!Dk z7`0YusE)jcTB8l9rPz+zM2Ao_^8k6$oP15pg=0}SY=c_k-l&;OLM`za)Qjm&RQoD) zX*aH;pc`F6ec&dlBM*>&9N(s!ABfX7@KlO>sQ3znlrE4sXY5_!|aeNnRG}P#x3_dZHfN z#i*HFhuRbSFbL10KmOg!Wkysifn}f~7{_8N4#OK*5W6%tyZu$g-8?HB3b<@iGiR*BV=K2rE!=8np!XP#3P$%6vD(So@-; ze3mr}gUC-{dAyAg=-HZ`jtwvfdtw+)!~(b$nF*J(fr8dzzx4-X@XiDDz_>QX=BO7= zd(;K`pdQD8sE)pYnz^~?iyxv!y35ud#X{s4u_j)_9^Bt4+15;53Rb6KHR^YV6t$@?Vh!}^V3sl-+3-#pcEmlX>wA;9bYp)C8fh)m zh3ld&7>62ZNA$+NwthHj#8a_2&bRF!pf0@0w(qv>M^Q_80rlp)YU`hMWd8M>dUZ0J zqcZBk9nll}pxz6~s0+JLQ#c2;#;Z{0?Z(1*1ajg7`iW0aLwQG;yAiRO0*t&~Zim|AXEJmHb0&C(%)LLIcJ%-njcasy))m*K(n_y+~fi|Cwn!5E^2allk##7V`_;%+J!w{s;jtjNsXOSn_ z@qNW?!T}gWJ|BJ1wV8r0d>F&5Gg_7@Gtl25|g zm}B$bP}i+UFJ%{G=3LH93Js{(W*hFKrYfYD<21#gsC)x9!3Wmp-fU3vG*taI)Xe;Y z+O%PP%uLopZPH%IN1b7)y>T2%>G{7vLA(DB>Vtow*2t}|c_n)w-%Cy`s(ylXDr)Ly zV<}vMy3tzH9@&Z7BZsgUev4)BI%>~6#TqUOq5bF$zJk**q`#TsPp}F3*Qn>Y_yDtp zjj#&&P}DA7gqp$Ks2O;O+B@L`?UG=5@=2(r%fQC?IlAgn$j?^S8>${w!X#{nb5JvL z6!rL>LO=WgL-23Zg?$svOhuy}!z9!m7=fChEcC^#sLgm1wP(sEG5?h*G)*!+9gG^; zBGi=a!~%E>H3O%xBtF9cEH>D5I1HT^HwQESdJg}x zCl(%JM&g6+)HlOP*ao#`$1xZmV>1j$Hf!AvwW*S^B924ti3}`^n@|JTiCU_g*c3xt zubEw(i1AdcMlHn+td6CInl+8XIPy_A4L746uR1AaDF&lHKL=HR3R|PwF!Mrci{a$c zF%-98RdijX;7_5za5EEus1xd81CxYcc(8F4IXMBPw(WH=VV z>8K7Yu1@_0ks5&P$NByfp`hEgwIirU&K`N6!gXf@-Z%3 z*o9gnJ=}UsB2XP^fmN^rY7eB@_DQIYEI}{KLUnLEYV(~yP4y3`k^hP6@MF}B6`5{w zS2YUSeD$#?wnAN?J66La)QIMzrffOtMjzSw9q3Db$kzXeI`1CphEHsJ(HUljDx>P7 zkr$B5X-Ppn9D({^8fs)yQ5|^~^?^00j_$w;c+|Gv!~*31U_pF}>Y&?9^SRQfnW&0- z<26Pt)!^KA)_)v@04m-_t@WDR2A)ytSu8~TFR0CQ8!MsjEc2#|!ujV${;CLw)WG)Qp})?U{?1`~Ckr1&uK1ZS$M1Di$UmfZ7u&SP{o#J6wU9savQU z6`Et-8x>GX&=pnR6LsU!sE$lTT{j&gFmn#;A4lOd6&um}9W%1MsHfm4YAS!iA{aQ= z{2NRdCX!FWhIkG2^aRZ_Us@e7jC?G%!Bwa!zlWOH0`rZ&^O^rZD#EGo!#1d%C!uaI z8DGWg*by7^R?$o?MD3Yn*bcX%7v^7Rem9iB66AiU8-`&mY>etyD!OBai-I=EYJ3@Y zqFxyJ7nvUj(Ws7%!w$FztKl_Fz@m%I%ydF;@;<1M4nxiCRIGsqkTE!SQA;#=iFq1a z(kcGAJCPtzEQj@ns-W0S+7NSP_9_lIBYW)UVlHWy7j9F&RkH?batx?Z^A1s9fQA?3#+h<@^@@1%j z9Y7!a8Vl+B|2ld6#4CbIldJ;9#pD+Ob zM0MDErP<6CQ0Lb{b)+?F%KM@|HwLxjvsNMCW#G3dVH3Q+R%zsyW344(*#M*clyJN6xwVC4aSe}Y0SPnC- zdoYCjg3X^>{Xa72#h^Oe1*_l+)J%SkeepZ&f^|P;8SrgXeh#%KTw!a>hEk4>@IC+1&9J7PWZMX2_#Y+hikX>WwuWG+;D4mQWTsLfb6%lwFCr?K0-jOz+f!Z{4F&U3wevH^;o|ZaTl)M3IkF-Q>zTv3H z_bt>WT#mZmdi3S~&OQp7`tMOM9IwrsgiTR5`Vnhk!WJ{duVXlQ4%WbHSP4sfX7Xs% z)DJ=}#R{x~XHf%qf_iMDvYG!#3hgPpj8jlkb^F=(f`Q52RS?}YVm5Nc1X z#QwMj)nSia=JN^If_xNet#@HCp1=sagLfx8GkWbYKREhh zEO|D@;BC}-mG+t?8-er5cVQ!Jwa@%Mn2jyTKf^ls6o+HPe$$~$)WBS)DQI(f9xz{% z^|2!P0QAEdsK+J~Reu8g@h-Zd4z0EJkB+It^W4(^|CFJ)%%)xNF&~^}KJ0Sdr7()h z_i!C^G6A@}cf{M@h{Pv zikh}jbz^P$BIQ(~AJL4+JMP=UAuPwa+F(!cQ$jN}1s7p4;sE6w;woj{W4UX;h`fr6 zKi7%xsEo!LgpSv(+B^qsd2w!w`SU8gPxPd%G-@0Pls~iQ4kX`3)F$skjG(Ne55Zn^ zhEb<|<6mpgBvwqY&le9C$nuG+f4tWBtMqpX)k262w^o5X)8^Xka`FJl?xKU1!Z zui+-*8_M1A6zcHDoy04YCt&XX|IwF%Z*H^s!}m(=>oSe{BShYjWy?b_g$N=>5`Pd$ zoOFsvuqVH1eTu)?avqy0jJJv1|2%$FoUxVbxnMM9eYw0$Sx2CCyGflf*p0fQ#5+U? zQH{EPZ2NQa0k-@r<+p9Q5$aoWD0Sz}zNL{w$6Tw)%-;&st)@8og|-hUzeU|v)cgL$ z;||Fz>NnWRKdpNE-6E1`Yo{_Mx-tGsB+W>4^d};TS;R%^zQU6@0d>?P;>dp>CQ|kz zN)XG)bu1zDRr?$H7sN@*!NfvBM=9!>6FPE=EJ%@u4lRwHC1r z<*XI(5^YQKK45)F-Ak0)+0UukooHh7{g|oySEDdPtsL!%m+T1xad2)eUl`cM)~jj` zWiMhK<%zhl_B$L-7!ZrS~6cVY-hkp`nh`gf}<#^?` z?k|c(C_ln`n1;WjC+5e8=!63q6Zn9rNjaAIlJWwgEisLpA0`?<>rO>BZo^*05z5Pn zHI(NOFCJw{wh}Fg9kjhhOrpFSr(i4MC~=p3D)Bi{pU_beL$NE-gYx@&{(mI-miV3c zfzT08+~I_uiS@ZP<_BgN`QPLRiJyq>{m!f}%=Z^vJ#%d~lO$`O=X;3s$vKO}T~PE;Za+H<3D9QiX` zg#qX)&7Z;~`H0iRFXSzW6~q}L@3=={Cb7p>tfZ|oQJy$V-BbJnQ}G?_NQ@;mkn8x{ zs`6ywYa%&s{Z(0tD8or}up>qiohfUEe25&%ucD4dSckYl43N})Of)9$60@o6PYfb9 z5__pjA#@ZVZc?|3aH?gG3T;u`W5lTB)KSS}#%F(4|6akO-I50+jt)u~J~(-JVs>Ve k&*KYs$Za3ge^7S!Y3mCWX`4DGbyQHI&dYXtdr|a%0kpZI!~g&Q diff --git a/core/locale/pt_BR/LC_MESSAGES/django.po b/core/locale/pt_BR/LC_MESSAGES/django.po index ec60a4c1..b099592e 100644 --- a/core/locale/pt_BR/LC_MESSAGES/django.po +++ b/core/locale/pt_BR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Está ativo" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Se definido como false, esse objeto não poderá ser visto por usuários sem a " "permissão necessária" @@ -61,36 +60,36 @@ msgstr "Ativar %(verbose_name_plural)s selecionados" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Desativar %(verbose_name_plural)s selecionados" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Valor do atributo" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Valores de atributos" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Nome" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Imagem" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Imagens" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Estoque" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Ações" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -98,31 +97,31 @@ msgstr "Ações" msgid "price" msgstr "Preço" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Avaliação do produto" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Informações básicas" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Datas importantes" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Pedido de produto" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Solicitar produtos" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "É um negócio" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Configuração" @@ -130,10 +129,6 @@ msgstr "Configuração" msgid "core" msgstr "Core" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "Motor eVibes" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Finalizado" @@ -188,7 +183,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Aplicar somente uma chave para ler dados permitidos do cache.\n" -"Aplicar chave, dados e tempo limite com autenticação para gravar dados no cache." +"Aplicar chave, dados e tempo limite com autenticação para gravar dados no " +"cache." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -202,7 +198,7 @@ msgstr "Obter os parâmetros expostos do aplicativo" msgid "send a message to the support team" msgstr "Envie uma mensagem para a equipe de suporte" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Solicite um URL com CORS. Somente https é permitido." @@ -244,8 +240,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "Reescrever um grupo de atributos existente salvando os não editáveis" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Reescreva alguns campos de um grupo de atributos existente salvando os não " "editáveis" @@ -296,8 +291,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "Reescreva um valor de atributo existente salvando os não editáveis" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Reescreva alguns campos de um valor de atributo existente salvando os não " "editáveis" @@ -338,12 +332,12 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Pesquisa de substring sem distinção entre maiúsculas e minúsculas em " -"human_readable_id, order_products.product.name e " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name e order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -379,9 +373,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Ordene por uma das seguintes opções: uuid, human_readable_id, user_email, " "user, status, created, modified, buy_time, random. Prefixe com '-' para " @@ -426,7 +420,7 @@ msgstr "" "concluída usando o saldo do usuário; se `force_payment` for usado, uma " "transação será iniciada." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "comprar um pedido sem criar uma conta" @@ -562,18 +556,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrar por um ou mais pares de nome/valor de atributo. \n" "- **Sintaxe**: `attr_name=method-value[;attr2=method2-value2]...`\n" -"- Métodos** (o padrão é `icontains` se omitido): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- Digitação de valores**: JSON é tentado primeiro (para que você possa passar listas/dicas), `true`/`false` para booleanos, inteiros, flutuantes; caso contrário, é tratado como string. \n" -"- Base64**: prefixo com `b64-` para codificar o valor bruto com base64 de forma segura para a URL. \n" +"- Métodos** (o padrão é `icontains` se omitido): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" +"- Digitação de valores**: JSON é tentado primeiro (para que você possa " +"passar listas/dicas), `true`/`false` para booleanos, inteiros, flutuantes; " +"caso contrário, é tratado como string. \n" +"- Base64**: prefixo com `b64-` para codificar o valor bruto com base64 de " +"forma segura para a URL. \n" "Exemplos: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -629,11 +633,14 @@ msgstr "(exato) Digital vs. físico" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Lista de campos separada por vírgulas para classificação. Prefixe com `-` para classificação decrescente. \n" -"**Permitido:** uuid, classificação, nome, slug, criado, modificado, preço, aleatório" +"Lista de campos separada por vírgulas para classificação. Prefixe com `-` " +"para classificação decrescente. \n" +"**Permitido:** uuid, classificação, nome, slug, criado, modificado, preço, " +"aleatório" #: core/docs/drf/viewsets.py:441 msgid "retrieve a single product (detailed view)" @@ -759,235 +766,235 @@ msgstr "excluir uma relação pedido-produto" msgid "add or remove feedback on an order–product relation" msgstr "adicionar ou remover feedback em uma relação pedido-produto" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "Nenhum termo de pesquisa foi fornecido." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Nome" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Categorias" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Categorias Lesmas" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Tags" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Preço mínimo" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Preço máximo" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Está ativo" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Brand" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Atributos" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Quantidade" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Lesma" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "É digital" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Incluir subcategorias" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" "Deve haver um category_uuid para usar o sinalizador include_subcategories" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Pesquisa (ID, nome do produto ou número de peça)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Comprado depois (inclusive)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Comprado antes (inclusive)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "E-mail do usuário" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "UUID do usuário" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Status" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "ID legível por humanos" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Parent" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Toda a categoria (com pelo menos 1 produto ou não)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Nível" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "UUID do produto" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Chave para procurar ou colocar no cache" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Dados a serem armazenados no cache" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Tempo limite em segundos para definir os dados para o cache" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Dados em cache" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Dados JSON camelizados da URL solicitada" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Somente URLs que começam com http(s):// são permitidos" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Adicionar um produto ao pedido" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Pedido {order_uuid} não encontrado" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Remover um produto do pedido" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Remover todos os produtos do pedido" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Comprar um pedido" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Forneça order_uuid ou order_hr_id - mutuamente exclusivos!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "O tipo errado veio do método order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Executar uma ação em uma lista de produtos no pedido" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Remover/Adicionar" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "A ação deve ser \"adicionar\" ou \"remover\"!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Adicionar um produto ao pedido" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Lista de desejos {wishlist_uuid} não encontrada" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Remover um produto do pedido" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Remover um produto do pedido" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Remover um produto do pedido" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Comprar um pedido" -#: core/graphene/mutations.py:483 +#: 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 "" "Envie os atributos como uma string formatada como attr1=value1,attr2=value2" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Cadeia de endereços original fornecida pelo usuário" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} não existe: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "O limite deve estar entre 1 e 10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funciona muito bem" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Atributos" @@ -999,85 +1006,84 @@ msgstr "Atributos agrupados" msgid "groups of attributes" msgstr "Grupos de atributos" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Categorias" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Marcas" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Categorias" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Porcentagem de marcação" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" "Quais atributos e valores podem ser usados para filtrar essa categoria." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "Preços mínimo e máximo dos produtos dessa categoria, se disponíveis." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Tags para esta categoria" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Produtos desta categoria" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Vendors" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Latitude (coordenada Y)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Longitude (coordenada X)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Como fazer" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" "Valor de classificação de 1 a 10, inclusive, ou 0 se não estiver definido." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Representa o feedback de um usuário." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Notificações" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "URL de download para este produto do pedido, se aplicável" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "Uma lista dos produtos solicitados nesse pedido" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Endereço de cobrança" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1085,47 +1091,47 @@ msgstr "" "Endereço de entrega para este pedido, deixe em branco se for o mesmo que o " "endereço de cobrança ou se não for aplicável" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Preço total deste pedido" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Quantidade total de produtos no pedido" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Todos os produtos estão no pedido digital?" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Pedidos" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "URL da imagem" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Imagens do produto" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Categoria" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Feedbacks" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Brand" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Grupos de atributos" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1133,31 +1139,31 @@ msgstr "Grupos de atributos" msgid "quantity" msgstr "Quantidade" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Número de feedbacks" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Produtos" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Códigos promocionais" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Produtos à venda" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Promoções" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Vendor" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1165,791 +1171,790 @@ msgstr "Vendor" msgid "product" msgstr "Produto" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Produtos da lista de desejos" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Listas de desejos" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Produtos marcados" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Etiquetas do produto" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Categorias de tags" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Tags das categorias" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Nome do projeto" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "E-mail da empresa" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Nome da empresa" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Endereço da empresa" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Número de telefone da empresa" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', às vezes ele deve ser usado em vez do valor do usuário do host" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "Usuário do host de e-mail" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Valor máximo para pagamento" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Valor mínimo para pagamento" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Dados analíticos" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Dados do anúncio" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Configuração" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Código do idioma" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Nome do idioma" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Sinalizador de idioma, se houver :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Obter uma lista de idiomas suportados" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Resultados da pesquisa de produtos" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Resultados da pesquisa de produtos" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Pai deste grupo" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Grupo de atributos pai" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Nome do grupo de atributos" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Grupo de atributos" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Armazena as credenciais e os pontos de extremidade necessários para a " "comunicação da API do fornecedor" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Informações de autenticação" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "Definir a marcação para produtos recuperados desse fornecedor" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Porcentagem da margem de lucro do fornecedor" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Nome do fornecedor" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Nome do fornecedor" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Identificador de tag interno para a tag do produto" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Nome da etiqueta" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "Nome de fácil utilização para a etiqueta do produto" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Nome de exibição da tag" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Etiqueta do produto" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "tag de categoria" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "tags de categoria" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Faça upload de uma imagem que represente essa categoria" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Imagem da categoria" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "Definir uma porcentagem de majoração para os produtos dessa categoria" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Pai dessa categoria para formar uma estrutura hierárquica" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Categoria dos pais" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Nome da categoria" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Forneça um nome para essa categoria" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Adicione uma descrição detalhada para essa categoria" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Descrição da categoria" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "tags que ajudam a descrever ou agrupar essa categoria" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Prioridade da marca" + +#: core/models.py:265 msgid "name of this brand" msgstr "Nome da marca" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Nome da marca" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Faça upload de um logotipo que represente essa marca" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Imagem pequena da marca" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Faça upload de um logotipo grande que represente essa marca" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Imagem de marca grande" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Adicione uma descrição detalhada da marca" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Descrição da marca" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Categorias opcionais às quais essa marca está associada" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Categorias" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "Lesma da marca" -#: core/models.py:296 -msgid "brand priority" -msgstr "Prioridade da marca" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Categoria à qual este produto pertence" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Opcionalmente, associe esse produto a uma marca" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Tags que ajudam a descrever ou agrupar este produto" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Indica se esse produto é entregue digitalmente" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "O produto é digital" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Fornecer um nome de identificação claro para o produto" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Nome do produto" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Adicione uma descrição detalhada do produto" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Descrição do produto" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Número de peça para este produto" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Número da peça" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Categoria desse atributo" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Grupo desse atributo" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "Cordas" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Inteiro" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Flutuação" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Booleano" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Matriz" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Objeto" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Tipo do valor do atributo" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Tipo de valor" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Nome desse atributo" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Nome do atributo" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Atributo" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Atributo desse valor" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "O produto específico associado ao valor desse atributo" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Produto associado" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "O valor específico para esse atributo" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" -msgstr "" -"Forneça um texto alternativo para a imagem para fins de acessibilidade" +msgstr "Forneça um texto alternativo para a imagem para fins de acessibilidade" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "Texto alternativo da imagem" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Faça o upload do arquivo de imagem para este produto" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Imagem do produto" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Determina a ordem em que as imagens são exibidas" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Prioridade de exibição" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "O produto que esta imagem representa" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Imagens do produto" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Desconto percentual para os produtos selecionados" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Porcentagem de desconto" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Forneça um nome exclusivo para essa promoção" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Nome da promoção" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Descrição da promoção" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Selecione quais produtos estão incluídos nessa promoção" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Produtos incluídos" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Promoção" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "O fornecedor que fornece esse estoque de produtos" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Fornecedor associado" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Preço final para o cliente após as marcações" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Preço de venda" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "O produto associado a essa entrada em estoque" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "O preço pago ao fornecedor por esse produto" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Preço de compra do fornecedor" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Quantidade disponível do produto em estoque" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Quantidade em estoque" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU atribuído pelo fornecedor para identificar o produto" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "SKU do fornecedor" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "Arquivo digital associado a esse estoque, se aplicável" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "Arquivo digital" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Entradas de estoque" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Produtos que o usuário marcou como desejados" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "Usuário que possui esta lista de desejos" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Proprietário da lista de desejos" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Lista de desejos" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} não existe: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Documentário" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Documentários" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Não resolvido" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Linha de endereço do cliente" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Linha de endereço" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Rua" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "Distrito" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "Cidade" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Região" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Código postal" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "País" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Ponto de geolocalização (Longitude, Latitude)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Resposta JSON completa do geocodificador para este endereço" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Resposta JSON armazenada do serviço de geocodificação" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Endereço" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Endereços" -#: core/models.py:767 +#: core/models.py:791 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:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Identificador de código promocional" -#: core/models.py:775 +#: core/models.py:799 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:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Valor do desconto fixo" -#: core/models.py:782 +#: core/models.py:806 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:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Desconto percentual" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Registro de data e hora em que o código promocional expira" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "Tempo de validade final" -#: core/models.py:794 +#: core/models.py:818 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:795 +#: core/models.py:819 msgid "start validity time" msgstr "Hora de início da validade" -#: core/models.py:800 +#: core/models.py:824 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:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Registro de data e hora de uso" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "Usuário atribuído a esse código promocional, se aplicável" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Usuário atribuído" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Código promocional" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Códigos promocionais" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -"Apenas um tipo de desconto deve ser definido (valor ou porcentagem), mas não" -" ambos ou nenhum." +"Apenas um tipo de desconto deve ser definido (valor ou porcentagem), mas não " +"ambos ou nenhum." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "O código promocional já foi usado" -#: core/models.py:856 +#: core/models.py:880 #, 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:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "O endereço de cobrança usado para esse pedido" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Código promocional opcional aplicado a este pedido" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Código promocional aplicado" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "O endereço de entrega usado para esse pedido" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Endereço de entrega" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Status atual do pedido em seu ciclo de vida" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Status do pedido" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 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:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "Representação JSON dos atributos do pedido para esse pedido" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "O usuário que fez o pedido" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "Usuário" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "O registro de data e hora em que o pedido foi finalizado" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Tempo de compra" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "Um identificador legível por humanos para o pedido" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "ID legível por humanos" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Pedido" -#: core/models.py:951 +#: core/models.py:975 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:987 +#: core/models.py:1011 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:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "Não é possível adicionar produtos inativos ao pedido" -#: core/models.py:1013 +#: core/models.py:1037 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:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 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:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} não existe com a consulta <{query}>" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "O código promocional não existe" -#: core/models.py:1108 +#: core/models.py:1132 msgid "you can only buy physical products with shipping address specified" msgstr "" -"Você só pode comprar produtos físicos com o endereço de entrega " -"especificado!" +"Você só pode comprar produtos físicos com o endereço de entrega especificado!" -#: core/models.py:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "O endereço não existe" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Valor de força inválido" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "Você não pode comprar um pedido vazio!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Fundos insuficientes para concluir o pedido" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1957,7 +1962,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:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -1965,115 +1970,114 @@ msgstr "" "Método de pagamento inválido: {payment_method} de " "{available_payment_methods}!" -#: core/models.py:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Preço de compra no momento do pedido" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "" "Comentários internos para administradores sobre este produto encomendado" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Comentários internos" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "Notificações do usuário" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "Representação JSON dos atributos desse item" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Atributos ordenados do produto" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Referência ao pedido pai que contém esse produto" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Ordem dos pais" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "O produto específico associado a essa linha de pedido" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Quantidade desse produto específico no pedido" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Quantidade do produto" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Status atual desse produto no pedido" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Status da linha de produtos" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "ação incorreta especificada para feedback: {action}" -#: core/models.py:1421 +#: core/models.py:1445 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:1433 +#: core/models.py:1457 msgid "download" msgstr "Baixar" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Downloads" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 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:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Comentários de feedback" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +msgid "references the specific product in an order that this feedback is about" msgstr "" -"Faz referência ao produto específico em um pedido sobre o qual se trata esse" -" feedback" +"Faz referência ao produto específico em um pedido sobre o qual se trata esse " +"feedback" -#: core/models.py:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Produto de pedido relacionado" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "Classificação atribuída pelo usuário ao produto" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Avaliação do produto" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Feedback" @@ -2084,7 +2088,7 @@ msgstr "" "Você deve fornecer um comentário, uma classificação e o uuid do produto do " "pedido para adicionar feedback." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Erro durante a criação do código promocional: {e!s}" @@ -2116,7 +2120,8 @@ msgstr "Olá %(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 "" "Obrigado por seu pedido #%(order.pk)s! Temos o prazer de informá-lo de que " @@ -2209,7 +2214,8 @@ msgstr "Chave" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Obrigado por seu pedido! Temos o prazer de confirmar sua compra. Abaixo " @@ -2248,12 +2254,12 @@ msgstr "São necessários dados e tempo limite" msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "Valor de tempo limite inválido, deve estar entre 0 e 216000 segundos" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} deve ser o modelo" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} deve ser um objeto de lista" @@ -2277,7 +2283,7 @@ msgstr "{config.PROJECT_NAME} | Order Delivered" msgid "you do not have permission to perform this action." msgstr "Você não tem permissão para executar essa ação." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "O parâmetro NOMINATIM_URL deve ser configurado!" @@ -2291,11 +2297,11 @@ msgstr "" msgid "invalid phone number format" msgstr "Formato de número telefônico inválido" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "Você só pode fazer o download do ativo digital uma vez" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "favicon não encontrado" @@ -2303,3 +2309,6 @@ msgstr "favicon não encontrado" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Erro de geocodificação: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "Motor eVibes" diff --git a/core/locale/ro_RO/LC_MESSAGES/django.mo b/core/locale/ro_RO/LC_MESSAGES/django.mo index 53df923c38b6da75e4956a98bb0c50f448d2a663..d1ceec362cba62f448b5edef61234a8fe00cbb49 100644 GIT binary patch delta 10977 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 delta 11095 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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 60381d0f..4e83412e 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-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -29,11 +29,10 @@ msgstr "Este activ" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" -"Dacă este setat la false, acest obiect nu poate fi văzut de utilizatori fără" -" permisiunea necesară" +"Dacă este setat la false, acest obiect nu poate fi văzut de utilizatori fără " +"permisiunea necesară" #: core/abstract.py:22 core/choices.py:18 msgid "created" @@ -61,36 +60,36 @@ msgstr "Activați %(verbose_name_plural)s selectate" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Dezactivați %(verbose_name_plural)s selectate" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Atribut Valoare" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Valori ale atributului" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Nume și prenume" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Imagine" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Imagini" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Stoc" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Stocuri" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -98,31 +97,31 @@ msgstr "Stocuri" msgid "price" msgstr "Preț" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Evaluarea produsului" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Informații de bază" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Date importante" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Comanda Produs" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Comandați produse" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Este o afacere" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Configurare" @@ -130,10 +129,6 @@ msgstr "Configurare" msgid "core" msgstr "Nucleu" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "Motorul eVibes" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Terminat" @@ -188,7 +183,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Aplicați doar o cheie pentru a citi datele permise din cache.\n" -"Aplicați o cheie, date și timeout cu autentificare pentru a scrie date în cache." +"Aplicați o cheie, date și timeout cu autentificare pentru a scrie date în " +"cache." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -202,15 +198,15 @@ msgstr "Obțineți parametrii expunibili ai aplicației" msgid "send a message to the support team" msgstr "Trimiteți un mesaj echipei de asistență" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Solicitați un URL CORSed. Numai https este permis." #: core/docs/drf/views.py:85 msgid "global search endpoint to query across project's tables" msgstr "" -"Punct final de căutare globală pentru a efectua interogări în toate tabelele" -" proiectului" +"Punct final de căutare globală pentru a efectua interogări în toate tabelele " +"proiectului" #: core/docs/drf/views.py:91 msgid "purchase an order as a business" @@ -221,8 +217,8 @@ msgid "" "purchase an order as a business, using the provided `products` with " "`product_uuid` and `attributes`." msgstr "" -"Achiziționați o comandă ca o afacere, utilizând `products` cu `product_uuid`" -" și `attributes` furnizate." +"Achiziționați o comandă ca o afacere, utilizând `products` cu `product_uuid` " +"și `attributes` furnizate." #: core/docs/drf/viewsets.py:43 msgid "list all attribute groups (simple view)" @@ -243,12 +239,10 @@ msgstr "Ștergerea unui grup de atribute" #: core/docs/drf/viewsets.py:59 msgid "rewrite an existing attribute group saving non-editables" msgstr "" -"Rescrierea unui grup de atribute existent cu salvarea elementelor " -"needitabile" +"Rescrierea unui grup de atribute existent cu salvarea elementelor needitabile" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Rescrierea unor câmpuri ale unui grup de atribute existent, cu salvarea " "elementelor needitabile" @@ -301,8 +295,7 @@ msgstr "" "Rescrierea unei valori de atribut existente care salvează non-editabile" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Rescrierea unor câmpuri ale unei valori de atribut existente salvând " "elementele needitabile" @@ -345,8 +338,8 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Căutare de substring insensibilă la majuscule în human_readable_id, " "order_products.product.name și order_products.product.partnumber" @@ -385,9 +378,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Ordonați după unul dintre: uuid, human_readable_id, user_email, user, " "status, created, modified, buy_time, random. Prefixați cu \"-\" pentru " @@ -433,7 +426,7 @@ msgstr "" "achiziția este finalizată utilizând soldul utilizatorului; Dacă se " "utilizează `force_payment`, este inițiată o tranzacție." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "achiziționarea unei comenzi fără crearea unui cont" @@ -569,18 +562,29 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrați după una sau mai multe perechi nume de atribut/valoare. \n" "- **Sintaxa**: `attr_name=method-value[;attr2=method2-value2]...`\n" -"- **Metode** (valoarea implicită este `icontains` dacă este omisă): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- **Value typing**: JSON este încercat în primul rând (astfel încât să puteți trece liste/dicte), `true`/`false` pentru booleeni, întregi, float; în caz contrar tratat ca string. \n" -"- **Base64**: prefix cu `b64-` pentru a codifica valoarea brută în baza64 în condiții de siguranță URL. \n" +"- **Metode** (valoarea implicită este `icontains` dacă este omisă): " +"`iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, " +"`istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, " +"`gt`, `gte`, `in`\n" +"- **Value typing**: JSON este încercat în primul rând (astfel încât să " +"puteți trece liste/dicte), `true`/`false` pentru booleeni, întregi, float; " +"în caz contrar tratat ca string. \n" +"- **Base64**: prefix cu `b64-` pentru a codifica valoarea brută în baza64 în " +"condiții de siguranță URL. \n" "Exemple: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -635,10 +639,12 @@ msgstr "(exact) Digital vs. fizic" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Lista de câmpuri separate prin virgulă după care se face sortarea. Prefixați cu `-` pentru descrescător. \n" +"Lista de câmpuri separate prin virgulă după care se face sortarea. Prefixați " +"cu `-` pentru descrescător. \n" "**Autorizate:** uuid, rating, nume, slug, creat, modificat, preț, aleatoriu" #: core/docs/drf/viewsets.py:441 @@ -706,8 +712,8 @@ msgstr "Autocompletare adresă de intrare" #: core/docs/drf/viewsets.py:576 msgid "raw data query string, please append with data from geo-IP endpoint" msgstr "" -"docker compose exec app poetry run python manage.py deepl_translate -l en-gb" -" -l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " +"docker compose exec app poetry run python manage.py deepl_translate -l en-gb " +"-l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " "it-it -l ja-jp -l kk-kz -l nl-nl -l pl-pl -l pt-br -l ro-ro -l ru-ru -l zh-" "hans -a core -a geo -a plăți -a vibes_auth -a blog" @@ -769,238 +775,238 @@ msgstr "ștergeți o relație comandă-produs" msgid "add or remove feedback on an order–product relation" msgstr "adăugarea sau eliminarea feedback-ului într-o relație comandă-produs" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "Nu a fost furnizat niciun termen de căutare." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Nume și prenume" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Categorii" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Categorii Melci" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Etichete" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Preț minim" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Preț maxim" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Este activ" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Marca" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Atribute" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Cantitate" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Melc" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "Este digital" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Includeți subcategorii" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" "Trebuie să existe un category_uuid pentru a utiliza flagul " "include_subcategories" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Căutare (ID, numele produsului sau numărul piesei)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Cumpărat după (inclusiv)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Cumpărat înainte (inclusiv)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "E-mail utilizator" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "UUID utilizator" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Statut" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "ID lizibil de către om" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Părinte" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Întreaga categorie (are cel puțin 1 produs sau nu)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Nivel" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "UUID produs" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Cheie care trebuie căutată sau introdusă în cache" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Date de stocat în cache" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Timeout în secunde pentru a seta datele în cache" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Date în cache" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Date JSON Camelizate de la URL-ul solicitat" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Sunt permise numai URL-urile care încep cu http(s)://" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Adăugați un produs la comandă" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Comanda {order_uuid} nu a fost găsită" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Eliminați un produs din comandă" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Eliminați toate produsele din comandă" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Cumpărați o comandă" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" "Vă rugăm să furnizați fie order_uuid sau order_hr_id - se exclud reciproc!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Metoda order.buy() a generat un tip greșit: {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Efectuați o acțiune asupra unei liste de produse din comandă" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Eliminare/adăugare" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "Acțiunea trebuie să fie fie \"adăugare\" sau \"eliminare\"!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Adăugați un produs la comandă" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Lista dorințelor {wishlist_uuid} nu a fost găsită" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Eliminați un produs din comandă" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Eliminați un produs din comandă" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Eliminați un produs din comandă" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Cumpărați o comandă" -#: core/graphene/mutations.py:483 +#: 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 "" "Vă rugăm să trimiteți atributele sub formă de șir format ca attr1=valoare1, " "attr2=valoare2" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Șirul de adrese original furnizat de utilizator" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} nu există: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "Limita trebuie să fie între 1 și 10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funcționează ca un farmec" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Atribute" @@ -1012,87 +1018,86 @@ msgstr "Atribute grupate" msgid "groups of attributes" msgstr "Grupuri de atribute" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Categorii" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Mărci" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Categorii" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Procentul de majorare" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" "Atributele și valorile care pot fi utilizate pentru filtrarea acestei " "categorii." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" -"Prețurile minime și maxime pentru produsele din această categorie, dacă sunt" -" disponibile." +"Prețurile minime și maxime pentru produsele din această categorie, dacă sunt " +"disponibile." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Etichete pentru această categorie" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Produse din această categorie" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Furnizori" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Latitudine (coordonata Y)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Longitudine (coordonata X)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Cum să" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Valoare nominală de la 1 la 10, inclusiv, sau 0 dacă nu este setată." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Reprezintă feedback de la un utilizator." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Notificări" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "URL de descărcare pentru acest produs de comandă, dacă este cazul" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "O listă a produselor comandate în această comandă" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Adresa de facturare" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1100,47 +1105,47 @@ msgstr "" "Adresa de expediere pentru această comandă, lăsați în alb dacă este aceeași " "cu adresa de facturare sau dacă nu se aplică" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Prețul total al acestei comenzi" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Cantitatea totală de produse din comandă" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Sunt toate produsele din comanda digitală" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Ordine" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "URL imagine" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Imagini ale produsului" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Categorie" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Feedback-uri" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Marca" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Grupuri de atribute" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1148,31 +1153,31 @@ msgstr "Grupuri de atribute" msgid "quantity" msgstr "Cantitate" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Numărul de reacții" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Produse" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Coduri promoționale" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Produse scoase la vânzare" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Promoții" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Furnizor" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1180,652 +1185,652 @@ msgstr "Furnizor" msgid "product" msgstr "Produs" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Produse dorite" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Liste de dorințe" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Produse etichetate" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Etichete de produs" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Categorii etichetate" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Etichete \"Categorii" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Numele proiectului" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "Email companie" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Numele companiei" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Adresa companiei" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Numărul de telefon al companiei" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "\"e-mail de la\", uneori trebuie să fie utilizat în locul valorii " "utilizatorului gazdă" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "Utilizator gazdă e-mail" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Suma maximă pentru plată" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Suma minimă pentru plată" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Date analitice" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Date publicitare" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Configurație" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Codul limbii" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Numele limbii" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Indicatorul de limbă, dacă există :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Obțineți o listă a limbilor acceptate" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Rezultate căutare produse" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Rezultate căutare produse" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Părinte al acestui grup" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Grup de atribute părinte" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Numele grupului de atribute" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Grup de atribute" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Stochează acreditările și punctele finale necesare pentru comunicarea API a " "furnizorului" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Informații privind autentificarea" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "" "Definirea marjei de profit pentru produsele preluate de la acest furnizor" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Procentul de majorare al furnizorului" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Numele acestui vânzător" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Numele furnizorului" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Identificator intern de etichetă pentru eticheta produsului" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Nume etichetă" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "Nume ușor de utilizat pentru eticheta produsului" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Nume afișare etichetă" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Etichetă produs" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "etichetă de categorie" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "Etichete de categorie" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Încărcați o imagine care reprezintă această categorie" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Categorie imagine" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" -msgstr "" -"Definiți un procent de majorare pentru produsele din această categorie" +msgstr "Definiți un procent de majorare pentru produsele din această categorie" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Părinte al acestei categorii pentru a forma o structură ierarhică" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Categoria de părinți" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Numele categoriei" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Furnizați un nume pentru această categorie" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Adăugați o descriere detaliată pentru această categorie" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Descriere categorie" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "etichete care ajută la descrierea sau gruparea acestei categorii" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Prioritatea mărcii" + +#: core/models.py:265 msgid "name of this brand" msgstr "Denumirea acestui brand" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Nume de marcă" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Încărcați un logo care reprezintă acest brand" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Brand imagine mică" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Încărcați un logo mare care reprezintă acest brand" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Imagine de marcă mare" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Adăugați o descriere detaliată a mărcii" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Descrierea mărcii" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Categorii opționale cu care acest brand este asociat" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Categorii" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "Melc de marcă" -#: core/models.py:296 -msgid "brand priority" -msgstr "Prioritatea mărcii" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Categoria din care face parte acest produs" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "Opțional, asociați acest produs cu un brand" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Etichete care ajută la descrierea sau gruparea acestui produs" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Indică dacă acest produs este livrat digital" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "Produsul este digital" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Furnizați o denumire clară de identificare a produsului" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Denumirea produsului" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Adăugați o descriere detaliată a produsului" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Descrierea produsului" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Numărul piesei pentru acest produs" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Numărul piesei" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Categoria acestui atribut" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Grupul acestui atribut" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "Șir de caractere" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Număr întreg" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Float" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Boolean" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Array" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Obiect" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Tipul valorii atributului" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Tipul de valoare" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Denumirea acestui atribut" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Numele atributului" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Atribut" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Atributul acestei valori" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "Produsul specific asociat cu valoarea acestui atribut" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Produs asociat" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "Valoarea specifică pentru acest atribut" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "Furnizați text alternativ pentru imagine pentru accesibilitate" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "Textul alt al imaginii" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Încărcați fișierul de imagine pentru acest produs" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Imaginea produsului" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Determină ordinea în care sunt afișate imaginile" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Prioritatea afișării" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "Produsul pe care îl reprezintă această imagine" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Imagini ale produsului" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Procentul de reducere pentru produsele selectate" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Procent de reducere" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Furnizați un nume unic pentru această promoție" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Numele promoției" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Descrierea promoției" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Selectați ce produse sunt incluse în această promoție" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Produse incluse" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Promovare" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "Furnizorul care furnizează acest stoc de produse" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Furnizor asociat" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Prețul final pentru client după majorări" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Prețul de vânzare" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "Produsul asociat cu această intrare în stoc" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "Prețul plătit vânzătorului pentru acest produs" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Prețul de achiziție al furnizorului" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Cantitatea disponibilă a produsului în stoc" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Cantitate în stoc" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU atribuit de furnizor pentru identificarea produsului" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "SKU al furnizorului" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "Fișier digital asociat cu acest stoc, dacă este cazul" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "Fișier digital" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Intrări pe stoc" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Produse pe care utilizatorul le-a marcat ca fiind dorite" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "Utilizatorul care deține această listă de dorințe" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Proprietarul listei de dorințe" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Lista dorințelor" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} nu există: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Documentar" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Documentare" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Nerezolvat" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Linia de adresă pentru client" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Linia de adresă" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Strada" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "Districtul" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "Oraș" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Regiunea" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Cod poștal" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "Țara" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Punct de geolocație (longitudine, latitudine)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Răspuns JSON complet de la geocoder pentru această adresă" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Răspuns JSON stocat de la serviciul de geocodare" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Adresă" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Adrese" -#: core/models.py:767 +#: core/models.py:791 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:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Cod promoțional de identificare" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "Valoarea fixă a reducerii aplicate dacă procentul nu este utilizat" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Valoarea fixă a reducerii" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "Procentul de reducere aplicat dacă suma fixă nu este utilizată" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Reducere procentuală" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Data la care expiră codul promoțional" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "Timpul final de valabilitate" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Timestamp de la care acest cod promoțional este valabil" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Ora de începere a valabilității" -#: core/models.py:800 +#: core/models.py:824 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:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Timestamp de utilizare" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "Utilizatorul atribuit acestui cod promoțional, dacă este cazul" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Utilizator atribuit" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Cod promoțional" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Coduri promoționale" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1833,140 +1838,140 @@ msgstr "" "Trebuie definit un singur tip de reducere (sumă sau procent), dar nu ambele " "sau niciuna." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "Codul promoțional a fost deja utilizat" -#: core/models.py:856 +#: core/models.py:880 #, 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:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "Adresa de facturare utilizată pentru această comandă" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Cod promoțional opțional aplicat la această comandă" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Cod promoțional aplicat" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "Adresa de expediere utilizată pentru această comandă" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Adresa de expediere" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Stadiul actual al comenzii în ciclul său de viață" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Stadiul comenzii" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 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:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "Reprezentarea JSON a atributelor comenzii pentru această comandă" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "Utilizatorul care a plasat comanda" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "Utilizator" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "Momentul în care comanda a fost finalizată" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Cumpărați timp" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "Un identificator ușor de citit pentru comandă" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "ID lizibil de către om" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Comandă" -#: core/models.py:951 +#: core/models.py:975 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:987 +#: core/models.py:1011 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:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "Nu puteți adăuga produse inactive la comandă" -#: core/models.py:1013 +#: core/models.py:1037 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:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 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:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} nu există cu interogarea <{query}>" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Codul promoțional nu există" -#: core/models.py:1108 +#: core/models.py:1132 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:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "Adresa nu există" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 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:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Valoare forță invalidă" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "Nu puteți achiziționa o comandă goală!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Insuficiența fondurilor pentru finalizarea comenzii" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1974,122 +1979,120 @@ 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:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" -"Metodă de plată invalidă: {payment_method} de la " -"{available_payment_methods}!" +"Metodă de plată invalidă: {payment_method} de la {available_payment_methods}!" -#: core/models.py:1300 +#: core/models.py:1324 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:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Prețul de achiziție la momentul comenzii" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "" "Comentarii interne pentru administratori cu privire la acest produs comandat" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Observații interne" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "Notificări pentru utilizatori" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "Reprezentarea JSON a atributelor acestui element" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Atribute de produs ordonate" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Trimitere la comanda mamă care conține acest produs" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Ordinul părinților" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "Produsul specific asociat cu această linie de comandă" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Cantitatea acestui produs specific din comandă" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Cantitatea produsului" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Starea actuală a acestui produs în comandă" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Starea liniei de produse" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "acțiune greșită specificată pentru feedback: {action}" -#: core/models.py:1421 +#: core/models.py:1445 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:1433 +#: core/models.py:1457 msgid "download" msgstr "Descărcare" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Descărcări" -#: core/models.py:1443 +#: core/models.py:1467 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:1455 +#: core/models.py:1479 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:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Comentarii de feedback" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +msgid "references the specific product in an order that this feedback is about" msgstr "" -"Face referire la produsul specific dintr-o comandă despre care este vorba în" -" acest feedback" +"Face referire la produsul specific dintr-o comandă despre care este vorba în " +"acest feedback" -#: core/models.py:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Produs aferent comenzii" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "Rating atribuit de utilizator pentru produs" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Evaluarea produsului" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Feedback" @@ -2097,10 +2100,10 @@ msgstr "Feedback" msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "" -"trebuie să furnizați un comentariu, un rating și uuid-ul produsului comandat" -" pentru a adăuga feedback." +"trebuie să furnizați un comentariu, un rating și uuid-ul produsului comandat " +"pentru a adăuga feedback." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Eroare în timpul creării codului promoțional: {e!s}" @@ -2132,7 +2135,8 @@ msgstr "Bună ziua %(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 "" "Vă mulțumim pentru comanda dvs. #%(order.pk)s! Suntem încântați să vă " @@ -2226,11 +2230,12 @@ msgstr "Cheie" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" -"Vă mulțumim pentru comanda dvs.! Suntem încântați să vă confirmăm achiziția." -" Mai jos sunt detaliile comenzii dvs:" +"Vă mulțumim pentru comanda dvs.! Suntem încântați să vă confirmăm achiziția. " +"Mai jos sunt detaliile comenzii dvs:" #: core/templates/shipped_order_created_email.html:123 #: core/templates/shipped_order_delivered_email.html:123 @@ -2265,12 +2270,12 @@ msgstr "Sunt necesare atât datele, cât și timpul de așteptare" msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "Valoare timeout invalidă, trebuie să fie între 0 și 216000 secunde" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} trebuie să fie model" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} trebuie să fie un obiect listă" @@ -2294,7 +2299,7 @@ msgstr "{config.PROJECT_NAME} | Comanda livrată" msgid "you do not have permission to perform this action." msgstr "Nu aveți permisiunea de a efectua această acțiune." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "Parametrul NOMINATIM_URL trebuie să fie configurat!" @@ -2309,11 +2314,11 @@ msgstr "" msgid "invalid phone number format" msgstr "Format invalid al numărului de telefon" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "Puteți descărca activul digital o singură dată" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "favicon nu a fost găsit" @@ -2321,3 +2326,6 @@ msgstr "favicon nu a fost găsit" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Eroare de geocodare: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "Motorul eVibes" diff --git a/core/locale/ru_RU/LC_MESSAGES/django.mo b/core/locale/ru_RU/LC_MESSAGES/django.mo index 2d26a0101c3094a41e19d1d67eb6d38366a1ad9b..3e3281bb316bfd34730f12815ca9e1e20aa18f31 100644 GIT binary patch delta 10998 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 delta 11127 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Активен" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Если установлено значение false, этот объект не может быть виден " "пользователям без необходимого разрешения" @@ -61,36 +60,36 @@ msgstr "Активировать выбранные %(verbose_name_plural)s" msgid "deactivate selected %(verbose_name_plural)s" msgstr "Деактивировать выбранные %(verbose_name_plural)s" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "Значение атрибута" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "Значения атрибутов" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "Имя" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "Изображение" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "Изображения" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "Наличие" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "Наличия" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -98,31 +97,31 @@ msgstr "Наличия" msgid "price" msgstr "Цена" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "Рейтинг продукции" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "Основная информация" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "Важные даты" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "Заказать товар" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "Заказать товары" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Бизнес" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "Конфигурация" @@ -130,10 +129,6 @@ msgstr "Конфигурация" msgid "core" msgstr "Ядро" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "Движок eVibes" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "Готовые" @@ -202,7 +197,7 @@ msgstr "Получите параметры приложения, которые msgid "send a message to the support team" msgstr "Отправьте сообщение в службу поддержки" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "Запросите URL-адрес с поддержкой CORS. Допускается только https." @@ -246,8 +241,7 @@ msgstr "" "элементов" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Переписывание некоторых полей существующей группы атрибутов с сохранением " "нередактируемых полей" @@ -301,8 +295,7 @@ msgstr "" "значений" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Переписывание некоторых полей существующего значения атрибута с сохранением " "нередактируемых значений" @@ -346,11 +339,11 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Поиск подстроки с учетом регистра в human_readable_id, " -"order_products.product.name и order_products.product.partnumber" +"Поиск подстроки с учетом регистра в human_readable_id, order_products." +"product.name и order_products.product.partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -386,9 +379,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Упорядочивайте по одному из следующих признаков: uuid, human_readable_id, " "user_email, user, status, created, modified, buy_time, random. Префикс '-' " @@ -435,7 +428,7 @@ msgstr "" "завершается с использованием баланса пользователя; если используется " "`force_payment`, инициируется транзакция." -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "приобретение заказа без создания учетной записи" @@ -464,8 +457,8 @@ msgid "" "adds a list of products to an order using the provided `product_uuid` and " "`attributes`." msgstr "" -"Добавляет список товаров в заказ, используя предоставленные `product_uuid` и" -" `attributes`." +"Добавляет список товаров в заказ, используя предоставленные `product_uuid` и " +"`attributes`." #: core/docs/drf/viewsets.py:266 msgid "remove product from order" @@ -488,8 +481,8 @@ msgid "" "removes a list of products from an order using the provided `product_uuid` " "and `attributes`" msgstr "" -"Удаляет список товаров из заказа, используя предоставленные `product_uuid` и" -" `attributes`." +"Удаляет список товаров из заказа, используя предоставленные `product_uuid` и " +"`attributes`." #: core/docs/drf/viewsets.py:281 msgid "list all wishlists (simple view)" @@ -570,18 +563,29 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Фильтр по одной или нескольким парам имя/значение атрибута. \n" "- **Синтаксис**: `attr_name=method-value[;attr2=method2-value2]...`.\n" -"- **Методы** (по умолчанию используется `icontains`, если опущено): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- **Типизация значений**: JSON сначала пытается принять значение (так что вы можете передавать списки/дискреты), `true`/`false` для булевых, целых чисел, плавающих; в противном случае обрабатывается как строка. \n" -"- **Base64**: префикс `b64-` для безопасного для URL base64-кодирования исходного значения. \n" +"- **Методы** (по умолчанию используется `icontains`, если опущено): " +"`iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, " +"`istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, " +"`gt`, `gte`, `in`.\n" +"- **Типизация значений**: JSON сначала пытается принять значение (так что вы " +"можете передавать списки/дискреты), `true`/`false` для булевых, целых чисел, " +"плавающих; в противном случае обрабатывается как строка. \n" +"- **Base64**: префикс `b64-` для безопасного для URL base64-кодирования " +"исходного значения. \n" "Примеры: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`." @@ -636,11 +640,14 @@ msgstr "(точно) Цифровые и физические" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Список полей для сортировки, разделенных запятыми. Для сортировки по убыванию используйте префикс `-`. \n" -"**Разрешенные:** uuid, рейтинг, название, slug, created, modified, price, random" +"Список полей для сортировки, разделенных запятыми. Для сортировки по " +"убыванию используйте префикс `-`. \n" +"**Разрешенные:** uuid, рейтинг, название, slug, created, modified, price, " +"random" #: core/docs/drf/viewsets.py:441 msgid "retrieve a single product (detailed view)" @@ -768,239 +775,239 @@ msgstr "удалить отношение \"заказ-продукт" msgid "add or remove feedback on an order–product relation" msgstr "добавлять или удалять отзывы о связи заказ-продукт" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "Поисковый запрос не предоставлен." -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "Имя" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "Категории" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "Категории Слизни" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "Теги" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "Мин. цена" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "Максимальная цена" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "Активен" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "Бренд" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "Атрибуты" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "Количество" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "Слизняк" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "Цифровой" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "Включите подкатегории" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" "Для использования флага include_subcategories должен быть указан " "category_uuid." -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "Поиск (идентификатор, название продукта или номер детали)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "Куплено после (включительно)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "Куплено ранее (включительно)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "Электронная почта пользователя" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "UUID пользователя" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "Статус" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "Человекочитаемый идентификатор" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "Родитель" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "Вся категория (есть хотя бы 1 продукт или нет)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "Уровень" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "UUID продукта" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "Ключ, который нужно найти в тайнике или вложить в него" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "Данные для хранения в кэше" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "Тайм-аут в секундах для занесения данных в кэш" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "Кэшированные данные" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON-данные из запрашиваемого URL" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "Допускаются только URL-адреса, начинающиеся с http(s)://" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "Добавить товар в заказ" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Заказ {order_uuid} не найден" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "Удалить продукт из заказа" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "Удалить все товары из заказа" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "Купить заказ" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" "Пожалуйста, укажите либо order_uuid, либо order_hr_id - взаимоисключающие " "варианты!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Неправильный тип получен из метода order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "Выполните действие над списком товаров в заказе" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "Удалить/добавить" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "Действие должно быть либо \"добавить\", либо \"удалить\"!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "Добавить товар в заказ" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Список желаний {wishlist_uuid} не найден" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "Удалить продукт из заказа" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "Удалить продукт из заказа" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "Удалить продукт из заказа" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "Купить заказ" -#: core/graphene/mutations.py:483 +#: 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 "" "Пожалуйста, отправьте атрибуты в виде строки, отформатированной как " "attr1=value1,attr2=value2" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "Оригинальная строка адреса, предоставленная пользователем" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} не существует: {uuid}" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "Предел должен быть от 1 до 10" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - работает как шарм" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "Атрибуты" @@ -1012,87 +1019,86 @@ msgstr "Сгруппированные атрибуты" msgid "groups of attributes" msgstr "Группы атрибутов" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "Категории" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "Бренды" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "Категории" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "Процент наценки" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "" "Какие атрибуты и значения можно использовать для фильтрации этой категории." -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Минимальные и максимальные цены на товары в этой категории, если они " "доступны." -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "Теги для этой категории" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "Продукты в этой категории" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "Поставщики" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "Широта (координата Y)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "Долгота (координата X)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "Как" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" "Значение рейтинга от 1 до 10, включительно, или 0, если он не установлен." -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "Представляет собой отзыв пользователя." -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "Уведомления" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "Если применимо, загрузите url для этого продукта заказа" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "Список товаров, заказанных в этом заказе" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "Адрес для выставления счетов" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1100,47 +1106,47 @@ msgstr "" "Адрес доставки для данного заказа, оставьте пустым, если он совпадает с " "адресом выставления счета или не применяется" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "Общая стоимость этого заказа" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "Общее количество продуктов в заказе" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "Все ли товары в заказе представлены в цифровом виде" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "Заказы" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "URL-адрес изображения" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "Изображения продукта" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "Категория" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "Отзывы" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "Бренд" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "Группы атрибутов" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1148,31 +1154,31 @@ msgstr "Группы атрибутов" msgid "quantity" msgstr "Количество" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "Количество отзывов" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "Продукция" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "Промокоды" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "Продукты в продаже" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "Акции" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "Поставщик" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1180,793 +1186,793 @@ msgstr "Поставщик" msgid "product" msgstr "Продукт" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "Продукты из списка желаний" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "Списки желаний" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "Tagged products" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "Теги товара" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "Категории с метками" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "Теги категорий" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "Название проекта" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "Электронная почта компании" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "Название компании" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "Адрес компании" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "Номер телефона компании" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', иногда его нужно использовать вместо значения пользователя " "хоста." -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "Пользователь узла электронной почты" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "Максимальная сумма для оплаты" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "Минимальная сумма для оплаты" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "Аналитические данные" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "Рекламные данные" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "Конфигурация" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "Код языка" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "Название языка" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "Языковой флаг, если он существует :)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "Получите список поддерживаемых языков" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "Результаты поиска товаров" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "Результаты поиска товаров" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "Родитель этой группы" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "Родительская группа атрибутов" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "Имя группы атрибутов" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "Группа атрибутов" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "" -"Хранит учетные данные и конечные точки, необходимые для взаимодействия с API" -" поставщика." +"Хранит учетные данные и конечные точки, необходимые для взаимодействия с API " +"поставщика." -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "Информация об аутентификации" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "Определите наценку для товаров, полученных от этого продавца" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "Процент наценки поставщика" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "Имя этого продавца" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "Название поставщика" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "Внутренний идентификатор тега для тега продукта" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "Название тега" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "Удобное название для метки продукта" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "Отображаемое имя тега" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "Метка продукта" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "тег категории" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "теги категорий" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "Загрузите изображение, представляющее эту категорию" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "Изображение категории" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "Определите процент наценки для товаров в этой категории" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "Родитель данной категории для формирования иерархической структуры" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "Родительская категория" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "Название категории" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "Укажите название этой категории" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "Добавьте подробное описание для этой категории" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "Описание категории" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "теги, которые помогают описать или сгруппировать эту категорию" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "Приоритет бренда" + +#: core/models.py:265 msgid "name of this brand" msgstr "Название этой марки" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "Название бренда" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "Загрузите логотип, представляющий этот бренд" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "Маленький образ бренда" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "Загрузите большой логотип, представляющий этот бренд" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "Большой имидж бренда" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "Добавьте подробное описание бренда" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "Описание бренда" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "Дополнительные категории, с которыми ассоциируется этот бренд" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "Категории" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" -msgstr "Брандский слизняк" +msgstr "Слаг бренда" -#: core/models.py:296 -msgid "brand priority" -msgstr "Приоритет бренда" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "Категория, к которой относится этот продукт" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "По желанию ассоциируйте этот продукт с брендом" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "Теги, которые помогают описать или сгруппировать этот продукт" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "Указывает, поставляется ли этот продукт в цифровом виде" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "Является ли продукт цифровым" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "Обеспечьте четкое идентификационное название продукта" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "Название продукта" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "Добавьте подробное описание продукта" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "Описание товара" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "Парт. номер для данного товара" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "Парт. номер" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "Категория этого атрибута" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "Группа этого атрибута" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "Строка" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "Целое число" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "Поплавок" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "Булево" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "Массив" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "Объект" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "Тип значения атрибута" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "Тип значения" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "Имя этого атрибута" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "Имя атрибута" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "Атрибут" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "Атрибут этого значения" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "Конкретный продукт, связанный со значением этого атрибута" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "Сопутствующий товар" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "Конкретное значение для этого атрибута" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "" "Предоставьте альтернативный текст для изображения, чтобы обеспечить " "доступность" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "Альтовый текст изображения" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "Загрузите файл изображения для этого продукта" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "Изображение продукта" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "Определяет порядок отображения изображений" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "Приоритет отображения" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "Продукт, который представлен на этом изображении" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "Изображения продуктов" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "Процентная скидка на выбранные продукты" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "Процент скидки" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "Укажите уникальное имя для этой акции" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "Название акции" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "Описание акции" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "Выберите, какие продукты участвуют в этой акции" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "Включенные продукты" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "Продвижение" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "Поставщик, поставляющий данный товар на склад" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "Ассоциированный поставщик" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "Окончательная цена для покупателя после наценок" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "Цена продажи" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "Продукт, связанный с этой складской записью" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "Цена, уплаченная продавцу за этот продукт" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "Цена покупки у поставщика" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "Доступное количество продукта на складе" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "Количество на складе" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "Присвоенный поставщиком SKU для идентификации продукта" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "SKU поставщика" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "Цифровой файл, связанный с этой акцией, если применимо" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "Цифровой файл" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "Складские состояния" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "Продукты, которые пользователь отметил как желаемые" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "Пользователь, владеющий этим списком желаний" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "Владелец вишлиста" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "Список желаний" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} не существует: {product_uuid}" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "Документальный фильм" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "Документальные фильмы" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "Неразрешенные" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "Адресная строка для клиента" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "Адресная строка" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "Улица" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "Округ" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "Город" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "Регион" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "Почтовый индекс" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "Страна" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "Геолокационная точка(долгота, широта)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "Полный JSON-ответ от геокодера для этого адреса" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "Сохраненный JSON-ответ от сервиса геокодирования" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "Адрес" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "Адреса" -#: core/models.py:767 +#: core/models.py:791 msgid "unique code used by a user to redeem a discount" msgstr "Уникальный код, используемый пользователем для получения скидки" -#: core/models.py:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "Идентификатор промо-кода" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "Фиксированная сумма скидки, применяемая, если процент не используется" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "Фиксированная сумма скидки" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "" "Процентная скидка, применяемая, если фиксированная сумма не используется" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "Процентная скидка" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "Временная метка, когда истекает срок действия промокода" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "Время окончания срока действия" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "Время, с которого действует этот промокод" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "Время начала действия" -#: core/models.py:800 +#: core/models.py:824 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Временная метка, когда был использован промокод, пустая, если он еще не " "использовался" -#: core/models.py:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "Временная метка использования" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "Пользователь, назначенный на этот промокод, если применимо" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "Назначенный пользователь" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "Промокод" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "Промокоды" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -"Следует определить только один тип скидки (сумма или процент), но не оба или" -" ни один из них." +"Следует определить только один тип скидки (сумма или процент), но не оба или " +"ни один из них." -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "Промокоды" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Неверный тип скидки для промокода {self.uuid}" -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "Адрес для выставления счетов, используемый для данного заказа" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "Дополнительный промокод, применяемый к этому заказу" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "Примененный промокод" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "Адрес доставки, используемый для данного заказа" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "Адрес доставки" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "Текущий статус заказа в его жизненном цикле" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "Статус заказа" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 msgid "json structure of notifications to display to users" msgstr "" -"JSON-структура уведомлений для отображения пользователям, в административном" -" интерфейсе используется табличный вид" +"JSON-структура уведомлений для отображения пользователям, в административном " +"интерфейсе используется табличный вид" -#: core/models.py:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "JSON-представление атрибутов заказа для этого заказа" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "Пользователь, разместивший заказ" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "Пользователь" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "Временная метка, когда заказ был завершен" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "Время покупки" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "Человекочитаемый идентификатор для заказа" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "человекочитаемый идентификатор" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "Заказать" -#: core/models.py:951 +#: core/models.py:975 msgid "a user must have only one pending order at a time" msgstr "Пользователь может одновременно иметь только один отложенный ордер!" -#: core/models.py:987 +#: core/models.py:1011 msgid "you cannot add products to an order that is not a pending one" msgstr "Вы не можете добавить товары в заказ, который не является отложенным." -#: core/models.py:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "Вы не можете добавить неактивные товары в заказ" -#: core/models.py:1013 +#: core/models.py:1037 msgid "you cannot add more products than available in stock" msgstr "Вы не можете добавить больше товаров, чем есть на складе" -#: core/models.py:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 msgid "you cannot remove products from an order that is not a pending one" -msgstr "" -"Вы не можете удалить товары из заказа, который не является отложенным." +msgstr "Вы не можете удалить товары из заказа, который не является отложенным." -#: core/models.py:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "{name} не существует в запросе <{query}>." -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "Промокод не существует" -#: core/models.py:1108 +#: core/models.py:1132 msgid "you can only buy physical products with shipping address specified" msgstr "" "Вы можете купить физические товары только с указанным адресом доставки!" -#: core/models.py:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "Адрес не существует" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "В данный момент вы не можете совершить покупку, пожалуйста, повторите " "попытку через несколько минут." -#: core/models.py:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "Недопустимое значение силы" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "Вы не можете приобрести пустой заказ!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "Недостаточно средств для выполнения заказа" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1974,118 +1980,116 @@ msgstr "" "Вы не можете купить без регистрации, пожалуйста, предоставьте следующую " "информацию: имя клиента, электронная почта клиента, номер телефона клиента" -#: core/models.py:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Неверный способ оплаты: {payment_method} от {available_payment_methods}!" -#: core/models.py:1300 +#: core/models.py:1324 msgid "the price paid by the customer for this product at purchase time" msgstr "Цена, уплаченная клиентом за данный продукт на момент покупки" -#: core/models.py:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "Покупная цена на момент заказа" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" -msgstr "" -"Внутренние комментарии для администраторов об этом заказанном продукте" +msgstr "Внутренние комментарии для администраторов об этом заказанном продукте" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "Внутренние комментарии" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "Уведомления пользователей" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "JSON-представление атрибутов этого элемента" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "Атрибуты заказанного продукта" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "Ссылка на родительский заказ, содержащий данный продукт" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "Родительский приказ" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "Конкретный продукт, связанный с этой линией заказа" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "Количество данного товара в заказе" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "Количество продукта" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "Текущий статус этого продукта в заказе" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "Состояние продуктовой линейки" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "указано неверное действие для обратной связи: {action}" -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "Вы не можете отозвать заказ, который не был получен" -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "Скачать" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "Скачать" -#: core/models.py:1443 +#: core/models.py:1467 msgid "you can not download a digital asset for a non-finished order" msgstr "Вы не можете загрузить цифровой актив для незавершенного заказа" -#: core/models.py:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "Комментарии пользователей об их опыте использования продукта" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "Комментарии к отзывам" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +msgid "references the specific product in an order that this feedback is about" msgstr "" "Ссылка на конкретный продукт в заказе, о котором идет речь в этом отзыве" -#: core/models.py:1466 +#: core/models.py:1490 msgid "related order product" msgstr "Сопутствующий товар для заказа" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "Присвоенный пользователем рейтинг продукта" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "Рейтинг продукции" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "Обратная связь" @@ -2096,7 +2100,7 @@ msgstr "" "чтобы добавить отзыв, необходимо указать комментарий, рейтинг и uuid " "продукта заказа." -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "Ошибка при создании промокода: {e!s}" @@ -2128,11 +2132,12 @@ msgstr "Здравствуйте %(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 "" -"Благодарим вас за заказ #%(order.pk)s! Мы рады сообщить Вам, что приняли Ваш" -" заказ в работу. Ниже приведены детали вашего заказа:" +"Благодарим вас за заказ #%(order.pk)s! Мы рады сообщить Вам, что приняли Ваш " +"заказ в работу. Ниже приведены детали вашего заказа:" #: core/templates/digital_order_created_email.html:112 #: core/templates/digital_order_delivered_email.html:111 @@ -2221,7 +2226,8 @@ msgstr "Ключ" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Спасибо за ваш заказ! Мы рады подтвердить вашу покупку. Ниже приведены " @@ -2262,12 +2268,12 @@ msgstr "" "Неверное значение тайм-аута, оно должно находиться в диапазоне от 0 до " "216000 секунд" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model} должна быть моделью" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} должен быть объектом списка" @@ -2291,7 +2297,7 @@ msgstr "{config.PROJECT_NAME} | Заказ доставлен" msgid "you do not have permission to perform this action." msgstr "У вас нет разрешения на выполнение этого действия." -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "Параметр NOMINATIM_URL должен быть настроен!" @@ -2299,18 +2305,17 @@ msgstr "Параметр NOMINATIM_URL должен быть настроен!" #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -"Размеры изображения не должны превышать w{max_width} x h{max_height} " -"пикселей" +"Размеры изображения не должны превышать w{max_width} x h{max_height} пикселей" #: core/validators.py:22 msgid "invalid phone number format" msgstr "Неверный формат телефонного номера" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "Вы можете загрузить цифровой актив только один раз" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "favicon не найден" @@ -2318,3 +2323,6 @@ msgstr "favicon не найден" #, python-brace-format msgid "Geocoding error: {e}" msgstr "Ошибка геокодирования: {e}" + +#~ msgid "eVibes Engine" +#~ msgstr "Движок eVibes" diff --git a/core/locale/zh_Hans/LC_MESSAGES/django.mo b/core/locale/zh_Hans/LC_MESSAGES/django.mo index 5c1ea601e9136ef84c2afbca7cb196a489af6862..33bd309a3c79ac47b1dce9b318dd78a983a1d3a2 100644 GIT binary patch delta 10977 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 sS416Ym~+9Kw`b12abU^KsWZ0s^\n" "Language-Team: BRITISH ENGLISH \n" @@ -27,8 +27,7 @@ msgstr "处于活动状态" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "如果设置为 false,则没有必要权限的用户无法查看此对象" #: core/abstract.py:22 core/choices.py:18 @@ -57,36 +56,36 @@ msgstr "激活选定的 %(verbose_name_plural)s" msgid "deactivate selected %(verbose_name_plural)s" msgstr "停用选定的 %(verbose_name_plural)s" -#: core/admin.py:70 core/graphene/object_types.py:437 -#: core/graphene/object_types.py:444 core/models.py:485 core/models.py:493 +#: core/admin.py:70 core/graphene/object_types.py:411 +#: core/graphene/object_types.py:418 core/models.py:509 core/models.py:517 msgid "attribute value" msgstr "属性值" -#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:494 +#: core/admin.py:71 core/graphene/object_types.py:48 core/models.py:518 msgid "attribute values" msgstr "属性值" -#: core/admin.py:141 +#: core/admin.py:148 msgid "name" msgstr "名称" -#: core/admin.py:160 +#: core/admin.py:171 msgid "image" msgstr "图片" -#: core/admin.py:161 core/graphene/object_types.py:386 +#: core/admin.py:172 core/graphene/object_types.py:364 msgid "images" msgstr "图片" -#: core/admin.py:168 core/models.py:624 +#: core/admin.py:179 core/models.py:648 msgid "stock" msgstr "库存" -#: core/admin.py:169 core/graphene/object_types.py:497 +#: core/admin.py:180 core/graphene/object_types.py:465 msgid "stocks" msgstr "股票" -#: core/admin.py:209 core/graphene/object_types.py:392 +#: core/admin.py:220 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 @@ -94,31 +93,31 @@ msgstr "股票" msgid "price" msgstr "价格" -#: core/admin.py:214 +#: core/admin.py:225 msgid "rating" msgstr "产品评级" -#: core/admin.py:218 +#: core/admin.py:229 msgid "basic info" msgstr "基本信息" -#: core/admin.py:234 +#: core/admin.py:245 msgid "important dates" msgstr "重要日期" -#: core/admin.py:278 core/models.py:1358 +#: core/admin.py:289 core/models.py:1382 msgid "order product" msgstr "订购产品" -#: core/admin.py:279 core/graphene/object_types.py:310 core/models.py:1359 +#: core/admin.py:290 core/graphene/object_types.py:290 core/models.py:1383 msgid "order products" msgstr "订购产品" -#: core/admin.py:306 +#: core/admin.py:317 msgid "is business" msgstr "Is Business" -#: core/admin.py:439 +#: core/admin.py:448 msgid "config" msgstr "配置" @@ -126,10 +125,6 @@ msgstr "配置" msgid "core" msgstr "核心" -#: core/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes 引擎" - #: core/choices.py:4 core/choices.py:20 msgid "finished" msgstr "完成" @@ -198,7 +193,7 @@ msgstr "获取应用程序的可公开参数" msgid "send a message to the support team" msgstr "向支持团队发送信息" -#: core/docs/drf/views.py:59 core/graphene/mutations.py:56 +#: core/docs/drf/views.py:59 core/graphene/mutations.py:54 msgid "request a CORSed URL" msgstr "请求 CORSed URL。只允许使用 https。" @@ -214,7 +209,9 @@ msgstr "以企业身份购买订单" msgid "" "purchase an order as a business, using the provided `products` with " "`product_uuid` and `attributes`." -msgstr "使用提供的带有 `product_uuid` 和 `attributes` 的 `products` 作为企业购买订单。" +msgstr "" +"使用提供的带有 `product_uuid` 和 `attributes` 的 `products` 作为企业购买订" +"单。" #: core/docs/drf/viewsets.py:43 msgid "list all attribute groups (simple view)" @@ -237,8 +234,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "重写保存不可编辑的现有属性组" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "重写现有属性组的某些字段,保存不可编辑的内容" #: core/docs/drf/viewsets.py:70 @@ -286,8 +282,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "重写现有属性值,保存不可编辑属性" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "重写现有属性值的某些字段,保存不可编辑的属性值" #: core/docs/drf/viewsets.py:124 @@ -324,11 +319,11 @@ msgstr "对于非工作人员用户,只有他们自己的订单才会被退回 #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"在 human_readable_id、order_products.product.name 和 " -"order_products.product.partnumber 中进行不区分大小写的子串搜索" +"在 human_readable_id、order_products.product.name 和 order_products.product." +"partnumber 中进行不区分大小写的子串搜索" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -360,11 +355,12 @@ msgstr "按订单状态筛选(不区分大小写的子串匹配)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" -"按以下一项排序:uuid、human_readable_id、user_email、user、status、created、modified、buy_time、random。前缀\"-\"表示降序(例如\"-buy_time\")。" +"按以下一项排序:uuid、human_readable_id、user_email、user、status、created、" +"modified、buy_time、random。前缀\"-\"表示降序(例如\"-buy_time\")。" #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -399,9 +395,11 @@ msgid "" "finalizes the order purchase. if `force_balance` is used, the purchase is " "completed using the user's balance; if `force_payment` is used, a " "transaction is initiated." -msgstr "完成订单购买。如果使用 \"force_balance\",则使用用户的余额完成购买;如果使用 \"force_payment\",则启动交易。" +msgstr "" +"完成订单购买。如果使用 \"force_balance\",则使用用户的余额完成购买;如果使用 " +"\"force_payment\",则启动交易。" -#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:300 +#: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:280 msgid "purchase an order without account creation" msgstr "无需创建账户即可购买订单" @@ -518,17 +516,25 @@ msgstr "使用提供的 `product_uuids` 从愿望清单中删除多个产品" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "根据一个或多个属性名/值对进行筛选。 \n" "- 语法**:`attr_name=method-value[;attr2=method2-value2]...`\n" -"- 方法**(如果省略,默认为 `icontains`):iexact`、`exact`、`icontains`、`contains`、`isnull`、`startswith`、`istartswith`、`endswith`、`iendswith`、`regex`、`iregex`、`lt`、`lte`、`gt`、`gte`、`in`。\n" -"- 值键入**:首先尝试使用 JSON(因此可以传递列表/字段),布尔、整数、浮点数使用 `true`/`false`,否则视为字符串。 \n" +"- 方法**(如果省略,默认为 `icontains`):iexact`、`exact`、`icontains`、" +"`contains`、`isnull`、`startswith`、`istartswith`、`endswith`、`iendswith`、" +"`regex`、`iregex`、`lt`、`lte`、`gt`、`gte`、`in`。\n" +"- 值键入**:首先尝试使用 JSON(因此可以传递列表/字段),布尔、整数、浮点数使" +"用 `true`/`false`,否则视为字符串。 \n" "- **Base64**:以 `b64-` 作为前缀,对原始值进行 URL 安全的 base64 编码。 \n" "示例 \n" "color=exact-red`、`size=gt-10`、`features=in-[\"wifi\"、\"bluetooth\"]`、\n" @@ -584,7 +590,8 @@ msgstr "(准确)数字与实物" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" "用逗号分隔的要排序的字段列表。前缀为 `-` 表示降序。 \n" @@ -709,233 +716,233 @@ msgstr "删除订单-产品关系" msgid "add or remove feedback on an order–product relation" msgstr "添加或删除订单与产品关系中的反馈信息" -#: core/elasticsearch/__init__.py:44 +#: core/elasticsearch/__init__.py:106 msgid "no search term provided." msgstr "未提供搜索条件。" -#: core/filters.py:61 core/filters.py:493 core/filters.py:522 +#: core/filters.py:61 core/filters.py:459 core/filters.py:488 msgid "UUID" msgstr "UUID" -#: core/filters.py:62 core/filters.py:381 core/filters.py:458 +#: core/filters.py:62 core/filters.py:353 core/filters.py:428 msgid "Name" msgstr "名称" -#: core/filters.py:64 core/filters.py:460 +#: core/filters.py:63 core/filters.py:429 msgid "Categories" msgstr "类别" -#: core/filters.py:68 +#: core/filters.py:65 msgid "Categories Slugs" msgstr "类别 蛞蝓" -#: core/filters.py:70 core/filters.py:389 +#: core/filters.py:66 core/filters.py:361 msgid "Tags" msgstr "标签" -#: core/filters.py:72 +#: core/filters.py:67 msgid "Min Price" msgstr "最低价格" -#: core/filters.py:75 +#: core/filters.py:68 msgid "Max Price" msgstr "最高价格" -#: core/filters.py:77 +#: core/filters.py:69 msgid "Is Active" msgstr "处于活动状态" -#: core/filters.py:78 +#: core/filters.py:70 msgid "Brand" msgstr "品牌" -#: core/filters.py:79 +#: core/filters.py:71 msgid "Attributes" msgstr "属性" -#: core/filters.py:81 +#: core/filters.py:72 msgid "Quantity" msgstr "数量" -#: core/filters.py:83 core/filters.py:383 +#: core/filters.py:73 core/filters.py:355 msgid "Slug" msgstr "蛞蝓" -#: core/filters.py:84 +#: core/filters.py:74 msgid "Is Digital" msgstr "是数字" -#: core/filters.py:86 +#: core/filters.py:75 msgid "Include sub-categories" msgstr "包括子类别" -#: core/filters.py:162 +#: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "必须有 category_uuid 才能使用 include_subcategories 标志" -#: core/filters.py:296 +#: core/filters.py:280 msgid "Search (ID, product name or part number)" msgstr "搜索(ID、产品名称或零件编号)" -#: core/filters.py:300 +#: core/filters.py:283 msgid "Bought after (inclusive)" msgstr "之后购买(含)" -#: core/filters.py:303 +#: core/filters.py:284 msgid "Bought before (inclusive)" msgstr "之前购买(含)" -#: core/filters.py:308 core/filters.py:359 core/filters.py:527 +#: core/filters.py:287 core/filters.py:334 core/filters.py:490 msgid "User email" msgstr "用户电子邮件" -#: core/filters.py:311 core/filters.py:362 core/filters.py:502 -#: core/filters.py:524 +#: core/filters.py:288 core/filters.py:335 core/filters.py:468 +#: core/filters.py:489 msgid "User UUID" msgstr "用户 UUID" -#: core/filters.py:313 +#: core/filters.py:289 msgid "Status" msgstr "现状" -#: core/filters.py:317 +#: core/filters.py:293 msgid "Human Readable ID" msgstr "人可读 ID" -#: core/filters.py:382 +#: core/filters.py:354 msgid "Parent" msgstr "家长" -#: core/filters.py:386 +#: core/filters.py:358 msgid "Whole category(has at least 1 product or not)" msgstr "整个类别(是否至少有 1 个产品)" -#: core/filters.py:390 +#: core/filters.py:362 msgid "Level" msgstr "级别" -#: core/filters.py:497 +#: core/filters.py:463 msgid "Product UUID" msgstr "产品 UUID" -#: core/graphene/mutations.py:39 +#: core/graphene/mutations.py:38 msgid "key to look for in or set into the cache" msgstr "在缓存中查找或设置的关键字" -#: core/graphene/mutations.py:41 +#: core/graphene/mutations.py:39 msgid "data to store in cache" msgstr "缓存中要存储的数据" -#: core/graphene/mutations.py:44 +#: core/graphene/mutations.py:42 msgid "timeout in seconds to set the data for into the cache" msgstr "将数据设置为缓存的超时(以秒为单位" -#: core/graphene/mutations.py:47 +#: core/graphene/mutations.py:45 msgid "cached data" msgstr "缓存数据" -#: core/graphene/mutations.py:61 +#: core/graphene/mutations.py:59 msgid "camelized JSON data from the requested URL" msgstr "从请求的 URL 中获取驼峰化 JSON 数据" -#: core/graphene/mutations.py:66 core/views.py:198 +#: core/graphene/mutations.py:64 core/views.py:196 msgid "only URLs starting with http(s):// are allowed" msgstr "只允许使用以 http(s):// 开头的 URL" -#: core/graphene/mutations.py:83 +#: core/graphene/mutations.py:79 msgid "add a product to the order" msgstr "在订单中添加产品" -#: core/graphene/mutations.py:106 core/graphene/mutations.py:134 -#: core/graphene/mutations.py:244 core/graphene/mutations.py:295 +#: core/graphene/mutations.py:100 core/graphene/mutations.py:126 +#: core/graphene/mutations.py:228 core/graphene/mutations.py:275 #, python-brace-format msgid "order {order_uuid} not found" msgstr "未找到订单 {order_uuid}" -#: core/graphene/mutations.py:111 core/graphene/mutations.py:160 +#: core/graphene/mutations.py:105 core/graphene/mutations.py:152 msgid "remove a product from the order" msgstr "从订单中删除产品" -#: core/graphene/mutations.py:139 +#: core/graphene/mutations.py:131 msgid "remove all products from the order" msgstr "从订单中删除所有产品" -#: core/graphene/mutations.py:182 +#: core/graphene/mutations.py:174 msgid "buy an order" msgstr "购买订单" -#: core/graphene/mutations.py:211 core/graphene/mutations.py:271 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:253 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "请提供 order_uuid 或 order_hr_id(互斥)!" -#: core/graphene/mutations.py:239 core/graphene/mutations.py:466 -#: core/graphene/mutations.py:514 core/viewsets.py:341 +#: core/graphene/mutations.py:225 core/graphene/mutations.py:442 +#: core/graphene/mutations.py:483 core/viewsets.py:341 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "order.buy() 方法中的类型有误:{type(instance)!s}" -#: core/graphene/mutations.py:249 +#: core/graphene/mutations.py:233 msgid "perform an action on a list of products in the order" msgstr "对订单中的产品列表执行操作" -#: core/graphene/mutations.py:254 +#: core/graphene/mutations.py:238 msgid "remove/add" msgstr "删除/添加" -#: core/graphene/mutations.py:290 +#: core/graphene/mutations.py:270 msgid "action must be either add or remove" msgstr "操作必须是 \"添加 \"或 \"删除\"!" -#: core/graphene/mutations.py:346 +#: core/graphene/mutations.py:326 msgid "add a product to the wishlist" msgstr "在订单中添加产品" -#: core/graphene/mutations.py:368 core/graphene/mutations.py:395 -#: core/graphene/mutations.py:422 core/graphene/mutations.py:471 +#: core/graphene/mutations.py:348 core/graphene/mutations.py:375 +#: core/graphene/mutations.py:402 core/graphene/mutations.py:445 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "未找到愿望清单 {wishlist_uuid}" -#: core/graphene/mutations.py:373 +#: core/graphene/mutations.py:353 msgid "remove a product from the wishlist" msgstr "从订单中删除产品" -#: core/graphene/mutations.py:400 +#: core/graphene/mutations.py:380 msgid "remove all products from the wishlist" msgstr "从订单中删除产品" -#: core/graphene/mutations.py:427 +#: core/graphene/mutations.py:407 msgid "buy all products from the wishlist" msgstr "从订单中删除产品" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:450 msgid "buy a product" msgstr "购买订单" -#: core/graphene/mutations.py:483 +#: 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 "请以字符串形式发送属性,格式如 attr1=value1,attr2=value2" -#: core/graphene/mutations.py:581 +#: core/graphene/mutations.py:546 msgid "original address string provided by the user" msgstr "用户提供的原始地址字符串" -#: core/graphene/mutations.py:616 core/viewsets.py:236 core/viewsets.py:344 +#: core/graphene/mutations.py:580 core/viewsets.py:236 core/viewsets.py:344 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} 不存在:{uuid}不存在" -#: core/graphene/mutations.py:629 +#: core/graphene/mutations.py:593 msgid "limit must be between 1 and 10" msgstr "限值必须在 1 和 10 之间" -#: core/graphene/mutations.py:674 +#: core/graphene/mutations.py:638 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - 工作起来得心应手" -#: core/graphene/object_types.py:55 core/graphene/object_types.py:291 -#: core/graphene/object_types.py:336 core/models.py:462 core/models.py:909 +#: 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 msgid "attributes" msgstr "属性" @@ -947,129 +954,128 @@ msgstr "分组属性" msgid "groups of attributes" msgstr "属性组" -#: core/graphene/object_types.py:89 core/graphene/object_types.py:129 -#: core/graphene/object_types.py:167 core/models.py:243 core/models.py:426 +#: 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 msgid "categories" msgstr "类别" -#: core/graphene/object_types.py:96 core/models.py:304 +#: core/graphene/object_types.py:96 core/models.py:320 msgid "brands" msgstr "品牌" -#: core/graphene/object_types.py:131 +#: core/graphene/object_types.py:125 msgid "category image url" msgstr "类别" -#: core/graphene/object_types.py:132 core/graphene/object_types.py:237 -#: core/models.py:190 +#: core/graphene/object_types.py:126 core/graphene/object_types.py:221 +#: core/models.py:191 msgid "markup percentage" msgstr "加价百分比" -#: core/graphene/object_types.py:136 +#: core/graphene/object_types.py:129 msgid "which attributes and values can be used for filtering this category." msgstr "哪些属性和值可用于筛选该类别。" -#: core/graphene/object_types.py:142 -msgid "" -"minimum and maximum prices for products in this category, if available." +#: core/graphene/object_types.py:133 +msgid "minimum and maximum prices for products in this category, if available." msgstr "该类别产品的最低和最高价格(如有)。" -#: core/graphene/object_types.py:146 +#: core/graphene/object_types.py:135 msgid "tags for this category" msgstr "此类别的标签" -#: core/graphene/object_types.py:149 +#: core/graphene/object_types.py:136 msgid "products in this category" msgstr "该类别中的产品" -#: core/graphene/object_types.py:244 core/models.py:119 +#: core/graphene/object_types.py:228 core/models.py:120 msgid "vendors" msgstr "供应商" -#: core/graphene/object_types.py:248 +#: core/graphene/object_types.py:232 msgid "Latitude (Y coordinate)" msgstr "纬度(Y 坐标)" -#: core/graphene/object_types.py:249 +#: core/graphene/object_types.py:233 msgid "Longitude (X coordinate)" msgstr "经度(X 坐标)" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:261 msgid "comment" msgstr "如何" -#: core/graphene/object_types.py:279 +#: core/graphene/object_types.py:262 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "评级值从 1 到 10(包括 10),如果未设置,则为 0。" -#: core/graphene/object_types.py:287 +#: core/graphene/object_types.py:269 msgid "represents feedback from a user." msgstr "代表用户的反馈意见。" -#: core/graphene/object_types.py:292 core/graphene/object_types.py:337 -#: core/models.py:903 +#: core/graphene/object_types.py:274 core/graphene/object_types.py:315 +#: core/models.py:927 msgid "notifications" msgstr "通知" -#: core/graphene/object_types.py:294 +#: core/graphene/object_types.py:275 msgid "download url for this order product if applicable" msgstr "此订单产品的下载网址(如适用" -#: core/graphene/object_types.py:324 +#: core/graphene/object_types.py:304 msgid "a list of order products in this order" msgstr "该订单中的订单产品列表" -#: core/graphene/object_types.py:326 core/models.py:873 +#: core/graphene/object_types.py:306 core/models.py:897 msgid "billing address" msgstr "账单地址" -#: core/graphene/object_types.py:330 +#: core/graphene/object_types.py:309 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" msgstr "此订单的送货地址,如果与账单地址相同或不适用,请留空" -#: core/graphene/object_types.py:333 +#: core/graphene/object_types.py:311 msgid "total price of this order" msgstr "订单总价" -#: core/graphene/object_types.py:334 +#: core/graphene/object_types.py:312 msgid "total quantity of products in order" msgstr "订单中产品的总数量" -#: core/graphene/object_types.py:335 +#: core/graphene/object_types.py:313 msgid "are all products in the order digital" msgstr "订单中的所有产品都是数字产品吗?" -#: core/graphene/object_types.py:355 core/models.py:937 +#: core/graphene/object_types.py:333 core/models.py:961 msgid "orders" msgstr "订单" -#: core/graphene/object_types.py:371 +#: core/graphene/object_types.py:349 msgid "image url" msgstr "图片 URL" -#: core/graphene/object_types.py:378 +#: core/graphene/object_types.py:356 msgid "product's images" msgstr "产品图片" -#: core/graphene/object_types.py:385 core/models.py:242 core/models.py:314 +#: core/graphene/object_types.py:363 core/models.py:255 core/models.py:330 msgid "category" msgstr "类别" -#: core/graphene/object_types.py:387 core/models.py:1481 +#: core/graphene/object_types.py:365 core/models.py:1505 msgid "feedbacks" msgstr "反馈意见" -#: core/graphene/object_types.py:388 core/models.py:303 core/models.py:323 +#: core/graphene/object_types.py:366 core/models.py:319 core/models.py:339 msgid "brand" msgstr "品牌" -#: core/graphene/object_types.py:390 core/models.py:85 +#: core/graphene/object_types.py:367 core/models.py:86 msgid "attribute groups" msgstr "属性组" -#: core/graphene/object_types.py:393 +#: core/graphene/object_types.py:369 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:108 @@ -1077,31 +1083,31 @@ msgstr "属性组" msgid "quantity" msgstr "数量" -#: core/graphene/object_types.py:394 +#: core/graphene/object_types.py:370 msgid "number of feedbacks" msgstr "反馈数量" -#: core/graphene/object_types.py:412 core/models.py:367 +#: core/graphene/object_types.py:388 core/models.py:391 msgid "products" msgstr "产品" -#: core/graphene/object_types.py:462 +#: core/graphene/object_types.py:436 msgid "promocodes" msgstr "促销代码" -#: core/graphene/object_types.py:477 +#: core/graphene/object_types.py:446 msgid "products on sale" msgstr "销售产品" -#: core/graphene/object_types.py:485 core/models.py:565 +#: core/graphene/object_types.py:453 core/models.py:589 msgid "promotions" msgstr "促销活动" -#: core/graphene/object_types.py:489 core/models.py:118 +#: core/graphene/object_types.py:457 core/models.py:119 msgid "vendor" msgstr "供应商" -#: core/graphene/object_types.py:490 core/models.py:366 +#: core/graphene/object_types.py:458 core/models.py:390 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:107 @@ -1109,890 +1115,891 @@ msgstr "供应商" msgid "product" msgstr "产品" -#: core/graphene/object_types.py:502 core/models.py:635 +#: core/graphene/object_types.py:469 core/models.py:659 msgid "wishlisted products" msgstr "心愿单上的产品" -#: core/graphene/object_types.py:509 core/models.py:652 +#: core/graphene/object_types.py:475 core/models.py:676 msgid "wishlists" msgstr "愿望清单" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:479 msgid "tagged products" msgstr "标签产品" -#: core/graphene/object_types.py:522 core/models.py:147 core/models.py:329 +#: core/graphene/object_types.py:486 core/models.py:148 core/models.py:345 msgid "product tags" msgstr "产品标签" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:490 msgid "tagged categories" msgstr "标签类别" -#: core/graphene/object_types.py:535 +#: core/graphene/object_types.py:497 msgid "categories tags" msgstr "类别标签" -#: core/graphene/object_types.py:539 +#: core/graphene/object_types.py:501 msgid "project name" msgstr "项目名称" -#: core/graphene/object_types.py:540 +#: core/graphene/object_types.py:502 msgid "company email" msgstr "公司电子邮件" -#: core/graphene/object_types.py:541 +#: core/graphene/object_types.py:503 msgid "company name" msgstr "公司名称" -#: core/graphene/object_types.py:542 +#: core/graphene/object_types.py:504 msgid "company address" msgstr "公司地址" -#: core/graphene/object_types.py:543 +#: core/graphene/object_types.py:505 msgid "company phone number" msgstr "公司电话号码" -#: core/graphene/object_types.py:546 +#: core/graphene/object_types.py:506 msgid "email from, sometimes it must be used instead of host user value" msgstr "电子邮件来自\",有时必须使用它来代替主机用户值" -#: core/graphene/object_types.py:549 +#: core/graphene/object_types.py:507 msgid "email host user" msgstr "电子邮件主机用户" -#: core/graphene/object_types.py:550 +#: core/graphene/object_types.py:508 msgid "maximum amount for payment" msgstr "最高付款额" -#: core/graphene/object_types.py:551 +#: core/graphene/object_types.py:509 msgid "minimum amount for payment" msgstr "最低付款额" -#: core/graphene/object_types.py:552 +#: core/graphene/object_types.py:510 msgid "analytics data" msgstr "分析数据" -#: core/graphene/object_types.py:553 +#: core/graphene/object_types.py:511 msgid "advertisement data" msgstr "广告数据" -#: core/graphene/object_types.py:556 +#: core/graphene/object_types.py:514 msgid "company configuration" msgstr "配置" -#: core/graphene/object_types.py:560 +#: core/graphene/object_types.py:518 msgid "language code" msgstr "语言代码" -#: core/graphene/object_types.py:561 +#: core/graphene/object_types.py:519 msgid "language name" msgstr "语言名称" -#: core/graphene/object_types.py:562 +#: core/graphene/object_types.py:520 msgid "language flag, if exists :)" msgstr "语言标志(如果有):)" -#: core/graphene/object_types.py:565 +#: core/graphene/object_types.py:523 msgid "supported languages" msgstr "获取支持的语言列表" -#: core/graphene/object_types.py:597 core/graphene/object_types.py:600 -#: core/graphene/object_types.py:603 +#: core/graphene/object_types.py:554 core/graphene/object_types.py:555 +#: core/graphene/object_types.py:556 msgid "products search results" msgstr "产品搜索结果" -#: core/graphene/object_types.py:605 +#: core/graphene/object_types.py:557 msgid "posts search results" msgstr "产品搜索结果" -#: core/models.py:70 +#: core/models.py:71 msgid "parent of this group" msgstr "本组家长" -#: core/models.py:71 +#: core/models.py:72 msgid "parent attribute group" msgstr "父属性组" -#: core/models.py:75 core/models.py:76 +#: core/models.py:76 core/models.py:77 msgid "attribute group's name" msgstr "属性组名称" -#: core/models.py:84 core/models.py:434 +#: core/models.py:85 core/models.py:458 msgid "attribute group" msgstr "属性组" -#: core/models.py:95 +#: core/models.py:96 msgid "stores credentials and endpoints required for vendor communication" msgstr "存储供应商应用程序接口通信所需的凭证和端点" -#: core/models.py:97 +#: core/models.py:98 msgid "authentication info" msgstr "认证信息" -#: core/models.py:102 +#: core/models.py:103 msgid "define the markup for products retrieved from this vendor" msgstr "定义从该供应商获取的产品的标记" -#: core/models.py:103 +#: core/models.py:104 msgid "vendor markup percentage" msgstr "供应商加价百分比" -#: core/models.py:107 +#: core/models.py:108 msgid "name of this vendor" msgstr "供应商名称" -#: core/models.py:108 +#: core/models.py:109 msgid "vendor name" msgstr "供应商名称" -#: core/models.py:132 core/models.py:157 +#: core/models.py:133 core/models.py:158 msgid "internal tag identifier for the product tag" msgstr "产品标签的内部标签标识符" -#: core/models.py:133 core/models.py:158 +#: core/models.py:134 core/models.py:159 msgid "tag name" msgstr "标签名称" -#: core/models.py:137 core/models.py:162 +#: core/models.py:138 core/models.py:163 msgid "user-friendly name for the product tag" msgstr "方便用户使用的产品标签名称" -#: core/models.py:138 core/models.py:163 +#: core/models.py:139 core/models.py:164 msgid "tag display name" msgstr "标签显示名称" -#: core/models.py:146 +#: core/models.py:147 msgid "product tag" msgstr "产品标签" -#: core/models.py:171 +#: core/models.py:172 msgid "category tag" msgstr "类别标签" -#: core/models.py:172 core/models.py:227 +#: core/models.py:173 core/models.py:234 msgid "category tags" msgstr "类别标签" -#: core/models.py:181 +#: core/models.py:182 msgid "upload an image representing this category" msgstr "上传代表该类别的图片" -#: core/models.py:184 +#: core/models.py:185 msgid "category image" msgstr "类别 图像" -#: core/models.py:189 +#: core/models.py:190 msgid "define a markup percentage for products in this category" msgstr "定义该类别产品的加价百分比" -#: core/models.py:198 +#: core/models.py:199 msgid "parent of this category to form a hierarchical structure" msgstr "该类别的父类别,形成等级结构" -#: core/models.py:199 +#: core/models.py:200 msgid "parent category" msgstr "父类" -#: core/models.py:204 +#: core/models.py:205 msgid "category name" msgstr "类别名称" -#: core/models.py:205 +#: core/models.py:206 msgid "provide a name for this category" msgstr "提供该类别的名称" -#: core/models.py:212 +#: core/models.py:213 msgid "add a detailed description for this category" msgstr "为该类别添加详细说明" -#: core/models.py:213 +#: core/models.py:214 msgid "category description" msgstr "类别说明" -#: core/models.py:226 +#: core/models.py:233 msgid "tags that help describe or group this category" msgstr "有助于描述或归类该类别的标签" -#: core/models.py:252 +#: core/models.py:240 core/models.py:312 +#, fuzzy +#| msgid "brand priority" +msgid "priority" +msgstr "品牌优先" + +#: core/models.py:265 msgid "name of this brand" msgstr "品牌名称" -#: core/models.py:253 +#: core/models.py:266 msgid "brand name" msgstr "品牌名称" -#: core/models.py:260 +#: core/models.py:273 msgid "upload a logo representing this brand" msgstr "上传代表该品牌的徽标" -#: core/models.py:262 +#: core/models.py:275 msgid "brand small image" msgstr "品牌小形象" -#: core/models.py:268 +#: core/models.py:281 msgid "upload a big logo representing this brand" msgstr "上传代表该品牌的大徽标" -#: core/models.py:270 +#: core/models.py:283 msgid "brand big image" msgstr "品牌大形象" -#: core/models.py:275 +#: core/models.py:288 msgid "add a detailed description of the brand" msgstr "添加品牌的详细描述" -#: core/models.py:276 +#: core/models.py:289 msgid "brand description" msgstr "品牌描述" -#: core/models.py:281 +#: core/models.py:294 msgid "optional categories that this brand is associated with" msgstr "与该品牌相关的可选类别" -#: core/models.py:282 +#: core/models.py:295 msgid "associated categories" msgstr "类别" -#: core/models.py:290 +#: core/models.py:306 msgid "brand slug" msgstr "布兰德的鼻涕虫" -#: core/models.py:296 -msgid "brand priority" -msgstr "品牌优先" - -#: core/models.py:313 +#: core/models.py:329 msgid "category this product belongs to" msgstr "该产品所属类别" -#: core/models.py:322 +#: core/models.py:338 msgid "optionally associate this product with a brand" msgstr "可选择将该产品与某个品牌联系起来" -#: core/models.py:328 +#: core/models.py:344 msgid "tags that help describe or group this product" msgstr "有助于描述或归类该产品的标签" -#: core/models.py:333 +#: core/models.py:349 msgid "indicates whether this product is digitally delivered" msgstr "表示该产品是否以数字方式交付" -#: core/models.py:334 +#: core/models.py:350 msgid "is product digital" msgstr "产品是否数字化" -#: core/models.py:340 +#: core/models.py:356 msgid "provide a clear identifying name for the product" msgstr "为产品提供一个明确的标识名称" -#: core/models.py:341 +#: core/models.py:357 msgid "product name" msgstr "产品名称" -#: core/models.py:346 core/models.py:553 +#: core/models.py:362 core/models.py:577 msgid "add a detailed description of the product" msgstr "添加产品的详细描述" -#: core/models.py:347 +#: core/models.py:363 msgid "product description" msgstr "产品说明" -#: core/models.py:354 +#: core/models.py:370 msgid "part number for this product" msgstr "该产品的零件编号" -#: core/models.py:355 +#: core/models.py:371 msgid "part number" msgstr "部件编号" -#: core/models.py:425 +#: core/models.py:449 msgid "category of this attribute" msgstr "该属性的类别" -#: core/models.py:433 +#: core/models.py:457 msgid "group of this attribute" msgstr "该属性的组" -#: core/models.py:439 +#: core/models.py:463 msgid "string" msgstr "字符串" -#: core/models.py:440 +#: core/models.py:464 msgid "integer" msgstr "整数" -#: core/models.py:441 +#: core/models.py:465 msgid "float" msgstr "浮动" -#: core/models.py:442 +#: core/models.py:466 msgid "boolean" msgstr "布尔型" -#: core/models.py:443 +#: core/models.py:467 msgid "array" msgstr "阵列" -#: core/models.py:444 +#: core/models.py:468 msgid "object" msgstr "对象" -#: core/models.py:446 +#: core/models.py:470 msgid "type of the attribute's value" msgstr "属性值的类型" -#: core/models.py:447 +#: core/models.py:471 msgid "value type" msgstr "价值类型" -#: core/models.py:452 +#: core/models.py:476 msgid "name of this attribute" msgstr "该属性的名称" -#: core/models.py:453 +#: core/models.py:477 msgid "attribute's name" msgstr "属性名称" -#: core/models.py:461 core/models.py:473 +#: core/models.py:485 core/models.py:497 #: core/templates/digital_order_delivered_email.html:135 msgid "attribute" msgstr "属性" -#: core/models.py:472 +#: core/models.py:496 msgid "attribute of this value" msgstr "该值的属性" -#: core/models.py:480 +#: core/models.py:504 msgid "the specific product associated with this attribute's value" msgstr "与该属性值相关的特定产品" -#: core/models.py:481 core/models.py:520 core/models.py:591 -#: core/models.py:1335 +#: core/models.py:505 core/models.py:544 core/models.py:615 core/models.py:1359 msgid "associated product" msgstr "相关产品" -#: core/models.py:486 +#: core/models.py:510 msgid "the specific value for this attribute" msgstr "该属性的具体值" -#: core/models.py:502 +#: core/models.py:526 msgid "provide alternative text for the image for accessibility" msgstr "为图像提供替代文字,以便于访问" -#: core/models.py:503 +#: core/models.py:527 msgid "image alt text" msgstr "图片 alt 文本" -#: core/models.py:506 +#: core/models.py:530 msgid "upload the image file for this product" msgstr "上传该产品的图片文件" -#: core/models.py:507 core/models.py:532 +#: core/models.py:531 core/models.py:556 msgid "product image" msgstr "产品图片" -#: core/models.py:513 +#: core/models.py:537 msgid "determines the order in which images are displayed" msgstr "确定图像的显示顺序" -#: core/models.py:514 +#: core/models.py:538 msgid "display priority" msgstr "显示优先级" -#: core/models.py:519 +#: core/models.py:543 msgid "the product that this image represents" msgstr "该图片所代表的产品" -#: core/models.py:533 +#: core/models.py:557 msgid "product images" msgstr "产品图片" -#: core/models.py:541 +#: core/models.py:565 msgid "percentage discount for the selected products" msgstr "所选产品的折扣百分比" -#: core/models.py:542 +#: core/models.py:566 msgid "discount percentage" msgstr "折扣百分比" -#: core/models.py:547 +#: core/models.py:571 msgid "provide a unique name for this promotion" msgstr "为该促销活动提供一个独特的名称" -#: core/models.py:548 +#: core/models.py:572 msgid "promotion name" msgstr "推广名称" -#: core/models.py:554 +#: core/models.py:578 msgid "promotion description" msgstr "促销说明" -#: core/models.py:559 +#: core/models.py:583 msgid "select which products are included in this promotion" msgstr "选择促销活动包括哪些产品" -#: core/models.py:560 +#: core/models.py:584 msgid "included products" msgstr "包括产品" -#: core/models.py:564 +#: core/models.py:588 msgid "promotion" msgstr "促销活动" -#: core/models.py:579 +#: core/models.py:603 msgid "the vendor supplying this product stock" msgstr "提供该产品库存的供应商" -#: core/models.py:580 +#: core/models.py:604 msgid "associated vendor" msgstr "相关供应商" -#: core/models.py:584 +#: core/models.py:608 msgid "final price to the customer after markups" msgstr "加价后给客户的最终价格" -#: core/models.py:585 +#: core/models.py:609 msgid "selling price" msgstr "销售价格" -#: core/models.py:590 +#: core/models.py:614 msgid "the product associated with this stock entry" msgstr "与该库存条目相关的产品" -#: core/models.py:598 +#: core/models.py:622 msgid "the price paid to the vendor for this product" msgstr "为该产品支付给供应商的价格" -#: core/models.py:599 +#: core/models.py:623 msgid "vendor purchase price" msgstr "供应商购买价格" -#: core/models.py:603 +#: core/models.py:627 msgid "available quantity of the product in stock" msgstr "产品的可用库存量" -#: core/models.py:604 +#: core/models.py:628 msgid "quantity in stock" msgstr "库存数量" -#: core/models.py:608 +#: core/models.py:632 msgid "vendor-assigned SKU for identifying the product" msgstr "供应商指定的 SKU,用于识别产品" -#: core/models.py:609 +#: core/models.py:633 msgid "vendor sku" msgstr "供应商 SKU" -#: core/models.py:615 +#: core/models.py:639 msgid "digital file associated with this stock if applicable" msgstr "与该库存相关的数字文件(如适用" -#: core/models.py:616 +#: core/models.py:640 msgid "digital file" msgstr "数字文件" -#: core/models.py:625 +#: core/models.py:649 msgid "stock entries" msgstr "库存条目" -#: core/models.py:634 +#: core/models.py:658 msgid "products that the user has marked as wanted" msgstr "用户标记为想要的产品" -#: core/models.py:642 +#: core/models.py:666 msgid "user who owns this wishlist" msgstr "拥有此愿望清单的用户" -#: core/models.py:643 +#: core/models.py:667 msgid "wishlist owner" msgstr "心愿单所有者" -#: core/models.py:651 +#: core/models.py:675 msgid "wishlist" msgstr "愿望清单" -#: core/models.py:662 core/models.py:674 core/models.py:1023 -#: core/models.py:1053 core/models.py:1083 +#: core/models.py:686 core/models.py:698 core/models.py:1047 +#: core/models.py:1077 core/models.py:1107 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} 不存在:{product_uuid} 不存在" -#: core/models.py:698 +#: core/models.py:722 msgid "documentary" msgstr "纪录片" -#: core/models.py:699 +#: core/models.py:723 msgid "documentaries" msgstr "纪录片" -#: core/models.py:709 +#: core/models.py:733 msgid "unresolved" msgstr "未解决" -#: core/models.py:718 +#: core/models.py:742 msgid "address line for the customer" msgstr "客户地址栏" -#: core/models.py:719 +#: core/models.py:743 msgid "address line" msgstr "地址栏" -#: core/models.py:721 +#: core/models.py:745 msgid "street" msgstr "街道" -#: core/models.py:722 +#: core/models.py:746 msgid "district" msgstr "地区" -#: core/models.py:723 +#: core/models.py:747 msgid "city" msgstr "城市" -#: core/models.py:724 +#: core/models.py:748 msgid "region" msgstr "地区" -#: core/models.py:725 +#: core/models.py:749 msgid "postal code" msgstr "邮政编码" -#: core/models.py:726 +#: core/models.py:750 msgid "country" msgstr "国家" -#: core/models.py:733 +#: core/models.py:757 msgid "geolocation point: (longitude, latitude)" msgstr "地理位置点(经度、纬度)" -#: core/models.py:736 +#: core/models.py:760 msgid "full JSON response from geocoder for this address" msgstr "地理编码器对此地址的完整 JSON 响应" -#: core/models.py:741 +#: core/models.py:765 msgid "stored JSON response from the geocoding service" msgstr "存储的来自地理编码服务的 JSON 响应" -#: core/models.py:749 +#: core/models.py:773 msgid "address" msgstr "地址" -#: core/models.py:750 +#: core/models.py:774 msgid "addresses" msgstr "地址" -#: core/models.py:767 +#: core/models.py:791 msgid "unique code used by a user to redeem a discount" msgstr "用户用于兑换折扣的唯一代码" -#: core/models.py:768 +#: core/models.py:792 msgid "promo code identifier" msgstr "促销代码标识符" -#: core/models.py:775 +#: core/models.py:799 msgid "fixed discount amount applied if percent is not used" msgstr "如果不使用百分比,则使用固定折扣额" -#: core/models.py:776 +#: core/models.py:800 msgid "fixed discount amount" msgstr "固定折扣额" -#: core/models.py:782 +#: core/models.py:806 msgid "percentage discount applied if fixed amount is not used" msgstr "未使用固定金额时适用的折扣百分比" -#: core/models.py:783 +#: core/models.py:807 msgid "percentage discount" msgstr "折扣百分比" -#: core/models.py:788 +#: core/models.py:812 msgid "timestamp when the promocode expires" msgstr "促销代码过期的时间戳" -#: core/models.py:789 +#: core/models.py:813 msgid "end validity time" msgstr "结束有效时间" -#: core/models.py:794 +#: core/models.py:818 msgid "timestamp from which this promocode is valid" msgstr "该促销代码有效的时间戳" -#: core/models.py:795 +#: core/models.py:819 msgid "start validity time" msgstr "开始有效时间" -#: core/models.py:800 +#: core/models.py:824 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "使用促销代码的时间戳,如果尚未使用,则留空" -#: core/models.py:801 +#: core/models.py:825 msgid "usage timestamp" msgstr "使用时间戳" -#: core/models.py:806 +#: core/models.py:830 msgid "user assigned to this promocode if applicable" msgstr "分配给此促销代码的用户(如适用" -#: core/models.py:807 +#: core/models.py:831 msgid "assigned user" msgstr "指定用户" -#: core/models.py:814 +#: core/models.py:838 msgid "promo code" msgstr "促销代码" -#: core/models.py:815 +#: core/models.py:839 msgid "promo codes" msgstr "促销代码" -#: core/models.py:823 +#: core/models.py:847 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." -msgstr "只能定义一种折扣类型(金额或百分比),而不能同时定义两种类型或两者都不定义。" +msgstr "" +"只能定义一种折扣类型(金额或百分比),而不能同时定义两种类型或两者都不定义。" -#: core/models.py:839 +#: core/models.py:863 msgid "promocode already used" msgstr "促销代码已被使用" -#: core/models.py:856 +#: core/models.py:880 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "促销代码 {self.uuid} 的折扣类型无效" -#: core/models.py:872 +#: core/models.py:896 msgid "the billing address used for this order" msgstr "该订单使用的账单地址" -#: core/models.py:880 +#: core/models.py:904 msgid "optional promo code applied to this order" msgstr "此订单可选择使用促销代码" -#: core/models.py:881 +#: core/models.py:905 msgid "applied promo code" msgstr "应用促销代码" -#: core/models.py:889 +#: core/models.py:913 msgid "the shipping address used for this order" msgstr "该订单使用的送货地址" -#: core/models.py:890 +#: core/models.py:914 msgid "shipping address" msgstr "送货地址" -#: core/models.py:896 +#: core/models.py:920 msgid "current status of the order in its lifecycle" msgstr "订单在其生命周期中的当前状态" -#: core/models.py:897 +#: core/models.py:921 msgid "order status" msgstr "订单状态" -#: core/models.py:902 core/models.py:1312 +#: core/models.py:926 core/models.py:1336 msgid "json structure of notifications to display to users" msgstr "向用户显示的通知的 JSON 结构,在管理用户界面中使用表格视图" -#: core/models.py:908 +#: core/models.py:932 msgid "json representation of order attributes for this order" msgstr "该订单属性的 JSON 表示形式" -#: core/models.py:914 +#: core/models.py:938 msgid "the user who placed the order" msgstr "下订单的用户" -#: core/models.py:915 +#: core/models.py:939 msgid "user" msgstr "用户" -#: core/models.py:921 +#: core/models.py:945 msgid "the timestamp when the order was finalized" msgstr "订单确定的时间戳" -#: core/models.py:922 +#: core/models.py:946 msgid "buy time" msgstr "购买时间" -#: core/models.py:929 +#: core/models.py:953 msgid "a human-readable identifier for the order" msgstr "订单的人工可读标识符" -#: core/models.py:930 +#: core/models.py:954 msgid "human readable id" msgstr "人类可读 ID" -#: core/models.py:936 +#: core/models.py:960 msgid "order" msgstr "订购" -#: core/models.py:951 +#: core/models.py:975 msgid "a user must have only one pending order at a time" msgstr "用户每次只能有一个挂单!" -#: core/models.py:987 +#: core/models.py:1011 msgid "you cannot add products to an order that is not a pending one" msgstr "您不能向非待处理订单添加产品" -#: core/models.py:993 +#: core/models.py:1017 msgid "you cannot add inactive products to order" msgstr "您不能在订单中添加非活动产品" -#: core/models.py:1013 +#: core/models.py:1037 msgid "you cannot add more products than available in stock" msgstr "添加的产品数量不能超过现有库存" -#: core/models.py:1036 core/models.py:1064 core/models.py:1074 +#: core/models.py:1060 core/models.py:1088 core/models.py:1098 msgid "you cannot remove products from an order that is not a pending one" msgstr "您不能从非待处理订单中删除产品" -#: core/models.py:1059 +#: core/models.py:1083 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "查询 <{query}> 时 {name} 不存在" -#: core/models.py:1097 +#: core/models.py:1121 msgid "promocode does not exist" msgstr "促销代码不存在" -#: core/models.py:1108 +#: core/models.py:1132 msgid "you can only buy physical products with shipping address specified" msgstr "您只能购买指定送货地址的实物产品!" -#: core/models.py:1129 +#: core/models.py:1153 msgid "address does not exist" msgstr "地址不存在" -#: core/models.py:1141 core/models.py:1194 +#: core/models.py:1165 core/models.py:1218 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "您现在无法购买,请稍后再试。" -#: core/models.py:1147 +#: core/models.py:1171 msgid "invalid force value" msgstr "力值无效" -#: core/models.py:1152 core/models.py:1198 +#: core/models.py:1176 core/models.py:1222 msgid "you cannot purchase an empty order!" msgstr "您不能购买空单!" -#: core/models.py:1170 +#: core/models.py:1194 msgid "insufficient funds to complete the order" msgstr "资金不足,无法完成订单" -#: core/models.py:1207 +#: core/models.py:1231 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "未经注册不能购买,请提供以下信息:客户姓名、客户电子邮件、客户电话号码" -#: core/models.py:1218 +#: core/models.py:1242 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "付款方式无效:来自 {available_payment_methods} 的 {payment_method} !" -#: core/models.py:1300 +#: core/models.py:1324 msgid "the price paid by the customer for this product at purchase time" msgstr "客户购买该产品时支付的价格" -#: core/models.py:1301 +#: core/models.py:1325 msgid "purchase price at order time" msgstr "订购时的购买价格" -#: core/models.py:1306 +#: core/models.py:1330 msgid "internal comments for admins about this ordered product" msgstr "管理员对该订购产品的内部评论" -#: core/models.py:1307 +#: core/models.py:1331 msgid "internal comments" msgstr "内部意见" -#: core/models.py:1313 +#: core/models.py:1337 msgid "user notifications" msgstr "用户通知" -#: core/models.py:1318 +#: core/models.py:1342 msgid "json representation of this item's attributes" msgstr "该项属性的 JSON 表示形式" -#: core/models.py:1319 +#: core/models.py:1343 msgid "ordered product attributes" msgstr "有序的产品属性" -#: core/models.py:1324 +#: core/models.py:1348 msgid "reference to the parent order that contains this product" msgstr "对包含该产品的父订单的引用" -#: core/models.py:1325 +#: core/models.py:1349 msgid "parent order" msgstr "父顺序" -#: core/models.py:1334 +#: core/models.py:1358 msgid "the specific product associated with this order line" msgstr "与该订单项目相关的具体产品" -#: core/models.py:1341 +#: core/models.py:1365 msgid "quantity of this specific product in the order" msgstr "订单中该特定产品的数量" -#: core/models.py:1342 +#: core/models.py:1366 msgid "product quantity" msgstr "产品数量" -#: core/models.py:1349 +#: core/models.py:1373 msgid "current status of this product in the order" msgstr "订单中该产品的当前状态" -#: core/models.py:1350 +#: core/models.py:1374 msgid "product line status" msgstr "产品系列状态" -#: core/models.py:1410 +#: core/models.py:1434 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "为反馈指定了错误的操作:{action}" -#: core/models.py:1421 +#: core/models.py:1445 msgid "you cannot feedback an order which is not received" msgstr "您不能反馈未收到的订单" -#: core/models.py:1433 +#: core/models.py:1457 msgid "download" msgstr "下载" -#: core/models.py:1434 +#: core/models.py:1458 msgid "downloads" msgstr "下载" -#: core/models.py:1443 +#: core/models.py:1467 msgid "you can not download a digital asset for a non-finished order" msgstr "您无法下载未完成订单的数字资产" -#: core/models.py:1455 +#: core/models.py:1479 msgid "user-provided comments about their experience with the product" msgstr "用户提供的产品使用体验评论" -#: core/models.py:1456 +#: core/models.py:1480 msgid "feedback comments" msgstr "反馈意见" -#: core/models.py:1464 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1488 +msgid "references the specific product in an order that this feedback is about" msgstr "引用该反馈意见涉及的订单中的具体产品" -#: core/models.py:1466 +#: core/models.py:1490 msgid "related order product" msgstr "相关订购产品" -#: core/models.py:1471 +#: core/models.py:1495 msgid "user-assigned rating for the product" msgstr "用户对产品的评分" -#: core/models.py:1472 +#: core/models.py:1496 msgid "product rating" msgstr "产品评级" -#: core/models.py:1480 +#: core/models.py:1504 msgid "feedback" msgstr "反馈意见" @@ -2001,7 +2008,7 @@ msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "您必须提供评论、评级和订单产品 uuid 才能添加反馈。" -#: core/signals.py:66 +#: core/signals.py:62 msgid "error during promocode creation: {e!s}" msgstr "创建促销代码时出错:{e!s}" @@ -2033,9 +2040,12 @@ msgstr "您好 %(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 "感谢您的订单 #%(order.pk)s!我们很高兴地通知您,我们已将您的订单付诸实施。以下是您的订单详情:" +msgstr "" +"感谢您的订单 #%(order.pk)s!我们很高兴地通知您,我们已将您的订单付诸实施。以" +"下是您的订单详情:" #: core/templates/digital_order_created_email.html:112 #: core/templates/digital_order_delivered_email.html:111 @@ -2058,7 +2068,8 @@ msgstr "总价" msgid "" "if you have any questions, feel free to contact our support at\n" " %(config.EMAIL_HOST_USER)s." -msgstr "如果您有任何问题,请随时通过 %(config.EMAIL_HOST_USER)s 联系我们的支持人员。" +msgstr "" +"如果您有任何问题,请随时通过 %(config.EMAIL_HOST_USER)s 联系我们的支持人员。" #: core/templates/digital_order_created_email.html:133 #, python-format @@ -2118,7 +2129,8 @@ msgstr "钥匙" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "感谢您的订购!我们很高兴确认您的购买。以下是您的订单详情:" @@ -2155,12 +2167,12 @@ msgstr "需要数据和超时" msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "超时值无效,必须介于 0 和 216000 秒之间" -#: core/utils/db.py:7 +#: core/utils/db.py:14 #, python-brace-format msgid "{model} must be model" msgstr "{model}必须是模型" -#: core/utils/db.py:9 +#: core/utils/db.py:16 #, python-brace-format msgid "{data} must be list object" msgstr "{data} 必须是列表对象" @@ -2184,7 +2196,7 @@ msgstr "{config.PROJECT_NAME}(项目名称| 已交付订单" msgid "you do not have permission to perform this action." msgstr "您没有执行此操作的权限。" -#: core/utils/nominatim.py:10 +#: core/utils/nominatim.py:8 msgid "NOMINATIM_URL must be configured." msgstr "必须配置 NOMINATIM_URL 参数!" @@ -2197,11 +2209,11 @@ msgstr "图片尺寸不应超过 w{max_width} x h{max_height} 像素" msgid "invalid phone number format" msgstr "电话号码格式无效" -#: core/views.py:285 +#: core/views.py:266 msgid "you can only download the digital asset once" msgstr "您只能下载一次数字资产" -#: core/views.py:323 +#: core/views.py:302 msgid "favicon not found" msgstr "未找到 favicon" @@ -2209,3 +2221,6 @@ msgstr "未找到 favicon" #, python-brace-format msgid "Geocoding error: {e}" msgstr "地理编码错误:{e}" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes 引擎" diff --git a/core/migrations/0034_category_priority_alter_brand_priority.py b/core/migrations/0034_category_priority_alter_brand_priority.py new file mode 100644 index 00000000..cd64f3f1 --- /dev/null +++ b/core/migrations/0034_category_priority_alter_brand_priority.py @@ -0,0 +1,23 @@ +# Generated by Django 5.2 on 2025-06-21 21:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("core", "0033_alter_category_slug"), + ] + + operations = [ + migrations.AddField( + model_name="category", + name="priority", + field=models.PositiveIntegerField(default=0, verbose_name="priority"), + ), + migrations.AlterField( + model_name="brand", + name="priority", + field=models.PositiveIntegerField(default=0, verbose_name="priority"), + ), + ] diff --git a/core/models.py b/core/models.py index 40c84e3f..9a2c8296 100644 --- a/core/models.py +++ b/core/models.py @@ -233,6 +233,12 @@ class Category(ExportModelOperationsMixin("category"), NiceModel, MPTTModel): help_text=_("tags that help describe or group this category"), verbose_name=_("category tags"), ) + priority: int = PositiveIntegerField( # type: ignore + default=0, + null=False, + blank=False, + verbose_name=_("priority"), + ) def __str__(self): return self.name @@ -303,7 +309,7 @@ class Brand(ExportModelOperationsMixin("brand"), NiceModel): default=0, null=False, blank=False, - verbose_name=_("brand priority"), + verbose_name=_("priority"), ) def __str__(self): diff --git a/core/utils/db.py b/core/utils/db.py index 8f8283fc..3cca4558 100644 --- a/core/utils/db.py +++ b/core/utils/db.py @@ -45,6 +45,7 @@ class TweakedAutoSlugField(AutoSlugField): except AttributeError: attr = "" if callable(attr): + # noinspection PyCallingNonCallable return f"{attr()}" return attr diff --git a/core/vendors/__init__.py b/core/vendors/__init__.py index f72d00ba..216c03b6 100644 --- a/core/vendors/__init__.py +++ b/core/vendors/__init__.py @@ -163,7 +163,8 @@ class AbstractVendor: def auto_resolve_category(self, category_name: str): if category_name: try: - uuid = process_query(category_name)["categories"][0]["uuid"] + search = process_query(category_name) + uuid = search["categories"][0]["uuid"] if search else None if uuid: return Category.objects.get(uuid=uuid) except KeyError: @@ -180,7 +181,8 @@ class AbstractVendor: def auto_resolve_brand(self, brand_name: str): if brand_name: try: - uuid = process_query(brand_name)["brands"][0]["uuid"] + search = process_query(brand_name) + uuid = search["brands"][0]["uuid"] if search else None if uuid: return Brand.objects.get(uuid=uuid) except KeyError: diff --git a/evibes/locale/ar_AR/LC_MESSAGES/django.po b/evibes/locale/ar_AR/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/ar_AR/LC_MESSAGES/django.po +++ b/evibes/locale/ar_AR/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/cs_CZ/LC_MESSAGES/django.po b/evibes/locale/cs_CZ/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/cs_CZ/LC_MESSAGES/django.po +++ b/evibes/locale/cs_CZ/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/da_DK/LC_MESSAGES/django.po b/evibes/locale/da_DK/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/da_DK/LC_MESSAGES/django.po +++ b/evibes/locale/da_DK/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/de_DE/LC_MESSAGES/django.po b/evibes/locale/de_DE/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/de_DE/LC_MESSAGES/django.po +++ b/evibes/locale/de_DE/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/en_GB/LC_MESSAGES/django.po b/evibes/locale/en_GB/LC_MESSAGES/django.po index 5348c983..7eb01ad0 100644 --- a/evibes/locale/en_GB/LC_MESSAGES/django.po +++ b/evibes/locale/en_GB/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -121,11 +121,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/en_US/LC_MESSAGES/django.po b/evibes/locale/en_US/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/en_US/LC_MESSAGES/django.po +++ b/evibes/locale/en_US/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/es_ES/LC_MESSAGES/django.po b/evibes/locale/es_ES/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/es_ES/LC_MESSAGES/django.po +++ b/evibes/locale/es_ES/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/fr_FR/LC_MESSAGES/django.po b/evibes/locale/fr_FR/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/fr_FR/LC_MESSAGES/django.po +++ b/evibes/locale/fr_FR/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/hi_IN/LC_MESSAGES/django.po b/evibes/locale/hi_IN/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/hi_IN/LC_MESSAGES/django.po +++ b/evibes/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/it_IT/LC_MESSAGES/django.po b/evibes/locale/it_IT/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/it_IT/LC_MESSAGES/django.po +++ b/evibes/locale/it_IT/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/ja_JP/LC_MESSAGES/django.po b/evibes/locale/ja_JP/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/ja_JP/LC_MESSAGES/django.po +++ b/evibes/locale/ja_JP/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/kk_KZ/LC_MESSAGES/django.po b/evibes/locale/kk_KZ/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/kk_KZ/LC_MESSAGES/django.po +++ b/evibes/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/nl_NL/LC_MESSAGES/django.po b/evibes/locale/nl_NL/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/nl_NL/LC_MESSAGES/django.po +++ b/evibes/locale/nl_NL/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/pl_PL/LC_MESSAGES/django.po b/evibes/locale/pl_PL/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/pl_PL/LC_MESSAGES/django.po +++ b/evibes/locale/pl_PL/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/pt_BR/LC_MESSAGES/django.po b/evibes/locale/pt_BR/LC_MESSAGES/django.po index 63fabb0f..7c671480 100644 --- a/evibes/locale/pt_BR/LC_MESSAGES/django.po +++ b/evibes/locale/pt_BR/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -121,11 +121,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/ro_RO/LC_MESSAGES/django.po b/evibes/locale/ro_RO/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/ro_RO/LC_MESSAGES/django.po +++ b/evibes/locale/ro_RO/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/ru_RU/LC_MESSAGES/django.po b/evibes/locale/ru_RU/LC_MESSAGES/django.po index 9a395255..1d8a45d3 100644 --- a/evibes/locale/ru_RU/LC_MESSAGES/django.po +++ b/evibes/locale/ru_RU/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,11 +120,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/locale/zh_Hans/LC_MESSAGES/django.po b/evibes/locale/zh_Hans/LC_MESSAGES/django.po index 0d83a888..be9657a8 100644 --- a/evibes/locale/zh_Hans/LC_MESSAGES/django.po +++ b/evibes/locale/zh_Hans/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -121,11 +121,6 @@ msgstr "" msgid "An entity for storing analytics data" msgstr "" -#: evibes/settings/daisy.py:17 evibes/settings/daisy.py:24 -#: evibes/settings/daisy.py:31 evibes/settings/daisy.py:38 -msgid "eVibes System" -msgstr "" - #: evibes/settings/drf.py:49 msgid "" "\n" diff --git a/evibes/settings/daisy.py b/evibes/settings/daisy.py index 87a91373..c1693e24 100644 --- a/evibes/settings/daisy.py +++ b/evibes/settings/daisy.py @@ -3,7 +3,7 @@ from evibes.settings import CONSTANCE_CONFIG DAISY_SETTINGS: dict = { "SITE_LOGO": "/static/favicon.ico", "EXTRA_STYLES": [ - f"https://api.{CONSTANCE_CONFIG.get('BASE_DOMAIN')[0]}/static/css/constance.css", + f"https://api.{CONSTANCE_CONFIG.get('BASE_DOMAIN')[0]}/static/css/constance.css", # type: ignore ], "EXTRA_SCRIPTS": [], "SHOW_CHANGELIST_FILTER": True, diff --git a/payments/locale/ar_AR/LC_MESSAGES/django.mo b/payments/locale/ar_AR/LC_MESSAGES/django.mo index e0d6b4cc286f29a0df1ac85648385fd31d16bd6f..d0be91f6b4e8d81400c42701a264412b3c28994f 100644 GIT binary patch delta 541 zcmXxhze|Ea7{Kwz*H?YtUehvP11m~e3N&m{NGaS}0^1sz8e1Hi1jWfAYBXpGr*L$5 zXXl``CIy!e`V(yH`<#04+~xX^-fmF6g6P0?KFE(EG=h&q0tufE}(xpLC@`@xb%$t&==5oTYc>ykD z5&^TZu2~iReflcAzVOl}F)(G5dY#bZ(}cdZ{>ltt&f20OLBYDWf_M8Q68yMU=pX+f BDBA!4 delta 610 zcmZY6ze@sP7{KwzQ>!b@yt;~haScIHkVjBMA~ZPF(h{{a9B3FMK?pU3Lq!CQMT^kn z(9lqhO|3OXq);x=&|3dM-^Y_6df@SM@B4c9zR&Ys+8=hYZiUW;=qHEBS8|Lj1^6Kn z28k}(=;0LZqKjo5z!%)dFAU*!P~;Q~IF1IBtvHEoID?}iMM*Xn)^V7HELwPoQM|xG zETg`7-&}vd4#scj;U`9LDeV7m4Oc0`!#U>fTKodOah|csX%^UD(mZeyImR=*Lj6#R z-A-^3^@V5D`M4?4g(EnN)7XhwOkx2Yyu}zk;RL>;78Y&y3w6+9e@XGMhs!#FkH{gV zjuh}ObWN{|?=@Q5joK*+{SDn%gYN%{K1O`Du@4OsS5K~?t>o$&mFZaTTC45V0ntNh q`{R|cv1vpyD>*N-\n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "المعاملات" msgid "payments" msgstr "المدفوعات" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "محرك eVibes" - #: payments/choices.py:3 msgid "deposit" msgstr "الإيداع" @@ -56,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" @@ -130,3 +126,6 @@ msgstr "مطلوب مزود للحصول على الأسعار من" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "تعذّر العثور على الموفر {provider}" + +#~ msgid "eVibes Engine" +#~ msgstr "محرك eVibes" diff --git a/payments/locale/cs_CZ/LC_MESSAGES/django.mo b/payments/locale/cs_CZ/LC_MESSAGES/django.mo index a1660cb5035aa67a82a91841bb24eaaffb5a3015..c07bb4e6d19109f0d8c358791ccd77d08376bce4 100644 GIT binary patch delta 540 zcmXxhy)Q#i7{~FS+lyZH+Fq4ZMXHgM)azhC#6V&Z9Xpte7U^Va+J%UU1&Mz^jD{PD zrGtotl|{tpZ_v&6xxIbT=YG!1?Rm~Q_tyVR)qaxhjfgQaOMZ}(63OC`;=)itd*jnV9q&of;;!zy;}Fa{{h=< BDJTE{ delta 606 zcmY+>ze_?<6u|M*>seZ6rS^j|uplTB?bVoTTdh$94G%O7)a*AwxI{EK6;VU0e}T{v z1VK}Kv}Ah(4Y?F8eNXR3bl|+tJNLeKe?CMmqUGnXeI`Ud86%&_QS!2h2Qg`p=wJ`J zn7}=Bu!;lthzIzNHm)~|RB#)|(4w&wC(w`6I4n|@wCPyEAv&@c#zXADa~#Af>W{ak z{~p_^>*(SO264{keYb>*Y{JD9?bj_Lo%o7V_=O4Pmn6&59W3K6?jU2y8y;Z;XK\n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Transakce" msgid "payments" msgstr "Platby" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "Motor eVibes" - #: payments/choices.py:3 msgid "deposit" msgstr "Vklad" @@ -56,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" @@ -130,3 +126,6 @@ msgstr "Je třeba mít poskytovatele, od kterého lze získat sazby" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "Nepodařilo se najít poskytovatele {provider}" + +#~ msgid "eVibes Engine" +#~ msgstr "Motor eVibes" diff --git a/payments/locale/da_DK/LC_MESSAGES/django.mo b/payments/locale/da_DK/LC_MESSAGES/django.mo index f0b446a9a9adcf00b67c70be73947151b688c392..135fd0672b6e1164765e35917979074b79780ddf 100644 GIT binary patch delta 540 zcmXxhtxrNx7{~FSm#cCGeBlBz#i=7`0H=%@3|1^|1~&{OEzUwTF=lWE-3ZDbU~q00 z*zW&8Fq?EEk?bUk-{*2U+jBqXh4Y-}97g`D-yWvju4t=7f%qaeiKiJpw74VfqlZ~M z!V;e00k&`rd)UHHbnzrc4m`zO{Kk2Vu^7h$ZcA-t=-9#`Zs0Mdv4QK@MBDHf&A(uR z@jG5(fJw~FPJUO!3yLpcnfd#FONW zqXri7Dw==5Eyf+R7wSjr16*MIi#Z&l6`u5@Ys_Pc^L0mO1v_Z34q;p3YXw;n_KFLI zH-+$pte9!Dzt58M`r@UvNKBjMP7%vQhOo<6p;lCQmQP1P*|~9oH@EISd*07K9{VTD delta 606 zcmY+>IZFdU6u|N4y3xeMBUvvzAR>aG3$9vN*xCtpVh}ABqejSq2ik-*R$`?{2-sNU z6QmRi!8DdOHc>28NNb(K|1*Q)gW2EC%+Abvvp3GWQ+SQpS3(TZMrbwK1ns(o2Qg#O z(8E6TaT-t1!!i!xGv@INZOpZboZ}HrqQzi4PGJz|a7?5ii)LaIN152h7@lG$7I7HM zs0;7S{3C|xzo3tGjNo#h`CS6nD8fgV@!PiMzIB|Z-@sYU7mu{G`YqIr^2lEDhR67U zTJZ*_^D1Y^TDib+ESd2;jMJ~8-qa^*LJidKLLre3bg>^7FwFU~!pknMqgMQYQG7!4 z7wG+k9@`!3UK)i+ kv=XrPtVnV-\n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Transaktioner" msgid "payments" msgstr "Betalinger" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes-motor" - #: payments/choices.py:3 msgid "deposit" msgstr "Indskud" @@ -56,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" @@ -90,8 +86,8 @@ msgid "" "Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" " account by clicking the button below:" msgstr "" -"Tak, fordi du har tilmeldt dig %(config.PROJECT_NAME)s. Aktivér venligst din" -" konto ved at klikke på knappen nedenfor:" +"Tak, fordi du har tilmeldt dig %(config.PROJECT_NAME)s. Aktivér venligst din " +"konto ved at klikke på knappen nedenfor:" #: payments/templates/balance_deposit_email.html:105 msgid "" @@ -130,3 +126,6 @@ msgstr "Der er brug for en udbyder at få priser fra" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "Kunne ikke finde udbyder {provider}" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes-motor" diff --git a/payments/locale/de_DE/LC_MESSAGES/django.mo b/payments/locale/de_DE/LC_MESSAGES/django.mo index 1bf7000b6e9709ad675a8af849789e94ea41ea12..c9c9d2dec4225fe9557788cf223e875ab9f42849 100644 GIT binary patch delta 540 zcmXxhu`dH*7{~FSyO;LVRn;kJiAWPMR8ol;3|$NuBu0Z6j1pm%Txv1tRuY>@#ALY5 zZehdJ0fW&W;rqPWCw=bo_Px93dEfVblZT}JS$5YVrpa0IgPbQjLtKb_AT=?7@RY4fYj0#-rx^zVoG;v=^1%f zuV{tda1_JH??gqkMonDAZRDrZ{`?u*!n=5kw;0o3F;!x$p`AMOKE}D)f~*O>{32|p y7Is3mm_gX*v*Mh-IB6BhK};~P`Xw?U*_Z#674*F(87Ny0j)LsY^<1|Teg6U89w-0+ delta 606 zcmY+>zb^w}7{KwT=SolOS6z`JX$K- zE9fI@$v3iwM66(;7~LStRX+~sdW4vU=$1D|*5YZvS5l($d4~4QrB4H\n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Transaktionen" msgid "payments" msgstr "Zahlungen" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes Motor" - #: payments/choices.py:3 msgid "deposit" msgstr "Einzahlung" @@ -56,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" @@ -91,8 +87,7 @@ msgid "" " account by clicking the button below:" 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:" +"Bitte aktivieren Sie Ihr Konto, indem Sie auf die Schaltfläche unten klicken:" #: payments/templates/balance_deposit_email.html:105 msgid "" @@ -131,3 +126,6 @@ msgstr "Sie benötigen einen Anbieter, bei dem Sie die Preise erfragen können." #, python-brace-format msgid "couldn't find provider {provider}" msgstr "Anbieter {provider} konnte nicht gefunden werden" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes Motor" diff --git a/payments/locale/en_GB/LC_MESSAGES/django.mo b/payments/locale/en_GB/LC_MESSAGES/django.mo index 8f00915a965fedf6fee62ff77287a6e37b8180d9..b8ff6978191607bc34426074403438dbe4e806e6 100644 GIT binary patch delta 540 zcmX}pKTpCy9LDiq|ELrcwIC*lF@}W!5*ToBaCXt)XyQWSTTtJV-4CZj#tZzjITG+u&+`|x0a0Aa#H(aOlcbMb< z5F?Cn5leHk>#7(LzK#lhGd~Odh6+AG1^3vr%>LG9&}E{7JjTF^lebTH^raP21OB#2Nj5T%GEAc9NjBD#nUMRag+ zD7Xg~2SLHbFCc=7qYf?#4o*I&38Hx5\n" "Language-Team: BRITISH ENGLISH \n" @@ -29,10 +29,6 @@ msgstr "Transactions" msgid "payments" msgstr "Payments" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes Engine" - #: payments/choices.py:3 msgid "deposit" msgstr "Deposit" @@ -60,11 +56,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" @@ -135,5 +131,8 @@ 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" diff --git a/payments/locale/en_US/LC_MESSAGES/django.mo b/payments/locale/en_US/LC_MESSAGES/django.mo index 85af32e6e46d71000c57e661c8bf22f393a1cf82..ad9b1d06c84a1812bf26fdad050d030db6591870 100644 GIT binary patch delta 540 zcmXxhtxv;19LDj7u0Y4eTlYdT-a=+b7zr4}1Y&~CETG5)1`-SgBxV@~1rD${0%loQ z6CD2l0Y@ef_?fv09N%BtUH0qecD>#`*LE`lzxC_8527tlOVl^DO5Kiep?Qw9g-Og| z8B2J8+t|bccCd*b=wdCw8d%45{J}{~aMQySu1PIr>DY}OT*h7W@dy|39PNRdc>Eqy z{C~z13^0xP@n~KV8-y>R1;3t%g1?~!|3nM^hXwZ62D=|Ku!pRr7rekWTJjZkr>iRR zjP{Y_I*i9J(Sl#01%E^f{)+tc6_5AOg7?va4>8UDY9ynHr$}%?*k-v}pec&E;y~d^ zA>7EqjGBEuTb#Eq-n3?@QJbeTP0dkR$_`_nGEaqjW#}l_bk3aM$*s6|L+||`i&7~a delta 606 zcmZY6J4nM&7>42Bm}<54mU^Qq=pYCx8k_`2-5f=95gMpc!BP;xp{0v%-9%ivc5qR! z;Nl>z&Vq|}aS%Zq1b5%B2}1FwC(pU0Ip<5hyqi?H;koBVjnc+xFSKb|wT%n4=+Mx| zAq;R1kI}~(rtuj|_>C?W+RZ9>gfr+c*@?3l$0eLHE89x6u!9pU?4pM!*n<~1hBee5 zAENa~OfY`M06#E^>#^{@ZQLS6fC_Ne5eE1~1#mcx&;GVRM+q{R!6Nc3YhVH2Pzg5J zovxLTXV@u{z$(%F6)M0jD!>yez&k3y5Aw5tu5dk#3HG;nI!dsNN>D}Jc!>n~SK3^k zi{<8lQmBmx`d58XkGJ1aBaFIfI-o-Oy(K>7an9au>b%7 diff --git a/payments/locale/en_US/LC_MESSAGES/django.po b/payments/locale/en_US/LC_MESSAGES/django.po index 2e379cc0..7d0c819a 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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Transactions" msgid "payments" msgstr "Payments" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes Engine" - #: payments/choices.py:3 msgid "deposit" msgstr "Deposit" @@ -56,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" @@ -130,3 +126,6 @@ msgstr "A provider to get rates from is required" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "Couldn't find provider {provider}" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes Engine" diff --git a/payments/locale/es_ES/LC_MESSAGES/django.mo b/payments/locale/es_ES/LC_MESSAGES/django.mo index aadbe5dcc72e6172a5ca920ff002e25606f5b2d9..99797a811d02b1e0cd1f12a218be1e6c940ae9e8 100644 GIT binary patch delta 540 zcmX}pp-%!~7{~F)<5W&OQ4VmTP8o%OP77lMv&D@uf^#Np77bQLGGP;gh0VZd7|w1p zSlpP&K=LmzQQZ9gPVw2E`@Foz`#$gc+-L9*w8ts;&WKfVgM25q$eS4+MBFjkLk}}p z#S+$VA6uBiM{MCMx_B644?Myme&9UDcp1k8=FQrcW}p{k+{6P+;VG`;1!_U(Z@!BO zeh;vTAueKe_V<4UJm&Bv+-3fH&TIvru#7KQ#cy1rzE!ARXQGZO)W<6vqHbPblD({f zOxX$Q=1ugli`&>k9sC*9!4YcR7p8H7I;hX0OU$89ed{pL#`mbMLljA#T+S9q)<&CY y1BD84f&b9wQ&;G|(P>*Er=i>Xze~eF6u|LkOf_o!(Z>2)jDsL3VkkPOtDAy2h#hnYM5$m~Y6TbR;vnK6i0I(r z(7&LglWPZ25FD&dU33)O9Q?jEB0ji$a_@4vcXu~V)hWEi%nKp716i6&+nMNV-a$I&3!j1y>K0!Kv(vJehz;xGeS7{eoM$4eZ< zBI?AuaJ-Cd^k31(ceHUSQvWWA>ukcuDe|{XB2oOnS^UO1)|Uij^^-{BDjuUQ^n!V; zqMksKB>$2VBqe94Cvb%=SVkA0P&e>}T9C!y2*y$8&tNysqs{uV!b=u6P)@fGN6FPmmv#ufYpuRVJA_uu mh9p{w7(0d?tfl;5&s|J!r_!ZeGcfJtOg@uy>-qCX>){7E2R8=* diff --git a/payments/locale/es_ES/LC_MESSAGES/django.po b/payments/locale/es_ES/LC_MESSAGES/django.po index 6b7011bf..79ea16e9 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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Transacciones" msgid "payments" msgstr "Pagos" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "Motor eVibes" - #: payments/choices.py:3 msgid "deposit" msgstr "Depósito" @@ -56,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" @@ -130,3 +126,6 @@ msgstr "Se necesita un proveedor del que obtener tarifas" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "No se ha podido encontrar el proveedor {provider}" + +#~ msgid "eVibes Engine" +#~ msgstr "Motor eVibes" diff --git a/payments/locale/fr_FR/LC_MESSAGES/django.mo b/payments/locale/fr_FR/LC_MESSAGES/django.mo index 495260a934ab34e5e3d5cc3501af3531f3d89be6..8a76bdf4b9f38306688f086c0ec46fac446cec95 100644 GIT binary patch delta 540 zcmX}pJ1;~*6ae6{yV%8g?5>rtB4`v|8;JtZ(n!!yh(f8LRS=bmLV`pkQHWBpeuD&+ zL?RRl(fb1=zFCh+&U|xc?wvVvZl&;%-+j%cPJ-4UO5#!Uh=UrPmQI8)$_(2%!9mWm z%pG>}iaWexinB?3aE=3fVLg);(`;mK2)m(R5EsVT&1vSi!Y*zyez5;Lf6PYDmt13o zO)S>_yw}fV$q#ba{9auM1zvNEx18b^OU@4yPTw%GM06*zb^w}7{KwT=c=k#rL7-Pk|L5O1n1UnA{GXVuox~WsYErnqyug-G6@!gNctCa zG+7J=YZojg7KvHH_qkq(C-=UezVCaz_j%s;Bh$$GFKP2!hymIV?TI!{yNb{eGX@Q9 z>_rzRv4%F*aS)q$h@WU;wN2y%JuINXWDF;;105U@@ue6ptm7~X8<@spOyVWxu#Wo2 zyKwyh6O5nH#W%EYG1_`>4Oc0`#VO`*+eNbYjt+ifk^RLXEv>wY6+A`0C0}@e5q4d` zBV@CLPlT&D<+6zIZR zVDuLx9$Xi%2MJ|RH=@wrNQJ*R{eRKVNWZNotVP;gbQ*e;TwRd4j`glJ8O>Bfk4~%Z mX+(`J!z!(m-O^ruzOq@aG`7uaGr6?0U-EYIt%Wly{`vzXur+D` diff --git a/payments/locale/fr_FR/LC_MESSAGES/django.po b/payments/locale/fr_FR/LC_MESSAGES/django.po index b725ceb3..bbf2ebf2 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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Transactions" msgid "payments" msgstr "Paiements" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "Moteur eVibes" - #: payments/choices.py:3 msgid "deposit" msgstr "Dépôt" @@ -56,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" @@ -90,8 +86,8 @@ msgid "" "Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n" " account by clicking the button below:" msgstr "" -"Merci de vous être inscrit à %(config.PROJECT_NAME)s. Veuillez activer votre" -" compte en cliquant sur le bouton ci-dessous :" +"Merci de vous être inscrit à %(config.PROJECT_NAME)s. Veuillez activer votre " +"compte en cliquant sur le bouton ci-dessous :" #: payments/templates/balance_deposit_email.html:105 msgid "" @@ -124,10 +120,12 @@ msgstr "" #: 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" diff --git a/payments/locale/hi_IN/LC_MESSAGES/django.po b/payments/locale/hi_IN/LC_MESSAGES/django.po index ec2ef7e1..306b42a2 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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -28,10 +28,6 @@ msgstr "" msgid "payments" msgstr "" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "" - #: payments/choices.py:3 msgid "deposit" msgstr "" diff --git a/payments/locale/it_IT/LC_MESSAGES/django.mo b/payments/locale/it_IT/LC_MESSAGES/django.mo index 12a325991ccba704ca0a48ab4b13d35b3a4f5faa..4ce446109576353edb2141ac63a884f1c38c5f4c 100644 GIT binary patch delta 540 zcmXxhJuibn902gs7Oi@3)q6yc2=yK$BxZ|*&0sQ##b6+jrisMFhL0cy14)~R#Ro7M zNW@_DIsC4;^nbs*d;0wUclVs;pL6A}&eV0#y2XHa6GP&nPN$_4A!CKc^fKP(%>L|c?ARC&xNE^=P=ChpNvIOHTx=ofBv zqkLdH-#Nx_X4tIjVS#buGd$pGoU0%13~VYqGTu6BtxX>{6pPCh9H@3u)NUxg^WWm< ti^<)7aMPhx{I?E+77;g>7x57BQx-(6R?Z+)rV{&!%1!Dhbvcpw_yMSgCe8o= delta 607 zcmY+>J4?e*6u|LgOlvi*kG8%mR8SBrVk{1VtDAz8sDncwYK1mp73v@b5nS9vT*R$| zqjVGmSHFM=)=j}K1y>jUrwNLO-21za_CC&iNSq|gZ*lWdhyhB9@=6(}T(?jWGX@21 z>_rEsu!J^Na0s9A7{AcOy;hNPJj4k!7;M7~Mlg$`B4t?!CN^<|i7kxdDaP;$hp~eC z$H!p)2`&0Hbnp|SxD@h#w~lLE!og|A@5BB&b)2Oi<}_LMmw6h44CGN4Iz!fyI+n13 zbGXCq9e9Hb$t`B^4*8@;HHIJ9jaIvVffQ;+Cy`H9s5ILfXtBQ(X?R%H0c;?Lly3}P zf!<%}oG!q0^B@V-OmWfQ=n7h7|6lae(@SWE^^$fcm4u8 lQw\n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Transazioni" msgid "payments" msgstr "Pagamenti" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "Motore eVibes" - #: payments/choices.py:3 msgid "deposit" msgstr "Deposito" @@ -56,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" @@ -130,3 +126,6 @@ msgstr "È necessario un fornitore da cui ottenere le tariffe" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "Impossibile trovare il fornitore {provider}" + +#~ msgid "eVibes Engine" +#~ msgstr "Motore eVibes" diff --git a/payments/locale/ja_JP/LC_MESSAGES/django.mo b/payments/locale/ja_JP/LC_MESSAGES/django.mo index 81e45b4e4bbb0105d40adc864e04547c961a81a6..c7bac42331061dbbef5c6e366fa4f0c3132b89e6 100644 GIT binary patch delta 540 zcmXxhze~eF6u|M{F>YgsOZbE#zM_rQBxm3eZr~TDFv(&XGq@_!7N3bO?BFu)qlaf$z$WS+u1EPh z%y8ewbBr*Hc_-ethNnDyfQRHe6Y)83c)Nk@ zap?kjTz0XDGkAiFSV!F#qCWT)@{`9=et^2~1uyVZ@2M}f$+&PGwd>@~(8GB-A#FOq z3z-67I;0Of9{TyTD|BDzv`iD@F~?+zm?eBdyRDxxPncTsOe88<4J&%E3(oC_`|}UL CN+;9+ delta 612 zcmY+>Pbfq|9KiA4KKsYA{;gd$yl_y8uo>+6%cMB}W?< zr{|ztxVkDXIM|aMl$)FH&zs2fW4Q1G( zqJwGla1b}q!3uWZBW~d*hHK|`S{0{5sKck0ln83+MFmD!TIE05T2e?N*`JmDG7iQRBqIDwc*p0ft0crvl zXkLNdU(uM()5XYDTB&+d9Q3znLRz@}f2Exs%l;(Bg^AN>!g`fFoiv-izO`oAX8I}A q>u>QR*0PnzP3OJbT8~>;$`|~VupLPTBh}J*b=$9&u4wmn;;-Kd1v|9> diff --git a/payments/locale/ja_JP/LC_MESSAGES/django.po b/payments/locale/ja_JP/LC_MESSAGES/django.po index 34b18078..a01cb829 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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "トランザクション" msgid "payments" msgstr "支払い" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibesエンジン" - #: payments/choices.py:3 msgid "deposit" msgstr "デポジット" @@ -56,10 +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" @@ -89,7 +86,8 @@ 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にご登録いただきありがとうございます。下のボタンをクリックしてアカウントを有効にしてください:" +"%(config.PROJECT_NAME)sにご登録いただきありがとうございます。下のボタンをク" +"リックしてアカウントを有効にしてください:" #: payments/templates/balance_deposit_email.html:105 msgid "" @@ -103,7 +101,9 @@ msgstr "" msgid "" "If the button above does not work, please copy and paste the following URL\n" " into your web browser:" -msgstr "上記のボタンが機能しない場合は、以下のURLをコピーしてウェブブラウザに貼り付けてください:" +msgstr "" +"上記のボタンが機能しない場合は、以下のURLをコピーしてウェブブラウザに貼り付け" +"てください:" #: payments/templates/balance_deposit_email.html:111 #, python-format @@ -126,3 +126,6 @@ msgstr "レートを取得するプロバイダーが必要" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "{provider}プロバイダーが見つかりません。" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibesエンジン" diff --git a/payments/locale/kk_KZ/LC_MESSAGES/django.po b/payments/locale/kk_KZ/LC_MESSAGES/django.po index ec2ef7e1..306b42a2 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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -28,10 +28,6 @@ msgstr "" msgid "payments" msgstr "" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "" - #: payments/choices.py:3 msgid "deposit" msgstr "" diff --git a/payments/locale/nl_NL/LC_MESSAGES/django.mo b/payments/locale/nl_NL/LC_MESSAGES/django.mo index c1fa63998482ec73b6747b74dc008dc0d904bc89..493f537a655b95ba7cf59939cf6012b9155ba202 100644 GIT binary patch delta 540 zcmX}pyGz4R6vy#n8g0|~s7)VGUr3h@EvSQN2j?z=;38H89ZR8$YpIKq9SS}cXK|}T zpo@QjikpiL{sr!C;`bM$hn{@y&Fy`iyam@m?<4D88BrwX$yaiT?2qvvQjXaQdYH#L zR&fVcv5O_V$1Xmhi;VJ4*vW5Ww-t<)TreCOKdDj08bY&{G@5)=pcA7C{c8B#?`k2sV<&Mz9glG*&`B zK}stTEP^0bBB+&3z(zlT|IrQNaJ#>od+p5ah4bu`-{SVU5Ce>1#tUPDaT#DDW-SJ~ z*oz)c;{m!@#X)?+L;OM;cY`7)xQ~-)aj_MrFpTp!E>f0db0du-+}OrA9$_a|a0siY zFW#8@b?hL2MGqSo!PU_3a~qhV2@kb_>lTq7{J=R3P|YIi%K|6bfsdPbjC@Ppv4joO z7t*ZGx8xMtv4TmwGWi{jkw0P#KT!(`wuy{l6!pCs)CQL{XMI`YB!?-~j&6}d9+=E7 zko^S>{A`y#Lv7+P^iOGV&FD5K{QZB?Po_m^0otV7#iXGNvvm^HgwVa#>iaYy^w-gl k#A+ccXGJpWSuayetoS=wzm~VR?B\n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Transacties" msgid "payments" msgstr "Betalingen" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes motor" - #: payments/choices.py:3 msgid "deposit" msgstr "Statiegeld" @@ -56,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" @@ -130,3 +126,6 @@ msgstr "Een provider om tarieven van te krijgen is vereist" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "Kon provider {provider} niet vinden" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes motor" diff --git a/payments/locale/pl_PL/LC_MESSAGES/django.mo b/payments/locale/pl_PL/LC_MESSAGES/django.mo index c1ae72382e9076876b5707e9fa6e10ee5617ecb5..a59f4c091246d290210898343bcac45a05406f9b 100644 GIT binary patch delta 540 zcmX}pKTE?v7{~En)2L1B-!_d{6_G3|4YVLqDmZtj;OOAwq%JBtxRg$v)Jc5Da^?&f^B=aR+Dd5bcBW!T2@i zc)!P8jByl$q5irMw<*4i5#yaEbgJr zpWrf{Axm_NA$D;R-*5%L&LL&^}@>aiHX+ yklYXl_;2?6EE%^iZd&8SUz?(1`&)57VMW`o42UFGfsW$HIdI}T_sG2pz3*SWPA9nl delta 607 zcmY+>J1+!L6u|Lg%(B+5$3DCzD;tS-OejROI?+f3g<@oFW-;+tiAE+7C6$OqbX#aN zTdI_N0SY!+p&=R-|Fbh8PIBkB=bk%z@0oj>I8J)yxOpl>8>5Ty$mnI9SMeZ54F+16 zLK}y04=pTW2j1g8exQk))gni@i+yM?S&M@h#xd*>@nk9}EMqr?RgB{y#_$X~v55NO zO;EqXdh#c<@dcwe6Y|$B;sQ{ zh20}~fm*-Be!N1K$OC5Z8Jp0o^BYLv0C@)Wz_ZwnOBi8)De$9!o=)H=YUke=+ydEO zaPZ1?QLb#9KwVFxzoDIK@b&*iE1B-0Us#*48hB{v$+)`8$u-xz*3a3Z36W&bm^7C{ jM&5{K=N&t{lb&{Sj$7I=x6Rm`v+g=;X}@q%4!`~Yb?!Iv diff --git a/payments/locale/pl_PL/LC_MESSAGES/django.po b/payments/locale/pl_PL/LC_MESSAGES/django.po index 72505698..fe41069d 100644 --- a/payments/locale/pl_PL/LC_MESSAGES/django.po +++ b/payments/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-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Transakcje" msgid "payments" msgstr "Płatności" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "Silnik eVibes" - #: payments/choices.py:3 msgid "deposit" msgstr "Depozyt" @@ -56,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" @@ -130,3 +126,6 @@ msgstr "Wymagany jest dostawca, od którego można uzyskać stawki" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "Nie można znaleźć dostawcy {provider}." + +#~ msgid "eVibes Engine" +#~ msgstr "Silnik eVibes" diff --git a/payments/locale/pt_BR/LC_MESSAGES/django.mo b/payments/locale/pt_BR/LC_MESSAGES/django.mo index dfad88c8b35a128578320479378c34c372093508..ffbddda256d0043cb49d8798e79e074f934fa003 100644 GIT binary patch delta 540 zcmX}pJugF17y#g-y=bY=QmM~~r4bS&42Dhykw{EpFqBauenHd8#8wiCxv`PxVlmlF z29v>mFn05t>*FNvea=1S-1DCI+^^z&vGF;YTnBAJOpA9hCoa1@v|J{H73Mk4O)hbd ztE_X953KW*3AeNM;4UltU@x;KbL{7Q2#qkN6DKw}!zxF4$SIyNesJ+Se#L(8cRXgB z1(v#h)-CYB;g=W>dfpSlFdwl znp8=+Wjy#ZD|}-gJ1jHtaolH?r(9$~{&1sXO=vORI?^`eskn5LIIp0zQlyC#@ZaL^ si<`Us;HJZ%_-i9N10vqSn23jtzp^CKTt%JGUe26k+O6a$X%_RJ-z&@~umAu6 delta 606 zcmY+>JuCxZ7{KwzxmM}<>iPaiYLGM`;fSpxu@GCsBAk>|a;;E_MQSiM7SS%&u9l7_ zBa4^}z9va65==J#=XxQYUSo zeuGikPw3(sTDTCZ&s)J|4&kB}d>Iz$z#7irH_o!ZOi)%o9eGUQ3F=0#xQ6ejH?Tyf zZg_;vSi~tTAyecUIg#9<9^ebLpfHmYXk!Z|QTLn2DErGgKOTCh3m%ZQQp4aCX#E9+ z`_IL&zp;&aQyla++JirC|6lad(jv4#E=-&@J{o#5p3c7_ZR=ZWF+JKKx=1amvl=qC h4J)0>xaqz4Ty`syt$OB$X)WgRx!riZ|MWKU@&mN}H+cX6 diff --git a/payments/locale/pt_BR/LC_MESSAGES/django.po b/payments/locale/pt_BR/LC_MESSAGES/django.po index 1220f5f6..a0978af7 100644 --- a/payments/locale/pt_BR/LC_MESSAGES/django.po +++ b/payments/locale/pt_BR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Transações" msgid "payments" msgstr "Pagamentos" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "Motor eVibes" - #: payments/choices.py:3 msgid "deposit" msgstr "Deposit" @@ -56,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" @@ -106,8 +102,8 @@ 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:" +"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 @@ -130,3 +126,6 @@ msgstr "É necessário um provedor para obter as tarifas" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "Não foi possível encontrar o provedor {provider}" + +#~ msgid "eVibes Engine" +#~ msgstr "Motor eVibes" diff --git a/payments/locale/ro_RO/LC_MESSAGES/django.mo b/payments/locale/ro_RO/LC_MESSAGES/django.mo index e4d96b0ca30f1d650e2cb0fb6b2180302bf39769..ad9753aeb3734b9f298eca04c449978b625500f4 100644 GIT binary patch delta 540 zcmX}py-Pw-7{~F)>&?7cX?ip01&N?UG>V|Xp{XH?z_FmIv8Aa|9Kxx#3^&0+YIC^% zgHS_6N<>6|MqAMLceM^a_j6wEJ?A-(9se_1|H`;`Mw=&=h#`?DZX!HramQ>EJ)FY| zmavLjSi=SEVGW=_$4zzUvlx`)lN zZCq#kfV^TasKnnfh2N+O#`s9gua$GbNND*weUB zcvA=~#0CDF{yuF^^^Ho~4Dr`y=}Z%8!Y7oJ63P+bSy?(3l$~=Y=(;WU_RxF#1tX~` ANdN!< delta 608 zcmY+>J4?e*6u|LoOsX+8YFn-Nz&eP65e(U+tCPBlE+T;{_0bkgL?3&Y#7!d_w~IR*!p9Zb-xARQdgxJqqr>{jV_S1H?Bg|FA#*96)o#(mHGDu5 zTd^OwNZmy~Q3*Qb05*=GgEr<-=HEaWcZ_nARkT=N-SH>Dx-_6Q6fKm+_!VgV3pO4; z7sJB|(hBqvSbY+JUvM^7lMx`KRhjN`0QV\n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Tranzacții" msgid "payments" msgstr "Plăți" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "Motorul eVibes" - #: payments/choices.py:3 msgid "deposit" msgstr "Depozit" @@ -56,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" @@ -130,3 +126,6 @@ msgstr "Este necesar un furnizor de la care să se obțină tarife" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "Nu am putut găsi furnizorul {provider}" + +#~ msgid "eVibes Engine" +#~ msgstr "Motorul eVibes" diff --git a/payments/locale/ru_RU/LC_MESSAGES/django.mo b/payments/locale/ru_RU/LC_MESSAGES/django.mo index 035cdf478e78be8a2e7d7b292269f6c8d08069bb..cfaa0f4f848db79741def16b1bcccb498b251e12 100644 GIT binary patch delta 541 zcmX}pJxfAS7{Kwz>(zYeMQ`ebQYvZ)RH&t)z}beNp+P|?baU|&h%SPVqfOBi;u1LA zO&4dQEgBq}qYvO}|K}(jIOliX?s?96?!tX@Ti=fTBovpLrhZZns68JIC1i=5VHlHm zi8;K*b8O-sjHn85-%Siya4pnmYUp6_Fn z@er%%;U=a6t9{2<;_^AXW4;ppp^&@d5M1moc4JCVp@mdqkV!GuE&YUImz< zUgQG{_=UPZ86hipf`@p&9=B1~C#V^nVFG`#i%T67U%EU;H@=`|opVjuq2+PHJ`jO^xh*`-yfMY BD{cS) delta 613 zcmY+>KP&@r6u|M<>$Rw&&QbCA3=#=VG)#!i&@hUq!EjPiiAEw4i*zv1NWT z5fZ`J=~ygS#U_T%zOTIyFZuOzzdy};zxTV0SL6A2%Pa`d&FEviGKLxF0e*;agMmrx zL>I?!50hBL9(=)l{6-VEgCa+`iz8^T*np$hh!Z#@l9w5OV-@?^SVs#Fum#Vs7mKKW zeDL=x*v$M5UHrr-E`;jm(zwheTwG-RHY_rYF{()EIZTsZPWec%@P!vRK$cc~#Cv?g zH9T&rC#a$p5{!t)K9z+{$^2;P2hnUg@d`3O^f&MEn z`wK2odoJpzwN#U6r?}{EwE16j|6jzJQAe%AG)$73NP}F$(@9Jxgub=5vr8w07N)mu qFNKUvBbr&tx|tnkF1L}*m9|VfY@K*l-nCcu?z|hPzFW#i5`iB{%REp3 diff --git a/payments/locale/ru_RU/LC_MESSAGES/django.po b/payments/locale/ru_RU/LC_MESSAGES/django.po index 32b436ad..5d696109 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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "Транзакции" msgid "payments" msgstr "Платежи" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "Движок eVibes" - #: payments/choices.py:3 msgid "deposit" msgstr "Депозит" @@ -56,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" @@ -130,3 +126,6 @@ msgstr "Требуется поставщик, у которого можно п #, python-brace-format msgid "couldn't find provider {provider}" msgstr "Не удалось найти провайдера {provider}" + +#~ msgid "eVibes Engine" +#~ msgstr "Движок eVibes" diff --git a/payments/locale/zh_Hans/LC_MESSAGES/django.mo b/payments/locale/zh_Hans/LC_MESSAGES/django.mo index 8b242427fe23f41ee7828cd950ce2d1efc0ac554..644ce2a8f1bed4d1f75b4fbbd14df6bc59ca4074 100644 GIT binary patch delta 540 zcmXxhK}!Nb6u|N4y4tFhwV6h_M0gQYuns{H5qPLe;4KI*1tLVyClF8J!A@BpA?)U1 z=@3MR!i(qV(4lV<^nbJCz}w%D2xJ8B)*7E;x5L6;W;98OyMf- zV-=gYja^*FF?Ml^E}q2s4?M*({@@(ONqU&UEs>t&m}p`b13W|@TeyKYs6QCk{Rhmj z9^oa1IFI>6^j-o%^jzD7OBEo!IkZT{KrkL~&mJLErgO?|1Pq5?apT?aF=Jh_~t3EmYhWD0=k wkREC_^z&&~=)TZtStMp-naKjNMC1tWWe%7}Q)`8Zgf-{N37_1OJN))W|H9QKcmMzZ delta 607 zcmY+>ze_?<6u|M*>zP(s`T9vepavnZphxT5qOC0`ifDLXVvq%q)F3X6A%uuSPJz(w zB-YRt{Q!NCm+ZdS#INpn6pT9 zaS(l+!9#Shf}?nkS^Pj7_u55H@BpXLVl#+w4B*?GP!z7+C>)6m5qdUH88 diff --git a/payments/locale/zh_Hans/LC_MESSAGES/django.po b/payments/locale/zh_Hans/LC_MESSAGES/django.po index 6f8e0c99..688587dc 100644 --- a/payments/locale/zh_Hans/LC_MESSAGES/django.po +++ b/payments/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-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -25,10 +25,6 @@ msgstr "交易" msgid "payments" msgstr "付款" -#: payments/apps.py:10 -msgid "eVibes Engine" -msgstr "eVibes 引擎" - #: payments/choices.py:3 msgid "deposit" msgstr "存款" @@ -56,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" @@ -126,3 +122,6 @@ msgstr "需要提供商提供费率" #, python-brace-format msgid "couldn't find provider {provider}" msgstr "找不到提供方 {provider}" + +#~ msgid "eVibes Engine" +#~ msgstr "eVibes 引擎" diff --git a/scripts/Windows/uninstall.ps1 b/scripts/Windows/uninstall.ps1 index a7deb60c..7cc64a3b 100644 --- a/scripts/Windows/uninstall.ps1 +++ b/scripts/Windows/uninstall.ps1 @@ -42,6 +42,6 @@ Write-Host "Removing related files..." -ForegroundColor Magenta Remove-Item -Recurse -Force -ErrorAction SilentlyContinue ./services_data Remove-Item -Recurse -Force -ErrorAction SilentlyContinue ./media Remove-Item -Recurse -Force -ErrorAction SilentlyContinue ./static -Write-Host "Related files removed successfully!" -ForegroundColor Magenta +Write-Host "Related files removed successfully!" -ForegroundColor Green Write-Host "Bye-bye, hope you return later!" -ForegroundColor Red \ No newline at end of file diff --git a/vibes_auth/locale/ar_AR/LC_MESSAGES/django.mo b/vibes_auth/locale/ar_AR/LC_MESSAGES/django.mo index 4c2a4aed192508131c0a211f09c12802c102aacb..ce88586011a04358e6ca978435c77893c6152003 100644 GIT binary patch delta 1971 zcmYk+TZq*~90%}m+g-1ltD9z;?wVz(n`@h8x?WRTubJgNmkKO?s`1@Bf*ZJ?B3&znR(N%dRi2TpU{e zK~Xk{JH_vHrBwK7gNJgmZz&V`3CHngj%2@nz26_lsoHaS2Vdtf?&CBb&d29x4FHILT*ewxGe zf6GktH~N&T9)>9O(pn3++d~w}$!qD;1S_Dlv!VG`rbHeloGeoX>-7<9Q}i z*EyEW(&F8vlNn$Ulfm^|$}PwUot?)HaO zHNWG%+8g9gwe0409-+mRR?A+(E+*A)GiTx(W@7))rwp>}S?pjNw=xrWKN`QBQppQ0 z)A=f$clWNeo9DG(W>&b|(N9V@b3PBUjpx~iGWvgcLM`uHERz0|hr~RQtoljyiZ^A3 zDP3a1fgz2pm9c6wMTVFn>O>NHi*N|4}tZrBc>w%@H{jIch0M`0Q$}_oC(!=APVKvRNs)HxG*BG8>WmaC2Fq;Tlwr zbNZ#Xx*?BoU=Hbm^wvuLgFjNMFXG_T4;*f6c`kdMgF08_;O0<1E^=!cg!5I_i8Uho vpYo_!DB8quQ7;}4DF&{VCePf!WhXxGySMJd(*wS4I`GoCu_s;_ai-~CI{>Ko delta 2033 zcmZY9ZD`e190&0K9&|aKvz4|q^=f4~mk(*0Ps?dm=3{AUTA-y_gjAZKq^wLyEey0k zNeGLqUR1;wy@-sk7ZvuRf|!K$PAC!ygeW8WeDAI>=&;}Yod4Oq=iztG`Tw)<<3$}m zH`TsgC~L)a;$n4CbntW^AIevCMbW~qc|9+3D4Vb7`Tk^1@w|-JaxVw-O-^GMhw(fI zv0uNUXyi~{m7!Wx>NT`+92amPx3Mqx(3r)`%tQ`XJjp9P|H>v_;z$nES=z_5fpgfO zOPDpSp}%5X`PovRRLMZkFdb}XR(OQF*vVC#q?gQmKR5FzGeF&do&g5a9Ewp)`#9dg z>6P{!to8gN)6YJRF@AAGrInvEGyk1Q^}m#&Vzl07aVoQdt;~dXFyDWk$-p5d)$dgN zqVoT<9HRXKlZn34t6DU%!x%+LMC2_B>y?3-xzfaWsEnGF&bH_py=IQmkjbx1~cRUpUBizQG)tv%H(br6&{H$a(B! ziGMPgYL<>#99>86QXj~T+)%i*fNBRewZ%=b<)NmPprTO+dWl(`}=>1@PAk#buPg}j&F ztJ&O?**Anp;pOLCvGL`)H` zZh0Sa9eS5#9^8iVeNMY9mhXP9Uw<(_r}T2k3x0a#VFA7I{#Vv&$$n)|+eJ=sPT*3J zE7V7n#Dij$XcH;f!@I;Nk*ilLZWZNp+4FK~@R|F#xU;M7Kz04fCmz|jwbZ`t*~dF) f*Z\n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "معلومات إضافية" msgid "authentication" msgstr "المصادقة" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "مصادقة eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "الحصول على زوج رمزي" @@ -97,8 +93,8 @@ msgstr "حذف مستخدم" #: vibes_auth/docs/drf/viewsets.py:33 msgid "reset a user's password by sending a reset password email" msgstr "" -"إعادة تعيين كلمة مرور المستخدم عن طريق إرسال بريد إلكتروني لإعادة تعيين كلمة" -" المرور" +"إعادة تعيين كلمة مرور المستخدم عن طريق إرسال بريد إلكتروني لإعادة تعيين كلمة " +"المرور" #: vibes_auth/docs/drf/viewsets.py:38 msgid "handle avatar upload for a user" @@ -171,8 +167,8 @@ msgstr "الرمز غير صالح!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" "المنتجات التي شاهدها هذا المستخدم مؤخرًا (بحد أقصى 48)، بترتيب زمني عكسي." @@ -285,23 +281,23 @@ msgstr "الرمز المميز المدرج في القائمة السوداء" msgid "blacklisted tokens" msgstr "الرموز المميزة المدرجة في القائمة السوداء" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "لم يتم العثور على حساب نشط" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "تم إدراج الرمز المميز في القائمة السوداء" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "رمز غير صالح" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "لا توجد مطالبة معرف المستخدم في الرمز المميز" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "المستخدم غير موجود" @@ -326,7 +322,8 @@ msgstr "مرحباً %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "لقد تلقينا طلباً لإعادة تعيين كلمة المرور الخاصة بك. يرجى إعادة تعيين كلمة " @@ -423,3 +420,6 @@ msgstr "تمت إعادة تعيين كلمة المرور بنجاح!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "لقد قمت بتفعيل الحساب بالفعل..." + +#~ msgid "eVibes Auth" +#~ msgstr "مصادقة eVibes Auth" diff --git a/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.mo b/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.mo index 2b88c283ddef9ef77c685fed668f238a4c3bff40..85955205466ad955c44946e1889e6057c1a1b405 100644 GIT binary patch delta 1967 zcmYk-OKep|7zgkH+wv+xL5h}_0-``g6cwmIc~n6}5fzFG3lfM6tu90pBY10!FVq;* z5Nuo#Lv(>8rinr0hJ`Lz5Tgn45xP)GjgYW08eBB~{&UvVD)U>nDd9r^w|-le{lH}FMH;|E;MW1PWr zoXpFd#PQ=wnVO;66vk^OXS|FK`ZrtM=JCov6N) zS<4#wl&-42l}%adc7^0he$aSF)Fx$k)u?o?!<1lW(xWa&m4CG5wrp zCiEXO@rgD(6Wv_7iy7xRPG|pQ`A=%T(2#+?WI8y_{P0{=zr^d+M{B&9GnkC5qq&rg ze2Y8ie3e1o${{AzlXW_a%eixuE$0&T6I12?HidIWpUnxDkuNUdGHzo1Owgjr5w7N^ z%$Ye)W0XcmK2B#cwUC*}2HwFfOzK}{w(vdXQ1{govZ9YGPca<~F$0gXf%*GPW`gUP z)a_w9dYO__dYKMCtnBAf^`lIGKd_G%xt+Z_$?s}s6%Hs2F)Q3F&p90XnM3m$Gm-b% z!OyDp-Zur(ysRmw1PPUU6j?blRl-# zEl=`QCTTM1NsYKSbMFE;AWwc2YB;`OH>!b3NZ>7J7zr^861fWM;$c<#fy0 z$B&o}hnZBhI2fBamzlsb%!F!O!+vIqeqx^cf0>1h(x{8lN=;=M4OOJI?3mGnwfEj6PHwOX3oS5%mn)BP}c`R{d&axLGggtR&OcgZf0xl5&8W}F>$V2 zu6xD8zLusrwVRYyi47u0$UlVo!*UJfwthY8p5xXoZm+kD{1-?uYc%8f%Qp3#g5>MU z)uFIiR%tvsRDDe`1{4C+@Bwx%jC=i_2yRlmY5RpB9K$CLbQTsHCQYpY5& z{IRNWJ{ODo#f0ocSM`UGom^4Xv-{bI(s#6J>Yi*x-ezk>4qVn4n@f}$4)2{e#C-)E07I_$U4`JX+{Ip_cTo&SG*-9L6$ zerg)gTeMwbnz%TulnTEd>6i9pLn$3R$D4SOQ#s|D!Ot(?Lf4yl15a=w-{NBS^G5!` z@f$6mc&S(Q&oXvF{%fqbai?n8WmDxy7%};rq>tET#f7!yZCd>FdUdxqi z&yZTV+I$PNP8%4%=m0} zv$HmSlp|cfz|8Y9+pS+t>&)S2%+7yjQhkL|RA!iMITtZ^aERIPQRef+~B)YQA9>`i`047v_tXYS)b}rnsKYTez6X$Ro6; z@;G1OK{{{cGH>N@leKdWo4JKM>Xf`m{^uF^%BpjDiPJgLZRCS%xqwfwdM23K^>GEi zV9rdPBX6zJR&xQ9sWr?-9^-uOV^aSHQ^KYqghkJ$;^9X8t-5yS8+d6f)ALId{1Aklq)(pB$LgW1-91QP1Pv-Da++J z{ght6@^pMeUoGdE&;7}4beNNwQjDWAmo_F-3z-dVU`kry>b&aubaJQvFtx0=eLE}d zJkD$&1`s&-6oX>nX~aGvw;CR+|>h&vPC=~Hi-4&L6NpdG-tuZBDGm6 zvT)jR(a}>^-%^>Ow?f=4a)$kbD7T5>BHK<|EppuQ4CR=m-8o1#2X<6_>1JrANWQMN zWjgnXZDNN=afY;>O${R}D-GlU_f%9{^4DGKFJVq_YB97WHEA2gLXq63ZmHqWw%JAM zy|p%&RL&9ih@^i_PU+Q_LUz_J)-iSXf7@kXmY6Ma^mF?1lG!BkjE)qo;$g8}bcwXP z#9GlNJf79ZDJQm?uA8f!!M8^a!~K2z4JU_<-uBd\n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "Další informace" msgid "authentication" msgstr "Ověřování" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Získání páru tokenů" @@ -169,8 +165,8 @@ msgstr "Token je neplatný!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" "Produkty, které si tento uživatel prohlížel naposledy (max. 48), seřazené v " "opačném pořadí." @@ -284,23 +280,23 @@ msgstr "Token na černé listině" msgid "blacklisted tokens" msgstr "Tokeny na černé listině" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "Nebyl nalezen žádný aktivní účet" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Token na černé listině" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Neplatný token" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "V tokenu není deklarace uuid uživatele" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "Uživatel neexistuje" @@ -325,7 +321,8 @@ msgstr "Ahoj %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "Obdrželi jsme žádost o obnovení vašeho hesla. Kliknutím na níže uvedené " @@ -345,7 +342,8 @@ 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 následující adresu URL\n" +"Pokud výše uvedené tlačítko nefunguje, zkopírujte a vložte následující " +"adresu URL\n" " do webového prohlížeče:" #: vibes_auth/templates/user_reset_password_email.html:101 @@ -422,3 +420,6 @@ msgstr "Heslo bylo úspěšně resetováno!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "Účet jste již aktivovali..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/locale/da_DK/LC_MESSAGES/django.mo b/vibes_auth/locale/da_DK/LC_MESSAGES/django.mo index e09b188b3b781f48c4c26ffe016413d4d8428959..53aeb3e33e04ae0f16e15276d1422ac931603d17 100644 GIT binary patch delta 1967 zcmYk-TZola7zW^#jpH=VO~dQD8=pby3O=B|m6`YyeadNH)+_^C&O9H&1;*{n z^L1?CgUrbv=45W+bnBN_baIlvZT<1DUVPQI1d*j_H; zVUFeRw71ftC~0LgQ{6l1R!SeU@Db)Jzvi86Qo$*{Ubg4`->j1fUf`pA zof|mXMW!g9WHz*mojk~F^!v&`nJa8iVX29k%+;)7Hqy;3xUq73<;!f(``@pVJN|;X z%gmAmnz)T^%t`k%)&B;w;AeEG@(&etz3@>c|6;$*I6#s zh#qmZIH%Rh-9`&U$}ks`=1%I#Pk)ZMOQep^ZBwejZM;S#`6;wDn2KD=xgU>J@htrwu6*vs% zV>T{F*R&4#gpJ8MOWnqU1MNUNXhTluE8pLapqrRE1p6JNFVxgfHBA%LIK)d zhVNo+)V>!}sUJf7`3j2|Kb+*D9510We~6~~Ig+AKNN;m-Cc1)M=!Ey8-#>_E;5#(c zXCg00|9%^DX@87nB8~L&7;-Sd7$L^PXq<|rSdSIhinZ8@PUI%K#}CkfQd!0kjNv-` z5$z|1jdnu0=)_CViEfE(L&rHflKp>^hi)27&7bH%*U=8{qCb2R)w8LLr9KI#U=5m) z4al6rN7#-#k@FUwVlfV;vmz|ViP(%SDQtNT`7fd2cSbG8etZiHSVjyRunIp$SAGhe zSQpmgZ#W4vIr7Xg6r-uGMQ>9Ra(qH7n#neF@6V%KcqPGur@If!@LJ@5Xon^A=76)Y z0vn_HK6J(3pnLi~+Tl-Vf9In5&r!Vx-=@76&EP-i;Z9_d|AjoXqaFT*+we|QU&6O- zUyG)6D>~o~oQ3<*Q-1;7!X9+uSJBkp#A^H>`GjiHXnP~_y+rto2UF9IuHZ6yD0`9Z z3pdaV+(Qq|Q=E!ZxTAL1jNX<{(TRPFBrkNLr~Ev!OQ8oH_y)SA&#~E8T_s1E#fHP^ z;pjv=_yxD)-?$O$*iaAWX>>vtFphobL^JrY=3yC@qi3T9UD)U7L=K?ib*T6MY}D{8 z@(H*2<6b{O_p+E??6?xY#Cmk4SJ7K=4IS`bWKm&qK35R!%hF7IKrADc5FZkjnZ!hY zP(u_Evk6manM;&*q@?913VE7GyiZgS{09-cpO zi^tGBzAAHgSW2uWT8QbyfYPxdeMn+H4W2^x#X`!H?^d5@5vzzrRt6L|+p?VS1e$wK zrh7NAG*R&&t&AE?sqX@Bg=t>kDScHu>a|g2F?yL_FY9UWrQ)8{5pK5oxq|Q@_{NG6 zYl$^PoUpt{G!O*@*E4yYreQK&zLhK\n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "Yderligere information" msgid "authentication" msgstr "Autentificering" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Få et token-par" @@ -171,8 +167,8 @@ msgstr "Token er ugyldig!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" "De produkter, som denne bruger har set for nylig (maks. 48), i omvendt " "kronologisk rækkefølge." @@ -286,23 +282,23 @@ msgstr "Sortlistet token" msgid "blacklisted tokens" msgstr "Sortlistede tokens" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "Ingen aktiv konto fundet" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Token blacklistet" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Ugyldigt token" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "Ingen bruger-uuid-krav til stede i token" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "Brugeren findes ikke" @@ -327,7 +323,8 @@ msgstr "Hej %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "Vi har modtaget en anmodning om at nulstille din adgangskode. Nulstil " @@ -347,7 +344,8 @@ 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 indsætte følgende URL\n" +"Hvis ovenstående knap ikke virker, bedes du kopiere og indsætte følgende " +"URL\n" " i din webbrowser:" #: vibes_auth/templates/user_reset_password_email.html:101 @@ -423,3 +421,6 @@ msgstr "Adgangskoden er blevet nulstillet med succes!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "Du har allerede aktiveret kontoen..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/locale/de_DE/LC_MESSAGES/django.mo b/vibes_auth/locale/de_DE/LC_MESSAGES/django.mo index efba335dda8b7306b684ab292483d418bc860873..5873aab811a389ffa314983a1409d0d074aa2c8f 100644 GIT binary patch delta 1967 zcmYk-TZq*~90%}eTUT4%cGpYhb-ko{Sy!_yuj}e&X`5wMUMd9@rGgZK>LIlwl~g_y zVj0m(5kB;gVM3%u)I$h8NT~!7N>p~yAfEz@qR;p25ghjS|IExe=RY&QnbBW*KI^HR z9bEr59Qms<6vH38~>~IkM+_f?ODuP z7SUf>T5GRlLzcQ)B|luxtZXND@eQu!uz`Iu-o|a(yOr>o?r(0jeA&cIXO3bnfIJy zCiFKm@g^IdiT2i9&y2I3!}(^5{3kVsb!4EAm=}D-{P0Yz{U@*2uG2Y*qnL~=p}CZ0 ze35JDe3i4D!e5zGw|MCo&f&VNY&qMt4-Jw3xhmfqJwF&~88@(t>EFzpjklNye8L4h z&1_YRqn-(OGG}KQv$D<1-ao??e1YatzG1fTCuRZXD=K;6MdrG++px@ZOU>t)!}K zzFg+3HnA+K)#va5v8>j<%#F3m-OSEslX8@EJg+P{ z|Jj)PYn{39xhr>wfw|U8YafIhsT`k_<)S&2{qHmk*_5rACKikA>kM&^$TiH}wwq<0 uSR=YbN{_f*j1xKJxj{FH6a!aFZd=C%uhIhmpF!-@(RatpogV@8V7I@`*9Vs zrcU}R4^`Wi`nXC4+QmFzAG5-fe2Qndkuy9cGe5$ee3==bzJK=sLun3W9Mj*zg`8XK z-_PFKPczRs%t^*CCskVcAv5z|nNfqU{Zam=0~;n zzvD3d7nw}dNv~>YWW^YzNo5G9vY8#6#+{tYSD1->&Ft|n%s{;@;}DzJ$)&3gYv-s%(Yq0%=BQ*SDC}~0dq~S zG6RhCl0BWlJg}Wv`I1_DC3Ab$v4syX6FkhfS$RWcwaR+SlI3!W2l*~D(>5EP{uRth zI+?@sFx$DC8SpJ;3*Tol(ZwnJf_L)@b7qzreHyn?yHbv+BsFi+O)Hm~L)pi>=2jYM zv89>W^To^qcFb`a}`J(npCPP1RGA}Y288Oby;4(Vg)ybf&6`5$VoUOQDq|6qh zv+_2P>v4xj22$pW=Hor;##S<=cCkdv5dJ|_r`L;eTP+=4bIhiS>D30%j$3Wq>R7>)=uvX7zt{2N|?SDyXQdWssB72mR zoYQ%2S)-ACSy$`KA!`-OL=MzlIi>%WoTzMW$_n8Z?|)^Bo*exau~_8LWPftaaz}ID zo5W_ZQ7jNCcZ#LL_Ek@OuG4Lzny!h}O84CxtiJNh+4`eB8#X+)b^D&C#e1K8^h|rh QH~sr\n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "Zusätzliche Informationen" msgid "authentication" msgstr "Authentifizierung" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Erhalten Sie ein Token-Paar" @@ -130,8 +126,8 @@ msgstr "" #: vibes_auth/graphene/mutations.py:41 msgid "the user's b64-encoded uuid who referred the new user to us." msgstr "" -"Die b64-kodierte uuid des Benutzers, der den neuen Benutzer an uns verwiesen" -" hat." +"Die b64-kodierte uuid des Benutzers, der den neuen Benutzer an uns verwiesen " +"hat." #: vibes_auth/graphene/mutations.py:61 msgid "password too weak" @@ -175,8 +171,8 @@ msgstr "Token ist ungültig!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" "Die Produkte, die dieser Benutzer zuletzt angesehen hat (maximal 48), in " "umgekehrter chronologischer Reihenfolge." @@ -291,23 +287,23 @@ msgstr "Token auf der schwarzen Liste" msgid "blacklisted tokens" msgstr "Token auf der schwarzen Liste" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "Kein aktives Konto gefunden" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Token auf der schwarzen Liste" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Ungültiges Token" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "Kein Benutzer uuid-Anspruch im Token vorhanden" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "Benutzer existiert nicht" @@ -332,7 +328,8 @@ msgstr "Hallo %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "Wir haben eine Anfrage erhalten, Ihr Passwort zurückzusetzen. Bitte setzen " @@ -352,7 +349,8 @@ 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 Browser ein\n" +"Wenn die obige Schaltfläche nicht funktioniert, kopieren Sie bitte die " +"folgende URL und fügen Sie sie in Ihren Browser ein\n" " in Ihren Webbrowser ein:" #: vibes_auth/templates/user_reset_password_email.html:101 @@ -360,8 +358,8 @@ msgid "" "if you did not send this request, please ignore this\n" " email." msgstr "" -"Wenn Sie diese Anfrage nicht gesendet haben, ignorieren Sie bitte diese " -"E-Mail." +"Wenn Sie diese Anfrage nicht gesendet haben, ignorieren Sie bitte diese E-" +"Mail." #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format @@ -429,3 +427,6 @@ msgstr "Das Passwort wurde erfolgreich zurückgesetzt!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "Sie haben das Konto bereits aktiviert..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/locale/en_GB/LC_MESSAGES/django.mo b/vibes_auth/locale/en_GB/LC_MESSAGES/django.mo index 2a62d71b1be726123db01b7036a9d3ecb6198b91..3bd5e573063e34b2dfc607a84acbfd81b1a14288 100644 GIT binary patch delta 1966 zcmYk-OKenC7zglUDFq5h3sR*}D)N%2AYiFhC<>zZ0Mt?+bRlYp(Yi3;2FMTk?&eg!!!91>be>@g zFL4r^$CWZAQ?+X}>sZP~?B=z6mQCD6bCx~KLSC)>n5~|F(=Vi=Z z*3hf0ubwxvDO>H+$OpGGJKM{BJi>lX9Y3<-K@NJ}#|(UdUgeUTIm_q?BmI-O)^i8b zKfp%rWOn`n=W#C=o4*WeWGCM-DLzN3DNSbSVLP*fekLOW%-=u5?EGaW#cx&~t=|8N zZTi1w7WzBA%HM9LD2>uwyH2B3Vvz((6i-5g}b`Gr}~ zzs$lXI`AxXQ{{GMo)>vN-)oWoq~@58O!OHuz_-i?&s5JBd4uN$opU*z$;didOWDXb zxQ*(ooaN2@l}UArK|9#R9oIN=W+5l0$bVA)li3$=jBR9s0GK<;Baw?y)fs43>S?FHo2;X9g`rVpFR`P!3DOz;-lgUJb159yFW%^e! zXSk6WsE?UwJCl)}RsSIKxm`?A4>3jk2~*Td6yQ`IZzR7x+C**>o1es=RyW+4|jE#Lo9X30byZqKosk8_wA z=rXgQ$$lQQ^0~}HcU10TCVHLO@i8Vd-!K!MX2vXNgrYTS5D01$-BImwDJS0-gImS-$nAj%n6uIsa8^nzw iMVvZWE^^hsB}_4=P98XZYRtig<4-oXO&H$SHuirpP?wGX delta 2020 zcmZA2TS(St9Ki9%GA(tbZkcPPcFy-T%jL4SX=deGhc`Q)Bs$S3nitIlbs_IyNt;~^ zCV_>~MRZ_n-H2VeqOOXHAa=b;G@imb?8guA zDHh_05h0AivG}fA#pvWQF(2c&6i4C#%)!IRp5Z8ZknYG!Sj6}*EXJ2ujw4yj`D%Oz z7hpcFMDMf(`4_gQ$6R$E9XHyKE^rXNVGnj-A8y1NR`KNDVjCVuH^?o>Y%m%*LzsZh z$FUI;(flFIX8bj}&Nn!f{X-9(D!h!I{0W-s|Bw`giL6$SbI=>KqX#~O{`^;H2EIpA zeJ1is^!@u-!u;Q8CUQtG-B64v_6QYp-oqIf!-ZIlZJ5Ab^dP^XZ~O?|D4T0^Vg+u& zv*%x~ zt;m_eEeE~hl#mI-q;X?rrXC}(f z;;cdESEFyZ3w_i5=z<;ShKJG2d>73hLw~;)E$#udxKqE=vAWmu4xaocY{Q??4dUe6 z4H9T|H>2|{*oa%B`IG1qoAHSg{JUl(gV#y51vF1+7;Q0Zgc^?@jWy%|DgN)i>{MLB^I%ND5v9s zHON`QV)TaF(2R7VMROGQ;R&?5bILN+Jqk_rT;y9}8&cfqK7_TzYGMVkj95e1<`CoE zu#Rwnd4z9ct0!XJSvlpYiS!zX#Y7Fke-L3NF_bV*wuOXcJcF1;*gnb-I8D0rEKA!o z!aTfbAJbV*Y#=rfvxz~iyCrv6Y5^0bfKNrbk-~KKIhaeVCq8vBsQJOStt5PKbM9x< zR1a>e7+6T_qDfP4#V#Q%sAjA5P4gp=hz3j1Qh&R(GEqsyi6+7#s3uwnE891%AS|kl z#C*cGi1>tZh&4)xfU6a$DOlezf$-e&Ft|56F_U_!>UeR>m%RPM!d8GyUy9Z6I IE6E!E8oh>~*8l(j diff --git a/vibes_auth/locale/en_GB/LC_MESSAGES/django.po b/vibes_auth/locale/en_GB/LC_MESSAGES/django.po index 71b41b61..69c069f4 100644 --- a/vibes_auth/locale/en_GB/LC_MESSAGES/django.po +++ b/vibes_auth/locale/en_GB/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -50,10 +50,6 @@ msgstr "Additional Info" msgid "authentication" msgstr "Authentication" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Obtain a token pair" @@ -173,8 +169,8 @@ msgstr "Token is invalid!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" "The products this user has viewed most recently (max 48), in reverse-" "chronological order." @@ -288,23 +284,23 @@ msgstr "Blacklisted token" msgid "blacklisted tokens" msgstr "Blacklisted tokens" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "No active account found" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Token blacklisted" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Invalid token" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "No user uuid claim present in token" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "User does not exist" @@ -329,7 +325,8 @@ msgstr "Hello %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "We have received a request to reset your password. Please reset your " @@ -427,15 +424,18 @@ msgstr "Password has been reset successfully!" msgid "account already activated!" msgstr "You have already activated the account..." +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" + #~ msgid "reset password" #~ msgstr "Reset password" #~ msgid "" -#~ "if the button above does not work, please copy and paste the following URL " -#~ "into your web browser:" +#~ "if the button above does not work, please copy and paste the following " +#~ "URL into your web browser:" #~ msgstr "" -#~ "If the button above does not work, please copy and paste the following URL " -#~ "into your web browser:" +#~ "If the button above does not work, please copy and paste the following " +#~ "URL into your web browser:" #, python-brace-format #~ msgid "user not found with the given pk: {user_pk}" diff --git a/vibes_auth/locale/en_US/LC_MESSAGES/django.mo b/vibes_auth/locale/en_US/LC_MESSAGES/django.mo index 4cafcad8b7e162ed062aa8195f19132fea44ab96..d083bc4b23a1322c2facab582184629bce328b53 100644 GIT binary patch delta 1974 zcmYk-TZmOv7zgl`jYso7GkF_trR8l#v$7_0yp?Hbreof zwKTm|T#tx};@p5z>ilY;o9pPHQfBjWPUC5|aq!^&zn{kW`b#;UyE&R~vXh56fhReN z7detct|_H8Q?+RfF))|yT)+{0oHg#EIm;eqA+J^*X0!eYw(u;c@KQBC*+Ylx&tvwo zm|kUh)nCh6wz@$hAKc9BY%llmZT4{V(Eb(gD^OyHEvXdW}6#q=ADK)cnv5nb550jBC%-?TicK#fb;@-+b)%)LY zjPc{lLeJ2v{N-kf(j?9GYc-lRW^+2{vYQL|60?vmn6v$!ndo=E#wOcI-Rx(c^9!?} zf0%_2ci>s*s>;pGJWp{f-yJ3YNzEq)GSO$u1CB8tJX!Vs;5hvO25;m9CL_yeEoCKN z=SHfpa*8wg8qf0+qp*iNc?4YTuCn5sU=RQ0D! zCeF~>O3j-#UB)sSnL*`K7P6fyn1w#W9O27MQNK~w$Vv`Weo2cizcQJ)z!c|D2buA9 z<_s4x8CcCs)Lr#AGZQ?>o02T)Y#8F_ySWbHTh2UwlL!p zxrDQ;@g2<3?P4DE0+Z@qcJO0*R5{6H_)jJ?|Z!KaY*CBeT$+%I(ZVdzc-6$YkbgW}zQKN#3#6osp{iQRsY1Kdf?>#s_vkoZv1?sajkP-E$$QDjS(5)GI6`ee96Y}scyLz zidlWlwJG)MwYtRJVxI61q4BG5HKnR?t#?oT=A>_GjPxftO{*(b)F{jJv()6_@^z=i zDzQQIh+D)JSG|$^lv;A2{2P}uD2uChCm#|ktNvwXRE;&fRV3;8awgeVUTbwyNe@*%&qCPnBzjpP1@SuEnR9` zO;{Uknk!$f?1Gq^SCyL==F|%>)Eiq@ZoRFo*+sdj-|zGMovbr|e9k$*dHJ2+gV)>t zZjXL0$@wDCb`W!khuI-Scq5lDv}<`G)Z$P0GCss|oSmQf`6g^;+=FxQD9*w&*ov3% zCHxbou@a=<3UW|5oFKsDSD96*za)$<6p4^A7LdHvzYUZ zI1N`~A#OnLv>o{u-c66W>OMMdv>#pI5PHKg{0JwoAD6I-CqIsZ_$9hQUQuR)S;!f} ze007JS70ihAI2QUAEWCW!)o>qV|42A2lV8Bps9Y0q$pIeT06F&HyA<>JdFPQVKf6H zXsXZ0UWvbdAIq5k3(Z7=^wJF_7_mo4(kaCTti?`j#6e8qDfA$B&^P`K-6)4^9K|GV z#|!8>Sv<4{Dnk!mgC2Bm>>+fY6VrMB7wKGL!qnVEH@b~3@BsbAf8%i>gV~Jd;X-Uh zGqMvoQ`n84-~puG!hiS*PGPZXtj7x6j9asK@)GjzNv^Z2DgOs+a1PgSgDz~w0rciy zq1AmEt?pZBCK60?#!!X6Z4-KtE~I=yKi1(c^q`-iPk1__V|AZH4{|Z~E^_#g&BK|A zQnWZ1q4TTJH{6E4>3e7Z+r{Q%mZ|v-_doR;0*Q;rIe%# zRwHK#DfEWDXhuFni{>!y!_U#`euP$c&b&;j8<45cixhXd4`DO$4zZ5tCN>ea7NWup zTM6H)jqq)3?L_TpR-!VhqPL7#MJyrs4eAKc;B{gPvBtrqW@>C32p`;>`x!OW zlUol13#m7rH1$^OYQlng(<*(|{0OAt!CJJ`|KD~nQA5-b9fU>DNNgmmY~M6VSXBMQ za>CX{yhY3>tZ0j7DUlv6NOv-&ZMCf@M!%ieGm)R)nqAO0uxrmyvg6\n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "Additional Info" msgid "authentication" msgstr "Authentication" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Obtain a token pair" @@ -169,8 +165,8 @@ msgstr "Token is invalid!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" "The products this user has viewed most recently (max 48), in reverse-" "chronological order." @@ -284,23 +280,23 @@ msgstr "Blacklisted token" msgid "blacklisted tokens" msgstr "Blacklisted tokens" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "No active account found" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Token blacklisted" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Invalid token" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "No user uuid claim present in token" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "User does not exist" @@ -325,7 +321,8 @@ msgstr "Hello %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "We have received a request to reset your password. Please reset your " @@ -422,3 +419,6 @@ msgstr "Password has been reset successfully!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "You have already activated the account..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/locale/es_ES/LC_MESSAGES/django.mo b/vibes_auth/locale/es_ES/LC_MESSAGES/django.mo index cfcf0cac55ac4ce12c1d63d74dc44f67cca3752f..f322f54f64f3ebd791459ba0adc7bd6feedef787 100644 GIT binary patch delta 1971 zcmYk-S!_&E9LMp$8q+F67ga4~s(VY-ZfMoiUTaY;D$+#lZTet|XftAoY9u5>M8tzw z8ZVYq#8MIw9x4&xK|H8LY_Y_HCE)?z-<{i}C-c9bbFR)={^y)=H+Ui#>PqmOFv@CT z81W^_EQB3>cu;Oeo8{vz%)qypiZL;fzt6x4v}a%n?!Y8Gij(mI4#ig(hre+k#`ZN! z)KIBZVtG-B1sK2qSchKRj*Mx0P!rkjdKu$szr+Omj3e-``+hi``e+xS)-oOW*etib z1ie~nB^7%6FnteAxAZ`|tO0Fz=tE zCi)5a*e@OoVII;P8bl?YNC$gXm#7IybGTe%_%b^anL@ z9~-WTmb=!V#%aK0JQYX&m6~h3&_Fj(9dx3;_{wd6!y&Yzc$tMmQ5gv$bFsO22v;KK z%epWZKcG?_N2h5x8LNA-FE~Y(!1;I%*3apcc>>qB5S!Q&$hYC^b`1D_)8vxEc9a8xLjb zp6fGIhwo7xes$a5Q49Nn+PYjiZNM^Ihu4rKSSX%R4p7NNvTT=7hvhcvkUT=o{5fjn zZ%`@Dp;uXi!!dwkuo}y-1@rJR>QMhgzG^94G4(SJJ-Yw9sOWw-A?L;ppi+GtwMQ3S zU*JgEG3=94T!5Oud?b0c47C-TkdHO<7>lP+TlpBb;$KvTxA1G1uKT}_ie8+@dhEbD z%x4s`XU9+}Z^H$62U(0ovuu4Y9VcM`HNi&Ig2Jc?oknfNRrF&Q(uMuQ492%KPFNuZ zQ7dXh?agj%!6T^5B>5w!ISZBQg{YJ^A&1)e`39#f<*CWeCn}sbW)m?;XtG&EfbeO? zD$|I(aJ+X!D4kj{p>wMZh$1w--UNH#lw~}%#!-Z(qB0?Zvo@CI{MhQ1E}-()U8Yhg zCn||5LYvd0glrY9QbNa0JFCK`*>tBC`EO+f^|@}ln;f^Y2z95Fd>v`!vS(RBLwQ^7 zzRbh|Vh+(yhgIjZyXY2AaU1hc8)4zI-o)BmD*82>LFgQ4j~5fVj=GBMnpG1ki4sDk rjF?UM37su&fOAN}xh2v^=mIQke;C~w)xIV++&^5KlGyG`zS{RcX0@Sl delta 2020 zcmZA1TZq*~90%}G*WFyrY)dmuT`h0xJx$$m&DE?dZ>gy%QC3Q32Bv}raio;YdI&{W zA&@|Oh#mqHif)KKbg_#)Lvh%WvlYKiK|3d*!F5 zx`RboD{c@Mx|dSnsh+-+PZ~;T;itTj7dVImuju^!R8G@g%Imp@{dt%(c$|azC;PEi zuTrk!AYPNHT2vZ!%;q>QU|()$J$KWb_D}Rxjd5D>yp-<-o{b>zlIMY9lx3jg@ zzms*^&okrf|rz4@O5UKZVoyN z8o(@kEVIxJHFq%c?Ca3cn;xmuI}c@o8*78j?c_GftQ$_jkS$t&gaeCz}$^PG-i31ckpwL zWQmE5xP(1O(x~< zGe`Ah&3`#Ud$RMYo+-1CEtJIa409x}(5D>rHH9abBR$VedDV^b+OzqxpTqe^t$m7{ zwSVJ!E;EblmUo!cf5m(GD{ZPwvh9qsfYZ5-SzrgVq4$^ton(&UJ2soY)Vo>6D5IIw z%;!XIWOmfS9L;Oo%eR@#v^96$>P1Ydw^2&V5xU&fF;SL_`@}+Vk60#BvdA1m^*x=( z<5rOcq|6d62fEb{t7H#tB8QX&b{Cnhhe%>m=8Ehw`^q7u+|o()Hdt}>rJJriFUjBK za+^x>xKgYZQ$?3@U`a#I${ZcJbvf7+M^b&aran{LFYZpGOBqwEFXl9n+~-Com0inH zjihZwt#c&Di@QW_{`}n1%OwwUYpt<>Ifwt3wK{Uu$BA~4OOf+jBJwQu6wTrRu}aJq zDf7ggB9|~1El)#kYBgOqRV$q@?mP~Qjva5<*S&G&#z)p~ZEoMb?eSx6jR*VmUf-qT J^nj0h{RiCWs|El7 diff --git a/vibes_auth/locale/es_ES/LC_MESSAGES/django.po b/vibes_auth/locale/es_ES/LC_MESSAGES/django.po index e393861c..f51db134 100644 --- a/vibes_auth/locale/es_ES/LC_MESSAGES/django.po +++ b/vibes_auth/locale/es_ES/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "Información adicional" msgid "authentication" msgstr "Autenticación" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Obtener un par de fichas" @@ -172,8 +168,8 @@ msgstr "¡La ficha no es válida!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" "Los productos que este usuario ha visto más recientemente (máx. 48), en " "orden cronológico inverso." @@ -287,23 +283,23 @@ msgstr "Ficha en la lista negra" msgid "blacklisted tokens" msgstr "Fichas en la lista negra" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "No se ha encontrado ninguna cuenta activa" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Ficha en la lista negra" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Token no válido" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "No user uuid claim present in token" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "El usuario no existe" @@ -328,7 +324,8 @@ msgstr "Hola %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "Hemos recibido una solicitud para restablecer su contraseña. Por favor, " @@ -425,3 +422,6 @@ msgstr "La contraseña se ha restablecido correctamente." #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "Ya ha activado la cuenta..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/locale/fr_FR/LC_MESSAGES/django.mo b/vibes_auth/locale/fr_FR/LC_MESSAGES/django.mo index d6005db7881f07fe1d653cceba5325ad9178b5f0..3cadc87d0559519443be792fa9cad85f164fa823 100644 GIT binary patch delta 1967 zcmYk-U1-)-90%~@n$xD!O;c0TndWlyC3U`}nYvuAv@%yZGc5$8D3va<8ak^!aX&;NkiGKj-}2b6$SuoW~D4udb=| zkEwmDC|kuX;?J5=Dm*>ZL-}l2DQ*0mGx#efarp4Tzn{TH+N(K{dpVA8aw(5-GB2=^ zS2&vWHE=%2{k}qy!R<@r9c$7UHH)3$cySZEY0Mqd$`jjgk#wzDhr5@gkGzMx9RKQf?Vy%Xx?PiLvs(K&9X4>A2A{vIR@HkXt#OuhXZT^thL2 zcsoZp>iR0}%m8bdl<#Erejgv^AzDNEk=eqF%%T3PqLNf!t~%ehRm-zXM+ZG}n2s{n z^E{J@f0>mw$YVMh&vZPs+Mdbf+H;xjJ;Poe;x10qiCrp{msMU6wxq&@Q%8xT!cZ$itmrN$lat(8pa+^9my7(k>c8;@~-_imqWxTf;sF~@gmC3*g zE@C$q^DvwF6|<)on2FU|o-s=!C8e}6f7ij~+`)x>k6HQmyp=2LS8MM76DryBSGbp- z@HtMOI@s|W%;Efq8+n?>E~AW+iMDYiS93lq%*0O8BFkxJ!snSYbCuKB;xVhD(xq|_ zpJ(o6ACrl%`7Y0~iF-`Dl?S9U|Y&VP7U1a=KIQ z60N;Wb?E-^W~<())hh*d6(S$*Nq)C*_2C`I$Ak8j+T3xyQXQbV=gH{n1-SfWrhZEg;G;rqM@=7 zqKB*=T41n8Bj};RP$VLVgvg?mz@$jQ`h4$PK|0*u|8xFl?wsX!&bgQ89h+Y{+tlNw zqHGYiiVNLJsqkdIhw^DdDXsjBxA6i8ao{yw-=DyV-dFHu?qff`&M7?3TlhQsvRAKC zuIC`$n4wx#8a2%1XfEP)+{K=Jj>as9nTd4NJi!~h|I8*{;!s|vv$T)pwVch~T*j&yFyG(HWZ*?6)o<4Pxc2vN z*#76_}r-Dc#-M2%`&nD?HtdiIGpd$r=0Y-m*264 zEsnfC%W`IbjZDh-GH2oyuHYNAmU5oi!tNE{%IR)oQr%Q@34N#Rr%yTRk;Bx0%q6!?J-{ z$yR2-om|celloK47M^7?@ja8#zc`O0U8&rv?H&txfX+~*oKk7m@GG-|nOZZ@LZ+jY zOeQvQBA@0YzR#ijf!W)7%gV&sXv}gqleu>0ds{h;2RWXfaC?60{#F^LVUvv;#r@3Q zf52V*lH0g=NLR-nGKcguSMnUqp-eVPCfd%K+`_x~7BjK0X^rI^GvR;PQc)Sv>8WmjpV4Y* z@l5`%lzUX}7i+{iF+p5aI+i!oS7vL-DNBA+vdmf4nvLdaabNBI3Q1+kGLeJhs#Z^Q zQh9Y*;l*Ju57Zi~_g_7yH2dbBXP3H4PUh5FeGzkI{$Dm|$i9pgbA%gK{W;Bb$(^hh z&Ei3^R^+gx1i0Q&^1yZ`_I diff --git a/vibes_auth/locale/fr_FR/LC_MESSAGES/django.po b/vibes_auth/locale/fr_FR/LC_MESSAGES/django.po index 9c814713..ab1f4ec8 100644 --- a/vibes_auth/locale/fr_FR/LC_MESSAGES/django.po +++ b/vibes_auth/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "Informations complémentaires" msgid "authentication" msgstr "Authentification" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Obtenir une paire de jetons" @@ -175,11 +171,11 @@ msgstr "Le jeton n'est pas valide !" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" -"Les produits que cet utilisateur a consultés le plus récemment (max 48), par" -" ordre chronologique inverse." +"Les produits que cet utilisateur a consultés le plus récemment (max 48), par " +"ordre chronologique inverse." #: vibes_auth/graphene/object_types.py:42 vibes_auth/models.py:117 msgid "groups" @@ -293,24 +289,23 @@ msgstr "Jeton sur liste noire" msgid "blacklisted tokens" msgstr "Jetons sur liste noire" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "Aucun compte actif trouvé" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Token sur liste noire" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Jeton non valide" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" -msgstr "" -"Aucune revendication d'uuid d'utilisateur n'est présente dans le jeton" +msgstr "Aucune revendication d'uuid d'utilisateur n'est présente dans le jeton" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "L'utilisateur n'existe pas" @@ -335,7 +330,8 @@ msgstr "Bonjour %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "Nous avons reçu une demande de réinitialisation de votre mot de passe. " @@ -356,7 +352,8 @@ 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\n" +"Si le bouton ci-dessus ne fonctionne pas, veuillez copier et coller l'URL " +"suivante\n" " suivante dans votre navigateur web :" #: vibes_auth/templates/user_reset_password_email.html:101 @@ -388,8 +385,8 @@ msgid "" "thank you for signing up for %(project_name)s. please activate your account\n" " by clicking the button below:" msgstr "" -"Merci de vous être inscrit à %(project_name)s. Veuillez activer votre compte" -" en cliquant sur le bouton ci-dessous :" +"Merci de vous être inscrit à %(project_name)s. Veuillez activer votre compte " +"en cliquant sur le bouton ci-dessous :" #: vibes_auth/templates/user_verification_email.html:96 msgid "" @@ -433,3 +430,6 @@ msgstr "Le mot de passe a été réinitialisé avec succès !" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "Vous avez déjà activé le compte..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po b/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po index 41515f00..6a5e03cb 100644 --- a/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po +++ b/vibes_auth/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -49,10 +49,6 @@ msgstr "" msgid "authentication" msgstr "" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "" @@ -285,23 +281,23 @@ msgstr "" msgid "blacklisted tokens" msgstr "" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "" diff --git a/vibes_auth/locale/it_IT/LC_MESSAGES/django.mo b/vibes_auth/locale/it_IT/LC_MESSAGES/django.mo index cfd1e01bf79b871eac4deff6aa0d5cf751a0bf7d..0e6595ee90628fa3673b923296065c2e5564dd40 100644 GIT binary patch delta 1967 zcmYk-TZmOv7zgmBjpKE6#%p<e*ZIDaB+-E{&m8Z#x~z6_ zWW$l7Jg!bufA3#Pjh_#2QBDsmWfni>G+yF(4jR<=`)Qn~zl=BWMULSi&Sy6#@B*9J z%MlzhxRg{QyR^(h~t?ZY+)j@o%#JU%+B{RA%3&6yZZht z$GZPLv(Vq@Q~q%=MQIS`+Gvdyjai(*Hm+woUtt#V8FRK@GZX#FE;iUs^5!5j&M(Y@ zt}+X6a^P9$n#yg=JkN6+k2Q;bLUYoMO!Nsez*o$J7pnfByivcuo6|XgiAV>nrL5)~ z+)VjZF7j4hWF5jgm;LWOlrj3%G|q;C&w$px-_Kb+``w_R<@ zic=PIZNGok6{9a7`BEfU@+Id41FmC;Lo(r_4|jhim0N zjWy~fb&HzAxvtd8V|q)~yf9vidP%^RRPFhER9#*5uQ9V~Bu$fYiD6PRvAe#k(~-qx zV|DWu&Q@2cL-YEttiA|&2NqQQy!j*2KKy>;sHgG=CdaW%O+qF6A69dOc{QC@J>fQU sv6`}6ytk0uYz&*9%f_BvT!z_&-Q0#)RdAx zi1LSeTJsnA$6ZSD-$qCgma?)bd4GP-Pc5f?_d37x>~}8TbI!Bj!rMi5zc=)fp=>3l z5I=*BvGI8rzbKDA#`y3F&cL5I2`7#U{CyTK;JFeLunptzDrRF3PR4II1|uSj8I6;0 zoQCpIiKJmEreP_@Vl#&0X=F@u9yO6p*LygY=g;WH-#8Ux=}hgJ7=wivh2^L<)gV8n z)_G>B2dHSE!>A5gP%G@l4qE z3f0e9OksS}O(h-gqh|gUmFho8ip+F+%g05i6*QtId<^yXCs7&bK&AS+>jU@mK8&Y* z0F{Yw(o5BN(Pj)|Q5laJ=)+>n#DkcFS5OmqgWBUSsDVORMjKjKgEvt91hLVYP&{hl zsi=wWacx13b8Za#KY>aQ4NA=m)IhIL9ehH)IOIM@@i39+BuvI^R7SQVb27W}3?4zw zn;FL07(!<$n2w3K0jq=9axeMMq~R%}&cPwHFqLI!3s&QNJcK$M*N}J316+l#Q4>kz z$Wt{Xs8m;@GSz@O6YaPLJ5dvTi`v5PHWkj78AMG$Z_Bx;Ow^)Q+=Pqq0`g-X@=Krh zA+MSrs7!cBr!pCX8o=wCfOC1aP!n5+N6|h&Wj~b<$o83XMr*?zNY>3q)L|J!tt5oE zb%e-b1!P(2Gn~^n1OAWhkn$V8Ne)z;)?NoW19jhYiZbqn(-~yJE#@*qEh}0 z)3G15Wl{8|FRWbDo>rmuycw0D6R7ttVG`a%W#AENOMhXtzUtEGg~glGI32H`h4=9= zzQa0P&nW8nE~?{~Sc317MVS;v(dUJjk5#Dtx=;)2MJ?za(xrKYNxJ_7RG5s3<%H3f z@uAMZD%6WDsKaIBMeIUNV5SwgM%k#p--Vh;2XeTbzQAlC))C6`YGOU1vWQ3|o6h%i z3g!|z^(tC{uQMoos;xCFA(j#I2>wAh!-b%xtx`4ikbXIu6>_QrJZ*PD7I z9yr`)quZE_I%q2io%H28rT>bqK#u!Rin=oYm#s9U5@|#cp~IyUTR~_)!w8GmLR1k; z2^Aft6~r_`2T9jyKH;Qmrc(*rMZVQcnZL(#E;w>?{jR!3tEjnYpMObYcXS-Jh9mW@ Vtvg%m8xGZ3b\n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "Ulteriori informazioni" msgid "authentication" msgstr "Autenticazione" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "Autorizzazione eVibes" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Ottenere una coppia di token" @@ -172,8 +168,8 @@ msgstr "Il gettone non è valido!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" "I prodotti che questo utente ha visualizzato più di recente (max 48), in " "ordine cronologico inverso." @@ -289,23 +285,23 @@ msgstr "Token in lista nera" msgid "blacklisted tokens" msgstr "Gettoni nella lista nera" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "Nessun conto attivo trovato" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Token nella lista nera" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Token non valido" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "Nessuna richiesta di uuid utente presente nel token" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "L'utente non esiste" @@ -330,7 +326,8 @@ msgstr "Ciao %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "Abbiamo ricevuto una richiesta di reimpostazione della password. La " @@ -427,3 +424,6 @@ msgstr "La password è stata reimpostata con successo!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "Avete già attivato l'account..." + +#~ msgid "eVibes Auth" +#~ msgstr "Autorizzazione eVibes" diff --git a/vibes_auth/locale/ja_JP/LC_MESSAGES/django.mo b/vibes_auth/locale/ja_JP/LC_MESSAGES/django.mo index 6b90c7ce2aa66718d50367ddffd445648f6e4cb8..36220521d9d60c150c098c44381a1554280693e2 100644 GIT binary patch delta 1967 zcmYk-eN4?!9LMqFcHMI8(u0RoN=crs>sb_TH&F0yEp+qU<$^>*w0VExzr1AEFQv9cm{LvDyHIFjK_W) zf!<-pB&n+u3SMpma2hVe;kX+;co6B+97PSJ-mwi6sK3HQ{E8X)$GM+Qqdw|0QFB>> z{7jKkUyB}1brS`>ScRHd9Uj9ASb?Kr?Ge{vE%jrlhQA^|)6a!I&Code{s;_GABVbM zjc(kFnt2W8U>*AD-&~=fnRKB-{2mF7@zBd6OhL_{0u_;J)bqPgGe3+9aiil^=kE`3 zH21qv1O0;hOdl7zFmA#e9!VjA!c@$`0ItJ@cmg$$cGTKFMRoKU8_>;kv~QYF?R-QH z=of0>J{DX9UFleb>SsTW!RC14uh3lQhB~^9YTya##kWrVJ0??iadRT3q9PJP#$t-` z6qY0V%k#6s{tJw0VDQrb1VR}&w{Y5LIzEoHX&P_}UPSHw$EZlgq}laCOs9SlEASH1PuTR^1><3X)KC&?5BO0p z1aUrYbL!_%5xR+b?geVVy^ejTC5htYEf_#8Wh3svZsce3GK|UA`LCp)V|N@|@G@3m z!FW3&Ey!d{1lMCHs(~ycxGGvJC5S0X|1H?Bg;73FQBz=d`gk^L5VMc^D!qnmR>V9v^L6DWB_< zvk9JzFvGOA&QjE{Tx4ybC^DPEN{T}?*-xHf-Ld}*s7U;+d3&AvIjF-ukn$+3ByS>X zC(I@fN?}t;ElAeMRveTR*dIv_l^lt$zWTQ)wO7HKjPedpoArTd^8S9C4LE7rVevCZMO|fZX#^{1| zLF*E8k*P78jW)@J3ma)%v=L_BpWpw-nzO#W&hPa5{mwbxbIz~(rEf~DcW(d7hEhw+ zBPM)}vG7>{zbH>##-!jNF2o6p!RTq;`?E2J>k6EM9XJ!OV?OrdTpY(p3<@$P0%LHx zx=NuEOv5Tn#f=z_tr&=>kUq@?)Iho%A7T{OAJL6JF%H9dnc6cj4A)=?mZRph8~HK& z>}#fah>AKojCw&EYKB+v81`W`X7Lt{{2Vr8H>v|ysJDZe$QVpKsy!7~<8r6H9sRjJ ziF(gjOrU>rg-RMeLXG@0D%HP{6qyCQZ6)TRX3&Bfa69V$_0mcViFgJw7b71~dyb z@MP3L>mA!r{hW_v{by6@r$MQCj_T+o>IENA4^BGQAzVar9gB-GAC-~4$e7FlJcCD& z{bqh(68iD71Wd#EScx@0EV-NfXVEZ3ubc1}7Go*X(9AF3MjXIIj9_bP=J}|ODlrd7 zP&0CqXJxbyb$=OZsgB@YYZ~*ndSy3FUlh(ZN?KCvpgmu>BuMn`CNH3YE?s zPNP07X~YIXM{AvS>EEKQuWhWNU8E!Nf2pM*nMfsy2#&0M=C-1ah`v}JVi%#Ezlu;< zOROi@C-(Q+AD0q#y0ow=VFX__v!$=!b>26)s%d{+i>IjdXk%Yt@K{(#-IRvJ=#bDq D$#ku; diff --git a/vibes_auth/locale/ja_JP/LC_MESSAGES/django.po b/vibes_auth/locale/ja_JP/LC_MESSAGES/django.po index 8b9e61b7..a2bd3865 100644 --- a/vibes_auth/locale/ja_JP/LC_MESSAGES/django.po +++ b/vibes_auth/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "追加情報" msgid "authentication" msgstr "認証" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "トークン・ペアの取得" @@ -117,7 +113,9 @@ msgstr "ユーザーアカウントの有効化" #: vibes_auth/docs/drf/viewsets.py:66 msgid "activation link is invalid or account already activated" -msgstr "アクティベーションリンクが無効であるか、アカウントがすでにアクティベーションされています。" +msgstr "" +"アクティベーションリンクが無効であるか、アカウントがすでにアクティベーション" +"されています。" #: vibes_auth/docs/drf/viewsets.py:71 msgid "merge client-stored recently viewed products" @@ -169,8 +167,8 @@ msgstr "トークンが無効です!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "このユーザーが最近閲覧した商品(最大48件)を逆順に表示します。" #: vibes_auth/graphene/object_types.py:42 vibes_auth/models.py:117 @@ -282,23 +280,23 @@ msgstr "ブラックリストトークン" msgid "blacklisted tokens" msgstr "ブラックリストに載ったトークン" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "アクティブなアカウントが見つかりません" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "トークンのブラックリスト入り" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "無効なトークン" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "トークンにユーザー uuid クレームが存在しない" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "ユーザーが存在しない" @@ -323,9 +321,12 @@ msgstr "こんにちは、%(user_first_name)sです、" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" -msgstr "パスワードの再設定依頼が届いております。以下のボタンをクリックして、パスワードをリセットしてください:" +msgstr "" +"パスワードの再設定依頼が届いております。以下のボタンをクリックして、パスワー" +"ドをリセットしてください:" #: vibes_auth/templates/user_reset_password_email.html:95 msgid "" @@ -341,7 +342,8 @@ msgid "" "if the button above does not work, please copy and paste the following URL\n" " into your web browser:" msgstr "" -"上記のボタンが機能しない場合は、次のURLをコピーしてウェブブラウザに貼り付けてください。\n" +"上記のボタンが機能しない場合は、次のURLをコピーしてウェブブラウザに貼り付けて" +"ください。\n" " をウェブブラウザに貼り付けてください:" #: vibes_auth/templates/user_reset_password_email.html:101 @@ -372,7 +374,9 @@ msgstr "アカウントの有効化" msgid "" "thank you for signing up for %(project_name)s. please activate your account\n" " by clicking the button below:" -msgstr "%(project_name)sにご登録いただきありがとうございます。下のボタンをクリックしてアカウントを有効にしてください:" +msgstr "" +"%(project_name)sにご登録いただきありがとうございます。下のボタンをクリックし" +"てアカウントを有効にしてください:" #: vibes_auth/templates/user_verification_email.html:96 msgid "" @@ -401,7 +405,9 @@ msgstr "{config.PROJECT_NAME}。| パスワードのリセット" msgid "" "invalid phone number format. the number must be entered in the format: " "\"+999999999\". up to 15 digits allowed." -msgstr "電話番号の形式が無効です。電話番号は次の形式で入力してください:\"+999999999\".15桁まで入力可能です。" +msgstr "" +"電話番号の形式が無効です。電話番号は次の形式で入力してください:" +"\"+999999999\".15桁まで入力可能です。" #: vibes_auth/views.py:57 msgid "the token is invalid" @@ -414,3 +420,6 @@ msgstr "パスワードのリセットに成功しました!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "あなたはすでにアカウントを有効にしています..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po b/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po index 41515f00..6a5e03cb 100644 --- a/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po +++ b/vibes_auth/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 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -49,10 +49,6 @@ msgstr "" msgid "authentication" msgstr "" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "" @@ -285,23 +281,23 @@ msgstr "" msgid "blacklisted tokens" msgstr "" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "" diff --git a/vibes_auth/locale/nl_NL/LC_MESSAGES/django.mo b/vibes_auth/locale/nl_NL/LC_MESSAGES/django.mo index d4d23a8e72fb94607bb2a567a52c9557c983b967..449d81f42cfc730aa3e49d6daa13cdbb6a364de8 100644 GIT binary patch delta 1967 zcmYk-TZq*~90%~p)^%Ooc3o3zy{7Hfddtf4lDX@ptnFe}>Q-6=U4+^oNFP!;Qe@~u zKB(OwB+?fjq*~}A1trvjkp%V71tqdDGU%y7k?8Y1=Linx_y5fN_x$HS^P8Eo`+EQF zshntU*jtnb#RT!^kWwoAWT=bs(Xdjc^J7lquk2t`Q|a2MzC0LSw< z+jxepY#v_9=)9^!rP+zJ8s;a0xJwHz~|HsS#eXm4dYK24u;#>G3!(2=$Kt?bdB z$lPDg20qEm{AqS^3uk(Nc}FEP`G!gHFO-_n=q-!b!OUPSlackz_a9?szKKckj=Bfx zfB&3g-T#&u=pXbc|G0QXX^`g1r7ELTrn8H)xrz(8jTy*cW^Io#FZ!J?vB7k*Z+0^M z{KgFEEHm&H3!Z`Y)m_KD=NXRU8*TER)V$|LUi1Oe!BOVHr@WbJx-s}X5rFN7Ze1#c!5VNMAGBZ8PEZtC}Oh?VUisP9~E@M)@fl2jtdZfJ1^z#)>pi-I)FT1goN$~_) zwlarF@lsCVBlJw!#w^L3%uEk6-#@|(^gHH7CpnYnIG5da?o)i2>Gvo*Gxbv{*^Mpk z4zQCOxSLsubF^PdyXmaU-rPCz%Wln0AiO^UMnm(AdjQw5h9|qFU~8y+hnCR#orRo>`)PqsS>* zAX=unq}(LBcaLhET)9GRkys|?2>%eOzX}&qF018U*Cam)zNUJomgH1TzZh|KDrt9# zEbRHRP^C|-7HdVe{{^K|9?>1!i`M9o>W`4qJc#dN@dQk7@XK}XY)x45>Ig&@%#$&vSKXC*H z4=!am$MCWY)vPi^!$MBwat`B84&;+GW_gC0$ibTL@lww}uz`PbJcsEl?XA3oi&)Q< z%$hdRU%9vXY^mE+GSI_J2fLUR9_Hih=6cT1OJ=^G+xY@BK;6*Z0Y=gs$^@o;Dmyr@ z*1ntlJwL(p^E4+LzZ_O+;rqZy9^p$c=oB>8Fp4 z&V)uW6Q9CNw5#SWW}E{f?Ee)i$2250rDA^+=k_x%`WC_yvR)OIB(!* z%;yF<^5$43(QzqrnM`%oo;Pu+=PoAoZ!%l>Zbc<4ILVp(sOEY4D=juI9W7=%H#3Lx z`C9wi%%1iz9e&QN{A;G)@0r{4Gph?^zTYJ6kFnCB(xvhavx2emn?u>k%=9R8T2C;i zyN5~j8D?+4WmY`VEVG5vn0{vRS}tKSx{XQwvrNX1(pM|x3zc;A8?%Dxrk6w6#-w^F zZDZNMr1~K?avy!Ayv}URhs;X9VLpGBndm<>P^oufTiC?eT*GZy>QgG|_*dpo4fl{k zIfvW1f?Ii<*^(y9aDGZVH|Kq3z&DupPjC)TGZ`2(t~YbjDf^|J`P>?gPO2YJ(RbOy ziF}z;c#=u&S>_ABb3f}XHyJv_T%%W*0Z-8yO20-|kjAf;wO-eV+r_Qo4v{ifjFp}0 z@APE0i~R7U%ooiE`wSdk$&?m|oZlJ3KZtU@=qEB<%3_h^=ZH-gDVb7=SywkGOG!yi zvauJ+jViZ^bz*~u8wN0_a5G*zO43qfn5BQl_DGNs#Z^C z_U_`c+CvV=owdfCfgF@uM6T9Ny%$1F$rYGat@&|auEzh%CJouY9P>_*!_+EPiJb7< z%SLgxST7celqKS3F+t>@\n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "Extra info" msgid "authentication" msgstr "Authenticatie" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Een tokenpaar verkrijgen" @@ -173,8 +169,8 @@ msgstr "Token is invalid!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" "De producten die deze gebruiker het laatst heeft bekeken (max 48), in " "omgekeerd-chronologische volgorde." @@ -288,23 +284,23 @@ msgstr "Token op zwarte lijst" msgid "blacklisted tokens" msgstr "Tokens op de zwarte lijst" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "Geen actieve account gevonden" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Token op zwarte lijst" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Invalid token" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "Geen gebruiker uuid claim aanwezig in token" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "Gebruiker bestaat niet" @@ -329,11 +325,12 @@ msgstr "Hallo %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" -"We hebben een verzoek ontvangen om je wachtwoord opnieuw in te stellen. Klik" -" op de knop hieronder om je wachtwoord opnieuw in te stellen:" +"We hebben een verzoek ontvangen om je wachtwoord opnieuw in te stellen. Klik " +"op de knop hieronder om je wachtwoord opnieuw in te stellen:" #: vibes_auth/templates/user_reset_password_email.html:95 msgid "" @@ -381,8 +378,8 @@ msgid "" "thank you for signing up for %(project_name)s. please activate your account\n" " by clicking the button below:" msgstr "" -"Bedankt voor het aanmelden bij %(project_name)s. Activeer je account door op" -" de onderstaande knop te klikken:" +"Bedankt voor het aanmelden bij %(project_name)s. Activeer je account door op " +"de onderstaande knop te klikken:" #: vibes_auth/templates/user_verification_email.html:96 msgid "" @@ -426,3 +423,6 @@ msgstr "Wachtwoord is succesvol gereset!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "Je hebt de account al geactiveerd..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/locale/pl_PL/LC_MESSAGES/django.mo b/vibes_auth/locale/pl_PL/LC_MESSAGES/django.mo index 387a0474bcda0cc43fce22ade0131574bfd47fe8..dd7ecfac384984cb4063e9f212323fa21a458529 100644 GIT binary patch delta 1967 zcmYk-TZmOv7zgmBjiZiE<0UgSoiWX9yyPt}W#gFF)H0iN%oHpNDbgaW9#W1Kk@`|0 zQ9?b07(pP|(8UO%Ai6wcLBveNtVolP_*>X)7e3P9VF{pRN+qvC%H*@0)^j9u16w{>tB8Oi}8Txps}tP@Psz;&iU#0`6fJ@)@(YKQI%W|maXy_8fr%$59z zSx7g{Q6@U_x@9g?q1DVnwsAS1q8!R6%ocu2$EzH#>CDvmxpJ@#OQvm1sX95GFESY% zrH_{5%#F@6mAF{>XXQW4_qv%wJx#s$aV59%C+1AlW}EG4okdIrA2Jzz!yJ;6RITzG z+jxn|Y`z1Lty|0+xSW~rF(%`;IF4tk>)p(rPqUg;Tt*A1mDhSZb>&y)f(OOD3Gtnq%ws2Nu2eYu9%=>$o`y6EE>0-WroXvUu&+ANKLvwG* z=Q1l?!p+>kWY)zTy018i=a?HdwUp9_*8P9GS8uhrORTG|-pa)yRmpu8h{o()+U?@z z14HYZYvc76iX|csiGK(^J9`zg?zHjt;MXQwuj24OHoSjZfo^3t7-hV6i>#wNBm&qwfyIaf_InFszspXYztwA=Xqq;be zseg{`p!@?0JIn_@|k;r{yO)=WR{b*ZueR?Rv1`y}@0LBbN{S4}*-N+W-In delta 2020 zcmZA2eN4?!9LMo9=*lfm#HCtn{nfK>+e{Ic~?|q$fZudNV&-wk__V#%F?_D9645gY# zBnEGLspt5a*zFP>)*hG1T9mLS^70D%Ce^yX^1ZVI2Ma zs7!>CUaH20e&#T4DlwReX}A!xunzOF4YiOrs5AbGnka;AG@=`QcoQ{_gM-$B;!q1u zMJ;rP?NQV`&C#6yI4YfVC^g-viC&`y_=Ni5Z@V2qV?6CiI1Teq8QF}i$!x_n87@lffKO;H#j(Q7x|w_$1`S~fqyU=)7geB#a!HndOEHnn>1ax9ABXp63>-q zF5^YIOgSn;J5dX1z@>N|*^B8x9pOhm74Dbm!)*L%o5F!M;wiqIS@Y{Hf_f zovDK~YQRWTMq+H^ZQZEfdr+6V63?Q4Kb0CPgQ$V3ne`y\n" "Language-Team: BRITISH ENGLISH \n" @@ -46,18 +46,13 @@ msgstr "Dodatkowe informacje" msgid "authentication" msgstr "Uwierzytelnianie" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Uzyskanie pary tokenów" #: vibes_auth/docs/drf/views.py:16 msgid "obtain a token pair (refresh and access) for authentication." -msgstr "" -"Uzyskanie pary tokenów (odświeżenie i dostęp) w celu uwierzytelnienia." +msgstr "Uzyskanie pary tokenów (odświeżenie i dostęp) w celu uwierzytelnienia." #: vibes_auth/docs/drf/views.py:35 msgid "refresh a token pair" @@ -174,8 +169,8 @@ msgstr "Token jest nieprawidłowy!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" "Produkty ostatnio przeglądane przez tego użytkownika (maks. 48), w " "kolejności odwrotnej do chronologicznej." @@ -289,23 +284,23 @@ msgstr "Token na czarnej liście" msgid "blacklisted tokens" msgstr "Tokeny znajdujące się na czarnej liście" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "Nie znaleziono aktywnego konta" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Token na czarnej liście" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Nieprawidłowy token" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "Brak oświadczenia uuid użytkownika w tokenie" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "Użytkownik nie istnieje" @@ -330,7 +325,8 @@ msgstr "Witaj %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "Otrzymaliśmy prośbę o zresetowanie hasła. Zresetuj hasło, klikając poniższy " @@ -413,8 +409,8 @@ msgid "" "invalid phone number format. the number must be entered in the format: " "\"+999999999\". up to 15 digits allowed." msgstr "" -"Nieprawidłowy format numeru telefonu. Numer musi być wprowadzony w formacie:" -" \"+999999999\". Dozwolone do 15 cyfr." +"Nieprawidłowy format numeru telefonu. Numer musi być wprowadzony w formacie: " +"\"+999999999\". Dozwolone do 15 cyfr." #: vibes_auth/views.py:57 msgid "the token is invalid" @@ -427,3 +423,6 @@ msgstr "Hasło zostało pomyślnie zresetowane!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "Konto zostało już aktywowane..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/locale/pt_BR/LC_MESSAGES/django.mo b/vibes_auth/locale/pt_BR/LC_MESSAGES/django.mo index 8528e6bdbbe84f0dc6a7d2da5ab6491aa72665d6..8e121b4e736fb98b93252a5d55793ff1ea0e6fc0 100644 GIT binary patch delta 1967 zcmYk-TZq*~90%~p)^%OoTs1APn|WzdGuy0n^Rk+jwpN?fdP#i<%IsnfVLhaBRw5#c zBBdmI3Na!=Fd<3`if+_{1U-}w3R#l0i9{tB6@9*EkKnL#KJ%Y*&Rl-KnX`X&e%4tz zKBDf`qTHvBSAQE&N`)T{^rCz)sFdmakdyf{$FiZJ|MQbM$MYhN;gcN2m)Xw!9LHm9 z<~a^y&FhY~g>k{)q-{@;sZ_ z%R>4qOKZ>Ftj|_^H1fsu%+9uPJNIxkM-Ay;@n&xJyqy`ikN(OzFXk)*hxYdmW2ff{ zO#cSf@gZjCk8v8eai;mpK8@_;TPDOOC^V(sEb}>**}-ZiA{&^`Kfvt#DJI0v*W6!w z|5J|E{~fc?U+J%$^XseP)1fm@giyJ)hy_o(Jfh%5h9Y7SmeF zGCs#ubiT@Qw(=Jy)XfH+z;>>=NXmJw=K~|f{~C?sX3x%s+D6VmD`#^F^TjQ+hO&zb zxsO-!1hepgj(iq4hPg#;Ozyk6m}{AZzQLsM9VR6QD;inJ$2CvWm}P>*X_hu#$K^~e zpZ1aoUttE?&*b!7CL)Jx{hx4#=dYO5{lO>LB<^e2OTj6XqZ&Ij`Y3H>vu$L+?aT^a zU{=0|$?03n&VFJ-eVQ5QEN8L7Y)jbAiQLKs+)HaHKX56}&;}}Hj(F#O&tnE!!i2hq zS8*eAD_&v-c#lcd*USP>*7|>EBGcea%`%>eTsxD>hj|D0GM_ueDY^guXk_3?61SFf z`3QG0srZ-9OBvxH+`_3$Y93|Y-@&BtHBRA|Ol10)asOlshX_ZUK|_`moNWHGNu!-F zGNJvPneYfV@kb^iUA~$Zs9coif zamqaP>fOWZTPl;Z=BvqK0_Pt>HM18p)1}<4CTTO(>^)^pKh^tU#nm6%bmamj;OEOt z8eM9Sx>{{hFDR925<2zd*d@>@a#X!|X(v|qs>||lK}k$flI82wBqwo8EH5nG9-P*4 zPpvaC&0V=w9g?$_^Lf4`A#-aF%b7b;cE4Fa^8Qwh{F*INU7qUi$eql!%vF??>Q!6C t1!~I8YR=FVYR*QTnnRkBL!Oe`my2-wp)UsQ9B^n|p3{C119(1$ z>gN%EGw(yCdKgKOnMrR2n1fnD3u?j#QJ+78%D{P4s&6?ybKd`i(X{_S zWg>|5QZ*51F@|wdnT+X}f{QT&n=lWrq9*bdwa4F30|l^*6X?b&yp8I|kB!!ZqEQo1 zMoo0L;{nt-Z4=r57%H7KC^bE(f!?4x_=5W4fb$&2!xWxpU;^f%GE#%g$?U|F*o>Sv zGl)qzhRzZ(4dbv3EB)B=2=bpv!)r!O$3fJ}l30e$Kq=0}t*9@aL*`=cVG%yTnK+D^ zcsxg66I_70OhK+EZ+lUh>2unDVk*xAs4Yw&?agR;s8mvUfMm;rG5w<$his?0j_U9}YNC%& zD|m(4+xMsyM$xNM?n3pGgc+ERORyei;9V@lZe%W&2_?^^G{mD;up4#Xn@}CKqEdbm z=U@lwc05HoFrQIdHiVjB3=e9bh00Jq@|N+UGFXq=(kr-DKXu(y^ubs*Y&K?~Iw->} z*nkcA9JM8x90bmfDaEB&f!cy=sP}!St$c~Vvj8tDcX-br@j((MgA|rU5=z3y83ec#P!SIA%ClB=`; diff --git a/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po b/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po index 17d946b4..a1cd0796 100644 --- a/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po +++ b/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "Informações adicionais" msgid "authentication" msgstr "Autenticação" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "Autenticação eVibes" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Obter um par de tokens" @@ -170,11 +166,11 @@ msgstr "O token é inválido!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" -"Os produtos que esse usuário visualizou mais recentemente (máximo de 48), em" -" ordem cronológica inversa." +"Os produtos que esse usuário visualizou mais recentemente (máximo de 48), em " +"ordem cronológica inversa." #: vibes_auth/graphene/object_types.py:42 vibes_auth/models.py:117 msgid "groups" @@ -285,23 +281,23 @@ msgstr "Token na lista negra" msgid "blacklisted tokens" msgstr "Tokens na lista negra" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "Nenhuma conta ativa encontrada" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Token na lista negra" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Token inválido" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "Nenhuma reivindicação de uuid de usuário presente no token" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "O usuário não existe" @@ -326,7 +322,8 @@ msgstr "Olá %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "Recebemos uma solicitação para redefinir sua senha. Para redefinir sua " @@ -423,3 +420,6 @@ msgstr "A senha foi redefinida com sucesso!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "Você já ativou a conta..." + +#~ msgid "eVibes Auth" +#~ msgstr "Autenticação eVibes" diff --git a/vibes_auth/locale/ro_RO/LC_MESSAGES/django.mo b/vibes_auth/locale/ro_RO/LC_MESSAGES/django.mo index 6ed1e81cfcd3ebbbb9be7e1a9ab10a4e93a82b14..434747fbeeefeddc3ec0f44154a36594cecc6ad0 100644 GIT binary patch delta 1966 zcmYk-ONfJ!rN&POc+ox{Sjr3@;S~PJ@fMb z@EnJ;`Jz%rWvcNmn%$VqnQZ4UKENjKpgGHv%tCfo9%76BNsi=MPU64S{fP!0sy~O> z%Od(K%c}lbHf5_DT;z*en4Rt9F22Gpjv3sy;%;{9?_vf%OMm5@7ju>YL;CIy=VJW{ z%>AuwTq#XgfJKdzf*4 zVit6sS@=)|&q7yLZeiwmm>2Wa5%QnZeCS3dI?N3474yZ@RsT0$qTk@=RJJl1>7=!k z<$R7C>3o%5PUp`|sz(@f0^7Lh0ww26{X?VVKd1MU*|W3Zwvi9c-Qt?_pB^I#a^;n6uGSb1~1wvC2P~noaeR0Xuj#H!vmG zUESZu40M>*P>wN~JkC5V-!diqjyc@p3?F zJPl^gPKGf%Ud2qfjjB`bV^X?Z) zC-NjO=ReG$X;mj{D)X2HuA-!sE@olfOwDV&k?%02{GRJM+OJ&3-_B`y{-1DR?6RLv z@hH35?jU5scj>&8&zO}Tr_GcJRwuiqjqO~+EBQRLun(B;f5OXnf;qf@GT(2Np6TW< z*STopHYU|CGXuZHXLy9!*@DS^1FU9F_an?euhF5d|9qp~ZufedSRvNc@0f?3;(C#V zWYI&D+O!4Ys=X~ulWJLOhqy`15&j|6e-$od@|2cD=9tYA*NC+Febk>HTde0Gw^EE0 z_WzcmB##?JmzXR1wOZM%w^-yDrm|^@S3gF%POk10%hT!ClKiyQBF|Kwi&Q$r>)+Pu z#WgeQc_synJ_of6h#1fG@=P_L)a+veuq-tf8 t*eDi?w58%^F$a-er?^MAjKqBZ~k delta 2020 zcmZA2ZD^Hc7{KxS%(>HEw6$`+&YjJ)JbTI4&FMBhE>p|Yv~)Qnr%cq?2iq1dv?npG z^h3}P776Q1`ZX96^n(!uO|b?-QBZ>ljYP2z5;URu|IZ#_bmO(({oFgdU#{zZju$hd znP{{m_iUiG5p#(9IUz)NeKJ32!^sfRcopa2eVm0e9vT1qQe4LKR-B0^aT*R_Jr3b) zyo<${pC7`bI13+lsWhDe2AZ)7H{w+6!908ySu>nLH_{h-1s~)24=lk4SdLSf%<)>B zf@`o4H=}3Th5QS9vdkUfM7 zbi4{zV?#XNi@7|XK<9ZM7qEWlr&EnzpgX^VrurWwMWK?}8nF&NK^MB=Ui9Ik|+(Q5G@A$cphZ#K2#rar| zW@ITA>Er;A->^wW1s8!X`Y5rv5To!r_RHmu3W);*YUYD3~?N@WTmP zu?7#LB^ZduFQGNPflfGz>?zztGdhO8J^!MmOpqtH(0c?OQ7sk)Ay z_(CpB6MSC(b`|YmG~`M(tN({w)s`pNXG>} zL_hc`vR3#S-^O3D6Wh5EE;xeRpYS`n@iF9ZVI8|8%i%Tj#BbtL_&K_>?Yz_Vllyg5aAhO5L;cGCV^=(N`j@B^XEwr#UN|OC30n*C98p17Z(k>GYBpU@W;^5Wq{V-6a42~?r(nmyy&YYtOi%ZL S!KQ-VqQZ^|14E^Wg8u*=H>l$P diff --git a/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po b/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po index 47e8ba7b..b28bed23 100644 --- a/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po +++ b/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "Informații suplimentare" msgid "authentication" msgstr "Autentificare" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Obțineți o pereche de jetoane" @@ -173,8 +169,8 @@ msgstr "Token-ul nu este valabil!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" "Produsele pe care acest utilizator le-a vizualizat cel mai recent (max 48), " "în ordine cronologică inversă." @@ -288,23 +284,23 @@ msgstr "Token pe lista neagră" msgid "blacklisted tokens" msgstr "Jetoane pe lista neagră" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "Nu s-a găsit niciun cont activ" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Token pe lista neagră" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Jeton invalid" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "În jeton nu este prezentă nicio cerere uuid a utilizatorului" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "Utilizatorul nu există" @@ -329,7 +325,8 @@ msgstr "Bună ziua %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "Am primit o cerere de resetare a parolei dumneavoastră. Vă rugăm să vă " @@ -349,7 +346,8 @@ 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" +"Dacă butonul de mai sus nu funcționează, vă rugăm să copiați și să lipiți " +"următoarea adresă URL\n" " în browserul dvs. web:" #: vibes_auth/templates/user_reset_password_email.html:101 @@ -426,3 +424,6 @@ msgstr "Parola a fost resetată cu succes!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "Ați activat deja contul..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/locale/ru_RU/LC_MESSAGES/django.mo b/vibes_auth/locale/ru_RU/LC_MESSAGES/django.mo index 4b6d34f8fa0cb9cb2473c760913f2e0097efe621..1661d369af5a3e3978657b647147c00795acaa09 100644 GIT binary patch delta 1967 zcmYk-TZq*~90%}mT~}LMS6$b46?OV!Ze#UV;$r0?=ujl*YI8(co!}%1O`376Kmm_(M z19^^(tiPm`rVKSgrC!H0Uc=cOz(-ieCuz*Gg_+0;Rrhg__Rk#5(;UqU)&46yv_X41 zvzB@ED(%&F2kWxb6)O3|HO$JkavS%slg<5mX1swLw6`%2K25K3&YLkypG$lC8#!Nl z6w}|uT0X|C{Bcg;R!%W~c~2!PIl`p)1f{0b8D$PfFe~U}GSbC-|6yk3Pctcgwd&sL z=U;KC{_mNIo}yPd>&+0QR+_tqs0>n>%n6*vWt`3DnTZ@=_VzF{&~JQ+wU(1}vx9lg zFU*9_GZSyH;hE^-s%w~WHu5sQJy8CWnh$kkppTgc9Af_PShf8phiTX7yow{4j4YtJ zl!e^Rm2|$!aZco~OsWTZ=qR>uRWDo4McVtC7`=BF{7U0LSu8nsfPx&+#C0yV@-~sb5=lW4Fq39b0%e4>J!OYq@i|n0N3M z-oPK3&l~K=m7K+#iB9Ih_g7udJog!9;@|Kn&+}y-anjAbba&d&11cMsy`5;9vQyfb z)OIo}d6ai@bG85Lsz;eEImu+CUY=iM2V40ASF`yFr=6R)j_=TOyGxC`mzg)wtBmoM zm9=svAL4b~!|drHj_2RBJ7w6Ip6^d(7SO>Qvh`fa-ON^=;V#bhaC0i(vMu-jjLIY( zGi=-;u4Ym-!Cg$M|D{(MZ`9Yhh?&SyW=k&cLC%tfo4A{HseH#w{1k8HC?_!sTE}^O zi*t-$ep2b;5ToS}pP94!_rM5joOE-KySUak2e$FI5iN!FjFrL>59#KJT#D$-Obxi8m?oQ@pb z!Q$f5p^-f2zNOf|%732Q*gsp{p5AK7FZhks`XV-_zVqF>rnO0Z4qB^lYs*xT8&W6w zh-~31kwZ9Fq}(EM7RHF7qE_U0BgMd#;@7$Ilj(086{LEDzW~7muf~2 zjirmgpbPZS)7VQ7TfIa{K_vB75P^_%0Ta^7>ht~W_b}+-+2@?I-_H4-^F6P5;uKtZ%DNYQ#d%FeW(4*x_0BaF9E=*entGD?G>n#sa02Mi;1}7}8wE_(+)tTz4|<0MKPuV$)b!5XPX<7O^o16Okq53-4GF#`FPk>g8@g^F$CBx|^v?=$8p zlIRGinh|(CBhdZ1M;Yt%PLcmxG=>bs(R|5R=xfFV7a4zeE$^4>Ow*su+qs-^BHa{I z+RK;tEZw*CC-3BVlhttnXR(tzi=@2L`L`K3Z`Fr5RrqW82=C%MjPVOx&pEF4B0kO| ze1mIQ;e794Cl~X1*78G&J$=O&_yglD+hf;p@;!yT(aR14XV}S0j0soTZVUHw6W`@B zUS|BhUOpnHTRE5AjJr`_EO08fk1_w-j1BzGZ{oRHSN)X6RoYA{NbE=KXXJQ`aGh3q zigCmR#*SWNJJ03gzvf?77%+4--Aq{BkHSj58;s)W@#|qZ)!re=u@i zC2{rK#q&JQII4Ez4p+01|0&1S2`AHGSOOoRM@7Z^M1vFb(+FfQvwMj+LqFJf#eO5CTdYCQX(+Mz~? zU}s5t_MNt77H#Y-N(9o-S5z{mVEfq>T+6uITDEEw#jMiRA25m#Sk*-{#T@g;oP``{IU1amli8YqalGx2bK>8B^jYqQotY zi{ll}E?6bUmMuDQ%n#>-(v*FU*E3!%xr!`}miWLo\n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "Дополнительная информация" msgid "authentication" msgstr "Аутентификация" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "Получение пары маркеров" @@ -123,8 +119,7 @@ msgstr "Ссылка на активацию недействительна ил #: vibes_auth/docs/drf/viewsets.py:71 msgid "merge client-stored recently viewed products" -msgstr "" -"Объедините недавно просмотренные продукты, хранящиеся в памяти клиента" +msgstr "Объедините недавно просмотренные продукты, хранящиеся в памяти клиента" #: vibes_auth/graphene/mutations.py:41 msgid "the user's b64-encoded uuid who referred the new user to us." @@ -174,11 +169,11 @@ msgstr "Токен недействителен!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "" -"Продукты, которые этот пользователь просматривал в последнее время (не более" -" 48), в обратном хронологическом порядке." +"Продукты, которые этот пользователь просматривал в последнее время (не более " +"48), в обратном хронологическом порядке." #: vibes_auth/graphene/object_types.py:42 vibes_auth/models.py:117 msgid "groups" @@ -289,23 +284,23 @@ msgstr "Токен в черном списке" msgid "blacklisted tokens" msgstr "Токены, внесенные в черный список" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "Активная учетная запись не найдена" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "Токен занесен в черный список" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "Неверный токен" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "В токене отсутствует утверждение uuid пользователя" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "Пользователь не существует" @@ -330,7 +325,8 @@ msgstr "Здравствуйте, %(user_first_name)s," #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "" "Мы получили запрос на сброс вашего пароля. Пожалуйста, сбросьте пароль, " @@ -350,7 +346,8 @@ msgid "" "if the button above does not work, please copy and paste the following URL\n" " into your web browser:" msgstr "" -"Если кнопка выше не работает, пожалуйста, скопируйте и вставьте следующий URL-адрес\n" +"Если кнопка выше не работает, пожалуйста, скопируйте и вставьте следующий " +"URL-адрес\n" " в свой веб-браузер:" #: vibes_auth/templates/user_reset_password_email.html:101 @@ -426,3 +423,6 @@ msgstr "Пароль был успешно сброшен!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "Вы уже активировали учетную запись..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.mo b/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.mo index c21989aee0fe6289e59cd1ed20e2da7ff6468d45..d7c54350d7f1a886a2d0ca5c9e6f667a5ddd02af 100644 GIT binary patch delta 1967 zcmYk-Sx8h-9LMpKjib5b%vg?DX=P56TG_5yT2t9#W}8~3MNrg38MHy9+-RZgA!tE* z3M(NfqA=RHE8Lf)4Y)pL5PV_ujMJJEuxNEO4R$&s9UJ zC&m%q;*4>yGoAzKNrEx?_!M)oAG0tqG1fj8=TKgZWAHGJ#)~)~+i@)Rp$~sy8YYb} zCS8xpB9lbLbS%IU9ErQoi-(YBnq#ProV4CUKjmHw;2`GUkgd<=rm2*RP-7`WerB01 zSEE-$ts$ce8&D%_#ujYFIvkxG>+wF^N4W)c<3Z$SesSQLCO#!rpN8d>$D`^S(Sy5D zBj1Z5Y{o*KZ*G#&NZz2P_#-kk#>-O{Visxyb*LF>M77_E8u<~_6rZ!U+w)zRLH%1) zM+cCf`N4rl7!T9zj3VPFlaC>sj_a`mkE1&B47IkeQ4jixr_sZ3v~SL%?(-Sdq2H*E zr?TMc=xS>N>N!mq#A`n0UsLmd3O(o%>IU7Y3;S&OJ7!XjqcRW2qGn_X(igJ=&tNUG zzf2Uv_ysl9K5jZ5=VSdamK=4T`{~U8WHRq~x<>W~)qx!Ya6m=h`jD^@krV>^05Y@vj)JR_1aukaxe?_CY1sDX8(_QreUddCFWS-Md+szDyABXdzVjv#GKjjeA&wL6Bo?t-nq zWW8?B-^D4M??f$SKhDDp-f`W(3N!Wo*OOs+%t2g-XK@wwq8jEhkFp3$aS^HmM^PO+ zhtu!|s>5$k9s7i8H-KvQ+n!J7Gplk41A70<$#BkWKwa2`df;JPizjTk2WL@^ViEdT zSO#Sx$fkBb-{2+|7;*1I*aeYS+WWltf;Z6p_-S)0>C>;I ZPqd#{)A1tVd|b!Yq&vwSfs6wQe*uXPoX7wG delta 2020 zcmZA2duYvJ9LMqJ>~an}F56+ln6nMT*_qpB9J^p<%T1RZT{h=&O zND_Z2HJ$d)%Iz9pR%B+60r;V<;#C>m4!EF6hT(2G^5In^Qm z%r>XYRQHlmM+Z<1w4i3#g>4wYTAWKO8u>}whZj*Dct#9%kc^DMWT5J^aWRH${b7uw zd<@mj3CyB@(?uqT_faGNgj(v~$P$@MS}VkS)C`(X13rv;{s?LX&Z3t3hV`NS{SBs2 z{{^)YZkCs<@nM)gOgfpdn1cZScSK2c>w28cC(># zFoaCbG$M!F*=I28h&9A&VimELP|7FLn4EJ@XW=437mrdQ5$JTe{ozb$TT;@+ lokUbddOW9M5;pGH-q4i3wE58PNKwLVueV`HMKrm|^9M{wpql^y diff --git a/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po b/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po index 983e5075..b7a5db41 100644 --- a/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po +++ b/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-21 16:40+0100\n" +"POT-Creation-Date: 2025-06-21 22:42+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -46,10 +46,6 @@ msgstr "其他信息" msgid "authentication" msgstr "认证" -#: vibes_auth/apps.py:10 -msgid "eVibes Auth" -msgstr "eVibes Auth" - #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" msgstr "获取令牌对" @@ -169,8 +165,8 @@ msgstr "令牌无效!" #: vibes_auth/graphene/object_types.py:40 msgid "" -"the products this user has viewed most recently (max 48), in " -"reverse‐chronological order" +"the products this user has viewed most recently (max 48), in reverse‐" +"chronological order" msgstr "该用户最近查看过的产品(最多 48 个),按倒序排列。" #: vibes_auth/graphene/object_types.py:42 vibes_auth/models.py:117 @@ -282,23 +278,23 @@ msgstr "黑名单令牌" msgid "blacklisted tokens" msgstr "黑名单令牌" -#: vibes_auth/serializers.py:108 vibes_auth/serializers.py:130 +#: vibes_auth/serializers.py:112 vibes_auth/serializers.py:134 msgid "no active account" msgstr "未找到活动账户" -#: vibes_auth/serializers.py:201 +#: vibes_auth/serializers.py:205 msgid "token_blacklisted" msgstr "令牌被列入黑名单" -#: vibes_auth/serializers.py:206 +#: vibes_auth/serializers.py:210 msgid "invalid token" msgstr "无效令牌" -#: vibes_auth/serializers.py:212 +#: vibes_auth/serializers.py:216 msgid "no user uuid claim present in token" msgstr "令牌中没有用户 uuid 声明" -#: vibes_auth/serializers.py:214 +#: vibes_auth/serializers.py:218 msgid "user does not exist" msgstr "用户不存在" @@ -323,7 +319,8 @@ msgstr "您好 %(user_first_name)s、" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" -"we have received a request to reset your password. please reset your password\n" +"we have received a request to reset your password. please reset your " +"password\n" " by clicking the button below:" msgstr "我们收到了重置密码的请求。请点击下面的按钮重置密码:" @@ -401,7 +398,8 @@ msgstr "{config.PROJECT_NAME} 重置密码| 重置密码" msgid "" "invalid phone number format. the number must be entered in the format: " "\"+999999999\". up to 15 digits allowed." -msgstr "电话号码格式无效。电话号码必须按格式输入:\"+999999999\".最多允许 15 位数字。" +msgstr "" +"电话号码格式无效。电话号码必须按格式输入:\"+999999999\".最多允许 15 位数字。" #: vibes_auth/views.py:57 msgid "the token is invalid" @@ -414,3 +412,6 @@ msgstr "密码已重置成功!" #: vibes_auth/viewsets.py:121 msgid "account already activated!" msgstr "您已经激活了账户..." + +#~ msgid "eVibes Auth" +#~ msgstr "eVibes Auth" diff --git a/vibes_auth/serializers.py b/vibes_auth/serializers.py index b7b0adb6..ad9fada6 100644 --- a/vibes_auth/serializers.py +++ b/vibes_auth/serializers.py @@ -96,9 +96,11 @@ class UserSerializer(ModelSerializer): Returns a list of serialized ProductSimpleSerializer representations for the UUIDs in obj.recently_viewed. """ - # noinspection PytypeChecker + # noinspection PyTypeChecker return ProductSimpleSerializer( - Product.objects.filter(uuid__in=obj.recently_viewed, is_active=True), + instance=Product.objects.filter( + uuid__in=obj.recently_viewed, is_active=True + ), many=True, ).data