From 049e1849e1329f7c080f07cdf1acf306146c6d3e Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Sat, 24 Jan 2026 09:11:49 +0000 Subject: [PATCH] add ed tetimonials --- core/__pycache__/admin.cpython-311.pyc | Bin 14459 -> 15330 bytes core/__pycache__/models.cpython-311.pyc | Bin 35733 -> 38445 bytes core/__pycache__/views.cpython-311.pyc | Bin 42166 -> 42339 bytes core/admin.py | 20 +- .../seed_testimonials.cpython-311.pyc | Bin 0 -> 2502 bytes core/migrations/0024_testimonial.py | 35 +++ .../0024_testimonial.cpython-311.pyc | Bin 0 -> 2193 bytes core/models.py | 39 +++ core/templates/core/index.html | 41 ++- core/views.py | 9 +- locale/ar/LC_MESSAGES/django.mo | Bin 32007 -> 32198 bytes locale/ar/LC_MESSAGES/django.po | 278 +++++++++++------- 12 files changed, 312 insertions(+), 110 deletions(-) create mode 100644 core/management/commands/__pycache__/seed_testimonials.cpython-311.pyc create mode 100644 core/migrations/0024_testimonial.py create mode 100644 core/migrations/__pycache__/0024_testimonial.cpython-311.pyc diff --git a/core/__pycache__/admin.cpython-311.pyc b/core/__pycache__/admin.cpython-311.pyc index f65d7c4b392f8387b3d5be7e8e681f4e34628cfa..a8a34de1be03198af5d4734da8b21d4dacb8fb76 100644 GIT binary patch delta 3721 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 Ihd?CSKdd;v4*&oF diff --git a/core/__pycache__/models.cpython-311.pyc b/core/__pycache__/models.cpython-311.pyc index 77440cdf12fc45bdfcc238fc28417de3f3f7991d..2d0308750819e9cb20be5e22605a96a0f7315ae2 100644 GIT binary patch delta 4356 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 F_%Anyr;z{v delta 2909 zcmZve4Qv$06~{ey_WJw{i4DHg*k^2G4zLYzK%_u0jj>~bKZuRZmwjIDmbY~?%bQb{%-XHy$IBSoPQT~5bfzxFI+mO3%rJ!;z7*)EbMv2gdZ!TW zv|82F>U1p};GIw{19kzsfnGotuw5}8jcME*;xU?=ldm*D(_j_mzsOhv-RX4G756V$ zGaY>5*R0EG{>B!zAqbOUfeB`_-U)|v#LLBi*JUU7MD>WRa5WN$_VF!Z&{hnS>yenp>CmDYm4S=hqwW#21aOElbfDg z_bp~v@pX-i-K7tnxye4K$@R_b9z9t93A5?rnv#+Gu&x6B3H%56H}Egu0gw=|vjSRJ z@7MT{FCg-Q{{srF&dyd1Lk~u@fKQ&$BX@ll*7pDpFqk0(RQgEUUB*B2K(6wkKH zAMNYYA|l^q8psVypOCy~3d|Mji~5y}DOA<)K;$H@bc3ubX zq0y%Il~PP9rPk)Fj#5m@x2jvNIkQh-6H0418dM|vHWjr!orm}&vYr($R{f@DW1p&r z`Qy~r_Ts#3;R9ts{=7~;2R`Rg#@1Wu)k3Tn|3($fO)R6O?Q7Tt3bu1)C2X$IU)wt! z50mJbj@>Mu&UOqaRT!_b3b(!GU{%(KJKlDP9fUh8*hxCsSyhh2v(rLaIOa38L6a|n zc`gQ1nt4Fu+#zIffOk5hqIPz7tzj*6s>>8Fo$LD*Yp1{X*2#-JKp*$G=tTEV^4j5H z2jBy`fNQi}_0(5D{4@N$0BQDum0)c4mhFVL8}L9;49I$fjq`fzih7wj>ZgM{?(cA} zeh%Xez+BjF5>gwlf%rTIZ$sKFq(mm7Esoi`S1iK_yUW$|9O|X+&#oni*Fq^-} zDH5!9G%~u|nNP>k>d6tRVlR;TQXvb|mQY-|fJs}a`)DqG5-MaJ^e{9iQbatnope+$ zks%snopPj`*7q!8s<0WLIg4Fc=`*>9(zuZB^=xDYsf+WerFYZ1M+FlJ%NJt7dx2|s z+zn|qw6fAy(4TrMz5Ae^jVOnq2V=#64C@|@?XfDu%?=l2FXJ9M9NFtOg^5T%*~E^) zd=vx8LYotv&n{DWw45cZ=4dKgHGp}Fof=XN)igQZ51+C$er>js%Ud@H{bf25D`msh zRIJd!u8IrW#QLeo`1S~1W@iO8(--AFKi5#R`mq4%Yyetij~*7IcB(e$564BOVzIUo z4BE3};B{&-KG}KOKYMGdw$Zk=GQ13jgqDjXMejN5A)G;)iIV$va zW}EmXFjQI+TEt$rT#3^x0~O;lSv2@Oz|DSUxJ61fi1uhXmeD< zuj{^eOnkHWRYT)Pq53(1v-2w43;7qoWdYlT_Tdvg?eyty63F~Ls@b0_n)ufJS*+NA z@i&1o0g)|d5DlCTj|1+RYogE_2l_XCtrf`S%T^#KJA{Q!+!zC1tXyV diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 18141def71259f0798581f4e16066ded131a81fb..e6e8455741400596e17d3b2c24e7e668f214c0c2 100644 GIT binary patch delta 7527 zcmc&&dvH|OdEdLc+Lh1~RsuU+7Y`3S*L6G=C_ivIr%?Is=~>^&43&CH z6^m+7Cj?KwR~8Rdd#dTvs%8dfhvs#4P@|`j8IyynJgZ2V$-yR16aT;3v)XFWn)a@NDfnq?UsNoXm+8;^d79NJM=YKe zwUBU~T142Y789;lrxI?^GSq2DEH9Gq%fnqPo{dDE4(g^cWp#JO++mn zN8Kz}S_{&)5U*TDtp&dO#z}M#uVNhaL88taN8Lu$%5l`~>MSyBhgwCrQ@(30SnnaZ z>Tz5^&z!RopVI-JWSl0aopXq)>e?_)t0IA;!hD?w_?Z-ZKsqR8L=PAHZnUjJr)Q>!U10}@t^iJ ziuH&hFM4aG>iC8-L6&7y%S( z(hR529_ghnViD0q9bhqm;q*tsF>N5Gr_oobY)EgIu##Hk^rych52df(`ZHI_O;_dn zu9_RJnrrrVT{YKT%Wk@sz3*Ck!?pJN{nuUXH(l+AH~gZs>QdIXb1vn)Us`{owElW& z!_Cr$Tdv|;MU}S-EAD2bETg88<%>qWx)zHC z!ri*q36i}_({!-|f*ta&^QwwhfSN9}?tmWCgwW}89{uT>Ro>|=OiZ4*$*MHUmB)$_ zhh1HEtphzFBw7iK^hhk~^+#0A)D$|ey<#(Uhf0PspnH3DP3;gPhKjAkaNAM{rqP>; zCAP@*g-`5+j)pVZE20ryb59f9V08hUfKEUe0E!4dKn3Ij;486&z_15>b^cr zxaI7k;&`fyA&(kt+jM0`y#zDQ3rfy-i-5ak2$-x${jg%trSSFBs|FS`0on=QCpg8%(WPe|XTa22{~4PnJ&W z>;X5KL3{DZ);Ue<*s#Yzg#`lEiAMl}K*wOC%`vk4y?QJX@&+T_fv`AE>{E&Cvc1Ys z9-S^Pw@rTn-Qn;nig*fb*1wlpYek=YcV~z?%Kuq&NnV zv6&$bfri8oaR8LzSc}Kd+Ii1F8%{XZOP))*V{F*P5$bIQd9+i+lNc26-NZjsK1RMs zv{rqR=HOvk9Q8=Y15|9#@Y(UpP5xbKjkLAvHmuodE@lqOvtT_3;0)%-qy)y6%uypPCVKt*bQ^UbWqENK zIr&Val{i%5UMKF?GJo-JDIW(<6eTL^bF9-j2YEIqaz!!H17SVp3;VUT;uYE6(5ei` zvkj}`uM)R|iWh7$GBh<1^M+9VuF zjC9k4fLhHH@$9;t20}M~nZ9eFaD7n+ju>36uaE_4~ z=?~M=iS|V3KQ0_;q(56QWI{G=S0d71uHqC$uH7Rlj?J5Fy;qNFVRcBGw@90Mg%$+L#$n4xSuVMC)q$Z>{mH7c z)`=~|7)pC;A#KjAdHWA0e+haa=SC&Q8GMdSc*8-}w3{4<+%O!}hzQ**(xVqZy519r zhO}^O*p^|}(k2@74l~71Xpklt<5J}J*UgeE7U#{+dE z*b8_;a_WuptNd--3FVAD*ScSkO0I!lRw0;2K zy7l+eGIG>_PG;|?3LcQ*%|&t6xEeyqsK1R*t_1Q1rjv@w#g=0OhT8@5i`lzs?F zURzkcR2%qb7KjXXv=?H(AZ91R-%9Z~Z23Il*wR83Jkj29L79T;;I@jSPt9c~ZQIJ? zOvDc5&NY3-=CiTM$fKlCh7QnyQWu=cNk1m*3-5C_UodD|W|j*hb2vq@#j;(Qbbt(m z`y#!%RHpRGSjf!kv=Mwr$A7AMnY1)v+deY`MbFNudK=mxy`eHiuh5_ROOib zQ_t2+WQ6!vz(>-yYk8a#2+Es5VApfZxE^vUaoJ`kAkmB*I!daDv;50&6h zvGU<2#eonCGIjUt?Mb6jtl&i33qja8Tnq1l0DXq*$I#{?w7r_&ocMF%UXz*L{p8)l zzMFFAo=_$Se;4`&%uDN5Z3#>0T!054zl_=_(igWX#?mO{T46_*kmfL9_{&{|8`N2{Fj{>0Va9ClJ zVW$ER9^)fplF-6hzgO?=)cqn5jRhiMVW+|Wi~e-PlQueM&XGgUO}^ojPxovlP3XjQ zHPCLaVlUb;5!dH6Xssg%{L)5qIX5-#+_?Rk0^2!K0!+O{Furc+fVt< z3+uYP78-EaXj*Yn)`fRC9>aK={8qSmS274Gu73zJoX06^wGE7Wgu}1}=m1RmSwu15 zj;xE+JopqfjVWgJ9=Y{VcG212l?G)kmC$5%R5i)#@2jHQ5-{uspjL+8V3Xr!!}w%8TjBO zgfi*28rHeBh7ubwOaA=$LgjT?_{~-_!2iwiIE*&3W04pcDYQN<+^hYbgL!fx{gQ?@ zYT=0nJ$;_?0*KZl%rLE&uY|=UHMJ22Z233F-3c`Kl=b3evr4uP@vknTywY5$L3+ z?*BMn;+RD&I(Oz>nCz&6RI&W^xqP|ug0sMl&-DHtUrfi-0`^0rh`G@Vj_TR?%o`a} zXmdljJz%diGDpbaF4{ORUMP3X9Zm0v#iC-KeD6XF zC4k?{x1)6&@FZXW@H*g4z>ffL0dP0x>o8x__%b7K*cUi>o2Tcm(ZV5+4{PSJg10^1 zn0Q-hQplrR^~^%VYZA$BrVu=T#UeMRE)8!)<>k`q6HA-%#viPoL1d0=X{%wcN4ioy@6ZaAS;}YlCOx+u0d*udk0=#tpd;8GqJMjKZ6= zV=ICym|h%R8EXnQ@wgat1H zUZO6SkGZB-teC`8)s>`^Cf{;hRSKlxejxpy?l#3)t;pKIQd#AlCLi|bieD~0T_*SY z3+35`cpVfAt4xKnk1#dW{SEXg>`;W+M4^NzdZpL@F%mn`-*lpZUJB!sp^kE_~n z!+;r!2J&UdS1(6=m2=&eS7@If)C^Ospe4jg0?Qjo#7%A3G~Dzgf8tv+rI`kE=)ZBl zEY9C3zmQ*5c+2Z9^4xL|oM``OO8S}n#d&p`X^PlFVEK|^!#I)xi1#P@f?kzs7)CQl6~lOaPhO+DUkhlL?vkHAQjuO)*5}rC z;Y~~u9R!vyVJ1V7gsRz+Lgr03T(;~G$@1z(XwcBqZZW2)*h!3lD~Dh!-AOFbCA}37 zry!%{O%94=!q5WMLIX<$cmX|t8UO?lVL&gS3;1nV}hs7U|3`a`D=sst1fk$*qu2@kK-EzOz>9auR~ zX6p>^WOcTD{hG;Y2yACt9unI!vb3<5<FXAIamdl!BoRjh5g9Nwn@k8JNZloWacZzJ0_5}VV&%?`XlD}&REA4X6 zlD_gU(G)AMW#jhEJIFMb=!x9FO}??DL%A#~m-YvmFrffGPKb~lw6-u@BT9(NVJ=q7 zZ!WD@?v!sVol^k|S$UDfVBF+f2^89nP09SmI?pw{b6GBLTwM4xhF`;MB`Ma)c;k#B zj!@+hGjy4*pXU|5nN;CZQ8u8ZMU7I zZ2rf=x&+AjAjbu+Y&2SVl);hv3>UpXvBzm-6_znEG*-HvBkm{i^;I8Jx(5?7_Q1kQ<8S)8mF2jz_dj;ycp6c8doJ9cz}2S4w4k?V{9o>9L!t(_Z>(L zhGM91&(d?CSor9VCJV|#G?e=;;fu~*NGI1$?3x0`3CqbLsk3S~So+FkHIQYMgR`{xA^U>wVzI1;C9Ne(3F57&x3au*zy zQK5kPkw^?_AzO|N8k&E+~ zh!X>-z!)@=T3j8K=Eo$>a)q+_0UDfeygRj27PTH5tz2Yp{M2yk+rxD_3$EH{R z$1IqIw-9{e0^>0}PKmaVF(A)Bi)>}SSOv5ZLBzy+>0UnVc;)euQp{g6C_))6Tx?HfUBE=GO zf6co2CZ==hzk(4PbM*W$7NYji4C-61UTQoqVZWA4)`rG_^$FErW`MV^ler+&4Y% zeR@7GNA~^MXpK8~&-a|lqjK7TWwVALi?5}%wXLhWZKLJiyd%`LtFwJq+wR>I8{q@H z{fG_mbHFd;O9z@$97w?B}aDFYycCXS*G}X00N}Q6pYbsBDBL=#NO_A#7)b;3LT~0T6$U(KYM*Y zUhJ3W!d3NLMWc9Lm%EVo1Z2QV^0jb`eAUwPmQ#Err$v@ke+=Hg69hbB2FBwT?uk@Y z{|6B#$R$3*G{7sgT)liT(oRdhkYACWt^S=-JOpkFU<05{y8G%=9EU93UJ&mgphnHk zX4W5r%C^dpVJ;X400#kw0QUky0Hmil47iUV)9!LMi#Z&NCWJ0cwaSdaULzv(q^T$3 zA#FIR3r!V&Al94dpY~PZWc=IyUv+k1ZNBh;74X`JCKifWVeoqaCjihO<5VbWxhehQ zS?kGKeP*6haX9`}HtQ@^%k|kA&m;4UcV6)HSQv6tr_V!upvS`R1_6-cRuN9q87T)vG~l-z8jG0q?>o{=E)Qr}4DT9#8r5WfoJO{1 zP7vq!>DQA@PS0I5jJTxoXj!_(xaKN_t>2$b5KyQ^g^wCyqkMDdJ>|N5?#KpzR{c)t z9ofJ3W;da;n8ZbB3q}h8 zi{!cC%HnFQ!K!f*FC0V$ory?Cc^)si^A-6tMmx|!sF=go@m^D0oNOcIDPK9k%j8+o7f0N#! znJ|q07!mZx2?EpXT7v3j&oeL{NdG3<$`?XY}3Y^ zNZ`ZL=*hE{CQmqdmh|ayy3*<4XlQ`WCkb&>Y@|6)%i57O#Aol7ouV-DQ9gR;tt2aa$Q*?`k>HY~Lib4*it?c8$ZyYj7bTS%ul=jYP7fc#Nl zCQQ;>XhT|jQ2TGr^4Z+_XIk2F8G|wVfHr!yz)E5(!MJvE^?Z5Wb|QUSe*gR_l70P! z&&J=-R>-!C%RQJNmdgh&Rw^EO`C?1%m5tkO)}X9nPFZJ1{}MKV+O|zmR_xO^B(Q+2}_)Iy?|nPL~c|2&!9_(1-}`FeTbkA5;*&j#fOO0n$#Y{q@|`_g#) zpnZ*-W|ti@o~adQB6%-%jP8(#zDEVlb0cA&^PsYCT(Ny}xoe(jDzpBXiQ}d_M0!nug)!9jOiKrfN3U0gS>RLu51Z5<8tc7H633V=F8WvR-|r%flvMR zNAW!vjQ}13pgoA^051Z51o$xk_jA4@^UY1Xk4K#P1}tc=h}gG-2qwPa5HK&FRzC5qqfc3bQLR~+#G-!=', obj.image.url) + return "-" + image_preview.short_description = _("Image Preview") \ No newline at end of file diff --git a/core/management/commands/__pycache__/seed_testimonials.cpython-311.pyc b/core/management/commands/__pycache__/seed_testimonials.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..307d1b81ad898807939b3017ea1c01bf7452acf2 GIT binary patch literal 2502 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 HdUpQ +{% if testimonials %} + +
+
+
+

{% trans "What Our Customers Say" %}

+

{% trans "Real stories from shippers and truck owners using MASAR." %}

+
+
+ {% for testimonial in testimonials %} +
+
+
+ {% for i in "12345" %} + + {% endfor %} +
+

"{{ testimonial.display_content }}"

+
+ {% if testimonial.image %} + {{ testimonial.display_name }} + {% else %} +
+ {{ testimonial.display_name|slice:":1" }} +
+ {% endif %} +
+
{{ testimonial.display_name }}
+ {{ testimonial.display_role }} +
+
+
+
+ {% endfor %} +
+
+
+{% endif %} +
@@ -234,4 +273,4 @@
-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/core/views.py b/core/views.py index fd34b2f..32e0082 100644 --- a/core/views.py +++ b/core/views.py @@ -5,7 +5,10 @@ from django.contrib.auth.decorators import login_required from django.contrib.auth import login, authenticate, logout from django.utils import timezone from django.urls import reverse -from .models import Profile, Truck, Shipment, Bid, Message, OTPCode, Country, City, AppSetting, Banner, HomeSection, Transaction, ContactMessage +from .models import ( + Profile, Truck, Shipment, Bid, Message, OTPCode, Country, City, + AppSetting, Banner, HomeSection, Transaction, ContactMessage, Testimonial +) from .forms import ( TruckForm, ShipmentForm, BidForm, UserRegistrationForm, OTPVerifyForm, ShipperOfferForm, RenewSubscriptionForm, AppSettingForm, @@ -32,10 +35,12 @@ def home(request): """Render the landing screen for MASAR CARGO.""" banners = Banner.objects.filter(is_active=True) home_sections = HomeSection.objects.filter(is_active=True).order_by('order') + testimonials = Testimonial.objects.filter(is_active=True).order_by('order') context = { "deployment_timestamp": timezone.now().timestamp(), "banners": banners, "home_sections": home_sections, + "testimonials": testimonials, } return render(request, "core/index.html", context) @@ -755,4 +760,4 @@ def contact(request): return render(request, 'core/contact.html', { 'form': form, 'app_settings': app_settings - }) + }) \ No newline at end of file diff --git a/locale/ar/LC_MESSAGES/django.mo b/locale/ar/LC_MESSAGES/django.mo index 075d78e2584b029d79648b1503a2baa756df499a..2bb717eb450b1c3b68092fea1cc6c93ca8f6d3c7 100644 GIT binary patch delta 8881 zcmZ|U3tX2~p2zWnC<+KFB8V6Kd*P;_prGLmLA)EJnAcLg0HRz}6o=IQYTj}iG}Csd z%+YL2bJRqqY-7x{yzgjcg0|L_+PH4b7`C}uI-l?VIW+COcAr;2-sg9o^PK0L^PK1T z*UajBULW1}a$gOqzsYc{^)jXn7Bn`dZ9QY&YpGge;@cb30~62(bFdK>pqebO_2t-* ze3Q*LV^i|&=!*w201uNh;bBaPV73VP!?;#^Iz8#&Bhhcs4j@S&NQ8(y~ z&2b27WhUABX{Z|(qpn+M^TntYSb>?i0e!f?`I3Ted{Y&87qw&$Q6u&3+XQLnaTN%s77>l{>nOCnf*-S~Mbf^dsSs4L#G|N{JdJ(u3Z`Kw8?FmZbW_kSU4^>fEz}GTp>Fh{%`c#C z_&Mrzyn(6MD#jVW6R7+Zbm3Lh^$$_~1#lB>-Z0e6yPzMs`%}YwKyN>Mwn9qDKySQ)T9MDKH&Ol7Vm3ZN-ET@f_s}!W zqo58KAy2`qN6qv-)HD7BU3kORH)QylX*<+!Mo-jAWT94YJZd7jr~wwB2EM?aUyiZl z>l0Z2CKRfu(6c>@!|(?7!}#t_hefCk7o(PXIqJG+QO~>r1MziKy91~jzl)mbQG5P0 zHYLA|iFm6!>#v!(c&B(grWfjhT+|8_p*mcJn!$6Z0aV!f-=c2xJJgczMHe2zNW5&% zdvQ0dj2||~me>Mg-4ryFG}~Y_Y9`qjj>V`Om)r9%qh`F*)*nQD(LTT+{0udLzoG{8 z0}ep1Bxi-wPy?8RnuxoY0*}>{qGqxKHGqAnhKEs0b^-N>uAy%Dlg&eUr_?SU+haPa z<6KmKg{Xm)qE>V%s{L<}FRk0`rl8Gp9JSPEP)qeOYBzs@8o)IS#_v%-GJd_BC5}UF zrZK3MT87%~<*0#Hpl(=+&G0zt6JO)WdH#1O=mH;JQr)N-hGGZI#onkT-HN(!Cu*sW zp*p;Ty1`BKtc=Y=lbx05f-N}T9ksGUZT&cGsP}&|1$B^%n&DHZj@Q}xt*8|_Xg!J= z(0SAzsX@*BE@~nT_8pi&}x97=n4IrG6Uq2sdI|+>Pqz6l!4AsJHH`eyqO=wNz-yyqTVE z6pU@qh3VK2!*Dqc!BnuX!nxQDH=tJF0~~;7ko{)@(u^65LvT2jV;0t64~!e=yw+2Z{@o^r z!a^@&X5mm8e3|YnS(ic1vr0q_AO-dM6rf(eMW`h#$JV$BwNh`P3y-26*)^L#K<$lo zj7}zD6!$kHD7dI7K`s48)HB

R=aYPaH#Cc+S?}KrOj8gk~O&x_&&yVGe4uy?`3{ ztH>gl-=nVk8-{a#6Uel6!#HbC>_nb|YB&S6o0r@3FQEqV8tPFULf!ZjYA;;k$QQMgJ$d*Ey9512sSkO!!S$*38mqi&pK>+`Mit#0hd`L(F_ zdoUWS?D-q0M|s=k;UidojWlM2GsA(X8Bel#8ERn9V|(0+QFs(H@fP}FpOMZA3`VU$ zmNn112wPFV4)t2^vK}AF`fEnlsL(*}S%V*SI_`>%sZX{JMm>rw)OE8_k6;<9;|-|Y zz8B-rJHz?pCZGmB3N?^2?0_5Hw(vG;0GClSy<_tbrm2SUI1RH#Ims|xqCJR&15m^HQInaxCi;i9OTdQ*l@J7jiIw{usA4x$Myok+k4>rN~Q5~K`4e&0$ zhJlYeBj1lP>E`3kg?A7{ZUJuf!dV$I0b)=d+{4QqW6FEIOp}7!n(EK#7xu$ zPh%=>L%tp68fs-aPjHqn0X4I}s7E&fHGv$Ysac5X?;L6m-9Wu40(Y={1noNs;?Od(%|Yzy-d>MaR*!ntvKYdpF& zk`xLWKn7}rrKpbGs9&)P)BxVW2>cK=(_5(Pe?nc~_(|uwL^NLXhkBHmlbuaH1+|%% z;Q-t|nf32R;W`zXL5nHQzn3RrSMph?^A*@1PhtQz%60}2g36<@Irg*;N3Gmsii&^k4Ei{nKm!BuEajn zzl^Q%686Jd)BqFQ)A^4M3d2wxEO`#`+fE?#nE*;h2G1N?Fp>DVoV{sEk;0LHp^%vAkYVj%b z&vkCN3fq&viCWRK$Y;c&4-D zLr@)Np!%7B(O8J;??p_;-KcgqP%C{K!}R_?pr8v|<~zGH7PY%GQ8${3Nw^Uc@Dyr= zenhnkndSUfb2PRjAA_B+5Y>JIs{Jw4fUes74tC)FCU7>p(u>BZk&Q2KzHB+Dj@Dr~ z9_C1Ob;H($&J7Y#c?N1idDs{ip%1P>7p_A+`+exvvpYjUBfN&%R1Yu_V`{D?J96To+@Vj2kOKeWB7)cBlswW z&vo(w)cKRh=h_6!bMhIeNAd=0KvyveO^I`(XlzHCjygXB8{sNU#&xKbIa$K`2U7Ty z3XSkOYDK)}JBC>kP&XKc-Ec0(;8vTT#yIl(sOw`EI4hHC9fw`1FSNd5>rcBW#B$=# zxC8@BosmC>yqRV<>X|lM=sb$fsHIQBNX*1&EX7dVf_m@YMh*C5)XeW;8}$B_vlm<# zO74!L(2PO~YO{^P7FcS1&Ys_f>fiwC8J@@AV7)S9{smt~br{7*K-Z_B3m-?-m!bw< zZu2*s+-=^c;Kzx}n26U=OVw(T^T8N~&B-^S_Q)IfBsN$~=Qtg;XAU9z&opEiwP#AP z9=?lOfhzPu9jl2JBt5-&{tZ1<{2L4vLn&_|T2ro%&)RdTR$g8i2bAKie)4!-yu-jUa+4ukxH@{r`&!9gV5Dg=26Bj>BIO z*Czu81Iq@mt| z0ZKSF5bt3==Q{Zxg=6O+rTsagb=j`F=#*p*JOp-2H*ASw!MP z=v(k7TgO+|Y$iGq|4DpC{7BRt185&?lRlJ7hFGAM46udA1M5d zs5}0Z!bF1ai|6p7!>g3y@HJa^1osicsEZ)CF2WU1?N`p@@8av}8qL}hZ)RAF3*z2Sw8~;qKC)yDCoc|DiBJ|PG(VsX(WD)}j zZ`y3d6GU%4%c&IJC;s^u!nqk##{A+$9OXRfyAnDY;q%zelkt%u|En#pp}dFkc_N*1 zs;%#1EkpNF{^)zHV;PY~Lml;qBtrkcaFi;3ar~b0=Qhv9#k6Tk*u^x^(Q_p5_b@Svc!7u~9@YCl*EXC*MHO+9&@qepXNe%9oo%xm(>XU2pTxJ+ zkRy`lM%*AS5~Ddk-d^KRuA>9_bxgv$I0gOn`~RNKay)4-Xl~t4T?Mg%m`D6yM+4hd z=Z+B#Y@->}hf#jq=C9*eVu9MHx=M5A<>%&4pE^Ik@}g^6{fL1JO6C_A=FD@AE-uJ% zMW>FAG5=IGC?lq_XT*1b{#;X(=Za2KeqnJ@{?r09<{#yf%8!#L z_yoB!7tC|jbyecZnp##FIiRdw<@af+zK^V_ey3(_&9ds9uIe2%E2mxwH7hCatKQ+FtK~Io7=-6qwb)*>s(MFdcG)QJzXK)^E3E(k delta 8656 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 diff --git a/locale/ar/LC_MESSAGES/django.po b/locale/ar/LC_MESSAGES/django.po index 9d94438..395ed80 100644 --- a/locale/ar/LC_MESSAGES/django.po +++ b/locale/ar/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-24 08:46+0000\n" +"POT-Creation-Date: 2026-01-24 09:10+0000\n" "PO-Revision-Date: 2026-01-23 10:45+0000\n" "Last-Translator: Gemini\n" "Language-Team: Arabic\n" @@ -21,123 +21,131 @@ msgstr "الإنجليزية" msgid "Arabic" msgstr "العربية" -#: core/admin.py:37 +#: core/admin.py:41 msgid "No Plan" msgstr "بدون خطة" -#: core/admin.py:40 +#: core/admin.py:44 msgid "Expired" msgstr "منتهي" -#: core/admin.py:47 +#: core/admin.py:51 #, fuzzy #| msgid "Expired" msgid "No Expiry" msgstr "منتهي" -#: core/admin.py:51 +#: core/admin.py:55 msgid "Expiring soon" msgstr "تنتهي قريبا" -#: core/admin.py:51 +#: core/admin.py:55 msgid "days" msgstr "أيام" -#: core/admin.py:53 core/templates/core/shipper_dashboard.html:52 +#: core/admin.py:57 core/templates/core/shipper_dashboard.html:52 #: core/templates/core/truck_owner_dashboard.html:48 msgid "Active" msgstr "نشط" -#: core/admin.py:55 core/admin.py:170 +#: core/admin.py:59 core/admin.py:174 msgid "Subscription Status" msgstr "حالة الاشتراك" -#: core/admin.py:68 +#: core/admin.py:72 #, fuzzy #| msgid "Truck Picture" msgid "Truck Picture Preview" msgstr "صورة الشاحنة" -#: core/admin.py:78 +#: core/admin.py:82 msgid "View PDF Document" msgstr "عرض مستند PDF" -#: core/admin.py:79 +#: core/admin.py:83 #, fuzzy #| msgid "View Details" msgid "View File" msgstr "عرض التفاصيل" -#: core/admin.py:83 +#: core/admin.py:87 #, fuzzy #| msgid "Registration (Front Face)" msgid "Registration Front Preview" msgstr "واجهة استمارة السيارة" -#: core/admin.py:87 +#: core/admin.py:91 #, fuzzy #| msgid "Registration (Back Face)" msgid "Registration Back Preview" msgstr "خلفية استمارة السيارة" -#: core/admin.py:91 +#: core/admin.py:95 #, fuzzy #| msgid "Driver License (Front Face)" msgid "Driver License Front Preview" msgstr "واجهة رخصة القيادة" -#: core/admin.py:95 +#: core/admin.py:99 #, fuzzy #| msgid "Driver License (Back Face)" msgid "Driver License Back Preview" msgstr "خلفية رخصة القيادة" -#: core/admin.py:99 +#: core/admin.py:103 #, fuzzy #| msgid "Details" msgid "Details (EN)" msgstr "التفاصيل" -#: core/admin.py:100 +#: core/admin.py:104 #, fuzzy #| msgid "Details" msgid "Details (AR)" msgstr "التفاصيل" -#: core/admin.py:101 +#: core/admin.py:105 #, fuzzy #| msgid "Secure Documentation" msgid "Pictures & Documents" msgstr "توثيق آمن" -#: core/admin.py:151 +#: core/admin.py:155 msgid "Test message sent successfully!" msgstr "تم نشر الشحنة بنجاح!" -#: core/admin.py:153 +#: core/admin.py:157 msgid "Failed to send test message. Check your API credentials and logs." -msgstr "فشل إرسال رسالة الاختبار. تحقق من بيانات اعتماد واجهة برمجة التطبيقات والسجلات." +msgstr "" +"فشل إرسال رسالة الاختبار. تحقق من بيانات اعتماد واجهة برمجة التطبيقات " +"والسجلات." -#: core/admin.py:158 +#: core/admin.py:162 msgid "Send Test WhatsApp Message" msgstr "إرسال رسالة واتساب تجريبية" -#: core/admin.py:168 core/templates/core/shipment_detail.html:134 +#: core/admin.py:172 core/templates/core/shipment_detail.html:134 msgid "Contact Information" msgstr "معلومات الاتصال" -#: core/admin.py:169 +#: core/admin.py:173 msgid "Legal" msgstr "قانوني" -#: core/admin.py:171 +#: core/admin.py:175 msgid "Shipper Subscription Fees" msgstr "رسوم اشتراك الشاحن" -#: core/admin.py:172 +#: core/admin.py:176 msgid "Truck Owner Subscription Fees" msgstr "رسوم اشتراك صاحب الشاحنة" +#: core/admin.py:218 +#, fuzzy +#| msgid "No image provided" +msgid "Image Preview" +msgstr "لم يتم توفير صورة" + #: core/forms.py:9 msgid "Confirm Email" msgstr "تأكيد البريد الإلكتروني" @@ -224,7 +232,6 @@ msgid "Comments" msgstr "تعليقات" #: core/forms.py:197 core/templates/core/contact.html:62 -#| msgid "Country Name" msgid "Your Name" msgstr "اسم الدولة" @@ -235,7 +242,6 @@ msgid "Your Email" msgstr "تأكيد البريد الإلكتروني" #: core/forms.py:199 core/models.py:482 core/templates/core/contact.html:76 -#| msgid "Reject" msgid "Subject" msgstr "رفض" @@ -343,15 +349,15 @@ msgstr "اللون (بالإنجليزية)" msgid "Truck Type (AR)" msgstr "نوع الشاحنة" -#: core/models.py:124 +#: core/models.py:124 core/templates/core/truck_register.html:89 msgid "Model (AR)" msgstr "الموديل" -#: core/models.py:125 +#: core/models.py:125 core/templates/core/truck_register.html:94 msgid "Load Capacity (AR)" msgstr "الحمولة" -#: core/models.py:126 +#: core/models.py:126 core/templates/core/truck_register.html:99 msgid "Color (AR)" msgstr "اللون" @@ -449,7 +455,7 @@ msgstr "رمز Wablas API" msgid "Wablas Secret Key" msgstr "مفتاح Wablas السري" -#: core/models.py:296 core/models.py:341 core/models.py:379 +#: core/models.py:296 core/models.py:341 core/models.py:379 core/models.py:504 msgid "Is Active" msgstr "نشط" @@ -490,12 +496,12 @@ msgid "Contact Address" msgstr "عنوان التواصل" #: core/models.py:314 core/templates/base.html:161 -#: core/templates/registration/register.html:67 core/views.py:461 +#: core/templates/registration/register.html:67 core/views.py:466 msgid "Terms of Service" msgstr "شروط الخدمة" #: core/models.py:315 core/templates/base.html:160 -#: core/templates/registration/register.html:69 core/views.py:451 +#: core/templates/registration/register.html:69 core/views.py:456 msgid "Privacy Policy" msgstr "سياسة الخصوصية" @@ -559,7 +565,7 @@ msgstr "رابط" msgid "Internal or external URL" msgstr "رابط داخلي أو خارجي" -#: core/models.py:342 core/models.py:378 +#: core/models.py:342 core/models.py:378 core/models.py:505 msgid "Order" msgstr "الترتيب" @@ -691,6 +697,56 @@ msgstr "عنوان التواصل" msgid "Contact Messages" msgstr "عنوان التواصل" +#: core/models.py:496 +#, fuzzy +#| msgid "Name (EN)" +msgid "Customer Name (EN)" +msgstr "الموديل (بالإنجليزية)" + +#: core/models.py:497 +#, fuzzy +#| msgid "Name (AR)" +msgid "Customer Name (AR)" +msgstr "الموديل" + +#: core/models.py:498 +msgid "Customer Role (EN)" +msgstr "وظيفة العميل (EN)" + +#: core/models.py:499 +msgid "Customer Role (AR)" +msgstr "وظيفة العميل (AR)" + +#: core/models.py:500 +#, fuzzy +#| msgid "Details" +msgid "Testimony (EN)" +msgstr "التفاصيل" + +#: core/models.py:501 +#, fuzzy +#| msgid "Details" +msgid "Testimony (AR)" +msgstr "التفاصيل" + +#: core/models.py:502 +msgid "Rating (1-5)" +msgstr "التقييم (1-5)" + +#: core/models.py:503 +#, fuzzy +#| msgid "Banner Image" +msgid "Customer Image" +msgstr "صورة البانر" + +#: core/models.py:509 +msgid "Testimonial" +msgstr "شهادة عميل" + +#: core/models.py:510 +msgid "Testimonials" +msgstr "شهادات العملاء" + #: core/templates/admin/core/whatsapp_test.html:6 core/templates/base.html:57 #: core/templates/core/admin_dashboard.html:11 #: core/templates/core/article_detail.html:11 @@ -1121,24 +1177,23 @@ msgstr "اتصل بنا" msgid "" "Have questions about our services or need assistance? Fill out the form and " "our team will get back to you shortly." -msgstr "لديك أسئلة حول خدماتنا أو تحتاج إلى مساعدة؟ املأ النموذج وسيقوم فريقنا بالرد عليك قريباً." +msgstr "" +"لديك أسئلة حول خدماتنا أو تحتاج إلى مساعدة؟ املأ النموذج وسيقوم فريقنا بالرد " +"عليك قريباً." #: core/templates/core/contact.html:24 msgid "Phone" msgstr "الهاتف" #: core/templates/core/contact.html:48 -#| msgid "Contact Address" msgid "Address" msgstr "عنوان التواصل" #: core/templates/core/contact.html:57 -#| msgid "Send Message" msgid "Send us a Message" msgstr "إرسال الرسالة" #: core/templates/core/contact.html:69 -#| msgid "Contact Address" msgid "Email Address" msgstr "عنوان التواصل" @@ -1273,15 +1328,25 @@ msgstr "توثيق آمن" msgid "Digital verification of truck registration and driver licenses." msgstr "التحقق الرقمي من تسجيل الشاحنات ورخص القيادة." -#: core/templates/core/index.html:230 +#: core/templates/core/index.html:231 +msgid "What Our Customers Say" +msgstr "ماذا يقول عملاؤنا" + +#: core/templates/core/index.html:232 +#, fuzzy +#| msgid "Join thousands of shippers and drivers on MASAR today." +msgid "Real stories from shippers and truck owners using MASAR." +msgstr "انضم إلى آلاف الشاحنين والسائقين على مسار اليوم." + +#: core/templates/core/index.html:269 msgid "Ready to move your cargo?" msgstr "هل أنت مستعد لنقل شحنتك؟" -#: core/templates/core/index.html:231 +#: core/templates/core/index.html:270 msgid "Join thousands of shippers and drivers on MASAR today." msgstr "انضم إلى آلاف الشاحنين والسائقين على مسار اليوم." -#: core/templates/core/index.html:232 +#: core/templates/core/index.html:271 msgid "Join Now" msgstr "انضم الآن" @@ -1729,7 +1794,7 @@ msgstr "تحديث بيانات الشاحنة" msgid "Register a Truck" msgstr "تسجيل شاحنة" -#: core/templates/core/truck_register.html:47 core/views.py:84 +#: core/templates/core/truck_register.html:47 core/views.py:89 msgid "Please correct the errors below." msgstr "يرجى تصحيح الأخطاء أدناه." @@ -1746,20 +1811,10 @@ msgid "Load Capacity" msgstr "الحمولة" #: core/templates/core/truck_register.html:87 -msgid "التفاصيل باللغة العربية" -msgstr "التفاصيل باللغة العربية" - -#: core/templates/core/truck_register.html:89 -msgid "الموديل" -msgstr "الموديل" - -#: core/templates/core/truck_register.html:94 -msgid "الحمولة" -msgstr "الحمولة" - -#: core/templates/core/truck_register.html:99 -msgid "اللون" -msgstr "اللون" +#, fuzzy +#| msgid "Truck Details" +msgid "Arabic Details" +msgstr "تفاصيل الشاحنة" #: core/templates/core/truck_register.html:127 msgid "Documents & Photos" @@ -1864,144 +1919,145 @@ msgstr "لم تستلم الرمز؟" msgid "Try again" msgstr "حاول مرة أخرى" -#: core/views.py:77 +#: core/views.py:82 #, python-format msgid "Your verification code for MASAR CARGO is: %(code)s" msgstr "رمز التحقق الخاص بك لـ MASAR CARGO هو: %(code)s" -#: core/views.py:79 core/views.py:157 +#: core/views.py:84 core/views.py:162 msgid "A verification code has been sent to your WhatsApp." msgstr "تم إرسال رمز التحقق إلى واتساب الخاص بك." -#: core/views.py:82 +#: core/views.py:87 msgid "Failed to send verification code. Please check your phone number." msgstr "فشل إرسال رمز التحقق. يرجى التحقق من رقم هاتفك." -#: core/views.py:130 +#: core/views.py:135 msgid "Registration successful. Welcome!" msgstr "تم التسجيل بنجاح. مرحباً بك!" -#: core/views.py:133 core/views.py:194 +#: core/views.py:138 core/views.py:199 msgid "Invalid or expired verification code." msgstr "رمز تحقق غير صالح أو منتهي الصلاحية." -#: core/views.py:146 +#: core/views.py:151 msgid "Your account does not have a phone number. Please contact admin." msgstr "حسابك لا يحتوي على رقم هاتف. يرجى الاتصال بالمسؤول." -#: core/views.py:155 +#: core/views.py:160 #, python-format msgid "Your login verification code for MASAR CARGO is: %(code)s" msgstr "رمز التحقق الخاص بك لتسجيل الدخول لـ MASAR CARGO هو: %(code)s" -#: core/views.py:162 +#: core/views.py:167 msgid "Failed to send verification code. Please check your connection." msgstr "فشل إرسال رمز التحقق. يرجى التحقق من اتصالك." -#: core/views.py:164 +#: core/views.py:169 msgid "Invalid username or password." msgstr "اسم المستخدم أو كلمة المرور غير صالحة." -#: core/views.py:191 +#: core/views.py:196 msgid "Logged in successfully!" msgstr "تم تسجيل الدخول بنجاح!" -#: core/views.py:262 +#: core/views.py:267 msgid "Truck registered successfully! It will be visible after admin approval." msgstr "تم تسجيل الشاحنة بنجاح! ستكون مرئية بعد اعتماد المسؤول." -#: core/views.py:265 +#: core/views.py:270 msgid "There was an error in your registration. Please check the form." msgstr "حدث خطأ في التسجيل. يرجى التحقق من النموذج." -#: core/views.py:281 +#: core/views.py:286 msgid "Truck data updated successfully! It will be reviewed by admin again." msgstr "تم تحديث بيانات الشاحنة بنجاح! سيتم مراجعتها من قبل المسؤول مرة أخرى." -#: core/views.py:284 +#: core/views.py:289 msgid "There was an error updating your truck. Please check the form." msgstr "حدث خطأ أثناء تحديث شاحنتك. يرجى التحقق من النموذج." -#: core/views.py:301 +#: core/views.py:306 #, python-format msgid "" "Your truck (%(plate)s) has been approved! You can now receive offers for " "shipments." msgstr "تمت الموافقة على شاحنتك (%(plate)s)! يمكنك الآن تلقي عروض للشحنات." -#: core/views.py:304 +#: core/views.py:309 msgid "Truck approved successfully!" msgstr "تم اعتماد الشاحنة بنجاح!" -#: core/views.py:315 +#: core/views.py:320 msgid "Truck has been suspended." msgstr "تم تعليق الشاحنة." -#: core/views.py:330 +#: core/views.py:335 msgid "" "Shipment posted successfully! It is now open for bids or you can browse " "trucks to send it as an offer." -msgstr "تم نشر الشحنة بنجاح! هي الآن مفتوحة للمزايدة أو يمكنك تصفح الشاحنات لإرسالها كعرض." -"تم نشر الشحنة بنجاح! هي الآن مفتوحة للعروض أو يمكنك تصفح الشاحنات لإرسالها " -"كعرض." +msgstr "" +"تم نشر الشحنة بنجاح! هي الآن مفتوحة للمزايدة أو يمكنك تصفح الشاحنات لإرسالها " +"كعرض.تم نشر الشحنة بنجاح! هي الآن مفتوحة للعروض أو يمكنك تصفح الشاحنات " +"لإرسالها كعرض." -#: core/views.py:334 +#: core/views.py:339 msgid "Please correct the errors in the form." msgstr "يرجى تصحيح الأخطاء في النموذج." -#: core/views.py:385 +#: core/views.py:390 #, python-format msgid "" "New offer received for your truck (%(plate)s)! Route: %(origin)s to " "%(dest)s. Amount: %(amount)s" -msgstr "تم استلام عرض جديد لشاحنتك (%(plate)s)! المسار: %(origin)s إلى %(dest)s. المبلغ: %(amount)s" +msgstr "" "تم استلام عرض جديد لشاحنتك (%(plate)s)! المسار: %(origin)s إلى %(dest)s. " -"المبلغ: %(amount)s" +"المبلغ: %(amount)sتم استلام عرض جديد لشاحنتك (%(plate)s)! المسار: %(origin)s " +"إلى %(dest)s. المبلغ: %(amount)s" -#: core/views.py:388 +#: core/views.py:393 msgid "Offer sent successfully!" msgstr "تم إرسال العرض بنجاح!" -#: core/views.py:392 +#: core/views.py:397 msgid "Error sending offer. Please check the form." msgstr "خطأ في إرسال العرض. يرجى التحقق من النموذج." -#: core/views.py:414 +#: core/views.py:419 msgid "You are not authorized to accept this offer." msgstr "أنت غير مخول لقبول هذا العرض." -#: core/views.py:429 +#: core/views.py:434 #, python-format msgid "" "Your offer for truck %(plate)s (%(origin)s to %(dest)s) has been accepted!" msgstr "تم قبول عرضك للشاحنة %(plate)s (%(origin)s إلى %(dest)s)!" -#: core/views.py:432 +#: core/views.py:437 msgid "Offer accepted! Shipment is now in progress." msgstr "تم قبول العرض! الشحنة قيد التنفيذ الآن." -#: core/views.py:444 +#: core/views.py:449 msgid "Offer rejected." msgstr "تم رفض العرض." -#: core/views.py:452 +#: core/views.py:457 msgid "Privacy policy is coming soon." msgstr "سياسة الخصوصية ستتوفر قريباً." -#: core/views.py:462 -#| msgid "Terms of service are coming soon." +#: core/views.py:467 msgid "Terms of service are soon." msgstr "شروط الخدمة ستتوفر قريباً." -#: core/views.py:509 +#: core/views.py:514 msgid "Online payment is currently disabled. Please contact support." msgstr "الدفع عبر الإنترنت معطل حالياً. يرجى الاتصال بالدعم." -#: core/views.py:558 +#: core/views.py:563 msgid "Failed to initiate payment. Please try again later." msgstr "فشل بدء الدفع. يرجى المحاولة مرة أخرى لاحقاً." -#: core/views.py:587 +#: core/views.py:592 #, fuzzy, python-format #| msgid "" #| "Your subscription for MASAR CARGO has been successfully renewed! Your new " @@ -2013,52 +2069,62 @@ msgstr "" "تم تجديد اشتراكك في مسار للشحن بنجاح! تاريخ انتهاء اشتراكك الجديد هو " "%(date)s. شكراً لاستخدامك خدمتنا." -#: core/views.py:597 +#: core/views.py:602 #, fuzzy #| msgid "Subscription Renewed - MASAR CARGO" msgid "Subscription Activated - MASAR CARGO" msgstr "تم تجديد الاشتراك - مسار للشحن" -#: core/views.py:627 +#: core/views.py:632 msgid "Payment successful! Your subscription is now active." msgstr "تم الدفع بنجاح! اشتراكك نشط الآن." -#: core/views.py:633 +#: core/views.py:638 #, python-format msgid "Payment was not successful. Status: %(status)s" msgstr "لم يكن الدفع ناجحاً. الحالة: %(status)s" -#: core/views.py:635 +#: core/views.py:640 msgid "Failed to verify payment status." msgstr "فشل التحقق من حالة الدفع." -#: core/views.py:641 +#: core/views.py:646 msgid "Payment was cancelled." msgstr "تم إلغاء الدفع." -#: core/views.py:705 -#| msgid "This email is already in use." +#: core/views.py:710 msgid "This is already a refund transaction." msgstr "هذا البريد الإلكتروني مستخدم بالفعل." -#: core/views.py:718 +#: core/views.py:723 #, python-format msgid "Refund issued successfully! Receipt: %(receipt)s" msgstr "تم إصدار الاسترداد بنجاح! الإيصال: %(receipt)s" -#: core/views.py:731 +#: core/views.py:736 msgid "Application settings updated successfully." msgstr "تم تحديث إعدادات التطبيق بنجاح." -#: core/views.py:744 +#: core/views.py:749 msgid "Your message has been sent successfully! We will get back to you soon." msgstr "تم إرسال رسالتك بنجاح! سنقوم بالرد عليك قريباً." -#: core/views.py:747 -#| msgid "There was an error updating your truck. Please check the form." +#: core/views.py:752 msgid "There was an error in your form. Please check the fields below." msgstr "حدث خطأ أثناء تحديث شاحنتك. يرجى التحقق من النموذج." +#~ msgid "التفاصيل باللغة العربية" +#~ msgstr "التفاصيل باللغة العربية" + +#~ msgid "الموديل" +#~ msgstr "الموديل" + +#~ msgid "الحمولة" +#~ msgstr "الحمولة" + +#~ msgid "اللون" +#~ msgstr "اللون" + #~ msgid "Registered Trucks" #~ msgstr "الشاحنات المسجلة"