addin notification in adding trucks
This commit is contained in:
parent
049e1849e1
commit
290e13038f
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -130,7 +130,7 @@ class MessageAdmin(admin.ModelAdmin):
|
|||||||
|
|
||||||
@admin.register(WhatsAppConfig)
|
@admin.register(WhatsAppConfig)
|
||||||
class WhatsAppConfigAdmin(admin.ModelAdmin):
|
class WhatsAppConfigAdmin(admin.ModelAdmin):
|
||||||
list_display = ('__str__', 'is_active')
|
list_display = ('__str__', 'admin_phone', 'is_active')
|
||||||
|
|
||||||
def has_add_permission(self, request):
|
def has_add_permission(self, request):
|
||||||
# Only allow one configuration record
|
# Only allow one configuration record
|
||||||
|
|||||||
@ -0,0 +1,33 @@
|
|||||||
|
# Generated by Django 5.2.7 on 2026-01-24 09:18
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('core', '0024_testimonial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='banner',
|
||||||
|
name='admin_phone',
|
||||||
|
field=models.CharField(blank=True, help_text='WhatsApp number to receive admin notifications (with country code, e.g., 96812345678)', max_length=20, null=True, verbose_name='Admin Notification Phone'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='homesection',
|
||||||
|
name='admin_phone',
|
||||||
|
field=models.CharField(blank=True, help_text='WhatsApp number to receive admin notifications (with country code, e.g., 96812345678)', max_length=20, null=True, verbose_name='Admin Notification Phone'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='testimonial',
|
||||||
|
name='admin_phone',
|
||||||
|
field=models.CharField(blank=True, help_text='WhatsApp number to receive admin notifications (with country code, e.g., 96812345678)', max_length=20, null=True, verbose_name='Admin Notification Phone'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='whatsappconfig',
|
||||||
|
name='admin_phone',
|
||||||
|
field=models.CharField(blank=True, help_text='WhatsApp number to receive admin notifications (with country code, e.g., 96812345678)', max_length=20, null=True, verbose_name='Admin Notification Phone'),
|
||||||
|
),
|
||||||
|
]
|
||||||
25
core/migrations/0026_remove_banner_admin_phone_and_more.py
Normal file
25
core/migrations/0026_remove_banner_admin_phone_and_more.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Generated by Django 5.2.7 on 2026-01-24 09:19
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('core', '0025_banner_admin_phone_homesection_admin_phone_and_more'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='banner',
|
||||||
|
name='admin_phone',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='homesection',
|
||||||
|
name='admin_phone',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='testimonial',
|
||||||
|
name='admin_phone',
|
||||||
|
),
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
@ -294,6 +294,7 @@ class WhatsAppConfig(models.Model):
|
|||||||
api_token = models.CharField(_('Wablas API Token'), max_length=255)
|
api_token = models.CharField(_('Wablas API Token'), max_length=255)
|
||||||
secret_key = models.CharField(_('Wablas Secret Key'), max_length=255, blank=True, null=True)
|
secret_key = models.CharField(_('Wablas Secret Key'), max_length=255, blank=True, null=True)
|
||||||
is_active = models.BooleanField(_('Is Active'), default=True)
|
is_active = models.BooleanField(_('Is Active'), default=True)
|
||||||
|
admin_phone = models.CharField(_("Admin Notification Phone"), max_length=20, blank=True, null=True, help_text=_("WhatsApp number to receive admin notifications (with country code, e.g., 96812345678)"))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _('WhatsApp Configuration')
|
verbose_name = _('WhatsApp Configuration')
|
||||||
|
|||||||
@ -264,6 +264,15 @@ def truck_register(request):
|
|||||||
truck.owner = request.user
|
truck.owner = request.user
|
||||||
truck.is_approved = False
|
truck.is_approved = False
|
||||||
truck.save()
|
truck.save()
|
||||||
|
|
||||||
|
# Notify Admin via WhatsApp
|
||||||
|
config = WhatsAppConfig.objects.filter(is_active=True).first()
|
||||||
|
if config and config.admin_phone:
|
||||||
|
admin_msg = _("New Truck Registration: %(owner)s registered a truck with plate %(plate)s. Please review it in the admin dashboard.") % {
|
||||||
|
"owner": truck.owner.username,
|
||||||
|
"plate": truck.plate_no
|
||||||
|
}
|
||||||
|
send_whatsapp_message(config.admin_phone, admin_msg)
|
||||||
messages.success(request, _("Truck registered successfully! It will be visible after admin approval."))
|
messages.success(request, _("Truck registered successfully! It will be visible after admin approval."))
|
||||||
return redirect('dashboard')
|
return redirect('dashboard')
|
||||||
else:
|
else:
|
||||||
@ -283,6 +292,15 @@ def edit_truck(request, truck_id):
|
|||||||
truck = form.save(commit=False)
|
truck = form.save(commit=False)
|
||||||
truck.is_approved = False
|
truck.is_approved = False
|
||||||
truck.save()
|
truck.save()
|
||||||
|
|
||||||
|
# Notify Admin via WhatsApp
|
||||||
|
config = WhatsAppConfig.objects.filter(is_active=True).first()
|
||||||
|
if config and config.admin_phone:
|
||||||
|
admin_msg = _("Truck Update: %(owner)s updated truck with plate %(plate)s. Please review it again in the admin dashboard.") % {
|
||||||
|
"owner": truck.owner.username,
|
||||||
|
"plate": truck.plate_no
|
||||||
|
}
|
||||||
|
send_whatsapp_message(config.admin_phone, admin_msg)
|
||||||
messages.success(request, _("Truck data updated successfully! It will be reviewed by admin again."))
|
messages.success(request, _("Truck data updated successfully! It will be reviewed by admin again."))
|
||||||
return redirect('dashboard')
|
return redirect('dashboard')
|
||||||
else:
|
else:
|
||||||
|
|||||||
Binary file not shown.
@ -2,7 +2,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2026-01-24 09:10+0000\n"
|
"POT-Creation-Date: 2026-01-24 09:20+0000\n"
|
||||||
"PO-Revision-Date: 2026-01-23 10:45+0000\n"
|
"PO-Revision-Date: 2026-01-23 10:45+0000\n"
|
||||||
"Last-Translator: Gemini\n"
|
"Last-Translator: Gemini\n"
|
||||||
"Language-Team: Arabic\n"
|
"Language-Team: Arabic\n"
|
||||||
@ -10,8 +10,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
|
||||||
|
|
||||||
#: config/settings.py:198
|
#: config/settings.py:198
|
||||||
msgid "English"
|
msgid "English"
|
||||||
@ -116,9 +115,7 @@ msgstr "تم نشر الشحنة بنجاح!"
|
|||||||
|
|
||||||
#: core/admin.py:157
|
#: core/admin.py:157
|
||||||
msgid "Failed to send test message. Check your API credentials and logs."
|
msgid "Failed to send test message. Check your API credentials and logs."
|
||||||
msgstr ""
|
msgstr "فشل إرسال رسالة الاختبار. تحقق من بيانات اعتماد واجهة برمجة التطبيقات والسجلات."
|
||||||
"فشل إرسال رسالة الاختبار. تحقق من بيانات اعتماد واجهة برمجة التطبيقات "
|
|
||||||
"والسجلات."
|
|
||||||
|
|
||||||
#: core/admin.py:162
|
#: core/admin.py:162
|
||||||
msgid "Send Test WhatsApp Message"
|
msgid "Send Test WhatsApp Message"
|
||||||
@ -241,9 +238,9 @@ msgstr "اسم الدولة"
|
|||||||
msgid "Your Email"
|
msgid "Your Email"
|
||||||
msgstr "تأكيد البريد الإلكتروني"
|
msgstr "تأكيد البريد الإلكتروني"
|
||||||
|
|
||||||
#: core/forms.py:199 core/models.py:482 core/templates/core/contact.html:76
|
#: core/forms.py:199 core/models.py:483 core/templates/core/contact.html:76
|
||||||
msgid "Subject"
|
msgid "Subject"
|
||||||
msgstr "رفض"
|
msgstr "الموضوع"
|
||||||
|
|
||||||
#: core/forms.py:200
|
#: core/forms.py:200
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -253,16 +250,12 @@ msgstr "الرسالة"
|
|||||||
|
|
||||||
#: core/management/commands/check_subscriptions.py:28
|
#: core/management/commands/check_subscriptions.py:28
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid "Hello %(user)s, your MASAR CARGO subscription (%(plan)s) will expire in %(days)s days on %(date)s. Please renew to avoid account suspension."
|
||||||
"Hello %(user)s, your MASAR CARGO subscription (%(plan)s) will expire in "
|
|
||||||
"%(days)s days on %(date)s. Please renew to avoid account suspension."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: core/management/commands/check_subscriptions.py:49
|
#: core/management/commands/check_subscriptions.py:49
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid "Hello %(user)s, your MASAR CARGO subscription has EXPIRED today. Your account is now suspended. Please contact support to renew."
|
||||||
"Hello %(user)s, your MASAR CARGO subscription has EXPIRED today. Your "
|
|
||||||
"account is now suspended. Please contact support to renew."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: core/models.py:16
|
#: core/models.py:16
|
||||||
@ -414,11 +407,11 @@ msgstr "مفتوح للعروض"
|
|||||||
msgid "In Progress"
|
msgid "In Progress"
|
||||||
msgstr "قيد التنفيذ"
|
msgstr "قيد التنفيذ"
|
||||||
|
|
||||||
#: core/models.py:226 core/models.py:445
|
#: core/models.py:226 core/models.py:446
|
||||||
msgid "Completed"
|
msgid "Completed"
|
||||||
msgstr "مكتمل"
|
msgstr "مكتمل"
|
||||||
|
|
||||||
#: core/models.py:227 core/models.py:447
|
#: core/models.py:227 core/models.py:448
|
||||||
msgid "Cancelled"
|
msgid "Cancelled"
|
||||||
msgstr "ملغي"
|
msgstr "ملغي"
|
||||||
|
|
||||||
@ -430,7 +423,7 @@ msgstr "المصدر (قديم)"
|
|||||||
msgid "Destination (Legacy)"
|
msgid "Destination (Legacy)"
|
||||||
msgstr "الوجهة"
|
msgstr "الوجهة"
|
||||||
|
|
||||||
#: core/models.py:268 core/models.py:444
|
#: core/models.py:268 core/models.py:445
|
||||||
#: core/templates/core/shipper_dashboard.html:98
|
#: core/templates/core/shipper_dashboard.html:98
|
||||||
#: core/templates/core/truck_owner_dashboard.html:90
|
#: core/templates/core/truck_owner_dashboard.html:90
|
||||||
#: core/templates/core/truck_owner_dashboard.html:156
|
#: core/templates/core/truck_owner_dashboard.html:156
|
||||||
@ -455,295 +448,303 @@ msgstr "رمز Wablas API"
|
|||||||
msgid "Wablas Secret Key"
|
msgid "Wablas Secret Key"
|
||||||
msgstr "مفتاح Wablas السري"
|
msgstr "مفتاح Wablas السري"
|
||||||
|
|
||||||
#: core/models.py:296 core/models.py:341 core/models.py:379 core/models.py:504
|
#: core/models.py:296 core/models.py:342 core/models.py:380 core/models.py:505
|
||||||
msgid "Is Active"
|
msgid "Is Active"
|
||||||
msgstr "نشط"
|
msgstr "نشط"
|
||||||
|
|
||||||
#: core/models.py:299 core/models.py:300 core/models.py:303
|
#: core/models.py:297
|
||||||
|
msgid "Admin Notification Phone"
|
||||||
|
msgstr "رقم هاتف إشعارات المسؤول"
|
||||||
|
|
||||||
|
#: core/models.py:297
|
||||||
|
msgid "WhatsApp number to receive admin notifications (with country code, e.g., 96812345678)"
|
||||||
|
msgstr "رقم الواتساب لاستلام إشعارات المسؤول (مع رمز الدولة، مثال: 96812345678)"
|
||||||
|
|
||||||
|
#: core/models.py:300 core/models.py:301 core/models.py:304
|
||||||
msgid "WhatsApp Configuration"
|
msgid "WhatsApp Configuration"
|
||||||
msgstr "تكامل واتساب"
|
msgstr "تكامل واتساب"
|
||||||
|
|
||||||
#: core/models.py:306
|
#: core/models.py:307
|
||||||
msgid "App Name"
|
msgid "App Name"
|
||||||
msgstr "اسم التطبيق"
|
msgstr "اسم التطبيق"
|
||||||
|
|
||||||
#: core/models.py:307
|
#: core/models.py:308
|
||||||
msgid "Logo"
|
msgid "Logo"
|
||||||
msgstr "الشعار"
|
msgstr "الشعار"
|
||||||
|
|
||||||
#: core/models.py:308
|
#: core/models.py:309
|
||||||
msgid "Slogan"
|
msgid "Slogan"
|
||||||
msgstr "الشعار اللفظي"
|
msgstr "الشعار اللفظي"
|
||||||
|
|
||||||
#: core/models.py:309
|
#: core/models.py:310
|
||||||
msgid "Registration Number"
|
msgid "Registration Number"
|
||||||
msgstr "رقم السجل التجاري"
|
msgstr "رقم السجل التجاري"
|
||||||
|
|
||||||
#: core/models.py:310
|
#: core/models.py:311
|
||||||
msgid "Tax Number"
|
msgid "Tax Number"
|
||||||
msgstr "الرقم الضريبي"
|
msgstr "الرقم الضريبي"
|
||||||
|
|
||||||
#: core/models.py:311
|
#: core/models.py:312
|
||||||
msgid "Contact Phone"
|
msgid "Contact Phone"
|
||||||
msgstr "هاتف التواصل"
|
msgstr "هاتف التواصل"
|
||||||
|
|
||||||
#: core/models.py:312
|
#: core/models.py:313
|
||||||
msgid "Contact Email"
|
msgid "Contact Email"
|
||||||
msgstr "بريد التواصل"
|
msgstr "بريد التواصل"
|
||||||
|
|
||||||
#: core/models.py:313
|
#: core/models.py:314
|
||||||
msgid "Contact Address"
|
msgid "Contact Address"
|
||||||
msgstr "عنوان التواصل"
|
msgstr "عنوان التواصل"
|
||||||
|
|
||||||
#: core/models.py:314 core/templates/base.html:161
|
#: core/models.py:315 core/templates/base.html:161
|
||||||
#: core/templates/registration/register.html:67 core/views.py:466
|
#: core/templates/registration/register.html:67 core/views.py:484
|
||||||
msgid "Terms of Service"
|
msgid "Terms of Service"
|
||||||
msgstr "شروط الخدمة"
|
msgstr "شروط الخدمة"
|
||||||
|
|
||||||
#: core/models.py:315 core/templates/base.html:160
|
#: core/models.py:316 core/templates/base.html:160
|
||||||
#: core/templates/registration/register.html:69 core/views.py:456
|
#: core/templates/registration/register.html:69 core/views.py:474
|
||||||
msgid "Privacy Policy"
|
msgid "Privacy Policy"
|
||||||
msgstr "سياسة الخصوصية"
|
msgstr "سياسة الخصوصية"
|
||||||
|
|
||||||
#: core/models.py:316
|
#: core/models.py:317
|
||||||
msgid "Enable Subscription Fee"
|
msgid "Enable Subscription Fee"
|
||||||
msgstr "تفعيل رسوم الاشتراك"
|
msgstr "تفعيل رسوم الاشتراك"
|
||||||
|
|
||||||
#: core/models.py:317
|
#: core/models.py:318
|
||||||
msgid "Enable Thawani Payment"
|
msgid "Enable Thawani Payment"
|
||||||
msgstr "تفعيل دفع ثواني"
|
msgstr "تفعيل دفع ثواني"
|
||||||
|
|
||||||
#: core/models.py:320
|
#: core/models.py:321
|
||||||
msgid "Shipper Monthly Fee"
|
msgid "Shipper Monthly Fee"
|
||||||
msgstr "رسوم الشاحن الشهرية"
|
msgstr "رسوم الشاحن الشهرية"
|
||||||
|
|
||||||
#: core/models.py:321
|
#: core/models.py:322
|
||||||
msgid "Shipper Annual Fee"
|
msgid "Shipper Annual Fee"
|
||||||
msgstr "رسوم الشاحن السنوية"
|
msgstr "رسوم الشاحن السنوية"
|
||||||
|
|
||||||
#: core/models.py:324
|
#: core/models.py:325
|
||||||
msgid "Truck Owner Monthly Fee"
|
msgid "Truck Owner Monthly Fee"
|
||||||
msgstr "رسوم صاحب الشاحنة الشهرية"
|
msgstr "رسوم صاحب الشاحنة الشهرية"
|
||||||
|
|
||||||
#: core/models.py:325
|
#: core/models.py:326
|
||||||
msgid "Truck Owner Annual Fee"
|
msgid "Truck Owner Annual Fee"
|
||||||
msgstr "رسوم صاحب الشاحنة السنوية"
|
msgstr "رسوم صاحب الشاحنة السنوية"
|
||||||
|
|
||||||
#: core/models.py:328
|
#: core/models.py:329
|
||||||
msgid "App Setting"
|
msgid "App Setting"
|
||||||
msgstr "إعداد التطبيق"
|
msgstr "إعداد التطبيق"
|
||||||
|
|
||||||
#: core/models.py:329
|
#: core/models.py:330
|
||||||
msgid "App Settings"
|
msgid "App Settings"
|
||||||
msgstr "إعدادات التطبيق"
|
msgstr "إعدادات التطبيق"
|
||||||
|
|
||||||
#: core/models.py:335 core/models.py:371
|
#: core/models.py:336 core/models.py:372
|
||||||
msgid "Title (EN)"
|
msgid "Title (EN)"
|
||||||
msgstr "العنوان (بالإنجليزية)"
|
msgstr "العنوان (بالإنجليزية)"
|
||||||
|
|
||||||
#: core/models.py:336 core/models.py:372
|
#: core/models.py:337 core/models.py:373
|
||||||
msgid "Title (AR)"
|
msgid "Title (AR)"
|
||||||
msgstr "العنوان (بالعربية)"
|
msgstr "العنوان (بالعربية)"
|
||||||
|
|
||||||
#: core/models.py:337 core/models.py:373
|
#: core/models.py:338 core/models.py:374
|
||||||
msgid "Subtitle (EN)"
|
msgid "Subtitle (EN)"
|
||||||
msgstr "العنوان الفرعي (بالإنجليزية)"
|
msgstr "العنوان الفرعي (بالإنجليزية)"
|
||||||
|
|
||||||
#: core/models.py:338 core/models.py:374
|
#: core/models.py:339 core/models.py:375
|
||||||
msgid "Subtitle (AR)"
|
msgid "Subtitle (AR)"
|
||||||
msgstr "العنوان الفرعي (بالعربية)"
|
msgstr "العنوان الفرعي (بالعربية)"
|
||||||
|
|
||||||
#: core/models.py:339
|
#: core/models.py:340
|
||||||
msgid "Banner Image"
|
msgid "Banner Image"
|
||||||
msgstr "صورة البانر"
|
msgstr "صورة البانر"
|
||||||
|
|
||||||
#: core/models.py:340
|
#: core/models.py:341
|
||||||
msgid "Link URL"
|
msgid "Link URL"
|
||||||
msgstr "رابط"
|
msgstr "رابط"
|
||||||
|
|
||||||
#: core/models.py:340
|
#: core/models.py:341
|
||||||
msgid "Internal or external URL"
|
msgid "Internal or external URL"
|
||||||
msgstr "رابط داخلي أو خارجي"
|
msgstr "رابط داخلي أو خارجي"
|
||||||
|
|
||||||
#: core/models.py:342 core/models.py:378 core/models.py:505
|
#: core/models.py:343 core/models.py:379 core/models.py:506
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "الترتيب"
|
msgstr "الترتيب"
|
||||||
|
|
||||||
#: core/models.py:346
|
#: core/models.py:347
|
||||||
msgid "Banner"
|
msgid "Banner"
|
||||||
msgstr "بانر"
|
msgstr "بانر"
|
||||||
|
|
||||||
#: core/models.py:347
|
#: core/models.py:348
|
||||||
msgid "Banners"
|
msgid "Banners"
|
||||||
msgstr "البانرات"
|
msgstr "البانرات"
|
||||||
|
|
||||||
#: core/models.py:367
|
#: core/models.py:368
|
||||||
msgid "Simple Text & Image"
|
msgid "Simple Text & Image"
|
||||||
msgstr "نص بسيط وصورة"
|
msgstr "نص بسيط وصورة"
|
||||||
|
|
||||||
#: core/models.py:368
|
#: core/models.py:369
|
||||||
msgid "Features List"
|
msgid "Features List"
|
||||||
msgstr "قائمة المميزات"
|
msgstr "قائمة المميزات"
|
||||||
|
|
||||||
#: core/models.py:369
|
#: core/models.py:370
|
||||||
msgid "Call to Action"
|
msgid "Call to Action"
|
||||||
msgstr "دعوة لاتخاذ إجراء"
|
msgstr "دعوة لاتخاذ إجراء"
|
||||||
|
|
||||||
#: core/models.py:375
|
#: core/models.py:376
|
||||||
msgid "Content (EN)"
|
msgid "Content (EN)"
|
||||||
msgstr "المحتوى (بالإنجليزية)"
|
msgstr "المحتوى (بالإنجليزية)"
|
||||||
|
|
||||||
#: core/models.py:376
|
#: core/models.py:377
|
||||||
msgid "Content (AR)"
|
msgid "Content (AR)"
|
||||||
msgstr "المحتوى (بالعربية)"
|
msgstr "المحتوى (بالعربية)"
|
||||||
|
|
||||||
#: core/models.py:377
|
#: core/models.py:378
|
||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "صورة"
|
msgstr "صورة"
|
||||||
|
|
||||||
#: core/models.py:384
|
#: core/models.py:385
|
||||||
msgid "Home Section"
|
msgid "Home Section"
|
||||||
msgstr "قسم في الصفحة الرئيسية"
|
msgstr "قسم في الصفحة الرئيسية"
|
||||||
|
|
||||||
#: core/models.py:385
|
#: core/models.py:386
|
||||||
msgid "Home Sections"
|
msgid "Home Sections"
|
||||||
msgstr "أقسام الصفحة الرئيسية"
|
msgstr "أقسام الصفحة الرئيسية"
|
||||||
|
|
||||||
#: core/models.py:440 core/templates/core/financial_history.html:37
|
#: core/models.py:441 core/templates/core/financial_history.html:37
|
||||||
msgid "Payment"
|
msgid "Payment"
|
||||||
msgstr "دفع"
|
msgstr "دفع"
|
||||||
|
|
||||||
#: core/models.py:441 core/templates/core/financial_history.html:39
|
#: core/models.py:442 core/templates/core/financial_history.html:39
|
||||||
msgid "Refund"
|
msgid "Refund"
|
||||||
msgstr "استرداد"
|
msgstr "استرداد"
|
||||||
|
|
||||||
#: core/models.py:446
|
#: core/models.py:447
|
||||||
msgid "Failed"
|
msgid "Failed"
|
||||||
msgstr "فشل"
|
msgstr "فشل"
|
||||||
|
|
||||||
#: core/models.py:450 core/templates/core/admin_financials.html:30
|
#: core/models.py:451 core/templates/core/admin_financials.html:30
|
||||||
#: core/templates/core/financial_history.html:24
|
#: core/templates/core/financial_history.html:24
|
||||||
#: core/templates/core/shipment_detail.html:73
|
#: core/templates/core/shipment_detail.html:73
|
||||||
#: core/templates/core/shipper_dashboard.html:76
|
#: core/templates/core/shipper_dashboard.html:76
|
||||||
msgid "Amount"
|
msgid "Amount"
|
||||||
msgstr "المبلغ"
|
msgstr "المبلغ"
|
||||||
|
|
||||||
#: core/models.py:453 core/templates/core/financial_history.html:22
|
#: core/models.py:454 core/templates/core/financial_history.html:22
|
||||||
#: core/templates/core/receipt.html:48
|
#: core/templates/core/receipt.html:48
|
||||||
#: core/templates/core/shipper_dashboard.html:134
|
#: core/templates/core/shipper_dashboard.html:134
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "الوصف"
|
msgstr "الوصف"
|
||||||
|
|
||||||
#: core/models.py:454 core/templates/core/receipt.html:39
|
#: core/models.py:455 core/templates/core/receipt.html:39
|
||||||
msgid "Payment Method"
|
msgid "Payment Method"
|
||||||
msgstr "طريقة الدفع"
|
msgstr "طريقة الدفع"
|
||||||
|
|
||||||
#: core/models.py:455
|
#: core/models.py:456
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Phone Number"
|
#| msgid "Phone Number"
|
||||||
msgid "Reference Number"
|
msgid "Reference Number"
|
||||||
msgstr "رقم الهاتف"
|
msgstr "رقم الهاتف"
|
||||||
|
|
||||||
#: core/models.py:456
|
#: core/models.py:457
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Registration Number"
|
#| msgid "Registration Number"
|
||||||
msgid "Receipt Number"
|
msgid "Receipt Number"
|
||||||
msgstr "رقم السجل التجاري"
|
msgstr "رقم السجل التجاري"
|
||||||
|
|
||||||
#: core/models.py:457
|
#: core/models.py:458
|
||||||
msgid "Session ID"
|
msgid "Session ID"
|
||||||
msgstr "معرف الجلسة"
|
msgstr "معرف الجلسة"
|
||||||
|
|
||||||
#: core/models.py:458
|
#: core/models.py:459
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Status"
|
#| msgid "Status"
|
||||||
msgid "Payment Status"
|
msgid "Payment Status"
|
||||||
msgstr "الحالة"
|
msgstr "الحالة"
|
||||||
|
|
||||||
#: core/models.py:464
|
#: core/models.py:465
|
||||||
msgid "Transaction"
|
msgid "Transaction"
|
||||||
msgstr "معاملة"
|
msgstr "معاملة"
|
||||||
|
|
||||||
#: core/models.py:465
|
#: core/models.py:466
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Actions"
|
#| msgid "Actions"
|
||||||
msgid "Transactions"
|
msgid "Transactions"
|
||||||
msgstr "الإجراءات"
|
msgstr "الإجراءات"
|
||||||
|
|
||||||
#: core/models.py:480
|
#: core/models.py:481
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "App Name"
|
#| msgid "App Name"
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "اسم التطبيق"
|
msgstr "اسم التطبيق"
|
||||||
|
|
||||||
#: core/models.py:481 core/templates/core/contact.html:36
|
#: core/models.py:482 core/templates/core/contact.html:36
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "البريد الإلكتروني"
|
msgstr "البريد الإلكتروني"
|
||||||
|
|
||||||
#: core/models.py:483 core/templates/admin/core/whatsapp_test.html:28
|
#: core/models.py:484 core/templates/admin/core/whatsapp_test.html:28
|
||||||
#: core/templates/core/contact.html:83
|
#: core/templates/core/contact.html:83
|
||||||
msgid "Message"
|
msgid "Message"
|
||||||
msgstr "الرسالة"
|
msgstr "الرسالة"
|
||||||
|
|
||||||
#: core/models.py:488
|
#: core/models.py:489
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Contact Address"
|
#| msgid "Contact Address"
|
||||||
msgid "Contact Message"
|
msgid "Contact Message"
|
||||||
msgstr "عنوان التواصل"
|
msgstr "عنوان التواصل"
|
||||||
|
|
||||||
#: core/models.py:489
|
#: core/models.py:490
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Contact Address"
|
#| msgid "Contact Address"
|
||||||
msgid "Contact Messages"
|
msgid "Contact Messages"
|
||||||
msgstr "عنوان التواصل"
|
msgstr "عنوان التواصل"
|
||||||
|
|
||||||
#: core/models.py:496
|
#: core/models.py:497
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Name (EN)"
|
#| msgid "Name (EN)"
|
||||||
msgid "Customer Name (EN)"
|
msgid "Customer Name (EN)"
|
||||||
msgstr "الموديل (بالإنجليزية)"
|
msgstr "الموديل (بالإنجليزية)"
|
||||||
|
|
||||||
#: core/models.py:497
|
#: core/models.py:498
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Name (AR)"
|
#| msgid "Name (AR)"
|
||||||
msgid "Customer Name (AR)"
|
msgid "Customer Name (AR)"
|
||||||
msgstr "الموديل"
|
msgstr "الموديل"
|
||||||
|
|
||||||
#: core/models.py:498
|
#: core/models.py:499
|
||||||
msgid "Customer Role (EN)"
|
msgid "Customer Role (EN)"
|
||||||
msgstr "وظيفة العميل (EN)"
|
msgstr "وظيفة العميل (EN)"
|
||||||
|
|
||||||
#: core/models.py:499
|
#: core/models.py:500
|
||||||
msgid "Customer Role (AR)"
|
msgid "Customer Role (AR)"
|
||||||
msgstr "وظيفة العميل (AR)"
|
msgstr "وظيفة العميل (AR)"
|
||||||
|
|
||||||
#: core/models.py:500
|
#: core/models.py:501
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Details"
|
#| msgid "Details"
|
||||||
msgid "Testimony (EN)"
|
msgid "Testimony (EN)"
|
||||||
msgstr "التفاصيل"
|
msgstr "التفاصيل"
|
||||||
|
|
||||||
#: core/models.py:501
|
#: core/models.py:502
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Details"
|
#| msgid "Details"
|
||||||
msgid "Testimony (AR)"
|
msgid "Testimony (AR)"
|
||||||
msgstr "التفاصيل"
|
msgstr "التفاصيل"
|
||||||
|
|
||||||
#: core/models.py:502
|
#: core/models.py:503
|
||||||
msgid "Rating (1-5)"
|
msgid "Rating (1-5)"
|
||||||
msgstr "التقييم (1-5)"
|
msgstr "التقييم (1-5)"
|
||||||
|
|
||||||
#: core/models.py:503
|
#: core/models.py:504
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Banner Image"
|
#| msgid "Banner Image"
|
||||||
msgid "Customer Image"
|
msgid "Customer Image"
|
||||||
msgstr "صورة البانر"
|
msgstr "صورة البانر"
|
||||||
|
|
||||||
#: core/models.py:509
|
#: core/models.py:510
|
||||||
msgid "Testimonial"
|
msgid "Testimonial"
|
||||||
msgstr "شهادة عميل"
|
msgstr "شهادة عميل"
|
||||||
|
|
||||||
#: core/models.py:510
|
#: core/models.py:511
|
||||||
msgid "Testimonials"
|
msgid "Testimonials"
|
||||||
msgstr "شهادات العملاء"
|
msgstr "شهادات العملاء"
|
||||||
|
|
||||||
@ -1174,12 +1175,8 @@ msgid "Get in Touch"
|
|||||||
msgstr "اتصل بنا"
|
msgstr "اتصل بنا"
|
||||||
|
|
||||||
#: core/templates/core/contact.html:13
|
#: core/templates/core/contact.html:13
|
||||||
msgid ""
|
msgid "Have questions about our services or need assistance? Fill out the form and our team will get back to you shortly."
|
||||||
"Have questions about our services or need assistance? Fill out the form and "
|
msgstr "لديك أسئلة حول خدماتنا أو تحتاج إلى مساعدة؟ املأ النموذج وسيقوم فريقنا بالرد عليك قريباً."
|
||||||
"our team will get back to you shortly."
|
|
||||||
msgstr ""
|
|
||||||
"لديك أسئلة حول خدماتنا أو تحتاج إلى مساعدة؟ املأ النموذج وسيقوم فريقنا بالرد "
|
|
||||||
"عليك قريباً."
|
|
||||||
|
|
||||||
#: core/templates/core/contact.html:24
|
#: core/templates/core/contact.html:24
|
||||||
msgid "Phone"
|
msgid "Phone"
|
||||||
@ -1224,12 +1221,8 @@ msgid "Locally & Abroad"
|
|||||||
msgstr "محلياً ودولياً"
|
msgstr "محلياً ودولياً"
|
||||||
|
|
||||||
#: core/templates/core/index.html:64
|
#: core/templates/core/index.html:64
|
||||||
msgid ""
|
msgid "The most reliable platform connecting shippers with truck owners across the region. Transparent, fast, and secure."
|
||||||
"The most reliable platform connecting shippers with truck owners across the "
|
msgstr "المنصة الأكثر موثوقية لربط الشاحنين مع أسطول الشاحنات في جميع أنحاء المنطقة. شفافة، سريعة، وآمنة."
|
||||||
"region. Transparent, fast, and secure."
|
|
||||||
msgstr ""
|
|
||||||
"المنصة الأكثر موثوقية لربط الشاحنين مع أسطول الشاحنات في جميع أنحاء المنطقة. "
|
|
||||||
"شفافة، سريعة، وآمنة."
|
|
||||||
|
|
||||||
#: core/templates/core/index.html:67
|
#: core/templates/core/index.html:67
|
||||||
msgid "Start Shipping"
|
msgid "Start Shipping"
|
||||||
@ -1248,12 +1241,8 @@ msgid "I am a Shipper"
|
|||||||
msgstr "أنا شاحن"
|
msgstr "أنا شاحن"
|
||||||
|
|
||||||
#: core/templates/core/index.html:140
|
#: core/templates/core/index.html:140
|
||||||
msgid ""
|
msgid "I need to move goods locally or abroad. Post your shipment, receive offers from verified drivers, and track your cargo in real-time."
|
||||||
"I need to move goods locally or abroad. Post your shipment, receive offers "
|
msgstr "أريد نقل بضائع محلياً أو دولياً. انشر شحنتك، واستقبل عروضاً من سائقين موثقين، وتتبع شحنتك في الوقت الفعلي."
|
||||||
"from verified drivers, and track your cargo in real-time."
|
|
||||||
msgstr ""
|
|
||||||
"أريد نقل بضائع محلياً أو دولياً. انشر شحنتك، واستقبل عروضاً من سائقين موثقين، "
|
|
||||||
"وتتبع شحنتك في الوقت الفعلي."
|
|
||||||
|
|
||||||
#: core/templates/core/index.html:143
|
#: core/templates/core/index.html:143
|
||||||
msgid "Post shipments easily"
|
msgid "Post shipments easily"
|
||||||
@ -1277,12 +1266,8 @@ msgid "I am a Truck Owner"
|
|||||||
msgstr "أنا صاحب شاحنة"
|
msgstr "أنا صاحب شاحنة"
|
||||||
|
|
||||||
#: core/templates/core/index.html:158
|
#: core/templates/core/index.html:158
|
||||||
msgid ""
|
msgid "I have trucks and want to find cargo to transport. Register your fleet, bid on available jobs, and grow your business."
|
||||||
"I have trucks and want to find cargo to transport. Register your fleet, bid "
|
msgstr "لدي شاحنات وأريد العثور على بضائع لنقلها. سجل أسطولك، وقدم عروضك على الوظائف المتاحة، ونمِ عملك."
|
||||||
"on available jobs, and grow your business."
|
|
||||||
msgstr ""
|
|
||||||
"لدي شاحنات وأريد العثور على بضائع لنقلها. سجل أسطولك، وقدم عروضك على الوظائف "
|
|
||||||
"المتاحة، ونمِ عملك."
|
|
||||||
|
|
||||||
#: core/templates/core/index.html:161
|
#: core/templates/core/index.html:161
|
||||||
msgid "Access daily cargo leads"
|
msgid "Access daily cargo leads"
|
||||||
@ -1355,11 +1340,8 @@ msgid "Truck Marketplace"
|
|||||||
msgstr "سوق الشاحنات"
|
msgstr "سوق الشاحنات"
|
||||||
|
|
||||||
#: core/templates/core/marketplace.html:28
|
#: core/templates/core/marketplace.html:28
|
||||||
msgid ""
|
msgid "Browse available trucks and send your shipping offers directly to truck owners."
|
||||||
"Browse available trucks and send your shipping offers directly to truck "
|
msgstr "تصفح الشاحنات المتاحة وأرسل عروض الشحن الخاصة بك مباشرة إلى أصحاب الشاحنات."
|
||||||
"owners."
|
|
||||||
msgstr ""
|
|
||||||
"تصفح الشاحنات المتاحة وأرسل عروض الشحن الخاصة بك مباشرة إلى أصحاب الشاحنات."
|
|
||||||
|
|
||||||
#: core/templates/core/marketplace.html:43
|
#: core/templates/core/marketplace.html:43
|
||||||
msgid "Available"
|
msgid "Available"
|
||||||
@ -1496,9 +1478,7 @@ msgid "Note:"
|
|||||||
msgstr "ملاحظة:"
|
msgstr "ملاحظة:"
|
||||||
|
|
||||||
#: core/templates/core/receipt.html:68
|
#: core/templates/core/receipt.html:68
|
||||||
msgid ""
|
msgid "This is an electronically generated receipt and does not require a physical signature."
|
||||||
"This is an electronically generated receipt and does not require a physical "
|
|
||||||
"signature."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: core/templates/core/receipt.html:72
|
#: core/templates/core/receipt.html:72
|
||||||
@ -1689,8 +1669,7 @@ msgstr "انتهى الاشتراك"
|
|||||||
#| msgid "Hello %(name)s, your subscription to MASAR CARGO has expired."
|
#| msgid "Hello %(name)s, your subscription to MASAR CARGO has expired."
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
" Hello %(name)s, your subscription to MASAR CARGO has "
|
" Hello %(name)s, your subscription to MASAR CARGO has expired.\n"
|
||||||
"expired.\n"
|
|
||||||
" "
|
" "
|
||||||
msgstr "مرحباً %(name)s، لقد انتهى اشتراكك في مسار كارغو."
|
msgstr "مرحباً %(name)s، لقد انتهى اشتراكك في مسار كارغو."
|
||||||
|
|
||||||
@ -1721,8 +1700,7 @@ msgid "Renew Now"
|
|||||||
msgstr "تجديد الآن"
|
msgstr "تجديد الآن"
|
||||||
|
|
||||||
#: core/templates/core/subscription_expired.html:52
|
#: core/templates/core/subscription_expired.html:52
|
||||||
msgid ""
|
msgid "Online payment is currently disabled. Please contact support for renewal."
|
||||||
"Online payment is currently disabled. Please contact support for renewal."
|
|
||||||
msgstr "الدفع عبر الإنترنت معطل حالياً. يرجى الاتصال بالدعم للتجديد."
|
msgstr "الدفع عبر الإنترنت معطل حالياً. يرجى الاتصال بالدعم للتجديد."
|
||||||
|
|
||||||
#: core/templates/core/subscription_expired.html:61
|
#: core/templates/core/subscription_expired.html:61
|
||||||
@ -1821,9 +1799,7 @@ msgid "Documents & Photos"
|
|||||||
msgstr "المستندات والصور"
|
msgstr "المستندات والصور"
|
||||||
|
|
||||||
#: core/templates/core/truck_register.html:128
|
#: core/templates/core/truck_register.html:128
|
||||||
msgid ""
|
msgid "Photos will be automatically resized for better performance. PDF files are accepted for documents."
|
||||||
"Photos will be automatically resized for better performance. PDF files are "
|
|
||||||
"accepted for documents."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: core/templates/core/truck_register.html:151
|
#: core/templates/core/truck_register.html:151
|
||||||
@ -1893,19 +1869,12 @@ msgid "Verify Your Account"
|
|||||||
msgstr "التحقق من حسابك"
|
msgstr "التحقق من حسابك"
|
||||||
|
|
||||||
#: core/templates/registration/verify_otp.html:18
|
#: core/templates/registration/verify_otp.html:18
|
||||||
msgid ""
|
msgid "We have sent a verification code to your WhatsApp number. Please enter it below to complete your registration."
|
||||||
"We have sent a verification code to your WhatsApp number. Please enter it "
|
msgstr "لقد أرسلنا رمز تحقق إلى رقم واتساب الخاص بك. يرجى إدخاله أدناه لإكمال عملية التسجيل."
|
||||||
"below to complete your registration."
|
|
||||||
msgstr ""
|
|
||||||
"لقد أرسلنا رمز تحقق إلى رقم واتساب الخاص بك. يرجى إدخاله أدناه لإكمال عملية "
|
|
||||||
"التسجيل."
|
|
||||||
|
|
||||||
#: core/templates/registration/verify_otp.html:20
|
#: core/templates/registration/verify_otp.html:20
|
||||||
msgid ""
|
msgid "We have sent a verification code to your WhatsApp number. Please enter it below to log in."
|
||||||
"We have sent a verification code to your WhatsApp number. Please enter it "
|
msgstr "لقد أرسلنا رمز تحقق إلى رقم واتساب الخاص بك. يرجى إدخاله أدناه لتسجيل الدخول."
|
||||||
"below to log in."
|
|
||||||
msgstr ""
|
|
||||||
"لقد أرسلنا رمز تحقق إلى رقم واتساب الخاص بك. يرجى إدخاله أدناه لتسجيل الدخول."
|
|
||||||
|
|
||||||
#: core/templates/registration/verify_otp.html:37
|
#: core/templates/registration/verify_otp.html:37
|
||||||
msgid "Verify"
|
msgid "Verify"
|
||||||
@ -1961,155 +1930,146 @@ msgstr "اسم المستخدم أو كلمة المرور غير صالحة."
|
|||||||
msgid "Logged in successfully!"
|
msgid "Logged in successfully!"
|
||||||
msgstr "تم تسجيل الدخول بنجاح!"
|
msgstr "تم تسجيل الدخول بنجاح!"
|
||||||
|
|
||||||
#: core/views.py:267
|
#: core/views.py:271
|
||||||
|
#, python-format
|
||||||
|
msgid "New Truck Registration: %(owner)s registered a truck with plate %(plate)s. Please review it in the admin dashboard."
|
||||||
|
msgstr "تسجيل شاحنة جديدة: قام %(owner)s بتسجيل شاحنة برقم لوحة %(plate)s. يرجى مراجعتها في لوحة تحكم المسؤول."
|
||||||
|
|
||||||
|
#: core/views.py:276
|
||||||
msgid "Truck registered successfully! It will be visible after admin approval."
|
msgid "Truck registered successfully! It will be visible after admin approval."
|
||||||
msgstr "تم تسجيل الشاحنة بنجاح! ستكون مرئية بعد اعتماد المسؤول."
|
msgstr "تم تسجيل الشاحنة بنجاح! ستكون مرئية بعد اعتماد المسؤول."
|
||||||
|
|
||||||
#: core/views.py:270
|
#: core/views.py:279
|
||||||
msgid "There was an error in your registration. Please check the form."
|
msgid "There was an error in your registration. Please check the form."
|
||||||
msgstr "حدث خطأ في التسجيل. يرجى التحقق من النموذج."
|
msgstr "حدث خطأ في التسجيل. يرجى التحقق من النموذج."
|
||||||
|
|
||||||
#: core/views.py:286
|
#: core/views.py:299
|
||||||
|
#, python-format
|
||||||
|
msgid "Truck Update: %(owner)s updated truck with plate %(plate)s. Please review it again in the admin dashboard."
|
||||||
|
msgstr "تحديث شاحنة: قام %(owner)s بتحديث بيانات الشاحنة ذات رقم لوحة %(plate)s. يرجى مراجعتها مرة أخرى في لوحة تحكم المسؤول."
|
||||||
|
|
||||||
|
#: core/views.py:304
|
||||||
msgid "Truck data updated successfully! It will be reviewed by admin again."
|
msgid "Truck data updated successfully! It will be reviewed by admin again."
|
||||||
msgstr "تم تحديث بيانات الشاحنة بنجاح! سيتم مراجعتها من قبل المسؤول مرة أخرى."
|
msgstr "تم تحديث بيانات الشاحنة بنجاح! سيتم مراجعتها من قبل المسؤول مرة أخرى."
|
||||||
|
|
||||||
#: core/views.py:289
|
#: core/views.py:307
|
||||||
msgid "There was an error updating your truck. Please check the form."
|
msgid "There was an error updating your truck. Please check the form."
|
||||||
msgstr "حدث خطأ أثناء تحديث شاحنتك. يرجى التحقق من النموذج."
|
msgstr "حدث خطأ أثناء تحديث شاحنتك. يرجى التحقق من النموذج."
|
||||||
|
|
||||||
#: core/views.py:306
|
#: core/views.py:324
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid "Your truck (%(plate)s) has been approved! You can now receive offers for shipments."
|
||||||
"Your truck (%(plate)s) has been approved! You can now receive offers for "
|
|
||||||
"shipments."
|
|
||||||
msgstr "تمت الموافقة على شاحنتك (%(plate)s)! يمكنك الآن تلقي عروض للشحنات."
|
msgstr "تمت الموافقة على شاحنتك (%(plate)s)! يمكنك الآن تلقي عروض للشحنات."
|
||||||
|
|
||||||
#: core/views.py:309
|
#: core/views.py:327
|
||||||
msgid "Truck approved successfully!"
|
msgid "Truck approved successfully!"
|
||||||
msgstr "تم اعتماد الشاحنة بنجاح!"
|
msgstr "تم اعتماد الشاحنة بنجاح!"
|
||||||
|
|
||||||
#: core/views.py:320
|
#: core/views.py:338
|
||||||
msgid "Truck has been suspended."
|
msgid "Truck has been suspended."
|
||||||
msgstr "تم تعليق الشاحنة."
|
msgstr "تم تعليق الشاحنة."
|
||||||
|
|
||||||
#: core/views.py:335
|
#: core/views.py:353
|
||||||
msgid ""
|
msgid "Shipment posted successfully! It is now open for bids or you can browse trucks to send it as an offer."
|
||||||
"Shipment posted successfully! It is now open for bids or you can browse "
|
msgstr "تم نشر الشحنة بنجاح! هي الآن مفتوحة للمزايدة أو يمكنك تصفح الشاحنات لإرسالها كعرض.تم نشر الشحنة بنجاح! هي الآن مفتوحة للعروض أو يمكنك تصفح الشاحنات لإرسالها كعرض."
|
||||||
"trucks to send it as an offer."
|
|
||||||
msgstr ""
|
|
||||||
"تم نشر الشحنة بنجاح! هي الآن مفتوحة للمزايدة أو يمكنك تصفح الشاحنات لإرسالها "
|
|
||||||
"كعرض.تم نشر الشحنة بنجاح! هي الآن مفتوحة للعروض أو يمكنك تصفح الشاحنات "
|
|
||||||
"لإرسالها كعرض."
|
|
||||||
|
|
||||||
#: core/views.py:339
|
#: core/views.py:357
|
||||||
msgid "Please correct the errors in the form."
|
msgid "Please correct the errors in the form."
|
||||||
msgstr "يرجى تصحيح الأخطاء في النموذج."
|
msgstr "يرجى تصحيح الأخطاء في النموذج."
|
||||||
|
|
||||||
#: core/views.py:390
|
#: core/views.py:408
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid "New offer received for your truck (%(plate)s)! Route: %(origin)s to %(dest)s. Amount: %(amount)s"
|
||||||
"New offer received for your truck (%(plate)s)! Route: %(origin)s to "
|
msgstr "تم استلام عرض جديد لشاحنتك (%(plate)s)! المسار: %(origin)s إلى %(dest)s. المبلغ: %(amount)sتم استلام عرض جديد لشاحنتك (%(plate)s)! المسار: %(origin)s إلى %(dest)s. المبلغ: %(amount)s"
|
||||||
"%(dest)s. Amount: %(amount)s"
|
|
||||||
msgstr ""
|
|
||||||
"تم استلام عرض جديد لشاحنتك (%(plate)s)! المسار: %(origin)s إلى %(dest)s. "
|
|
||||||
"المبلغ: %(amount)sتم استلام عرض جديد لشاحنتك (%(plate)s)! المسار: %(origin)s "
|
|
||||||
"إلى %(dest)s. المبلغ: %(amount)s"
|
|
||||||
|
|
||||||
#: core/views.py:393
|
#: core/views.py:411
|
||||||
msgid "Offer sent successfully!"
|
msgid "Offer sent successfully!"
|
||||||
msgstr "تم إرسال العرض بنجاح!"
|
msgstr "تم إرسال العرض بنجاح!"
|
||||||
|
|
||||||
#: core/views.py:397
|
#: core/views.py:415
|
||||||
msgid "Error sending offer. Please check the form."
|
msgid "Error sending offer. Please check the form."
|
||||||
msgstr "خطأ في إرسال العرض. يرجى التحقق من النموذج."
|
msgstr "خطأ في إرسال العرض. يرجى التحقق من النموذج."
|
||||||
|
|
||||||
#: core/views.py:419
|
#: core/views.py:437
|
||||||
msgid "You are not authorized to accept this offer."
|
msgid "You are not authorized to accept this offer."
|
||||||
msgstr "أنت غير مخول لقبول هذا العرض."
|
msgstr "أنت غير مخول لقبول هذا العرض."
|
||||||
|
|
||||||
#: core/views.py:434
|
#: core/views.py:452
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid "Your offer for truck %(plate)s (%(origin)s to %(dest)s) has been accepted!"
|
||||||
"Your offer for truck %(plate)s (%(origin)s to %(dest)s) has been accepted!"
|
|
||||||
msgstr "تم قبول عرضك للشاحنة %(plate)s (%(origin)s إلى %(dest)s)!"
|
msgstr "تم قبول عرضك للشاحنة %(plate)s (%(origin)s إلى %(dest)s)!"
|
||||||
|
|
||||||
#: core/views.py:437
|
#: core/views.py:455
|
||||||
msgid "Offer accepted! Shipment is now in progress."
|
msgid "Offer accepted! Shipment is now in progress."
|
||||||
msgstr "تم قبول العرض! الشحنة قيد التنفيذ الآن."
|
msgstr "تم قبول العرض! الشحنة قيد التنفيذ الآن."
|
||||||
|
|
||||||
#: core/views.py:449
|
#: core/views.py:467
|
||||||
msgid "Offer rejected."
|
msgid "Offer rejected."
|
||||||
msgstr "تم رفض العرض."
|
msgstr "تم رفض العرض."
|
||||||
|
|
||||||
#: core/views.py:457
|
#: core/views.py:475
|
||||||
msgid "Privacy policy is coming soon."
|
msgid "Privacy policy is coming soon."
|
||||||
msgstr "سياسة الخصوصية ستتوفر قريباً."
|
msgstr "سياسة الخصوصية ستتوفر قريباً."
|
||||||
|
|
||||||
#: core/views.py:467
|
#: core/views.py:485
|
||||||
msgid "Terms of service are soon."
|
msgid "Terms of service are soon."
|
||||||
msgstr "شروط الخدمة ستتوفر قريباً."
|
msgstr "شروط الخدمة ستتوفر قريباً."
|
||||||
|
|
||||||
#: core/views.py:514
|
#: core/views.py:532
|
||||||
msgid "Online payment is currently disabled. Please contact support."
|
msgid "Online payment is currently disabled. Please contact support."
|
||||||
msgstr "الدفع عبر الإنترنت معطل حالياً. يرجى الاتصال بالدعم."
|
msgstr "الدفع عبر الإنترنت معطل حالياً. يرجى الاتصال بالدعم."
|
||||||
|
|
||||||
#: core/views.py:563
|
#: core/views.py:581
|
||||||
msgid "Failed to initiate payment. Please try again later."
|
msgid "Failed to initiate payment. Please try again later."
|
||||||
msgstr "فشل بدء الدفع. يرجى المحاولة مرة أخرى لاحقاً."
|
msgstr "فشل بدء الدفع. يرجى المحاولة مرة أخرى لاحقاً."
|
||||||
|
|
||||||
#: core/views.py:592
|
#: core/views.py:610
|
||||||
#, fuzzy, python-format
|
#, fuzzy, python-format
|
||||||
#| msgid ""
|
#| msgid "Your subscription for MASAR CARGO has been successfully renewed! Your new expiry date is %(date)s. Thank you for using our service."
|
||||||
#| "Your subscription for MASAR CARGO has been successfully renewed! Your new "
|
msgid "Your subscription for MASAR CARGO has been successfully renewed! Your new expiry date is %(date)s. You can view your receipt here: %(url)s"
|
||||||
#| "expiry date is %(date)s. Thank you for using our service."
|
msgstr "تم تجديد اشتراكك في مسار للشحن بنجاح! تاريخ انتهاء اشتراكك الجديد هو %(date)s. شكراً لاستخدامك خدمتنا."
|
||||||
msgid ""
|
|
||||||
"Your subscription for MASAR CARGO has been successfully renewed! Your new "
|
|
||||||
"expiry date is %(date)s. You can view your receipt here: %(url)s"
|
|
||||||
msgstr ""
|
|
||||||
"تم تجديد اشتراكك في مسار للشحن بنجاح! تاريخ انتهاء اشتراكك الجديد هو "
|
|
||||||
"%(date)s. شكراً لاستخدامك خدمتنا."
|
|
||||||
|
|
||||||
#: core/views.py:602
|
#: core/views.py:620
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Subscription Renewed - MASAR CARGO"
|
#| msgid "Subscription Renewed - MASAR CARGO"
|
||||||
msgid "Subscription Activated - MASAR CARGO"
|
msgid "Subscription Activated - MASAR CARGO"
|
||||||
msgstr "تم تجديد الاشتراك - مسار للشحن"
|
msgstr "تم تجديد الاشتراك - مسار للشحن"
|
||||||
|
|
||||||
#: core/views.py:632
|
#: core/views.py:650
|
||||||
msgid "Payment successful! Your subscription is now active."
|
msgid "Payment successful! Your subscription is now active."
|
||||||
msgstr "تم الدفع بنجاح! اشتراكك نشط الآن."
|
msgstr "تم الدفع بنجاح! اشتراكك نشط الآن."
|
||||||
|
|
||||||
#: core/views.py:638
|
#: core/views.py:656
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Payment was not successful. Status: %(status)s"
|
msgid "Payment was not successful. Status: %(status)s"
|
||||||
msgstr "لم يكن الدفع ناجحاً. الحالة: %(status)s"
|
msgstr "لم يكن الدفع ناجحاً. الحالة: %(status)s"
|
||||||
|
|
||||||
#: core/views.py:640
|
#: core/views.py:658
|
||||||
msgid "Failed to verify payment status."
|
msgid "Failed to verify payment status."
|
||||||
msgstr "فشل التحقق من حالة الدفع."
|
msgstr "فشل التحقق من حالة الدفع."
|
||||||
|
|
||||||
#: core/views.py:646
|
#: core/views.py:664
|
||||||
msgid "Payment was cancelled."
|
msgid "Payment was cancelled."
|
||||||
msgstr "تم إلغاء الدفع."
|
msgstr "تم إلغاء الدفع."
|
||||||
|
|
||||||
#: core/views.py:710
|
#: core/views.py:728
|
||||||
msgid "This is already a refund transaction."
|
msgid "This is already a refund transaction."
|
||||||
msgstr "هذا البريد الإلكتروني مستخدم بالفعل."
|
msgstr "هذا البريد الإلكتروني مستخدم بالفعل."
|
||||||
|
|
||||||
#: core/views.py:723
|
#: core/views.py:741
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Refund issued successfully! Receipt: %(receipt)s"
|
msgid "Refund issued successfully! Receipt: %(receipt)s"
|
||||||
msgstr "تم إصدار الاسترداد بنجاح! الإيصال: %(receipt)s"
|
msgstr "تم إصدار الاسترداد بنجاح! الإيصال: %(receipt)s"
|
||||||
|
|
||||||
#: core/views.py:736
|
#: core/views.py:754
|
||||||
msgid "Application settings updated successfully."
|
msgid "Application settings updated successfully."
|
||||||
msgstr "تم تحديث إعدادات التطبيق بنجاح."
|
msgstr "تم تحديث إعدادات التطبيق بنجاح."
|
||||||
|
|
||||||
#: core/views.py:749
|
#: core/views.py:767
|
||||||
msgid "Your message has been sent successfully! We will get back to you soon."
|
msgid "Your message has been sent successfully! We will get back to you soon."
|
||||||
msgstr "تم إرسال رسالتك بنجاح! سنقوم بالرد عليك قريباً."
|
msgstr "تم إرسال رسالتك بنجاح! سنقوم بالرد عليك قريباً."
|
||||||
|
|
||||||
#: core/views.py:752
|
#: core/views.py:770
|
||||||
msgid "There was an error in your form. Please check the fields below."
|
msgid "There was an error in your form. Please check the fields below."
|
||||||
msgstr "حدث خطأ أثناء تحديث شاحنتك. يرجى التحقق من النموذج."
|
msgstr "حدث خطأ أثناء تحديث شاحنتك. يرجى التحقق من النموذج."
|
||||||
|
|
||||||
@ -2128,12 +2088,8 @@ msgstr "حدث خطأ أثناء تحديث شاحنتك. يرجى التحقق
|
|||||||
#~ msgid "Registered Trucks"
|
#~ msgid "Registered Trucks"
|
||||||
#~ msgstr "الشاحنات المسجلة"
|
#~ msgstr "الشاحنات المسجلة"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid "To continue using our services, please renew your subscription. You can contact our support team for renewal details."
|
||||||
#~ "To continue using our services, please renew your subscription. You can "
|
#~ msgstr "لمواصلة استخدام خدماتنا، يرجى تجديد اشتراكك. يمكنك الاتصال بفريق الدعم لدينا للحصول على تفاصيل التجديد."
|
||||||
#~ "contact our support team for renewal details."
|
|
||||||
#~ msgstr ""
|
|
||||||
#~ "لمواصلة استخدام خدماتنا، يرجى تجديد اشتراكك. يمكنك الاتصال بفريق الدعم "
|
|
||||||
#~ "لدينا للحصول على تفاصيل التجديد."
|
|
||||||
|
|
||||||
#~ msgid "Contact for Renewal"
|
#~ msgid "Contact for Renewal"
|
||||||
#~ msgstr "الاتصال للتجديد"
|
#~ msgstr "الاتصال للتجديد"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user