kmE^p-}bkDAH=d()pmD4 zoVWe4|NEjj>uS3@An$F~1~Il(TDwCa?`>A2xSmpLcL?OY&1w*pwYqB{H?~=(6vMY$ zihDKF4CufxO}}j1Zaa?oTGr9fl((6tTO7I_$7x&2o4fFuuk%nT+iTAJO#lgQ_?9Ke zw$k2p;1Vf86QWmqn7n2CHI!lsPyH71*@m3No{F1w8y{I?tw@wW!h6vV?%y8BO>LGC zb|1xXy$6b~#jhY;RX~7;-Rt#V1HQf)NQ(yd)I@Fp#OO3BO#vi~lO*}@hqnhJZn&sR zJ!_U_z@IK0`c`2;Km{#UVF^T&%JK!P$FNLGqx*f` zsKFkiDdk;ZJW5WX)z7 z?zU5CO$DT_Y3OMQh>M!>N^b!aEJKLVB9NA_7j6d?kNh4oLS^r_sIw !=K-t$l{x7)>f;!;woOZyhK3sk+8Qb`%N|iKHgXWVv9cf9XKd$z=N$0 zDBq&RiR*zai;sh%rZoeY!i4T&SN0(m4GDG$O*=i6fw)V71)s?|0#pq66wRRJYuGeP zt|RM(l1)Gc d9>mSGQVR zRNAAv`k)@C)9JuX*v&xIdI%NT+Bi<>cr4R&a4-hq6g@0z)QxI|NIgS%Y>ap O#qNfqeMcXOA8|8vo+fKx(C@c;{uOj(?X*(W_9=sDN1Lou!u1 z!QgVjbgu#;XEw}nspu|Q%U%TpVg>FYkGh4aa-?0wP!1OaP7PS58ed2I)|D}ac8zGV zDfL*AWguy?B74Vo1Vj}qE&~CJ)pJXm<%xY kTBKDNK{GMdK }$mLZHK5rQFUEdbGqc}Eeh4OY#@ z8!8|;lO2w?SkX9u>5$2C@kSF@f #_jk zESJmTH{d_+i!)A0GSqh*pG@HNG!@5jp5%K2>_0exm@KC?gh230^mxEP1}C|^q!y(c zTmr(2qp;-dBCCcV$XzI%XqZV0d&DIbj9L3#eG!OmLI>N_OW)vQ>K)JvpppaK=z+TI zK;CZ$PC4OeJn(CbhsH7FQJ<|U9)cBX#&K x z9`iq^&^ReV E7khYV6_+pyydyWNA6FX7*p>ZdBJdhejD6-titJcg;-;Fv2Qv*~$$l1$6<@N7^V zW(0~B(OgIu9!Y
+c65`<1h8-RyV-COZKkXD>3k48$?kkiEyeOGzC3NVee!%8>l*ExFl#e zf`ICup>-p 07Dp(1;}VHg!>NN_60v5@0_lu98-p2F#-}8n%-;A!(c8mt zSK~~gx6}jgV!iufrN&d0Q?#n;Su3rz?;a#a1DyKF?0P^J<^CU*fJ|$F#0=zuP7W9d zFO0MnNUb9@KV6HzxPIksRzLy7?ql5$yMt;U;0B9oL7H}7uLr_allHBESnJ;nTKkH^ zr+S;E1Ty$z`lsPRBM`Jyj2Wy{m=+9xP8Lc7hwkM_sHDF3<61uLTo^%V5xB0$WvgQQ z!KGai-|FJl3C2Q;Kv4abjTo&(ePU0!zk>TMU3e0fTt?80Kzy@MFe(z~0IxP2z_83f zlRyl91q7l6rm99-$Vle3~0$QbeLew z70PrH ()Yw~nQ2_)qd;?JKiY>23UpxXDs@Py(kjIyGKDP)5{hr-^y^kGykqE)GPhZ2bB z@5@=rlhGlacVxS^48#@+AO;qcEiT7)m QmZ?I~-usuwHCqh8Yw &qr?^})#(53}PmNyF@3_DY2J?xg~P-!vUelX;ekFv}hu zpCr#F>p+g _!=QYFKyrDODS0#my%NX+n&JgFDqF}MD^$;D z8Hnc^#u^YT9hX+zk~7w!8f5@C2As#2J_KuLc2%-; tT2ZOT*BF+!nD{ zKS8xbk^~aA$H~Q$qcqB2B=IyELnfVv5CrAtNg5xd`S>(BpRWNam5lPd+z?R$5%Y7( z05jP__vUjhozS)XLdl~(=q-T+rLJhU+vH_U4h9^msxJU3x+#H>Q!ipBn VEI sQ?f+p+$AJPmY5H{{aX}r~FGGVhS;af7wa)om5Q%V_U zLC&2gS@Lx<21EWLIXz0I$$1901p?qSIZgIXlIR~vw6hKblzbRt5#{nQtd9h4DGk*h zH4u}u9 TDn`Xk=3m!aArsTG-wOwYwQ763%VX)K~_ zZysVP{VY#kjUT^=C(&20&eCV=VegxehM@Od6!z LHGxglzf5TPF^?v2|F3HV) Px#AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUz9Z*bEMH>+jMnXlz(&1%hY>$?pP)<^Xijz`GNx!|fuB@l8y2mLW zANBU{&d$hGO-%6c>9nz|rlX!RC@9+5(`{#DmXeO&-`T9Gr03}2m6DA&E-genJHEZR z$;iT #f)ZD(bOgMeRHS2iv!BN-W^ zpqzVla&U5aXklMvUR*phGRw=wm6496uDW}6bJWw$v9GBxDJzSHgHcLJU|3gQSXNtF zUz(z=q@bLYk&RMHNU^S|v9GF#gn(aJR(o}GdUkSpb#p{LJC>1-U|3dPSy#En)KW`H zQA =PVH6Zy~rX7g7|>JU}gw~khPYLR$d;vMW0zVzck?Xmj=AVyXL@KUmCDe2~6Fe zJzC2?lXNP88Rz`xzj(yPeFj-xlq_J%`7eL<>)&MWpdNhq-v76m4<`j0ZGhP`&VT#6 zfIlZ8i$X?2LLv&li~=xx{3NA7qYbbZ{QeJr{L_nIo4A3?yIqfUcY4oh@aJCN4|aNk z$87gqWw(IW0Pn?LC0`TD2yyp`x6Sy=9$^7|Bs|8C 6UUjfv+I z9v=`A#2yLx;Q@U76oHSbfsX_J_m~*qsCVLaDL-+0K0oR99<9}Pmr)UK3Y_fsc<_&} z3Hc@>uM*<3ub+&+FyLa1USr^5jb3Bm egdOrtZvfh*-0u-w9GLS%}~ z(>3q~oOKW5!yWkBy{8w-xnFv11>iD`&H(S5?}vxQ(UA{8ylbAWfPuFsztSG(Cr#T_ zEDr-*7z&pImx{+-!)d<2u=jNTBt6|=7Ex=gSrnP?q4gavsq3n=1sqy6i0{pTm)|&4 z0#jhQ)Ve!Jap3$O b-Zt6x*=}wL~sX zl|cv{s>CPa9_~qcVIu}%bKt^IxEh$e 5@s{DJV zyHDKA>=7VK-Qmt2@PoU_sI@%bxI22w2HuFaULkofndw#l7cdz79tbxDR zz_F>oXazPmRy e2X09cbI%4&{W+plW6$_$7H}%AR*S~VQb{OW z3oQJq6vnd}K`krYm*(7*>OmL8dOoAk$^e@SOan(S(zwcATEK7kfhh>*KbX#J1blr* zU}!s)iwO$MzY`f;ycI;p*xpn(LQ13@I@BligEjQ;6QtS7J%+VmCcQEE`y^ zt74(<5e=;RR4qCl558p~>#LKv^uy!42*$eUI$Rn!R01 Vg7FR#0}S2c4Puwe5x$f*0;_bfATGfJX*dGE5pZcJTn#)> z%O_e2HKEfwL5bhn@i5ujkxkN3RwB%77wNOWWDh$haIu`8n+e_=Y$p;YmPRqz#|{i) z>BizsZbBOYS8DXbrFaqw=EXW@l$NAFA{ymm=EOe5^g(3R5S7)oER`C)hB>YBP +aq$4l1>L_}6J^`ZrGdR&rP%t%$>kORID>x#@h zmTzJy1TIW-f?MS&W!SNz>MGH|J=b-2bkD0}l*9TeDnj8L@F}i^;@c~gSt*o4;N);p z0Hj0zOq!@tG_Z6?a7BJ6fXfq^d8yNA3mEiSucPSZNT(vrCK8o7G{7OvBp;R7=}FR4 zPOx%XGL_};(|NKKSY(2rf|Y>lG&%+L?O316IZ1Uk5#?CsAr-JV^7LF+ezHr@nGP A03+UHkA{xVB#aEOlfh;HpqK3+!f8HNf!fSlfy{*=iI|W^BMpxtM%Z z?-?|(a(Z<{i7qHrVTWB=9{8B^Vqh=>2de>Bg~C~24ppb}jqfu|u!9nV^BY8{0Qh!6 zc)|(Nqsm|ExvnE29_#cZ(dYYQpe+$)3@Z!szz`Wtj{j8zj6KHS_}^4YEpKHgoB>Xj z?X0UzYl3OY9V>H~gjU{;*}ytI`9aqKOOr27@7R^)fKwB`1Pm7wYgwuVt_~b>z_~Xq zK=mKf>hv=7d14Hg);0~Cr~{*d45xZ8O#sTAXCBy$+`WOT0|y(JWmTGplnyoD(oq97 zP9S8LImIiLc+|kU@6tJUDQ9h_viCXQz?5DBej`=-JDnh_k?K%5JBPh==7G4LcWJB` zJn`H#7)N(M?ejWdY5uI$o620C4V>=BUINAiZ3UxMuhA(m3|9Ik8Z_|0H-k#;5sn40 zXC)u2fjz (XokP(gn!aHcXd zhc9b@@#R{w0&q PhEu+$cbSC!VwqVyp6FSZFgr>k>{jexV2^|?rL4$6Qt z7STGc{<%qQ;E)4ObC0o_q4LeVE5iZdWVsQQ_EzK(gMC%70kHC=Wo4poMV_)8IB-=n z8Uxn`4oko?_h_$n%uXj}GlvDq#~QIKV=LcXFLj}C5%5o08fo-80XNd -O1bHQ zG| zU;E~UC`fmk9LNw~ DHw Xrrsp1wo zkA=8x62pAd;B!VIlcJ|G)gu~@TU30Ln m7mnm!g>(+ zVM&VO*^aZ(1h`2koCU@)#i9BJ+r!fBHz}~p@dPS;Dds?5Dma!w;1^bIGGOT&CA4m? z<}8orM lN-_kwv%qKssx5I0Ta9G1aLMtnIB=D_bwaZ26nd8h&2j@bHEgL zCZm-JxUY7P)&oNqZHpfU=s9fVCVewmF$?JGyf-a*S=?}t3XNDpKROF6-ijd1K9{*U z3A`gmrUV$wRyPm{Jzp9zvrY*!CSNWdBciL9qm!aH>g5)zka?^0-r0Og=2cZ$x8bkO zKFFpEC Ygy*#N{{F5mg4~GwX;yCT8q?T&px)F4DcN+R#wRFV%TwrGalX! zk6Po~Tc<@fIzWF$oT1Yi4~L7+Cvr1;D!}(vXfOgJa!VFlTh3^DOE%8PoQy`(aqEms zN5t9Kbf)uNGIE{>@ck_ogu@Onewt5V5gtJYIt~$*;fx$PWOFp#n2yHszngk&Sn?ni zi;$Zs8Il_^U%*OCc5lcT84aNuV1aVT59H$~GMbT5`)L3#?# =}o$HP>6Q^6w@M+B9ds{3JFu=Rl }{ z(%E%3u1A|Uw_9`cvB&ccm + + sponsor +{% endblock %} From ed48cc457f36ea1f999bdf68668966935cd9e47f Mon Sep 17 00:00:00 2001 From: github-actions+ +
Date: Wed, 23 Jul 2025 13:02:50 +0000 Subject: [PATCH 08/10] =?UTF-8?q?=F0=9F=93=9D=20Update=20release=20notes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [skip ci] --- docs/en/docs/release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md index 83c06c013..42f9c5c2c 100644 --- a/docs/en/docs/release-notes.md +++ b/docs/en/docs/release-notes.md @@ -16,6 +16,7 @@ hide: ### Internal +* 🔧 Update sponsors: Add Mobb. PR [#13916](https://github.com/fastapi/fastapi/pull/13916) by [@tiangolo](https://github.com/tiangolo). * 👥 Update FastAPI People - Experts. PR [#13889](https://github.com/fastapi/fastapi/pull/13889) by [@tiangolo](https://github.com/tiangolo). * 🔨 Update FastAPI People sleep interval, use external settings. PR [#13888](https://github.com/fastapi/fastapi/pull/13888) by [@tiangolo](https://github.com/tiangolo). From da508e9dce85874d654eb10472b090f573de97fe Mon Sep 17 00:00:00 2001 From: Mohammad <116789737+Mohammad222PR@users.noreply.github.com> Date: Fri, 25 Jul 2025 12:57:03 +0330 Subject: [PATCH 09/10] =?UTF-8?q?=F0=9F=8C=90=20Add=20Persian=20translatio?= =?UTF-8?q?n=20for=20`docs/fa/docs/environment-variables.md`=20(#13923)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🌐 Add Persian translation for docs/fa/docs/environment-variables.md --- docs/fa/docs/environment-variables.md | 298 ++++++++++++++++++++++++++ 1 file changed, 298 insertions(+) create mode 100644 docs/fa/docs/environment-variables.md diff --git a/docs/fa/docs/environment-variables.md b/docs/fa/docs/environment-variables.md new file mode 100644 index 000000000..75309ce1f --- /dev/null +++ b/docs/fa/docs/environment-variables.md @@ -0,0 +1,298 @@ +# متغیرهای محیطی + +/// tip + +اگه از قبل میدونی متغیرهای محیطی چی هستن و چطور ازشون استفاده میشه، میتونی این بخش رو رد کنی. + +/// + +یه متغیر محیطی (که بهش "**env var**" هم میگن) یه متغیریه که **خارج** از کد پایتون، توی **سیستمعامل** زندگی میکنه و میتونه توسط کد پایتونت (یا برنامههای دیگه) خونده بشه. + +متغیرهای محیطی میتونن برای مدیریت **تنظیمات** برنامه، بهعنوان بخشی از **نصب** پایتون و غیره مفید باشن. + +## ساخت و استفاده از متغیرهای محیطی + +میتونی متغیرهای محیطی رو توی **شل (ترمینال)** **بسازی** و ازشون استفاده کنی، بدون اینکه به پایتون نیاز داشته باشی: + +//// tab | لینوکس، مکاواس، ویندوز بش + + + +```console +// میتونی یه متغیر محیطی به اسم MY_NAME بسازی با +$ export MY_NAME="Wade Wilson" + +// بعد میتونی با برنامههای دیگه ازش استفاده کنی، مثل +$ echo "Hello $MY_NAME" + +Hello Wade Wilson +``` + ++ +//// + +//// tab | ویندوز پاورشل + ++ +```console +// یه متغیر محیطی به اسم MY_NAME بساز +$ $Env:MY_NAME = "Wade Wilson" + +// با برنامههای دیگه ازش استفاده کن، مثل +$ echo "Hello $Env:MY_NAME" + +Hello Wade Wilson +``` + ++ +//// + +## خوندن متغیرهای محیطی توی پایتون + +میتونی متغیرهای محیطی رو **خارج** از پایتون، توی ترمینال (یا با هر روش دیگه) بسازی، و بعد توی **پایتون** اونا رو بخونی. + +مثلاً میتونی یه فایل `main.py` داشته باشی با: + +```Python hl_lines="3" +import os + +name = os.getenv("MY_NAME", "World") +print(f"Hello {name} from Python") +``` + +/// tip + +آرگومان دوم `os.getenv()` مقدار پیشفرضیه که برمیگردونه. + +اگه ندی، بهصورت پیشفرض `None` هست، اینجا ما `"World"` رو بهعنوان مقدار پیشفرض گذاشتیم. + +/// + +بعد میتونی اون برنامه پایتون رو صدا کنی: + +//// tab | لینوکس، مکاواس، ویندوز بش + ++ +```console +// اینجا هنوز متغیر محیطی رو تنظیم نکردیم +$ python main.py + +// چون متغیر محیطی رو تنظیم نکردیم، مقدار پیشفرض رو میگیریم + +Hello World from Python + +// ولی اگه اول یه متغیر محیطی بسازیم +$ export MY_NAME="Wade Wilson" + +// و بعد دوباره برنامه رو صدا کنیم +$ python main.py + +// حالا میتونه متغیر محیطی رو بخونه + +Hello Wade Wilson from Python +``` + ++ +//// + +//// tab | ویندوز پاورشل + ++ +```console +// اینجا هنوز متغیر محیطی رو تنظیم نکردیم +$ python main.py + +// چون متغیر محیطی رو تنظیم نکردیم، مقدار پیشفرض رو میگیریم + +Hello World from Python + +// ولی اگه اول یه متغیر محیطی بسازیم +$ $Env:MY_NAME = "Wade Wilson" + +// و بعد دوباره برنامه رو صدا کنیم +$ python main.py + +// حالا میتونه متغیر محیطی رو بخونه + +Hello Wade Wilson from Python +``` + ++ +//// + +چون متغیرهای محیطی میتونن خارج از کد تنظیم بشن، ولی کد میتونه اونا رو بخونه، و لازم نیست با بقیه فایلها ذخیره (کمیتی به `git`) بشن، معمولاً برای پیکربندی یا **تنظیمات** استفاده میشن. + +همچنین میتونی یه متغیر محیطی رو فقط برای **یه اجرای خاص برنامه** بسازی، که فقط برای اون برنامه و فقط برای مدت زمان اجراش در دسترسه. + +برای این کار، درست قبل از خود برنامه، توی همون خط بسازش: + ++ +```console +// یه متغیر محیطی MY_NAME رو توی خط برای این اجرای برنامه بساز +$ MY_NAME="Wade Wilson" python main.py + +// حالا میتونه متغیر محیطی رو بخونه + +Hello Wade Wilson from Python + +// متغیر محیطی بعدش دیگه وجود نداره +$ python main.py + +Hello World from Python +``` + ++ +/// tip + +میتونی بیشتر در موردش توی برنامه دوازدهفاکتوری: پیکربندی بخونی. + +/// + +## نوعها و اعتبارسنجی + +این متغیرهای محیطی فقط میتونن **رشتههای متنی** رو نگه دارن، چون خارج از پایتون هستن و باید با برنامههای دیگه و بقیه سیستم (و حتی سیستمعاملهای مختلف مثل لینوکس، ویندوز، مکاواس) سازگار باشن. + +یعنی **هر مقداری** که توی پایتون از یه متغیر محیطی خونده میشه یه `str` هست، و هر تبدیل به نوع دیگه یا هر اعتبارسنجی باید توی کد انجام بشه. + +توی [راهنمای کاربر پیشرفته - تنظیمات و متغیرهای محیطی](./advanced/settings.md){.internal-link target=_blank} بیشتر در مورد استفاده از متغیرهای محیطی برای مدیریت **تنظیمات برنامه** یاد میگیری. + +## متغیر محیطی `PATH` + +یه متغیر محیطی **خاص** به اسم **`PATH`** وجود داره که سیستمعاملها (لینوکس، مکاواس، ویندوز) ازش برای پیدا کردن برنامههایی که قراره اجرا بشن استفاده میکنن. + +مقدار متغیر `PATH` یه رشته طولانی از پوشههاست که توی لینوکس و مکاواس با دونقطه `:` و توی ویندوز با نقطهویرگول `;` از هم جدا شدن. + +مثلاً، متغیر محیطی `PATH` میتونه اینجوری باشه: + +//// tab | لینوکس، مکاواس + +```plaintext +/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin +``` + +یعنی سیستم باید دنبال برنامهها توی این پوشهها بگرده: + +* `/usr/local/bin` +* `/usr/bin` +* `/bin` +* `/usr/sbin` +* `/sbin` + +//// + +//// tab | ویندوز + +```plaintext +C:\Program Files\Python312\Scripts;C:\Program Files\Python312;C:\Windows\System32 +``` + +یعنی سیستم باید دنبال برنامهها توی این پوشهها بگرده: + +* `C:\Program Files\Python312\Scripts` +* `C:\Program Files\Python312` +* `C:\Windows\System32` + +//// + +وقتی یه **دستور** توی ترمینال تایپ میکنی، سیستمعامل **دنبال** برنامه توی **هر کدوم از این پوشهها** که توی متغیر محیطی `PATH` لیست شدن میگرده. + +مثلاً، وقتی توی ترمینال `python` تایپ میکنی، سیستمعامل دنبال یه برنامه به اسم `python` توی **اولین پوشه** توی اون لیست میگرده. + +اگه پیداش کنه، **استفادهش میکنه**. وگرنه توی **پوشههای بعدی** دنبالش میگرده. + +### نصب پایتون و بهروزرسانی `PATH` + +وقتی پایتون رو نصب میکنی، ممکنه ازت بپرسن آیا میخوای متغیر محیطی `PATH` رو بهروزرسانی کنی. + +//// tab | لینوکس، مکاواس + +فرض کن پایتون رو نصب کردی و توی یه پوشه `/opt/custompython/bin` قرار گرفته. + +اگه بگی بله برای بهروزرسانی متغیر محیطی `PATH`، نصاب `/opt/custompython/bin` رو به متغیر محیطی `PATH` اضافه میکنه. + +ممکنه اینجوری بشه: + +```plaintext +/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/custompython/bin +``` + +اینجوری، وقتی توی ترمینال `python` تایپ میکنی، سیستم برنامه پایتون رو توی `/opt/custompython/bin` (آخرین پوشه) پیدا میکنه و از اون استفاده میکنه. + +//// + +//// tab | ویندوز + +فرض کن پایتون رو نصب کردی و توی یه پوشه `C:\opt\custompython\bin` قرار گرفته. + +اگه بگی بله برای بهروزرسانی متغیر محیطی `PATH`، نصاب `C:\opt\custompython\bin` رو به متغیر محیطی `PATH` اضافه میکنه. + +```plaintext +C:\Program Files\Python312\Scripts;C:\Program Files\Python312;C:\Windows\System32;C:\opt\custompython\bin +``` + +اینجوری، وقتی توی ترمینال `python` تایپ میکنی، سیستم برنامه پایتون رو توی `C:\opt\custompython\bin` (آخرین پوشه) پیدا میکنه و از اون استفاده میکنه. + +//// + +پس، اگه تایپ کنی: + ++ +```console +$ python +``` + ++ +//// tab | لینوکس، مکاواس + +سیستم برنامه `python` رو توی `/opt/custompython/bin` **پیدا** میکنه و اجراش میکنه. + +تقریباً معادل اینه که تایپ کنی: + ++ +```console +$ /opt/custompython/bin/python +``` + ++ +//// + +//// tab | ویندوز + +سیستم برنامه `python` رو توی `C:\opt\custompython\bin\python` **پیدا** میکنه و اجراش میکنه. + +تقریباً معادل اینه که تایپ کنی: + ++ +```console +$ C:\opt\custompython\bin\python +``` + ++ +//// + +این اطلاعات وقتی در مورد [محیطهای مجازی](virtual-environments.md){.internal-link target=_blank} یاد میگیری بهدردت میخوره. + +## نتیجهگیری + +با این باید یه درک پایهای از **متغیرهای محیطی** و نحوه استفادهشون توی پایتون داشته باشی. + +میتونی بیشتر در موردشون توی ویکیپدیا برای متغیر محیطی بخونی. + +توی خیلی موارد مشخص نیست که متغیرهای محیطی چطور میتونن فوری مفید و کاربردی باشن. ولی توی موقعیتهای مختلف توسعه مدام پیداشون میشه، پس خوبه که در موردشون بدونی. + +مثلاً، توی بخش بعدی در مورد [محیطهای مجازی](virtual-environments.md) به این اطلاعات نیاز داری. From 4ca93aea04bf289cedb4dc0d922c97f2e99399d9 Mon Sep 17 00:00:00 2001 From: github-actionsDate: Fri, 25 Jul 2025 09:27:24 +0000 Subject: [PATCH 10/10] =?UTF-8?q?=F0=9F=93=9D=20Update=20release=20notes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [skip ci] --- docs/en/docs/release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md index 42f9c5c2c..e198e9437 100644 --- a/docs/en/docs/release-notes.md +++ b/docs/en/docs/release-notes.md @@ -9,6 +9,7 @@ hide: ### Translations +* 🌐 Add Persian translation for `docs/fa/docs/environment-variables.md`. PR [#13923](https://github.com/fastapi/fastapi/pull/13923) by [@Mohammad222PR](https://github.com/Mohammad222PR). * 🌐 Add Persian translation for `docs/fa/docs/python-types.md`. PR [#13524](https://github.com/fastapi/fastapi/pull/13524) by [@Mohammad222PR](https://github.com/Mohammad222PR). * 🌐 Update Portuguese Translation for `docs/pt/docs/project-generation.md`. PR [#13875](https://github.com/fastapi/fastapi/pull/13875) by [@EdmilsonRodrigues](https://github.com/EdmilsonRodrigues). * 🌐 Add Persian translation for `docs/fa/docs/async.md`. PR [#13541](https://github.com/fastapi/fastapi/pull/13541) by [@Mohammad222PR](https://github.com/Mohammad222PR).