diff --git a/engine/blog/locale/ar_AR/LC_MESSAGES/django.po b/engine/blog/locale/ar_AR/LC_MESSAGES/django.po index e2b5bc92..617fe93f 100644 --- a/engine/blog/locale/ar_AR/LC_MESSAGES/django.po +++ b/engine/blog/locale/ar_AR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/cs_CZ/LC_MESSAGES/django.po b/engine/blog/locale/cs_CZ/LC_MESSAGES/django.po index 931e9fe3..1c0926a6 100644 --- a/engine/blog/locale/cs_CZ/LC_MESSAGES/django.po +++ b/engine/blog/locale/cs_CZ/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/da_DK/LC_MESSAGES/django.po b/engine/blog/locale/da_DK/LC_MESSAGES/django.po index 60a9bbb4..0d9c5206 100644 --- a/engine/blog/locale/da_DK/LC_MESSAGES/django.po +++ b/engine/blog/locale/da_DK/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/de_DE/LC_MESSAGES/django.po b/engine/blog/locale/de_DE/LC_MESSAGES/django.po index e9226487..3ee3f09e 100644 --- a/engine/blog/locale/de_DE/LC_MESSAGES/django.po +++ b/engine/blog/locale/de_DE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/en_GB/LC_MESSAGES/django.po b/engine/blog/locale/en_GB/LC_MESSAGES/django.po index 9136fd88..281fee53 100644 --- a/engine/blog/locale/en_GB/LC_MESSAGES/django.po +++ b/engine/blog/locale/en_GB/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/en_US/LC_MESSAGES/django.po b/engine/blog/locale/en_US/LC_MESSAGES/django.po index 5a5948ec..e69a1214 100644 --- a/engine/blog/locale/en_US/LC_MESSAGES/django.po +++ b/engine/blog/locale/en_US/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/es_ES/LC_MESSAGES/django.po b/engine/blog/locale/es_ES/LC_MESSAGES/django.po index 2f8d4a34..95272256 100644 --- a/engine/blog/locale/es_ES/LC_MESSAGES/django.po +++ b/engine/blog/locale/es_ES/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/fa_IR/LC_MESSAGES/django.po b/engine/blog/locale/fa_IR/LC_MESSAGES/django.po index 13a479a8..df59490d 100644 --- a/engine/blog/locale/fa_IR/LC_MESSAGES/django.po +++ b/engine/blog/locale/fa_IR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/fr_FR/LC_MESSAGES/django.po b/engine/blog/locale/fr_FR/LC_MESSAGES/django.po index 92f2afbc..a0d667b4 100644 --- a/engine/blog/locale/fr_FR/LC_MESSAGES/django.po +++ b/engine/blog/locale/fr_FR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/he_IL/LC_MESSAGES/django.po b/engine/blog/locale/he_IL/LC_MESSAGES/django.po index 949ec0aa..2629e684 100644 --- a/engine/blog/locale/he_IL/LC_MESSAGES/django.po +++ b/engine/blog/locale/he_IL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/hi_IN/LC_MESSAGES/django.po b/engine/blog/locale/hi_IN/LC_MESSAGES/django.po index ce840d84..d87e65d4 100644 --- a/engine/blog/locale/hi_IN/LC_MESSAGES/django.po +++ b/engine/blog/locale/hi_IN/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/hr_HR/LC_MESSAGES/django.po b/engine/blog/locale/hr_HR/LC_MESSAGES/django.po index 13a479a8..df59490d 100644 --- a/engine/blog/locale/hr_HR/LC_MESSAGES/django.po +++ b/engine/blog/locale/hr_HR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/id_ID/LC_MESSAGES/django.po b/engine/blog/locale/id_ID/LC_MESSAGES/django.po index 20501425..332f03bb 100644 --- a/engine/blog/locale/id_ID/LC_MESSAGES/django.po +++ b/engine/blog/locale/id_ID/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/it_IT/LC_MESSAGES/django.po b/engine/blog/locale/it_IT/LC_MESSAGES/django.po index b028a850..601c0d01 100644 --- a/engine/blog/locale/it_IT/LC_MESSAGES/django.po +++ b/engine/blog/locale/it_IT/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/ja_JP/LC_MESSAGES/django.po b/engine/blog/locale/ja_JP/LC_MESSAGES/django.po index 2d4ee6fc..6e8386c1 100644 --- a/engine/blog/locale/ja_JP/LC_MESSAGES/django.po +++ b/engine/blog/locale/ja_JP/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/kk_KZ/LC_MESSAGES/django.po b/engine/blog/locale/kk_KZ/LC_MESSAGES/django.po index ce840d84..d87e65d4 100644 --- a/engine/blog/locale/kk_KZ/LC_MESSAGES/django.po +++ b/engine/blog/locale/kk_KZ/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/ko_KR/LC_MESSAGES/django.po b/engine/blog/locale/ko_KR/LC_MESSAGES/django.po index 4e35067e..4b15e3d2 100644 --- a/engine/blog/locale/ko_KR/LC_MESSAGES/django.po +++ b/engine/blog/locale/ko_KR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/nl_NL/LC_MESSAGES/django.po b/engine/blog/locale/nl_NL/LC_MESSAGES/django.po index 46306ef7..73dcc60f 100644 --- a/engine/blog/locale/nl_NL/LC_MESSAGES/django.po +++ b/engine/blog/locale/nl_NL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/no_NO/LC_MESSAGES/django.po b/engine/blog/locale/no_NO/LC_MESSAGES/django.po index ad26b744..963d20a5 100644 --- a/engine/blog/locale/no_NO/LC_MESSAGES/django.po +++ b/engine/blog/locale/no_NO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/pl_PL/LC_MESSAGES/django.po b/engine/blog/locale/pl_PL/LC_MESSAGES/django.po index 35924ad5..c9663c08 100644 --- a/engine/blog/locale/pl_PL/LC_MESSAGES/django.po +++ b/engine/blog/locale/pl_PL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/pt_BR/LC_MESSAGES/django.po b/engine/blog/locale/pt_BR/LC_MESSAGES/django.po index 238fc2c7..b4f77ea1 100644 --- a/engine/blog/locale/pt_BR/LC_MESSAGES/django.po +++ b/engine/blog/locale/pt_BR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/ro_RO/LC_MESSAGES/django.po b/engine/blog/locale/ro_RO/LC_MESSAGES/django.po index 69c6d7b1..40c1d637 100644 --- a/engine/blog/locale/ro_RO/LC_MESSAGES/django.po +++ b/engine/blog/locale/ro_RO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/ru_RU/LC_MESSAGES/django.po b/engine/blog/locale/ru_RU/LC_MESSAGES/django.po index fbb1e426..9ecd52db 100644 --- a/engine/blog/locale/ru_RU/LC_MESSAGES/django.po +++ b/engine/blog/locale/ru_RU/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/sv_SE/LC_MESSAGES/django.po b/engine/blog/locale/sv_SE/LC_MESSAGES/django.po index c5500b8c..5b342bde 100644 --- a/engine/blog/locale/sv_SE/LC_MESSAGES/django.po +++ b/engine/blog/locale/sv_SE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/th_TH/LC_MESSAGES/django.po b/engine/blog/locale/th_TH/LC_MESSAGES/django.po index 4ae7d235..e9d60275 100644 --- a/engine/blog/locale/th_TH/LC_MESSAGES/django.po +++ b/engine/blog/locale/th_TH/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/tr_TR/LC_MESSAGES/django.po b/engine/blog/locale/tr_TR/LC_MESSAGES/django.po index fd82b5b4..b46deb27 100644 --- a/engine/blog/locale/tr_TR/LC_MESSAGES/django.po +++ b/engine/blog/locale/tr_TR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/vi_VN/LC_MESSAGES/django.po b/engine/blog/locale/vi_VN/LC_MESSAGES/django.po index 9de0c5a7..e9c9cf45 100644 --- a/engine/blog/locale/vi_VN/LC_MESSAGES/django.po +++ b/engine/blog/locale/vi_VN/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/blog/locale/zh_Hans/LC_MESSAGES/django.po b/engine/blog/locale/zh_Hans/LC_MESSAGES/django.po index a0547f14..39b9f30b 100644 --- a/engine/blog/locale/zh_Hans/LC_MESSAGES/django.po +++ b/engine/blog/locale/zh_Hans/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/core/admin.py b/engine/core/admin.py index 9b7b5891..92e9c944 100644 --- a/engine/core/admin.py +++ b/engine/core/admin.py @@ -388,10 +388,7 @@ class BrandAdmin(DjangoQLSearchMixin, FieldsetsMixin, ActivationActionsMixin, Mo "description", "priority", ] - additional_fields = [ - "small_logo", - "big_logo" - ] + additional_fields = ["small_logo", "big_logo"] @register(Product) diff --git a/engine/core/locale/ar_AR/LC_MESSAGES/django.mo b/engine/core/locale/ar_AR/LC_MESSAGES/django.mo index 42ec1188..99939ca2 100644 Binary files a/engine/core/locale/ar_AR/LC_MESSAGES/django.mo and b/engine/core/locale/ar_AR/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/ar_AR/LC_MESSAGES/django.po b/engine/core/locale/ar_AR/LC_MESSAGES/django.po index b76094bb..c9b51284 100644 --- a/engine/core/locale/ar_AR/LC_MESSAGES/django.po +++ b/engine/core/locale/ar_AR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -130,7 +130,7 @@ msgstr "اطلب المنتجات" msgid "children" msgstr "الأطفال" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "التكوين" @@ -1084,7 +1084,7 @@ msgstr "البيانات المخزنة مؤقتاً" msgid "camelized JSON data from the requested URL" msgstr "بيانات JSON مجمّلة من عنوان URL المطلوب" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "يُسمح فقط بعناوين URL التي تبدأ ب http(s)://" @@ -2673,6 +2673,134 @@ msgstr "اتصل بنا" msgid "About Us" msgstr "نبذة عنا" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "مزيج العملاء (30 د)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "العملاء الجدد" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "العملاء العائدون" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "لا يوجد نشاط للعملاء في آخر 30 يوماً." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "المبيعات اليومية (30 د)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "الطلبات (منتهية)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "إجمالي الإيرادات" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "الطلبات" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "الإجمالي" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "نظرة عامة على الدخل" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "صافي الإيرادات" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "الضرائب" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "المرتجعات" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "إجمالي الإيرادات" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "لا يوجد تاريخ" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "الإيرادات (الإجمالي، 30 د)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "الإيرادات (الصافي، 30 د)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "المرتجعات (30 د)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "الطلبات التي تمت معالجتها (30 د)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "معظم المنتجات المرتجعة (30 د)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "لا توجد مرتجعات في آخر 30 يوماً" + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "أكثر المنتجات المرغوبة" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "لا توجد بيانات بعد." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "المنتج الأكثر شعبية" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "روابط سريعة" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "لا توجد روابط متاحة." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "مشحون مقابل رقمي (30 د)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "رقمي" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "تم الشحن" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "أعلى الفئات حسب الكمية (30 د)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "لم يتم بيع أي فئة في آخر 30 يوماً." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "مشرف موقع جانغو" @@ -2681,91 +2809,6 @@ msgstr "مشرف موقع جانغو" msgid "Dashboard" msgstr "لوحة التحكم" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "الإيرادات (الإجمالي، 30 د)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "الإيرادات (الصافي، 30 د)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "المرتجعات (30 د)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "الطلبات التي تمت معالجتها (30 د)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "نظرة عامة على الدخل" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "صافي الإيرادات" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "الضرائب" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "المرتجعات" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "إجمالي الإيرادات" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "لا توجد بيانات كافية للرسم البياني حتى الآن." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "روابط سريعة" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "لا توجد روابط متاحة." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "المبيعات اليومية (30 د)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "الطلبات (منتهية)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "إجمالي الإيرادات" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "الطلبات" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "الإجمالي" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "أكثر المنتجات المرغوبة" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "لا توجد بيانات بعد." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "المنتج الأكثر شعبية" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -2976,7 +3019,7 @@ msgstr "يجب تكوين معلمة NOMINATIM_URL!" msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "يجب ألا تتجاوز أبعاد الصورة w{max_width} x h{max_height} بكسل!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -2984,7 +3027,7 @@ msgstr "" "يتعامل مع طلب فهرس خريطة الموقع ويعيد استجابة XML. يضمن أن تتضمن الاستجابة " "رأس نوع المحتوى المناسب ل XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -2993,16 +3036,16 @@ msgstr "" "يعالج استجابة العرض التفصيلي لخريطة الموقع. تقوم هذه الدالة بمعالجة الطلب، " "وجلب استجابة تفاصيل خريطة الموقع المناسبة، وتعيين رأس نوع المحتوى ل XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "إرجاع قائمة باللغات المدعومة والمعلومات الخاصة بها." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "إرجاع معلمات الموقع الإلكتروني ككائن JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3010,11 +3053,11 @@ msgstr "" "يعالج عمليات ذاكرة التخزين المؤقت مثل قراءة بيانات ذاكرة التخزين المؤقت " "وتعيينها بمفتاح ومهلة محددة." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "يتعامل مع عمليات إرسال نموذج \"اتصل بنا\"." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3022,15 +3065,15 @@ msgstr "" "يعالج طلبات معالجة عناوين URL والتحقق من صحة عناوين URL من طلبات POST " "الواردة." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "يتعامل مع استعلامات البحث العامة." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "يتعامل بمنطق الشراء كشركة تجارية دون تسجيل." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3038,31 +3081,31 @@ msgstr "" "يتعامل مع تنزيل الأصل الرقمي المرتبط بأمر ما.\n" "تحاول هذه الدالة خدمة ملف الأصل الرقمي الموجود في دليل التخزين الخاص بالمشروع. إذا لم يتم العثور على الملف، يتم رفع خطأ HTTP 404 للإشارة إلى أن المورد غير متوفر." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "الطلب_برو_منتج_uuid مطلوب" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "طلب المنتج غير موجود" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "يمكنك تنزيل الأصل الرقمي مرة واحدة فقط" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "يجب دفع الطلب قبل تنزيل الأصل الرقمي" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "لا يحتوي منتج الطلب على منتج" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "الرمز المفضل غير موجود" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3070,7 +3113,7 @@ msgstr "" "يتعامل مع طلبات الرمز المفضل لموقع ويب.\n" "تحاول هذه الدالة عرض ملف الأيقونة المفضلة الموجود في الدليل الثابت للمشروع. إذا لم يتم العثور على ملف الأيقونة المفضلة، يتم رفع خطأ HTTP 404 للإشارة إلى أن المورد غير متوفر." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3080,11 +3123,11 @@ msgstr "" " توجيهها إلى صفحة فهرس واجهة إدارة Django. تستخدم دالة \"إعادة التوجيه\" في " "Django للتعامل مع إعادة توجيه HTTP." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "إرجاع الإصدار الحالي من eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "إرجاع المتغيرات المخصصة للوحة التحكم." diff --git a/engine/core/locale/cs_CZ/LC_MESSAGES/django.mo b/engine/core/locale/cs_CZ/LC_MESSAGES/django.mo index b75f19aa..6d4fb167 100644 Binary files a/engine/core/locale/cs_CZ/LC_MESSAGES/django.mo and b/engine/core/locale/cs_CZ/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/cs_CZ/LC_MESSAGES/django.po b/engine/core/locale/cs_CZ/LC_MESSAGES/django.po index 1523c11f..420a5e9f 100644 --- a/engine/core/locale/cs_CZ/LC_MESSAGES/django.po +++ b/engine/core/locale/cs_CZ/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -132,7 +132,7 @@ msgstr "Objednat produkty" msgid "children" msgstr "Děti" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Konfigurace" @@ -1119,7 +1119,7 @@ msgstr "Data uložená v mezipaměti" msgid "camelized JSON data from the requested URL" msgstr "Kamelizovaná data JSON z požadované adresy URL" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Povoleny jsou pouze adresy URL začínající http(s)://." @@ -2738,6 +2738,134 @@ msgstr "Kontaktujte nás" msgid "About Us" msgstr "O nás" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Směs zákazníků (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Noví zákazníci" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Vracející se zákazníci" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Žádná aktivita zákazníka za posledních 30 dní." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Denní tržby (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Objednávky (DOKONČENO)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Hrubé příjmy" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Objednávky" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Hrubý" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Přehled příjmů" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Čistý příjem" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Daně" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Vrací se" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Hrubé příjmy" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Bez data" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Příjmy (hrubé, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Příjmy (čisté, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Návraty (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Zpracované objednávky (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Nejvíce vrácených výrobků (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Za posledních 30 dní jste nevrátili žádné zboží." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Nejžádanější produkt" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Zatím nejsou k dispozici žádné údaje." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Nejoblíbenější produkt" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Rychlé odkazy" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Nejsou k dispozici žádné odkazy." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Odeslané vs. digitální (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digitální" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Odesláno" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Hlavní kategorie podle množství (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Žádný prodej v kategorii za posledních 30 dní." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Správce webu Django" @@ -2746,91 +2874,6 @@ msgstr "Správce webu Django" msgid "Dashboard" msgstr "Přístrojová deska" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Příjmy (hrubé, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Příjmy (čisté, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Návraty (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Zpracované objednávky (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Přehled příjmů" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Čistý příjem" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Daně" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Vrací se" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Hrubé příjmy" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Zatím není dostatek údajů pro graf." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Rychlé odkazy" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Nejsou k dispozici žádné odkazy." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Denní tržby (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Objednávky (DOKONČENO)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Hrubé příjmy" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Objednávky" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Hrubý" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Nejžádanější produkt" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Zatím nejsou k dispozici žádné údaje." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Nejoblíbenější produkt" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3048,7 +3091,7 @@ msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" "Rozměry obrázku by neměly přesáhnout w{max_width} x h{max_height} pixelů." -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3056,7 +3099,7 @@ msgstr "" "Zpracuje požadavek na index mapy stránek a vrátí odpověď XML. Zajistí, aby " "odpověď obsahovala odpovídající hlavičku typu obsahu XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3066,16 +3109,16 @@ msgstr "" "požadavek, načte příslušnou podrobnou odpověď mapy stránek a nastaví " "hlavičku Content-Type pro XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "Vrátí seznam podporovaných jazyků a odpovídajících informací." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Vrátí parametry webové stránky jako objekt JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3083,11 +3126,11 @@ msgstr "" "Zpracovává operace mezipaměti, jako je čtení a nastavování dat mezipaměti se" " zadaným klíčem a časovým limitem." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Zpracovává odeslání formuláře `contact us`." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3095,15 +3138,15 @@ msgstr "" "Zpracovává požadavky na zpracování a ověřování adres URL z příchozích " "požadavků POST." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Zpracovává globální vyhledávací dotazy." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Řeší logiku nákupu jako firmy bez registrace." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3111,31 +3154,31 @@ msgstr "" "Zpracovává stahování digitálního aktiva spojeného s objednávkou.\n" "Tato funkce se pokusí obsloužit soubor digitálního aktiva umístěný v adresáři úložiště projektu. Pokud soubor není nalezen, je vyvolána chyba HTTP 404, která označuje, že zdroj není k dispozici." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid je povinné" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "objednávka produktu neexistuje" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Digitální aktivum můžete stáhnout pouze jednou" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "objednávka musí být zaplacena před stažením digitálního aktiva." -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Objednaný produkt nemá produkt" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon nebyl nalezen" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3143,7 +3186,7 @@ msgstr "" "Zpracovává požadavky na favicon webové stránky.\n" "Tato funkce se pokusí obsloužit soubor favicon umístěný ve statickém adresáři projektu. Pokud soubor favicon není nalezen, je vyvolána chyba HTTP 404, která označuje, že zdroj není k dispozici." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3154,11 +3197,11 @@ msgstr "" "administrátorského rozhraní Django. Pro zpracování přesměrování HTTP používá" " funkci `redirect` Djanga." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Vrací aktuální verzi systému eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Vrací vlastní proměnné pro Dashboard." diff --git a/engine/core/locale/da_DK/LC_MESSAGES/django.mo b/engine/core/locale/da_DK/LC_MESSAGES/django.mo index 9f0f486e..e05ea044 100644 Binary files a/engine/core/locale/da_DK/LC_MESSAGES/django.mo and b/engine/core/locale/da_DK/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/da_DK/LC_MESSAGES/django.po b/engine/core/locale/da_DK/LC_MESSAGES/django.po index 20b4de47..312d3886 100644 --- a/engine/core/locale/da_DK/LC_MESSAGES/django.po +++ b/engine/core/locale/da_DK/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -131,7 +131,7 @@ msgstr "Bestil produkter" msgid "children" msgstr "Børn" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Konfig" @@ -1124,7 +1124,7 @@ msgstr "Cachelagrede data" msgid "camelized JSON data from the requested URL" msgstr "Cameliserede JSON-data fra den ønskede URL" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Kun URL'er, der starter med http(s)://, er tilladt." @@ -2764,6 +2764,134 @@ msgstr "Kontakt os" msgid "About Us" msgstr "Om os" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Mix af kunder (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Nye kunder" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Tilbagevendende kunder" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Ingen kundeaktivitet i de sidste 30 dage." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Dagligt salg (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Ordrer (AFSLUTTET)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Bruttoindtægter" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Bestillinger" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Brutto" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Oversigt over indtægter" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Nettoomsætning" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Skatter og afgifter" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Returnerer" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Bruttoindtægter" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Ingen dato" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Indtægter (brutto, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Indtægter (netto, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Returnerer (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Behandlede ordrer (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Mest returnerede produkter (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Ingen returneringer inden for de sidste 30 dage." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Mest ønskede produkt" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Ingen data endnu." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Mest populære produkt" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Hurtige links" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Ingen tilgængelige links." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Afsendt vs. digital (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digital" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Afsendt" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Topkategorier efter mængde (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Ingen kategorisalg inden for de sidste 30 dage." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Django site-administrator" @@ -2772,91 +2900,6 @@ msgstr "Django site-administrator" msgid "Dashboard" msgstr "Dashboard" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Indtægter (brutto, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Indtægter (netto, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Returnerer (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Behandlede ordrer (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Oversigt over indtægter" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Nettoomsætning" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Skatter og afgifter" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Returnerer" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Bruttoindtægter" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Ikke nok data til et diagram endnu." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Hurtige links" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Ingen tilgængelige links." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Dagligt salg (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Ordrer (AFSLUTTET)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Bruttoindtægter" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Bestillinger" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Brutto" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Mest ønskede produkt" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Ingen data endnu." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Mest populære produkt" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3074,7 +3117,7 @@ msgstr "" "Billedets dimensioner bør ikke overstige w{max_width} x h{max_height} " "pixels." -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3082,7 +3125,7 @@ msgstr "" "Håndterer anmodningen om sitemap-indekset og returnerer et XML-svar. Den " "sikrer, at svaret indeholder den passende indholdstypeheader for XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3092,17 +3135,17 @@ msgstr "" "behandler anmodningen, henter det relevante sitemap-detaljesvar og " "indstiller Content-Type-headeren til XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Returnerer en liste over understøttede sprog og de tilhørende oplysninger." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Returnerer hjemmesidens parametre som et JSON-objekt." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3110,11 +3153,11 @@ msgstr "" "Håndterer cache-operationer som f.eks. læsning og indstilling af cachedata " "med en specificeret nøgle og timeout." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Håndterer indsendelser af `kontakt os`-formularer." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3122,15 +3165,15 @@ msgstr "" "Håndterer anmodninger om behandling og validering af URL'er fra indgående " "POST-anmodninger." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Håndterer globale søgeforespørgsler." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Håndterer logikken i at købe som en virksomhed uden registrering." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3138,31 +3181,31 @@ msgstr "" "Håndterer download af et digitalt aktiv, der er knyttet til en ordre.\n" "Denne funktion forsøger at betjene den digitale aktivfil, der ligger i projektets lagermappe. Hvis filen ikke findes, udløses en HTTP 404-fejl som tegn på, at ressourcen ikke er tilgængelig." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid er påkrævet" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "Bestil produkt findes ikke" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Du kan kun downloade det digitale aktiv én gang" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "Ordren skal betales, før det digitale aktiv downloades." -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Ordreproduktet har ikke et produkt" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "Favicon ikke fundet" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3170,7 +3213,7 @@ msgstr "" "Håndterer anmodninger om et websteds favicon.\n" "Denne funktion forsøger at servere favicon-filen, der ligger i projektets statiske mappe. Hvis favicon-filen ikke findes, udløses en HTTP 404-fejl for at angive, at ressourcen ikke er tilgængelig." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3181,11 +3224,11 @@ msgstr "" "administratorinterfacets indeksside. Den bruger Djangos `redirect`-funktion " "til at håndtere HTTP-omdirigeringen." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Returnerer den aktuelle version af eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Returnerer brugerdefinerede variabler til Dashboard." diff --git a/engine/core/locale/de_DE/LC_MESSAGES/django.mo b/engine/core/locale/de_DE/LC_MESSAGES/django.mo index 99320f67..da74cdf7 100644 Binary files a/engine/core/locale/de_DE/LC_MESSAGES/django.mo and b/engine/core/locale/de_DE/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/de_DE/LC_MESSAGES/django.po b/engine/core/locale/de_DE/LC_MESSAGES/django.po index 4a9d085f..1be6ab1b 100644 --- a/engine/core/locale/de_DE/LC_MESSAGES/django.po +++ b/engine/core/locale/de_DE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "Produkte bestellen" msgid "children" msgstr "Kinder" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Konfigurieren Sie" @@ -1163,7 +1163,7 @@ msgstr "Zwischengespeicherte Daten" msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON-Daten aus der angeforderten URL" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Nur URLs, die mit http(s):// beginnen, sind zulässig" @@ -2837,6 +2837,134 @@ msgstr "Kontakt" msgid "About Us" msgstr "Über uns" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Kundenmix (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Neue Kunden" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Wiederkehrende Kunden" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Keine Kundenaktivität in den letzten 30 Tagen." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Tägliche Verkäufe (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Aufträge (FINISHED)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Bruttoeinnahmen" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Bestellungen" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Brutto" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Einkommensübersicht" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Nettoeinkommen" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Steuern" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Rückgabe" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Bruttoeinnahmen" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Kein Datum" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Einkommen (gross, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Einnahmen (netto, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Rückgaben (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Bearbeitete Aufträge (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Meist zurückgesandte Produkte (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Keine Rückgaben in den letzten 30 Tagen." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Meistgewünschtes Produkt" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Noch keine Daten." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Beliebtestes Produkt" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Schnelle Links" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Keine Links verfügbar." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Versendet vs. Digital (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digital" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Versendet" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Top-Kategorien nach Menge (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Keine Kategorieverkäufe in den letzten 30 Tagen." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Django-Website-Administrator" @@ -2845,91 +2973,6 @@ msgstr "Django-Website-Administrator" msgid "Dashboard" msgstr "Dashboard" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Einkommen (gross, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Einnahmen (netto, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Rückgaben (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Bearbeitete Aufträge (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Einkommensübersicht" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Nettoeinkommen" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Steuern" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Rückgabe" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Bruttoeinnahmen" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Noch nicht genug Daten für ein Diagramm." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Schnelle Links" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Keine Links verfügbar." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Tägliche Verkäufe (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Aufträge (FINISHED)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Bruttoeinnahmen" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Bestellungen" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Brutto" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Meistgewünschtes Produkt" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Noch keine Daten." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Beliebtestes Produkt" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3149,7 +3192,7 @@ msgstr "" "Die Bildabmessungen sollten w{max_width} x h{max_height} Pixel nicht " "überschreiten" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3158,7 +3201,7 @@ msgstr "" "zurück. Sie stellt sicher, dass die Antwort den entsprechenden Content-Type-" "Header für XML enthält." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3168,18 +3211,18 @@ msgstr "" "Funktion verarbeitet die Anfrage, holt die entsprechende Sitemap-" "Detailantwort ab und setzt den Content-Type-Header für XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Gibt eine Liste der unterstützten Sprachen und der entsprechenden " "Informationen zurück." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Gibt die Parameter der Website als JSON-Objekt zurück." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3187,11 +3230,11 @@ msgstr "" "Erledigt Cache-Operationen wie das Lesen und Setzen von Cache-Daten mit " "einem bestimmten Schlüssel und Timeout." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Verarbeitet Übermittlungen des Formulars \"Kontaktieren Sie uns\"." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3199,15 +3242,15 @@ msgstr "" "Bearbeitet Anfragen zur Verarbeitung und Validierung von URLs aus " "eingehenden POST-Anfragen." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Bearbeitet globale Suchanfragen." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Behandelt die Logik des Kaufs als Unternehmen ohne Registrierung." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3215,33 +3258,33 @@ msgstr "" "Bearbeitet das Herunterladen eines digitalen Assets, das mit einem Auftrag verbunden ist.\n" "Diese Funktion versucht, die Datei des digitalen Assets, die sich im Speicherverzeichnis des Projekts befindet, bereitzustellen. Wenn die Datei nicht gefunden wird, wird ein HTTP 404-Fehler ausgelöst, um anzuzeigen, dass die Ressource nicht verfügbar ist." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid ist erforderlich" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "Produkt bestellen existiert nicht" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Sie können das digitale Asset nur einmal herunterladen" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "" "die Bestellung muss vor dem Herunterladen des digitalen Assets bezahlt " "werden" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Das Bestellprodukt hat kein Produkt" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "Favicon nicht gefunden" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3249,7 +3292,7 @@ msgstr "" "Bearbeitet Anfragen nach dem Favicon einer Website.\n" "Diese Funktion versucht, die Favicon-Datei, die sich im statischen Verzeichnis des Projekts befindet, bereitzustellen. Wenn die Favicon-Datei nicht gefunden wird, wird ein HTTP 404-Fehler ausgegeben, um anzuzeigen, dass die Ressource nicht verfügbar ist." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3260,11 +3303,11 @@ msgstr "" "Administrationsoberfläche um. Sie verwendet die Funktion `redirect` von " "Django für die Bearbeitung der HTTP-Umleitung." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Gibt die aktuelle Version von eVibes zurück." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Gibt benutzerdefinierte Variablen für das Dashboard zurück." diff --git a/engine/core/locale/en_GB/LC_MESSAGES/django.mo b/engine/core/locale/en_GB/LC_MESSAGES/django.mo index 3e911d5e..1f32402b 100644 Binary files a/engine/core/locale/en_GB/LC_MESSAGES/django.mo and b/engine/core/locale/en_GB/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/en_GB/LC_MESSAGES/django.po b/engine/core/locale/en_GB/LC_MESSAGES/django.po index 8e5d74c7..9dd61d81 100644 --- a/engine/core/locale/en_GB/LC_MESSAGES/django.po +++ b/engine/core/locale/en_GB/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -135,7 +135,7 @@ msgstr "Order Products" msgid "children" msgstr "Children" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Config" @@ -1087,7 +1087,7 @@ msgstr "Cached data" msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON data from the requested URL" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Only URLs starting with http(s):// are allowed" @@ -2700,6 +2700,134 @@ msgstr "Contact Us" msgid "About Us" msgstr "About Us" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Customers mix (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "New customers" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Returning customers" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "No customer activity in the last 30 days." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Daily sales (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Orders (FINISHED)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Gross revenue" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Orders" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Gross" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Income overview" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Net revenue" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Taxes" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Returns" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Gross revenue" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "No data" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Revenue (gross, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Revenue (net, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Returns (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Processed orders (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Most returned products (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "No returns in the last 30 days." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Most wished products" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "No data yet." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Most popular products" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Quick Links" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "No links available." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Shipped vs Digital (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digital" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Shipped" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Top categories by quantity (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "No category sales in the last 30 days." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Django site admin" @@ -2708,91 +2836,6 @@ msgstr "Django site admin" msgid "Dashboard" msgstr "Dashboard" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Revenue (gross, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Revenue (net, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Returns (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Processed orders (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Income overview" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Net revenue" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Taxes" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Returns" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Gross revenue" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Not enough data for chart yet." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Quick Links" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "No links available." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Daily sales (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Orders (FINISHED)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Gross revenue" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Orders" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Gross" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Most wished products" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "No data yet." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Most popular products" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3009,7 +3052,7 @@ 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!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3017,7 +3060,7 @@ msgstr "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3027,17 +3070,17 @@ msgstr "" "the request, fetches the appropriate sitemap detail response, and sets the " "Content-Type header for XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Returns a list of supported languages and their corresponding information." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Returns the parameters of the website as a JSON object." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3045,11 +3088,11 @@ msgstr "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Handles `contact us` form submissions." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3057,15 +3100,15 @@ msgstr "" "Handles requests for processing and validating URLs from incoming POST " "requests." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Handles global search queries." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Handles the logic of buying as a business without registration." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3073,31 +3116,31 @@ msgstr "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid is required" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "order product does not exist" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "You can only download the digital asset once" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "the order must be paid before downloading the digital asset" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "The order product does not have a product" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon not found" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3105,7 +3148,7 @@ msgstr "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3115,11 +3158,11 @@ msgstr "" " HTTP requests and redirects them to the Django admin interface index page. " "It uses Django's `redirect` function for handling the HTTP redirection." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Returns current version of the eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Returns custom variables for Dashboard." diff --git a/engine/core/locale/en_US/LC_MESSAGES/django.mo b/engine/core/locale/en_US/LC_MESSAGES/django.mo index 1513e98b..1a3a0b25 100644 Binary files a/engine/core/locale/en_US/LC_MESSAGES/django.mo and b/engine/core/locale/en_US/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/en_US/LC_MESSAGES/django.po b/engine/core/locale/en_US/LC_MESSAGES/django.po index 5e5db52f..c38bad38 100644 --- a/engine/core/locale/en_US/LC_MESSAGES/django.po +++ b/engine/core/locale/en_US/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -131,7 +131,7 @@ msgstr "Order Products" msgid "children" msgstr "Children" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Config" @@ -1083,7 +1083,7 @@ msgstr "Cached data" msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON data from the requested URL" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Only URLs starting with http(s):// are allowed" @@ -2696,6 +2696,134 @@ msgstr "Contact Us" msgid "About Us" msgstr "About Us" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Customers mix (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "New customers" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Returning customers" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "No customer activity in the last 30 days." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Daily sales (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Orders (FINISHED)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Gross revenue" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Orders" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Gross" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Income overview" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Net revenue" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Taxes" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Returns" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Gross revenue" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "No date" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Revenue (gross, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Revenue (net, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Returns (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Processed orders (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Most returned products (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "No returns in the last 30 days." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Most wished products" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "No data yet." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Most popular products" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Quick Links" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "No links available." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Shipped vs Digital (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digital" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Shipped" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Top categories by quantity (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "No category sales in the last 30 days." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Django site admin" @@ -2704,91 +2832,6 @@ msgstr "Django site admin" msgid "Dashboard" msgstr "Dashboard" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Revenue (gross, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Revenue (net, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Returns (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Processed orders (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Income overview" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Net revenue" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Taxes" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Returns" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Gross revenue" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Not enough data for chart yet." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Quick Links" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "No links available." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Daily sales (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Orders (FINISHED)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Gross revenue" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Orders" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Gross" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Most wished products" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "No data yet." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Most popular products" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3005,7 +3048,7 @@ 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!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3013,7 +3056,7 @@ msgstr "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3023,17 +3066,17 @@ msgstr "" "the request, fetches the appropriate sitemap detail response, and sets the " "Content-Type header for XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Returns a list of supported languages and their corresponding information." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Returns the parameters of the website as a JSON object." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3041,11 +3084,11 @@ msgstr "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Handles `contact us` form submissions." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3053,15 +3096,15 @@ msgstr "" "Handles requests for processing and validating URLs from incoming POST " "requests." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Handles global search queries." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Handles the logic of buying as a business without registration." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3069,31 +3112,31 @@ msgstr "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid is required" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "order product does not exist" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "You can only download the digital asset once" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "the order must be paid before downloading the digital asset" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "The order product does not have a product" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon not found" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3101,7 +3144,7 @@ msgstr "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3111,11 +3154,11 @@ msgstr "" " HTTP requests and redirects them to the Django admin interface index page. " "It uses Django's `redirect` function for handling the HTTP redirection." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Returns current version of the eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Returns custom variables for Dashboard." diff --git a/engine/core/locale/es_ES/LC_MESSAGES/django.mo b/engine/core/locale/es_ES/LC_MESSAGES/django.mo index db8f18e2..907238b9 100644 Binary files a/engine/core/locale/es_ES/LC_MESSAGES/django.mo and b/engine/core/locale/es_ES/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/es_ES/LC_MESSAGES/django.po b/engine/core/locale/es_ES/LC_MESSAGES/django.po index 3a8a43c9..09383a7e 100644 --- a/engine/core/locale/es_ES/LC_MESSAGES/django.po +++ b/engine/core/locale/es_ES/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "Pedir productos" msgid "children" msgstr "Niños" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Configurar" @@ -1135,7 +1135,7 @@ msgstr "Datos en caché" msgid "camelized JSON data from the requested URL" msgstr "Datos JSON camelizados de la URL solicitada" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Sólo se permiten URL que empiecen por http(s)://." @@ -2783,6 +2783,134 @@ msgstr "Contacte con nosotros" msgid "About Us" msgstr "Quiénes somos" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Mezcla de clientes (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Nuevos clientes" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Clientes habituales" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Sin actividad de clientes en los últimos 30 días." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Ventas diarias (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Pedidos (FINALIZADOS)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Ingresos brutos" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Pedidos" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Bruto" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Resumen de ingresos" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Ingresos netos" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Impuestos" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Devuelve" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Ingresos brutos" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Sin fecha" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Ingresos (brutos, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Ingresos (netos, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Devoluciones (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Pedidos procesados (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Productos más devueltos (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Sin devoluciones en los últimos 30 días." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Producto más deseado" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Aún no hay datos." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Producto más popular" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Enlaces rápidos" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "No hay enlaces disponibles." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Enviado vs Digital (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digital" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Enviado" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Principales categorías por cantidad (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Ninguna venta de categoría en los últimos 30 días." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Administrador del sitio Django" @@ -2791,91 +2919,6 @@ msgstr "Administrador del sitio Django" msgid "Dashboard" msgstr "Cuadro de mandos" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Ingresos (brutos, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Ingresos (netos, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Devoluciones (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Pedidos procesados (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Resumen de ingresos" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Ingresos netos" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Impuestos" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Devuelve" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Ingresos brutos" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Aún no hay datos suficientes para el gráfico." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Enlaces rápidos" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "No hay enlaces disponibles." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Ventas diarias (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Pedidos (FINALIZADOS)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Ingresos brutos" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Pedidos" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Bruto" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Producto más deseado" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Aún no hay datos." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Producto más popular" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3094,7 +3137,7 @@ msgstr "" "Las dimensiones de la imagen no deben superar w{max_width} x h{max_height} " "píxeles." -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3103,7 +3146,7 @@ msgstr "" " XML. Se asegura de que la respuesta incluya el encabezado de tipo de " "contenido apropiado para XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3113,18 +3156,18 @@ msgstr "" "función procesa la solicitud, obtiene la respuesta detallada del mapa del " "sitio y establece el encabezado Content-Type para XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Devuelve una lista de los idiomas admitidos y su información " "correspondiente." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Devuelve los parámetros del sitio web como un objeto JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3132,11 +3175,11 @@ msgstr "" "Gestiona las operaciones de caché, como la lectura y el establecimiento de " "datos de caché con una clave y un tiempo de espera especificados." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Gestiona los formularios de contacto." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3144,15 +3187,15 @@ msgstr "" "Gestiona las solicitudes de procesamiento y validación de URL de las " "solicitudes POST entrantes." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Gestiona las consultas de búsqueda global." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Maneja la lógica de la compra como empresa sin registro." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3160,31 +3203,31 @@ msgstr "" "Gestiona la descarga de un activo digital asociado a un pedido.\n" "Esta función intenta servir el archivo del activo digital ubicado en el directorio de almacenamiento del proyecto. Si no se encuentra el archivo, se genera un error HTTP 404 para indicar que el recurso no está disponible." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid es obligatorio" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "pedir producto no existe" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Sólo puede descargar el activo digital una vez" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "el pedido debe pagarse antes de descargar el activo digital" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "El producto del pedido no tiene un producto" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon no encontrado" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3192,7 +3235,7 @@ msgstr "" "Gestiona las peticiones del favicon de un sitio web.\n" "Esta función intenta servir el archivo favicon ubicado en el directorio estático del proyecto. Si no se encuentra el archivo favicon, se genera un error HTTP 404 para indicar que el recurso no está disponible." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3203,11 +3246,11 @@ msgstr "" "de la interfaz de administración de Django. Utiliza la función `redirect` de" " Django para gestionar la redirección HTTP." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Devuelve la versión actual del eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Devuelve variables personalizadas para Dashboard." diff --git a/engine/core/locale/fa_IR/LC_MESSAGES/django.po b/engine/core/locale/fa_IR/LC_MESSAGES/django.po index 2966e333..3622125e 100644 --- a/engine/core/locale/fa_IR/LC_MESSAGES/django.po +++ b/engine/core/locale/fa_IR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -131,7 +131,7 @@ msgstr "" msgid "children" msgstr "" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "" @@ -1049,7 +1049,7 @@ msgstr "" msgid "camelized JSON data from the requested URL" msgstr "" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "" @@ -2526,6 +2526,134 @@ msgstr "" msgid "About Us" msgstr "" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "" + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "" @@ -2534,91 +2662,6 @@ msgstr "" msgid "Dashboard" msgstr "" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "" - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "" - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "" - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -2820,53 +2863,53 @@ msgstr "" msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." msgstr "" -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " "Content-Type header for XML." msgstr "" -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "" -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." msgstr "" -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "" -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." msgstr "" -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "" -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "" -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the " @@ -2874,31 +2917,31 @@ msgid "" "error is raised to indicate the resource is unavailable." msgstr "" -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static " @@ -2906,18 +2949,18 @@ msgid "" "error is raised to indicate the resource is unavailable." msgstr "" -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming " "HTTP requests and redirects them to the Django admin interface index page. " "It uses Django's `redirect` function for handling the HTTP redirection." msgstr "" -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "" -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "" diff --git a/engine/core/locale/fr_FR/LC_MESSAGES/django.mo b/engine/core/locale/fr_FR/LC_MESSAGES/django.mo index 3133a923..4cafb91e 100644 Binary files a/engine/core/locale/fr_FR/LC_MESSAGES/django.mo and b/engine/core/locale/fr_FR/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/fr_FR/LC_MESSAGES/django.po b/engine/core/locale/fr_FR/LC_MESSAGES/django.po index 38f187b9..b7159370 100644 --- a/engine/core/locale/fr_FR/LC_MESSAGES/django.po +++ b/engine/core/locale/fr_FR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "Commander des produits" msgid "children" msgstr "Les enfants" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Config" @@ -1156,7 +1156,7 @@ msgstr "Données mises en cache" msgid "camelized JSON data from the requested URL" msgstr "Données JSON camélisées provenant de l'URL demandée" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Seuls les URL commençant par http(s):// sont autorisés." @@ -2835,6 +2835,134 @@ msgstr "Nous contacter" msgid "About Us" msgstr "À propos de nous" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Mélange de clients (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Nouveaux clients" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Clients fidèles" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Pas d'activité client au cours des 30 derniers jours." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Ventes quotidiennes (30j)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Commandes (FINIES)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Recettes brutes" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Commandes" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Brut" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Aperçu des revenus" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Net revenue" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Impôts" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Retours" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Recettes brutes" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Pas de date" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Revenue (gross, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Revenue (net, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Retours (30j)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Commandes traitées (30j)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Produits les plus retournés (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Aucun retour dans les 30 derniers jours." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Produit le plus souhaité" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Pas encore de données." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Produit le plus populaire" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Liens rapides" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Aucun lien n'est disponible." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Expédiés ou numériques (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Numérique" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Expédié" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Principales catégories par quantité (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Aucune vente par catégorie au cours des 30 derniers jours." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Administrateur de site Django" @@ -2843,91 +2971,6 @@ msgstr "Administrateur de site Django" msgid "Dashboard" msgstr "Tableau de bord" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Revenue (gross, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Revenue (net, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Retours (30j)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Commandes traitées (30j)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Aperçu des revenus" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Net revenue" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Impôts" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Retours" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Recettes brutes" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Il n'y a pas encore assez de données pour établir un graphique." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Liens rapides" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Aucun lien n'est disponible." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Ventes quotidiennes (30j)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Commandes (FINIES)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Recettes brutes" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Commandes" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Brut" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Produit le plus souhaité" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Pas encore de données." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Produit le plus populaire" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3149,7 +3192,7 @@ msgstr "" "Les dimensions de l'image ne doivent pas dépasser w{max_width} x " "h{max_height} pixels." -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3157,7 +3200,7 @@ msgstr "" "Gère la demande d'index sitemap et renvoie une réponse XML. Il s'assure que " "la réponse inclut l'en-tête de type de contenu approprié pour XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3167,18 +3210,18 @@ msgstr "" "demande, récupère la réponse détaillée appropriée du plan du site et définit" " l'en-tête Content-Type pour XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Renvoie une liste des langues prises en charge et des informations " "correspondantes." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Renvoie les paramètres du site web sous la forme d'un objet JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3186,11 +3229,11 @@ msgstr "" "Gère les opérations de cache telles que la lecture et la définition des " "données de cache avec une clé et un délai spécifiés." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Gère les soumissions du formulaire `contact us`." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3198,15 +3241,15 @@ msgstr "" "Gère les demandes de traitement et de validation des URL à partir des " "requêtes POST entrantes." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Traite les demandes de recherche globales." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Gère la logique de l'achat en tant qu'entreprise sans enregistrement." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3214,31 +3257,31 @@ msgstr "" "Gère le téléchargement d'un bien numérique associé à une commande.\n" "Cette fonction tente de servir le fichier de ressource numérique situé dans le répertoire de stockage du projet. Si le fichier n'est pas trouvé, une erreur HTTP 404 est générée pour indiquer que la ressource n'est pas disponible." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid est obligatoire" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "le produit de la commande n'existe pas" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Vous ne pouvez télécharger le bien numérique qu'une seule fois" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "la commande doit être payée avant le téléchargement du bien numérique" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Le produit de la commande n'a pas de produit" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon introuvable" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3246,7 +3289,7 @@ msgstr "" "Gère les demandes de favicon d'un site web.\n" "Cette fonction tente de servir le fichier favicon situé dans le répertoire statique du projet. Si le fichier favicon n'est pas trouvé, une erreur HTTP 404 est générée pour indiquer que la ressource n'est pas disponible." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3257,11 +3300,11 @@ msgstr "" " d'index de l'interface d'administration de Django. Elle utilise la fonction" " `redirect` de Django pour gérer la redirection HTTP." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Renvoie la version actuelle d'eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Renvoie les variables personnalisées pour le tableau de bord." diff --git a/engine/core/locale/he_IL/LC_MESSAGES/django.mo b/engine/core/locale/he_IL/LC_MESSAGES/django.mo index 52ebef9d..e0b98482 100644 Binary files a/engine/core/locale/he_IL/LC_MESSAGES/django.mo and b/engine/core/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/he_IL/LC_MESSAGES/django.po b/engine/core/locale/he_IL/LC_MESSAGES/django.po index 0d9f8fe6..8d4681ec 100644 --- a/engine/core/locale/he_IL/LC_MESSAGES/django.po +++ b/engine/core/locale/he_IL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -129,7 +129,7 @@ msgstr "הזמנת מוצרים" msgid "children" msgstr "ילדים" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "תצורה" @@ -1072,7 +1072,7 @@ msgstr "נתונים במטמון" msgid "camelized JSON data from the requested URL" msgstr "נתוני JSON שעברו קמלאיזציה מה-URL המבוקש" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "רק כתובות URL המתחילות ב-http(s):// מותרות" @@ -2645,6 +2645,134 @@ msgstr "צור קשר" msgid "About Us" msgstr "אודות" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "תמהיל לקוחות (30 יום)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "לקוחות חדשים" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "לקוחות חוזרים" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "אין פעילות של לקוחות ב-30 הימים האחרונים." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "מכירות יומיות (30 יום)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "הזמנות (הושלמו)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "הכנסות ברוטו" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "הזמנות" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "גרוס" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "סקירת הכנסות" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "הכנסות נטו" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "מסים" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "החזרות" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "הכנסות ברוטו" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "בנתונים" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "הכנסה (ברוטו, 30 יום)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "הכנסות (נטו, 30 יום)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "החזרות (30 יום)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "הזמנות מעובדות (30 יום)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "רוב המוצרים שהוחזרו (30 יום)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "אין החזרות ב-30 הימים האחרונים." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "המוצר המבוקש ביותר" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "אין עדיין נתונים." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "המוצר הפופולרי ביותר" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "קישורים מהירים" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "אין קישורים זמינים." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "משלוח לעומת דיגיטלי (30 יום)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "דיגיטלי" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "נשלח" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "הקטגוריות המובילות לפי כמות (30 יום)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "אין מכירות בקטגוריה זו ב-30 הימים האחרונים." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "מנהל אתר Django" @@ -2653,91 +2781,6 @@ msgstr "מנהל אתר Django" msgid "Dashboard" msgstr "לוח מחוונים" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "הכנסה (ברוטו, 30 יום)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "הכנסות (נטו, 30 יום)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "החזרות (30 יום)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "הזמנות מעובדות (30 יום)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "סקירת הכנסות" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "הכנסות נטו" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "מסים" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "החזרות" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "הכנסות ברוטו" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "אין מספיק נתונים כדי ליצור תרשים." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "קישורים מהירים" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "אין קישורים זמינים." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "מכירות יומיות (30 יום)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "הזמנות (הושלמו)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "הכנסות ברוטו" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "הזמנות" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "גרוס" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "המוצר המבוקש ביותר" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "אין עדיין נתונים." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "המוצר הפופולרי ביותר" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -2940,7 +2983,7 @@ msgstr "יש להגדיר את הפרמטר NOMINATIM_URL!" msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "מידות התמונה לא יעלו על w{max_width} x h{max_height} פיקסלים!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -2948,7 +2991,7 @@ msgstr "" "מטפל בבקשה לאינדקס מפת האתר ומחזיר תגובה בפורמט XML. הוא מבטיח שהתגובה תכלול" " את כותרת סוג התוכן המתאימה ל-XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -2957,41 +3000,41 @@ msgstr "" "מטפל בתגובה לתצוגה מפורטת של מפת אתר. פונקציה זו מעבדת את הבקשה, משיגה את " "התגובה המתאימה לפרטי מפת האתר, וקובעת את כותרת Content-Type עבור XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "מחזיר רשימה של שפות נתמכות והמידע המתאים להן." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "מחזיר את הפרמטרים של האתר כאובייקט JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." msgstr "" "מטפל בפעולות מטמון כגון קריאה והגדרת נתוני מטמון עם מפתח וזמן המתנה מוגדרים." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "מטפל בהגשת טפסי \"צור קשר\"." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." msgstr "מטפל בבקשות לעיבוד ואימות כתובות URL מבקשות POST נכנסות." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "מטפל בשאילתות חיפוש גלובליות." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "מטפל בהיגיון הרכישה כעסק ללא רישום." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3000,31 +3043,31 @@ msgstr "" "הדיגיטלי הנמצא בספריית האחסון של הפרויקט. אם הקובץ לא נמצא, מתקבלת שגיאת " "HTTP 404 המציינת שהמשאב אינו זמין." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid נדרש" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "המוצר שהוזמן אינו קיים" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "ניתן להוריד את הנכס הדיגיטלי פעם אחת בלבד" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "יש לשלם את ההזמנה לפני הורדת הנכס הדיגיטלי" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "למוצר ההזמנה אין מוצר" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "לא נמצא סמל מועדף" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3033,7 +3076,7 @@ msgstr "" "המועדף הנמצא בספרייה הסטטית של הפרויקט. אם קובץ הסמל המועדף לא נמצא, מתקבלת " "שגיאת HTTP 404 המציינת שהמשאב אינו זמין." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3043,11 +3086,11 @@ msgstr "" " אותן לדף האינדקס של ממשק המנהל של Django. היא משתמשת בפונקציית `redirect` " "של Django לטיפול בהפניה HTTP." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "מחזיר את הגרסה הנוכחית של eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "מחזיר משתנים מותאמים אישית עבור לוח המחוונים." diff --git a/engine/core/locale/hi_IN/LC_MESSAGES/django.po b/engine/core/locale/hi_IN/LC_MESSAGES/django.po index c1636ac3..bb69c8dc 100644 --- a/engine/core/locale/hi_IN/LC_MESSAGES/django.po +++ b/engine/core/locale/hi_IN/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -131,7 +131,7 @@ msgstr "" msgid "children" msgstr "" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "" @@ -1049,7 +1049,7 @@ msgstr "" msgid "camelized JSON data from the requested URL" msgstr "" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "" @@ -2526,6 +2526,134 @@ msgstr "" msgid "About Us" msgstr "" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "" + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "" @@ -2534,91 +2662,6 @@ msgstr "" msgid "Dashboard" msgstr "" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "" - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "" - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "" - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -2820,53 +2863,53 @@ msgstr "" msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." msgstr "" -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " "Content-Type header for XML." msgstr "" -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "" -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." msgstr "" -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "" -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." msgstr "" -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "" -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "" -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the " @@ -2874,31 +2917,31 @@ msgid "" "error is raised to indicate the resource is unavailable." msgstr "" -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static " @@ -2906,18 +2949,18 @@ msgid "" "error is raised to indicate the resource is unavailable." msgstr "" -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming " "HTTP requests and redirects them to the Django admin interface index page. " "It uses Django's `redirect` function for handling the HTTP redirection." msgstr "" -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "" -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "" diff --git a/engine/core/locale/hr_HR/LC_MESSAGES/django.po b/engine/core/locale/hr_HR/LC_MESSAGES/django.po index 2966e333..3622125e 100644 --- a/engine/core/locale/hr_HR/LC_MESSAGES/django.po +++ b/engine/core/locale/hr_HR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -131,7 +131,7 @@ msgstr "" msgid "children" msgstr "" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "" @@ -1049,7 +1049,7 @@ msgstr "" msgid "camelized JSON data from the requested URL" msgstr "" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "" @@ -2526,6 +2526,134 @@ msgstr "" msgid "About Us" msgstr "" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "" + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "" @@ -2534,91 +2662,6 @@ msgstr "" msgid "Dashboard" msgstr "" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "" - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "" - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "" - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -2820,53 +2863,53 @@ msgstr "" msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." msgstr "" -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " "Content-Type header for XML." msgstr "" -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "" -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." msgstr "" -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "" -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." msgstr "" -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "" -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "" -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the " @@ -2874,31 +2917,31 @@ msgid "" "error is raised to indicate the resource is unavailable." msgstr "" -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static " @@ -2906,18 +2949,18 @@ msgid "" "error is raised to indicate the resource is unavailable." msgstr "" -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming " "HTTP requests and redirects them to the Django admin interface index page. " "It uses Django's `redirect` function for handling the HTTP redirection." msgstr "" -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "" -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "" diff --git a/engine/core/locale/id_ID/LC_MESSAGES/django.mo b/engine/core/locale/id_ID/LC_MESSAGES/django.mo index 38861e0e..e2d54b57 100644 Binary files a/engine/core/locale/id_ID/LC_MESSAGES/django.mo and b/engine/core/locale/id_ID/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/id_ID/LC_MESSAGES/django.po b/engine/core/locale/id_ID/LC_MESSAGES/django.po index d907b994..927f0868 100644 --- a/engine/core/locale/id_ID/LC_MESSAGES/django.po +++ b/engine/core/locale/id_ID/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -132,7 +132,7 @@ msgstr "Pesan Produk" msgid "children" msgstr "Anak-anak" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Konfigurasi" @@ -1157,7 +1157,7 @@ msgstr "Data yang di-cache" msgid "camelized JSON data from the requested URL" msgstr "Data JSON yang di-camel dari URL yang diminta" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Hanya URL yang dimulai dengan http(s):// yang diperbolehkan" @@ -2799,6 +2799,134 @@ msgstr "Hubungi Kami" msgid "About Us" msgstr "Tentang Kami" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Bauran pelanggan (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Pelanggan baru" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Pelanggan yang kembali" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Tidak ada aktivitas nasabah dalam 30 hari terakhir." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Penjualan harian (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Pesanan (SELESAI)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Pendapatan kotor" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Pesanan" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Kotor" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Ikhtisar pendapatan" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Pendapatan bersih" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Pajak" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Pengembalian" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Pendapatan kotor" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Tidak ada tanggal" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Pendapatan (kotor, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Pendapatan (bersih, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Pengembalian (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Pesanan yang diproses (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Sebagian besar produk yang dikembalikan (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Tidak ada pengembalian dalam 30 hari terakhir." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Produk yang paling diharapkan" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Belum ada data." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Produk paling populer" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Tautan Cepat" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Tidak ada tautan yang tersedia." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Dikirim vs Digital (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digital" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Dikirim" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Kategori teratas berdasarkan kuantitas (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Tidak ada penjualan kategori dalam 30 hari terakhir." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Admin situs Django" @@ -2807,91 +2935,6 @@ msgstr "Admin situs Django" msgid "Dashboard" msgstr "Dasbor" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Pendapatan (kotor, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Pendapatan (bersih, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Pengembalian (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Pesanan yang diproses (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Ikhtisar pendapatan" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Pendapatan bersih" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Pajak" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Pengembalian" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Pendapatan kotor" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Belum cukup data untuk grafik." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Tautan Cepat" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Tidak ada tautan yang tersedia." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Penjualan harian (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Pesanan (SELESAI)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Pendapatan kotor" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Pesanan" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Kotor" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Produk yang paling diharapkan" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Belum ada data." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Produk paling populer" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3109,7 +3152,7 @@ msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" "Dimensi gambar tidak boleh melebihi w{max_width} x h{max_height} piksel!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3117,7 +3160,7 @@ msgstr "" "Menangani permintaan indeks peta situs dan mengembalikan respons XML. " "Memastikan respons menyertakan header jenis konten yang sesuai untuk XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3127,16 +3170,16 @@ msgstr "" "permintaan, mengambil respons detail peta situs yang sesuai, dan menetapkan " "header Jenis Konten untuk XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "Mengembalikan daftar bahasa yang didukung dan informasi terkait." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Mengembalikan parameter situs web sebagai objek JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3144,11 +3187,11 @@ msgstr "" "Menangani operasi cache seperti membaca dan mengatur data cache dengan kunci" " dan batas waktu tertentu." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Menangani pengiriman formulir `hubungi kami`." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3156,15 +3199,15 @@ msgstr "" "Menangani permintaan untuk memproses dan memvalidasi URL dari permintaan " "POST yang masuk." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Menangani kueri penelusuran global." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Menangani logika pembelian sebagai bisnis tanpa registrasi." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3172,31 +3215,31 @@ msgstr "" "Menangani pengunduhan aset digital yang terkait dengan pesanan.\n" "Fungsi ini mencoba untuk menyajikan file aset digital yang terletak di direktori penyimpanan proyek. Jika file tidak ditemukan, kesalahan HTTP 404 akan muncul untuk mengindikasikan bahwa sumber daya tidak tersedia." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid diperlukan" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "produk pesanan tidak ada" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Anda hanya dapat mengunduh aset digital sekali saja" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "pesanan harus dibayar sebelum mengunduh aset digital" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Produk pesanan tidak memiliki produk" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon tidak ditemukan" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3204,7 +3247,7 @@ msgstr "" "Menangani permintaan favicon dari sebuah situs web.\n" "Fungsi ini mencoba menyajikan file favicon yang terletak di direktori statis proyek. Jika file favicon tidak ditemukan, kesalahan HTTP 404 akan dimunculkan untuk mengindikasikan bahwa sumber daya tidak tersedia." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3215,11 +3258,11 @@ msgstr "" "admin Django. Fungsi ini menggunakan fungsi `redirect` Django untuk " "menangani pengalihan HTTP." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Mengembalikan versi eVibes saat ini." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Mengembalikan variabel khusus untuk Dasbor." diff --git a/engine/core/locale/it_IT/LC_MESSAGES/django.mo b/engine/core/locale/it_IT/LC_MESSAGES/django.mo index 7e45bd8b..356a26fd 100644 Binary files a/engine/core/locale/it_IT/LC_MESSAGES/django.mo and b/engine/core/locale/it_IT/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/it_IT/LC_MESSAGES/django.po b/engine/core/locale/it_IT/LC_MESSAGES/django.po index d2292eeb..0c4c0d8f 100644 --- a/engine/core/locale/it_IT/LC_MESSAGES/django.po +++ b/engine/core/locale/it_IT/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "Ordinare i prodotti" msgid "children" msgstr "I bambini" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Configurazione" @@ -1149,7 +1149,7 @@ msgstr "Dati in cache" msgid "camelized JSON data from the requested URL" msgstr "Dati JSON camelizzati dall'URL richiesto" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Sono consentiti solo gli URL che iniziano con http(s)://" @@ -2800,6 +2800,134 @@ msgstr "Contatto" msgid "About Us" msgstr "Chi siamo" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Mix di clienti (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Nuovi clienti" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Clienti di ritorno" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Nessuna attività del cliente negli ultimi 30 giorni." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Vendite giornaliere (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Ordini (FINITO)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Ricavo lordo" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Ordini" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Gross" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Panoramica delle entrate" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Ricavi netti" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Tasse" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Restituzioni" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Ricavo lordo" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Nessuna data" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Ricavi (lordi, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Ricavi (netti, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Restituzioni (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Ordini evasi (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "I prodotti più restituiti (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Nessuna restituzione negli ultimi 30 giorni." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Il prodotto più desiderato" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Non ci sono ancora dati." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Il prodotto più popolare" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Collegamenti rapidi" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Nessun link disponibile." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Spedito vs. Digitale (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digitale" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Spedito" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Categorie principali per quantità (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Nessuna vendita di categoria negli ultimi 30 giorni." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Amministratore del sito Django" @@ -2808,91 +2936,6 @@ msgstr "Amministratore del sito Django" msgid "Dashboard" msgstr "Cruscotto" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Ricavi (lordi, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Ricavi (netti, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Restituzioni (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Ordini evasi (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Panoramica delle entrate" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Ricavi netti" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Tasse" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Restituzioni" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Ricavo lordo" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Non ci sono ancora dati sufficienti per un grafico." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Collegamenti rapidi" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Nessun link disponibile." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Vendite giornaliere (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Ordini (FINITO)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Ricavo lordo" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Ordini" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Gross" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Il prodotto più desiderato" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Non ci sono ancora dati." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Il prodotto più popolare" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3112,7 +3155,7 @@ msgstr "" "Le dimensioni dell'immagine non devono superare w{max_width} x h{max_height}" " pixel" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3121,7 +3164,7 @@ msgstr "" "XML. Assicura che la risposta includa l'intestazione del tipo di contenuto " "appropriato per XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3131,17 +3174,17 @@ msgstr "" "funzione elabora la richiesta, recupera la risposta dettagliata della " "sitemap e imposta l'intestazione Content-Type per XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Restituisce un elenco di lingue supportate e le informazioni corrispondenti." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Restituisce i parametri del sito web come oggetto JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3149,11 +3192,11 @@ msgstr "" "Gestisce le operazioni di cache, come la lettura e l'impostazione dei dati " "della cache con una chiave e un timeout specificati." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Gestisce l'invio del modulo `contatti`." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3161,15 +3204,15 @@ msgstr "" "Gestisce le richieste di elaborazione e validazione degli URL dalle " "richieste POST in arrivo." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Gestisce le query di ricerca globali." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Gestisce la logica dell'acquisto come azienda senza registrazione." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3177,31 +3220,31 @@ msgstr "" "Gestisce il download di una risorsa digitale associata a un ordine.\n" "Questa funzione tenta di servire il file della risorsa digitale che si trova nella directory di archiviazione del progetto. Se il file non viene trovato, viene generato un errore HTTP 404 per indicare che la risorsa non è disponibile." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid è obbligatorio" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "ordine prodotto non esistente" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "È possibile scaricare l'asset digitale una sola volta" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "l'ordine deve essere pagato prima di scaricare il bene digitale" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Il prodotto dell'ordine non ha un prodotto" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon non trovata" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3209,7 +3252,7 @@ msgstr "" "Gestisce le richieste per la favicon di un sito web.\n" "Questa funzione tenta di servire il file favicon situato nella cartella statica del progetto. Se il file favicon non viene trovato, viene generato un errore HTTP 404 per indicare che la risorsa non è disponibile." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3220,11 +3263,11 @@ msgstr "" "indice dell'interfaccia di amministrazione di Django. Utilizza la funzione " "`redirect` di Django per gestire il reindirizzamento HTTP." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Restituisce la versione corrente di eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Restituisce le variabili personalizzate per Dashboard." diff --git a/engine/core/locale/ja_JP/LC_MESSAGES/django.mo b/engine/core/locale/ja_JP/LC_MESSAGES/django.mo index 19b7a25c..3737757c 100644 Binary files a/engine/core/locale/ja_JP/LC_MESSAGES/django.mo and b/engine/core/locale/ja_JP/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/ja_JP/LC_MESSAGES/django.po b/engine/core/locale/ja_JP/LC_MESSAGES/django.po index 8d08e3d3..28de401e 100644 --- a/engine/core/locale/ja_JP/LC_MESSAGES/django.po +++ b/engine/core/locale/ja_JP/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -129,7 +129,7 @@ msgstr "商品のご注文" msgid "children" msgstr "子供たち" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "コンフィグ" @@ -1066,7 +1066,7 @@ msgstr "キャッシュ・データ" msgid "camelized JSON data from the requested URL" msgstr "リクエストされたURLからキャメル化されたJSONデータ" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "http(s)://で始まるURLのみが許可されます。" @@ -2578,6 +2578,134 @@ msgstr "お問い合わせ" msgid "About Us" msgstr "会社概要" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "顧客構成 (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "新規顧客" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "リピーター" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "過去30日間に顧客の活動がない。" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "日販(30日)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "オーダー(終了)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "総収入" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "受注状況" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "グロス" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "収入概要" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "純収入" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "税金" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "リターン" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "総収入" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "日付なし" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "収入(グロス、30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "収入(純額、30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "リターンズ(30日)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "処理済み注文 (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "最も返品された商品 (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "過去30日間返品なし。" + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "最も欲しい製品" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "まだデータはない。" + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "最も人気のある製品" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "クイックリンク" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "リンクはありません。" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "出荷対デジタル (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "デジタル" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "出荷済み" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "数量上位カテゴリー (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "過去30日間にカテゴリー別売上なし。" + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Djangoサイト管理者" @@ -2586,91 +2714,6 @@ msgstr "Djangoサイト管理者" msgid "Dashboard" msgstr "ダッシュボード" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "収入(グロス、30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "収入(純額、30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "リターンズ(30日)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "処理済み注文 (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "収入概要" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "純収入" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "税金" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "リターン" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "総収入" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "まだチャートには十分なデータがない。" - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "クイックリンク" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "リンクはありません。" - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "日販(30日)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "オーダー(終了)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "総収入" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "受注状況" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "グロス" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "最も欲しい製品" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "まだデータはない。" - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "最も人気のある製品" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -2876,14 +2919,14 @@ msgstr "NOMINATIM_URLパラメータを設定する必要があります!" msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "画像のサイズは w{max_width} x h{max_height} ピクセルを超えないようにしてください!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." msgstr "" "サイトマップインデックスのリクエストを処理し、XMLレスポンスを返します。レスポンスにXML用の適切なコンテントタイプヘッダーが含まれるようにします。" -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -2892,40 +2935,40 @@ msgstr "" "サイトマップの詳細表示レスポンスを処理します。この関数はリクエストを処理し、適切なサイトマップ詳細レスポンスを取得し、XML の Content-" "Type ヘッダを設定します。" -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "サポートされている言語の一覧と対応する情報を返します。" -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "ウェブサイトのパラメータをJSONオブジェクトとして返します。" -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." msgstr "指定されたキーとタイムアウトで、キャッシュ・データの読み取りや設定などのキャッシュ操作を行う。" -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "お問い合わせフォームの送信を処理する。" -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." msgstr "入ってくる POST リクエストからの URL の処理と検証のリクエストを処理します。" -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "グローバル検索クエリを処理する。" -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "登録なしでビジネスとして購入するロジックを扱う。" -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -2933,31 +2976,31 @@ msgstr "" "注文に関連付けられたデジタルアセットのダウンロードを処理します。\n" "この関数は、プロジェクトのストレージディレクトリにあるデジタルアセットファイルの提供を試みます。ファイルが見つからない場合、リソースが利用できないことを示すHTTP 404エラーが発生します。" -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuidは必須です。" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "注文商品が存在しない" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "デジタルアセットのダウンロードは1回限りです。" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "デジタル資産をダウンロードする前に、注文を支払う必要があります。" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "注文商品に商品がない" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "ファビコンが見つかりません" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -2965,7 +3008,7 @@ msgstr "" "ウェブサイトのファビコンへのリクエストを処理します。\n" "この関数は、プロジェクトの静的ディレクトリにあるファビコンファイルの提供を試みます。ファビコンファイルが見つからない場合、リソースが利用できないことを示す HTTP 404 エラーが発生します。" -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -2974,11 +3017,11 @@ msgstr "" "リクエストを admin インデックスページにリダイレクトします。この関数は、HTTP リクエストを処理し、 Django の admin " "インタフェースインデッ クスページにリダイレクトします。HTTP リダイレクトの処理には Django の `redirect` 関数を使います。" -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "eVibes の現在のバージョンを返します。" -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "ダッシュボードのカスタム変数を返します。" diff --git a/engine/core/locale/kk_KZ/LC_MESSAGES/django.po b/engine/core/locale/kk_KZ/LC_MESSAGES/django.po index c1636ac3..bb69c8dc 100644 --- a/engine/core/locale/kk_KZ/LC_MESSAGES/django.po +++ b/engine/core/locale/kk_KZ/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -131,7 +131,7 @@ msgstr "" msgid "children" msgstr "" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "" @@ -1049,7 +1049,7 @@ msgstr "" msgid "camelized JSON data from the requested URL" msgstr "" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "" @@ -2526,6 +2526,134 @@ msgstr "" msgid "About Us" msgstr "" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "" + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "" + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "" @@ -2534,91 +2662,6 @@ msgstr "" msgid "Dashboard" msgstr "" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "" - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "" - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "" - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -2820,53 +2863,53 @@ msgstr "" msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." msgstr "" -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " "Content-Type header for XML." msgstr "" -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "" -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." msgstr "" -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "" -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." msgstr "" -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "" -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "" -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the " @@ -2874,31 +2917,31 @@ msgid "" "error is raised to indicate the resource is unavailable." msgstr "" -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static " @@ -2906,18 +2949,18 @@ msgid "" "error is raised to indicate the resource is unavailable." msgstr "" -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming " "HTTP requests and redirects them to the Django admin interface index page. " "It uses Django's `redirect` function for handling the HTTP redirection." msgstr "" -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "" -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "" diff --git a/engine/core/locale/ko_KR/LC_MESSAGES/django.mo b/engine/core/locale/ko_KR/LC_MESSAGES/django.mo index 5e7b3a0a..4a54b2b5 100644 Binary files a/engine/core/locale/ko_KR/LC_MESSAGES/django.mo and b/engine/core/locale/ko_KR/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/ko_KR/LC_MESSAGES/django.po b/engine/core/locale/ko_KR/LC_MESSAGES/django.po index 1cd06691..f82e58b9 100644 --- a/engine/core/locale/ko_KR/LC_MESSAGES/django.po +++ b/engine/core/locale/ko_KR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -129,7 +129,7 @@ msgstr "제품 주문" msgid "children" msgstr "어린이" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "구성" @@ -1063,7 +1063,7 @@ msgstr "캐시된 데이터" msgid "camelized JSON data from the requested URL" msgstr "요청된 URL의 카멜라이즈된 JSON 데이터" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "http(s)://로 시작하는 URL만 허용됩니다." @@ -2602,6 +2602,134 @@ msgstr "문의하기" msgid "About Us" msgstr "회사 소개" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "고객 믹스(30일)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "신규 고객" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "재방문 고객" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "지난 30일 동안 고객 활동이 없습니다." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "일일 판매량(30일)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "주문 (완료됨)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "총 수익" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "주문" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Gross" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "수입 개요" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "순 수익" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "세금" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "반환" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "총 수익" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "날짜 없음" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "수익(총액, 30일)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "수익(순, 30일)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "반품 (30일)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "처리된 주문(30일)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "대부분의 반품 제품(30일)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "지난 30일 동안 반품이 없습니다." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "가장 많이 원하는 제품" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "아직 데이터가 없습니다." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "가장 인기 있는 제품" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "빠른 링크" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "사용할 수 있는 링크가 없습니다." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "배송 대 디지털(30일)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "디지털" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "배송됨" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "수량별 상위 카테고리(30일)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "지난 30일 동안 카테고리 매출이 없습니다." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "장고 사이트 관리자" @@ -2610,91 +2738,6 @@ msgstr "장고 사이트 관리자" msgid "Dashboard" msgstr "대시보드" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "수익(총액, 30일)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "수익(순, 30일)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "반품 (30일)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "처리된 주문(30일)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "수입 개요" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "순 수익" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "세금" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "반환" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "총 수익" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "아직 차트에 넣을 데이터가 충분하지 않습니다." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "빠른 링크" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "사용할 수 있는 링크가 없습니다." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "일일 판매량(30일)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "주문 (완료됨)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "총 수익" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "주문" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Gross" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "가장 많이 원하는 제품" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "아직 데이터가 없습니다." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "가장 인기 있는 제품" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -2901,14 +2944,14 @@ msgstr "NOMINATIM_URL 파라미터를 설정해야 합니다!" msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "이미지 크기는 w{max_width} x h{max_height} 픽셀을 초과하지 않아야 합니다!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." msgstr "" "사이트맵 색인에 대한 요청을 처리하고 XML 응답을 반환합니다. 응답에 XML에 적합한 콘텐츠 유형 헤더가 포함되어 있는지 확인합니다." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -2917,40 +2960,40 @@ msgstr "" "사이트맵에 대한 상세 보기 응답을 처리합니다. 이 함수는 요청을 처리하고 적절한 사이트맵 상세 보기 응답을 가져온 다음 XML의 " "Content-Type 헤더를 설정합니다." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "지원되는 언어 목록과 해당 정보를 반환합니다." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "웹사이트의 매개변수를 JSON 객체로 반환합니다." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." msgstr "지정된 키와 시간 초과로 캐시 데이터를 읽고 설정하는 등의 캐시 작업을 처리합니다." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "'문의하기' 양식 제출을 처리합니다." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." msgstr "들어오는 POST 요청의 URL 처리 및 유효성 검사 요청을 처리합니다." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "글로벌 검색 쿼리를 처리합니다." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "등록하지 않고 비즈니스로 구매하는 로직을 처리합니다." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -2958,31 +3001,31 @@ msgstr "" "주문과 관련된 디지털 자산의 다운로드를 처리합니다.\n" "이 함수는 프로젝트의 저장소 디렉토리에 있는 디지털 자산 파일을 제공하려고 시도합니다. 파일을 찾을 수 없으면 HTTP 404 오류가 발생하여 리소스를 사용할 수 없음을 나타냅니다." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "주문_제품_UUID는 필수입니다." -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "주문 제품이 존재하지 않습니다." -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "디지털 자산은 한 번만 다운로드할 수 있습니다." -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "디지털 자산을 다운로드하기 전에 주문을 결제해야 합니다." -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "주문 제품에 제품이 없습니다." -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "파비콘을 찾을 수 없습니다." -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -2990,7 +3033,7 @@ msgstr "" "웹사이트의 파비콘 요청을 처리합니다.\n" "이 함수는 프로젝트의 정적 디렉토리에 있는 파비콘 파일을 제공하려고 시도합니다. 파비콘 파일을 찾을 수 없는 경우 HTTP 404 오류가 발생하여 리소스를 사용할 수 없음을 나타냅니다." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -2999,11 +3042,11 @@ msgstr "" "요청을 관리자 색인 페이지로 리디렉션합니다. 이 함수는 들어오는 HTTP 요청을 처리하여 Django 관리자 인터페이스 인덱스 페이지로 " "리디렉션합니다. HTTP 리디렉션을 처리하기 위해 Django의 `redirect` 함수를 사용합니다." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "현재 버전의 eVibes를 반환합니다." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "대시보드에 대한 사용자 지정 변수를 반환합니다." diff --git a/engine/core/locale/nl_NL/LC_MESSAGES/django.mo b/engine/core/locale/nl_NL/LC_MESSAGES/django.mo index 0f28fb1d..51272dbb 100644 Binary files a/engine/core/locale/nl_NL/LC_MESSAGES/django.mo and b/engine/core/locale/nl_NL/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/nl_NL/LC_MESSAGES/django.po b/engine/core/locale/nl_NL/LC_MESSAGES/django.po index b99d756c..d4eaa9e9 100644 --- a/engine/core/locale/nl_NL/LC_MESSAGES/django.po +++ b/engine/core/locale/nl_NL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -131,7 +131,7 @@ msgstr "Producten bestellen" msgid "children" msgstr "Kinderen" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Config" @@ -1152,7 +1152,7 @@ msgstr "Gecachte gegevens" msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON-gegevens van de opgevraagde URL" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Alleen URL's die beginnen met http(s):// zijn toegestaan" @@ -2811,6 +2811,134 @@ msgstr "Neem contact met ons op" msgid "About Us" msgstr "Over ons" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Klantenmix (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Nieuwe klanten" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Terugkerende klanten" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Geen klantenactiviteit in de afgelopen 30 dagen." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Dagelijkse verkoop (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Bestellingen (AFGESLOTEN)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Bruto-omzet" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Bestellingen" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Bruto" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Overzicht inkomsten" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Netto-inkomsten" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Belastingen" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Geeft" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Bruto-omzet" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Geen datum" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Inkomsten (bruto, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Inkomsten (netto, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Retourzendingen (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Verwerkte orders (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Meest geretourneerde producten (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Geen retourzendingen in de afgelopen 30 dagen." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Meest gewenste product" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Nog geen gegevens." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Populairste product" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Snelle links" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Geen links beschikbaar." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Verzonden vs digitaal (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digitaal" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Verzonden" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Topcategorieën naar hoeveelheid (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Geen categorieverkopen in de afgelopen 30 dagen." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Django website beheerder" @@ -2819,91 +2947,6 @@ msgstr "Django website beheerder" msgid "Dashboard" msgstr "Dashboard" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Inkomsten (bruto, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Inkomsten (netto, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Retourzendingen (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Verwerkte orders (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Overzicht inkomsten" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Netto-inkomsten" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Belastingen" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Geeft" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Bruto-omzet" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Nog niet genoeg gegevens voor een grafiek." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Snelle links" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Geen links beschikbaar." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Dagelijkse verkoop (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Bestellingen (AFGESLOTEN)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Bruto-omzet" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Bestellingen" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Bruto" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Meest gewenste product" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Nog geen gegevens." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Populairste product" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3123,7 +3166,7 @@ msgstr "" "Afbeeldingsafmetingen mogen niet groter zijn dan w{max_width} x " "h{max_height} pixels" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3132,7 +3175,7 @@ msgstr "" "terug. Het zorgt ervoor dat het antwoord de juiste inhoudstype header voor " "XML bevat." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3142,16 +3185,16 @@ msgstr "" "verwerkt het verzoek, haalt het juiste sitemap detail antwoord op en stelt " "de Content-Type header in voor XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "Geeft een lijst met ondersteunde talen en de bijbehorende informatie." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Retourneert de parameters van de website als een JSON-object." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3159,11 +3202,11 @@ msgstr "" "Verwerkt cachebewerkingen zoals het lezen en instellen van cachegegevens met" " een opgegeven sleutel en time-out." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Handelt `contact met ons` formulier inzendingen af." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3171,15 +3214,15 @@ msgstr "" "Handelt verzoeken af voor het verwerken en valideren van URL's van inkomende" " POST-verzoeken." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Handelt globale zoekopdrachten af." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Behandelt de logica van kopen als bedrijf zonder registratie." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3187,33 +3230,33 @@ msgstr "" "Handelt het downloaden af van een digitaal actief dat is gekoppeld aan een bestelling.\n" "Deze functie probeert het digitale activabestand te serveren dat zich in de opslagmap van het project bevindt. Als het bestand niet wordt gevonden, wordt er een HTTP 404-fout weergegeven om aan te geven dat de bron niet beschikbaar is." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid is vereist" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "bestelproduct bestaat niet" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "U kunt het digitale goed maar één keer downloaden" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "" "de bestelling moet worden betaald voordat het digitale actief kan worden " "gedownload" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Het bestelde product heeft geen product" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon niet gevonden" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3221,7 +3264,7 @@ msgstr "" "Handelt verzoeken af voor de favicon van een website.\n" "Deze functie probeert het favicon-bestand te serveren dat zich in de statische map van het project bevindt. Als het favicon-bestand niet wordt gevonden, wordt er een HTTP 404-fout weergegeven om aan te geven dat de bron niet beschikbaar is." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3232,11 +3275,11 @@ msgstr "" "Django admin-interface. Het gebruikt Django's `redirect` functie voor het " "afhandelen van de HTTP-omleiding." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Geeft als resultaat de huidige versie van eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Geeft aangepaste variabelen voor Dashboard." diff --git a/engine/core/locale/no_NO/LC_MESSAGES/django.mo b/engine/core/locale/no_NO/LC_MESSAGES/django.mo index 70062d7c..a47aa432 100644 Binary files a/engine/core/locale/no_NO/LC_MESSAGES/django.mo and b/engine/core/locale/no_NO/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/no_NO/LC_MESSAGES/django.po b/engine/core/locale/no_NO/LC_MESSAGES/django.po index 24780375..6789c53b 100644 --- a/engine/core/locale/no_NO/LC_MESSAGES/django.po +++ b/engine/core/locale/no_NO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -132,7 +132,7 @@ msgstr "Bestill produkter" msgid "children" msgstr "Barn" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Konfigurer" @@ -1133,7 +1133,7 @@ msgstr "Bufret data" msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON-data fra den forespurte URL-en" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Bare nettadresser som begynner med http(s):// er tillatt" @@ -2773,6 +2773,134 @@ msgstr "Kontakt oss" msgid "About Us" msgstr "Om oss" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Kundemiks (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Nye kunder" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Tilbakevendende kunder" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Ingen kundeaktivitet de siste 30 dagene." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Daglig salg (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Bestillinger (AVSLUTTET)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Brutto inntekter" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Bestillinger" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Brutto" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Oversikt over inntekter" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Netto inntekter" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Skatter og avgifter" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Retur" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Brutto inntekter" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Ingen dato" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Inntekter (brutto, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Inntekter (netto, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Returnerer (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Behandlede bestillinger (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Flest returnerte produkter (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Ingen returer i løpet av de siste 30 dagene." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Mest ønskede produkt" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Ingen data ennå." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Mest populære produkt" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Hurtigkoblinger" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Ingen lenker tilgjengelig." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Leveres vs. digitalt (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digital" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Leveres" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Toppkategorier etter antall (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Ingen kategorisalg de siste 30 dagene." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Django site admin" @@ -2781,91 +2909,6 @@ msgstr "Django site admin" msgid "Dashboard" msgstr "Dashbord" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Inntekter (brutto, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Inntekter (netto, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Returnerer (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Behandlede bestillinger (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Oversikt over inntekter" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Netto inntekter" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Skatter og avgifter" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Retur" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Brutto inntekter" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Ikke nok data til å lage et diagram ennå." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Hurtigkoblinger" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Ingen lenker tilgjengelig." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Daglig salg (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Bestillinger (AVSLUTTET)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Brutto inntekter" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Bestillinger" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Brutto" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Mest ønskede produkt" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Ingen data ennå." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Mest populære produkt" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3083,7 +3126,7 @@ msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" "Bildedimensjonene bør ikke overstige b{max_width} x h{max_height} piksler!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3091,7 +3134,7 @@ msgstr "" "Håndterer forespørselen om områdekartindeksen og returnerer et XML-svar. Den" " sørger for at svaret inneholder riktig innholdstypeoverskrift for XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3101,17 +3144,17 @@ msgstr "" "behandler forespørselen, henter det aktuelle detaljsvaret for områdekartet " "og angir overskriften Content-Type for XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Returnerer en liste over språk som støttes, med tilhørende informasjon." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Returnerer nettstedets parametere som et JSON-objekt." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3119,11 +3162,11 @@ msgstr "" "Håndterer cache-operasjoner som lesing og innstilling av cachedata med en " "spesifisert nøkkel og tidsavbrudd." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Håndterer innsendinger av `kontakt oss`-skjemaer." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3131,15 +3174,15 @@ msgstr "" "Håndterer forespørsler om behandling og validering av URL-er fra innkommende" " POST-forespørsler." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Håndterer globale søk." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Håndterer logikken med å kjøpe som en bedrift uten registrering." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3147,31 +3190,31 @@ msgstr "" "Håndterer nedlastingen av en digital ressurs som er knyttet til en bestilling.\n" "Denne funksjonen forsøker å levere den digitale ressursfilen som ligger i lagringskatalogen til prosjektet. Hvis filen ikke blir funnet, vises en HTTP 404-feil for å indikere at ressursen ikke er tilgjengelig." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid er påkrevd" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "ordreproduktet eksisterer ikke" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Du kan bare laste ned den digitale ressursen én gang" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "bestillingen må betales før nedlasting av den digitale ressursen" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Ordreproduktet har ikke et produkt" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon ble ikke funnet" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3179,7 +3222,7 @@ msgstr "" "Håndterer forespørsler om faviconet til et nettsted.\n" "Denne funksjonen forsøker å vise favicon-filen som ligger i den statiske katalogen i prosjektet. Hvis favicon-filen ikke blir funnet, vises en HTTP 404-feil for å indikere at ressursen ikke er tilgjengelig." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3190,11 +3233,11 @@ msgstr "" "administrasjonsgrensesnittet. Den bruker Djangos `redirect`-funksjon for å " "håndtere HTTP-omdirigeringen." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Returnerer gjeldende versjon av eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Returnerer egendefinerte variabler for Dashboard." diff --git a/engine/core/locale/pl_PL/LC_MESSAGES/django.mo b/engine/core/locale/pl_PL/LC_MESSAGES/django.mo index 8eed1f1e..3fd58e80 100644 Binary files a/engine/core/locale/pl_PL/LC_MESSAGES/django.mo and b/engine/core/locale/pl_PL/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/pl_PL/LC_MESSAGES/django.po b/engine/core/locale/pl_PL/LC_MESSAGES/django.po index 52fec4a7..738143be 100644 --- a/engine/core/locale/pl_PL/LC_MESSAGES/django.po +++ b/engine/core/locale/pl_PL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "Zamawianie produktów" msgid "children" msgstr "Dzieci" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Konfiguracja" @@ -1139,7 +1139,7 @@ msgstr "Dane w pamięci podręcznej" msgid "camelized JSON data from the requested URL" msgstr "Kamelizowane dane JSON z żądanego adresu URL" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Dozwolone są tylko adresy URL zaczynające się od http(s)://" @@ -2784,6 +2784,134 @@ msgstr "Kontakt" msgid "About Us" msgstr "O nas" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Mix klientów (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Nowi klienci" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Powracający klienci" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Brak aktywności klienta w ciągu ostatnich 30 dni." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Dzienna sprzedaż (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Zamówienia (ZAKOŃCZONE)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Przychód brutto" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Zamówienia" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Brutto" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Przegląd dochodów" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Przychody netto" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Podatki" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Zwroty" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Przychód brutto" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Brak daty" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Przychody (brutto, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Przychody (netto, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Zwroty (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Przetworzone zamówienia (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Najczęściej zwracane produkty (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Brak zwrotów w ciągu ostatnich 30 dni." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Najbardziej pożądany produkt" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Brak danych." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Najpopularniejszy produkt" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Szybkie łącza" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Brak dostępnych linków." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Wysyłane vs cyfrowe (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Cyfrowy" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Wysłane" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Najlepsze kategorie według ilości (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Brak sprzedaży kategorii w ciągu ostatnich 30 dni." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Administrator strony Django" @@ -2792,91 +2920,6 @@ msgstr "Administrator strony Django" msgid "Dashboard" msgstr "Pulpit nawigacyjny" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Przychody (brutto, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Przychody (netto, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Zwroty (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Przetworzone zamówienia (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Przegląd dochodów" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Przychody netto" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Podatki" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Zwroty" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Przychód brutto" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Za mało danych na wykres." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Szybkie łącza" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Brak dostępnych linków." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Dzienna sprzedaż (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Zamówienia (ZAKOŃCZONE)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Przychód brutto" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Zamówienia" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Brutto" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Najbardziej pożądany produkt" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Brak danych." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Najpopularniejszy produkt" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3096,7 +3139,7 @@ msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" "Wymiary obrazu nie powinny przekraczać w{max_width} x h{max_height} pikseli." -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3104,7 +3147,7 @@ msgstr "" "Obsługuje żądanie indeksu mapy witryny i zwraca odpowiedź XML. Zapewnia, że " "odpowiedź zawiera odpowiedni nagłówek typu zawartości dla XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3114,16 +3157,16 @@ msgstr "" "przetwarza żądanie, pobiera odpowiednią szczegółową odpowiedź mapy witryny i" " ustawia nagłówek Content-Type dla XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "Zwraca listę obsługiwanych języków i odpowiadające im informacje." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Zwraca parametry strony internetowej jako obiekt JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3131,11 +3174,11 @@ msgstr "" "Obsługuje operacje pamięci podręcznej, takie jak odczytywanie i ustawianie " "danych pamięci podręcznej z określonym kluczem i limitem czasu." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Obsługuje zgłoszenia formularzy `kontaktuj się z nami`." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3143,15 +3186,15 @@ msgstr "" "Obsługuje żądania przetwarzania i sprawdzania poprawności adresów URL z " "przychodzących żądań POST." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Obsługuje globalne zapytania wyszukiwania." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Obsługuje logikę zakupu jako firma bez rejestracji." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3159,31 +3202,31 @@ msgstr "" "Obsługuje pobieranie zasobu cyfrowego powiązanego z zamówieniem.\n" "Ta funkcja próbuje obsłużyć plik zasobu cyfrowego znajdujący się w katalogu przechowywania projektu. Jeśli plik nie zostanie znaleziony, zgłaszany jest błąd HTTP 404 wskazujący, że zasób jest niedostępny." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "Order_product_uuid jest wymagany" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "zamówiony produkt nie istnieje" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Zasób cyfrowy można pobrać tylko raz" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "zamówienie musi zostać opłacone przed pobraniem zasobu cyfrowego" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Produkt zamówienia nie ma produktu" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "nie znaleziono favicon" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3191,7 +3234,7 @@ msgstr "" "Obsługuje żądania favicon strony internetowej.\n" "Ta funkcja próbuje obsłużyć plik favicon znajdujący się w katalogu statycznym projektu. Jeśli plik favicon nie zostanie znaleziony, zgłaszany jest błąd HTTP 404 wskazujący, że zasób jest niedostępny." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3202,11 +3245,11 @@ msgstr "" "administratora Django. Używa funkcji `redirect` Django do obsługi " "przekierowania HTTP." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Zwraca aktualną wersję aplikacji eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Zwraca zmienne niestandardowe dla Dashboard." diff --git a/engine/core/locale/pt_BR/LC_MESSAGES/django.mo b/engine/core/locale/pt_BR/LC_MESSAGES/django.mo index 2f51c90c..99f60e18 100644 Binary files a/engine/core/locale/pt_BR/LC_MESSAGES/django.mo and b/engine/core/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/pt_BR/LC_MESSAGES/django.po b/engine/core/locale/pt_BR/LC_MESSAGES/django.po index b8548d3e..7c6da212 100644 --- a/engine/core/locale/pt_BR/LC_MESSAGES/django.po +++ b/engine/core/locale/pt_BR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "Solicitar produtos" msgid "children" msgstr "Crianças" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Configuração" @@ -1123,7 +1123,7 @@ msgstr "Dados em cache" msgid "camelized JSON data from the requested URL" msgstr "Dados JSON camelizados da URL solicitada" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Somente URLs que começam com http(s):// são permitidos" @@ -2763,6 +2763,134 @@ msgstr "Entre em contato conosco" msgid "About Us" msgstr "Sobre nós" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Mix de clientes (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Novos clientes" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Clientes que retornam" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Nenhuma atividade de cliente nos últimos 30 dias." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Vendas diárias (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Pedidos (FINALIZADOS)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Receita bruta" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Pedidos" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Bruto" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Visão geral da renda" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Receita líquida" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Impostos" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Devoluções" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Receita bruta" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "No data" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Receita (bruta, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Receita (líquida, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Devoluções (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Pedidos processados (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Produtos mais devolvidos (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Não houve devoluções nos últimos 30 dias." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Produto mais desejado" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Ainda não há dados." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Produto mais popular" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Links rápidos" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Não há links disponíveis." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Enviado x Digital (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digital" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Enviado" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Principais categorias por quantidade (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Nenhuma venda de categoria nos últimos 30 dias." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Administrador do site Django" @@ -2771,91 +2899,6 @@ msgstr "Administrador do site Django" msgid "Dashboard" msgstr "Painel de controle" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Receita (bruta, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Receita (líquida, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Devoluções (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Pedidos processados (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Visão geral da renda" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Receita líquida" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Impostos" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Devoluções" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Receita bruta" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Ainda não há dados suficientes para o gráfico." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Links rápidos" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Não há links disponíveis." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Vendas diárias (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Pedidos (FINALIZADOS)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Receita bruta" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Pedidos" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Bruto" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Produto mais desejado" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Ainda não há dados." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Produto mais popular" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3072,7 +3115,7 @@ msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" "As dimensões da imagem não devem exceder w{max_width} x h{max_height} pixels" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3081,7 +3124,7 @@ msgstr "" "Ele garante que a resposta inclua o cabeçalho de tipo de conteúdo apropriado" " para XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3091,17 +3134,17 @@ msgstr "" "processa a solicitação, obtém a resposta detalhada apropriada do mapa do " "site e define o cabeçalho Content-Type para XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Retorna uma lista de idiomas suportados e suas informações correspondentes." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Retorna os parâmetros do site como um objeto JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3109,11 +3152,11 @@ msgstr "" "Manipula operações de cache, como ler e definir dados de cache com uma chave" " e um tempo limite especificados." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Trata os envios de formulários \"entre em contato conosco\"." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3121,15 +3164,15 @@ msgstr "" "Trata as solicitações de processamento e validação de URLs de solicitações " "POST recebidas." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Trata as consultas de pesquisa global." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Lida com a lógica de comprar como uma empresa sem registro." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3137,31 +3180,31 @@ msgstr "" "Trata do download de um ativo digital associado a um pedido.\n" "Essa função tenta servir o arquivo de ativo digital localizado no diretório de armazenamento do projeto. Se o arquivo não for encontrado, será gerado um erro HTTP 404 para indicar que o recurso não está disponível." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid é obrigatório" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "o produto do pedido não existe" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Você só pode fazer o download do ativo digital uma vez" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "o pedido deve ser pago antes de fazer o download do ativo digital" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "O produto do pedido não tem um produto" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon não encontrado" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3169,7 +3212,7 @@ msgstr "" "Trata as solicitações do favicon de um site.\n" "Essa função tenta servir o arquivo favicon localizado no diretório estático do projeto. Se o arquivo favicon não for encontrado, será gerado um erro HTTP 404 para indicar que o recurso não está disponível." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3180,11 +3223,11 @@ msgstr "" "índice da interface de administração do Django. Ela usa a função `redirect` " "do Django para lidar com o redirecionamento HTTP." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Retorna a versão atual do eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Retorna variáveis personalizadas para o Dashboard." diff --git a/engine/core/locale/ro_RO/LC_MESSAGES/django.mo b/engine/core/locale/ro_RO/LC_MESSAGES/django.mo index cfd8bd78..e57b4690 100644 Binary files a/engine/core/locale/ro_RO/LC_MESSAGES/django.mo and b/engine/core/locale/ro_RO/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/ro_RO/LC_MESSAGES/django.po b/engine/core/locale/ro_RO/LC_MESSAGES/django.po index b1948d23..e8a67c35 100644 --- a/engine/core/locale/ro_RO/LC_MESSAGES/django.po +++ b/engine/core/locale/ro_RO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "Comandați produse" msgid "children" msgstr "Copii" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Configurare" @@ -1146,7 +1146,7 @@ msgstr "Date în cache" msgid "camelized JSON data from the requested URL" msgstr "Date JSON Camelizate de la URL-ul solicitat" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Sunt permise numai URL-urile care încep cu http(s)://" @@ -2799,6 +2799,134 @@ msgstr "Contactați-ne" msgid "About Us" msgstr "Despre noi" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Mix de clienți (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Clienți noi" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Clienți care revin" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Nicio activitate a clientului în ultimele 30 de zile." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Vânzări zilnice (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Comenzi (FINISHED)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Venituri brute" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Ordine" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Brut" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Prezentare generală a veniturilor" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Venituri nete" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Impozite" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Returnări" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Venituri brute" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Fără dată" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Venituri (brute, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Venituri (nete, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Returnări (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Comenzi procesate (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Cele mai returnate produse (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Niciun retur în ultimele 30 de zile." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Cel mai dorit produs" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Nu există încă date." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Cel mai popular produs" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Linkuri rapide" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Nu există legături disponibile." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Livrat vs Digital (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digital" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Livrat" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Principalele categorii în funcție de cantitate (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Nicio categorie de vânzări în ultimele 30 de zile." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Administratorul site-ului Django" @@ -2807,91 +2935,6 @@ msgstr "Administratorul site-ului Django" msgid "Dashboard" msgstr "Tablou de bord" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Venituri (brute, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Venituri (nete, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Returnări (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Comenzi procesate (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Prezentare generală a veniturilor" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Venituri nete" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Impozite" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Returnări" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Venituri brute" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Nu există încă suficiente date pentru grafic." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Linkuri rapide" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Nu există legături disponibile." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Vânzări zilnice (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Comenzi (FINISHED)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Venituri brute" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Ordine" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Brut" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Cel mai dorit produs" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Nu există încă date." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Cel mai popular produs" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3110,7 +3153,7 @@ msgstr "" "Dimensiunile imaginii nu trebuie să depășească w{max_width} x h{max_height} " "pixeli" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3118,7 +3161,7 @@ msgstr "" "Gestionează cererea pentru indexul sitemap și returnează un răspuns XML. Se " "asigură că răspunsul include antetul tip de conținut adecvat pentru XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3128,17 +3171,17 @@ msgstr "" "Această funcție procesează cererea, extrage răspunsul detaliat corespunzător" " al hărții site-ului și stabilește antetul Content-Type pentru XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Returnează o listă a limbilor acceptate și informațiile corespunzătoare." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Returnează parametrii site-ului web sub forma unui obiect JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3146,11 +3189,11 @@ msgstr "" "Gestionează operațiunile din cache, cum ar fi citirea și setarea datelor din" " cache cu o cheie și un timeout specificate." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Gestionează trimiterea formularelor `contact us`." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3158,15 +3201,15 @@ msgstr "" "Gestionează cererile de procesare și validare a URL-urilor din cererile POST" " primite." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Gestionează interogările de căutare globală." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Gestionează logica cumpărării ca o afacere fără înregistrare." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3174,31 +3217,31 @@ msgstr "" "Gestionează descărcarea unui bun digital asociat cu o comandă.\n" "Această funcție încearcă să servească fișierul activului digital situat în directorul de stocare al proiectului. Dacă fișierul nu este găsit, este generată o eroare HTTP 404 pentru a indica faptul că resursa nu este disponibilă." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid este necesar" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "comanda produsul nu există" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Puteți descărca activul digital o singură dată" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "comanda trebuie plătită înainte de descărcarea activului digital" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Produsul de comandă nu are un produs" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon nu a fost găsit" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3206,7 +3249,7 @@ msgstr "" "Gestionează cererile pentru favicon-ul unui site web.\n" "Această funcție încearcă să servească fișierul favicon situat în directorul static al proiectului. Dacă fișierul favicon nu este găsit, este generată o eroare HTTP 404 pentru a indica faptul că resursa nu este disponibilă." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3217,11 +3260,11 @@ msgstr "" " index a interfeței de administrare Django. Aceasta utilizează funcția " "`redirect` din Django pentru gestionarea redirecționării HTTP." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Returnează versiunea curentă a eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Returnează variabilele personalizate pentru tabloul de bord." diff --git a/engine/core/locale/ru_RU/LC_MESSAGES/django.mo b/engine/core/locale/ru_RU/LC_MESSAGES/django.mo index 595a063b..5abeee3c 100644 Binary files a/engine/core/locale/ru_RU/LC_MESSAGES/django.mo and b/engine/core/locale/ru_RU/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/ru_RU/LC_MESSAGES/django.po b/engine/core/locale/ru_RU/LC_MESSAGES/django.po index d0b5671e..57e763d8 100644 --- a/engine/core/locale/ru_RU/LC_MESSAGES/django.po +++ b/engine/core/locale/ru_RU/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "Заказанные товары" msgid "children" msgstr "Дети" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Конфигурация" @@ -1145,7 +1145,7 @@ msgstr "Кэшированные данные" msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON-данные из запрашиваемого URL" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Допускаются только URL-адреса, начинающиеся с http(s)://" @@ -2787,6 +2787,134 @@ msgstr "Свяжитесь с нами" msgid "About Us" msgstr "О нас" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Ассортимент клиентов (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Новые клиенты" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Возвращение клиентов" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Отсутствие активности клиентов за последние 30 дней." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Ежедневные продажи (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Заказы (ОКОНЧЕНЫ)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Валовая выручка" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Заказы" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Брутто" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Обзор доходов" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Чистая выручка" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Налоги" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Возвраты" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Валовая выручка" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Нет даты" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Выручка (брутто, 30д)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Выручка (нетто, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Возвраты (30 дней)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Обработанные заказы (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Большинство возвращенных товаров (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "За последние 30 дней возвратов не было." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Самые желанные товары" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Данных пока нет." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Самые популярные товары" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Быстрые ссылки" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Ссылки недоступны." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Доставка и цифровые технологии (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Цифровой" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Отправлено" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Лучшие категории по количеству (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "За последние 30 дней не было ни одной продажи в категории." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Администратор сайта Django" @@ -2795,91 +2923,6 @@ msgstr "Администратор сайта Django" msgid "Dashboard" msgstr "Приборная панель" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Выручка (брутто, 30д)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Выручка (нетто, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Возвраты (30 дней)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Обработанные заказы (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Обзор доходов" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Чистая выручка" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Налоги" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Возвраты" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Валовая выручка" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Пока недостаточно данных для построения графика." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Быстрые ссылки" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Ссылки недоступны." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Ежедневные продажи (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Заказы (ОКОНЧЕНЫ)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Валовая выручка" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Заказы" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Брутто" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Самые желанные товары" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Данных пока нет." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Самые популярные товары" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3099,7 +3142,7 @@ msgstr "" "Размеры изображения не должны превышать w{max_width} x h{max_height} " "пикселей" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3108,7 +3151,7 @@ msgstr "" "Он обеспечивает включение в ответ заголовка типа содержимого, " "соответствующего типу XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3118,17 +3161,17 @@ msgstr "" "обрабатывает запрос, извлекает соответствующий подробный ответ карты сайта и" " устанавливает заголовок Content-Type для XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Возвращает список поддерживаемых языков и соответствующую информацию о них." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Возвращает параметры сайта в виде объекта JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3136,26 +3179,26 @@ msgstr "" "Выполняет операции с кэшем, такие как чтение и установка данных кэша с " "заданным ключом и таймаутом." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Обрабатывает отправленные формы `contact us`." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." msgstr "" "Обрабатывает запросы на обработку и проверку URL из входящих POST-запросов." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Обрабатывает глобальные поисковые запросы." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Работает с логикой покупки как бизнеса без регистрации." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3163,31 +3206,31 @@ msgstr "" "Обрабатывает загрузку цифрового актива, связанного с заказом.\n" "Эта функция пытается обслужить файл цифрового актива, расположенный в каталоге хранения проекта. Если файл не найден, выдается ошибка HTTP 404, указывающая на недоступность ресурса." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "требуется order_product_uuid" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "заказанный товар не существует" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Вы можете загрузить цифровой актив только один раз" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "заказ должен быть оплачен до загрузки цифрового актива" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "У заказанного продукта нет продукта" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon не найден" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3195,7 +3238,7 @@ msgstr "" "Обрабатывает запросы на фавикон веб-сайта.\n" "Эта функция пытается обслужить файл favicon, расположенный в статической директории проекта. Если файл favicon не найден, выдается ошибка HTTP 404, указывающая на недоступность ресурса." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3206,11 +3249,11 @@ msgstr "" "администратора Django. Для обработки HTTP-перенаправления используется " "функция Django `redirect`." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Возвращает текущую версию eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Возвращает пользовательские переменные для Dashboard." diff --git a/engine/core/locale/sv_SE/LC_MESSAGES/django.mo b/engine/core/locale/sv_SE/LC_MESSAGES/django.mo index 389559a9..b0cd46f4 100644 Binary files a/engine/core/locale/sv_SE/LC_MESSAGES/django.mo and b/engine/core/locale/sv_SE/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/sv_SE/LC_MESSAGES/django.po b/engine/core/locale/sv_SE/LC_MESSAGES/django.po index 67da0e1e..bf18e158 100644 --- a/engine/core/locale/sv_SE/LC_MESSAGES/django.po +++ b/engine/core/locale/sv_SE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -131,7 +131,7 @@ msgstr "Beställ produkter" msgid "children" msgstr "Barn och ungdomar" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Konfig" @@ -1118,7 +1118,7 @@ msgstr "Cachad data" msgid "camelized JSON data from the requested URL" msgstr "Cameliserad JSON-data från den begärda URL:en" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Endast webbadresser som börjar med http(s):// är tillåtna" @@ -2752,6 +2752,134 @@ msgstr "Kontakta oss" msgid "About Us" msgstr "Om oss" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Kundmix (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Nya kunder" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Återkommande kunder" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Ingen kundaktivitet under de senaste 30 dagarna." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Daglig försäljning (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Beställningar (AVSLUTAD)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Bruttointäkter" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Beställningar" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Brutto" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Översikt över intäkter" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Nettoomsättning" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Skatter" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Avkastning" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Bruttointäkter" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Inget datum" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Intäkter (brutto, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Intäkter (netto, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Avkastning (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Bearbetade order (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Mest returnerade produkter (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Inga returer under de senaste 30 dagarna." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Mest önskade produkt" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Inga uppgifter ännu." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Mest populära produkt" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Snabblänkar" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Inga länkar tillgängliga." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Skickat eller digitalt (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Digital" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Levereras" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Toppkategorier efter antal (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Ingen kategoriförsäljning under de senaste 30 dagarna." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Django webbplatsadministratör" @@ -2760,91 +2888,6 @@ msgstr "Django webbplatsadministratör" msgid "Dashboard" msgstr "Instrumentpanel" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Intäkter (brutto, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Intäkter (netto, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Avkastning (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Bearbetade order (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Översikt över intäkter" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Nettoomsättning" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Skatter" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Avkastning" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Bruttointäkter" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Inte tillräckligt med data för diagram ännu." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Snabblänkar" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Inga länkar tillgängliga." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Daglig försäljning (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Beställningar (AVSLUTAD)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Bruttointäkter" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Beställningar" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Brutto" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Mest önskade produkt" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Inga uppgifter ännu." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Mest populära produkt" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3061,7 +3104,7 @@ msgstr "Parametern NOMINATIM_URL måste konfigureras!" msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "Bildmåtten får inte överstiga w{max_width} x h{max_height} pixlar!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3069,7 +3112,7 @@ msgstr "" "Hanterar begäran om index för webbplatskartan och returnerar ett XML-svar. " "Den ser till att svaret innehåller rätt innehållstypshuvud för XML." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3079,16 +3122,16 @@ msgstr "" "bearbetar begäran, hämtar det lämpliga detaljerade svaret för " "webbplatskartan och ställer in Content-Type-huvudet för XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "Returnerar en lista över språk som stöds och motsvarande information." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Returnerar webbplatsens parametrar som ett JSON-objekt." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3096,11 +3139,11 @@ msgstr "" "Hanterar cacheoperationer som att läsa och ställa in cachedata med en " "angiven nyckel och timeout." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Hanterar formulärinlämningar för `kontakta oss`." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3108,15 +3151,15 @@ msgstr "" "Hanterar förfrågningar om bearbetning och validering av URL:er från " "inkommande POST-förfrågningar." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Hanterar globala sökfrågor." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Hanterar logiken i att köpa som ett företag utan registrering." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3124,31 +3167,31 @@ msgstr "" "Hanterar nedladdning av en digital tillgång som är kopplad till en order.\n" "Denna funktion försöker servera den digitala tillgångsfilen som finns i lagringskatalogen för projektet. Om filen inte hittas visas ett HTTP 404-fel som indikerar att resursen inte är tillgänglig." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid är obligatoriskt" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "Beställ produkten finns inte" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Du kan bara ladda ner den digitala tillgången en gång" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "beställningen måste betalas innan den digitala tillgången laddas ner" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Beställningens produkt har ingen produkt" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon hittades inte" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3156,7 +3199,7 @@ msgstr "" "Hanterar förfrågningar om favicon på en webbplats.\n" "Denna funktion försöker servera favicon-filen som finns i den statiska katalogen i projektet. Om favicon-filen inte hittas visas ett HTTP 404-fel som anger att resursen inte är tillgänglig." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3167,11 +3210,11 @@ msgstr "" "admin-gränssnitt. Den använder Djangos `redirect`-funktion för att hantera " "HTTP-omdirigeringen." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Returnerar aktuell version av eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Returnerar anpassade variabler för Dashboard." diff --git a/engine/core/locale/th_TH/LC_MESSAGES/django.mo b/engine/core/locale/th_TH/LC_MESSAGES/django.mo index 9851644d..28908b02 100644 Binary files a/engine/core/locale/th_TH/LC_MESSAGES/django.mo and b/engine/core/locale/th_TH/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/th_TH/LC_MESSAGES/django.po b/engine/core/locale/th_TH/LC_MESSAGES/django.po index 014d01fc..2384c1c1 100644 --- a/engine/core/locale/th_TH/LC_MESSAGES/django.po +++ b/engine/core/locale/th_TH/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -131,7 +131,7 @@ msgstr "สั่งซื้อสินค้า" msgid "children" msgstr "เด็ก" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "การกำหนดค่า" @@ -1112,7 +1112,7 @@ msgstr "ข้อมูลที่เก็บไว้ในแคช" msgid "camelized JSON data from the requested URL" msgstr "ข้อมูล JSON ที่ผ่านการคาราเมลไลซ์จาก URL ที่ร้องขอ" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "อนุญาตเฉพาะ URL ที่ขึ้นต้นด้วย http(s):// เท่านั้น" @@ -2724,6 +2724,134 @@ msgstr "ติดต่อเรา" msgid "About Us" msgstr "เกี่ยวกับเรา" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "ลูกค้าผสม (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "ลูกค้าใหม่" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "ลูกค้าที่กลับมาใช้บริการ" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "ไม่มีกิจกรรมของลูกค้าใน 30 วันที่ผ่านมา" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "ยอดขายรายวัน (30 วัน)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "คำสั่งซื้อ (เสร็จสิ้น)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "รายได้รวม" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "คำสั่ง" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "กรอส" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "ภาพรวมรายได้" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "รายได้สุทธิ" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "ภาษี" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "การคืนสินค้า" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "รายได้รวม" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "ไม่มีวันที่" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "รายได้ (รวม, 30 วัน)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "รายได้ (สุทธิ, 30 วัน)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "การคืนสินค้า (30 วัน)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "คำสั่งซื้อที่ดำเนินการแล้ว (30 วัน)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "สินค้าที่ส่งคืนส่วนใหญ่ (30 วัน)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "ไม่มีการคืนสินค้าในช่วง 30 วันที่ผ่านมา" + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "สินค้าที่ลูกค้าต้องการมากที่สุด" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "ยังไม่มีข้อมูล" + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "สินค้าที่ได้รับความนิยมมากที่สุด" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "ลิงก์ด่วน" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "ไม่มีลิงก์ให้ใช้" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "จัดส่งทางไปรษณีย์ vs ดิจิทัล (30 วัน)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "ดิจิทัล" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "จัดส่งแล้ว" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "หมวดหมู่ยอดนิยมตามปริมาณ (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "ไม่มีการขายในหมวดหมู่ใดในช่วง 30 วันที่ผ่านมา" + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "ผู้ดูแลระบบเว็บไซต์ Django" @@ -2732,91 +2860,6 @@ msgstr "ผู้ดูแลระบบเว็บไซต์ Django" msgid "Dashboard" msgstr "แดชบอร์ด" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "รายได้ (รวม, 30 วัน)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "รายได้ (สุทธิ, 30 วัน)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "การคืนสินค้า (30 วัน)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "คำสั่งซื้อที่ดำเนินการแล้ว (30 วัน)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "ภาพรวมรายได้" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "รายได้สุทธิ" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "ภาษี" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "การคืนสินค้า" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "รายได้รวม" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "ข้อมูลไม่เพียงพอสำหรับการสร้างแผนภูมิ" - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "ลิงก์ด่วน" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "ไม่มีลิงก์ให้ใช้" - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "ยอดขายรายวัน (30 วัน)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "คำสั่งซื้อ (เสร็จสิ้น)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "รายได้รวม" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "คำสั่ง" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "กรอส" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "สินค้าที่ลูกค้าต้องการมากที่สุด" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "ยังไม่มีข้อมูล" - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "สินค้าที่ได้รับความนิยมมากที่สุด" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3025,7 +3068,7 @@ msgstr "ต้องกำหนดค่าพารามิเตอร์ NO msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "ขนาดของภาพไม่ควรเกิน w{max_width} x h{max_height} พิกเซล!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3033,7 +3076,7 @@ msgstr "" "จัดการคำขอสำหรับดัชนีแผนผังเว็บไซต์และส่งคืนการตอบสนองในรูปแบบ XML " "โดยตรวจสอบให้แน่ใจว่าการตอบสนองมีหัวข้อประเภทเนื้อหาที่เหมาะสมสำหรับ XML" -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3043,16 +3086,16 @@ msgstr "" " ดึงการตอบสนองรายละเอียดแผนผังเว็บไซต์ที่เหมาะสม และตั้งค่าส่วนหัว Content-" "Type สำหรับ XML" -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "ส่งคืนรายการของภาษาที่รองรับและข้อมูลที่เกี่ยวข้อง" -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "ส่งคืนพารามิเตอร์ของเว็บไซต์ในรูปแบบอ็อบเจ็กต์ JSON" -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3060,11 +3103,11 @@ msgstr "" "จัดการการดำเนินการแคช เช่น " "การอ่านและการตั้งค่าข้อมูลแคชด้วยคีย์ที่กำหนดและเวลาหมดอายุ" -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "จัดการการส่งแบบฟอร์ม 'ติดต่อเรา'" -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3072,15 +3115,15 @@ msgstr "" "จัดการคำขอสำหรับการประมวลผลและตรวจสอบความถูกต้องของ URL จากคำขอ POST " "ที่เข้ามา" -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "จัดการคำค้นหาทั่วโลก" -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "จัดการตรรกะของการซื้อในฐานะธุรกิจโดยไม่ต้องจดทะเบียน" -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3089,31 +3132,31 @@ msgstr "" "ฟังก์ชันนี้พยายามให้บริการไฟล์สินทรัพย์ดิจิทัลที่อยู่ในไดเรกทอรีจัดเก็บของโครงการ" " หากไม่พบไฟล์ จะเกิดข้อผิดพลาด HTTP 404 เพื่อระบุว่าทรัพยากรไม่พร้อมใช้งาน" -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid เป็นข้อมูลที่จำเป็น" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "คำสั่งซื้อสินค้าไม่มีอยู่" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "คุณสามารถดาวน์โหลดสินทรัพย์ดิจิทัลได้เพียงครั้งเดียวเท่านั้น" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "คำสั่งซื้อจะต้องชำระเงินก่อนดาวน์โหลดสินทรัพย์ดิจิทัล" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "สินค้าตามคำสั่งซื้อไม่มีสินค้า" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "ไม่พบไอคอนเว็บไซต์" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3122,7 +3165,7 @@ msgstr "" "favicon ที่อยู่ในไดเรกทอรีแบบคงที่ของโปรเจกต์ หากไม่พบไฟล์ favicon " "จะเกิดข้อผิดพลาด HTTP 404 เพื่อแสดงว่าทรัพยากรไม่พร้อมใช้งาน" -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3132,11 +3175,11 @@ msgstr "" "ที่เข้ามาและเปลี่ยนเส้นทางไปยังหน้าดัชนีของอินเทอร์เฟซผู้ดูแลระบบ Django " "โดยใช้ฟังก์ชัน `redirect` ของ Django สำหรับการเปลี่ยนเส้นทาง HTTP" -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "ส่งคืนเวอร์ชันปัจจุบันของ eVibes" -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "ส่งคืนตัวแปรที่กำหนดเองสำหรับแดชบอร์ด" diff --git a/engine/core/locale/tr_TR/LC_MESSAGES/django.mo b/engine/core/locale/tr_TR/LC_MESSAGES/django.mo index a299e4e8..37468013 100644 Binary files a/engine/core/locale/tr_TR/LC_MESSAGES/django.mo and b/engine/core/locale/tr_TR/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/tr_TR/LC_MESSAGES/django.po b/engine/core/locale/tr_TR/LC_MESSAGES/django.po index 9452a1e7..cf5ca196 100644 --- a/engine/core/locale/tr_TR/LC_MESSAGES/django.po +++ b/engine/core/locale/tr_TR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "Sipariş Ürünleri" msgid "children" msgstr "Çocuklar" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Konfigürasyon" @@ -1134,7 +1134,7 @@ msgstr "Önbelleğe alınmış veriler" msgid "camelized JSON data from the requested URL" msgstr "İstenen URL'den kameleştirilmiş JSON verileri" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Yalnızca http(s):// ile başlayan URL'lere izin verilir" @@ -2765,6 +2765,134 @@ msgstr "Bize Ulaşın" msgid "About Us" msgstr "Hakkımızda" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Müşteriler karışımı (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Yeni müşteriler" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Geri dönen müşteriler" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Son 30 gün içinde müşteri faaliyeti yok." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Günlük satışlar (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Siparişler (BİTTİ)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Brüt gelir" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Siparişler" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Brüt" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Gelire genel bakış" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Net gelir" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Vergiler" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Geri dönüşler" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Brüt gelir" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Tarih yok" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Gelir (brüt, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Gelir (net, 30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "İadeler (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "İşlenmiş siparişler (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "En çok iade edilen ürünler (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Son 30 gün içinde iade yok." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "En çok istenen ürün" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "No data yet." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "En popüler ürün" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Hızlı Bağlantılar" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Bağlantı mevcut değil." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Sevkiyat vs Dijital (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Dijital" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Sevkiyat" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Miktara göre en iyi kategoriler (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "Son 30 gün içinde kategori satışı yok." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Django site yöneticisi" @@ -2773,91 +2901,6 @@ msgstr "Django site yöneticisi" msgid "Dashboard" msgstr "Gösterge Tablosu" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Gelir (brüt, 30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Gelir (net, 30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "İadeler (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "İşlenmiş siparişler (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Gelire genel bakış" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Net gelir" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Vergiler" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Geri dönüşler" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Brüt gelir" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Grafik için henüz yeterli veri yok." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Hızlı Bağlantılar" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Bağlantı mevcut değil." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Günlük satışlar (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Siparişler (BİTTİ)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Brüt gelir" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Siparişler" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Brüt" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "En çok istenen ürün" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "No data yet." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "En popüler ürün" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3074,7 +3117,7 @@ msgstr "NOMINATIM_URL parametresi yapılandırılmalıdır!" msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "Resim boyutları w{max_width} x h{max_height} pikseli geçmemelidir!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3082,7 +3125,7 @@ msgstr "" "Site haritası dizini için isteği işler ve bir XML yanıtı döndürür. Yanıtın " "XML için uygun içerik türü başlığını içermesini sağlar." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3092,18 +3135,18 @@ msgstr "" " işler, uygun site haritası ayrıntı yanıtını getirir ve XML için Content-" "Type başlığını ayarlar." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Desteklenen dillerin bir listesini ve bunlara karşılık gelen bilgileri " "döndürür." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Web sitesinin parametrelerini bir JSON nesnesi olarak döndürür." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3111,11 +3154,11 @@ msgstr "" "Belirli bir anahtar ve zaman aşımı ile önbellek verilerini okuma ve ayarlama" " gibi önbellek işlemlerini gerçekleştirir." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Bize ulaşın` form gönderimlerini işler." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." @@ -3123,15 +3166,15 @@ msgstr "" "Gelen POST isteklerinden gelen URL'leri işleme ve doğrulama isteklerini " "işler." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Küresel arama sorgularını işler." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "Kayıt olmadan bir işletme olarak satın alma mantığını ele alır." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3139,31 +3182,31 @@ msgstr "" "Bir siparişle ilişkili bir dijital varlığın indirilmesini yönetir.\n" "Bu fonksiyon, projenin depolama dizininde bulunan dijital varlık dosyasını sunmaya çalışır. Dosya bulunamazsa, kaynağın kullanılamadığını belirtmek için bir HTTP 404 hatası verilir." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid gereklidir" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "sipariş ürünü mevcut değil" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Dijital varlığı yalnızca bir kez indirebilirsiniz" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "dijital varlık indirilmeden önce siparişin ödenmesi gerekir" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Sipariş ürününün bir ürünü yok" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "favicon bulunamadı" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3171,7 +3214,7 @@ msgstr "" "Bir web sitesinin favicon'u için istekleri işler.\n" "Bu fonksiyon, projenin statik dizininde bulunan favicon dosyasını sunmaya çalışır. Favicon dosyası bulunamazsa, kaynağın kullanılamadığını belirtmek için bir HTTP 404 hatası verilir." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3182,11 +3225,11 @@ msgstr "" "yönlendirir. HTTP yönlendirmesini işlemek için Django'nun `redirect` " "fonksiyonunu kullanır." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "eVibes'in geçerli sürümünü döndürür." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Gösterge Tablosu için özel değişkenleri döndürür." diff --git a/engine/core/locale/vi_VN/LC_MESSAGES/django.mo b/engine/core/locale/vi_VN/LC_MESSAGES/django.mo index 71bae137..e9f23b24 100644 Binary files a/engine/core/locale/vi_VN/LC_MESSAGES/django.mo and b/engine/core/locale/vi_VN/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/vi_VN/LC_MESSAGES/django.po b/engine/core/locale/vi_VN/LC_MESSAGES/django.po index 92ab881a..03d5b1ff 100644 --- a/engine/core/locale/vi_VN/LC_MESSAGES/django.po +++ b/engine/core/locale/vi_VN/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "Đặt hàng sản phẩm" msgid "children" msgstr "Trẻ em" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "Cấu hình" @@ -1156,7 +1156,7 @@ msgid "camelized JSON data from the requested URL" msgstr "" "Dữ liệu JSON đã được chuyển đổi sang định dạng JSON từ URL được yêu cầu." -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "Chỉ các URL bắt đầu bằng http(s):// mới được phép." @@ -2796,6 +2796,135 @@ msgstr "Liên hệ với chúng tôi" msgid "About Us" msgstr "Giới thiệu về chúng tôi" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "Hỗn hợp khách hàng (30 ngày)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "Khách hàng mới" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "Khách hàng quay lại" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "Không có hoạt động của khách hàng trong 30 ngày qua." + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "Doanh số hàng ngày (30 ngày)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "Đơn hàng (Đã hoàn thành)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "Doanh thu tổng" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "Đơn hàng" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "Gross" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "Tổng quan về thu nhập" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "Doanh thu ròng" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "Thuế" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "Trả hàng" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "Doanh thu tổng" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "Không có dữ liệu" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "Doanh thu (tổng, 30 ngày)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "Doanh thu (ròng, 30 ngày)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "Hoàn trả (30 ngày)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "Đơn hàng đã xử lý (30 ngày)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "Hầu hết các sản phẩm được trả lại (30 ngày)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "Không có đơn hàng trả lại trong 30 ngày qua." + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "Sản phẩm được mong đợi nhất" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "Chưa có dữ liệu." + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "Sản phẩm phổ biến nhất" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "Liên kết nhanh" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "Không có liên kết nào có sẵn." + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "Giao hàng vật lý so với bản kỹ thuật số (30 ngày)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "Số hóa" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "Đã giao hàng" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "Các danh mục hàng đầu theo số lượng (30 ngày)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "" +"Không có doanh số bán hàng trong bất kỳ danh mục nào trong 30 ngày qua." + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Quản trị viên trang web Django" @@ -2804,91 +2933,6 @@ msgstr "Quản trị viên trang web Django" msgid "Dashboard" msgstr "Bảng điều khiển" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "Doanh thu (tổng, 30 ngày)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "Doanh thu (ròng, 30 ngày)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "Hoàn trả (30 ngày)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "Đơn hàng đã xử lý (30 ngày)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "Tổng quan về thu nhập" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "Doanh thu ròng" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "Thuế" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "Trả hàng" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "Doanh thu tổng" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "Chưa có đủ dữ liệu để tạo biểu đồ." - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "Liên kết nhanh" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "Không có liên kết nào có sẵn." - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "Doanh số hàng ngày (30 ngày)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "Đơn hàng (Đã hoàn thành)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "Doanh thu tổng" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "Đơn hàng" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "Gross" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "Sản phẩm được mong đợi nhất" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "Chưa có dữ liệu." - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "Sản phẩm phổ biến nhất" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -3104,7 +3148,7 @@ msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" "Kích thước hình ảnh không được vượt quá w{max_width} x h{max_height} pixel!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." @@ -3112,7 +3156,7 @@ msgstr "" "Xử lý yêu cầu về sơ đồ trang web (sitemap index) và trả về phản hồi XML. Nó " "đảm bảo rằng phản hồi bao gồm tiêu đề loại nội dung XML phù hợp." -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " @@ -3122,17 +3166,17 @@ msgstr "" "lấy phản hồi chi tiết phù hợp của sơ đồ trang web và đặt tiêu đề Content-" "Type cho XML." -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "" "Trả về danh sách các ngôn ngữ được hỗ trợ và thông tin tương ứng của chúng." -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "Trả về các tham số của trang web dưới dạng đối tượng JSON." -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." @@ -3140,27 +3184,27 @@ msgstr "" "Xử lý các thao tác bộ nhớ đệm như đọc và ghi dữ liệu bộ nhớ đệm với khóa và " "thời gian chờ được chỉ định." -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "Xử lý các biểu mẫu liên hệ." -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." msgstr "Xử lý các yêu cầu xử lý và xác thực URL từ các yêu cầu POST đến." -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "Xử lý các truy vấn tìm kiếm toàn cầu." -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "" "Xử lý logic của việc mua hàng như một hoạt động kinh doanh mà không cần đăng" " ký." -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3170,32 +3214,32 @@ msgstr "" " lưu trữ của dự án. Nếu tệp không được tìm thấy, một lỗi HTTP 404 sẽ được " "trả về để thông báo rằng tài nguyên không khả dụng." -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid là trường bắt buộc." -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "Sản phẩm không tồn tại" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "Bạn chỉ có thể tải xuống tài sản kỹ thuật số một lần." -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "" "Đơn hàng phải được thanh toán trước khi tải xuống tài sản kỹ thuật số." -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "Sản phẩm đặt hàng không có sản phẩm." -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "Biểu tượng trang web không tìm thấy" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -3205,7 +3249,7 @@ msgstr "" "không được tìm thấy, một lỗi HTTP 404 sẽ được trả về để thông báo rằng tài " "nguyên không khả dụng." -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -3216,11 +3260,11 @@ msgstr "" "Django. Nó sử dụng hàm `redirect` của Django để xử lý việc chuyển hướng " "HTTP." -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "Trả về phiên bản hiện tại của eVibes." -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "Trả về các biến tùy chỉnh cho Bảng điều khiển." diff --git a/engine/core/locale/zh_Hans/LC_MESSAGES/django.mo b/engine/core/locale/zh_Hans/LC_MESSAGES/django.mo index b8426252..072505f2 100644 Binary files a/engine/core/locale/zh_Hans/LC_MESSAGES/django.mo and b/engine/core/locale/zh_Hans/LC_MESSAGES/django.mo differ diff --git a/engine/core/locale/zh_Hans/LC_MESSAGES/django.po b/engine/core/locale/zh_Hans/LC_MESSAGES/django.po index fef3ec73..9911b2aa 100644 --- a/engine/core/locale/zh_Hans/LC_MESSAGES/django.po +++ b/engine/core/locale/zh_Hans/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -129,7 +129,7 @@ msgstr "订购产品" msgid "children" msgstr "儿童" -#: engine/core/admin.py:980 +#: engine/core/admin.py:977 msgid "Config" msgstr "配置" @@ -1059,7 +1059,7 @@ msgstr "缓存数据" msgid "camelized JSON data from the requested URL" msgstr "从请求的 URL 中获取驼峰化 JSON 数据" -#: engine/core/graphene/mutations.py:67 engine/core/views.py:252 +#: engine/core/graphene/mutations.py:67 engine/core/views.py:256 msgid "only URLs starting with http(s):// are allowed" msgstr "只允许使用以 http(s):// 开头的 URL" @@ -2565,6 +2565,134 @@ msgstr "联系我们" msgid "About Us" msgstr "关于我们" +#: engine/core/templates/admin/dashboard/_customers_mix.html:5 +msgid "Customers mix (30d)" +msgstr "客户组合 (30d)" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:10 +msgid "New customers" +msgstr "新客户" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:17 +msgid "Returning customers" +msgstr "回头客" + +#: engine/core/templates/admin/dashboard/_customers_mix.html:25 +msgid "No customer activity in the last 30 days." +msgstr "过去 30 天内没有客户活动。" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:5 +msgid "Daily sales (30d)" +msgstr "每日销售额 (30d)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:59 +msgid "Orders (FINISHED)" +msgstr "订单(已完成)" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:69 +msgid "Gross revenue" +msgstr "总收入" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:106 +msgid "Orders" +msgstr "订单" + +#: engine/core/templates/admin/dashboard/_daily_sales.html:113 +msgid "Gross" +msgstr "毛额" + +#: engine/core/templates/admin/dashboard/_income_overview.html:7 +msgid "Income overview" +msgstr "收入概览" + +#: engine/core/templates/admin/dashboard/_income_overview.html:31 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Net" +msgstr "净收入" + +#: engine/core/templates/admin/dashboard/_income_overview.html:37 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Taxes" +msgstr "税收" + +#: engine/core/templates/admin/dashboard/_income_overview.html:43 +#: engine/core/templates/admin/dashboard/_income_overview.html:66 +msgid "Returns" +msgstr "返回" + +#: engine/core/templates/admin/dashboard/_income_overview.html:48 +msgid "Gross (pie total)" +msgstr "总收入" + +#: engine/core/templates/admin/dashboard/_income_overview.html:72 +msgid "No data" +msgstr "无日期" + +#: engine/core/templates/admin/dashboard/_kpis.html:6 +msgid "Revenue (gross, 30d)" +msgstr "收入(毛额,30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:15 +msgid "Revenue (net, 30d)" +msgstr "收入(净额,30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:24 +msgid "Returns (30d)" +msgstr "返回 (30d)" + +#: engine/core/templates/admin/dashboard/_kpis.html:33 +msgid "Processed orders (30d)" +msgstr "已处理订单 (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:5 +msgid "Most returned products (30d)" +msgstr "退货最多的产品 (30d)" + +#: engine/core/templates/admin/dashboard/_most_returned.html:24 +msgid "No returns in the last 30 days." +msgstr "最近 30 天内无退货。" + +#: engine/core/templates/admin/dashboard/_product_lists.html:6 +msgid "Most wished product" +msgstr "最希望的产品" + +#: engine/core/templates/admin/dashboard/_product_lists.html:33 +#: engine/core/templates/admin/dashboard/_product_lists.html:67 +msgid "No data yet." +msgstr "尚无数据。" + +#: engine/core/templates/admin/dashboard/_product_lists.html:40 +msgid "Most popular product" +msgstr "最受欢迎的产品" + +#: engine/core/templates/admin/dashboard/_quick_links.html:5 +msgid "Quick Links" +msgstr "快速链接" + +#: engine/core/templates/admin/dashboard/_quick_links.html:12 +msgid "No links available." +msgstr "没有链接。" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:5 +msgid "Shipped vs Digital (30d)" +msgstr "运输与数字 (30d)" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:10 +msgid "Digital" +msgstr "数字" + +#: engine/core/templates/admin/dashboard/_shipped_vs_digital.html:20 +msgid "Shipped" +msgstr "已发货" + +#: engine/core/templates/admin/dashboard/_top_categories.html:5 +msgid "Top categories by quantity (30d)" +msgstr "数量最多的类别 (30d)" + +#: engine/core/templates/admin/dashboard/_top_categories.html:23 +msgid "No category sales in the last 30 days." +msgstr "最近 30 天内无类别销售。" + #: engine/core/templates/admin/index.html:9 msgid "Django site admin" msgstr "Django 网站管理员" @@ -2573,91 +2701,6 @@ msgstr "Django 网站管理员" msgid "Dashboard" msgstr "仪表板" -#: engine/core/templates/admin/index.html:27 -msgid "Revenue (gross, 30d)" -msgstr "收入(毛额,30d)" - -#: engine/core/templates/admin/index.html:36 -msgid "Revenue (net, 30d)" -msgstr "收入(净额,30d)" - -#: engine/core/templates/admin/index.html:45 -msgid "Returns (30d)" -msgstr "返回 (30d)" - -#: engine/core/templates/admin/index.html:54 -msgid "Processed orders (30d)" -msgstr "已处理订单 (30d)" - -#: engine/core/templates/admin/index.html:67 -msgid "Income overview" -msgstr "收入概览" - -#: engine/core/templates/admin/index.html:99 -#: engine/core/templates/admin/index.html:139 -msgid "Net" -msgstr "净收入" - -#: engine/core/templates/admin/index.html:107 -#: engine/core/templates/admin/index.html:140 -msgid "Taxes" -msgstr "税收" - -#: engine/core/templates/admin/index.html:115 -#: engine/core/templates/admin/index.html:141 -msgid "Returns" -msgstr "返回" - -#: engine/core/templates/admin/index.html:122 -msgid "Gross (pie total)" -msgstr "总收入" - -#: engine/core/templates/admin/index.html:201 -#: engine/core/templates/admin/index.html:326 -msgid "Not enough data for chart yet." -msgstr "图表数据尚不充足。" - -#: engine/core/templates/admin/index.html:210 -msgid "Quick Links" -msgstr "快速链接" - -#: engine/core/templates/admin/index.html:217 -msgid "No links available." -msgstr "没有链接。" - -#: engine/core/templates/admin/index.html:225 -msgid "Daily sales (30d)" -msgstr "每日销售额 (30d)" - -#: engine/core/templates/admin/index.html:254 -msgid "Orders (FINISHED)" -msgstr "订单(已完成)" - -#: engine/core/templates/admin/index.html:264 -msgid "Gross revenue" -msgstr "总收入" - -#: engine/core/templates/admin/index.html:301 -msgid "Orders" -msgstr "订单" - -#: engine/core/templates/admin/index.html:308 -msgid "Gross" -msgstr "毛额" - -#: engine/core/templates/admin/index.html:334 -msgid "Most wished product" -msgstr "最希望的产品" - -#: engine/core/templates/admin/index.html:361 -#: engine/core/templates/admin/index.html:395 -msgid "No data yet." -msgstr "尚无数据。" - -#: engine/core/templates/admin/index.html:368 -msgid "Most popular product" -msgstr "最受欢迎的产品" - #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100 #: engine/core/templates/digital_order_delivered_email.html:6 @@ -2863,53 +2906,53 @@ msgstr "必须配置 NOMINATIM_URL 参数!" msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "图像尺寸不应超过 w{max_width} x h{max_height} 像素!" -#: engine/core/views.py:86 +#: engine/core/views.py:90 msgid "" "Handles the request for the sitemap index and returns an XML response. It " "ensures the response includes the appropriate content type header for XML." msgstr "处理网站地图索引请求并返回 XML 响应。它确保响应包含适当的 XML 内容类型标头。" -#: engine/core/views.py:101 +#: engine/core/views.py:105 msgid "" "Handles the detailed view response for a sitemap. This function processes " "the request, fetches the appropriate sitemap detail response, and sets the " "Content-Type header for XML." msgstr "处理网站地图的详细视图响应。该函数处理请求,获取相应的网站地图详细响应,并将 Content-Type 标头设置为 XML。" -#: engine/core/views.py:136 +#: engine/core/views.py:140 msgid "" "Returns a list of supported languages and their corresponding information." msgstr "返回支持语言及其相应信息的列表。" -#: engine/core/views.py:168 +#: engine/core/views.py:172 msgid "Returns the parameters of the website as a JSON object." msgstr "以 JSON 对象形式返回网站参数。" -#: engine/core/views.py:187 +#: engine/core/views.py:191 msgid "" "Handles cache operations such as reading and setting cache data with a " "specified key and timeout." msgstr "处理缓存操作,如使用指定的键和超时读取和设置缓存数据。" -#: engine/core/views.py:214 +#: engine/core/views.py:218 msgid "Handles `contact us` form submissions." msgstr "处理 \"联系我们 \"表单提交。" -#: engine/core/views.py:235 +#: engine/core/views.py:239 msgid "" "Handles requests for processing and validating URLs from incoming POST " "requests." msgstr "处理来自传入 POST 请求的处理和验证 URL 的请求。" -#: engine/core/views.py:275 +#: engine/core/views.py:279 msgid "Handles global search queries." msgstr "处理全局搜索查询。" -#: engine/core/views.py:290 +#: engine/core/views.py:294 msgid "Handles the logic of buying as a business without registration." msgstr "处理未注册企业的购买逻辑。" -#: engine/core/views.py:327 +#: engine/core/views.py:331 msgid "" "Handles the downloading of a digital asset associated with an order.\n" "This function attempts to serve the digital asset file located in the storage directory of the project. If the file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -2917,31 +2960,31 @@ msgstr "" "处理与订单相关的数字资产的下载。\n" "此函数会尝试为位于项目存储目录中的数字资产文件提供服务。如果未找到文件,则会出现 HTTP 404 错误,表示资源不可用。" -#: engine/core/views.py:338 +#: engine/core/views.py:342 msgid "order_product_uuid is required" msgstr "order_product_uuid 为必填项" -#: engine/core/views.py:345 +#: engine/core/views.py:349 msgid "order product does not exist" msgstr "订单产品不存在" -#: engine/core/views.py:348 +#: engine/core/views.py:352 msgid "you can only download the digital asset once" msgstr "您只能下载一次数字资产" -#: engine/core/views.py:351 +#: engine/core/views.py:355 msgid "the order must be paid before downloading the digital asset" msgstr "在下载数字资产前必须支付订单费用" -#: engine/core/views.py:357 +#: engine/core/views.py:361 msgid "the order product does not have a product" msgstr "订单产品没有产品" -#: engine/core/views.py:394 +#: engine/core/views.py:398 msgid "favicon not found" msgstr "未找到 favicon" -#: engine/core/views.py:399 +#: engine/core/views.py:403 msgid "" "Handles requests for the favicon of a website.\n" "This function attempts to serve the favicon file located in the static directory of the project. If the favicon file is not found, an HTTP 404 error is raised to indicate the resource is unavailable." @@ -2949,7 +2992,7 @@ msgstr "" "处理网站的 favicon 请求。\n" "该函数会尝试为位于项目静态目录中的 favicon 文件提供服务。如果找不到 favicon 文件,就会出现 HTTP 404 错误,表示资源不可用。" -#: engine/core/views.py:411 +#: engine/core/views.py:415 msgid "" "Redirects the request to the admin index page. The function handles incoming" " HTTP requests and redirects them to the Django admin interface index page. " @@ -2958,11 +3001,11 @@ msgstr "" "将请求重定向到管理索引页面。该函数处理传入的 HTTP 请求并将其重定向到 Django 管理界面索引页面。它使用 Django 的 " "`redirect` 函数来处理 HTTP 重定向。" -#: engine/core/views.py:424 +#: engine/core/views.py:428 msgid "Returns current version of the eVibes. " msgstr "返回 eVibes 的当前版本。" -#: engine/core/views.py:587 +#: engine/core/views.py:637 msgid "Returns custom variables for Dashboard. " msgstr "返回 Dashboard 的自定义变量。" diff --git a/engine/core/serializers/detail.py b/engine/core/serializers/detail.py index 007e22bc..8950f72f 100644 --- a/engine/core/serializers/detail.py +++ b/engine/core/serializers/detail.py @@ -253,6 +253,7 @@ class ProductDetailSerializer(ModelSerializer): quantity = SerializerMethodField() feedbacks_count = SerializerMethodField() discount_price = SerializerMethodField() + personal_orders_only = SerializerMethodField() class Meta: model = Product @@ -287,6 +288,9 @@ class ProductDetailSerializer(ModelSerializer): def get_feedbacks_count(self, obj: Product) -> int: return obj.feedbacks_count + def get_personal_orders_only(self, obj: Product) -> bool: + return obj.personal_orders_only + def get_quantity(self, obj: Product) -> int: return obj.quantity diff --git a/engine/payments/locale/ar_AR/LC_MESSAGES/django.po b/engine/payments/locale/ar_AR/LC_MESSAGES/django.po index 7a97f48e..5da772f6 100644 --- a/engine/payments/locale/ar_AR/LC_MESSAGES/django.po +++ b/engine/payments/locale/ar_AR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/cs_CZ/LC_MESSAGES/django.po b/engine/payments/locale/cs_CZ/LC_MESSAGES/django.po index e02bff03..65e771c7 100644 --- a/engine/payments/locale/cs_CZ/LC_MESSAGES/django.po +++ b/engine/payments/locale/cs_CZ/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/da_DK/LC_MESSAGES/django.po b/engine/payments/locale/da_DK/LC_MESSAGES/django.po index eb88d6a4..0ce1da02 100644 --- a/engine/payments/locale/da_DK/LC_MESSAGES/django.po +++ b/engine/payments/locale/da_DK/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/de_DE/LC_MESSAGES/django.po b/engine/payments/locale/de_DE/LC_MESSAGES/django.po index 1d47a8fc..c37147f0 100644 --- a/engine/payments/locale/de_DE/LC_MESSAGES/django.po +++ b/engine/payments/locale/de_DE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/en_GB/LC_MESSAGES/django.po b/engine/payments/locale/en_GB/LC_MESSAGES/django.po index 8567bfbd..69439ee9 100644 --- a/engine/payments/locale/en_GB/LC_MESSAGES/django.po +++ b/engine/payments/locale/en_GB/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/en_US/LC_MESSAGES/django.po b/engine/payments/locale/en_US/LC_MESSAGES/django.po index daa950cc..59724006 100644 --- a/engine/payments/locale/en_US/LC_MESSAGES/django.po +++ b/engine/payments/locale/en_US/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/es_ES/LC_MESSAGES/django.po b/engine/payments/locale/es_ES/LC_MESSAGES/django.po index 8aa9c550..adb944c8 100644 --- a/engine/payments/locale/es_ES/LC_MESSAGES/django.po +++ b/engine/payments/locale/es_ES/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/fa_IR/LC_MESSAGES/django.po b/engine/payments/locale/fa_IR/LC_MESSAGES/django.po index 6427db5d..cee7afdb 100644 --- a/engine/payments/locale/fa_IR/LC_MESSAGES/django.po +++ b/engine/payments/locale/fa_IR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/engine/payments/locale/fr_FR/LC_MESSAGES/django.po b/engine/payments/locale/fr_FR/LC_MESSAGES/django.po index ed7eea81..d675f428 100644 --- a/engine/payments/locale/fr_FR/LC_MESSAGES/django.po +++ b/engine/payments/locale/fr_FR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/he_IL/LC_MESSAGES/django.po b/engine/payments/locale/he_IL/LC_MESSAGES/django.po index eb410a0e..12e51ee4 100644 --- a/engine/payments/locale/he_IL/LC_MESSAGES/django.po +++ b/engine/payments/locale/he_IL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/hi_IN/LC_MESSAGES/django.po b/engine/payments/locale/hi_IN/LC_MESSAGES/django.po index 4666a43d..bab5e568 100644 --- a/engine/payments/locale/hi_IN/LC_MESSAGES/django.po +++ b/engine/payments/locale/hi_IN/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/payments/locale/hr_HR/LC_MESSAGES/django.po b/engine/payments/locale/hr_HR/LC_MESSAGES/django.po index 6427db5d..cee7afdb 100644 --- a/engine/payments/locale/hr_HR/LC_MESSAGES/django.po +++ b/engine/payments/locale/hr_HR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/engine/payments/locale/id_ID/LC_MESSAGES/django.po b/engine/payments/locale/id_ID/LC_MESSAGES/django.po index be984224..a9a67c48 100644 --- a/engine/payments/locale/id_ID/LC_MESSAGES/django.po +++ b/engine/payments/locale/id_ID/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/it_IT/LC_MESSAGES/django.po b/engine/payments/locale/it_IT/LC_MESSAGES/django.po index 7fe39a59..31e4f50b 100644 --- a/engine/payments/locale/it_IT/LC_MESSAGES/django.po +++ b/engine/payments/locale/it_IT/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/ja_JP/LC_MESSAGES/django.po b/engine/payments/locale/ja_JP/LC_MESSAGES/django.po index 9965c0de..5feeb1c5 100644 --- a/engine/payments/locale/ja_JP/LC_MESSAGES/django.po +++ b/engine/payments/locale/ja_JP/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/kk_KZ/LC_MESSAGES/django.po b/engine/payments/locale/kk_KZ/LC_MESSAGES/django.po index 4666a43d..bab5e568 100644 --- a/engine/payments/locale/kk_KZ/LC_MESSAGES/django.po +++ b/engine/payments/locale/kk_KZ/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" diff --git a/engine/payments/locale/ko_KR/LC_MESSAGES/django.po b/engine/payments/locale/ko_KR/LC_MESSAGES/django.po index 5e8f1c4c..5328fd49 100644 --- a/engine/payments/locale/ko_KR/LC_MESSAGES/django.po +++ b/engine/payments/locale/ko_KR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/nl_NL/LC_MESSAGES/django.po b/engine/payments/locale/nl_NL/LC_MESSAGES/django.po index 23025c96..cfd728a5 100644 --- a/engine/payments/locale/nl_NL/LC_MESSAGES/django.po +++ b/engine/payments/locale/nl_NL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/no_NO/LC_MESSAGES/django.po b/engine/payments/locale/no_NO/LC_MESSAGES/django.po index 04b56a25..0ff2dbbe 100644 --- a/engine/payments/locale/no_NO/LC_MESSAGES/django.po +++ b/engine/payments/locale/no_NO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/pl_PL/LC_MESSAGES/django.po b/engine/payments/locale/pl_PL/LC_MESSAGES/django.po index 0b96b77f..8d496cd3 100644 --- a/engine/payments/locale/pl_PL/LC_MESSAGES/django.po +++ b/engine/payments/locale/pl_PL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/pt_BR/LC_MESSAGES/django.po b/engine/payments/locale/pt_BR/LC_MESSAGES/django.po index 21c0136e..3087c82a 100644 --- a/engine/payments/locale/pt_BR/LC_MESSAGES/django.po +++ b/engine/payments/locale/pt_BR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/ro_RO/LC_MESSAGES/django.po b/engine/payments/locale/ro_RO/LC_MESSAGES/django.po index 93761584..99555885 100644 --- a/engine/payments/locale/ro_RO/LC_MESSAGES/django.po +++ b/engine/payments/locale/ro_RO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/ru_RU/LC_MESSAGES/django.po b/engine/payments/locale/ru_RU/LC_MESSAGES/django.po index 03f89f41..b2b76502 100644 --- a/engine/payments/locale/ru_RU/LC_MESSAGES/django.po +++ b/engine/payments/locale/ru_RU/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/sv_SE/LC_MESSAGES/django.po b/engine/payments/locale/sv_SE/LC_MESSAGES/django.po index b76efda2..abb9dc81 100644 --- a/engine/payments/locale/sv_SE/LC_MESSAGES/django.po +++ b/engine/payments/locale/sv_SE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/th_TH/LC_MESSAGES/django.po b/engine/payments/locale/th_TH/LC_MESSAGES/django.po index ca5bffc4..b2b06930 100644 --- a/engine/payments/locale/th_TH/LC_MESSAGES/django.po +++ b/engine/payments/locale/th_TH/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/tr_TR/LC_MESSAGES/django.po b/engine/payments/locale/tr_TR/LC_MESSAGES/django.po index c205fcf1..abf33b19 100644 --- a/engine/payments/locale/tr_TR/LC_MESSAGES/django.po +++ b/engine/payments/locale/tr_TR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/vi_VN/LC_MESSAGES/django.po b/engine/payments/locale/vi_VN/LC_MESSAGES/django.po index 82e8fc07..a9da3633 100644 --- a/engine/payments/locale/vi_VN/LC_MESSAGES/django.po +++ b/engine/payments/locale/vi_VN/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/payments/locale/zh_Hans/LC_MESSAGES/django.po b/engine/payments/locale/zh_Hans/LC_MESSAGES/django.po index 01e36ce4..812c0bee 100644 --- a/engine/payments/locale/zh_Hans/LC_MESSAGES/django.po +++ b/engine/payments/locale/zh_Hans/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" diff --git a/engine/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po b/engine/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po index a727d6a6..c247b2a4 100644 --- a/engine/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -173,7 +173,7 @@ msgid "confirm a user's password reset" msgstr "تأكيد إعادة تعيين كلمة مرور المستخدم" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -219,21 +219,21 @@ msgstr "رقم هاتف مشوه: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "تنسيق السمة غير صالح: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "رابط التفعيل غير صالح!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "تم تفعيل الحساب بالفعل..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "حدث خطأ ما: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "الرمز غير صالح!" diff --git a/engine/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po b/engine/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po index e1833509..a7164aaf 100644 --- a/engine/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -171,7 +171,7 @@ msgid "confirm a user's password reset" msgstr "Potvrzení obnovení hesla uživatele" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -217,21 +217,21 @@ msgstr "Chybně zadané telefonní číslo: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Nesprávný formát atributu: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Aktivační odkaz je neplatný!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Účet byl již aktivován..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Něco se pokazilo: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Token je neplatný!" diff --git a/engine/vibes_auth/locale/da_DK/LC_MESSAGES/django.po b/engine/vibes_auth/locale/da_DK/LC_MESSAGES/django.po index a970515f..a23dd1d3 100644 --- a/engine/vibes_auth/locale/da_DK/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/da_DK/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -173,7 +173,7 @@ msgid "confirm a user's password reset" msgstr "Bekræft nulstilling af en brugers adgangskode" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -219,21 +219,21 @@ msgstr "Misdannet telefonnummer: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Ugyldigt attributformat: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Aktiveringslinket er ugyldigt!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Kontoen er allerede aktiveret..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Noget gik galt: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Token er ugyldig!" diff --git a/engine/vibes_auth/locale/de_DE/LC_MESSAGES/django.po b/engine/vibes_auth/locale/de_DE/LC_MESSAGES/django.po index 1601fd87..9a263ae4 100644 --- a/engine/vibes_auth/locale/de_DE/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/de_DE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -174,7 +174,7 @@ msgid "confirm a user's password reset" msgstr "Bestätigen Sie das Zurücksetzen des Passworts eines Benutzers" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -223,21 +223,21 @@ msgstr "Missgebildete Telefonnummer: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Ungültiges Attributformat: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Der Aktivierungslink ist ungültig!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Das Konto wurde bereits aktiviert..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Etwas ist schief gelaufen: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Token ist ungültig!" diff --git a/engine/vibes_auth/locale/en_GB/LC_MESSAGES/django.po b/engine/vibes_auth/locale/en_GB/LC_MESSAGES/django.po index 0fcacae8..b5f47373 100644 --- a/engine/vibes_auth/locale/en_GB/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/en_GB/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -175,7 +175,7 @@ msgid "confirm a user's password reset" msgstr "Confirm a user's password reset" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -221,21 +221,21 @@ msgstr "Malformed phone number: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Invalid attribute format: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Activation link is invalid!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Account has been already activated..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Something went wrong: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Token is invalid!" diff --git a/engine/vibes_auth/locale/en_US/LC_MESSAGES/django.po b/engine/vibes_auth/locale/en_US/LC_MESSAGES/django.po index 0bf342a6..1fa82d89 100644 --- a/engine/vibes_auth/locale/en_US/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/en_US/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -171,7 +171,7 @@ msgid "confirm a user's password reset" msgstr "Confirm a user's password reset" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -217,21 +217,21 @@ msgstr "Malformed phone number: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Invalid attribute format: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Activation link is invalid!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Account has been already activated..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Something went wrong: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Token is invalid!" diff --git a/engine/vibes_auth/locale/es_ES/LC_MESSAGES/django.po b/engine/vibes_auth/locale/es_ES/LC_MESSAGES/django.po index 09556fc1..c03a8227 100644 --- a/engine/vibes_auth/locale/es_ES/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/es_ES/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -173,7 +173,7 @@ msgid "confirm a user's password reset" msgstr "Confirmar el restablecimiento de la contraseña de un usuario" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -220,21 +220,21 @@ msgstr "Número de teléfono malformado: ¡{phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Formato de atributo no válido: ¡{attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "El enlace de activación no es válido." -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "La cuenta ya ha sido activada..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Algo salió mal: {e!s}." -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "¡La ficha no es válida!" diff --git a/engine/vibes_auth/locale/fa_IR/LC_MESSAGES/django.po b/engine/vibes_auth/locale/fa_IR/LC_MESSAGES/django.po index b0a8db27..4752995c 100644 --- a/engine/vibes_auth/locale/fa_IR/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/fa_IR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -170,7 +170,7 @@ msgid "confirm a user's password reset" msgstr "" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -216,21 +216,21 @@ msgstr "" msgid "Invalid attribute format: {attribute_pair}" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "" -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "" diff --git a/engine/vibes_auth/locale/fr_FR/LC_MESSAGES/django.po b/engine/vibes_auth/locale/fr_FR/LC_MESSAGES/django.po index 6c7a1d57..76724cf3 100644 --- a/engine/vibes_auth/locale/fr_FR/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/fr_FR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -176,7 +176,7 @@ msgid "confirm a user's password reset" msgstr "Confirmer la réinitialisation du mot de passe d'un utilisateur" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -224,21 +224,21 @@ msgstr "Numéro de téléphone malformé : {phone_number} !" msgid "Invalid attribute format: {attribute_pair}" msgstr "Format d'attribut non valide : {attribute_pair} !" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Le lien d'activation n'est pas valide !" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Le compte a déjà été activé..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Quelque chose a mal tourné : {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Le jeton n'est pas valide !" diff --git a/engine/vibes_auth/locale/he_IL/LC_MESSAGES/django.po b/engine/vibes_auth/locale/he_IL/LC_MESSAGES/django.po index 59d20db9..639d570d 100644 --- a/engine/vibes_auth/locale/he_IL/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/he_IL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -171,7 +171,7 @@ msgid "confirm a user's password reset" msgstr "אשר את איפוס הסיסמה של המשתמש" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -217,21 +217,21 @@ msgstr "מספר טלפון שגוי: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "פורמט תכונה לא חוקי: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "קישור ההפעלה אינו תקף!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "החשבון כבר הופעל..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "משהו השתבש: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "האסימון אינו חוקי!" diff --git a/engine/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po b/engine/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po index 271caaaa..856ac540 100644 --- a/engine/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -170,7 +170,7 @@ msgid "confirm a user's password reset" msgstr "" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -216,21 +216,21 @@ msgstr "" msgid "Invalid attribute format: {attribute_pair}" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "" -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "" diff --git a/engine/vibes_auth/locale/hr_HR/LC_MESSAGES/django.po b/engine/vibes_auth/locale/hr_HR/LC_MESSAGES/django.po index b0a8db27..4752995c 100644 --- a/engine/vibes_auth/locale/hr_HR/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/hr_HR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -170,7 +170,7 @@ msgid "confirm a user's password reset" msgstr "" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -216,21 +216,21 @@ msgstr "" msgid "Invalid attribute format: {attribute_pair}" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "" -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "" diff --git a/engine/vibes_auth/locale/id_ID/LC_MESSAGES/django.po b/engine/vibes_auth/locale/id_ID/LC_MESSAGES/django.po index 741e26aa..f381601f 100644 --- a/engine/vibes_auth/locale/id_ID/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/id_ID/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -173,7 +173,7 @@ msgid "confirm a user's password reset" msgstr "Mengonfirmasi pengaturan ulang kata sandi pengguna" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -220,21 +220,21 @@ msgstr "Nomor telepon rusak: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Format atribut tidak valid: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Tautan aktivasi tidak valid!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Akun sudah diaktifkan..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Ada yang tidak beres: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Token tidak valid!" diff --git a/engine/vibes_auth/locale/it_IT/LC_MESSAGES/django.po b/engine/vibes_auth/locale/it_IT/LC_MESSAGES/django.po index 32508f33..a6fee508 100644 --- a/engine/vibes_auth/locale/it_IT/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/it_IT/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -175,7 +175,7 @@ msgid "confirm a user's password reset" msgstr "Confermare la reimpostazione della password di un utente" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -221,21 +221,21 @@ msgstr "Numero di telefono malformato: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Formato attributo non valido: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Il link di attivazione non è valido!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "L'account è già stato attivato..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Qualcosa è andato storto: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Il gettone non è valido!" diff --git a/engine/vibes_auth/locale/ja_JP/LC_MESSAGES/django.po b/engine/vibes_auth/locale/ja_JP/LC_MESSAGES/django.po index f0a841b1..4d366633 100644 --- a/engine/vibes_auth/locale/ja_JP/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/ja_JP/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -171,7 +171,7 @@ msgid "confirm a user's password reset" msgstr "ユーザーのパスワード・リセットを確認する" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -219,21 +219,21 @@ msgstr "電話番号が不正です:{phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "無効な属性形式です:{attribute_pair}です!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "アクティベーションリンクが無効です!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "アカウントはすでに有効になっています..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "何かが間違っていた:{e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "トークンが無効です!" diff --git a/engine/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po b/engine/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po index 271caaaa..856ac540 100644 --- a/engine/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -170,7 +170,7 @@ msgid "confirm a user's password reset" msgstr "" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -216,21 +216,21 @@ msgstr "" msgid "Invalid attribute format: {attribute_pair}" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "" -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "" diff --git a/engine/vibes_auth/locale/ko_KR/LC_MESSAGES/django.po b/engine/vibes_auth/locale/ko_KR/LC_MESSAGES/django.po index 45aa3933..46318f44 100644 --- a/engine/vibes_auth/locale/ko_KR/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/ko_KR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -170,7 +170,7 @@ msgid "confirm a user's password reset" msgstr "사용자의 비밀번호 재설정 확인" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -216,21 +216,21 @@ msgstr "잘못된 전화 번호입니다: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "잘못된 속성 형식입니다: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "활성화 링크가 유효하지 않습니다!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "계정이 이미 활성화되었습니다..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "문제가 발생했습니다: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "토큰이 유효하지 않습니다!" diff --git a/engine/vibes_auth/locale/nl_NL/LC_MESSAGES/django.po b/engine/vibes_auth/locale/nl_NL/LC_MESSAGES/django.po index 0d57b651..9c64606d 100644 --- a/engine/vibes_auth/locale/nl_NL/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/nl_NL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -173,7 +173,7 @@ msgid "confirm a user's password reset" msgstr "Bevestig het resetten van het wachtwoord van een gebruiker" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -221,21 +221,21 @@ msgstr "Misvormd telefoonnummer: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Ongeldig attribuutformaat: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Activeringslink is ongeldig!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Account is al geactiveerd..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Er ging iets mis: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Token is invalid!" diff --git a/engine/vibes_auth/locale/no_NO/LC_MESSAGES/django.po b/engine/vibes_auth/locale/no_NO/LC_MESSAGES/django.po index d615c160..a6ed4d8f 100644 --- a/engine/vibes_auth/locale/no_NO/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/no_NO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -173,7 +173,7 @@ msgid "confirm a user's password reset" msgstr "Bekreft tilbakestilling av en brukers passord" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -219,21 +219,21 @@ msgstr "Feilaktig telefonnummer: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Ugyldig attributtformat: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Aktiveringslenken er ugyldig!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Kontoen er allerede aktivert..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Noe gikk galt: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Tokenet er ugyldig!" diff --git a/engine/vibes_auth/locale/pl_PL/LC_MESSAGES/django.po b/engine/vibes_auth/locale/pl_PL/LC_MESSAGES/django.po index c8d3c336..31c843a7 100644 --- a/engine/vibes_auth/locale/pl_PL/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/pl_PL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -173,7 +173,7 @@ msgid "confirm a user's password reset" msgstr "Potwierdzenie zresetowania hasła użytkownika" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -221,21 +221,21 @@ msgstr "Zniekształcony numer telefonu: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Nieprawidłowy format atrybutu: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Link aktywacyjny jest nieprawidłowy!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Konto zostało już aktywowane..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Coś poszło nie tak: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Token jest nieprawidłowy!" diff --git a/engine/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po b/engine/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po index 29855d5c..b1df93dc 100644 --- a/engine/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -172,7 +172,7 @@ msgid "confirm a user's password reset" msgstr "Confirmar a redefinição de senha de um usuário" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -218,21 +218,21 @@ msgstr "Número de telefone malformado: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Formato de atributo inválido: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "O link de ativação é inválido!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "A conta já foi ativada..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Algo deu errado: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "O token é inválido!" diff --git a/engine/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po b/engine/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po index 7e8c3df9..18073aba 100644 --- a/engine/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -175,7 +175,7 @@ msgid "confirm a user's password reset" msgstr "Confirmați resetarea parolei unui utilizator" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -222,21 +222,21 @@ msgstr "Număr de telefon malformat: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Format de atribut invalid: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Linkul de activare este invalid!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Contul a fost deja activat..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Ceva nu a mers bine: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Token-ul nu este valabil!" diff --git a/engine/vibes_auth/locale/ru_RU/LC_MESSAGES/django.po b/engine/vibes_auth/locale/ru_RU/LC_MESSAGES/django.po index 42875b0f..2373a990 100644 --- a/engine/vibes_auth/locale/ru_RU/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/ru_RU/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -173,7 +173,7 @@ msgid "confirm a user's password reset" msgstr "Подтверждение сброса пароля пользователя" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -221,21 +221,21 @@ msgstr "Некорректный номер телефона: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Недопустимый формат атрибута: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Ссылка на активацию недействительна!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Аккаунт уже активирован..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Что-то пошло не так: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Токен недействителен!" diff --git a/engine/vibes_auth/locale/sv_SE/LC_MESSAGES/django.po b/engine/vibes_auth/locale/sv_SE/LC_MESSAGES/django.po index f19f0bcf..f473ccad 100644 --- a/engine/vibes_auth/locale/sv_SE/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/sv_SE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -173,7 +173,7 @@ msgid "confirm a user's password reset" msgstr "Bekräfta återställning av en användares lösenord" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -220,21 +220,21 @@ msgstr "Missbildat telefonnummer: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Ogiltigt attributformat: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Aktiveringslänken är ogiltig!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Kontot har redan aktiverats..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Något gick fel: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Token är ogiltig!" diff --git a/engine/vibes_auth/locale/th_TH/LC_MESSAGES/django.po b/engine/vibes_auth/locale/th_TH/LC_MESSAGES/django.po index e3145873..dc80dd8a 100644 --- a/engine/vibes_auth/locale/th_TH/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/th_TH/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -171,7 +171,7 @@ msgid "confirm a user's password reset" msgstr "ยืนยันการรีเซ็ตรหัสผ่านของผู้ใช้" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -217,21 +217,21 @@ msgstr "หมายเลขโทรศัพท์ไม่ถูกต้อ msgid "Invalid attribute format: {attribute_pair}" msgstr "รูปแบบแอตทริบิวต์ไม่ถูกต้อง: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "ลิงก์การเปิดใช้งานไม่ถูกต้อง!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "บัญชีได้รับการเปิดใช้งานแล้ว..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "เกิดข้อผิดพลาด: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "โทเคนไม่ถูกต้อง!" diff --git a/engine/vibes_auth/locale/tr_TR/LC_MESSAGES/django.po b/engine/vibes_auth/locale/tr_TR/LC_MESSAGES/django.po index 5d64e564..11ed6710 100644 --- a/engine/vibes_auth/locale/tr_TR/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/tr_TR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -172,7 +172,7 @@ msgid "confirm a user's password reset" msgstr "Bir kullanıcının parola sıfırlamasını onaylama" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -218,21 +218,21 @@ msgstr "Hatalı biçimlendirilmiş telefon numarası: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Geçersiz öznitelik biçimi: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Aktivasyon bağlantısı geçersiz!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Hesap zaten etkinleştirildi..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Bir şeyler ters gitti: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Jeton geçersiz!" diff --git a/engine/vibes_auth/locale/vi_VN/LC_MESSAGES/django.po b/engine/vibes_auth/locale/vi_VN/LC_MESSAGES/django.po index 9ff2e5e2..2ccc654d 100644 --- a/engine/vibes_auth/locale/vi_VN/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/vi_VN/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -171,7 +171,7 @@ msgid "confirm a user's password reset" msgstr "Xác nhận việc đặt lại mật khẩu của người dùng" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -220,21 +220,21 @@ msgstr "Số điện thoại không hợp lệ: {phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "Định dạng thuộc tính không hợp lệ: {attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "Liên kết kích hoạt không hợp lệ!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "Tài khoản đã được kích hoạt..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "Có sự cố xảy ra: {e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "Token không hợp lệ!" diff --git a/engine/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po b/engine/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po index c9d52e11..8fa103f9 100644 --- a/engine/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po +++ b/engine/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -169,7 +169,7 @@ msgid "confirm a user's password reset" msgstr "确认用户密码重置" #: engine/vibes_auth/docs/drf/viewsets.py:87 -#: engine/vibes_auth/graphene/mutations.py:317 +#: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/serializers.py:97 engine/vibes_auth/serializers.py:101 #: engine/vibes_auth/viewsets.py:84 msgid "passwords do not match" @@ -215,21 +215,21 @@ msgstr "畸形电话号码:{phone_number}!" msgid "Invalid attribute format: {attribute_pair}" msgstr "属性格式无效:{attribute_pair}!" -#: engine/vibes_auth/graphene/mutations.py:270 +#: engine/vibes_auth/graphene/mutations.py:272 #: engine/vibes_auth/viewsets.py:127 engine/vibes_auth/viewsets.py:146 msgid "activation link is invalid!" msgstr "激活链接无效!" -#: engine/vibes_auth/graphene/mutations.py:273 +#: engine/vibes_auth/graphene/mutations.py:275 msgid "account already activated..." msgstr "帐户已激活..." -#: engine/vibes_auth/graphene/mutations.py:280 -#: engine/vibes_auth/graphene/mutations.py:336 +#: engine/vibes_auth/graphene/mutations.py:282 +#: engine/vibes_auth/graphene/mutations.py:338 msgid "something went wrong: {e!s}" msgstr "出了问题:{e!s}" -#: engine/vibes_auth/graphene/mutations.py:324 engine/vibes_auth/viewsets.py:95 +#: engine/vibes_auth/graphene/mutations.py:326 engine/vibes_auth/viewsets.py:95 msgid "token is invalid!" msgstr "令牌无效!" diff --git a/evibes/locale/ar_AR/LC_MESSAGES/django.po b/evibes/locale/ar_AR/LC_MESSAGES/django.po index 539fcc48..1f608e3c 100644 --- a/evibes/locale/ar_AR/LC_MESSAGES/django.po +++ b/evibes/locale/ar_AR/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -138,36 +138,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -187,34 +204,49 @@ msgstr "" "\n" "مرحباً بك في وثائق eVibes.\n" "\n" -"eVibes عبارة عن منصة تجارة إلكترونية قوية تتيح لك إطلاق وإدارة متجر إلكتروني من أي نوع بنقرات قليلة.\n" +"eVibes عبارة عن منصة تجارة إلكترونية قوية تتيح لك إطلاق وإدارة متجر إلكتروني " +"من أي نوع بنقرات قليلة.\n" "\n" "## الميزات الرئيسية\n" -"- ** كتالوج المنتجات:** إدارة تفاصيل المنتج والتسعير والمخزون والتوافر عبر فئات متعددة.\n" -"- **إدارة الطلبات:** معالجة الطلبات وتتبع التنفيذ والتعامل مع طلبات العملاء بكفاءة.\n" -"- **المصادقة والتفويض:** مصادقة شاملة للمستخدمين باستخدام رموز JWT المميزة والأذونات المستندة إلى الأدوار.\n" +"- ** كتالوج المنتجات:** إدارة تفاصيل المنتج والتسعير والمخزون والتوافر عبر " +"فئات متعددة.\n" +"- **إدارة الطلبات:** معالجة الطلبات وتتبع التنفيذ والتعامل مع طلبات العملاء " +"بكفاءة.\n" +"- **المصادقة والتفويض:** مصادقة شاملة للمستخدمين باستخدام رموز JWT المميزة " +"والأذونات المستندة إلى الأدوار.\n" "- ** معالجة المدفوعات:** دمج بوابات دفع متعددة وإدارة المعاملات بشكل آمن.\n" -"- ** إدارة المدونة والمحتوى:** إنشاء وإدارة منشورات المدونة والمحتوى التسويقي لمتجرك.\n" -"- ** عمليات B2B:** نقاط نهاية مخصصة للمعاملات بين الشركات وإدارة البيع بالجملة.\n" -"- **دعم متعدد اللغات:** خدمة العملاء في جميع أنحاء العالم مع إمكانات التدويل الكاملة (i18n).\n" -"- **تكامل مخصص:** بنية واجهة برمجة تطبيقات قابلة للتوسيع للتكامل مع المنصات والخدمات الخارجية.\n" -"- **التحليلات والتقارير:** إنشاء تقارير مفصلة عن المبيعات والمخزون وسلوك العملاء.\n" -"- ** تحديثات في الوقت الفعلي:** احصل على بيانات مباشرة عن مستويات المخزون وحالات الطلبات وتغييرات الأسعار.\n" +"- ** إدارة المدونة والمحتوى:** إنشاء وإدارة منشورات المدونة والمحتوى " +"التسويقي لمتجرك.\n" +"- ** عمليات B2B:** نقاط نهاية مخصصة للمعاملات بين الشركات وإدارة البيع " +"بالجملة.\n" +"- **دعم متعدد اللغات:** خدمة العملاء في جميع أنحاء العالم مع إمكانات التدويل " +"الكاملة (i18n).\n" +"- **تكامل مخصص:** بنية واجهة برمجة تطبيقات قابلة للتوسيع للتكامل مع المنصات " +"والخدمات الخارجية.\n" +"- **التحليلات والتقارير:** إنشاء تقارير مفصلة عن المبيعات والمخزون وسلوك " +"العملاء.\n" +"- ** تحديثات في الوقت الفعلي:** احصل على بيانات مباشرة عن مستويات المخزون " +"وحالات الطلبات وتغييرات الأسعار.\n" "\n" "## واجهات برمجة التطبيقات المتاحة\n" "- **واجهة برمجة تطبيقات REST:** واجهة REST كاملة (هذه الوثائق)\n" -"- ** واجهة برمجة تطبيقات GraphiQL:** متوفرة على '/graphql/' مع واجهة GraphiQL للاستعلامات التفاعلية\n" +"- ** واجهة برمجة تطبيقات GraphiQL:** متوفرة على '/graphql/' مع واجهة " +"GraphiQL للاستعلامات التفاعلية\n" "\n" "## المصادقة\n" -"- يتم التعامل مع المصادقة عبر رموز JWT المميزة. قم بتضمين الرمز المميز في رأس \"X-EVIBES-AUTH\" لطلباتك بصيغة \"حامل \".\n" +"- يتم التعامل مع المصادقة عبر رموز JWT المميزة. قم بتضمين الرمز المميز في " +"رأس \"X-EVIBES-AUTH\" لطلباتك بصيغة \"حامل \".\n" "{\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}{\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "}- يتم تدوير رموز التحديث تلقائيًا وإبطالها بعد الاستخدام لتعزيز الأمان.\n" "\n" "## التدويل (i18n)\n" -"- قم بتعيين رأس \"قبول اللغة\" لتحديد لغتك المفضلة (على سبيل المثال، \"قبول اللغة: en-US\").\n" +"- قم بتعيين رأس \"قبول اللغة\" لتحديد لغتك المفضلة (على سبيل المثال، \"قبول " +"اللغة: en-US\").\n" "- يمكن استرداد اللغات المتاحة من نقطة النهاية \"/ التطبيق/اللغات/\".\n" "- جميع المحتويات التي تواجه المستخدم تدعم لغات متعددة خارج الصندوق.\n" "\n" @@ -255,38 +287,38 @@ msgstr "المهام الدورية" msgid "Taskboard" msgstr "لوحة المهام" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "الدعم" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "روابط سريعة" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "المستخدمون" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "المجموعات" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "الطلبات" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "المنتجات" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "الفئات" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "العلامات التجارية" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "المدونات" diff --git a/evibes/locale/cs_CZ/LC_MESSAGES/django.po b/evibes/locale/cs_CZ/LC_MESSAGES/django.po index 1cc7a88f..9e7aa6d4 100644 --- a/evibes/locale/cs_CZ/LC_MESSAGES/django.po +++ b/evibes/locale/cs_CZ/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -138,36 +138,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -187,44 +204,64 @@ msgstr "" "\n" "Vítejte v dokumentaci systému eVibes.\n" "\n" -"eVibes je výkonná platforma pro elektronické obchodování, která umožňuje spustit a spravovat internetový obchod jakéhokoli druhu na několik kliknutí.\n" +"eVibes je výkonná platforma pro elektronické obchodování, která umožňuje " +"spustit a spravovat internetový obchod jakéhokoli druhu na několik " +"kliknutí.\n" "\n" "## Klíčové funkce\n" -"- **Katalog produktů:** Správa podrobností o produktech, cen, skladových zásob a dostupnosti v několika kategoriích.\n" -"- **Správa objednávek:** Zpracovávejte objednávky, sledujte jejich plnění a efektivně vyřizujte požadavky zákazníků.\n" -"- **Ověřování a autorizace:** Komplexní ověřování uživatelů pomocí tokenů JWT a oprávnění na základě rolí.\n" -"- **Zpracování plateb:** Integrace více platebních bran a bezpečná správa transakcí.\n" -"- **Správa blogu a obsahu:** Vytváření a správa příspěvků na blogu a marketingového obsahu pro váš obchod.\n" -"- **Provoz B2B:** Vyhrazené koncové body pro transakce mezi podniky a správu velkoobchodu.\n" -"- **Vícejazyčná podpora:** Obsluhujte zákazníky po celém světě díky plným možnostem internacionalizace (i18n).\n" -"- **Vlastní integrace:** Rozšiřitelná architektura API pro integraci s externími platformami a službami.\n" -"- **Analytika a reporting:** Generování podrobných reportů o prodeji, zásobách a chování zákazníků.\n" -"- **Aktualizace v reálném čase:** Získávejte živé údaje o stavu zásob, stavu objednávek a změnách cen.\n" +"- **Katalog produktů:** Správa podrobností o produktech, cen, skladových " +"zásob a dostupnosti v několika kategoriích.\n" +"- **Správa objednávek:** Zpracovávejte objednávky, sledujte jejich plnění a " +"efektivně vyřizujte požadavky zákazníků.\n" +"- **Ověřování a autorizace:** Komplexní ověřování uživatelů pomocí tokenů " +"JWT a oprávnění na základě rolí.\n" +"- **Zpracování plateb:** Integrace více platebních bran a bezpečná správa " +"transakcí.\n" +"- **Správa blogu a obsahu:** Vytváření a správa příspěvků na blogu a " +"marketingového obsahu pro váš obchod.\n" +"- **Provoz B2B:** Vyhrazené koncové body pro transakce mezi podniky a správu " +"velkoobchodu.\n" +"- **Vícejazyčná podpora:** Obsluhujte zákazníky po celém světě díky plným " +"možnostem internacionalizace (i18n).\n" +"- **Vlastní integrace:** Rozšiřitelná architektura API pro integraci s " +"externími platformami a službami.\n" +"- **Analytika a reporting:** Generování podrobných reportů o prodeji, " +"zásobách a chování zákazníků.\n" +"- **Aktualizace v reálném čase:** Získávejte živé údaje o stavu zásob, stavu " +"objednávek a změnách cen.\n" "\n" "## Dostupná rozhraní API\n" "- **REST API:** Plné rozhraní RESTful (tato dokumentace).\n" -"- **GraphQL API:** K dispozici na adrese `/graphql/` s rozhraním GraphiQL pro interaktivní dotazy.\n" +"- **GraphQL API:** K dispozici na adrese `/graphql/` s rozhraním GraphiQL " +"pro interaktivní dotazy.\n" "\n" "## Ověřování\n" -"- Ověřování se provádí pomocí tokenů JWT. Token zahrňte do hlavičky `X-EVIBES-AUTH` svých požadavků ve formátu `Bearer `.\n" +"- Ověřování se provádí pomocí tokenů JWT. Token zahrňte do hlavičky `X-" +"EVIBES-AUTH` svých požadavků ve formátu `Bearer `.\n" "- Životnost přístupového tokenu je {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "}. {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Životnost tokenu pro obnovení je {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hodin.\n" -"- Tokeny pro obnovení jsou po použití automaticky rotovány a zneplatněny z důvodu vyšší bezpečnosti.\n" +"- Tokeny pro obnovení jsou po použití automaticky rotovány a zneplatněny z " +"důvodu vyšší bezpečnosti.\n" "\n" "## Internacionalizace (i18n)\n" -"- Nastavte hlavičku `Accept-Language` tak, aby určovala preferovaný jazyk (např. `Accept-Language: en-US`).\n" +"- Nastavte hlavičku `Accept-Language` tak, aby určovala preferovaný jazyk " +"(např. `Accept-Language: en-US`).\n" "- Dostupné jazyky lze získat z koncového bodu `/app/languages/`.\n" -"- Veškerý obsah směřující k uživateli podporuje více jazyků hned po vybalení z krabice.\n" +"- Veškerý obsah směřující k uživateli podporuje více jazyků hned po vybalení " +"z krabice.\n" "\n" "## Formáty odpovědí\n" "Rozhraní API podporuje více formátů odpovědí:\n" "- **JSON** (výchozí, formátováno camelCase).\n" "- **XML** (přidejte `?format=xml` nebo nastavte `Accept: application/xml`).\n" -"- **YAML** (přidejte `?format=yaml` nebo nastavte `Accept: application/x-yaml`)\n" +"- **YAML** (přidejte `?format=yaml` nebo nastavte `Accept: application/x-" +"yaml`)\n" "\n" "## Stav a monitorování\n" "- Kontroly stavu: `/health/`\n" @@ -257,38 +294,38 @@ msgstr "Pravidelné úkoly" msgid "Taskboard" msgstr "Taskboard" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Podpora" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Rychlé odkazy" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Uživatelé" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Skupiny" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Objednávky" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Produkty" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Kategorie" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Značky" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogposty" diff --git a/evibes/locale/da_DK/LC_MESSAGES/django.po b/evibes/locale/da_DK/LC_MESSAGES/django.po index 8068c58e..e15ad4ec 100644 --- a/evibes/locale/da_DK/LC_MESSAGES/django.po +++ b/evibes/locale/da_DK/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -30,8 +30,8 @@ msgid "" "Tax rate in jurisdiction of your company. Leave 0 if you don't want to " "process taxes." msgstr "" -"Skattesats i din virksomheds jurisdiktion. Lad 0 stå, hvis du ikke ønsker at" -" behandle skatter." +"Skattesats i din virksomheds jurisdiktion. Lad 0 stå, hvis du ikke ønsker at " +"behandle skatter." #: evibes/settings/constance.py:28 msgid "Shows if the taxes are already included in product's selling prices" @@ -138,36 +138,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -187,36 +204,53 @@ msgstr "" "\n" "Velkommen til eVibes' dokumentation.\n" "\n" -"eVibes er en stærk e-handelsplatform, der giver dig mulighed for at starte og administrere en onlinebutik af enhver art med blot nogle få klik.\n" +"eVibes er en stærk e-handelsplatform, der giver dig mulighed for at starte " +"og administrere en onlinebutik af enhver art med blot nogle få klik.\n" "\n" "## Nøglefunktioner\n" -"- Produktkatalog:** Administrer produktdetaljer, priser, lagerbeholdning og tilgængelighed på tværs af flere kategorier.\n" -"- Ordrehåndtering:** Behandl ordrer, spor opfyldelse og håndter kundeanmodninger effektivt.\n" -"- Godkendelse og autorisation:** Omfattende brugergodkendelse med JWT-tokens og rollebaserede tilladelser.\n" -"- **Betalingsbehandling:** Integrer flere betalingsgateways og håndter transaktioner sikkert.\n" -"- Blog- og indholdsstyring: ** Opret og administrer blogindlæg og markedsføringsindhold til din butik.\n" -"- **B2B Operations:** Dedikerede slutpunkter til business-to-business-transaktioner og engrosadministration.\n" -"- Flersproget support:** Betjen kunder over hele verden med fuld internationalisering (i18n).\n" -"- Brugerdefinerede integrationer:** Udvidelig API-arkitektur til integration med eksterne platforme og tjenester.\n" -"- Analyse og rapportering:** Generer detaljerede rapporter om salg, lagerbeholdning og kundeadfærd.\n" -"- Opdateringer i realtid:** Få live-data om lagerniveauer, ordrestatus og prisændringer.\n" +"- Produktkatalog:** Administrer produktdetaljer, priser, lagerbeholdning og " +"tilgængelighed på tværs af flere kategorier.\n" +"- Ordrehåndtering:** Behandl ordrer, spor opfyldelse og håndter " +"kundeanmodninger effektivt.\n" +"- Godkendelse og autorisation:** Omfattende brugergodkendelse med JWT-tokens " +"og rollebaserede tilladelser.\n" +"- **Betalingsbehandling:** Integrer flere betalingsgateways og håndter " +"transaktioner sikkert.\n" +"- Blog- og indholdsstyring: ** Opret og administrer blogindlæg og " +"markedsføringsindhold til din butik.\n" +"- **B2B Operations:** Dedikerede slutpunkter til business-to-business-" +"transaktioner og engrosadministration.\n" +"- Flersproget support:** Betjen kunder over hele verden med fuld " +"internationalisering (i18n).\n" +"- Brugerdefinerede integrationer:** Udvidelig API-arkitektur til integration " +"med eksterne platforme og tjenester.\n" +"- Analyse og rapportering:** Generer detaljerede rapporter om salg, " +"lagerbeholdning og kundeadfærd.\n" +"- Opdateringer i realtid:** Få live-data om lagerniveauer, ordrestatus og " +"prisændringer.\n" "\n" "## Tilgængelige API'er\n" "- **REST API:** Fuld RESTful-grænseflade (denne dokumentation)\n" -"- GraphQL API:** Tilgængelig på `/graphql/` med GraphiQL-grænseflade til interaktive forespørgsler\n" +"- GraphQL API:** Tilgængelig på `/graphql/` med GraphiQL-grænseflade til " +"interaktive forespørgsler\n" "\n" "## Autentificering\n" -"- Autentificering håndteres via JWT-tokens. Inkluder tokenet i `X-EVIBES-AUTH`-headeren i dine anmodninger i formatet `Bearer `.\n" +"- Autentificering håndteres via JWT-tokens. Inkluder tokenet i `X-EVIBES-" +"AUTH`-headeren i dine anmodninger i formatet `Bearer `.\n" "- Adgangstokenets levetid er {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Opdateringstokenets levetid er {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} timer.\n" -"- Refresh-tokens bliver automatisk roteret og ugyldiggjort efter brug for at øge sikkerheden.\n" +"- Refresh-tokens bliver automatisk roteret og ugyldiggjort efter brug for at " +"øge sikkerheden.\n" "\n" "## Internationalisering (i18n)\n" -"- Indstil headeren `Accept-Language` til at angive dit foretrukne sprog (f.eks. `Accept-Language: en-US`).\n" +"- Indstil headeren `Accept-Language` til at angive dit foretrukne sprog (f." +"eks. `Accept-Language: en-US`).\n" "- Tilgængelige sprog kan hentes fra `/app/languages/` endpoint.\n" "- Alt brugervendt indhold understøtter flere sprog fra starten.\n" "\n" @@ -224,7 +258,8 @@ msgstr "" "API'en understøtter flere svarformater:\n" "- **JSON** (standard, camelCase-formateret)\n" "- XML** (tilføj `?format=xml` eller indstil `Accept: application/xml`)\n" -"- **YAML** (tilføj `?format=yaml` eller indstil `Accept: application/x-yaml`)\n" +"- **YAML** (tilføj `?format=yaml` eller indstil `Accept: application/x-" +"yaml`)\n" "\n" "## Sundhed og overvågning\n" "- Sundhedstjek: `/health/`\n" @@ -257,38 +292,38 @@ msgstr "Periodiske opgaver" msgid "Taskboard" msgstr "Opgavetavle" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Støtte" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Hurtige links" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Brugere" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Grupper" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Bestillinger" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Produkter" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Kategorier" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Mærker" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogindlæg" diff --git a/evibes/locale/de_DE/LC_MESSAGES/django.po b/evibes/locale/de_DE/LC_MESSAGES/django.po index 6d0b7e7b..8995679d 100644 --- a/evibes/locale/de_DE/LC_MESSAGES/django.po +++ b/evibes/locale/de_DE/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -141,36 +141,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -190,44 +207,66 @@ msgstr "" "\n" "Willkommen bei der eVibes-Dokumentation.\n" "\n" -"eVibes ist eine leistungsstarke E-Commerce-Plattform, die es Ihnen ermöglicht, mit nur wenigen Klicks einen Online-Shop jeglicher Art zu eröffnen und zu verwalten.\n" +"eVibes ist eine leistungsstarke E-Commerce-Plattform, die es Ihnen " +"ermöglicht, mit nur wenigen Klicks einen Online-Shop jeglicher Art zu " +"eröffnen und zu verwalten.\n" "\n" "## Hauptmerkmale\n" -"- **Produktkatalog:** Verwalten Sie Produktdetails, Preise, Bestand und Verfügbarkeit über mehrere Kategorien hinweg.\n" -"- **Auftragsverwaltung:** Verarbeiten Sie Aufträge, verfolgen Sie die Ausführung und bearbeiten Sie Kundenanfragen effizient.\n" -"- **Authentifizierung & Autorisierung:** Umfassende Benutzerauthentifizierung mit JWT-Tokens und rollenbasierten Berechtigungen.\n" -"- **Zahlungsabwicklung:** Integrieren Sie mehrere Zahlungsgateways und verwalten Sie Transaktionen auf sichere Weise.\n" -"- **Blog & Content Management:** Erstellen und verwalten Sie Blogbeiträge und Marketinginhalte für Ihren Shop.\n" -"- **B2B-Betrieb:** Dedizierte Endpunkte für Business-to-Business-Transaktionen und Großhandelsmanagement.\n" -"- **Mehrsprachige Unterstützung:** Bedienen Sie Kunden auf der ganzen Welt mit vollständigen Internationalisierungsfunktionen (i18n).\n" -"- **Benutzerdefinierte Integrationen:** Erweiterbare API-Architektur für die Integration mit externen Plattformen und Diensten.\n" -"- **Analytik & Reporting:** Generieren Sie detaillierte Berichte über Verkäufe, Bestände und Kundenverhalten.\n" -"- **Echtzeit-Updates:** Erhalten Sie Live-Daten zu Lagerbeständen, Bestellstatus und Preisänderungen.\n" +"- **Produktkatalog:** Verwalten Sie Produktdetails, Preise, Bestand und " +"Verfügbarkeit über mehrere Kategorien hinweg.\n" +"- **Auftragsverwaltung:** Verarbeiten Sie Aufträge, verfolgen Sie die " +"Ausführung und bearbeiten Sie Kundenanfragen effizient.\n" +"- **Authentifizierung & Autorisierung:** Umfassende " +"Benutzerauthentifizierung mit JWT-Tokens und rollenbasierten " +"Berechtigungen.\n" +"- **Zahlungsabwicklung:** Integrieren Sie mehrere Zahlungsgateways und " +"verwalten Sie Transaktionen auf sichere Weise.\n" +"- **Blog & Content Management:** Erstellen und verwalten Sie Blogbeiträge " +"und Marketinginhalte für Ihren Shop.\n" +"- **B2B-Betrieb:** Dedizierte Endpunkte für Business-to-Business-" +"Transaktionen und Großhandelsmanagement.\n" +"- **Mehrsprachige Unterstützung:** Bedienen Sie Kunden auf der ganzen Welt " +"mit vollständigen Internationalisierungsfunktionen (i18n).\n" +"- **Benutzerdefinierte Integrationen:** Erweiterbare API-Architektur für die " +"Integration mit externen Plattformen und Diensten.\n" +"- **Analytik & Reporting:** Generieren Sie detaillierte Berichte über " +"Verkäufe, Bestände und Kundenverhalten.\n" +"- **Echtzeit-Updates:** Erhalten Sie Live-Daten zu Lagerbeständen, " +"Bestellstatus und Preisänderungen.\n" "\n" "## Verfügbare APIs\n" "- **REST API:** Vollständige RESTful-Schnittstelle (diese Dokumentation)\n" -"- **GraphQL API:** Verfügbar unter `/graphql/` mit GraphiQL-Schnittstelle für interaktive Abfragen\n" +"- **GraphQL API:** Verfügbar unter `/graphql/` mit GraphiQL-Schnittstelle " +"für interaktive Abfragen\n" "\n" "## Authentifizierung\n" -"- Die Authentifizierung erfolgt über JWT-Tokens. Fügen Sie das Token in den `X-EVIBES-AUTH`-Header Ihrer Anfragen im Format `Bearer ` ein.\n" +"- Die Authentifizierung erfolgt über JWT-Tokens. Fügen Sie das Token in den " +"`X-EVIBES-AUTH`-Header Ihrer Anfragen im Format `Bearer ` ein.\n" "- Die Lebensdauer des Zugangstokens beträgt {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Die Lebensdauer von Auffrischungstoken beträgt {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} Stunden.\n" -"- Refresh-Tokens werden automatisch rotiert und nach der Verwendung ungültig gemacht, um die Sicherheit zu erhöhen.\n" +"- Refresh-Tokens werden automatisch rotiert und nach der Verwendung ungültig " +"gemacht, um die Sicherheit zu erhöhen.\n" "\n" "## Internationalisierung (i18n)\n" -"- Setzen Sie den `Accept-Language`-Header, um Ihre bevorzugte Sprache anzugeben (z.B. `Accept-Language: en-US`).\n" -"- Die verfügbaren Sprachen können über den Endpunkt `/app/languages/` abgerufen werden.\n" +"- Setzen Sie den `Accept-Language`-Header, um Ihre bevorzugte Sprache " +"anzugeben (z.B. `Accept-Language: en-US`).\n" +"- Die verfügbaren Sprachen können über den Endpunkt `/app/languages/` " +"abgerufen werden.\n" "- Alle benutzerseitigen Inhalte unterstützen von Haus aus mehrere Sprachen.\n" "\n" "## Antwortformate\n" "Die API unterstützt mehrere Antwortformate:\n" "- **JSON** (Standard, camelCase-formatiert)\n" -"- XML** (fügen Sie `?format=xml` hinzu oder setzen Sie `Accept: application/xml`)\n" -"- **YAML** (fügen Sie `?format=yaml` hinzu oder legen Sie `Accept: application/x-yaml` fest)\n" +"- XML** (fügen Sie `?format=xml` hinzu oder setzen Sie `Accept: application/" +"xml`)\n" +"- **YAML** (fügen Sie `?format=yaml` hinzu oder legen Sie `Accept: " +"application/x-yaml` fest)\n" "\n" "## Gesundheit & Überwachung\n" "- Gesundheitsprüfungen: `/health/`\n" @@ -260,38 +299,38 @@ msgstr "Regelmäßige Aufgaben" msgid "Taskboard" msgstr "Aufgabentafel" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Unterstützung" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Schnelle Links" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Benutzer" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Gruppen" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Bestellungen" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Produkte" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Kategorien" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Marken" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogposts" diff --git a/evibes/locale/en_GB/LC_MESSAGES/django.po b/evibes/locale/en_GB/LC_MESSAGES/django.po index 4317e2bb..2e2e61f3 100644 --- a/evibes/locale/en_GB/LC_MESSAGES/django.po +++ b/evibes/locale/en_GB/LC_MESSAGES/django.po @@ -2,12 +2,12 @@ # Copyright (C) 2025 EGOR GORBUNOV # This file is distributed under the same license as the EVIBES package. # EGOR GORBUNOV , 2025. -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -142,36 +142,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -191,36 +208,53 @@ msgstr "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -261,38 +295,38 @@ msgstr "Periodic Tasks" msgid "Taskboard" msgstr "Taskboard" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Support" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Quick Links" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Users" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Groups" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Orders" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Products" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Categories" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Brands" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogposts" diff --git a/evibes/locale/en_US/LC_MESSAGES/django.po b/evibes/locale/en_US/LC_MESSAGES/django.po index 409b6492..f5013fb1 100644 --- a/evibes/locale/en_US/LC_MESSAGES/django.po +++ b/evibes/locale/en_US/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -138,36 +138,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -187,36 +204,53 @@ msgstr "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks.\n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks.\n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -257,38 +291,38 @@ msgstr "Periodic Tasks" msgid "Taskboard" msgstr "Taskboard" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Support" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Quick Links" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Users" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Groups" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Orders" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Products" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Categories" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Brands" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogposts" diff --git a/evibes/locale/es_ES/LC_MESSAGES/django.po b/evibes/locale/es_ES/LC_MESSAGES/django.po index 9506fe03..55528bac 100644 --- a/evibes/locale/es_ES/LC_MESSAGES/django.po +++ b/evibes/locale/es_ES/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -140,36 +140,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -189,38 +206,59 @@ msgstr "" "\n" "Bienvenido a la documentación de eVibes.\n" "\n" -"eVibes es una potente plataforma de comercio electrónico que le permite lanzar y gestionar una tienda en línea de cualquier tipo en tan sólo unos clics.\n" +"eVibes es una potente plataforma de comercio electrónico que le permite " +"lanzar y gestionar una tienda en línea de cualquier tipo en tan sólo unos " +"clics.\n" "\n" "## Características principales\n" -"- **Catálogo de productos:** Gestione los detalles de los productos, precios, inventario y disponibilidad en múltiples categorías.\n" -"- **Gestión de Pedidos:** Procesar pedidos, seguimiento de cumplimiento, y manejar las solicitudes de los clientes de manera eficiente.\n" -"- Autenticación y autorización:Autenticación de usuario integral con tokens JWT y permisos basados en roles.\n" -"- **Procesamiento de pagos:** Integre múltiples pasarelas de pago y gestione las transacciones de forma segura.\n" -"- **Blog y gestión de contenidos:** Crear y gestionar entradas de blog y contenido de marketing para su tienda.\n" -"- **Operaciones B2B:** Puntos finales dedicados para transacciones de empresa a empresa y gestión de ventas al por mayor.\n" -"- Soporte multilingüe:** Sirve a clientes de todo el mundo con capacidades de internacionalización completa (i18n).\n" -"- Integraciones personalizadas:** Arquitectura API extensible para la integración con plataformas y servicios externos.\n" -"- Análisis e informes:** Generación de informes detallados sobre ventas, inventario y comportamiento de los clientes.\n" -"- Actualizaciones en tiempo real:** Obtenga datos en tiempo real sobre los niveles de inventario, el estado de los pedidos y los cambios de precios.\n" +"- **Catálogo de productos:** Gestione los detalles de los productos, " +"precios, inventario y disponibilidad en múltiples categorías.\n" +"- **Gestión de Pedidos:** Procesar pedidos, seguimiento de cumplimiento, y " +"manejar las solicitudes de los clientes de manera eficiente.\n" +"- Autenticación y autorización:Autenticación de usuario integral con tokens " +"JWT y permisos basados en roles.\n" +"- **Procesamiento de pagos:** Integre múltiples pasarelas de pago y gestione " +"las transacciones de forma segura.\n" +"- **Blog y gestión de contenidos:** Crear y gestionar entradas de blog y " +"contenido de marketing para su tienda.\n" +"- **Operaciones B2B:** Puntos finales dedicados para transacciones de " +"empresa a empresa y gestión de ventas al por mayor.\n" +"- Soporte multilingüe:** Sirve a clientes de todo el mundo con capacidades " +"de internacionalización completa (i18n).\n" +"- Integraciones personalizadas:** Arquitectura API extensible para la " +"integración con plataformas y servicios externos.\n" +"- Análisis e informes:** Generación de informes detallados sobre ventas, " +"inventario y comportamiento de los clientes.\n" +"- Actualizaciones en tiempo real:** Obtenga datos en tiempo real sobre los " +"niveles de inventario, el estado de los pedidos y los cambios de precios.\n" "\n" "## API disponibles\n" "- API REST:** Interfaz RESTful completa (esta documentación)\n" -"- API GraphQL:** Disponible en `/graphql/` con interfaz GraphiQL para consultas interactivas\n" +"- API GraphQL:** Disponible en `/graphql/` con interfaz GraphiQL para " +"consultas interactivas\n" "\n" "## Autenticación\n" -"- La autenticación se gestiona mediante tokens JWT. Incluya el token en la cabecera `X-EVIBES-AUTH` de sus peticiones con el formato `Bearer `.\n" +"- La autenticación se gestiona mediante tokens JWT. Incluya el token en la " +"cabecera `X-EVIBES-AUTH` de sus peticiones con el formato `Bearer " +"`.\n" "- La duración del token de acceso es {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- La duración del token de actualización es de {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} horas.\n" -"- Los tokens de actualización se rotan automáticamente y se invalidan después de su uso para mejorar la seguridad.\n" +"- Los tokens de actualización se rotan automáticamente y se invalidan " +"después de su uso para mejorar la seguridad.\n" "\n" "## Internacionalización (i18n)\n" -"- Establezca la cabecera `Accept-Language` para especificar su idioma preferido (por ejemplo, `Accept-Language: en-US`).\n" -"- Los idiomas disponibles pueden recuperarse desde el punto final `/app/languages/`.\n" -"- Todos los contenidos orientados al usuario son compatibles con varios idiomas.\n" +"- Establezca la cabecera `Accept-Language` para especificar su idioma " +"preferido (por ejemplo, `Accept-Language: en-US`).\n" +"- Los idiomas disponibles pueden recuperarse desde el punto final `/app/" +"languages/`.\n" +"- Todos los contenidos orientados al usuario son compatibles con varios " +"idiomas.\n" "\n" "## Formatos de respuesta\n" "La API admite varios formatos de respuesta:\n" @@ -259,38 +297,38 @@ msgstr "Tareas periódicas" msgid "Taskboard" msgstr "Taskboard" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Ayuda" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Enlaces rápidos" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Usuarios" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Grupos" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Pedidos" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Productos" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Categorías" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Marcas" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogposts" diff --git a/evibes/locale/fa_IR/LC_MESSAGES/django.po b/evibes/locale/fa_IR/LC_MESSAGES/django.po index c26cbfbf..ffe07507 100644 --- a/evibes/locale/fa_IR/LC_MESSAGES/django.po +++ b/evibes/locale/fa_IR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -227,38 +227,38 @@ msgstr "" msgid "Taskboard" msgstr "" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "" diff --git a/evibes/locale/fr_FR/LC_MESSAGES/django.po b/evibes/locale/fr_FR/LC_MESSAGES/django.po index a8d44b1d..0038670c 100644 --- a/evibes/locale/fr_FR/LC_MESSAGES/django.po +++ b/evibes/locale/fr_FR/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -30,8 +30,8 @@ msgid "" "Tax rate in jurisdiction of your company. Leave 0 if you don't want to " "process taxes." msgstr "" -"Taux d'imposition dans la juridiction de votre entreprise. Laissez 0 si vous" -" ne souhaitez pas traiter les taxes." +"Taux d'imposition dans la juridiction de votre entreprise. Laissez 0 si vous " +"ne souhaitez pas traiter les taxes." #: evibes/settings/constance.py:28 msgid "Shows if the taxes are already included in product's selling prices" @@ -83,8 +83,8 @@ msgstr "" #: evibes/settings/constance.py:41 msgid "How many days we store messages from authenticated users" msgstr "" -"Pendant combien de jours les messages des utilisateurs authentifiés sont-ils" -" conservés ?" +"Pendant combien de jours les messages des utilisateurs authentifiés sont-ils " +"conservés ?" #: evibes/settings/constance.py:42 msgid "Disable buy functionality" @@ -143,36 +143,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -192,48 +209,69 @@ msgstr "" "\n" "Bienvenue dans la documentation d'eVibes.\n" "\n" -"eVibes est une puissante plateforme de commerce électronique qui vous permet de lancer et de gérer une boutique en ligne de tout type en quelques clics.\n" +"eVibes est une puissante plateforme de commerce électronique qui vous permet " +"de lancer et de gérer une boutique en ligne de tout type en quelques clics.\n" "\n" "## Fonctionnalités principales\n" -"- Catalogue de produits:** Gérer les détails des produits, les prix, l'inventaire et la disponibilité à travers plusieurs catégories.\n" -"- Gestion des commandes:** Traiter les commandes, suivre l'exécution et traiter les demandes des clients de manière efficace.\n" -"- Authentification et autorisation:** Authentification complète des utilisateurs avec des jetons JWT et des autorisations basées sur les rôles.\n" -"- Traitement des paiements:** Intégration de plusieurs passerelles de paiement et gestion sécurisée des transactions.\n" -"- Gestion de blog et de contenu:** Créez et gérez des articles de blog et du contenu marketing pour votre boutique.\n" -"- Opérations B2B:** Points d'accès dédiés aux transactions interentreprises et à la gestion des ventes en gros.\n" -"- Support multilingue:** Servez vos clients dans le monde entier grâce à des capacités d'internationalisation complètes (i18n).\n" -"- Intégrations personnalisées:** Architecture API extensible pour l'intégration avec des plates-formes et des services externes.\n" -"- Analyses et rapports:** Générer des rapports détaillés sur les ventes, les stocks et le comportement des clients.\n" -"- Mises à jour en temps réel:** Obtenez des données en direct sur les niveaux de stock, les statuts des commandes et les changements de prix.\n" +"- Catalogue de produits:** Gérer les détails des produits, les prix, " +"l'inventaire et la disponibilité à travers plusieurs catégories.\n" +"- Gestion des commandes:** Traiter les commandes, suivre l'exécution et " +"traiter les demandes des clients de manière efficace.\n" +"- Authentification et autorisation:** Authentification complète des " +"utilisateurs avec des jetons JWT et des autorisations basées sur les rôles.\n" +"- Traitement des paiements:** Intégration de plusieurs passerelles de " +"paiement et gestion sécurisée des transactions.\n" +"- Gestion de blog et de contenu:** Créez et gérez des articles de blog et du " +"contenu marketing pour votre boutique.\n" +"- Opérations B2B:** Points d'accès dédiés aux transactions interentreprises " +"et à la gestion des ventes en gros.\n" +"- Support multilingue:** Servez vos clients dans le monde entier grâce à des " +"capacités d'internationalisation complètes (i18n).\n" +"- Intégrations personnalisées:** Architecture API extensible pour " +"l'intégration avec des plates-formes et des services externes.\n" +"- Analyses et rapports:** Générer des rapports détaillés sur les ventes, les " +"stocks et le comportement des clients.\n" +"- Mises à jour en temps réel:** Obtenez des données en direct sur les " +"niveaux de stock, les statuts des commandes et les changements de prix.\n" "\n" "## API disponibles\n" "- API REST:** Interface RESTful complète (cette documentation)\n" -"- API GraphQL:** Disponible sur `/graphql/` avec l'interface GraphiQL pour les requêtes interactives.\n" +"- API GraphQL:** Disponible sur `/graphql/` avec l'interface GraphiQL pour " +"les requêtes interactives.\n" "\n" "## Authentification\n" -"- L'authentification est gérée par des jetons JWT. Incluez le jeton dans l'en-tête `X-EVIBES-AUTH` de vos requêtes au format `Bearer `.\n" +"- L'authentification est gérée par des jetons JWT. Incluez le jeton dans " +"l'en-tête `X-EVIBES-AUTH` de vos requêtes au format `Bearer `.\n" "- La durée de vie du jeton d'accès est de {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- La durée de vie du jeton de rafraîchissement est de {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} heures.\n" -"- Les jetons de rafraîchissement font l'objet d'une rotation automatique et sont invalidés après utilisation pour une meilleure sécurité.\n" +"- Les jetons de rafraîchissement font l'objet d'une rotation automatique et " +"sont invalidés après utilisation pour une meilleure sécurité.\n" "\n" "## Internationalisation (i18n)\n" -"- Définissez l'en-tête `Accept-Language` pour spécifier votre langue préférée (par exemple, `Accept-Language : en-US`).\n" -"- Les langues disponibles peuvent être récupérées à partir du point de terminaison `/app/languages/`.\n" -"- Tous les contenus destinés à l'utilisateur supportent d'emblée plusieurs langues.\n" +"- Définissez l'en-tête `Accept-Language` pour spécifier votre langue " +"préférée (par exemple, `Accept-Language : en-US`).\n" +"- Les langues disponibles peuvent être récupérées à partir du point de " +"terminaison `/app/languages/`.\n" +"- Tous les contenus destinés à l'utilisateur supportent d'emblée plusieurs " +"langues.\n" "\n" "## Formats de réponse\n" "L'API prend en charge plusieurs formats de réponse :\n" "- **JSON** (par défaut, formaté en camelCase)\n" "- **XML** (ajoutez `?format=xml` ou définissez `Accept : application/xml`)\n" -"- **YAML** (ajouter `?format=yaml` ou définir `Accept : application/x-yaml`)\n" +"- **YAML** (ajouter `?format=yaml` ou définir `Accept : application/x-" +"yaml`)\n" "\n" "## Santé et surveillance\n" "- Contrôles de santé : `/health/`\n" -"- Métriques Prometheus (protégées par l'authentification de base) : `/prometheus/`\n" +"- Métriques Prometheus (protégées par l'authentification de base) : `/" +"prometheus/`\n" "\n" "## Version\n" "Version actuelle de l'API : {EVIBES_VERSION}\n" @@ -262,38 +300,38 @@ msgstr "Tâches périodiques" msgid "Taskboard" msgstr "Tableau des tâches" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Soutien" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Liens rapides" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Utilisateurs" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Groupes" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Commandes" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Produits" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Catégories" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Marques" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogposts" diff --git a/evibes/locale/he_IL/LC_MESSAGES/django.po b/evibes/locale/he_IL/LC_MESSAGES/django.po index 00dc5958..7351ed47 100644 --- a/evibes/locale/he_IL/LC_MESSAGES/django.po +++ b/evibes/locale/he_IL/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -29,8 +29,7 @@ msgstr "מספר הטלפון של החברה" msgid "" "Tax rate in jurisdiction of your company. Leave 0 if you don't want to " "process taxes." -msgstr "" -"שיעור המס בתחום השיפוט של החברה שלך. השאר 0 אם אינך מעוניין לעבד מסים." +msgstr "שיעור המס בתחום השיפוט של החברה שלך. השאר 0 אם אינך מעוניין לעבד מסים." #: evibes/settings/constance.py:28 msgid "Shows if the taxes are already included in product's selling prices" @@ -137,36 +136,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -184,18 +200,42 @@ msgid "" "Current API version: {EVIBES_VERSION}\n" msgstr "" "\n" -"ברוכים הבאים לתיעוד של eVibes. eVibes היא פלטפורמת מסחר אלקטרוני עוצמתית המאפשרת להקים ולנהל חנות מקוונת מכל סוג בכמה לחיצות בלבד. ## תכונות עיקריות - **קטלוג מוצרים:** ניהול פרטי מוצרים, מחירים, מלאי וזמינות בקטגוריות מרובות. - **ניהול הזמנות:** עיבוד הזמנות, מעקב אחר ביצוען וטיפול יעיל בבקשות לקוחות.\n" -"- **אימות ואישור:** אימות משתמשים מקיף באמצעות אסימוני JWT והרשאות מבוססות תפקידים. - **עיבוד תשלומים:** שלבו מספר שערי תשלום ונהלו עסקאות בצורה מאובטחת. - **ניהול בלוג ותוכן:** צרו ונהלו פוסטים בבלוג ותוכן שיווקי לחנות שלכם. - **פעולות B2B:** נקודות קצה ייעודיות לעסקאות בין עסקים וניהול סיטונאי.\n" -"- **תמיכה בריבוי שפות:** שירות ללקוחות ברחבי העולם עם יכולות בינלאומיות מלאות (i18n). - **אינטגרציות מותאמות אישית:** ארכיטקטורת API ניתנת להרחבה לשילוב עם פלטפורמות ושירותים חיצוניים. - **ניתוחים ודיווחים:** יצירת דוחות מפורטים על מכירות, מלאי והתנהגות לקוחות. - **עדכונים בזמן אמת:** קבלת נתונים בזמן אמת על רמות המלאי, סטטוס ההזמנות ושינויים במחירים.\n" +"ברוכים הבאים לתיעוד של eVibes. eVibes היא פלטפורמת מסחר אלקטרוני עוצמתית " +"המאפשרת להקים ולנהל חנות מקוונת מכל סוג בכמה לחיצות בלבד. ## תכונות עיקריות " +"- **קטלוג מוצרים:** ניהול פרטי מוצרים, מחירים, מלאי וזמינות בקטגוריות " +"מרובות. - **ניהול הזמנות:** עיבוד הזמנות, מעקב אחר ביצוען וטיפול יעיל בבקשות " +"לקוחות.\n" +"- **אימות ואישור:** אימות משתמשים מקיף באמצעות אסימוני JWT והרשאות מבוססות " +"תפקידים. - **עיבוד תשלומים:** שלבו מספר שערי תשלום ונהלו עסקאות בצורה " +"מאובטחת. - **ניהול בלוג ותוכן:** צרו ונהלו פוסטים בבלוג ותוכן שיווקי לחנות " +"שלכם. - **פעולות B2B:** נקודות קצה ייעודיות לעסקאות בין עסקים וניהול " +"סיטונאי.\n" +"- **תמיכה בריבוי שפות:** שירות ללקוחות ברחבי העולם עם יכולות בינלאומיות " +"מלאות (i18n). - **אינטגרציות מותאמות אישית:** ארכיטקטורת API ניתנת להרחבה " +"לשילוב עם פלטפורמות ושירותים חיצוניים. - **ניתוחים ודיווחים:** יצירת דוחות " +"מפורטים על מכירות, מלאי והתנהגות לקוחות. - **עדכונים בזמן אמת:** קבלת נתונים " +"בזמן אמת על רמות המלאי, סטטוס ההזמנות ושינויים במחירים.\n" "\n" -"## ממשקי API זמינים - **REST API:** ממשק RESTful מלא (תיעוד זה) - **GraphQL API:** זמין ב-`/graphql/` עם ממשק GraphiQL לשאילתות אינטראקטיביות ## אימות - האימות מתבצע באמצעות אסימוני JWT. כלול את האסימון בכותרת `X-EVIBES-AUTH` של בקשותיך בפורמט `Bearer `.\n" +"## ממשקי API זמינים - **REST API:** ממשק RESTful מלא (תיעוד זה) - **GraphQL " +"API:** זמין ב-`/graphql/` עם ממשק GraphiQL לשאילתות אינטראקטיביות ## אימות - " +"האימות מתבצע באמצעות אסימוני JWT. כלול את האסימון בכותרת `X-EVIBES-AUTH` של " +"בקשותיך בפורמט `Bearer `.\n" "- אורך חיי אסימון הגישה הוא {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}. - אורך חיי אסימון הרענון הוא {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" -"} שעות. - אסימוני הרענון מסתובבים באופן אוטומטי ומבוטלים לאחר השימוש לשם אבטחה משופרת. ## בינלאומיות (i18n) - הגדר את הכותרת `Accept-Language` כדי לציין את השפה המועדפת עליך (לדוגמה, `Accept-Language: en-US`).\n" -"- ניתן לאחזר את השפות הזמינות מנקודת הקצה `/app/languages/`. - כל התוכן המוצג למשתמש תומך במספר שפות באופן מובנה. ## פורמטים של תגובה ה-API תומך במספר פורמטים של תגובה: - **JSON** (ברירת מחדל, בפורמט camelCase) - **XML** (הוסף `?format=xml` או הגדר `Accept: application/xml`)\n" -"- **YAML** (הוסף `?format=yaml` או הגדר `Accept: application/x-yaml`) ## תקינות וניטור - בדיקות תקינות: `/health/` - מדדי Prometheus (מוגנים באמצעות אימות בסיסי): `/prometheus/` ## גרסה גרסת ה-API הנוכחית: {EVIBES_VERSION}\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} שעות. - אסימוני הרענון מסתובבים באופן אוטומטי ומבוטלים לאחר השימוש לשם " +"אבטחה משופרת. ## בינלאומיות (i18n) - הגדר את הכותרת `Accept-Language` כדי " +"לציין את השפה המועדפת עליך (לדוגמה, `Accept-Language: en-US`).\n" +"- ניתן לאחזר את השפות הזמינות מנקודת הקצה `/app/languages/`. - כל התוכן " +"המוצג למשתמש תומך במספר שפות באופן מובנה. ## פורמטים של תגובה ה-API תומך " +"במספר פורמטים של תגובה: - **JSON** (ברירת מחדל, בפורמט camelCase) - **XML** " +"(הוסף `?format=xml` או הגדר `Accept: application/xml`)\n" +"- **YAML** (הוסף `?format=yaml` או הגדר `Accept: application/x-yaml`) ## " +"תקינות וניטור - בדיקות תקינות: `/health/` - מדדי Prometheus (מוגנים באמצעות " +"אימות בסיסי): `/prometheus/` ## גרסה גרסת ה-API הנוכחית: {EVIBES_VERSION}\n" #: evibes/settings/unfold.py:57 msgid "Menu" @@ -221,38 +261,38 @@ msgstr "משימות תקופתיות" msgid "Taskboard" msgstr "לוח משימות" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "תמיכה" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "קישורים מהירים" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "משתמשים" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "קבוצות" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "הזמנות" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "מוצרים" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "קטגוריות" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "מותגים" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "פוסטים בבלוג" diff --git a/evibes/locale/hi_IN/LC_MESSAGES/django.po b/evibes/locale/hi_IN/LC_MESSAGES/django.po index a8e152cc..e03c44cc 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 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -227,38 +227,38 @@ msgstr "" msgid "Taskboard" msgstr "" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "" diff --git a/evibes/locale/hr_HR/LC_MESSAGES/django.po b/evibes/locale/hr_HR/LC_MESSAGES/django.po index c26cbfbf..ffe07507 100644 --- a/evibes/locale/hr_HR/LC_MESSAGES/django.po +++ b/evibes/locale/hr_HR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -227,38 +227,38 @@ msgstr "" msgid "Taskboard" msgstr "" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "" diff --git a/evibes/locale/id_ID/LC_MESSAGES/django.po b/evibes/locale/id_ID/LC_MESSAGES/django.po index a798a2f4..c7d1373a 100644 --- a/evibes/locale/id_ID/LC_MESSAGES/django.po +++ b/evibes/locale/id_ID/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -138,36 +138,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -187,44 +204,64 @@ msgstr "" "\n" "Selamat datang di dokumentasi eVibes.\n" "\n" -"eVibes adalah platform e-commerce yang kuat yang memungkinkan Anda untuk meluncurkan dan mengelola toko online dalam bentuk apa pun hanya dengan beberapa klik.\n" +"eVibes adalah platform e-commerce yang kuat yang memungkinkan Anda untuk " +"meluncurkan dan mengelola toko online dalam bentuk apa pun hanya dengan " +"beberapa klik.\n" "\n" "## Fitur Utama\n" -"- Katalog Produk:** Kelola detail produk, harga, inventaris, dan ketersediaan di berbagai kategori.\n" -"- Manajemen Pesanan:** Memproses pesanan, melacak pemenuhan pesanan, dan menangani permintaan pelanggan secara efisien.\n" -"- Autentikasi & Otorisasi:** Autentikasi pengguna yang komprehensif dengan token JWT dan izin berbasis peran.\n" -"- Pemrosesan Pembayaran:** Mengintegrasikan beberapa gateway pembayaran dan mengelola transaksi dengan aman.\n" -"- Manajemen Blog & Konten:** Buat dan kelola posting blog dan konten pemasaran untuk toko Anda.\n" -"- ** Operasi B2B:** Titik akhir khusus untuk transaksi bisnis-ke-bisnis dan manajemen grosir.\n" -"- Dukungan Multi-bahasa:** Melayani pelanggan di seluruh dunia dengan kemampuan internasionalisasi penuh (i18n).\n" -"- Integrasi Khusus:** Arsitektur API yang dapat diperluas untuk berintegrasi dengan platform dan layanan eksternal.\n" -"- Analisis & Pelaporan:** Menghasilkan laporan terperinci tentang penjualan, inventaris, dan perilaku pelanggan.\n" -"- **Pembaruan Waktu Nyata:** Dapatkan data langsung tentang tingkat inventaris, status pesanan, dan perubahan harga.\n" +"- Katalog Produk:** Kelola detail produk, harga, inventaris, dan " +"ketersediaan di berbagai kategori.\n" +"- Manajemen Pesanan:** Memproses pesanan, melacak pemenuhan pesanan, dan " +"menangani permintaan pelanggan secara efisien.\n" +"- Autentikasi & Otorisasi:** Autentikasi pengguna yang komprehensif dengan " +"token JWT dan izin berbasis peran.\n" +"- Pemrosesan Pembayaran:** Mengintegrasikan beberapa gateway pembayaran dan " +"mengelola transaksi dengan aman.\n" +"- Manajemen Blog & Konten:** Buat dan kelola posting blog dan konten " +"pemasaran untuk toko Anda.\n" +"- ** Operasi B2B:** Titik akhir khusus untuk transaksi bisnis-ke-bisnis dan " +"manajemen grosir.\n" +"- Dukungan Multi-bahasa:** Melayani pelanggan di seluruh dunia dengan " +"kemampuan internasionalisasi penuh (i18n).\n" +"- Integrasi Khusus:** Arsitektur API yang dapat diperluas untuk berintegrasi " +"dengan platform dan layanan eksternal.\n" +"- Analisis & Pelaporan:** Menghasilkan laporan terperinci tentang penjualan, " +"inventaris, dan perilaku pelanggan.\n" +"- **Pembaruan Waktu Nyata:** Dapatkan data langsung tentang tingkat " +"inventaris, status pesanan, dan perubahan harga.\n" "\n" "## API yang tersedia\n" "- **REST API:** Antarmuka RESTful penuh (dokumentasi ini)\n" -"- API GraphQL:** Tersedia di `/graphql/` dengan antarmuka GraphiQL untuk kueri interaktif\n" +"- API GraphQL:** Tersedia di `/graphql/` dengan antarmuka GraphiQL untuk " +"kueri interaktif\n" "\n" "## Otentikasi\n" -"- Otentikasi ditangani melalui token JWT. Sertakan token di header `X-EVIBES-AUTH` pada permintaan Anda dalam format `Bearer `.\n" +"- Otentikasi ditangani melalui token JWT. Sertakan token di header `X-EVIBES-" +"AUTH` pada permintaan Anda dalam format `Bearer `.\n" "- Masa berlaku token akses adalah {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Masa berlaku token refresh adalah {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} jam.\n" -"- Refresh token secara otomatis dirotasi dan dibatalkan setelah digunakan untuk meningkatkan keamanan.\n" +"- Refresh token secara otomatis dirotasi dan dibatalkan setelah digunakan " +"untuk meningkatkan keamanan.\n" "\n" "## Internasionalisasi (i18n)\n" -"- Atur header `Accept-Language` untuk menentukan bahasa yang Anda inginkan (misalnya, `Accept-Language: en-US`).\n" +"- Atur header `Accept-Language` untuk menentukan bahasa yang Anda inginkan " +"(misalnya, `Accept-Language: en-US`).\n" "- Bahasa yang tersedia dapat diambil dari titik akhir `/app/languages/`.\n" -"- Semua konten yang berhadapan dengan pengguna mendukung beberapa bahasa secara langsung.\n" +"- Semua konten yang berhadapan dengan pengguna mendukung beberapa bahasa " +"secara langsung.\n" "\n" "Format Tanggapan ## Format Tanggapan\n" "API mendukung beberapa format respons:\n" "- **JSON** (default, berformat camelCase)\n" "- **XML** (tambahkan `?format=xml` atau setel `Accept: application/xml`)\n" -"- **YAML** (tambahkan `?format=yaml` atau setel `Accept: application/x-yaml`)\n" +"- **YAML** (tambahkan `?format=yaml` atau setel `Accept: application/x-" +"yaml`)\n" "\n" "## Kesehatan & Pemantauan\n" "- Pemeriksaan kesehatan: `/health/`\n" @@ -257,38 +294,38 @@ msgstr "Tugas Berkala" msgid "Taskboard" msgstr "Papan tugas" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Dukungan" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Tautan Cepat" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Pengguna" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Grup" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Pesanan" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Produk" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Kategori" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Merek" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Posting blog" diff --git a/evibes/locale/it_IT/LC_MESSAGES/django.po b/evibes/locale/it_IT/LC_MESSAGES/django.po index 6d41f1d9..bdf7a14b 100644 --- a/evibes/locale/it_IT/LC_MESSAGES/django.po +++ b/evibes/locale/it_IT/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -30,8 +30,8 @@ msgid "" "Tax rate in jurisdiction of your company. Leave 0 if you don't want to " "process taxes." msgstr "" -"Aliquota fiscale nella giurisdizione della vostra azienda. Lasciare 0 se non" -" si desidera elaborare le imposte." +"Aliquota fiscale nella giurisdizione della vostra azienda. Lasciare 0 se non " +"si desidera elaborare le imposte." #: evibes/settings/constance.py:28 msgid "Shows if the taxes are already included in product's selling prices" @@ -139,36 +139,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -188,44 +205,65 @@ msgstr "" "\n" "Benvenuti nella documentazione di eVibes.\n" "\n" -"eVibes è una potente piattaforma di e-commerce che consente di lanciare e gestire un negozio online di qualsiasi tipo in pochi clic.\n" +"eVibes è una potente piattaforma di e-commerce che consente di lanciare e " +"gestire un negozio online di qualsiasi tipo in pochi clic.\n" "\n" "## Caratteristiche principali\n" -"- **Catalogo dei prodotti:** Gestione dei dettagli dei prodotti, dei prezzi, delle scorte e della disponibilità di più categorie.\n" -"- Gestione degli ordini:** Elaborazione degli ordini, monitoraggio dell'evasione e gestione efficiente delle richieste dei clienti.\n" -"- Autenticazione e autorizzazione:** Autenticazione completa degli utenti con token JWT e autorizzazioni basate sui ruoli.\n" -"- Elaborazione dei pagamenti:** Integrazione di più gateway di pagamento e gestione sicura delle transazioni.\n" -"- Gestione di blog e contenuti:** Creazione e gestione di post sul blog e di contenuti di marketing per il vostro negozio.\n" -"- Operazioni B2B:** Endpoint dedicati per le transazioni business-to-business e la gestione della vendita all'ingrosso.\n" -"- Supporto multilingue:** Servite i clienti in tutto il mondo con funzionalità di internazionalizzazione completa (i18n).\n" -"- Integrazioni personalizzate:** Architettura API estensibile per l'integrazione con piattaforme e servizi esterni.\n" -"- **Analitica e reportistica:** Generazione di report dettagliati su vendite, inventario e comportamento dei clienti.\n" -"- Aggiornamenti in tempo reale:** Ottenete dati in tempo reale sui livelli di inventario, sullo stato degli ordini e sulle modifiche dei prezzi.\n" +"- **Catalogo dei prodotti:** Gestione dei dettagli dei prodotti, dei prezzi, " +"delle scorte e della disponibilità di più categorie.\n" +"- Gestione degli ordini:** Elaborazione degli ordini, monitoraggio " +"dell'evasione e gestione efficiente delle richieste dei clienti.\n" +"- Autenticazione e autorizzazione:** Autenticazione completa degli utenti " +"con token JWT e autorizzazioni basate sui ruoli.\n" +"- Elaborazione dei pagamenti:** Integrazione di più gateway di pagamento e " +"gestione sicura delle transazioni.\n" +"- Gestione di blog e contenuti:** Creazione e gestione di post sul blog e di " +"contenuti di marketing per il vostro negozio.\n" +"- Operazioni B2B:** Endpoint dedicati per le transazioni business-to-" +"business e la gestione della vendita all'ingrosso.\n" +"- Supporto multilingue:** Servite i clienti in tutto il mondo con " +"funzionalità di internazionalizzazione completa (i18n).\n" +"- Integrazioni personalizzate:** Architettura API estensibile per " +"l'integrazione con piattaforme e servizi esterni.\n" +"- **Analitica e reportistica:** Generazione di report dettagliati su " +"vendite, inventario e comportamento dei clienti.\n" +"- Aggiornamenti in tempo reale:** Ottenete dati in tempo reale sui livelli " +"di inventario, sullo stato degli ordini e sulle modifiche dei prezzi.\n" "\n" "## API disponibili\n" "- API REST:** Interfaccia REST completa (questa documentazione)\n" -"- API **GraphQL:** Disponibile su `/graphql/` con interfaccia GraphiQL per le query interattive.\n" +"- API **GraphQL:** Disponibile su `/graphql/` con interfaccia GraphiQL per " +"le query interattive.\n" "\n" "## Autenticazione\n" -"- L'autenticazione è gestita tramite token JWT. Includere il token nell'intestazione `X-EVIBES-AUTH` delle richieste nel formato `Bearer `.\n" +"- L'autenticazione è gestita tramite token JWT. Includere il token " +"nell'intestazione `X-EVIBES-AUTH` delle richieste nel formato `Bearer " +"`.\n" "- La durata di vita del token di accesso è {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- La durata del token di aggiornamento è di {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} ore.\n" -"- I token di aggiornamento vengono ruotati e invalidati automaticamente dopo l'uso per una maggiore sicurezza.\n" +"- I token di aggiornamento vengono ruotati e invalidati automaticamente dopo " +"l'uso per una maggiore sicurezza.\n" "\n" "## Internazionalizzazione (i18n)\n" -"- Impostare l'intestazione `Accept-Language` per specificare la lingua preferita (ad esempio, `Accept-Language: en-US`).\n" -"- Le lingue disponibili possono essere recuperate dall'endpoint `/app/languages/`.\n" -"- Tutti i contenuti rivolti all'utente supportano immediatamente più lingue.\n" +"- Impostare l'intestazione `Accept-Language` per specificare la lingua " +"preferita (ad esempio, `Accept-Language: en-US`).\n" +"- Le lingue disponibili possono essere recuperate dall'endpoint `/app/" +"languages/`.\n" +"- Tutti i contenuti rivolti all'utente supportano immediatamente più " +"lingue.\n" "\n" "## Formati di risposta\n" "L'API supporta diversi formati di risposta:\n" "- **JSON** (predefinito, formattato in camelCase)\n" "- **XML** (aggiungere `?format=xml` o impostare `Accept: application/xml`)\n" -"- **YAML** (aggiungere `?format=yaml` o impostare `Accept: application/x-yaml`)\n" +"- **YAML** (aggiungere `?format=yaml` o impostare `Accept: application/x-" +"yaml`)\n" "\n" "## Salute e monitoraggio\n" "- Controlli sulla salute: `/salute/`\n" @@ -258,38 +296,38 @@ msgstr "Compiti periodici" msgid "Taskboard" msgstr "Lavagna" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Supporto" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Collegamenti rapidi" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Utenti" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Gruppi" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Ordini" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Prodotti" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Categorie" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Marche" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogposts" diff --git a/evibes/locale/ja_JP/LC_MESSAGES/django.po b/evibes/locale/ja_JP/LC_MESSAGES/django.po index ae1f88ed..e08600ef 100644 --- a/evibes/locale/ja_JP/LC_MESSAGES/django.po +++ b/evibes/locale/ja_JP/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -136,36 +136,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -185,36 +202,48 @@ msgstr "" "\n" "eVibes のドキュメントへようこそ。\n" "\n" -"eVibesは、数クリックであらゆる種類のオンラインストアを立ち上げ、管理できる強力なeコマースプラットフォームです。\n" +"eVibesは、数クリックであらゆる種類のオンラインストアを立ち上げ、管理できる強" +"力なeコマースプラットフォームです。\n" "\n" "## 主な機能\n" -"- 商品カタログ:** 複数のカテゴリにまたがる商品の詳細、価格、在庫、在庫状況を管理します。\n" +"- 商品カタログ:** 複数のカテゴリにまたがる商品の詳細、価格、在庫、在庫状況を" +"管理します。\n" "- 注文管理:**注文を処理し、履行を追跡し、顧客の要求を効率的に処理します。\n" "- JWT トークンとロールベースの権限による包括的なユーザー認証。\n" "- 複数の決済ゲートウェイを統合し、トランザクションを安全に管理します。\n" -"- ブログ・コンテンツ管理:** ブログ記事やマーケティングコンテンツを作成・管理できます。\n" +"- ブログ・コンテンツ管理:** ブログ記事やマーケティングコンテンツを作成・管理" +"できます。\n" "- B2B オペレーション:** 企業間取引と卸売管理のための専用エンドポイント。\n" -"- **多言語サポート:**完全な国際化(国際化)機能で世界中の顧客にサービスを提供します。\n" -"- カスタム統合:**外部プラットフォームやサービスと統合するための拡張可能なAPIアーキテクチャ。\n" +"- **多言語サポート:**完全な国際化(国際化)機能で世界中の顧客にサービスを提供" +"します。\n" +"- カスタム統合:**外部プラットフォームやサービスと統合するための拡張可能なAPI" +"アーキテクチャ。\n" "- 分析&レポート:**売上、在庫、顧客行動に関する詳細なレポートを生成します。\n" -"- リアルタイム更新:**在庫レベル、注文状況、価格変更に関するライブデータを取得します。\n" +"- リアルタイム更新:**在庫レベル、注文状況、価格変更に関するライブデータを取" +"得します。\n" "\n" "## 利用可能なAPI\n" "- **REST API:** 完全なRESTfulインターフェース(このドキュメント)\n" -"- **GraphQL API:** `/graphql/` で利用可能で、対話的なクエリのための GraphiQL インターフェースがある。\n" +"- **GraphQL API:** `/graphql/` で利用可能で、対話的なクエリのための GraphiQL " +"インターフェースがある。\n" "\n" "## 認証\n" -"- 認証はJWTトークンで行われる。リクエストの `X-EVIBES-AUTH` ヘッダーに `Bearer ` という形式でトークンを含めてください。\n" +"- 認証はJWTトークンで行われる。リクエストの `X-EVIBES-AUTH` ヘッダーに " +"`Bearer ` という形式でトークンを含めてください。\n" "- アクセストークンの有効期限は {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}。\n" "- リフレッシュ・トークンの有効期限は {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} 時間です。\n" -"- リフレッシュ・トークンはセキュリティ強化のため、使用後に自動的にローテーションされ無効化されます。\n" +"- リフレッシュ・トークンはセキュリティ強化のため、使用後に自動的にローテー" +"ションされ無効化されます。\n" "\n" "## 国際化 (i18n)\n" -"- Accept-Language`ヘッダを設定して、希望する言語を指定する (例: `Accept-Language: en-US`) 。\n" +"- Accept-Language`ヘッダを設定して、希望する言語を指定する (例: `Accept-" +"Language: en-US`) 。\n" "- 利用可能な言語は `/app/languages/` エンドポイントから取得できます。\n" "- すべてのユーザー向けコンテンツは、すぐに多言語をサポートします。\n" "\n" @@ -222,7 +251,8 @@ msgstr "" "APIは複数のレスポンスフォーマットをサポートしています:\n" "- JSON** (デフォルト、キャメルケースフォーマット)\n" "- XML** (`?format=xml` を追加するか、`Accept: application/xml` を設定する)\n" -"- YAML** (`?format=yaml` を追加するか、`Accept: application/x-yaml` を設定してください)\n" +"- YAML** (`?format=yaml` を追加するか、`Accept: application/x-yaml` を設定し" +"てください)\n" "\n" "## ヘルス&モニタリング\n" "- ヘルスチェックヘルスチェック: `/health/`\n" @@ -255,38 +285,38 @@ msgstr "定期的なタスク" msgid "Taskboard" msgstr "タスクボード" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "サポート" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "クイックリンク" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "ユーザー" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "グループ" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "受注状況" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "製品紹介" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "カテゴリー" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "ブランド" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "ブログ記事" diff --git a/evibes/locale/kk_KZ/LC_MESSAGES/django.po b/evibes/locale/kk_KZ/LC_MESSAGES/django.po index a8e152cc..e03c44cc 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 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -227,38 +227,38 @@ msgstr "" msgid "Taskboard" msgstr "" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "" diff --git a/evibes/locale/ko_KR/LC_MESSAGES/django.po b/evibes/locale/ko_KR/LC_MESSAGES/django.po index b8b755b7..3b2a1411 100644 --- a/evibes/locale/ko_KR/LC_MESSAGES/django.po +++ b/evibes/locale/ko_KR/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -29,7 +29,8 @@ msgstr "회사 전화번호" msgid "" "Tax rate in jurisdiction of your company. Leave 0 if you don't want to " "process taxes." -msgstr "회사 관할 지역의 세율입니다. 세금을 처리하지 않으려면 0을 그대로 둡니다." +msgstr "" +"회사 관할 지역의 세율입니다. 세금을 처리하지 않으려면 0을 그대로 둡니다." #: evibes/settings/constance.py:28 msgid "Shows if the taxes are already included in product's selling prices" @@ -136,36 +137,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -185,36 +203,50 @@ msgstr "" "\n" "eVibes 문서에 오신 것을 환영합니다.\n" "\n" -"eVibes는 클릭 몇 번으로 모든 종류의 온라인 스토어를 시작하고 관리할 수 있는 강력한 전자상거래 플랫폼입니다.\n" +"eVibes는 클릭 몇 번으로 모든 종류의 온라인 스토어를 시작하고 관리할 수 있는 " +"강력한 전자상거래 플랫폼입니다.\n" "\n" "주요 기능 ## 주요 기능\n" -"- **제품 카탈로그:** 여러 카테고리에서 제품 세부 정보, 가격, 재고 및 가용성을 관리합니다.\n" -"- 주문 관리:** 주문을 처리하고, 주문 이행을 추적하고, 고객 요청을 효율적으로 처리하세요.\n" -"- 인증 및 권한 부여:** JWT 토큰 및 역할 기반 권한으로 포괄적인 사용자 인증을 수행합니다.\n" +"- **제품 카탈로그:** 여러 카테고리에서 제품 세부 정보, 가격, 재고 및 가용성" +"을 관리합니다.\n" +"- 주문 관리:** 주문을 처리하고, 주문 이행을 추적하고, 고객 요청을 효율적으로 " +"처리하세요.\n" +"- 인증 및 권한 부여:** JWT 토큰 및 역할 기반 권한으로 포괄적인 사용자 인증을 " +"수행합니다.\n" "- 결제 처리:** 여러 결제 게이트웨이를 통합하고 거래를 안전하게 관리하세요.\n" -"- **블로그 및 콘텐츠 관리:** 스토어용 블로그 게시물과 마케팅 콘텐츠를 생성하고 관리합니다.\n" +"- **블로그 및 콘텐츠 관리:** 스토어용 블로그 게시물과 마케팅 콘텐츠를 생성하" +"고 관리합니다.\n" "- B2B 운영:** B2B 거래 및 도매 관리를 위한 전용 엔드포인트.\n" -"- 다국어 지원:** 완전한 국제화(i18n) 기능으로 전 세계 고객에게 서비스를 제공합니다.\n" -"- **맞춤형 통합:** 외부 플랫폼 및 서비스와의 통합을 위한 확장 가능한 API 아키텍처.\n" -"- **분석 및 보고:** 판매, 재고, 고객 행동에 대한 상세한 보고서를 생성합니다.\n" -"- 실시간 업데이트:** 재고 수준, 주문 상태, 가격 변동에 대한 실시간 데이터를 확인할 수 있습니다.\n" +"- 다국어 지원:** 완전한 국제화(i18n) 기능으로 전 세계 고객에게 서비스를 제공" +"합니다.\n" +"- **맞춤형 통합:** 외부 플랫폼 및 서비스와의 통합을 위한 확장 가능한 API 아키" +"텍처.\n" +"- **분석 및 보고:** 판매, 재고, 고객 행동에 대한 상세한 보고서를 생성합니" +"다.\n" +"- 실시간 업데이트:** 재고 수준, 주문 상태, 가격 변동에 대한 실시간 데이터를 " +"확인할 수 있습니다.\n" "\n" "## 사용 가능한 API\n" "- **REST API:** 전체 RESTful 인터페이스(이 문서)\n" -"- GraphQL API:** 대화형 쿼리를 위한 GraphiQL 인터페이스로 `/graphql/`에서 사용 가능\n" +"- GraphQL API:** 대화형 쿼리를 위한 GraphiQL 인터페이스로 `/graphql/`에서 사" +"용 가능\n" "\n" "## 인증\n" -"- 인증은 JWT 토큰을 통해 처리됩니다. 토큰을 요청의 `X-EVIBES-AUTH` 헤더에 `Bearer ` 형식으로 포함하세요.\n" +"- 인증은 JWT 토큰을 통해 처리됩니다. 토큰을 요청의 `X-EVIBES-AUTH` 헤더에 " +"`Bearer ` 형식으로 포함하세요.\n" "- 액세스 토큰 수명은 {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "}입니다. {\"minutes\" if not DEBUG else \"hours\"}입니다.\n" "- 새로 고침 토큰 수명은 {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} 시간입니다.\n" "- 새로 고침 토큰은 보안 강화를 위해 사용 후 자동으로 교체되고 무효화됩니다.\n" "\n" "## 국제화(i18n)\n" -"- 수락 언어` 헤더를 설정하여 선호하는 언어를 지정합니다(예: `수락 언어: en-US`).\n" +"- 수락 언어` 헤더를 설정하여 선호하는 언어를 지정합니다(예: `수락 언어: en-" +"US`).\n" "- 사용 가능한 언어는 `/app/languages/` 엔드포인트에서 검색할 수 있습니다.\n" "- 모든 사용자 대상 콘텐츠는 기본적으로 여러 언어를 지원합니다.\n" "\n" @@ -255,38 +287,38 @@ msgstr "정기 작업" msgid "Taskboard" msgstr "작업 보드" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "지원" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "빠른 링크" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "사용자" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "그룹" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "주문" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "제품" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "카테고리" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "브랜드" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "블로그 게시물" diff --git a/evibes/locale/nl_NL/LC_MESSAGES/django.po b/evibes/locale/nl_NL/LC_MESSAGES/django.po index da64454c..278d06a6 100644 --- a/evibes/locale/nl_NL/LC_MESSAGES/django.po +++ b/evibes/locale/nl_NL/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -30,8 +30,8 @@ msgid "" "Tax rate in jurisdiction of your company. Leave 0 if you don't want to " "process taxes." msgstr "" -"Belastingtarief in het rechtsgebied van je bedrijf. Laat 0 staan als je geen" -" belastingen wilt verwerken." +"Belastingtarief in het rechtsgebied van je bedrijf. Laat 0 staan als je geen " +"belastingen wilt verwerken." #: evibes/settings/constance.py:28 msgid "Shows if the taxes are already included in product's selling prices" @@ -140,36 +140,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -189,44 +206,63 @@ msgstr "" "\n" "Welkom bij de eVibes documentatie.\n" "\n" -"eVibes is een krachtig e-commerce platform waarmee je in een paar klikken een online winkel van elk type kunt starten en beheren.\n" +"eVibes is een krachtig e-commerce platform waarmee je in een paar klikken " +"een online winkel van elk type kunt starten en beheren.\n" "\n" "## Belangrijkste functies\n" -"- **Productcatalogus:**Beheer productgegevens, prijzen, voorraad en beschikbaarheid in meerdere categorieën.\n" -"- **Order Management:** Verwerk bestellingen, volg de leveringen en behandel verzoeken van klanten efficiënt.\n" -"- **Authenticatie en autorisatie:**Uitgebreide gebruikersverificatie met JWT tokens en rolgebaseerde rechten.\n" -"- **Betalingsverwerking:** Integreer meerdere betalingsgateways en beheer transacties veilig.\n" -"- **Blog & Content Management:** Creëer en beheer blog posts en marketing content voor uw winkel.\n" -"- **B2B Operations:** Specifieke eindpunten voor business-to-business transacties en groothandelsbeheer.\n" -"- Ondersteuning voor meerdere talen:** Bedien klanten wereldwijd met volledige internationalisatiemogelijkheden (i18n).\n" -"- Aangepaste integraties:** Extensibele API-architectuur voor integratie met externe platforms en diensten.\n" -"- Analyse en rapportage:** Genereer gedetailleerde rapporten over verkoop, voorraad en klantgedrag.\n" -"- Realtime updates:** Ontvang live gegevens over voorraadniveaus, orderstatussen en prijswijzigingen.\n" +"- **Productcatalogus:**Beheer productgegevens, prijzen, voorraad en " +"beschikbaarheid in meerdere categorieën.\n" +"- **Order Management:** Verwerk bestellingen, volg de leveringen en behandel " +"verzoeken van klanten efficiënt.\n" +"- **Authenticatie en autorisatie:**Uitgebreide gebruikersverificatie met JWT " +"tokens en rolgebaseerde rechten.\n" +"- **Betalingsverwerking:** Integreer meerdere betalingsgateways en beheer " +"transacties veilig.\n" +"- **Blog & Content Management:** Creëer en beheer blog posts en marketing " +"content voor uw winkel.\n" +"- **B2B Operations:** Specifieke eindpunten voor business-to-business " +"transacties en groothandelsbeheer.\n" +"- Ondersteuning voor meerdere talen:** Bedien klanten wereldwijd met " +"volledige internationalisatiemogelijkheden (i18n).\n" +"- Aangepaste integraties:** Extensibele API-architectuur voor integratie met " +"externe platforms en diensten.\n" +"- Analyse en rapportage:** Genereer gedetailleerde rapporten over verkoop, " +"voorraad en klantgedrag.\n" +"- Realtime updates:** Ontvang live gegevens over voorraadniveaus, " +"orderstatussen en prijswijzigingen.\n" "\n" "## Beschikbare API's\n" "- **REST API:** Volledige RESTful interface (deze documentatie)\n" -"- **GraphQL API:** Beschikbaar op `/graphql/` met GraphiQL interface voor interactieve queries\n" +"- **GraphQL API:** Beschikbaar op `/graphql/` met GraphiQL interface voor " +"interactieve queries\n" "\n" "## Authenticatie\n" -"- Authenticatie wordt afgehandeld via JWT tokens. Neem het token op in de `X-EVIBES-AUTH` header van je verzoeken in het formaat `Bearer `.\n" +"- Authenticatie wordt afgehandeld via JWT tokens. Neem het token op in de `X-" +"EVIBES-AUTH` header van je verzoeken in het formaat `Bearer `.\n" "- De levensduur van het toegangstoken is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- De levensduur van een verversingstoken is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} uur.\n" -"- Refresh tokens worden automatisch geroteerd en ongeldig gemaakt na gebruik voor een betere beveiliging.\n" +"- Refresh tokens worden automatisch geroteerd en ongeldig gemaakt na gebruik " +"voor een betere beveiliging.\n" "\n" "## Internationalisatie (i18n)\n" -"- Stel de `Accept-Language` header in om uw voorkeurstaal op te geven (bijvoorbeeld `Accept-Language: en-US`).\n" -"- Beschikbare talen kunnen worden opgehaald van het `/app/languages/` eindpunt.\n" +"- Stel de `Accept-Language` header in om uw voorkeurstaal op te geven " +"(bijvoorbeeld `Accept-Language: en-US`).\n" +"- Beschikbare talen kunnen worden opgehaald van het `/app/languages/` " +"eindpunt.\n" "- Alle gebruikerscontent ondersteunt standaard meerdere talen.\n" "\n" "## Antwoordformaten\n" "De API ondersteunt meerdere antwoordformaten:\n" "- **JSON** (standaard, camelCase geformatteerd)\n" "- **XML** (voeg `?format=xml` toe of stel `Accept: application/xml` in)\n" -"- **YAML** (voeg `?format=yaml` toe of stel `Accept: application/x-yaml` in)\n" +"- **YAML** (voeg `?format=yaml` toe of stel `Accept: application/x-yaml` " +"in)\n" "\n" "## Gezondheid en bewaking\n" "- Gezondheidscontroles: `/gezondheid/`\n" @@ -259,38 +295,38 @@ msgstr "Periodieke taken" msgid "Taskboard" msgstr "Taakbord" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Ondersteuning" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Snelle links" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Gebruikers" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Groepen" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Bestellingen" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Producten" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Categorieën" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Merken" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogposts" diff --git a/evibes/locale/no_NO/LC_MESSAGES/django.po b/evibes/locale/no_NO/LC_MESSAGES/django.po index a68729f9..184b4c32 100644 --- a/evibes/locale/no_NO/LC_MESSAGES/django.po +++ b/evibes/locale/no_NO/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -30,8 +30,8 @@ msgid "" "Tax rate in jurisdiction of your company. Leave 0 if you don't want to " "process taxes." msgstr "" -"Skattesats i jurisdiksjonen til selskapet ditt. La 0 stå hvis du ikke ønsker" -" å behandle skatter." +"Skattesats i jurisdiksjonen til selskapet ditt. La 0 stå hvis du ikke ønsker " +"å behandle skatter." #: evibes/settings/constance.py:28 msgid "Shows if the taxes are already included in product's selling prices" @@ -138,36 +138,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -187,36 +204,53 @@ msgstr "" "\n" "Velkommen til eVibes-dokumentasjonen.\n" "\n" -"eVibes er en kraftig e-handelsplattform som lar deg starte og administrere en hvilken som helst type nettbutikk med bare noen få klikk.\n" +"eVibes er en kraftig e-handelsplattform som lar deg starte og administrere " +"en hvilken som helst type nettbutikk med bare noen få klikk.\n" "\n" "## Nøkkelfunksjoner\n" -"- Produktkatalog:** Administrer produktdetaljer, priser, lagerbeholdning og tilgjengelighet på tvers av flere kategorier.\n" -"- Ordrehåndtering:** Behandle bestillinger, spore oppfyllelse og håndtere kundeforespørsler effektivt.\n" -"- Autentisering og autorisasjon:** Omfattende brukerautentisering med JWT-tokens og rollebaserte tillatelser.\n" -"- Betalingsbehandling: ** Integrer flere betalingsportaler og håndter transaksjoner på en sikker måte.\n" -"- Blogg- og innholdsadministrasjon:** Opprett og administrer blogginnlegg og markedsføringsinnhold for butikken din.\n" -"- B2B-drift: ** Dedikerte endepunkter for business-to-business-transaksjoner og grossistadministrasjon.\n" -"- Flerspråklig støtte:** Betjen kunder over hele verden med full internasjonaliseringsfunksjonalitet (i18n).\n" -"- Tilpassede integrasjoner:** Utvidbar API-arkitektur for integrering med eksterne plattformer og tjenester.\n" -"- Analyse og rapportering:** Generer detaljerte rapporter om salg, lagerbeholdning og kundeatferd.\n" -"- Sanntidsoppdateringer:** Få sanntidsdata om lagernivåer, ordrestatus og prisendringer.\n" +"- Produktkatalog:** Administrer produktdetaljer, priser, lagerbeholdning og " +"tilgjengelighet på tvers av flere kategorier.\n" +"- Ordrehåndtering:** Behandle bestillinger, spore oppfyllelse og håndtere " +"kundeforespørsler effektivt.\n" +"- Autentisering og autorisasjon:** Omfattende brukerautentisering med JWT-" +"tokens og rollebaserte tillatelser.\n" +"- Betalingsbehandling: ** Integrer flere betalingsportaler og håndter " +"transaksjoner på en sikker måte.\n" +"- Blogg- og innholdsadministrasjon:** Opprett og administrer blogginnlegg og " +"markedsføringsinnhold for butikken din.\n" +"- B2B-drift: ** Dedikerte endepunkter for business-to-business-transaksjoner " +"og grossistadministrasjon.\n" +"- Flerspråklig støtte:** Betjen kunder over hele verden med full " +"internasjonaliseringsfunksjonalitet (i18n).\n" +"- Tilpassede integrasjoner:** Utvidbar API-arkitektur for integrering med " +"eksterne plattformer og tjenester.\n" +"- Analyse og rapportering:** Generer detaljerte rapporter om salg, " +"lagerbeholdning og kundeatferd.\n" +"- Sanntidsoppdateringer:** Få sanntidsdata om lagernivåer, ordrestatus og " +"prisendringer.\n" "\n" "## Tilgjengelige API-er\n" "- **REST API:** Fullt REST-grensesnitt (denne dokumentasjonen)\n" -"- GraphiQL API:** Tilgjengelig på `/graphql/` med GraphiQL-grensesnitt for interaktive spørringer\n" +"- GraphiQL API:** Tilgjengelig på `/graphql/` med GraphiQL-grensesnitt for " +"interaktive spørringer\n" "\n" "## Autentisering\n" -"- Autentisering håndteres via JWT-tokens. Inkluder tokenet i `X-EVIBES-AUTH`-overskriften i forespørslene dine i formatet `Bearer `.\n" +"- Autentisering håndteres via JWT-tokens. Inkluder tokenet i `X-EVIBES-AUTH`-" +"overskriften i forespørslene dine i formatet `Bearer `.\n" "- Levetiden for tilgangstoken er {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "}. {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Levetiden for oppdateringstoken er {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} timer.\n" -"- Oppdateringstokener roteres automatisk og ugyldiggjøres etter bruk for økt sikkerhet.\n" +"- Oppdateringstokener roteres automatisk og ugyldiggjøres etter bruk for økt " +"sikkerhet.\n" "\n" "## Internasjonalisering (i18n)\n" -"- Angi `Accept-Language`-overskriften for å spesifisere ditt foretrukne språk (f.eks. `Accept-Language: en-US`).\n" +"- Angi `Accept-Language`-overskriften for å spesifisere ditt foretrukne " +"språk (f.eks. `Accept-Language: en-US`).\n" "- Tilgjengelige språk kan hentes fra endepunktet `/app/languages/`.\n" "- Alt brukerrettet innhold støtter flere språk uten videre.\n" "\n" @@ -224,7 +258,8 @@ msgstr "" "API-et støtter flere svarformater:\n" "- **JSON** (standard, camelCase-formatert)\n" "- XML** (legg til `?format=xml` eller angi `Accept: application/xml`)\n" -"- **YAML** (legg til `?format=yaml` eller angi `Accept: application/x-yaml`)\n" +"- **YAML** (legg til `?format=yaml` eller angi `Accept: application/x-" +"yaml`)\n" "\n" "## Helse og overvåking\n" "- Helsesjekker: `/health/`\n" @@ -257,38 +292,38 @@ msgstr "Periodiske oppgaver" msgid "Taskboard" msgstr "Oppgavetavle" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Støtte" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Hurtigkoblinger" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Brukere" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Grupper" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Bestillinger" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Produkter" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Kategorier" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Merkevarer" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogginnlegg" diff --git a/evibes/locale/pl_PL/LC_MESSAGES/django.po b/evibes/locale/pl_PL/LC_MESSAGES/django.po index b60f70b0..09056998 100644 --- a/evibes/locale/pl_PL/LC_MESSAGES/django.po +++ b/evibes/locale/pl_PL/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -138,36 +138,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -187,38 +204,57 @@ msgstr "" "\n" "Witamy w dokumentacji eVibes.\n" "\n" -"eVibes to potężna platforma e-commerce, która umożliwia uruchomienie i zarządzanie sklepem internetowym dowolnego rodzaju za pomocą zaledwie kilku kliknięć.\n" +"eVibes to potężna platforma e-commerce, która umożliwia uruchomienie i " +"zarządzanie sklepem internetowym dowolnego rodzaju za pomocą zaledwie kilku " +"kliknięć.\n" "\n" "## Kluczowe funkcje\n" -"- Katalog produktów:** Zarządzanie szczegółami produktów, cenami, zapasami i dostępnością w wielu kategoriach.\n" -"- **Zarządzanie zamówieniami:** Przetwarzanie zamówień, śledzenie realizacji i sprawna obsługa zgłoszeń klientów.\n" -"- Uwierzytelnianie i autoryzacja:** Kompleksowe uwierzytelnianie użytkowników za pomocą tokenów JWT i uprawnień opartych na rolach.\n" -"- Przetwarzanie płatności:** Integracja wielu bramek płatniczych i bezpieczne zarządzanie transakcjami.\n" -"- Blog i zarządzanie treścią:** Tworzenie i zarządzanie wpisami na blogu oraz treściami marketingowymi dla sklepu.\n" -"- Operacje B2B:** Dedykowane punkty końcowe dla transakcji między firmami i zarządzania sprzedażą hurtową.\n" -"- Obsługa wielu języków:** Obsługa klientów na całym świecie dzięki pełnym możliwościom internacjonalizacji (i18n).\n" -"- Integracje niestandardowe:** Rozszerzalna architektura API do integracji z zewnętrznymi platformami i usługami.\n" -"- Analityka i raportowanie:** Generowanie szczegółowych raportów dotyczących sprzedaży, zapasów i zachowań klientów.\n" -"- Aktualizacje w czasie rzeczywistym:** Uzyskaj dane na żywo o poziomach zapasów, statusach zamówień i zmianach cen.\n" +"- Katalog produktów:** Zarządzanie szczegółami produktów, cenami, zapasami i " +"dostępnością w wielu kategoriach.\n" +"- **Zarządzanie zamówieniami:** Przetwarzanie zamówień, śledzenie realizacji " +"i sprawna obsługa zgłoszeń klientów.\n" +"- Uwierzytelnianie i autoryzacja:** Kompleksowe uwierzytelnianie " +"użytkowników za pomocą tokenów JWT i uprawnień opartych na rolach.\n" +"- Przetwarzanie płatności:** Integracja wielu bramek płatniczych i " +"bezpieczne zarządzanie transakcjami.\n" +"- Blog i zarządzanie treścią:** Tworzenie i zarządzanie wpisami na blogu " +"oraz treściami marketingowymi dla sklepu.\n" +"- Operacje B2B:** Dedykowane punkty końcowe dla transakcji między firmami i " +"zarządzania sprzedażą hurtową.\n" +"- Obsługa wielu języków:** Obsługa klientów na całym świecie dzięki pełnym " +"możliwościom internacjonalizacji (i18n).\n" +"- Integracje niestandardowe:** Rozszerzalna architektura API do integracji z " +"zewnętrznymi platformami i usługami.\n" +"- Analityka i raportowanie:** Generowanie szczegółowych raportów dotyczących " +"sprzedaży, zapasów i zachowań klientów.\n" +"- Aktualizacje w czasie rzeczywistym:** Uzyskaj dane na żywo o poziomach " +"zapasów, statusach zamówień i zmianach cen.\n" "\n" "## Dostępne API\n" "- **REST API:** Pełny interfejs RESTful (ta dokumentacja)\n" -"- API GraphQL:** Dostępne pod adresem `/graphql/` z interfejsem GraphiQL do interaktywnych zapytań.\n" +"- API GraphQL:** Dostępne pod adresem `/graphql/` z interfejsem GraphiQL do " +"interaktywnych zapytań.\n" "\n" "## Uwierzytelnianie\n" -"- Uwierzytelnianie jest obsługiwane za pomocą tokenów JWT. Dołącz token w nagłówku `X-EVIBES-AUTH` swoich żądań w formacie `Bearer `.\n" +"- Uwierzytelnianie jest obsługiwane za pomocą tokenów JWT. Dołącz token w " +"nagłówku `X-EVIBES-AUTH` swoich żądań w formacie `Bearer `.\n" "- Okres ważności tokenu dostępu wynosi {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Okres ważności tokenu odświeżania wynosi {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} godzin.\n" -"- Tokeny odświeżania są automatycznie obracane i unieważniane po użyciu w celu zwiększenia bezpieczeństwa.\n" +"- Tokeny odświeżania są automatycznie obracane i unieważniane po użyciu w " +"celu zwiększenia bezpieczeństwa.\n" "\n" "## Internacjonalizacja (i18n)\n" -"- Ustaw nagłówek `Accept-Language`, aby określić preferowany język (np. `Accept-Language: en-US`).\n" +"- Ustaw nagłówek `Accept-Language`, aby określić preferowany język (np. " +"`Accept-Language: en-US`).\n" "- Dostępne języki można pobrać z punktu końcowego `/app/languages/`.\n" -"- Cała zawartość skierowana do użytkownika obsługuje wiele języków od razu po wyjęciu z pudełka.\n" +"- Cała zawartość skierowana do użytkownika obsługuje wiele języków od razu " +"po wyjęciu z pudełka.\n" "\n" "## Formaty odpowiedzi\n" "API obsługuje wiele formatów odpowiedzi:\n" @@ -257,38 +293,38 @@ msgstr "Zadania okresowe" msgid "Taskboard" msgstr "Tablica zadań" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Wsparcie" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Szybkie łącza" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Użytkownicy" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Grupy" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Zamówienia" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Produkty" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Kategorie" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Marki" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogposts" diff --git a/evibes/locale/pt_BR/LC_MESSAGES/django.po b/evibes/locale/pt_BR/LC_MESSAGES/django.po index e5ddf3fd..cf02bbfc 100644 --- a/evibes/locale/pt_BR/LC_MESSAGES/django.po +++ b/evibes/locale/pt_BR/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -139,36 +139,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -188,38 +205,59 @@ msgstr "" "\n" "Bem-vindo à documentação do eVibes.\n" "\n" -"O eVibes é uma poderosa plataforma de comércio eletrônico que lhe permite lançar e gerenciar uma loja on-line de qualquer tipo com apenas alguns cliques.\n" +"O eVibes é uma poderosa plataforma de comércio eletrônico que lhe permite " +"lançar e gerenciar uma loja on-line de qualquer tipo com apenas alguns " +"cliques.\n" "\n" "## Principais recursos\n" -"- Catálogo de produtos:** Gerencie detalhes, preços, estoque e disponibilidade de produtos em várias categorias.\n" -"- Gerenciamento de pedidos:** Processar pedidos, rastrear o atendimento e lidar com as solicitações dos clientes de forma eficiente.\n" -"- Autenticação e autorização:** Autenticação abrangente de usuários com tokens JWT e permissões baseadas em funções.\n" -"- Processamento de pagamentos: integre vários gateways de pagamento e gerencie as transações com segurança.\n" -"- **Gerenciamento de blogs e conteúdo:** Crie e gerencie postagens de blogs e conteúdo de marketing para sua loja.\n" -"- Operações B2B:** Pontos de extremidade dedicados para transações business-to-business e gerenciamento de atacado.\n" -"- Suporte a vários idiomas:** Atenda a clientes em todo o mundo com recursos completos de internacionalização (i18n).\n" -"- Integrações personalizadas:** Arquitetura de API extensível para integração com plataformas e serviços externos.\n" -"- Análises e relatórios:** Gerar relatórios detalhados sobre vendas, estoque e comportamento do cliente.\n" -"- Atualizações em tempo real:** Obtenha dados em tempo real sobre níveis de estoque, status de pedidos e alterações de preços.\n" +"- Catálogo de produtos:** Gerencie detalhes, preços, estoque e " +"disponibilidade de produtos em várias categorias.\n" +"- Gerenciamento de pedidos:** Processar pedidos, rastrear o atendimento e " +"lidar com as solicitações dos clientes de forma eficiente.\n" +"- Autenticação e autorização:** Autenticação abrangente de usuários com " +"tokens JWT e permissões baseadas em funções.\n" +"- Processamento de pagamentos: integre vários gateways de pagamento e " +"gerencie as transações com segurança.\n" +"- **Gerenciamento de blogs e conteúdo:** Crie e gerencie postagens de blogs " +"e conteúdo de marketing para sua loja.\n" +"- Operações B2B:** Pontos de extremidade dedicados para transações business-" +"to-business e gerenciamento de atacado.\n" +"- Suporte a vários idiomas:** Atenda a clientes em todo o mundo com recursos " +"completos de internacionalização (i18n).\n" +"- Integrações personalizadas:** Arquitetura de API extensível para " +"integração com plataformas e serviços externos.\n" +"- Análises e relatórios:** Gerar relatórios detalhados sobre vendas, estoque " +"e comportamento do cliente.\n" +"- Atualizações em tempo real:** Obtenha dados em tempo real sobre níveis de " +"estoque, status de pedidos e alterações de preços.\n" "\n" "## APIs disponíveis\n" "- API REST:** Interface RESTful completa (esta documentação)\n" -"- API GraphQL:** Disponível em `/graphql/` com interface GraphiQL para consultas interativas\n" +"- API GraphQL:** Disponível em `/graphql/` com interface GraphiQL para " +"consultas interativas\n" "\n" "## Autenticação\n" -"- A autenticação é tratada por meio de tokens JWT. Inclua o token no cabeçalho `X-EVIBES-AUTH` de suas solicitações no formato `Bearer `.\n" +"- A autenticação é tratada por meio de tokens JWT. Inclua o token no " +"cabeçalho `X-EVIBES-AUTH` de suas solicitações no formato `Bearer " +"`.\n" "- O tempo de vida do token de acesso é {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- A vida útil do token de atualização é de {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} horas.\n" -"- Os tokens de atualização são automaticamente girados e invalidados após o uso para aumentar a segurança.\n" +"- Os tokens de atualização são automaticamente girados e invalidados após o " +"uso para aumentar a segurança.\n" "\n" "## Internacionalização (i18n)\n" -"- Defina o cabeçalho `Accept-Language` para especificar o idioma de sua preferência (por exemplo, `Accept-Language: en-US`).\n" -"- Os idiomas disponíveis podem ser recuperados no ponto de extremidade `/app/languages/`.\n" -"- Todo o conteúdo voltado para o usuário é compatível com vários idiomas desde o início.\n" +"- Defina o cabeçalho `Accept-Language` para especificar o idioma de sua " +"preferência (por exemplo, `Accept-Language: en-US`).\n" +"- Os idiomas disponíveis podem ser recuperados no ponto de extremidade `/app/" +"languages/`.\n" +"- Todo o conteúdo voltado para o usuário é compatível com vários idiomas " +"desde o início.\n" "\n" "## Formatos de resposta\n" "A API oferece suporte a vários formatos de resposta:\n" @@ -229,7 +267,8 @@ msgstr "" "\n" "## Saúde e monitoramento\n" "- Verificações de integridade: `/health/`\n" -"- Métricas do Prometheus (protegido por autenticação básica): `/prometheus/`\n" +"- Métricas do Prometheus (protegido por autenticação básica): `/prometheus/" +"`\n" "\n" "## Versão\n" "Versão atual da API: {EVIBES_VERSION}\n" @@ -258,38 +297,38 @@ msgstr "Tarefas periódicas" msgid "Taskboard" msgstr "Quadro de tarefas" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Suporte" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Links rápidos" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Usuários" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Grupos" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Pedidos" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Produtos" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Categorias" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Marcas" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Postagens em blogs" diff --git a/evibes/locale/ro_RO/LC_MESSAGES/django.po b/evibes/locale/ro_RO/LC_MESSAGES/django.po index 536c250b..1bb69ac5 100644 --- a/evibes/locale/ro_RO/LC_MESSAGES/django.po +++ b/evibes/locale/ro_RO/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -139,36 +139,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -188,44 +205,66 @@ msgstr "" "\n" "Bine ați venit la documentația eVibes.\n" "\n" -"eVibes este o platformă puternică de comerț electronic care vă permite să lansați și să gestionați un magazin online de orice tip în doar câteva clicuri.\n" +"eVibes este o platformă puternică de comerț electronic care vă permite să " +"lansați și să gestionați un magazin online de orice tip în doar câteva " +"clicuri.\n" "\n" "## Caracteristici principale\n" -"- **Product Catalog:** Gestionați detaliile produselor, prețurile, inventarul și disponibilitatea în mai multe categorii.\n" -"- **Order Management:** Procesați comenzile, urmăriți îndeplinirea și gestionați eficient cererile clienților.\n" -"- **Autentificare și autorizare:** Autentificare cuprinzătoare a utilizatorilor cu token-uri JWT și permisiuni bazate pe roluri.\n" -"- **Payment Processing:** Integrați mai multe gateway-uri de plată și gestionați tranzacțiile în siguranță.\n" -"- **Blog & Content Management:** Creați și gestionați postări pe blog și conținut de marketing pentru magazinul dvs.\n" -"- **B2B Operations:** Puncte finale dedicate pentru tranzacțiile business-to-business și gestionarea comerțului cu ridicata.\n" -"- **Suport multilingv:** Serviți clienții din întreaga lume cu capacități complete de internaționalizare (i18n).\n" -"- **Integrații personalizate:** Arhitectură API extensibilă pentru integrarea cu platforme și servicii externe.\n" -"- **Analytics & Reporting:** Generați rapoarte detaliate privind vânzările, stocurile și comportamentul clienților.\n" -"- **Actualizări în timp real:** Obțineți date în timp real privind nivelurile stocurilor, starea comenzilor și modificările prețurilor.\n" +"- **Product Catalog:** Gestionați detaliile produselor, prețurile, " +"inventarul și disponibilitatea în mai multe categorii.\n" +"- **Order Management:** Procesați comenzile, urmăriți îndeplinirea și " +"gestionați eficient cererile clienților.\n" +"- **Autentificare și autorizare:** Autentificare cuprinzătoare a " +"utilizatorilor cu token-uri JWT și permisiuni bazate pe roluri.\n" +"- **Payment Processing:** Integrați mai multe gateway-uri de plată și " +"gestionați tranzacțiile în siguranță.\n" +"- **Blog & Content Management:** Creați și gestionați postări pe blog și " +"conținut de marketing pentru magazinul dvs.\n" +"- **B2B Operations:** Puncte finale dedicate pentru tranzacțiile business-to-" +"business și gestionarea comerțului cu ridicata.\n" +"- **Suport multilingv:** Serviți clienții din întreaga lume cu capacități " +"complete de internaționalizare (i18n).\n" +"- **Integrații personalizate:** Arhitectură API extensibilă pentru " +"integrarea cu platforme și servicii externe.\n" +"- **Analytics & Reporting:** Generați rapoarte detaliate privind vânzările, " +"stocurile și comportamentul clienților.\n" +"- **Actualizări în timp real:** Obțineți date în timp real privind " +"nivelurile stocurilor, starea comenzilor și modificările prețurilor.\n" "\n" "## API-uri disponibile\n" "- **REST API:** Interfață RESTful completă (această documentație)\n" -"- **GraphQL API:** Disponibil la `/graphql/` cu interfața GraphiQL pentru interogări interactive\n" +"- **GraphQL API:** Disponibil la `/graphql/` cu interfața GraphiQL pentru " +"interogări interactive\n" "\n" "## Autentificare\n" -"- Autentificarea este gestionată prin jetoane JWT. Includeți tokenul în antetul `X-EVIBES-AUTH` al cererilor dvs. în formatul `Bearer `.\n" +"- Autentificarea este gestionată prin jetoane JWT. Includeți tokenul în " +"antetul `X-EVIBES-AUTH` al cererilor dvs. în formatul `Bearer " +"`.\n" "- Durata de viață a jetonului de acces este {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Durata de viață a jetonului de reînnoire este de {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} ore.\n" -"- Jetoanele de reîmprospătare sunt rotite automat și invalidate după utilizare pentru o securitate sporită.\n" +"- Jetoanele de reîmprospătare sunt rotite automat și invalidate după " +"utilizare pentru o securitate sporită.\n" "\n" "## Internaționalizare (i18n)\n" -"- Setați antetul `Accept-Language` pentru a specifica limba preferată (de exemplu, `Accept-Language: en-US`).\n" -"- Limbile disponibile pot fi preluate de la punctul final `/app/languages/`.\n" -"- Toate conținuturile destinate utilizatorilor acceptă din start mai multe limbi.\n" +"- Setați antetul `Accept-Language` pentru a specifica limba preferată (de " +"exemplu, `Accept-Language: en-US`).\n" +"- Limbile disponibile pot fi preluate de la punctul final `/app/languages/" +"`.\n" +"- Toate conținuturile destinate utilizatorilor acceptă din start mai multe " +"limbi.\n" "\n" "## Formate de răspuns\n" "API acceptă mai multe formate de răspuns:\n" "- **JSON** (implicit, formatat camelCase)\n" "- **XML** (adăugați `?format=xml` sau setați `Accept: application/xml`)\n" -"- **YAML** (adăugați `?format=yaml` sau setați `Accept: application/x-yaml`)\n" +"- **YAML** (adăugați `?format=yaml` sau setați `Accept: application/x-" +"yaml`)\n" "\n" "## Sănătate și monitorizare\n" "- Verificări de sănătate: `/health/`\n" @@ -258,38 +297,38 @@ msgstr "Sarcini periodice" msgid "Taskboard" msgstr "Tablou de sarcini" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Sprijin" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Linkuri rapide" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Utilizatori" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Grupuri" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Ordine" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Produse" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Categorii" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Mărci" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogposturi" diff --git a/evibes/locale/ru_RU/LC_MESSAGES/django.po b/evibes/locale/ru_RU/LC_MESSAGES/django.po index 6ec7539f..2402b47d 100644 --- a/evibes/locale/ru_RU/LC_MESSAGES/django.po +++ b/evibes/locale/ru_RU/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -138,36 +138,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -187,44 +204,64 @@ msgstr "" "\n" "Добро пожаловать в документацию eVibes.\n" "\n" -"eVibes - это мощная платформа для электронной коммерции, которая позволяет запустить и управлять интернет-магазином любого типа всего за несколько кликов.\n" +"eVibes - это мощная платформа для электронной коммерции, которая позволяет " +"запустить и управлять интернет-магазином любого типа всего за несколько " +"кликов.\n" "\n" "## Ключевые особенности.\n" -"- **Каталог товаров:** Управление информацией о товарах, ценами, запасами и наличием товаров в нескольких категориях.\n" -"- **Управление заказами:** Обработка заказов, отслеживание выполнения и эффективная обработка запросов клиентов.\n" -"- **Аутентификация и авторизация:** Комплексная аутентификация пользователей с помощью JWT-токенов и ролевых разрешений.\n" -"- **Обработка платежей:** Интеграция нескольких платежных шлюзов и безопасное управление транзакциями.\n" -"- **Управление блогом и контентом:** Создание и управление записями в блоге и маркетинговым контентом для вашего магазина.\n" -"- **B2B-операции:** Выделенные конечные точки для транзакций между бизнесменами и управления оптовыми продажами.\n" -"- **Мультиязыковая поддержка:** Обслуживайте клиентов по всему миру, используя возможности полной интернационализации (i18n).\n" -"- **Заказные интеграции:** Расширяемая архитектура API для интеграции с внешними платформами и сервисами.\n" -"- **Аналитика и отчетность:** Генерируйте подробные отчеты о продажах, запасах и поведении клиентов.\n" -"- **Обновления в режиме реального времени:** Получайте данные об уровне запасов, состоянии заказов и изменениях цен в режиме реального времени.\n" +"- **Каталог товаров:** Управление информацией о товарах, ценами, запасами и " +"наличием товаров в нескольких категориях.\n" +"- **Управление заказами:** Обработка заказов, отслеживание выполнения и " +"эффективная обработка запросов клиентов.\n" +"- **Аутентификация и авторизация:** Комплексная аутентификация пользователей " +"с помощью JWT-токенов и ролевых разрешений.\n" +"- **Обработка платежей:** Интеграция нескольких платежных шлюзов и " +"безопасное управление транзакциями.\n" +"- **Управление блогом и контентом:** Создание и управление записями в блоге " +"и маркетинговым контентом для вашего магазина.\n" +"- **B2B-операции:** Выделенные конечные точки для транзакций между " +"бизнесменами и управления оптовыми продажами.\n" +"- **Мультиязыковая поддержка:** Обслуживайте клиентов по всему миру, " +"используя возможности полной интернационализации (i18n).\n" +"- **Заказные интеграции:** Расширяемая архитектура API для интеграции с " +"внешними платформами и сервисами.\n" +"- **Аналитика и отчетность:** Генерируйте подробные отчеты о продажах, " +"запасах и поведении клиентов.\n" +"- **Обновления в режиме реального времени:** Получайте данные об уровне " +"запасов, состоянии заказов и изменениях цен в режиме реального времени.\n" "\n" "## Доступные API\n" "- **REST API:** Полный REST-интерфейс (данная документация)\n" -"- **GraphQL API:** Доступен по адресу `/graphql/` с интерфейсом GraphiQL для интерактивных запросов\n" +"- **GraphQL API:** Доступен по адресу `/graphql/` с интерфейсом GraphiQL для " +"интерактивных запросов\n" "\n" "## Аутентификация\n" -"- Аутентификация осуществляется с помощью JWT-токенов. Включите токен в заголовок `X-EVIBES-AUTH` ваших запросов в формате `Bearer <ваш_токен>`.\n" +"- Аутентификация осуществляется с помощью JWT-токенов. Включите токен в " +"заголовок `X-EVIBES-AUTH` ваших запросов в формате `Bearer <ваш_токен>`.\n" "- Срок действия токена доступа составляет {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Время жизни токена обновления составляет {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} часов.\n" -"- Для повышения безопасности маркеры доступа автоматически поворачиваются и аннулируются после использования.\n" +"- Для повышения безопасности маркеры доступа автоматически поворачиваются и " +"аннулируются после использования.\n" "\n" "## Интернационализация (i18n)\n" -"- Укажите в заголовке `Accept-Language` предпочтительный язык (например, `Accept-Language: en-US`).\n" +"- Укажите в заголовке `Accept-Language` предпочтительный язык (например, " +"`Accept-Language: en-US`).\n" "- Доступные языки можно получить из конечной точки `/app/languages/`.\n" -"- Весь контент, предназначенный для пользователей, изначально поддерживает несколько языков.\n" +"- Весь контент, предназначенный для пользователей, изначально поддерживает " +"несколько языков.\n" "\n" "## Форматы ответов\n" "API поддерживает несколько форматов ответов:\n" "- **JSON** (по умолчанию, с форматированием в camelCase)\n" "- **XML** (добавьте `?format=xml` или установите `Accept: application/xml`)\n" -"- **YAML** (добавьте `?format=yaml` или установите `Accept: application/x-yaml`)\n" +"- **YAML** (добавьте `?format=yaml` или установите `Accept: application/x-" +"yaml`)\n" "\n" "## Здоровье и мониторинг\n" "- Проверка здоровья: `/health/`\n" @@ -257,38 +294,38 @@ msgstr "Периодические задачи" msgid "Taskboard" msgstr "Канбан" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Поддержка" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Быстрые ссылки" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Пользователи" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Группы" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Заказы" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Товары" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Категории" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Бренды" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Посты" diff --git a/evibes/locale/sv_SE/LC_MESSAGES/django.po b/evibes/locale/sv_SE/LC_MESSAGES/django.po index 7242f72b..13f52556 100644 --- a/evibes/locale/sv_SE/LC_MESSAGES/django.po +++ b/evibes/locale/sv_SE/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -138,36 +138,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -187,48 +204,68 @@ msgstr "" "\n" "Välkommen till eVibes dokumentation.\n" "\n" -"eVibes är en kraftfull e-handelsplattform som gör att du kan starta och hantera en onlinebutik av alla slag med bara några få klick.\n" +"eVibes är en kraftfull e-handelsplattform som gör att du kan starta och " +"hantera en onlinebutik av alla slag med bara några få klick.\n" "\n" "## Viktiga funktioner\n" -"- Produktkatalog:** Hantera produktinformation, priser, lager och tillgänglighet i flera kategorier.\n" -"- ** Orderhantering:** Behandla beställningar, spåra uppfyllande och hantera kundförfrågningar effektivt.\n" -"- Autentisering och auktorisering: ** Omfattande användarautentisering med JWT-tokens och rollbaserade behörigheter.\n" -"- **Betalningshantering:** Integrera flera betalningsgateways och hantera transaktioner på ett säkert sätt.\n" -"- **Blogg & Content Management:** Skapa och hantera blogginlägg och marknadsföringsinnehåll för din butik.\n" -"- **B2B Operations:** Dedikerade slutpunkter för transaktioner mellan företag och grossisthantering.\n" -"- Stöd för flera språk: ** Betjäna kunder över hela världen med fullständiga internationaliseringsfunktioner (i18n).\n" -"- **Kundanpassade integrationer:** Utökad API-arkitektur för integrering med externa plattformar och tjänster.\n" -"- **Analys och rapportering:** Generera detaljerade rapporter om försäljning, lager och kundbeteende.\n" -"- Uppdateringar i realtid: ** Få live-data om lagernivåer, orderstatus och prisändringar.\n" +"- Produktkatalog:** Hantera produktinformation, priser, lager och " +"tillgänglighet i flera kategorier.\n" +"- ** Orderhantering:** Behandla beställningar, spåra uppfyllande och hantera " +"kundförfrågningar effektivt.\n" +"- Autentisering och auktorisering: ** Omfattande användarautentisering med " +"JWT-tokens och rollbaserade behörigheter.\n" +"- **Betalningshantering:** Integrera flera betalningsgateways och hantera " +"transaktioner på ett säkert sätt.\n" +"- **Blogg & Content Management:** Skapa och hantera blogginlägg och " +"marknadsföringsinnehåll för din butik.\n" +"- **B2B Operations:** Dedikerade slutpunkter för transaktioner mellan " +"företag och grossisthantering.\n" +"- Stöd för flera språk: ** Betjäna kunder över hela världen med fullständiga " +"internationaliseringsfunktioner (i18n).\n" +"- **Kundanpassade integrationer:** Utökad API-arkitektur för integrering med " +"externa plattformar och tjänster.\n" +"- **Analys och rapportering:** Generera detaljerade rapporter om " +"försäljning, lager och kundbeteende.\n" +"- Uppdateringar i realtid: ** Få live-data om lagernivåer, orderstatus och " +"prisändringar.\n" "\n" "## Tillgängliga API:er\n" "- **REST API:** Fullständigt RESTful-gränssnitt (denna dokumentation)\n" -"- **GraphQL API:** Tillgängligt på `/graphql/` med GraphiQL-gränssnitt för interaktiva frågor\n" +"- **GraphQL API:** Tillgängligt på `/graphql/` med GraphiQL-gränssnitt för " +"interaktiva frågor\n" "\n" "## Autentisering\n" -"- Autentisering hanteras via JWT-tokens. Inkludera token i `X-EVIBES-AUTH`-huvudet för dina förfrågningar i formatet `Bearer `.\n" +"- Autentisering hanteras via JWT-tokens. Inkludera token i `X-EVIBES-AUTH`-" +"huvudet för dina förfrågningar i formatet `Bearer `.\n" "- Åtkomsttokenens livstid är {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Uppdateringstokenens livslängd är {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} timmar.\n" -"- Uppdateringstokens roteras automatiskt och ogiltigförklaras efter användning för ökad säkerhet.\n" +"- Uppdateringstokens roteras automatiskt och ogiltigförklaras efter " +"användning för ökad säkerhet.\n" "\n" "## Internationalisering (i18n)\n" -"- Ange önskat språk i rubriken `Accept-Language` (t.ex. `Accept-Language: en-US`).\n" +"- Ange önskat språk i rubriken `Accept-Language` (t.ex. `Accept-Language: en-" +"US`).\n" "- Tillgängliga språk kan hämtas från slutpunkten `/app/languages/`.\n" "- Allt innehåll som vänder sig till användare stöder flera språk direkt.\n" "\n" "## Svarsformat\n" "API:et stöder flera olika svarsformat:\n" "- **JSON** (standard, camelCase-formaterad)\n" -"- **XML** (lägg till `?format=xml` eller ställ in `Accept: application/xml`)\n" -"- **YAML** (lägg till `?format=yaml` eller ställ in `Accept: application/x-yaml`)\n" +"- **XML** (lägg till `?format=xml` eller ställ in `Accept: application/" +"xml`)\n" +"- **YAML** (lägg till `?format=yaml` eller ställ in `Accept: application/x-" +"yaml`)\n" "\n" "## Hälsa och övervakning\n" "- Hälsokontroller: `/hälsa/`\n" -"- Prometheus-mätvärden (skyddade med grundläggande autentisering): `/prometheus/`\n" +"- Prometheus-mätvärden (skyddade med grundläggande autentisering): `/" +"prometheus/`\n" "\n" "## Version\n" "Aktuell API-version: {EVIBES_VERSION}\n" @@ -257,38 +294,38 @@ msgstr "Periodiska uppgifter" msgid "Taskboard" msgstr "Uppgiftstavla" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Stöd" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Snabblänkar" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Användare" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Grupper" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Beställningar" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Produkter" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Kategorier" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Brands" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blogginlägg" diff --git a/evibes/locale/th_TH/LC_MESSAGES/django.po b/evibes/locale/th_TH/LC_MESSAGES/django.po index f9a524a7..51cf31e6 100644 --- a/evibes/locale/th_TH/LC_MESSAGES/django.po +++ b/evibes/locale/th_TH/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -29,9 +29,7 @@ msgstr "หมายเลขโทรศัพท์ของบริษัท msgid "" "Tax rate in jurisdiction of your company. Leave 0 if you don't want to " "process taxes." -msgstr "" -"อัตราภาษีในเขตอำนาจศาลของบริษัทของคุณ. ให้เป็น 0 " -"หากคุณไม่ต้องการดำเนินการภาษี." +msgstr "อัตราภาษีในเขตอำนาจศาลของบริษัทของคุณ. ให้เป็น 0 หากคุณไม่ต้องการดำเนินการภาษี." #: evibes/settings/constance.py:28 msgid "Shows if the taxes are already included in product's selling prices" @@ -138,36 +136,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -185,18 +200,48 @@ msgid "" "Current API version: {EVIBES_VERSION}\n" msgstr "" "\n" -"ยินดีต้อนรับสู่เอกสารคู่มือของ eVibes eVibes เป็นแพลตฟอร์มอีคอมเมิร์ซที่ทรงพลังซึ่งช่วยให้คุณสามารถเปิดตัวและจัดการร้านค้าออนไลน์ได้ทุกประเภทเพียงแค่ไม่กี่คลิก ## คุณสมบัติหลัก - **แคตตาล็อกสินค้า:** จัดการรายละเอียดสินค้า ราคาสินค้า สินค้าคงคลัง และความพร้อมจำหน่ายในหลายหมวดหมู่ - **การจัดการคำสั่งซื้อ:** ประมวลผลคำสั่งซื้อ ติดตามการจัดส่ง และจัดการคำขอของลูกค้าอย่างมีประสิทธิภาพ\n" -"- **การตรวจสอบสิทธิ์และการอนุญาต:** การตรวจสอบสิทธิ์ผู้ใช้อย่างครอบคลุมด้วยโทเค็น JWT และสิทธิ์ตามบทบาท - **การประมวลผลการชำระเงิน:** ผสานรวมเกตเวย์การชำระเงินหลายช่องทางและจัดการธุรกรรมอย่างปลอดภัย - **การจัดการบล็อกและเนื้อหา:** สร้างและจัดการโพสต์บล็อกและเนื้อหาการตลาดสำหรับร้านค้าของคุณ - **การดำเนินงาน B2B:** จุดเชื่อมต่อเฉพาะสำหรับการทำธุรกรรมระหว่างธุรกิจและการจัดการขายส่ง\n" -"- **รองรับหลายภาษา:** ให้บริการลูกค้าทั่วโลกด้วยความสามารถในการรองรับภาษาสากลอย่างเต็มรูปแบบ (i18n) - **การผสานรวมแบบกำหนดเอง:** สถาปัตยกรรม API ที่สามารถขยายได้สำหรับการผสานรวมกับแพลตฟอร์มและบริการภายนอก - **การวิเคราะห์และรายงาน:** สร้างรายงานรายละเอียดเกี่ยวกับยอดขาย, สินค้าคงคลัง, และพฤติกรรมของลูกค้า - **การอัปเดตแบบเรียลไทม์:** รับข้อมูลสดเกี่ยวกับระดับสินค้าคงคลัง, สถานะการสั่งซื้อ, และการเปลี่ยนแปลงราคา\n" +"ยินดีต้อนรับสู่เอกสารคู่มือของ eVibes eVibes " +"เป็นแพลตฟอร์มอีคอมเมิร์ซที่ทรงพลังซึ่งช่วยให้คุณสามารถเปิดตัวและจัดการร้านค้าออนไลน์ได้ทุกประเภทเพียงแค่ไม่กี่คลิก " +"## คุณสมบัติหลัก - **แคตตาล็อกสินค้า:** จัดการรายละเอียดสินค้า ราคาสินค้า สินค้าคงคลัง " +"และความพร้อมจำหน่ายในหลายหมวดหมู่ - **การจัดการคำสั่งซื้อ:** ประมวลผลคำสั่งซื้อ " +"ติดตามการจัดส่ง และจัดการคำขอของลูกค้าอย่างมีประสิทธิภาพ\n" +"- **การตรวจสอบสิทธิ์และการอนุญาต:** การตรวจสอบสิทธิ์ผู้ใช้อย่างครอบคลุมด้วยโทเค็น JWT " +"และสิทธิ์ตามบทบาท - **การประมวลผลการชำระเงิน:** " +"ผสานรวมเกตเวย์การชำระเงินหลายช่องทางและจัดการธุรกรรมอย่างปลอดภัย - " +"**การจัดการบล็อกและเนื้อหา:** สร้างและจัดการโพสต์บล็อกและเนื้อหาการตลาดสำหรับร้านค้าของคุณ " +"- **การดำเนินงาน B2B:** " +"จุดเชื่อมต่อเฉพาะสำหรับการทำธุรกรรมระหว่างธุรกิจและการจัดการขายส่ง\n" +"- **รองรับหลายภาษา:** " +"ให้บริการลูกค้าทั่วโลกด้วยความสามารถในการรองรับภาษาสากลอย่างเต็มรูปแบบ (i18n) - " +"**การผสานรวมแบบกำหนดเอง:** สถาปัตยกรรม API " +"ที่สามารถขยายได้สำหรับการผสานรวมกับแพลตฟอร์มและบริการภายนอก - **การวิเคราะห์และรายงาน:" +"** สร้างรายงานรายละเอียดเกี่ยวกับยอดขาย, สินค้าคงคลัง, และพฤติกรรมของลูกค้า - " +"**การอัปเดตแบบเรียลไทม์:** รับข้อมูลสดเกี่ยวกับระดับสินค้าคงคลัง, สถานะการสั่งซื้อ, " +"และการเปลี่ยนแปลงราคา\n" "\n" -"## API ที่มีให้บริการ - **REST API:** อินเทอร์เฟซ RESTful แบบเต็มรูปแบบ (เอกสารนี้) - **GraphQL API:** สามารถใช้งานได้ที่ `/graphql/` พร้อมอินเทอร์เฟซ GraphiQL สำหรับการสืบค้นแบบโต้ตอบ ## การยืนยันตัวตน - การยืนยันตัวตนดำเนินการผ่านโทเค็น JWT โปรดใส่โทเค็นในหัวข้อ `X-EVIBES-AUTH` ของคำขอของคุณในรูปแบบ `Bearer `\n" +"## API ที่มีให้บริการ - **REST API:** อินเทอร์เฟซ RESTful แบบเต็มรูปแบบ (เอกสารนี้) - " +"**GraphQL API:** สามารถใช้งานได้ที่ `/graphql/` พร้อมอินเทอร์เฟซ GraphiQL " +"สำหรับการสืบค้นแบบโต้ตอบ ## การยืนยันตัวตน - การยืนยันตัวตนดำเนินการผ่านโทเค็น JWT " +"โปรดใส่โทเค็นในหัวข้อ `X-EVIBES-AUTH` ของคำขอของคุณในรูปแบบ `Bearer `\n" "- ระยะเวลาการใช้งานโทเค็นการเข้าถึงคือ {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" -"} {\"minutes\" if not DEBUG else \"hours\"}. - ระยะเวลาการใช้งานโทเค็นการรีเฟรชคือ {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" -"} ชั่วโมง. - โทเค็นการรีเฟรชจะถูกหมุนเวียนและยกเลิกการใช้งานโดยอัตโนมัติหลังการใช้งานเพื่อเพิ่มความปลอดภัย. ## การแปลภาษา (i18n) - ตั้งค่าหัวข้อ `Accept-Language` เพื่อระบุภาษาที่คุณต้องการ (เช่น `Accept-Language: en-US`).\n" -"- ภาษาที่มีให้บริการสามารถดึงข้อมูลได้จากจุดสิ้นสุด `/app/languages/` - เนื้อหาที่แสดงต่อผู้ใช้ทั้งหมดรองรับหลายภาษาโดยอัตโนมัติ ## รูปแบบการตอบกลับ API รองรับรูปแบบการตอบกลับหลายรูปแบบ: - **JSON** (ค่าเริ่มต้น, รูปแบบ camelCase) - **XML** (เพิ่ม `?format=xml` หรือตั้งค่า `Accept: application/xml`)\n" -"- **YAML** (เพิ่ม `?format=yaml` หรือตั้งค่า `Accept: application/x-yaml`) ## สุขภาพและการตรวจสอบ - การตรวจสอบสุขภาพ: `/health/` - เมตริก Prometheus (ป้องกันด้วย basic-auth): `/prometheus/` ## เวอร์ชัน เวอร์ชัน API ปัจจุบัน: {EVIBES_VERSION}\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}. - " +"ระยะเวลาการใช้งานโทเค็นการรีเฟรชคือ {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} ชั่วโมง. - " +"โทเค็นการรีเฟรชจะถูกหมุนเวียนและยกเลิกการใช้งานโดยอัตโนมัติหลังการใช้งานเพื่อเพิ่มความปลอดภัย. " +"## การแปลภาษา (i18n) - ตั้งค่าหัวข้อ `Accept-Language` เพื่อระบุภาษาที่คุณต้องการ (เช่น " +"`Accept-Language: en-US`).\n" +"- ภาษาที่มีให้บริการสามารถดึงข้อมูลได้จากจุดสิ้นสุด `/app/languages/` - " +"เนื้อหาที่แสดงต่อผู้ใช้ทั้งหมดรองรับหลายภาษาโดยอัตโนมัติ ## รูปแบบการตอบกลับ API " +"รองรับรูปแบบการตอบกลับหลายรูปแบบ: - **JSON** (ค่าเริ่มต้น, รูปแบบ camelCase) - " +"**XML** (เพิ่ม `?format=xml` หรือตั้งค่า `Accept: application/xml`)\n" +"- **YAML** (เพิ่ม `?format=yaml` หรือตั้งค่า `Accept: application/x-yaml`) ## " +"สุขภาพและการตรวจสอบ - การตรวจสอบสุขภาพ: `/health/` - เมตริก Prometheus " +"(ป้องกันด้วย basic-auth): `/prometheus/` ## เวอร์ชัน เวอร์ชัน API ปัจจุบัน: " +"{EVIBES_VERSION}\n" #: evibes/settings/unfold.py:57 msgid "Menu" @@ -222,38 +267,38 @@ msgstr "งานประจำ" msgid "Taskboard" msgstr "กระดานงาน" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "การสนับสนุน" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "ลิงก์ด่วน" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "ผู้ใช้" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "กลุ่ม" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "คำสั่ง" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "ผลิตภัณฑ์" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "หมวดหมู่" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "แบรนด์" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "บทความบล็อก" diff --git a/evibes/locale/tr_TR/LC_MESSAGES/django.po b/evibes/locale/tr_TR/LC_MESSAGES/django.po index b4c078de..f70b671d 100644 --- a/evibes/locale/tr_TR/LC_MESSAGES/django.po +++ b/evibes/locale/tr_TR/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -79,8 +79,7 @@ msgstr "Anonim kullanıcılardan gelen mesajları kaç gün saklıyoruz" #: evibes/settings/constance.py:41 msgid "How many days we store messages from authenticated users" -msgstr "" -"Kimliği doğrulanmış kullanıcılardan gelen mesajları kaç gün saklıyoruz" +msgstr "Kimliği doğrulanmış kullanıcılardan gelen mesajları kaç gün saklıyoruz" #: evibes/settings/constance.py:42 msgid "Disable buy functionality" @@ -139,36 +138,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -188,44 +204,65 @@ msgstr "" "\n" "eVibes belgelerine hoş geldiniz.\n" "\n" -"eVibes, sadece birkaç tıklamayla her türlü çevrimiçi mağazayı açmanıza ve yönetmenize olanak tanıyan güçlü bir e-ticaret platformudur.\n" +"eVibes, sadece birkaç tıklamayla her türlü çevrimiçi mağazayı açmanıza ve " +"yönetmenize olanak tanıyan güçlü bir e-ticaret platformudur.\n" "\n" "## Temel Özellikler\n" -"- Ürün Kataloğu:** Birden fazla kategoride ürün ayrıntılarını, fiyatlandırmayı, envanteri ve kullanılabilirliği yönetin.\n" -"- Sipariş Yönetimi:** Siparişleri işleyin, gönderimi takip edin ve müşteri taleplerini verimli bir şekilde ele alın.\n" -"- Kimlik Doğrulama ve Yetkilendirme:** JWT belirteçleri ve rol tabanlı izinler ile kapsamlı kullanıcı kimlik doğrulaması.\n" -"- **Ödeme İşleme:** Birden fazla ödeme ağ geçidini entegre edin ve işlemleri güvenli bir şekilde yönetin.\n" -"- **Blog ve İçerik Yönetimi:** Mağazanız için blog gönderileri ve pazarlama içeriği oluşturun ve yönetin.\n" -"- **B2B İşlemleri:** İşletmeler arası işlemler ve toptan satış yönetimi için özel uç noktalar.\n" -"- Çoklu Dil Desteği:** Tam uluslararasılaştırma (i18n) yetenekleri ile dünya çapındaki müşterilere hizmet verin.\n" -"- Özel Entegrasyonlar:** Harici platformlar ve hizmetlerle entegrasyon için genişletilebilir API mimarisi.\n" -"- Analitik ve Raporlama:** Satış, envanter ve müşteri davranışları hakkında ayrıntılı raporlar oluşturun.\n" -"- Gerçek Zamanlı Güncellemeler:** Envanter seviyeleri, sipariş durumları ve fiyat değişiklikleri hakkında canlı veriler alın.\n" +"- Ürün Kataloğu:** Birden fazla kategoride ürün ayrıntılarını, " +"fiyatlandırmayı, envanteri ve kullanılabilirliği yönetin.\n" +"- Sipariş Yönetimi:** Siparişleri işleyin, gönderimi takip edin ve müşteri " +"taleplerini verimli bir şekilde ele alın.\n" +"- Kimlik Doğrulama ve Yetkilendirme:** JWT belirteçleri ve rol tabanlı " +"izinler ile kapsamlı kullanıcı kimlik doğrulaması.\n" +"- **Ödeme İşleme:** Birden fazla ödeme ağ geçidini entegre edin ve işlemleri " +"güvenli bir şekilde yönetin.\n" +"- **Blog ve İçerik Yönetimi:** Mağazanız için blog gönderileri ve pazarlama " +"içeriği oluşturun ve yönetin.\n" +"- **B2B İşlemleri:** İşletmeler arası işlemler ve toptan satış yönetimi için " +"özel uç noktalar.\n" +"- Çoklu Dil Desteği:** Tam uluslararasılaştırma (i18n) yetenekleri ile dünya " +"çapındaki müşterilere hizmet verin.\n" +"- Özel Entegrasyonlar:** Harici platformlar ve hizmetlerle entegrasyon için " +"genişletilebilir API mimarisi.\n" +"- Analitik ve Raporlama:** Satış, envanter ve müşteri davranışları hakkında " +"ayrıntılı raporlar oluşturun.\n" +"- Gerçek Zamanlı Güncellemeler:** Envanter seviyeleri, sipariş durumları ve " +"fiyat değişiklikleri hakkında canlı veriler alın.\n" "\n" "## Mevcut API'ler\n" "- **REST API:** Tam RESTful arayüz (bu dokümantasyon)\n" -"- **GraphQL API:** Etkileşimli sorgular için GraphiQL arayüzü ile `/graphql/` adresinde mevcuttur\n" +"- **GraphQL API:** Etkileşimli sorgular için GraphiQL arayüzü ile `/graphql/" +"` adresinde mevcuttur\n" "\n" "## Kimlik Doğrulama\n" -"- Kimlik doğrulama JWT belirteçleri aracılığıyla gerçekleştirilir. Belirteci, isteklerinizin `X-EVIBES-AUTH` başlığına `Bearer ` biçiminde ekleyin.\n" +"- Kimlik doğrulama JWT belirteçleri aracılığıyla gerçekleştirilir. " +"Belirteci, isteklerinizin `X-EVIBES-AUTH` başlığına `Bearer ` " +"biçiminde ekleyin.\n" "- Erişim belirteci ömrü {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Yenileme belirteci ömrü {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} saattir.\n" -"- Yenileme belirteçleri, gelişmiş güvenlik için kullanımdan sonra otomatik olarak döndürülür ve geçersiz kılınır.\n" +"- Yenileme belirteçleri, gelişmiş güvenlik için kullanımdan sonra otomatik " +"olarak döndürülür ve geçersiz kılınır.\n" "\n" "## Uluslararasılaştırma (i18n)\n" -"- Tercih ettiğiniz dili belirtmek için `Accept-Language` başlığını ayarlayın (örneğin, `Accept-Language: en-US`).\n" +"- Tercih ettiğiniz dili belirtmek için `Accept-Language` başlığını ayarlayın " +"(örneğin, `Accept-Language: en-US`).\n" "- Mevcut diller `/app/languages/` uç noktasından alınabilir.\n" -"- Kullanıcıya yönelik tüm içerikler kutudan çıkar çıkmaz birden fazla dili destekler.\n" +"- Kullanıcıya yönelik tüm içerikler kutudan çıkar çıkmaz birden fazla dili " +"destekler.\n" "\n" "## Yanıt Biçimleri\n" "API birden fazla yanıt biçimini destekler:\n" "- **JSON** (varsayılan, camelCase biçimlendirilmiş)\n" -"- **XML** (`?format=xml` ekleyin veya `Accept: application/xml` olarak ayarlayın)\n" -"- **YAML** (`?format=yaml` ekleyin veya `Accept: application/x-yaml` olarak ayarlayın)\n" +"- **XML** (`?format=xml` ekleyin veya `Accept: application/xml` olarak " +"ayarlayın)\n" +"- **YAML** (`?format=yaml` ekleyin veya `Accept: application/x-yaml` olarak " +"ayarlayın)\n" "\n" "## Sağlık ve İzleme\n" "- Sağlık kontrolleri: `/health/`\n" @@ -258,38 +295,38 @@ msgstr "Periyodik Görevler" msgid "Taskboard" msgstr "Görev Panosu" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Destek" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Hızlı Bağlantılar" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Kullanıcılar" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Gruplar" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Siparişler" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Ürünler" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Kategoriler" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Markalar" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Blog Yazıları" diff --git a/evibes/locale/vi_VN/LC_MESSAGES/django.po b/evibes/locale/vi_VN/LC_MESSAGES/django.po index ab145809..76023af4 100644 --- a/evibes/locale/vi_VN/LC_MESSAGES/django.po +++ b/evibes/locale/vi_VN/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -30,8 +30,8 @@ msgid "" "Tax rate in jurisdiction of your company. Leave 0 if you don't want to " "process taxes." msgstr "" -"Tỷ lệ thuế tại khu vực pháp lý của công ty bạn. Để trống ô này nếu bạn không" -" muốn xử lý thuế." +"Tỷ lệ thuế tại khu vực pháp lý của công ty bạn. Để trống ô này nếu bạn không " +"muốn xử lý thuế." #: evibes/settings/constance.py:28 msgid "Shows if the taxes are already included in product's selling prices" @@ -75,8 +75,7 @@ msgstr "Địa chỉ email của người gửi" #: evibes/settings/constance.py:40 msgid "How many days we store messages from anonymous users" -msgstr "" -"Chúng tôi lưu trữ tin nhắn từ người dùng ẩn danh trong bao nhiêu ngày?" +msgstr "Chúng tôi lưu trữ tin nhắn từ người dùng ẩn danh trong bao nhiêu ngày?" #: evibes/settings/constance.py:41 msgid "How many days we store messages from authenticated users" @@ -140,36 +139,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -187,18 +203,49 @@ msgid "" "Current API version: {EVIBES_VERSION}\n" msgstr "" "\n" -"Chào mừng đến với tài liệu hướng dẫn của eVibes. eVibes là một nền tảng thương mại điện tử mạnh mẽ cho phép bạn khởi chạy và quản lý cửa hàng trực tuyến bất kỳ loại nào chỉ với vài cú nhấp chuột. ## Tính năng chính - **Danh mục sản phẩm:** Quản lý chi tiết sản phẩm, giá cả, tồn kho và tình trạng sẵn có trên nhiều danh mục. - **Quản lý đơn hàng:** Xử lý đơn hàng, theo dõi quá trình giao hàng và xử lý yêu cầu của khách hàng một cách hiệu quả.\n" -"- **Xác thực & Quyền truy cập:** Hệ thống xác thực người dùng toàn diện với token JWT và quyền truy cập dựa trên vai trò. - **Xử lý thanh toán:** Tích hợp nhiều cổng thanh toán và quản lý giao dịch an toàn. - **Quản lý blog và nội dung:** Tạo và quản lý bài viết blog và nội dung tiếp thị cho cửa hàng của bạn. - **Hoạt động B2B:** Các điểm cuối chuyên dụng cho giao dịch B2B và quản lý bán sỉ.\n" -"- **Hỗ trợ đa ngôn ngữ:** Phục vụ khách hàng toàn cầu với khả năng quốc tế hóa (i18n) đầy đủ. - **Tích hợp tùy chỉnh:** Kiến trúc API mở rộng để tích hợp với các nền tảng và dịch vụ bên ngoài. - **Phân tích & Báo cáo:** Tạo báo cáo chi tiết về doanh số, hàng tồn kho và hành vi khách hàng. - **Cập nhật thời gian thực:** Nhận dữ liệu trực tiếp về mức tồn kho, trạng thái đơn hàng và thay đổi giá.\n" +"Chào mừng đến với tài liệu hướng dẫn của eVibes. eVibes là một nền tảng " +"thương mại điện tử mạnh mẽ cho phép bạn khởi chạy và quản lý cửa hàng trực " +"tuyến bất kỳ loại nào chỉ với vài cú nhấp chuột. ## Tính năng chính - **Danh " +"mục sản phẩm:** Quản lý chi tiết sản phẩm, giá cả, tồn kho và tình trạng sẵn " +"có trên nhiều danh mục. - **Quản lý đơn hàng:** Xử lý đơn hàng, theo dõi quá " +"trình giao hàng và xử lý yêu cầu của khách hàng một cách hiệu quả.\n" +"- **Xác thực & Quyền truy cập:** Hệ thống xác thực người dùng toàn diện với " +"token JWT và quyền truy cập dựa trên vai trò. - **Xử lý thanh toán:** Tích " +"hợp nhiều cổng thanh toán và quản lý giao dịch an toàn. - **Quản lý blog và " +"nội dung:** Tạo và quản lý bài viết blog và nội dung tiếp thị cho cửa hàng " +"của bạn. - **Hoạt động B2B:** Các điểm cuối chuyên dụng cho giao dịch B2B và " +"quản lý bán sỉ.\n" +"- **Hỗ trợ đa ngôn ngữ:** Phục vụ khách hàng toàn cầu với khả năng quốc tế " +"hóa (i18n) đầy đủ. - **Tích hợp tùy chỉnh:** Kiến trúc API mở rộng để tích " +"hợp với các nền tảng và dịch vụ bên ngoài. - **Phân tích & Báo cáo:** Tạo " +"báo cáo chi tiết về doanh số, hàng tồn kho và hành vi khách hàng. - **Cập " +"nhật thời gian thực:** Nhận dữ liệu trực tiếp về mức tồn kho, trạng thái đơn " +"hàng và thay đổi giá.\n" "\n" -"## Các API có sẵn - **REST API:** Giao diện RESTful đầy đủ (tài liệu này) - **GraphQL API:** Có sẵn tại `/graphql/` với giao diện GraphiQL cho các truy vấn tương tác ## Xác thực - Xác thực được xử lý thông qua token JWT. Bao gồm token trong tiêu đề `X-EVIBES-AUTH` của yêu cầu của bạn theo định dạng `Bearer `.\n" +"## Các API có sẵn - **REST API:** Giao diện RESTful đầy đủ (tài liệu này) - " +"**GraphQL API:** Có sẵn tại `/graphql/` với giao diện GraphiQL cho các truy " +"vấn tương tác ## Xác thực - Xác thực được xử lý thông qua token JWT. Bao gồm " +"token trong tiêu đề `X-EVIBES-AUTH` của yêu cầu của bạn theo định dạng " +"`Bearer `.\n" "- Thời hạn sử dụng của token truy cập là {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" -"} {\"minutes\" if not DEBUG else \"hours\"}. - Thời hạn sử dụng của token làm mới là {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" -"} giờ. - Token làm mới được tự động xoay vòng và vô hiệu hóa sau khi sử dụng để tăng cường bảo mật. ## Quốc tế hóa (i18n) - Đặt tiêu đề `Accept-Language` để chỉ định ngôn ngữ ưa thích của bạn (ví dụ: `Accept-Language: en-US`).\n" -"- Các ngôn ngữ có sẵn có thể được lấy từ điểm cuối `/app/languages/`. - Tất cả nội dung hiển thị cho người dùng đều hỗ trợ nhiều ngôn ngữ ngay từ đầu. ## Định dạng phản hồi API hỗ trợ nhiều định dạng phản hồi: - **JSON** (mặc định, định dạng camelCase) - **XML** (thêm `?format=xml` hoặc đặt `Accept: application/xml`)\n" -"- **YAML** (thêm `?format=yaml` hoặc đặt `Accept: application/x-yaml`) ## Sức khỏe & Giám sát - Kiểm tra sức khỏe: `/health/` - Chỉ số Prometheus (bảo vệ bằng basic-auth): `/prometheus/` ## Phiên bản Phiên bản API hiện tại: {EVIBES_VERSION}\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}. - Thời hạn sử dụng của token " +"làm mới là {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} giờ. - Token làm mới được tự động xoay vòng và vô hiệu hóa sau khi sử dụng " +"để tăng cường bảo mật. ## Quốc tế hóa (i18n) - Đặt tiêu đề `Accept-Language` " +"để chỉ định ngôn ngữ ưa thích của bạn (ví dụ: `Accept-Language: en-US`).\n" +"- Các ngôn ngữ có sẵn có thể được lấy từ điểm cuối `/app/languages/`. - Tất " +"cả nội dung hiển thị cho người dùng đều hỗ trợ nhiều ngôn ngữ ngay từ đầu. " +"## Định dạng phản hồi API hỗ trợ nhiều định dạng phản hồi: - **JSON** (mặc " +"định, định dạng camelCase) - **XML** (thêm `?format=xml` hoặc đặt `Accept: " +"application/xml`)\n" +"- **YAML** (thêm `?format=yaml` hoặc đặt `Accept: application/x-yaml`) ## " +"Sức khỏe & Giám sát - Kiểm tra sức khỏe: `/health/` - Chỉ số Prometheus (bảo " +"vệ bằng basic-auth): `/prometheus/` ## Phiên bản Phiên bản API hiện tại: " +"{EVIBES_VERSION}\n" #: evibes/settings/unfold.py:57 msgid "Menu" @@ -224,38 +271,38 @@ msgstr "Các tác vụ định kỳ" msgid "Taskboard" msgstr "Bảng nhiệm vụ" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "Hỗ trợ" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "Liên kết nhanh" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "Người dùng" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "Nhóm" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "Đơn hàng" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "Sản phẩm" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "Các danh mục" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "Thương hiệu" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "Bài viết trên blog" diff --git a/evibes/locale/zh_Hans/LC_MESSAGES/django.po b/evibes/locale/zh_Hans/LC_MESSAGES/django.po index 6e6acf8d..8def7a09 100644 --- a/evibes/locale/zh_Hans/LC_MESSAGES/django.po +++ b/evibes/locale/zh_Hans/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2025.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-17 16:16+0300\n" +"POT-Creation-Date: 2025-11-18 11:26+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -136,36 +136,53 @@ msgid "" "\n" "Welcome to the eVibes documentation.\n" "\n" -"eVibes is a powerful e-commerce platform that allows you to launch and manage an online store of any kind in just a few clicks. \n" +"eVibes is a powerful e-commerce platform that allows you to launch and " +"manage an online store of any kind in just a few clicks. \n" "\n" "## Key Features\n" -"- **Product Catalog:** Manage product details, pricing, inventory, and availability across multiple categories.\n" -"- **Order Management:** Process orders, track fulfillment, and handle customer requests efficiently.\n" -"- **Authentication & Authorization:** Comprehensive user authentication with JWT tokens and role-based permissions.\n" -"- **Payment Processing:** Integrate multiple payment gateways and manage transactions securely.\n" -"- **Blog & Content Management:** Create and manage blog posts and marketing content for your store.\n" -"- **B2B Operations:** Dedicated endpoints for business-to-business transactions and wholesale management.\n" -"- **Multi-language Support:** Serve customers worldwide with full internationalization (i18n) capabilities.\n" -"- **Custom Integrations:** Extensible API architecture for integrating with external platforms and services.\n" -"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, and customer behavior.\n" -"- **Real-Time Updates:** Get live data on inventory levels, order statuses, and pricing changes.\n" +"- **Product Catalog:** Manage product details, pricing, inventory, and " +"availability across multiple categories.\n" +"- **Order Management:** Process orders, track fulfillment, and handle " +"customer requests efficiently.\n" +"- **Authentication & Authorization:** Comprehensive user authentication with " +"JWT tokens and role-based permissions.\n" +"- **Payment Processing:** Integrate multiple payment gateways and manage " +"transactions securely.\n" +"- **Blog & Content Management:** Create and manage blog posts and marketing " +"content for your store.\n" +"- **B2B Operations:** Dedicated endpoints for business-to-business " +"transactions and wholesale management.\n" +"- **Multi-language Support:** Serve customers worldwide with full " +"internationalization (i18n) capabilities.\n" +"- **Custom Integrations:** Extensible API architecture for integrating with " +"external platforms and services.\n" +"- **Analytics & Reporting:** Generate detailed reports on sales, inventory, " +"and customer behavior.\n" +"- **Real-Time Updates:** Get live data on inventory levels, order statuses, " +"and pricing changes.\n" "\n" "## Available APIs\n" "- **REST API:** Full RESTful interface (this documentation)\n" -"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for interactive queries\n" +"- **GraphQL API:** Available at `/graphql/` with GraphiQL interface for " +"interactive queries\n" "\n" "## Authentication\n" -"- Authentication is handled via JWT tokens. Include the token in the `X-EVIBES-AUTH` header of your requests in the format `Bearer `.\n" +"- Authentication is handled via JWT tokens. Include the token in the `X-" +"EVIBES-AUTH` header of your requests in the format `Bearer `.\n" "- Access token lifetime is {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "} {\"minutes\" if not DEBUG else \"hours\"}.\n" "- Refresh token lifetime is {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} hours.\n" -"- Refresh tokens are automatically rotated and invalidated after usage for enhanced security.\n" +"- Refresh tokens are automatically rotated and invalidated after usage for " +"enhanced security.\n" "\n" "## Internationalization (i18n)\n" -"- Set the `Accept-Language` header to specify your preferred language (e.g., `Accept-Language: en-US`).\n" +"- Set the `Accept-Language` header to specify your preferred language (e.g., " +"`Accept-Language: en-US`).\n" "- Available languages can be retrieved from the `/app/languages/` endpoint.\n" "- All user-facing content supports multiple languages out of the box.\n" "\n" @@ -185,7 +202,8 @@ msgstr "" "\n" "欢迎使用 eVibes 文档。\n" "\n" -"eVibes 是一个功能强大的电子商务平台,只需点击几下,您就可以创建和管理任何类型的网上商店。\n" +"eVibes 是一个功能强大的电子商务平台,只需点击几下,您就可以创建和管理任何类型" +"的网上商店。\n" "\n" "## 关键功能\n" "- 产品目录:** 管理多个类别的产品详情、定价、库存和可用性。\n" @@ -201,20 +219,25 @@ msgstr "" "\n" "## 可用的应用程序接口\n" "- REST API:** 完整的 REST 接口(本文档)\n" -"- **GraphQL 应用程序接口:** 可在 `/graphql/`使用 GraphiQL 接口进行交互式查询\n" +"- **GraphQL 应用程序接口:** 可在 `/graphql/`使用 GraphiQL 接口进行交互式查" +"询\n" "\n" "## 验证\n" -"- 通过 JWT 标记进行身份验证。在请求的 `X-EVIBES-AUTH` 头中包含令牌,格式为 `Bearer `。\n" +"- 通过 JWT 标记进行身份验证。在请求的 `X-EVIBES-AUTH` 头中包含令牌,格式为 " +"`Bearer `。\n" "- 访问令牌的有效期为 {\n" -" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" "}{\"minutes\" if not DEBUG else \"hours\"}。\n" "- 刷新令牌的有效期为 {\n" -" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # type: ignore [union-attr]\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" "} 小时。\n" "- 刷新令牌在使用后会自动轮换和失效,以增强安全性。\n" "\n" "### 国际化(i18n)\n" -"- 设置 `Accept-Language` 标头,指定首选语言(例如,`Accept-Language: en-US`)。\n" +"- 设置 `Accept-Language` 标头,指定首选语言(例如,`Accept-Language: en-" +"US`)。\n" "- 可从 `/app/languages/` 端点检索可用语言。\n" "- 所有面向用户的内容均支持多种语言。\n" "\n" @@ -255,38 +278,38 @@ msgstr "定期任务" msgid "Taskboard" msgstr "任务板" -#: evibes/settings/unfold.py:107 +#: evibes/settings/unfold.py:112 msgid "Support" msgstr "支持" -#: evibes/settings/unfold.py:114 +#: evibes/settings/unfold.py:119 msgid "Quick Links" msgstr "快速链接" -#: evibes/settings/unfold.py:119 +#: evibes/settings/unfold.py:124 msgid "Users" msgstr "用户" -#: evibes/settings/unfold.py:124 +#: evibes/settings/unfold.py:129 msgid "Groups" msgstr "组别" -#: evibes/settings/unfold.py:129 +#: evibes/settings/unfold.py:134 msgid "Orders" msgstr "订单" -#: evibes/settings/unfold.py:134 +#: evibes/settings/unfold.py:139 msgid "Products" msgstr "产品" -#: evibes/settings/unfold.py:139 +#: evibes/settings/unfold.py:144 msgid "Categories" msgstr "类别" -#: evibes/settings/unfold.py:144 +#: evibes/settings/unfold.py:149 msgid "Brands" msgstr "品牌" -#: evibes/settings/unfold.py:149 +#: evibes/settings/unfold.py:154 msgid "Blogposts" msgstr "博客文章" diff --git a/evibes/settings/unfold.py b/evibes/settings/unfold.py index b0ffadc8..9e4cb2fb 100644 --- a/evibes/settings/unfold.py +++ b/evibes/settings/unfold.py @@ -103,6 +103,11 @@ UNFOLD: dict[str, Any] = { "icon": "view_kanban", "link": TASKBOARD_URL, }, + { + "title": "Documentation", + "icon": "book_2", + "link": reverse_lazy("django-admindocs-docroot"), + }, { "title": _("Support"), "icon": "contact_support",