# msgid "" msgstr "" "Project-Id-Version: SCHON 2026.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-05 16:31+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" "Language: ar-ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: engine/vibes_auth/admin.py:64 engine/vibes_auth/admin.py:65 #: engine/vibes_auth/graphene/object_types.py:54 msgid "balance" msgstr "الرصيد" #: engine/vibes_auth/admin.py:73 msgid "order" msgstr "الطلب" #: engine/vibes_auth/admin.py:74 engine/vibes_auth/graphene/object_types.py:51 msgid "orders" msgstr "الطلبات" #: engine/vibes_auth/admin.py:84 msgid "personal info" msgstr "معلومات شخصية" #: engine/vibes_auth/admin.py:88 engine/vibes_auth/graphene/object_types.py:50 msgid "permissions" msgstr "الأذونات" #: engine/vibes_auth/admin.py:101 msgid "important dates" msgstr "تواريخ مهمة" #: engine/vibes_auth/admin.py:102 msgid "additional info" msgstr "معلومات إضافية" #: engine/vibes_auth/admin.py:149 msgid "You cannot jump over your head!" msgstr "لا يمكنك القفز فوق رأسك!" #: engine/vibes_auth/admin.py:181 msgid "Close selected threads" msgstr "إغلاق المواضيع المحددة" #: engine/vibes_auth/admin.py:185 msgid "Open selected threads" msgstr "فتح المواضيع المحددة" #: engine/vibes_auth/admin.py:209 msgid "Content" msgstr "المحتوى" #: engine/vibes_auth/admin.py:211 msgid "Documentation" msgstr "التوثيق" #: engine/vibes_auth/admin.py:217 engine/vibes_auth/admin.py:294 msgid "Metadata" msgstr "البيانات الوصفية" #: engine/vibes_auth/admin.py:281 msgid "Scheduling" msgstr "الجدولة" #: engine/vibes_auth/admin.py:283 msgid "Statistics" msgstr "الإحصاءات" #: engine/vibes_auth/admin.py:297 msgid "stats" msgstr "حالة" #: engine/vibes_auth/admin.py:303 msgid "Prepare recipients (subscribed users)" msgstr "تحضير المستلمين (المستخدمين المشتركين)" #: engine/vibes_auth/admin.py:311 msgid "Campaign '{}' is not in draft status." msgstr "الحملة '{}' ليست في حالة مسودة." #: engine/vibes_auth/admin.py:318 msgid "Preparing recipients for campaign '{}'." msgstr "تحضير المستلمين لحملة \"{}\"." #: engine/vibes_auth/admin.py:322 msgid "Send campaign now" msgstr "أرسل الحملة الآن" #: engine/vibes_auth/admin.py:330 msgid "Campaign '{}' cannot be sent (status: {})." msgstr "لا يمكن إرسال الحملة '{}' (الحالة: {})." #: engine/vibes_auth/admin.py:340 msgid "Campaign '{}' has no recipients. Prepare recipients first." msgstr "الحملة '{}' ليس لها مستلمون. قم بإعداد المستلمين أولاً." #: engine/vibes_auth/admin.py:351 msgid "Started sending campaign '{}'." msgstr "بدأت حملة إرسال \"{}\"." #: engine/vibes_auth/admin.py:355 msgid "Cancel campaign" msgstr "إلغاء الحملة" #: engine/vibes_auth/admin.py:364 msgid "{} campaign(s) cancelled." msgstr "تم إلغاء الحملة (الحملات)." #: engine/vibes_auth/admin_site.py:24 msgid "Verification code" msgstr "رمز التحقق" #: engine/vibes_auth/admin_site.py:62 msgid "A verification code has been sent to your email." msgstr "تم إرسال رمز التحقق إلى بريدك الإلكتروني." #: engine/vibes_auth/admin_site.py:118 msgid "Invalid or expired code. Please try again." msgstr "رمز غير صالح أو منتهي الصلاحية. يرجى المحاولة مرة أخرى." #: engine/vibes_auth/admin_site.py:124 #: engine/vibes_auth/templates/admin/verify_otp.html:10 msgid "Two-factor authentication" msgstr "المصادقة الثنائية" #: engine/vibes_auth/apps.py:8 msgid "Accounting" msgstr "المحاسبة" #: engine/vibes_auth/choices.py:6 msgid "Open" msgstr "مفتوح" #: engine/vibes_auth/choices.py:7 msgid "Closed" msgstr "مغلق" #: engine/vibes_auth/choices.py:11 msgid "User" msgstr "المستخدم" #: engine/vibes_auth/choices.py:12 msgid "Staff" msgstr "الموظفون" #: engine/vibes_auth/choices.py:13 msgid "System" msgstr "النظام" #: engine/vibes_auth/docs/drf/emailing.py:18 msgid "" "UUID token for unsubscribing. This token is unique per user and is included " "in the unsubscribe link of every campaign email. The token remains constant " "for each user unless regenerated." msgstr "" "رمز UUID لإلغاء الاشتراك. هذا الرمز فريد لكل مستخدم ويتم تضمينه في رابط " "إلغاء الاشتراك في كل رسالة بريد إلكتروني للحملة. يظل الرمز ثابتًا لكل مستخدم" " ما لم يتم إعادة إنشاؤه." #: engine/vibes_auth/docs/drf/emailing.py:37 #: engine/vibes_auth/emailing/views.py:69 msgid "You have been successfully unsubscribed from our emails." msgstr "لقد تم إلغاء اشتراكك في رسائلنا الإلكترونية بنجاح." #: engine/vibes_auth/docs/drf/emailing.py:45 #: engine/vibes_auth/emailing/views.py:61 msgid "You are already unsubscribed." msgstr "لقد تم إلغاء اشتراكك بالفعل." #: engine/vibes_auth/docs/drf/emailing.py:52 msgid "Unsubscribe from email campaigns" msgstr "إلغاء الاشتراك في الحملات البريدية الإلكترونية" #: engine/vibes_auth/docs/drf/emailing.py:54 msgid "" "Unsubscribe a user from all marketing email campaigns using their unique unsubscribe token.\n" "\n" "This endpoint is designed for email client compatibility where clicking a link triggers a GET request. The user will no longer receive promotional emails after successful unsubscription.\n" "\n" "**Note:** Transactional emails (order confirmations, password resets, etc.) are not affected by this setting." msgstr "" "قم بإلغاء اشتراك مستخدم من جميع حملات البريد الإلكتروني التسويقية باستخدام " "رمز إلغاء الاشتراك الفريد الخاص به. تم تصميم نقطة النهاية هذه لتتوافق مع " "عميل البريد الإلكتروني حيث يؤدي النقر على الرابط إلى تشغيل طلب GET. لن يتلقى" " المستخدم رسائل البريد الإلكتروني الترويجية بعد إلغاء الاشتراك بنجاح. " "**ملاحظة:** لا تتأثر رسائل البريد الإلكتروني المتعلقة بالمعاملات (تأكيدات " "الطلبات، إعادة تعيين كلمات المرور، إلخ) بهذا الإعداد." #: engine/vibes_auth/docs/drf/emailing.py:66 #: engine/vibes_auth/docs/drf/emailing.py:146 msgid "Successfully unsubscribed from email campaigns." msgstr "تم إلغاء الاشتراك بنجاح من الحملات البريدية الإلكترونية." #: engine/vibes_auth/docs/drf/emailing.py:82 #: engine/vibes_auth/docs/drf/emailing.py:162 msgid "Invalid or missing unsubscribe token." msgstr "رمز إلغاء الاشتراك غير صالح أو مفقود." #: engine/vibes_auth/docs/drf/emailing.py:96 #: engine/vibes_auth/docs/drf/emailing.py:176 msgid "User associated with the token was not found." msgstr "لم يتم العثور على المستخدم المرتبط بالرمز المميز." #: engine/vibes_auth/docs/drf/emailing.py:118 msgid "One-Click Unsubscribe (RFC 8058)" msgstr "إلغاء الاشتراك بنقرة واحدة (RFC 8058)" #: engine/vibes_auth/docs/drf/emailing.py:120 msgid "" "RFC 8058 compliant one-click unsubscribe endpoint for email campaigns.\n" "\n" "This endpoint supports the List-Unsubscribe-Post header mechanism defined in RFC 8058, which allows email clients to unsubscribe users with a single click without leaving the email application.\n" "\n" "The token can be provided either as a query parameter or in the request body.\n" "\n" "**Standards Compliance:**\n" "- RFC 8058: Signaling One-Click Functionality for List Email Headers\n" "- RFC 2369: The Use of URLs as Meta-Syntax for Core Mail List Commands\n" "\n" "**Note:** Transactional emails are not affected by this setting." msgstr "" "نقطة نهاية إلغاء الاشتراك بنقرة واحدة متوافقة مع RFC 8058 لحملات البريد الإلكتروني. تدعم نقطة النهاية هذه آلية رأس List-Unsubscribe-Post المحددة في RFC 8058، والتي تسمح لعملاء البريد الإلكتروني بإلغاء اشتراك المستخدمين بنقرة واحدة دون مغادرة تطبيق البريد الإلكتروني. يمكن توفير الرمز المميز إما كمعلمة استعلام أو في نص الطلب.\n" "\n" "**الامتثال للمعايير:** - RFC 8058: الإشارة إلى وظيفة النقرة الواحدة لرؤوس قائمة البريد الإلكتروني - RFC 2369: استخدام عناوين URL كصيغة ميتا لأوامر قائمة البريد الأساسية **ملاحظة:** لا تتأثر رسائل البريد الإلكتروني الخاصة بالمعاملات بهذا الإعداد." #: engine/vibes_auth/docs/drf/emailing.py:137 msgid "" "Unsubscribe token (alternative to query parameter). Can be omitted if token " "is provided in URL." msgstr "" "رمز إلغاء الاشتراك (بديل لمعلمة الاستعلام). يمكن حذفه إذا تم توفير الرمز في " "عنوان URL." #: engine/vibes_auth/docs/drf/emailing.py:200 msgid "Track email open event" msgstr "تتبع حدث فتح البريد الإلكتروني" #: engine/vibes_auth/docs/drf/emailing.py:202 msgid "" "Records when a campaign email is opened by the recipient.\n" "\n" "This endpoint is called automatically when the tracking pixel (1x1 transparent GIF) embedded in the email is loaded by the recipient's email client.\n" "\n" "**How it works:**\n" "1. Each campaign email contains a unique tracking pixel URL with a `tid` parameter\n" "2. When the email is opened and images are loaded, this endpoint is called\n" "3. The recipient's status is updated to 'opened' and the timestamp is recorded\n" "4. The campaign's aggregate opened count is updated\n" "\n" "**Privacy considerations:**\n" "- Only the first open is recorded (subsequent opens are ignored)\n" "- No personal information beyond the tracking ID is logged\n" "- Users who disable image loading will not trigger this event\n" "\n" "**Response:**\n" "Returns a 1x1 transparent GIF image regardless of whether tracking succeeded, to ensure consistent behavior and prevent information leakage." msgstr "" "يسجل عندما يفتح المستلم رسالة البريد الإلكتروني الخاصة بالحملة. يتم استدعاء نقطة النهاية هذه تلقائيًا عندما يتم تحميل بكسل التتبع (1x1 GIF شفاف) المضمن في البريد الإلكتروني بواسطة عميل البريد الإلكتروني الخاص بالمستلم.\n" "\n" "**كيفية العمل:** 1. تحتوي كل رسالة بريد إلكتروني تابعة للحملة على عنوان URL فريد لبيكسل التتبع مع معلمة `tid` 2. عند فتح البريد الإلكتروني وتحميل الصور، يتم استدعاء نقطة النهاية هذه 3. يتم تحديث حالة المستلم إلى \"مفتوح\" ويتم تسجيل الطابع الزمني 4. يتم تحديث العدد الإجمالي لعمليات الفتح الخاصة بالحملة **اعتبارات الخصوصية:**\n" "- يتم تسجيل الفتح الأول فقط (يتم تجاهل عمليات الفتح اللاحقة) - لا يتم تسجيل أي معلومات شخصية بخلاف معرف التتبع - لن يؤدي المستخدمون الذين يعطلون تحميل الصور إلى تشغيل هذا الحدث **الاستجابة:** إرجاع صورة GIF شفافة 1x1 بغض النظر عن نجاح التتبع، لضمان سلوك متسق ومنع تسرب المعلومات." #: engine/vibes_auth/docs/drf/emailing.py:223 msgid "" "Tracking ID (UUID) unique to each campaign-recipient combination. This ID " "links the open event to a specific recipient and campaign." msgstr "" "معرف التتبع (UUID) الفريد لكل مجموعة من الحملات والمستلمين. يربط هذا المعرف " "حدث الفتح بمستلم وحملة معينين." #: engine/vibes_auth/docs/drf/emailing.py:241 msgid "" "1x1 transparent GIF image. Always returned regardless of tracking status to " "maintain consistent behavior." msgstr "" "صورة GIF شفافة 1x1. يتم إرجاعها دائمًا بغض النظر عن حالة التتبع للحفاظ على " "سلوك متسق." #: engine/vibes_auth/docs/drf/emailing.py:247 msgid "" "Returned when no tracking ID is provided. Note: Invalid tracking IDs still " "return 200 with the GIF to prevent enumeration attacks." msgstr "" "يتم إرجاعه عند عدم توفير معرف التتبع. ملاحظة: معرفات التتبع غير الصالحة لا " "تزال ترجع 200 مع GIF لمنع هجمات التعداد." #: engine/vibes_auth/docs/drf/messaging.py:17 msgid "User messages entrypoint" msgstr "نقطة إدخال رسائل المستخدم" #: engine/vibes_auth/docs/drf/messaging.py:19 msgid "" "Anonymous or authenticated non-staff users send messages. Also supports " "action=ping." msgstr "" "يرسل المستخدمون المجهولون أو الموثقون من غير الموظفين رسائل. يدعم أيضًا " "الإجراء=إرسال الرسائل." #: engine/vibes_auth/docs/drf/messaging.py:30 msgid "Staff inbox control" msgstr "التحكم في صندوق البريد الوارد للموظفين" #: engine/vibes_auth/docs/drf/messaging.py:32 msgid "" "Staff-only actions: list_open, assign, reply, close, ping. Unified event " "payloads are emitted." msgstr "" "الإجراءات الخاصة بالموظفين فقط: سرد_افتتاح، وتعيين، ورد، وإغلاق، واستدعاء. " "تنبعث حمولات الأحداث الموحدة." #: engine/vibes_auth/docs/drf/messaging.py:43 msgid "Per-thread staff channel" msgstr "قناة الموظفين لكل موضوع" #: engine/vibes_auth/docs/drf/messaging.py:44 msgid "Reply, close, and ping within a specific thread." msgstr "الرد، والإغلاق، وإجراء اختبار الاتصال ضمن سلسلة رسائل محددة." #: engine/vibes_auth/docs/drf/views.py:18 msgid "obtain a token pair" msgstr "الحصول على زوج رمزي" #: engine/vibes_auth/docs/drf/views.py:19 msgid "obtain a token pair (refresh and access) for authentication." msgstr "الحصول على زوج رمز مميز (التحديث والوصول) للمصادقة." #: engine/vibes_auth/docs/drf/views.py:41 msgid "refresh a token pair" msgstr "تحديث زوج من الرمز المميز" #: engine/vibes_auth/docs/drf/views.py:42 msgid "refresh a token pair (refresh and access)." msgstr "تحديث زوج الرموز (التحديث والوصول)." #: engine/vibes_auth/docs/drf/views.py:64 msgid "verify a token" msgstr "التحقق من الرمز المميز" #: engine/vibes_auth/docs/drf/views.py:65 msgid "Verify a token (refresh or access)." msgstr "التحقق من الرمز المميز (التحديث أو الوصول)." #: engine/vibes_auth/docs/drf/views.py:71 engine/vibes_auth/views.py:100 msgid "the token is valid" msgstr "الرمز المميز صالح" #: engine/vibes_auth/docs/drf/viewsets.py:19 msgid "create a new user" msgstr "إنشاء مستخدم جديد" #: engine/vibes_auth/docs/drf/viewsets.py:27 msgid "retrieve a user's details" msgstr "استرداد تفاصيل المستخدم" #: engine/vibes_auth/docs/drf/viewsets.py:34 msgid "update a user's details" msgstr "تحديث تفاصيل المستخدم" #: engine/vibes_auth/docs/drf/viewsets.py:42 msgid "partially update a user's details" msgstr "تحديث تفاصيل المستخدم جزئياً" #: engine/vibes_auth/docs/drf/viewsets.py:50 msgid "delete a user" msgstr "حذف مستخدم" #: engine/vibes_auth/docs/drf/viewsets.py:57 msgid "reset a user's password by sending a reset password email" msgstr "" "إعادة تعيين كلمة مرور المستخدم عن طريق إرسال بريد إلكتروني لإعادة تعيين كلمة" " المرور" #: engine/vibes_auth/docs/drf/viewsets.py:65 msgid "handle avatar upload for a user" msgstr "التعامل مع تحميل الصورة الرمزية للمستخدم" #: engine/vibes_auth/docs/drf/viewsets.py:83 msgid "confirm a user's password reset" msgstr "تأكيد إعادة تعيين كلمة مرور المستخدم" #: engine/vibes_auth/docs/drf/viewsets.py:87 #: engine/vibes_auth/graphene/mutations.py:358 #: engine/vibes_auth/serializers.py:103 engine/vibes_auth/serializers.py:107 #: engine/vibes_auth/viewsets.py:97 msgid "passwords do not match" msgstr "كلمات المرور غير متطابقة" #: engine/vibes_auth/docs/drf/viewsets.py:95 msgid "activate a user's account" msgstr "تنشيط حساب مستخدم" #: engine/vibes_auth/docs/drf/viewsets.py:101 msgid "activation link is invalid or account already activated" msgstr "رابط التفعيل غير صالح أو أن الحساب مفعل بالفعل" #: engine/vibes_auth/docs/drf/viewsets.py:111 msgid "merge client-stored recently viewed products" msgstr "دمج المنتجات التي تم عرضها مؤخراً المخزنة لدى العميل" #: engine/vibes_auth/emailing/choices.py:6 msgid "Draft" msgstr "مسودة" #: engine/vibes_auth/emailing/choices.py:7 msgid "Scheduled" msgstr "مجدول" #: engine/vibes_auth/emailing/choices.py:8 msgid "Sending" msgstr "إرسال" #: engine/vibes_auth/emailing/choices.py:9 #: engine/vibes_auth/emailing/choices.py:15 msgid "Sent" msgstr "متأخر" #: engine/vibes_auth/emailing/choices.py:10 msgid "Cancelled" msgstr "ألغيت" #: engine/vibes_auth/emailing/choices.py:14 msgid "Pending" msgstr "قيد الانتظار" #: engine/vibes_auth/emailing/choices.py:16 msgid "Failed" msgstr "فشل" #: engine/vibes_auth/emailing/choices.py:17 msgid "Opened" msgstr "افتتح" #: engine/vibes_auth/emailing/choices.py:18 msgid "Clicked" msgstr "نقرت" #: engine/vibes_auth/emailing/models.py:38 #: engine/vibes_auth/emailing/models.py:88 msgid "name" msgstr "الاسم" #: engine/vibes_auth/emailing/models.py:39 msgid "internal name for the template" msgstr "الاسم الداخلي للقالب" #: engine/vibes_auth/emailing/models.py:43 msgid "slug" msgstr "slug" #: engine/vibes_auth/emailing/models.py:44 msgid "unique identifier for the template" msgstr "المعرف الفريد للقالب" #: engine/vibes_auth/emailing/models.py:48 msgid "subject" msgstr "الموضوع" #: engine/vibes_auth/emailing/models.py:49 msgid "email subject line - supports {{ variables }}" msgstr "موضوع البريد الإلكتروني - يدعم {{ variables }}" #: engine/vibes_auth/emailing/models.py:52 msgid "content" msgstr "المحتوى" #: engine/vibes_auth/emailing/models.py:54 msgid "" "email body in markdown - supports {{ user.first_name }}, {{ user.email }}, " "{{ project_name }}, {{ unsubscribe_url }}" msgstr "" "محتوى نص البريد الإلكتروني - يدعم {{ user.first_name }}, {{ user.email }}, " "{{ project_name }}, {{ unsubscribe_url }}" #: engine/vibes_auth/emailing/models.py:61 msgid "plain text content" msgstr "محتوى نص عادي" #: engine/vibes_auth/emailing/models.py:62 msgid "plain text fallback (auto-generated if empty)" msgstr "نص عادي احتياطي (يتم إنشاؤه تلقائيًا إذا كان فارغًا)" #: engine/vibes_auth/emailing/models.py:67 msgid "available variables" msgstr "المتغيرات المتاحة" #: engine/vibes_auth/emailing/models.py:68 msgid "documentation of available template variables" msgstr "توثيق متغيرات القوالب المتاحة" #: engine/vibes_auth/emailing/models.py:72 msgid "email template" msgstr "نموذج البريد الإلكتروني" #: engine/vibes_auth/emailing/models.py:73 msgid "email templates" msgstr "قوالب البريد الإلكتروني" #: engine/vibes_auth/emailing/models.py:89 msgid "internal name for the campaign" msgstr "الاسم الداخلي للحملة" #: engine/vibes_auth/emailing/models.py:96 msgid "template" msgstr "قالب" #: engine/vibes_auth/emailing/models.py:97 msgid "email template to use for this campaign" msgstr "نموذج البريد الإلكتروني الذي سيتم استخدامه في هذه الحملة" #: engine/vibes_auth/emailing/models.py:103 #: engine/vibes_auth/emailing/models.py:173 msgid "status" msgstr "الحالة" #: engine/vibes_auth/emailing/models.py:108 msgid "scheduled at" msgstr "مقرر في" #: engine/vibes_auth/emailing/models.py:109 msgid "when to send the campaign (leave empty for manual send)" msgstr "متى يتم إرسال الحملة (اتركه فارغًا للإرسال اليدوي)" #: engine/vibes_auth/emailing/models.py:114 #: engine/vibes_auth/emailing/models.py:178 msgid "sent at" msgstr "في وقت متأخر من ذلك" #: engine/vibes_auth/emailing/models.py:115 msgid "when the campaign was actually sent" msgstr "عندما تم إرسال الحملة فعليًا" #: engine/vibes_auth/emailing/models.py:120 msgid "total recipients" msgstr "إجمالي عدد المستفيدين" #: engine/vibes_auth/emailing/models.py:124 msgid "sent count" msgstr "عدد المرسلة" #: engine/vibes_auth/emailing/models.py:128 msgid "failed count" msgstr "عدد الفاشلين" #: engine/vibes_auth/emailing/models.py:132 msgid "opened count" msgstr "عدد مرات الفتح" #: engine/vibes_auth/emailing/models.py:136 msgid "clicked count" msgstr "عدد النقرات" #: engine/vibes_auth/emailing/models.py:140 msgid "email campaign" msgstr "حملة بريد إلكتروني" #: engine/vibes_auth/emailing/models.py:141 msgid "email campaigns" msgstr "حملات البريد الإلكتروني" #: engine/vibes_auth/emailing/models.py:161 msgid "campaign" msgstr "حملة" #: engine/vibes_auth/emailing/models.py:167 engine/vibes_auth/models.py:183 msgid "user" msgstr "المستخدم" #: engine/vibes_auth/emailing/models.py:183 msgid "opened at" msgstr "افتتح في" #: engine/vibes_auth/emailing/models.py:188 msgid "clicked at" msgstr "نقرت على" #: engine/vibes_auth/emailing/models.py:194 msgid "tracking ID" msgstr "رقم التتبع" #: engine/vibes_auth/emailing/models.py:195 msgid "unique ID for tracking opens and clicks" msgstr "معرف فريد لتتبع عمليات الفتح والنقرات" #: engine/vibes_auth/emailing/models.py:200 msgid "error message" msgstr "رسالة خطأ" #: engine/vibes_auth/emailing/models.py:201 msgid "error details if sending failed" msgstr "تفاصيل الخطأ في حالة فشل الإرسال" #: engine/vibes_auth/emailing/models.py:205 msgid "campaign recipient" msgstr "مستلم الحملة" #: engine/vibes_auth/emailing/models.py:206 msgid "campaign recipients" msgstr "مستلمو الحملة" #: engine/vibes_auth/emailing/templates/campaign_base.html:136 msgid "All rights reserved" msgstr "جميع الحقوق محفوظة" #: engine/vibes_auth/emailing/templates/campaign_base.html:138 msgid "You received this email because you subscribed to our newsletter." msgstr "لقد تلقيت هذا البريد الإلكتروني لأنك اشتركت في نشرتنا الإخبارية." #: engine/vibes_auth/emailing/templates/campaign_base.html:139 msgid "Unsubscribe" msgstr "إلغاء الاشتراك" #: engine/vibes_auth/emailing/views.py:39 msgid "Unsubscribe token is required." msgstr "رمز إلغاء الاشتراك مطلوب." #: engine/vibes_auth/emailing/views.py:47 msgid "Invalid unsubscribe token format." msgstr "تنسيق رمز إلغاء الاشتراك غير صالح." #: engine/vibes_auth/emailing/views.py:55 msgid "User not found." msgstr "لم يتم العثور على المستخدم." #: engine/vibes_auth/graphene/mutations.py:47 msgid "the user's b64-encoded uuid who referred the new user to us." msgstr "معرّف المستخدم الذي تم ترميزه بـ b64 الذي أحال المستخدم الجديد إلينا." #: engine/vibes_auth/graphene/mutations.py:70 msgid "password too weak" msgstr "كلمة المرور ضعيفة جداً" #: engine/vibes_auth/graphene/mutations.py:130 msgid "malformed email" msgstr "بريد إلكتروني مشوه" #: engine/vibes_auth/graphene/mutations.py:142 #: engine/vibes_auth/serializers.py:117 #, python-brace-format msgid "malformed phone number: {phone_number}" msgstr "رقم هاتف مشوه: {phone_number}!" #: engine/vibes_auth/graphene/mutations.py:167 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" msgstr "تنسيق السمة غير صالح: {attribute_pair}!" #: engine/vibes_auth/graphene/mutations.py:184 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "{name} غير موجود: {uuid}!" #: engine/vibes_auth/graphene/mutations.py:309 #: engine/vibes_auth/viewsets.py:174 engine/vibes_auth/viewsets.py:198 msgid "activation link is invalid!" msgstr "رابط التفعيل غير صالح!" #: engine/vibes_auth/graphene/mutations.py:312 msgid "account already activated..." msgstr "تم تفعيل الحساب بالفعل..." #: engine/vibes_auth/graphene/mutations.py:319 #: engine/vibes_auth/graphene/mutations.py:383 msgid "something went wrong: {e!s}" msgstr "حدث خطأ ما: {e!s}" #: engine/vibes_auth/graphene/mutations.py:365 #: engine/vibes_auth/viewsets.py:109 msgid "token is invalid!" msgstr "الرمز غير صالح!" #: engine/vibes_auth/graphene/mutations.py:403 msgid "only image files are allowed (jpg, png, gif, webp)" msgstr "يُسمح فقط بملفات الصور (jpg، png، gif، webp)" #: engine/vibes_auth/graphene/mutations.py:406 msgid "file size must not exceed 5 MB" msgstr "يجب ألا يتجاوز حجم الملف 5 ميغابايت" #: engine/vibes_auth/graphene/object_types.py:46 msgid "" "the products this user has viewed most recently (max 48), in " "reverse‐chronological order" msgstr "" "المنتجات التي شاهدها هذا المستخدم مؤخرًا (بحد أقصى 48)، بترتيب زمني عكسي." #: engine/vibes_auth/graphene/object_types.py:49 #: engine/vibes_auth/models.py:270 msgid "groups" msgstr "المجموعات" #: engine/vibes_auth/graphene/object_types.py:52 msgid "wishlist" msgstr "قائمة الرغبات" #: engine/vibes_auth/graphene/object_types.py:56 #: engine/vibes_auth/models.py:75 msgid "avatar" msgstr "الصورة الرمزية" #: engine/vibes_auth/graphene/object_types.py:58 msgid "attributes may be used to store custom data" msgstr "يمكن استخدام السمات لتخزين البيانات المخصصة" #: engine/vibes_auth/graphene/object_types.py:62 #, python-brace-format msgid "" "language is one of the {settings.LANGUAGES} with default " "{settings.LANGUAGE_CODE}" msgstr "اللغة هي واحدة من {settings.LANGUAGES} مع {settings.LANGUAGE_CODE}" #: engine/vibes_auth/graphene/object_types.py:66 msgid "address set" msgstr "العناوين" #: engine/vibes_auth/messaging/services.py:52 msgid "Valid email is required for anonymous chats." msgstr "مطلوب بريد إلكتروني صالح للمحادثات المجهولة." #: engine/vibes_auth/messaging/services.py:65 msgid "Message must be 1..1028 characters." msgstr "يجب أن تتكون الرسالة من 1...1028 حرفاً." #: engine/vibes_auth/messaging/services.py:105 msgid "We're searching for the operator to answer you already, hold by!" msgstr "نحن نبحث عن عامل التشغيل للرد عليك بالفعل، انتظر!" #: engine/vibes_auth/messaging/services.py:152 msgid "Assignee must be a staff user." msgstr "يجب أن يكون المعين مستخدمًا من الموظفين." #: engine/vibes_auth/models.py:44 msgid "" "Represents a User entity with customized fields and methods for extended " "functionality. This class extends the AbstractUser model and integrates " "additional features like custom email login, validation methods, " "subscription status, verification, and attributes storage. It also provides " "utilities for managing recently viewed items and token-based activation for " "verifying accounts. The User model is designed to handle specific use cases " "for enhanced user management." msgstr "" "يمثل كيان مستخدم مع حقول وأساليب مخصصة لوظائف موسعة. توسع هذه الفئة نموذج " "AbstractUser وتدمج ميزات إضافية مثل تسجيل الدخول إلى البريد الإلكتروني " "المخصص، وطرق التحقق من الصحة، وحالة الاشتراك، والتحقق، وتخزين السمات. كما " "يوفر أيضًا أدوات مساعدة لإدارة العناصر التي تم عرضها مؤخرًا والتفعيل المستند" " إلى الرمز المميز للتحقق من الحسابات. تم تصميم نموذج المستخدم للتعامل مع " "حالات استخدام محددة لإدارة المستخدم المحسنة." #: engine/vibes_auth/models.py:55 msgid "email" msgstr "البريد الإلكتروني" #: engine/vibes_auth/models.py:55 msgid "user email address" msgstr "عنوان البريد الإلكتروني للمستخدم" #: engine/vibes_auth/models.py:57 msgid "phone_number" msgstr "رقم الهاتف" #: engine/vibes_auth/models.py:61 msgid "user phone number" msgstr "رقم هاتف المستخدم" #: engine/vibes_auth/models.py:68 msgid "first_name" msgstr "الاسم الأول" #: engine/vibes_auth/models.py:71 msgid "last_name" msgstr "اسم العائلة" #: engine/vibes_auth/models.py:78 msgid "user profile image" msgstr "صورة ملف تعريف المستخدم" #: engine/vibes_auth/models.py:83 msgid "is verified" msgstr "تم التحقق" #: engine/vibes_auth/models.py:84 msgid "user verification status" msgstr "حالة التحقق من المستخدم" #: engine/vibes_auth/models.py:87 msgid "is_active" msgstr "نشط" #: engine/vibes_auth/models.py:89 msgid "unselect this instead of deleting accounts" msgstr "قم بإلغاء تحديد هذا بدلاً من حذف الحسابات" #: engine/vibes_auth/models.py:92 msgid "is_subscribed" msgstr "مشترك" #: engine/vibes_auth/models.py:93 msgid "user's newsletter subscription status" msgstr "حالة اشتراك المستخدم في النشرة الإخبارية" #: engine/vibes_auth/models.py:98 msgid "activation token" msgstr "رمز التفعيل" #: engine/vibes_auth/models.py:103 msgid "activation token created" msgstr "تم إنشاء رمز التنشيط" #: engine/vibes_auth/models.py:107 msgid "unsubscribe token" msgstr "رمز إلغاء الاشتراك" #: engine/vibes_auth/models.py:108 msgid "token for secure one-click unsubscribe from campaigns" msgstr "رمز مميز لإلغاء الاشتراك الآمن بنقرة واحدة من الحملات" #: engine/vibes_auth/models.py:118 msgid "attributes" msgstr "السمات" #: engine/vibes_auth/models.py:184 msgid "users" msgstr "المستخدمون" #: engine/vibes_auth/models.py:202 msgid "admin OTP code" msgstr "رمز OTP الإداري" #: engine/vibes_auth/models.py:203 msgid "admin OTP codes" msgstr "رموز OTP الإدارية" #: engine/vibes_auth/models.py:210 msgid "For anonymous threads" msgstr "بالنسبة للمواضيع المجهولة" #: engine/vibes_auth/models.py:234 msgid "Chat thread" msgstr "موضوع المحادثة" #: engine/vibes_auth/models.py:235 msgid "Chat threads" msgstr "خيوط الدردشة" #: engine/vibes_auth/models.py:241 msgid "provide user or email for anonymous thread." msgstr "توفير مستخدم أو بريد إلكتروني لموضوع مجهول." #: engine/vibes_auth/models.py:244 msgid "assignee must be a staff user." msgstr "يجب أن يكون المُحال إليه مستخدمًا من الموظفين." #: engine/vibes_auth/models.py:262 msgid "Chat message" msgstr "رسالة الدردشة" #: engine/vibes_auth/models.py:263 msgid "Chat messages" msgstr "رسائل المحادثة" #: engine/vibes_auth/models.py:269 msgid "group" msgstr "المجموعة" #: engine/vibes_auth/models.py:276 msgid "outstanding token" msgstr "الرمز المميز" #: engine/vibes_auth/models.py:277 msgid "outstanding tokens" msgstr "الرموز المميزة المعلقة" #: engine/vibes_auth/models.py:283 msgid "blacklisted token" msgstr "الرمز المميز المدرج في القائمة السوداء" #: engine/vibes_auth/models.py:284 msgid "blacklisted tokens" msgstr "الرموز المميزة المدرجة في القائمة السوداء" #: engine/vibes_auth/serializers.py:91 msgid "attributes must be a dictionary" msgstr "يجب أن تكون 'السمات' قاموسًا" #: engine/vibes_auth/serializers.py:97 msgid "business identificator is required when registering as a business" msgstr "مُعرِّف الأعمال مطلوب عند التسجيل كشركة تجارية" #: engine/vibes_auth/serializers.py:127 #, python-brace-format msgid "malformed email: {email}" msgstr "بريد إلكتروني مشوه: {email}" #: engine/vibes_auth/serializers.py:150 engine/vibes_auth/serializers.py:175 #: engine/vibes_auth/serializers.py:198 engine/vibes_auth/serializers.py:210 msgid "no active account" msgstr "لم يتم العثور على حساب نشط" #: engine/vibes_auth/serializers.py:185 msgid "must set token_class attribute on class." msgstr "يجب تعيين سمة token_class على الفئة!" #: engine/vibes_auth/serializers.py:271 msgid "token_blacklisted" msgstr "تم إدراج الرمز المميز في القائمة السوداء" #: engine/vibes_auth/serializers.py:276 msgid "invalid token" msgstr "رمز غير صالح" #: engine/vibes_auth/serializers.py:286 msgid "no user uuid claim present in token" msgstr "لا توجد مطالبة معرف المستخدم في الرمز المميز" #: engine/vibes_auth/serializers.py:288 msgid "user does not exist" msgstr "المستخدم غير موجود" #: engine/vibes_auth/templates/admin/verify_otp.html:27 msgid "Verify" msgstr "تحقق" #: engine/vibes_auth/templates/user_reset_password_email.html:7 msgid "reset your password" msgstr "إعادة تعيين كلمة المرور" #: engine/vibes_auth/templates/user_reset_password_email.html:85 #: engine/vibes_auth/templates/user_verification_email.html:85 msgid "logo" msgstr "الشعار" #: engine/vibes_auth/templates/user_reset_password_email.html:90 msgid "password reset confirmation" msgstr "تأكيد إعادة تعيين كلمة المرور" #: engine/vibes_auth/templates/user_reset_password_email.html:91 #: engine/vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," msgstr "مرحباً %(user_first_name)s," #: engine/vibes_auth/templates/user_reset_password_email.html:92 msgid "" "we have received a request to reset your password. please reset your password\n" " by clicking the button below:" msgstr "" "لقد تلقينا طلباً لإعادة تعيين كلمة المرور الخاصة بك. يرجى إعادة تعيين كلمة " "المرور الخاصة بك عن طريق النقر على الزر أدناه:" #: engine/vibes_auth/templates/user_reset_password_email.html:95 msgid "reset password" msgstr "إعادة تعيين كلمة المرور" #: engine/vibes_auth/templates/user_reset_password_email.html:97 #: engine/vibes_auth/templates/user_verification_email.html:99 msgid "" "if the button above does not work, please copy and paste the following URL\n" " into your web browser:" msgstr "" "إذا كان الزر أعلاه لا يعمل، يرجى نسخ ولصق عنوان URL التالي\n" " في متصفح الويب الخاص بك:" #: engine/vibes_auth/templates/user_reset_password_email.html:100 msgid "" "if you did not send this request, please ignore this\n" " email." msgstr "" "إذا لم تقم بإرسال هذا الطلب، يرجى تجاهل هذا\n" " البريد الإلكتروني" #: engine/vibes_auth/templates/user_reset_password_email.html:102 #, python-format msgid "best regards,
The %(project_name)s team" msgstr "مع أطيب التحيات,
فريق %(project_name)s" #: engine/vibes_auth/templates/user_reset_password_email.html:108 #: engine/vibes_auth/templates/user_verification_email.html:108 msgid "all rights reserved" msgstr "جميع الحقوق محفوظة" #: engine/vibes_auth/templates/user_verification_email.html:7 #: engine/vibes_auth/templates/user_verification_email.html:90 msgid "activate your account" msgstr "قم بتفعيل حسابك" #: engine/vibes_auth/templates/user_verification_email.html:92 #, python-format msgid "" "thank you for signing up for %(project_name)s. please activate your account\n" " by clicking the button below:" msgstr "" "شكراً لك على تسجيلك في %(project_name)s. يرجى تفعيل حسابك بالنقر على الزر " "أدناه:" #: engine/vibes_auth/templates/user_verification_email.html:96 msgid "" "activate\n" " account" msgstr "" "تفعيل\n" " الحساب" #: engine/vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" msgstr "مع أطيب تحياتي،
فريق %(project_name)s" #: engine/vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{settings.PROJECT_NAME} | Activate Account" msgstr "{settings.PROJECT_NAME} | تفعيل الحساب" #: engine/vibes_auth/utils/emailing.py:66 #, python-brace-format msgid "{settings.PROJECT_NAME} | Reset Password" msgstr "{settings.PROJECT_NAME} | إعادة تعيين كلمة المرور" #: engine/vibes_auth/validators.py:15 msgid "" "invalid phone number format. the number must be entered in the format: " "\"+999999999\". up to 15 digits allowed." msgstr "" "تنسيق رقم الهاتف غير صالح. يجب إدخال الرقم بالصيغة: \"+999999999\". يُسمح " "بإدخال 15 رقماً كحد أقصى." #: engine/vibes_auth/views.py:34 msgid "" "Represents a view for getting a pair of access and refresh tokens and user's" " data. This view manages the process of handling token-based authentication " "where clients can get a pair of JWT tokens (access and refresh) using " "provided credentials. It is built on top of a base token view and ensures " "proper rate limiting to protect against brute force attacks." msgstr "" "يمثل طريقة عرض للحصول على زوج من رموز الوصول والتحديث وبيانات المستخدم. تدير" " طريقة العرض هذه عملية التعامل مع المصادقة المستندة إلى الرمز المميز حيث " "يمكن للعملاء الحصول على زوج من رموز JWT (الوصول والتحديث) باستخدام بيانات " "الاعتماد المقدمة. وهو مبني على طريقة عرض الرمز المميز الأساسي ويضمن تحديد " "المعدل المناسب للحماية من هجمات القوة الغاشمة." #: engine/vibes_auth/views.py:58 msgid "" "Handles refreshing of tokens for authentication purposes. This class is used" " to provide functionality for token refresh operations as part of an " "authentication system. It ensures that clients can request a refreshed token" " within defined rate limits. The view relies on the associated serializer to" " validate token refresh inputs and produce appropriate outputs." msgstr "" "يعالج تحديث الرموز المميزة لأغراض المصادقة. يتم استخدام هذه الفئة لتوفير " "وظيفة لعمليات تحديث الرموز كجزء من نظام المصادقة. وهي تضمن أن العملاء يمكنهم" " طلب رمز محدث ضمن حدود المعدل المحدد. تعتمد طريقة العرض على أداة التسلسل " "المرتبطة بها للتحقق من صحة مدخلات تحديث الرمز المميز وإنتاج مخرجات مناسبة." #: engine/vibes_auth/views.py:83 msgid "" "Represents a view for verifying JSON Web Tokens (JWT) using specific " "serialization and validation logic. " msgstr "" "يمثل طريقة عرض للتحقق من رموز JSON Web Tokens (JWT) باستخدام تسلسل محدد " "ومنطق التحقق من الصحة." #: engine/vibes_auth/views.py:103 msgid "the token is invalid" msgstr "الرمز المميز غير صالح" #: engine/vibes_auth/viewsets.py:47 msgid "" "User view set implementation.\n" "Provides a set of actions that manage user-related data such as creation, retrieval, updates, deletion, and custom actions including password reset, avatar upload, account activation, and recently viewed items merging. This class extends the mixins and GenericViewSet for robust API handling." msgstr "" "تنفيذ مجموعة عرض المستخدم.\n" "يوفر مجموعة من الإجراءات التي تدير البيانات المتعلقة بالمستخدم مثل الإنشاء والاسترجاع والتحديثات والحذف والإجراءات المخصصة بما في ذلك إعادة تعيين كلمة المرور وتحميل الصورة الرمزية وتفعيل الحساب ودمج العناصر التي تم عرضها مؤخرًا. تعمل هذه الفئة على توسيع mixins و GenericViewSet لمعالجة واجهة برمجة التطبيقات القوية." #: engine/vibes_auth/viewsets.py:116 msgid "password reset successfully" msgstr "تمت إعادة تعيين كلمة المرور بنجاح!" #: engine/vibes_auth/viewsets.py:146 msgid "" "Account already registered but not yet activated. A new activation email has" " been sent." msgstr "" "الحساب مسجل بالفعل ولكن لم يتم تفعيله بعد. تم إرسال بريد إلكتروني جديد " "للتفعيل." #: engine/vibes_auth/viewsets.py:179 msgid "account already activated!" msgstr "لقد قمت بتفعيل الحساب بالفعل..."