diff --git a/docs/az/mkdocs.yml b/docs/az/mkdocs.yml
index 7f4a490d8..7d59451c1 100644
--- a/docs/az/mkdocs.yml
+++ b/docs/az/mkdocs.yml
@@ -41,6 +41,7 @@ nav:
- en: /
- az: /az/
- de: /de/
+ - em: /em/
- es: /es/
- fa: /fa/
- fr: /fr/
@@ -105,6 +106,8 @@ extra:
name: az
- link: /de/
name: de
+ - link: /em/
+ name: ð
- link: /es/
name: es - español
- link: /fa/
diff --git a/docs/de/mkdocs.yml b/docs/de/mkdocs.yml
index f6e0a6b01..87fe74697 100644
--- a/docs/de/mkdocs.yml
+++ b/docs/de/mkdocs.yml
@@ -41,6 +41,7 @@ nav:
- en: /
- az: /az/
- de: /de/
+ - em: /em/
- es: /es/
- fa: /fa/
- fr: /fr/
@@ -106,6 +107,8 @@ extra:
name: az
- link: /de/
name: de
+ - link: /em/
+ name: ð
- link: /es/
name: es - español
- link: /fa/
diff --git a/docs/em/docs/advanced/additional-responses.md b/docs/em/docs/advanced/additional-responses.md
new file mode 100644
index 000000000..26963c2e3
--- /dev/null
+++ b/docs/em/docs/advanced/additional-responses.md
@@ -0,0 +1,240 @@
+# ð ðš ð
+
+!!! warning
+ ð ð ð§ â.
+
+ ð¥ ð â¶ïž â®ïž **FastAPI**, ð ðª ð« ðª ð.
+
+ð ðª ð£ ð ðš, â®ïž ð ð ð, ð ð, ð, âïž.
+
+ð ð ðš ð ð ð ð, ð« ð ð ð ïž ð©º.
+
+âïž ð ð ðš ð âïž â ð ð ðš `Response` ð `JSONResponse` ð, â®ïž ð ð ð & ð.
+
+## ð ðš â®ïž `model`
+
+ð ðª ð¶ââïž ð *â¡ ð ïž ðšâðš* ð¢ `responses`.
+
+â«ïž ðš `dict`, ð ð ð ð ðš, ð `200`, & ð² ð `dict`â â®ïž â¹ ð ð«.
+
+ð ð ðš `dict`â ðª âïž ð `model`, â Pydantic ð·, ð `response_model`.
+
+**FastAPI** ð â ð ð·, ð ð® ð» ð & ð â«ïž â ð¥ ð.
+
+ðŒ, ð£ â1ïžâ£ ðš â®ïž ð ð `404` & Pydantic ð· `Message`, ð ðª â:
+
+```Python hl_lines="18 22"
+{!../../../docs_src/additional_responses/tutorial001.py!}
+```
+
+!!! note
+ âïž ð€¯ ð ð âïž ðš `JSONResponse` ð.
+
+!!! info
+ `model` ð ð« ð ð.
+
+ **FastAPI** ð â Pydantic ð· âªïžâ¡ïž ð€, ð `JSON Schema`, & ð® â«ïž â ð¥.
+
+ â ð¥:
+
+ * ð `content`, ð âïž ð² â1ïžâ£ ð» ð (`dict`) ð ð:
+ * ð â®ïž ð» ð, â
`application/json`, ð ð ð² â1ïžâ£ ð» ð, ð ð:
+ * ð `schema`, ð âïž ð² ð» ð âªïžâ¡ïž ð·, ð¥ â ð¥.
+ * **FastAPI** ð® ð ð¥ ð ð» ð â1ïžâ£ ð¥ ð ð â©ïž â
â«ïž ð. ð ð, ð ðž & ð©âð» ðª âïž ð ð» ð ð, ð ð» ð â¡ ð§°, âïž.
+
+ð ðš ð ð *â¡ ð ïž* ð:
+
+```JSON hl_lines="3-12"
+{
+ "responses": {
+ "404": {
+ "description": "Additional Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Message"
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Item"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+}
+```
+
+ð ð â1ïžâ£ ð¥ ð ð ð:
+
+```JSON hl_lines="4-16"
+{
+ "components": {
+ "schemas": {
+ "Message": {
+ "title": "Message",
+ "required": [
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "message": {
+ "title": "Message",
+ "type": "string"
+ }
+ }
+ },
+ "Item": {
+ "title": "Item",
+ "required": [
+ "id",
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "title": "Id",
+ "type": "string"
+ },
+ "value": {
+ "title": "Value",
+ "type": "string"
+ }
+ }
+ },
+ "ValidationError": {
+ "title": "ValidationError",
+ "required": [
+ "loc",
+ "msg",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "loc": {
+ "title": "Location",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "msg": {
+ "title": "Message",
+ "type": "string"
+ },
+ "type": {
+ "title": "Error Type",
+ "type": "string"
+ }
+ }
+ },
+ "HTTPValidationError": {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+}
+```
+
+## ð ð ð ð ðš
+
+ð ðª âïž ð ð `responses` ð¢ ð® ð ð ð ð ð ðš.
+
+ðŒ, ð ðª ð® ð ð» ð `image/png`, ð£ ð ð *â¡ ð ïž* ðª ðš ð» ð (â®ïž ð» ð `application/json`) âïž ð©ðŽ ðŒ:
+
+```Python hl_lines="19-24 28"
+{!../../../docs_src/additional_responses/tutorial002.py!}
+```
+
+!!! note
+ ð ð ð âïž ðš ðŒ âïž `FileResponse` ð.
+
+!!! info
+ ð¥ ð â ð ð» ð ð¯ ð `responses` ð¢, FastAPI ð ð€ ðš âïž ð ð» ð ð ðš ð (ð¢ `application/json`).
+
+ âïž ð¥ ð âïž â ð ðš ð â®ïž `None` ð® ð» ð, FastAPI ð âïž `application/json` ð ð ðš ð âïž ðšâðŒ ð·.
+
+## ð â¹
+
+ð ðª ð ðš â¹ âªïžâ¡ïž ð ð¥, ð `response_model`, `status_code`, & `responses` ð¢.
+
+ð ðª ð£ `response_model`, âïž ð¢ ð ð `200` (âïž ð 1ïžâ£ ð¥ ð ðª), & â€Žïž ð£ ð â¹ ð ð ðš `responses`, ð ð ð.
+
+**FastAPI** ð ð§ ð â¹ âªïžâ¡ïž `responses`, & ð â«ïž â®ïž ð» ð âªïžâ¡ïž ð ð·.
+
+ðŒ, ð ðª ð£ ðš â®ïž ð ð `404` ð âïž Pydantic ð· & âïž ð `description`.
+
+& ðš â®ïž ð ð `200` ð âïž ð `response_model`, âïž ð ð `example`:
+
+```Python hl_lines="20-31"
+{!../../../docs_src/additional_responses/tutorial003.py!}
+```
+
+â«ïž ð ð ð & ð ð ð, & ðŠ ð ïž ð©º:
+
+
+
+## ð ð¢ ðš & ð ð
+
+ð ðª ð âïž ð ðš ð â ð *â¡ ð ïž*, âïž ð ð ð ð« â®ïž ð ðš ð ð *â¡ ð ïž*.
+
+ð ðŒ, ð ðª âïž ð â "ð" `dict` â®ïž `**dict_to_unpack`:
+
+```Python
+old_dict = {
+ "old key": "old value",
+ "second old key": "second old value",
+}
+new_dict = {**old_dict, "new key": "new value"}
+```
+
+ð¥, `new_dict` ð ð ð ð-ð² ð« âªïžâ¡ïž `old_dict` â ð ð-ð² ð«:
+
+```Python
+{
+ "old key": "old value",
+ "second old key": "second old value",
+ "new key": "new value",
+}
+```
+
+ð ðª âïž ð â ð€-âïž ð¢ ðš ð *â¡ ð ïž* & ð ð« â®ïž ð ð ð.
+
+ðŒ:
+
+```Python hl_lines="13-17 26"
+{!../../../docs_src/additional_responses/tutorial004.py!}
+```
+
+## ð â¹ ð ð ðš
+
+ð â«ïžâ â«ïžâ ð ðª ð ðš, ð ðª â
ð ð ð ð§:
+
+* ð ðš ð, â«ïž ð `Response Object`.
+* ð ðš ð, ð ðª ð ð³ âªïžâ¡ïž ð ð ð ðš ð ð `responses` ð¢. â
`description`, `headers`, `content` (ð ð ð ð ð£ ð ð ð & ð» ð), & `links`.
diff --git a/docs/em/docs/advanced/additional-status-codes.md b/docs/em/docs/advanced/additional-status-codes.md
new file mode 100644
index 000000000..392579df6
--- /dev/null
+++ b/docs/em/docs/advanced/additional-status-codes.md
@@ -0,0 +1,37 @@
+# ð ð ð
+
+ð¢, **FastAPI** ð ðš ðš âïž `JSONResponse`, ð® ð ð ðš âªïžâ¡ïž ð *â¡ ð ïž* ð ð `JSONResponse`.
+
+â«ïž ð âïž ð¢ ð ð âïž 1ïžâ£ ð â ð *â¡ ð ïž*.
+
+## ð ð ð
+
+ð¥ ð ð ðš ð ð ð âïž âªïžâ¡ïž ð 1ïžâ£, ð ðª ð ð¬ `Response` ð, ð `JSONResponse`, & â ð ð ð ð.
+
+ðŒ, â¡ïž ð¬ ð ð ð âïž *â¡ ð ïž* ð â â¹ ð¬, & ðš ðºðžð ð ð 2ïžâ£0ïžâ£0ïžâ£ "ð" ðâ ð.
+
+âïž ð ð â«ïž ð« ð ð¬. & ðâ ð¬ ð« ð â, â«ïž â ð«, & ðš ðºðžð ð ð 2ïžâ£0ïžâ£1ïžâ£ "â".
+
+ð ð, ð `JSONResponse`, & ðš ð ð ð€ ð, â `status_code` ð ð ð:
+
+```Python hl_lines="4 25"
+{!../../../docs_src/additional_status_codes/tutorial001.py!}
+```
+
+!!! warning
+ ðâ ð ðš `Response` ð, ð ðŒ ð, â«ïž ð ðš ð.
+
+ â«ïž ð ð« ð» â®ïž ð·, âïž.
+
+ â ð â«ïž âïž ð ð ð â«ïž âïž, & ð ð² â ð» (ð¥ ð âïž `JSONResponse`).
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.responses import JSONResponse`.
+
+ **FastAPI** ð ð `starlette.responses` `fastapi.responses` ðª ð, ð©âð». âïž ð
ðª ðš ð ð âªïžâ¡ïž ð. ð â®ïž `status`.
+
+## ð & ð ïž ð©º
+
+ð¥ ð ðš ð ð ð & ðš ð, ð« ð ð« ð ð ð (ð ïž ð©º), â©ïž FastAPI ð« âïž ð ð ⪠â«ïžâ ð ð¶ ðš.
+
+âïž ð ðª ð ð ð ð, âïž: [ð ðš](additional-responses.md){.internal-link target=_blank}.
diff --git a/docs/em/docs/advanced/advanced-dependencies.md b/docs/em/docs/advanced/advanced-dependencies.md
new file mode 100644
index 000000000..fa1554734
--- /dev/null
+++ b/docs/em/docs/advanced/advanced-dependencies.md
@@ -0,0 +1,70 @@
+# ð§ ð
+
+## ð ð
+
+ð ð ð¥ âïž ð ð§ ð¢ âïž ð.
+
+âïž ð€ ðª ðŒ ðâ ð ð ðª â ð¢ ð ð, ðµ âïž ð£ ð ð ð¢ âïž ð.
+
+â¡ïž ð ð ð¥ ð âïž ð ð â
ð¥ ð¢ ð¢ `q` ð ð§ ð.
+
+âïž ð¥ ð ðª ð ð ð§ ð.
+
+## "ð§ð²" ð
+
+ð ð€ ð â ð ð "ð§ð²".
+
+ð« ð â«ïž (â ⪠ð§ð²), âïž ð ð ð.
+
+ð, ð¥ ð£ ð©âð¬ `__call__`:
+
+```Python hl_lines="10"
+{!../../../docs_src/dependencies/tutorial011.py!}
+```
+
+ð ðŒ, ð `__call__` â«ïžâ **FastAPI** ð âïž â
ð ð¢ & ð§-ð, & ð â«ïžâ ð ð€ ð¶ââïž ð² ð¢ ð *â¡ ð ïž ð¢* âª.
+
+## ð ð
+
+& ð, ð¥ ðª âïž `__init__` ð£ ð¢ ð ð ð¥ ðª âïž "ð" ð:
+
+```Python hl_lines="7"
+{!../../../docs_src/dependencies/tutorial011.py!}
+```
+
+ð ðŒ, **FastAPI** ð ð« â± ð âïž ð
ð `__init__`, ð¥ ð âïž â«ïž ð ð ð.
+
+## â ð
+
+ð¥ ðª â ð ð ð â®ïž:
+
+```Python hl_lines="16"
+{!../../../docs_src/dependencies/tutorial011.py!}
+```
+
+& ð ð ð¥ ðª "ð" ð ð, ð ð âïž `"bar"` ð â«ïž, ð¢ `checker.fixed_content`.
+
+## âïž ð ð
+
+‎ïž, ð¥ ðª âïž ð `checker` `Depends(checker)`, â©ïž `Depends(FixedContentQueryChecker)`, â©ïž ð ð, `checker`, ð« ð â«ïž.
+
+& ðâ â ð, **FastAPI** ð ð€ ð `checker` ð:
+
+```Python
+checker(q="somequery")
+```
+
+...& ð¶ââïž â«ïžâ ð ðš ð² ð ð *â¡ ð ïž ð¢* ð¢ `fixed_content_included`:
+
+```Python hl_lines="20"
+{!../../../docs_src/dependencies/tutorial011.py!}
+```
+
+!!! tip
+ ð ð ðª ð ð. & â«ïž ðª ð« ð¶ ð â â«ïž â .
+
+ ð« ðŒ ð« ð
, âïž ðŠ â â«ïž ð ð·.
+
+ ð ð ðââ, ð€ ð ð¢ ð ð ïž ð ð ð.
+
+ ð¥ ð ð€ ð ð, ð ⪠ð â ð ð ð§° ðââ ð· ð.
diff --git a/docs/em/docs/advanced/async-sql-databases.md b/docs/em/docs/advanced/async-sql-databases.md
new file mode 100644
index 000000000..848936de1
--- /dev/null
+++ b/docs/em/docs/advanced/async-sql-databases.md
@@ -0,0 +1,162 @@
+# ð ð (ð) ðœ
+
+ð ðª âïž `encode/databases` â®ïž **FastAPI** ð ðœ âïž `async` & `await`.
+
+â«ïž ð â®ïž:
+
+* â³
+* â³
+* ð
+
+ð ðŒ, ð¥ ð âïž **ð**, â©ïž â«ïž âïž ð ð & ð âïž ð ïž ðâðŠº. , ð ðª ð ð ðŒ & ð â«ïž.
+
+âª, ð ð ðž, ð ðª ð âïž ðœ ðœ ð **â³**.
+
+!!! tip
+ ð ðª ð ïž ð âªïžâ¡ïž ð ð ðžð² ð ([ð (ð) ðœ](../tutorial/sql-databases.md){.internal-link target=_blank}), ð âïž ð ð¢ ð ð ïž ðœ, ð¬ ð **FastAPI** ð.
+
+ ð ð ð« â ð ð, ð ð ð.
+
+## ð & â ð `SQLAlchemy`
+
+* ð `SQLAlchemy`.
+* â `metadata` ð.
+* â ð `notes` âïž `metadata` ð.
+
+```Python hl_lines="4 14 16-22"
+{!../../../docs_src/async_sql_databases/tutorial001.py!}
+```
+
+!!! tip
+ ð ð ð ð ð ð ðžð² ð.
+
+ `databases` ð« ðš ð³ ð¥.
+
+## ð & â ð `databases`
+
+* ð `databases`.
+* â `DATABASE_URL`.
+* â `database` ð.
+
+```Python hl_lines="3 9 12"
+{!../../../docs_src/async_sql_databases/tutorial001.py!}
+```
+
+!!! tip
+ ð¥ ð ð ð ðœ (â
â³), ð ð ðª ð `DATABASE_URL`.
+
+## â ð
+
+ð ðŒ, ð¥ ð ð ð ð ð, âïž ð, ð ð ð² ð â ð« â®ïž â, ð ïž â®ïž ð ïž, âïž.
+
+ð¥, ð ð ð ð ð, â¶ïžïž â â¶ïž ð **FastAPI** ðž.
+
+* â `engine`.
+* â ð ð âªïžâ¡ïž `metadata` ð.
+
+```Python hl_lines="25-28"
+{!../../../docs_src/async_sql_databases/tutorial001.py!}
+```
+
+## â ð·
+
+â Pydantic ð·:
+
+* ð â (`NoteIn`).
+* ð ðš (`Note`).
+
+```Python hl_lines="31-33 36-39"
+{!../../../docs_src/async_sql_databases/tutorial001.py!}
+```
+
+ð ð« Pydantic ð·, ð¢ ðœ ð â, ð» (ð), & â (ð).
+
+, ð ð ðª ð â«ïž ð ð ð ïž ð©º.
+
+## ð & ð
+
+* â ð `FastAPI` ðž.
+* â ð ðâðŠº ð & ð âªïžâ¡ïž ðœ.
+
+```Python hl_lines="42 45-47 50-52"
+{!../../../docs_src/async_sql_databases/tutorial001.py!}
+```
+
+## â ð
+
+â *â¡ ð ïž ð¢* â ð:
+
+```Python hl_lines="55-58"
+{!../../../docs_src/async_sql_databases/tutorial001.py!}
+```
+
+!!! Note
+ ð ð ð¥ ð â®ïž ðœ âïž `await`, *â¡ ð ïž ð¢* ð£ â®ïž `async`.
+
+### ð `response_model=List[Note]`
+
+â«ïž âïž `typing.List`.
+
+ð ð (& â, ð», âœ) ð¢ ðœ, `list` `Note`â.
+
+## â ð
+
+â *â¡ ð ïž ð¢* â ð:
+
+```Python hl_lines="61-65"
+{!../../../docs_src/async_sql_databases/tutorial001.py!}
+```
+
+!!! Note
+ ð ð ð¥ ð â®ïž ðœ âïž `await`, *â¡ ð ïž ð¢* ð£ â®ïž `async`.
+
+### ð `{**note.dict(), "id": last_record_id}`
+
+`note` Pydantic `Note` ð.
+
+`note.dict()` ðš `dict` â®ïž ð® ðœ, ð³ ð:
+
+```Python
+{
+ "text": "Some note",
+ "completed": False,
+}
+```
+
+âïž â«ïž ð« âïž `id` ð.
+
+ð¥ â ð `dict`, ð ð ð-ð² ð« âªïžâ¡ïž `note.dict()` â®ïž:
+
+```Python
+{**note.dict()}
+```
+
+`**note.dict()` "unpacks" the key value pairs directly, so, `{**note.dict()}` would be, more or less, a copy of `note.dict()`.
+
+& ‎ïž, ð¥ â ð ð `dict`, â â1ïžâ£ ð-ð² ð«: `"id": last_record_id`:
+
+```Python
+{**note.dict(), "id": last_record_id}
+```
+
+, ð ð ðš ð ð³ ð:
+
+```Python
+{
+ "id": 1,
+ "text": "Some note",
+ "completed": False,
+}
+```
+
+## â
â«ïž
+
+ð ðª ð ð ð, & ð 𩺠http://127.0.0.1:8000/docs.
+
+ð€ ð ðª ð ð ð ð ïž ð & ð â®ïž â«ïž:
+
+
+
+## ð
â¹
+
+ð ðª â ð
ð `encode/databases` ð® ð ð.
diff --git a/docs/em/docs/advanced/async-tests.md b/docs/em/docs/advanced/async-tests.md
new file mode 100644
index 000000000..df94c6ce7
--- /dev/null
+++ b/docs/em/docs/advanced/async-tests.md
@@ -0,0 +1,92 @@
+# ð ð¯
+
+ð âïž âª ð â ð¯ ð **FastAPI** ðž âïž ð `TestClient`. ð ð, ð âïž ðŽ ð â â ð ð¯, ðµ âïž `async` ð¢.
+
+â ðª âïž ð ð¢ ð ð¯ ðª â , ðŒ, ðâ ð ð¬ ð ðœ ð. ð ð ð ð¯ ðš ðš ð FastAPI ðž & â€Žïž â ð ð ð©âð» ⪠â â ðœ ðœ, ⪠âïž ð ðœ ð.
+
+â¡ïž ð â ð¥ ðª â ð ð·.
+
+## pytest.mark.anyio
+
+ð¥ ð¥ ð ð€ ð ð¢ ð ð¯, ð ð¯ ð¢ âïž ð. AnyIO ð ð ð ð, ð â ð¥ â ð ð¯ ð¢ ð€ ð.
+
+## ðžð²
+
+ð¥ ð **FastAPI** ðž âïž ð `def` ð¢ â©ïž `async def`, â«ïž `async` ðž ð.
+
+`TestClient` ðš ð± ð ð€ ð FastAPI ðž ð ð `def` ð¯ ð¢, âïž ð© â³. âïž ð ð± ð« ð· ð«ð ðâ ð¥ âïž â«ïž ð ð ð¢. ð ð ð¯ ð, ð¥ ðª ð
ââ ð âïž `TestClient` ð ð ð¯ ð¢.
+
+`TestClient` âïž ð ðžð², & â©ïž, ð¥ ðª âïž â«ïž ð ð¯ ð ïž.
+
+## ðŒ
+
+ð
ðŒ, â¡ïž ð€ ð ð ð 1ïžâ£ ð¬ [ðŠ ðž](../tutorial/bigger-applications.md){.internal-link target=_blank} & [ð¬](../tutorial/testing.md){.internal-link target=_blank}:
+
+```
+.
+âââ app
+â  âââ __init__.py
+â  âââ main.py
+â  âââ test_main.py
+```
+
+ð `main.py` ð âïž:
+
+```Python
+{!../../../docs_src/async_tests/main.py!}
+```
+
+ð `test_main.py` ð âïž ð¯ `main.py`, â«ïž ðª ð ð ð ð:
+
+```Python
+{!../../../docs_src/async_tests/test_main.py!}
+```
+
+## ð â«ïž
+
+ð ðª ð ð ð¯ ð ðš:
+
+
+
+âïž ð¥ ð¥ ð 𩺠ð "ð" ð âïž ð³ â®ïž ⎠`9999`, `/api/v1/docs`, â«ïž ð· â â ð¶
+
+ð ðª â
â«ïž http://127.0.0.1:9999/api/v1/docs:
+
+
+
+â¶ïžïž ð¥ ð â«ïž. ð¶ ð¶
+
+ð â©ïž FastAPI âïž ð `root_path` â ð¢ `server` ð â®ïž ð ð `root_path`.
+
+## ð ðœ
+
+!!! warning
+ ð ð
ð§ âïž ðŒ. ð ð ð¶ â«ïž.
+
+ð¢, **FastAPI** ð â `server` ð ð â®ïž ð `root_path`.
+
+âïž ð ðª ð ð ð `servers`, ðŒ ð¥ ð ð *ð* 𩺠ð ð â®ïž ð & ð ð.
+
+ð¥ ð ð¶ââïž ð ð `servers` & ð€ `root_path` (â©ïž ð ð ïž ðšââ€âðš â
ð³), **FastAPI** ð ð© "ðœ" â®ïž ð `root_path` â¶ïž ð.
+
+ðŒ:
+
+```Python hl_lines="4-7"
+{!../../../docs_src/behind_a_proxy/tutorial003.py!}
+```
+
+ð ð ð ð ð:
+
+```JSON hl_lines="5-7"
+{
+ "openapi": "3.0.2",
+ // More stuff here
+ "servers": [
+ {
+ "url": "/api/v1"
+ },
+ {
+ "url": "https://stag.example.com",
+ "description": "Staging environment"
+ },
+ {
+ "url": "https://prod.example.com",
+ "description": "Production environment"
+ }
+ ],
+ "paths": {
+ // More stuff here
+ }
+}
+```
+
+!!! tip
+ ð ð-ð ðœ â®ïž `url` ð² `/api/v1`, â âªïžâ¡ïž `root_path`.
+
+𩺠ð http://127.0.0.1:9999/api/v1/docs â«ïž ð ð ð:
+
+
+
+!!! tip
+ 𩺠ð ð ð â®ïž ðœ ð ð ð.
+
+### â ð§ ðœ âªïžâ¡ïž `root_path`
+
+ð¥ ð ð« ð **FastAPI** ð ð§ ðœ âïž `root_path`, ð ðª âïž ð¢ `root_path_in_servers=False`:
+
+```Python hl_lines="9"
+{!../../../docs_src/behind_a_proxy/tutorial004.py!}
+```
+
+& â€Žïž â«ïž ð ð« ð â«ïž ð ð.
+
+## ð ð§-ðž
+
+ð¥ ð ðª ð» ð§-ðž (ð¬ [ð§ ðž - ð»](./sub-applications.md){.internal-link target=_blank}) ⪠âïž ð³ â®ïž `root_path`, ð ðª â«ïž ð, ð ð â.
+
+FastAPI ð ð âïž `root_path` ð, â«ïž ð ð·. ð¶
diff --git a/docs/em/docs/advanced/conditional-openapi.md b/docs/em/docs/advanced/conditional-openapi.md
new file mode 100644
index 000000000..a17ba4eec
--- /dev/null
+++ b/docs/em/docs/advanced/conditional-openapi.md
@@ -0,0 +1,58 @@
+# ð² ð
+
+ð¥ ð ðª, ð ðª âïž â & ð ð¢ ð ð â âïž ð ð, & â â«ïž ð.
+
+## ð ðââ, ð, & ð©º
+
+ðµââ ð ð§Ÿ ð©âð» ð¢ ð *ð«ð ð«* ð ð¡ ð ð ïž.
+
+ð ð« ð® ð â ðââ ð ð ïž, *â¡ ð ïž* ð ðª ðâ ð«.
+
+ð¥ ð€ ðââ â ð ð, â«ïž ð ð.
+
+ðµââ ð§Ÿ â â«ïž ð
â ð€ â ð â®ïž ð ð ïž, & ðª â â«ïž ð
â ð â¹ â«ïž ð. â«ïž ðª ð€ ð¯ ðš ðââ ð ð.
+
+ð¥ ð ð ð ð ð ïž, ð€ ð ð ð ð ðª, ðŒ:
+
+* â ð ð âïž ð ð¬ Pydantic ð· ð ðš ðª & ðš.
+* ð ð â â & ð âïž ð.
+* ð
ðª ð¢ ð, ðŽ ð#ïžâ£.
+* ð ïž & âïž ð-ð ð ð§°, ð ðžð² & ð¥ ð€, âïž.
+* ð® ð
𧜠â ð â®ïž Oauth2ïžâ£ â ðâ ðª.
+* ...âïž.
+
+ð, ð 5ïžâ£ð âïž ð¶ ð¯ âïž ðŒ ðâ ð ð€ ðª â ð ïž ð©º ð (â
ð) âïž âïž ð ð³ âªïžâ¡ïž ð ð¢.
+
+## ð² ð âªïžâ¡ïž â & ðšð» {
+
+ð ðª ðª âïž ð Pydantic â ð ð ð ð & 𩺠â.
+
+ðŒ:
+
+```Python hl_lines="6 11"
+{!../../../docs_src/conditional_openapi/tutorial001.py!}
+```
+
+ð¥ ð¥ ð£ â `openapi_url` â®ïž ð ð¢ `"/openapi.json"`.
+
+& â€Žïž ð¥ âïž â«ïž ðâ ð `FastAPI` ð±.
+
+â€Žïž ð ðª â ð (â
ð ð©º) â ð ð¢ `OPENAPI_URL` ð ð», ð:
+
+
+
+## ðª ðš
+
+ð¥ ðª ðš.
+
+âïž ð€¯ ð ð ðª âïž `Response` ðš ð³ ð, âïž â ð ð§-ð.
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.responses import HTMLResponse`.
+
+ **FastAPI** ð ð `starlette.responses` `fastapi.responses` ðª ð, ð©âð». âïž ð
ðª ðš ð ð âªïžâ¡ïž ð.
+
+### `Response`
+
+ð `Response` ð, ð ð ðš ð âªïžâ¡ïž â«ïž.
+
+ð ðª ðš â«ïž ð.
+
+â«ïž ð« ð ð¢:
+
+* `content` - `str` âïž `bytes`.
+* `status_code` - `int` ðºðžð ð ð.
+* `headers` - `dict` ð».
+* `media_type` - `str` ð€ ð» ð. ð€¶ â. `"text/html"`.
+
+FastAPI (ð€ ð) ð ð ð ð-ð ð. â«ïž ð ð ð-ð ð, âïž ð = & ð = â ð.
+
+```Python hl_lines="1 18"
+{!../../../docs_src/response_directly/tutorial002.py!}
+```
+
+### `HTMLResponse`
+
+â â âïž ð¢ & ðš ðž ðš, ð â ð.
+
+### `PlainTextResponse`
+
+â â âïž ð¢ & ðš â
â ðš.
+
+```Python hl_lines="2 7 9"
+{!../../../docs_src/custom_response/tutorial005.py!}
+```
+
+### `JSONResponse`
+
+â ðœ & ðš `application/json` ð ðš.
+
+ð ð¢ ðš âïž **FastAPI**, ð â ð.
+
+### `ORJSONResponse`
+
+â© ð ð» ðš âïž `orjson`, ð â ð.
+
+### `UJSONResponse`
+
+ð ð» ðš âïž `ujson`.
+
+!!! warning
+ `ujson` ð ð ð ð ð-ð ïž â â«ïž ðµ ð-ðŒ.
+
+```Python hl_lines="2 7"
+{!../../../docs_src/custom_response/tutorial001.py!}
+```
+
+!!! tip
+ â«ïž ðª ð `ORJSONResponse` ðª â© ð.
+
+### `RedirectResponse`
+
+ðš ðºðžð â. âïž 3ïžâ£0ïžâ£7ïžâ£ ð ð (ð â) ð¢.
+
+ð ðª ðš `RedirectResponse` ð:
+
+```Python hl_lines="2 9"
+{!../../../docs_src/custom_response/tutorial006.py!}
+```
+
+---
+
+âïž ð ðª âïž â«ïž `response_class` ð¢:
+
+
+```Python hl_lines="2 7 9"
+{!../../../docs_src/custom_response/tutorial006b.py!}
+```
+
+ð¥ ð ð, â€Žïž ð ðª ðš ð ð âªïžâ¡ïž ð *â¡ ð ïž* ð¢.
+
+ð ðŒ, `status_code` âïž ð ð¢ 1ïžâ£ `RedirectResponse`, â `307`.
+
+---
+
+ð ðª âïž `status_code` ð¢ ð â®ïž `response_class` ð¢:
+
+```Python hl_lines="2 7 9"
+{!../../../docs_src/custom_response/tutorial006c.py!}
+```
+
+### `StreamingResponse`
+
+â ð ð âïž ð ð/ð» & ð ðš ðª.
+
+```Python hl_lines="2 14"
+{!../../../docs_src/custom_response/tutorial007.py!}
+```
+
+#### âïž `StreamingResponse` â®ïž ð-ð ð
+
+ð¥ ð âïž ð-ð ð (â
ð ðš `open()`), ð ðª â ð ð¢ ð ð€ ð ð-ð ð.
+
+ð ð, ð ð« âïž â â«ïž ð ð¥ ðŸ, & ð ðª ð¶ââïž ð ð ð¢ `StreamingResponse`, & ðš â«ïž.
+
+ð ð ð ð ð â®ïž â ðŸ, ð¹ ð, & ð.
+
+```{ .python .annotate hl_lines="2 10-12 14" }
+{!../../../docs_src/custom_response/tutorial008.py!}
+```
+
+1ïžâ£. ð ð ð¢. â«ïž "ð ð¢" â©ïž â«ïž ð `yield` ð ð.
+2ïžâ£. âïž `with` ð«, ð¥ â ð ð ð-ð ð ðª â®ïž ð ð¢ ðš. , â®ïž â«ïž ð ðš ðš.
+3ïžâ£. ð `yield from` ð¬ ð¢ ð ð€ ð ð ð `file_like`. & ‎ïž, ð ð ð, ðŸ ð ð ð âªïžâ¡ïž ð ð ð¢.
+
+ , â«ïž ð ð¢ ð ðš "ð" ð· ð³ ð ð.
+
+ ðš â«ïž ð ð, ð¥ ðª ð® â«ïž `with` ð«, & ð ð, ð ð â«ïž ðª â®ïž ð.
+
+!!! tip
+ ð ð ð¥ ð¥ âïž ð© `open()` ð ð« ðâðŠº `async` & `await`, ð¥ ð£ â¡ ð ïž â®ïž ð `def`.
+
+### `FileResponse`
+
+ð ð ð ðš.
+
+â ð â â ð ð ð ðš ð:
+
+* `path` - ð ð ð.
+* `headers` - ð ð ð ð, ð.
+* `media_type` - ð» ð€ ð» ð. ð¥ ð¢, ð âïž â¡ ð âïž ð ð» ð.
+* `filename` - ð¥ â, ð ð ð ðš `Content-Disposition`.
+
+ð ðš ð ð â `Content-Length`, `Last-Modified` & `ETag` ð.
+
+```Python hl_lines="2 10"
+{!../../../docs_src/custom_response/tutorial009.py!}
+```
+
+ð ðª âïž `response_class` ð¢:
+
+```Python hl_lines="2 8 10"
+{!../../../docs_src/custom_response/tutorial009b.py!}
+```
+
+ð ðŒ, ð ðª ðš ð â¡ ð âªïžâ¡ïž ð *â¡ ð ïž* ð¢.
+
+## ð ðš ð
+
+ð ðª â ð ð ð ðš ð, ð âªïžâ¡ïž `Response` & âïž â«ïž.
+
+ðŒ, â¡ïž ð¬ ð ð ð âïž `orjson`, âïž â®ïž ð â ð« âïž ð `ORJSONResponse` ð.
+
+â¡ïž ð¬ ð ð â«ïž ðš ð & ð ð», ð ð âïž Orjson ð `orjson.OPT_INDENT_2`.
+
+ð ðª â `CustomORJSONResponse`. ð ð ð âïž â `Response.render(content)` ð©âð¬ ð ðš ð `bytes`:
+
+```Python hl_lines="9-14 17"
+{!../../../docs_src/custom_response/tutorial009c.py!}
+```
+
+ð â©ïž ð¬:
+
+```json
+{"message": "Hello World"}
+```
+
+...ð ðš ð ðš:
+
+```json
+{
+ "message": "Hello World"
+}
+```
+
+âïž, ð ð ð² ð ð
ð ð â ð ð ð â ð». ð¶
+
+## ð¢ ðš ð
+
+ðâ ð **FastAPI** ð ð âïž `APIRouter` ð ðª â â ðš ð âïž ð¢.
+
+ð¢ ð ð¬ ð `default_response_class`.
+
+ðŒ ð, **FastAPI** ð âïž `ORJSONResponse` ð¢, ð *â¡ ð ïž*, â©ïž `JSONResponse`.
+
+```Python hl_lines="2 4"
+{!../../../docs_src/custom_response/tutorial010.py!}
+```
+
+!!! tip
+ ð ðª ð `response_class` *â¡ ð ïž* â.
+
+## ð ð§Ÿ
+
+ð ðª ð£ ð» ð & ð ð â¹ ð âïž `responses`: [ð ðš ð](additional-responses.md){.internal-link target=_blank}.
diff --git a/docs/em/docs/advanced/dataclasses.md b/docs/em/docs/advanced/dataclasses.md
new file mode 100644
index 000000000..a4c287106
--- /dev/null
+++ b/docs/em/docs/advanced/dataclasses.md
@@ -0,0 +1,98 @@
+# âïž ð»
+
+FastAPI ð ð ð **Pydantic**, & ð€ âïž ð ð â âïž Pydantic ð· ð£ ðš & ðš.
+
+âïž FastAPI ðâðŠº âïž `dataclasses` ð ð:
+
+```Python hl_lines="1 7-12 19-20"
+{!../../../docs_src/dataclasses/tutorial001.py!}
+```
+
+ð ðâðŠº ð **Pydantic**, â«ïž âïž ð ðâðŠº `dataclasses`.
+
+, â®ïž ð ð ð ð« âïž Pydantic ð¯, FastAPI âïž Pydantic ð ð ð© ð» Pydantic ð ð ð».
+
+& âïž, â«ïž ðâðŠº ð:
+
+* ðœ ð¬
+* ðœ ð ïž
+* ðœ ð§Ÿ, âïž.
+
+ð ð· ð ð â®ïž Pydantic ð·. & â«ïž ð€ ð ð ð ð, âïž Pydantic.
+
+!!! info
+ âïž ð€¯ ð ð» ðª ð« ð Pydantic ð· ðª.
+
+ , ð 5ïžâ£ð ðª âïž Pydantic ð·.
+
+ âïž ð¥ ð âïž ð ð» ð€¥ ð€, ð ð ð± âïž ð« ðïž ðž ð ïž âïž FastAPI. ð¶
+
+## ð» `response_model`
+
+ð ðª âïž `dataclasses` `response_model` ð¢:
+
+```Python hl_lines="1 7-13 19"
+{!../../../docs_src/dataclasses/tutorial002.py!}
+```
+
+ð» ð ð ð Pydantic ð».
+
+ð ð, ð® ð ð ðŠ ð ð ïž ð©º ð©âð» ð¢:
+
+
+
+## ð» ð ð ð
+
+ð ðª ð `dataclasses` â®ïž ð ð â â ðŠ ð ð.
+
+ðŒ, ð ðª âïž âïž Pydantic ⬠`dataclasses`. ðŒ, ð¥ ð âïž â â®ïž ð ð ð ïž ð§Ÿ.
+
+ð ðŒ, ð ðª ð¯ ð± ð© `dataclasses` â®ïž `pydantic.dataclasses`, â ð§-â»:
+
+```{ .python .annotate hl_lines="1 5 8-11 14-17 23-25 28" }
+{!../../../docs_src/dataclasses/tutorial003.py!}
+```
+
+1ïžâ£. ð¥ ð `field` âªïžâ¡ïž ð© `dataclasses`.
+
+2ïžâ£. `pydantic.dataclasses` ð§-â» `dataclasses`.
+
+3ïžâ£. `Author` ð» ð ð `Item` ð».
+
+4ïžâ£. `Author` ð» âïž `response_model` ð¢.
+
+5ïžâ£. ð ðª âïž ð ð© ð â â®ïž ð» ðš ðª.
+
+ ð ðŒ, â«ïž ð `Item` ð».
+
+6ïžâ£. ð¥ ð¥ ð¬ ð ð ð `items` â ð ð».
+
+ FastAPI ð¯ â ðœ ð».
+
+7ïžâ£. ð¥ `response_model` âïž ð â ð `Author` ð».
+
+ ð, ð ðª ð `dataclasses` â®ïž ð© ð â.
+
+8ïžâ£. ð ð ð *â¡ ð ïž ð¢* âïž ð¥ `def` â©ïž `async def`.
+
+ ð§, FastAPI ð ðª ð `def` & `async def` ðª.
+
+ ð¥ ð ðª âïž ð ðâ âïž â, â
ð
ð _"ð â" _ 𩺠ð `async` & `await`.
+
+9ïžâ£. ð *â¡ ð ïž ð¢* ð« ð¬ ð» (ð â«ïž ðª), âïž ð ð â®ïž ð ðœ.
+
+ FastAPI ð âïž `response_model` ð¢ (ð ð ð») ð ðš.
+
+ð ðª ð `dataclasses` â®ïž ð ð â ð ð ð ðš ð ð ð.
+
+â
-ð â ðââ ð ð ð
ð¯ â¹.
+
+## ð¡ ð
+
+ð ðª ð `dataclasses` â®ïž ð Pydantic ð·, ð âªïžâ¡ïž ð«, ð ð« ð ð ð·, âïž.
+
+ð¡ ð
, â
Pydantic 𩺠ð ð».
+
+## â¬
+
+ð ðª â©ïž FastAPI ⬠`0.67.0`. ð¶
diff --git a/docs/em/docs/advanced/events.md b/docs/em/docs/advanced/events.md
new file mode 100644
index 000000000..671e81b18
--- /dev/null
+++ b/docs/em/docs/advanced/events.md
@@ -0,0 +1,160 @@
+# ð ð
+
+ð ðª ð¬ â (ð) ð ð ð ïž â ðž **â¶ïž ð**. ð â ð ð ð ð ð ïž **ð**, **â** ðž **â¶ïž ðš ðš**.
+
+ð ð, ð ðª ð¬ â (ð) ð ð ð ïž ðâ ðž **ð€« ðœ**. ð ðŒ, ð ð ð ð ïž **ð**, **â®ïž** âïž ðµ ð² **ð ðš**.
+
+â©ïž ð ð ð ïž â ðž **â¶ïž** â ðš, & â¶ïžïž â®ïž â«ïž **ð** ð ðš, â«ïž ð ð ðž **ð** (ð€ "ð" ð â ð¥ ð¶).
+
+ð ðª ð¶ â â ð **â¹** ð ð ðª âïž ð ð±, & ð **ð°** ðª ðš, &/âïž ð ð ðª **ð§¹ ð** â®ïž. ðŒ, ðœ ð ð±, âïž ð ð ð° ð« ð·.
+
+## âïž ðŒ
+
+â¡ïž â¶ïž â®ïž ðŒ **âïž ðŒ** & â€Žïž ð â â â«ïž â®ïž ð.
+
+â¡ïž ð ð ð âïž **ð° ð« ð·** ð ð ð âïž ðµ ðš. ð¶
+
+ð ð· ð ðª ðš,, â«ïž ð« 1ïžâ£ ð· ð ðš, âïž 1ïžâ£ ð ð©âð» âïž ð³ ð.
+
+â¡ïž ð ð ð ð· ðª **â ð°**, â©ïž â«ïž âïž â ð **ðœ âªïžâ¡ïž ðŸ**. ð ð« ð â«ïž ð ðš.
+
+ð ðª ð â«ïž ð ð ð¹/ð, âïž ð ð â ð â«ïž ð **ð ð·** ð¥ ð ðââ ð
ð§ ð¯, â€Žïž ð ð¯ ð **ð** â©ïž â«ïž ð âïž â ð· ð â ðââ ðª ð ð¬ ð ð.
+
+ð â«ïžâ ð¥ ð â, â¡ïž ð ð· â ðš ðµ, âïž ðŽ â¶ïžïž â ðž â¶ïž ðš ðš, ð« ⪠ð â ð.
+
+## ð
+
+ð ðª ð¬ ð *ðŽ* & *ð€«* â âïž `lifespan` ð¢ `FastAPI` ð±, & "ð ðšâðŒ" (ð€ ð ðŠ ð â«ïžâ ð ð¥).
+
+â¡ïž â¶ïž â®ïž ðŒ & â€Žïž ð â«ïž â¹.
+
+ð¥ â ð ð¢ `lifespan()` â®ïž `yield` ð ð:
+
+```Python hl_lines="16 19"
+{!../../../docs_src/events/tutorial003.py!}
+```
+
+ð¥ ð¥ â ð¥ *ðŽ* ð ïž ð ð· ð® (â) ð· ð¢ ð â®ïž ð° ð« ð· â `yield`. ð ð ð ð ïž **â** ðž **â¶ïž â ðš**, â®ïž *ðŽ*.
+
+& ‎ïž, â¶ïžïž â®ïž `yield`, ð¥ ð ð·. ð ð ð ð ïž **â®ïž** ðž **ð ð ðš**, â¶ïžïž â *ð€«*. ð ðª, ðŒ, ð â¹ ð ðŸ âïž ð».
+
+!!! tip
+ `shutdown` ð ðš ðâ ð **âïž** ðž.
+
+ ð² ð ðª â¶ïž ð â¬, âïž ð ð€ ð¡ ð â«ïž. ð€·
+
+### ð ð¢
+
+ð¥ ð ð, ð ð¥ â ð ð¢ â®ïž `yield`. ð ð¶ ð ð â®ïž `yield`.
+
+```Python hl_lines="14-19"
+{!../../../docs_src/events/tutorial003.py!}
+```
+
+ð¥ ð ð¢, â `yield`, ð ð ïž **â** ðž â¶ïž.
+
+& ð â®ïž `yield` ð ð ïž **â®ïž** ðž âïž ð.
+
+### ð ð ðšâðŒ
+
+ð¥ ð â
, ð¢ ð â®ïž `@asynccontextmanager`.
+
+ð ð ð¢ ð ð³ ð€ "**ð ð ðšâðŒ**".
+
+```Python hl_lines="1 13"
+{!../../../docs_src/events/tutorial003.py!}
+```
+
+**ð ðšâðŒ** ð ð³ ð ð ðª âïž `with` ð, ðŒ, `open()` ðª âïž ð ðšâðŒ:
+
+```Python
+with open("file.txt") as file:
+ file.read()
+```
+
+â®ïž ⬠ð, ð€ **ð ð ðšâðŒ**. ð ð âïž â«ïž â®ïž `async with`:
+
+```Python
+async with lifespan(app):
+ await do_stuff()
+```
+
+ðâ ð â ð ðšâðŒ âïž ð ð ðšâðŒ ð ð, â«ïžâ â«ïž ðš ð, â ð¬ `with` ð«, â«ïž ð ð ïž ð â `yield`, & â®ïž â `with` ð«, â«ïž ð ð ïž ð â®ïž `yield`.
+
+ð ð ðŒ ð, ð¥ ð« âïž â«ïž ð, âïž ð¥ ð¶ââïž â«ïž FastAPI â«ïž âïž â«ïž.
+
+`lifespan` ð¢ `FastAPI` ð± â **ð ð ðšâðŒ**, ð¥ ðª ð¶ââïž ð ð `lifespan` ð ð ðšâðŒ â«ïž.
+
+```Python hl_lines="22"
+{!../../../docs_src/events/tutorial003.py!}
+```
+
+## ð ð (ð¢)
+
+!!! warning
+ ð ð ðµ *ðŽ* & *ð€«* âïž `lifespan` ð¢ `FastAPI` ð± ð¬ ð.
+
+ ð ðª ð² ð¶ ð ð.
+
+ð€ ð ð ð¬ ð â ð ïž â®ïž *ðŽ* & â®ïž *ð€«*.
+
+ð ðª ð¬ ð ðâðŠº (ð¢) ð ðª ð ïž â ðž â¶ïž ð, âïž ðâ ðž ð€« ðœ.
+
+ð« ð¢ ðª ð£ â®ïž `async def` âïž ð `def`.
+
+### `startup` ð
+
+ð® ð¢ ð ð ð â ðž â¶ïž, ð£ â«ïž â®ïž ð `"startup"`:
+
+```Python hl_lines="8"
+{!../../../docs_src/events/tutorial001.py!}
+```
+
+ð ðŒ, `startup` ð ðâðŠº ð¢ ð ð¢ ð¬ "ðœ" ( `dict`) â®ïž ð².
+
+ð ðª ð® ð
ð 1ïžâ£ ð ðâðŠº ð¢.
+
+& ð ðž ð ð« â¶ïž ðš ðš â ð `startup` ð ðâðŠº âïž ð.
+
+### `shutdown` ð
+
+ð® ð¢ ð ð ð ðâ ðž ð€« ðœ, ð£ â«ïž â®ïž ð `"shutdown"`:
+
+```Python hl_lines="6"
+{!../../../docs_src/events/tutorial002.py!}
+```
+
+ð¥, `shutdown` ð ðâðŠº ð¢ ð â â âž `"Application shutdown"` ð `log.txt`.
+
+!!! info
+ `open()` ð¢, `mode="a"` â "ð»",, âž ð ð® â®ïž â«ïžâ ð ð ð, ðµ ð â®ïž ð.
+
+!!! tip
+ ð ð ð ðŒ ð¥ âïž ð© ð `open()` ð¢ ð ð â®ïž ð.
+
+ , â«ïž ð ð€/ð
Ÿ (ð¢/ð¢), ð ð "â" ð â ðŸ.
+
+ âïž `open()` ð« âïž `async` & `await`.
+
+ , ð¥ ð£ ð ðâðŠº ð¢ â®ïž ð© `def` â©ïž `async def`.
+
+!!! info
+ ð ðª â ð
ð ð« ð ðâðŠº ð ð' ð©º.
+
+### `startup` & `shutdown` ð¯ââïž
+
+ð€ â ð€ ð â ð *ðŽ* & *ð€«* ð, ð ðª ð â¶ïž ð³ & â€Žïž ð â«ïž, ð â¹ & â€Žïž ð â«ïž, âïž.
+
+ðš ð ðœ ð¢ ð ð« ð° â âïž ð¢ ð¯ââïž ð
â ð ð ðª ðª ð² ð ð¢ âïž ð ð±.
+
+â©ïž ð, â«ïž ð ð â©ïž âïž `lifespan` ð¬ ð.
+
+## ð¡ â¹
+
+ð¡ â¹ ð ð€. ð¶
+
+ð, ð« ð¡ ð§, ð ð ð ð ïž, & â«ïž ð¬ ð ð€ `startup` & `shutdown`.
+
+## ð§ ðž
+
+ð¶ âïž ð€¯ ð ð« ð ð (ðŽ & ð€«) ð ðŽ ð ïž ð ðž, ð« [ð§ ðž - ð»](./sub-applications.md){.internal-link target=_blank}.
diff --git a/docs/em/docs/advanced/extending-openapi.md b/docs/em/docs/advanced/extending-openapi.md
new file mode 100644
index 000000000..496a8d9de
--- /dev/null
+++ b/docs/em/docs/advanced/extending-openapi.md
@@ -0,0 +1,314 @@
+# â ð
+
+!!! warning
+ ð ð ð§ â. ð ð² ðª ð¶ â«ïž.
+
+ ð¥ ð ð ð° - ð©âð» ðŠ®, ð ðª ð² ð¶ ð ð.
+
+ ð¥ ð ⪠ð ð ð ðª ð ð ð ð, ð£ ð.
+
+ð€ ðŒ ðâ ð ðª ðª ð ð ð ð.
+
+ð ð ð ð ð â.
+
+## ð ð ïž
+
+ð (ð¢) ð ïž, â©.
+
+`FastAPI` ðž (ð) âïž `.openapi()` ð©âð¬ ð ð ðš ð ð.
+
+ð ðž ð ð, *â¡ ð ïž* `/openapi.json` (âïž â«ïžâ ð â ð `openapi_url`) ®.
+
+â«ïž ðš ð» ðš â®ïž ð ðž `.openapi()` ð©âð¬.
+
+ð¢, â«ïžâ ð©âð¬ `.openapi()` ðš â
ð `.openapi_schema` ð ð¥ â«ïž âïž ð & ðš ð«.
+
+ð¥ â«ïž ð«, â«ïž ð ð« âïž ð ð¢ `fastapi.openapi.utils.get_openapi`.
+
+& ð ð¢ `get_openapi()` ðš ð¢:
+
+* `title`: ð ð, ðŠ ð©º.
+* `version`: ⬠ð ð ïž, â
`2.5.0`.
+* `openapi_version`: ⬠ð ð§ âïž. ð¢, âª: `3.0.2`.
+* `description`: ð ð ð ïž.
+* `routes`: ð ð£, ð« ð ® *â¡ ð ïž*. ð« â âªïžâ¡ïž `app.routes`.
+
+## ð ð¢
+
+âïž â¹ ð, ð ðª âïž ð ð ð¢ ð ð ð & ð ð ð ð ð ðª.
+
+ðŒ, â¡ïž ð® ð ð â ð ð ð±.
+
+### ð **FastAPI**
+
+ð¥, â ð ð **FastAPI** ðž ð:
+
+```Python hl_lines="1 4 7-9"
+{!../../../docs_src/extending_openapi/tutorial001.py!}
+```
+
+### ð ð ð
+
+‎ïž, âïž ð ð ð¢ ð ð ð, ð `custom_openapi()` ð¢:
+
+```Python hl_lines="2 15-20"
+{!../../../docs_src/extending_openapi/tutorial001.py!}
+```
+
+### ð ð ð
+
+ð ð ðª ð® ð â, â ð `x-logo` `info` "ð" ð ð:
+
+```Python hl_lines="21-23"
+{!../../../docs_src/extending_openapi/tutorial001.py!}
+```
+
+### ðŸ ð ð
+
+ð ðª âïž ð `.openapi_schema` "ðŸ", ðª ð ð ð.
+
+ð ð, ð ðž ð ð« âïž ð ð ð ð° ð©âð» ð ð ð ïž ð©º.
+
+â«ïž ð ð ðŽ ð, & â€Žïž ð ðŸ ð ð âïž â ðš.
+
+```Python hl_lines="13-14 24-25"
+{!../../../docs_src/extending_openapi/tutorial001.py!}
+```
+
+### ð ð©âð¬
+
+ð ð ðª â `.openapi()` ð©âð¬ â®ïž ð ð ð¢.
+
+```Python hl_lines="28"
+{!../../../docs_src/extending_openapi/tutorial001.py!}
+```
+
+### â
â«ïž
+
+ð ð ð¶ http://127.0.0.1:8000/redoc ð ð ð ð ð âïž ð ð ð± (ð ðŒ, **FastAPI**'â ð±):
+
+
+
+## ð€-ðž ðž & ð ð©º
+
+ð ïž ð©º âïž **ðŠ ð** & **ð**, & ð ð ðª ðž & ð ð.
+
+ð¢, ð ð ðŠ âªïžâ¡ïž ð².
+
+âïž â«ïž ðª ð â«ïž, ð ðª â ð¯ ð², âïž ðŠ ð ð.
+
+ð â , ðŒ, ð¥ ð ðª ð ð± ð§ ð· ⪠ð±, ðµ ð ðž ð, âïž ð§ð¿ ðž.
+
+ð¥ ð ð ð â ðŠ ð ð ð, ð FastAPI ð±, & ð 𩺠âïž ð«.
+
+### ð ð ð
+
+â¡ïž ð¬ ð ð ð ð ð ð ð:
+
+```
+.
+âââ app
+â âââ __init__.py
+â âââ main.py
+```
+
+ð â ð ðª ð ð» ð.
+
+ð ð ð ð ðª ð ð ð:
+
+```
+.
+âââ app
+â  âââ __init__.py
+â  âââ main.py
+âââ static/
+```
+
+### ⬠ð
+
+⬠ð» ð ðª 𩺠& ð® ð« ð ð `static/` ð.
+
+ð ðª ð² â¶ïžïž-ð ð ð & ð ð ð `Save link as...`.
+
+**ðŠ ð** âïž ð:
+
+* `swagger-ui-bundle.js`
+* `swagger-ui.css`
+
+& **ð** âïž ð:
+
+* `redoc.standalone.js`
+
+â®ïž ð, ð ð ð ðª ð ð:
+
+```
+.
+âââ app
+â  âââ __init__.py
+â  âââ main.py
+âââ static
+ âââ redoc.standalone.js
+ âââ swagger-ui-bundle.js
+ âââ swagger-ui.css
+```
+
+### ðŠ ð» ð
+
+* ð `StaticFiles`.
+* "ð»" `StaticFiles()` ð ð¯ â¡.
+
+```Python hl_lines="7 11"
+{!../../../docs_src/extending_openapi/tutorial002.py!}
+```
+
+### ð¯ ð» ð
+
+â¶ïž ð ðž & ð¶ http://127.0.0.1:8000/static/redoc.standalone.js.
+
+ð ð ð ð¶ ð ðž ð **ð**.
+
+â«ïž ðª â¶ïž â®ïž ð³ ð:
+
+```JavaScript
+/*!
+ * ReDoc - OpenAPI/Swagger-generated API Reference Documentation
+ * -------------------------------------------------------------
+ * Version: "2.0.0-rc.18"
+ * Repo: https://github.com/Redocly/redoc
+ */
+!function(e,t){"object"==typeof exports&&"object"==typeof m
+
+...
+```
+
+ð â ð ð ðââ ðª ðŠ ð» ð âªïžâ¡ïž ð ð±, & ð ð ð¥ ð» ð 𩺠â ð¥.
+
+ð ð¥ ðª ð ð± âïž ð ð» ð ð©º.
+
+### â ð§ ð©º
+
+ð¥ ð â ð§ ð©º, ð âïž ð² ð¢.
+
+â ð«, â ð« ð `None` ðâ ð ð `FastAPI` ð±:
+
+```Python hl_lines="9"
+{!../../../docs_src/extending_openapi/tutorial002.py!}
+```
+
+### ð ð ð©º
+
+ð ð ðª â *â¡ ð ïž* ð ð©º.
+
+ð ðª ð€-âïž FastAPI ð ð¢ â ðž ð ð©º, & ð¶ââïž ð« ðª â:
+
+* `openapi_url`: ð ðâ ðž ð 𩺠ðª ð€ ð ð ð ð ïž. ð ðª âïž ð¥ ð¢ `app.openapi_url`.
+* `title`: ð ð ð ïž.
+* `oauth2_redirect_url`: ð ðª âïž `app.swagger_ui_oauth2_redirect_url` ð¥ âïž ð¢.
+* `swagger_js_url`: ð ðâ ðž ð ðŠ ð 𩺠ðª ð€ **ðž** ð. ð 1ïžâ£ ð ð ð ð± ð ðŠ.
+* `swagger_css_url`: ð ðâ ðž ð ðŠ ð 𩺠ðª ð€ **ð** ð. ð 1ïžâ£ ð ð ð ð± ð ðŠ.
+
+& â¡ ð...
+
+```Python hl_lines="2-6 14-22 25-27 30-36"
+{!../../../docs_src/extending_openapi/tutorial002.py!}
+```
+
+!!! tip
+ *â¡ ð ïž* `swagger_ui_redirect` ð©âð ðâ ð âïž Oauth2ïžâ£.
+
+ ð¥ ð ð ïž ð ð ïž â®ïž Oauth2ïžâ£ ðâðŠº, ð ð ðª ð & ð ð ð ïž ð©º â®ïž ð ð. & ð â®ïž â«ïž âïž ð° Oauth2ïžâ£ ð€.
+
+ ðŠ ð ð ðµ â«ïž â
ð ð, âïž â«ïž ðª ð "â" ð©âð.
+
+### â *â¡ ð ïž* ð¯ â«ïž
+
+ð, ðª ð¯ ð ð ð·, â *â¡ ð ïž*:
+
+```Python hl_lines="39-41"
+{!../../../docs_src/extending_openapi/tutorial002.py!}
+```
+
+### ð¯ â«ïž
+
+ð, ð ð ðª ð ð ð», ð¶ ð 𩺠http://127.0.0.1:8000/docs, & ð ð.
+
+& ðµ ðž, ð ð ðª ð 𩺠ð ð ïž & ð â®ïž â«ïž.
+
+## ð ïž ðŠ ð
+
+ð ðª ð â ðŠ ð ð¢.
+
+ð ð«, ð¶ââïž `swagger_ui_parameters` â ðâ ð `FastAPI()` ð± ð âïž `get_swagger_ui_html()` ð¢.
+
+`swagger_ui_parameters` ðš ð â®ïž ð³ ð¶ââïž ðŠ ð ð.
+
+FastAPI ð ð³ **ð»** â ð« ð â®ïž ðž, ð â«ïžâ ðŠ ð ðª.
+
+### â â ðŠ
+
+ðŒ, ð ðª â â ðŠ ðŠ ð.
+
+ðµ ð â, â ðŠ ð ïž ð¢:
+
+
+
+âïž ð ðª â â«ïž â `syntaxHighlight` `False`:
+
+```Python hl_lines="3"
+{!../../../docs_src/extending_openapi/tutorial003.py!}
+```
+
+...& â€Žïž ðŠ ð ð ð« ðŠ â ðŠ ð«ð:
+
+
+
+### ð ð¢
+
+ð ð ð ðª â â ðŠ ð¢ â®ïž ð `"syntaxHighlight.theme"` (ð ð â«ïž âïž â£ ð):
+
+```Python hl_lines="3"
+{!../../../docs_src/extending_openapi/tutorial004.py!}
+```
+
+ð ð³ ð ð â ðŠ ðš ð¢:
+
+
+
+### ð ð¢ ðŠ ð ð¢
+
+FastAPI ð ð¢ ð³ ð¢ â ð
âïž ðŒ.
+
+â«ïž ð ð« ð¢ ð³:
+
+```Python
+{!../../../fastapi/openapi/docs.py[ln:7-13]!}
+```
+
+ð ðª ð ð ð« â ð ð² â `swagger_ui_parameters`.
+
+ðŒ, â `deepLinking` ð ðª ð¶ââïž ð â `swagger_ui_parameters`:
+
+```Python hl_lines="3"
+{!../../../docs_src/extending_openapi/tutorial005.py!}
+```
+
+### ð ðŠ ð ð¢
+
+ð ð ð ðª ð³ ð ðª âïž, â ð 𩺠ðŠ ð ð¢.
+
+### ðž-ðŽ â
+
+ðŠ ð â ð ð³ **ðž-ðŽ** ð (ðŒ, ðž ð¢).
+
+FastAPI ð ð« ðž-ðŽ `presets` â:
+
+```JavaScript
+presets: [
+ SwaggerUIBundle.presets.apis,
+ SwaggerUIBundle.SwaggerUIStandalonePreset
+]
+```
+
+ð« **ðž** ð, ð« ð», ð ðª ð« ð¶ââïž ð« âªïžâ¡ïž ð ð ð.
+
+ð¥ ð ðª âïž ðž-ðŽ ð³ ð ð, ð ðª âïž 1ïžâ£ ð©âð¬ ð. ð ð ðŠ ð *â¡ ð ïž* & â â ð ðž ð ðª.
diff --git a/docs/em/docs/advanced/generate-clients.md b/docs/em/docs/advanced/generate-clients.md
new file mode 100644
index 000000000..30560c8c6
--- /dev/null
+++ b/docs/em/docs/advanced/generate-clients.md
@@ -0,0 +1,267 @@
+# ð ð©âð»
+
+**FastAPI** âïž ð ð ð§, ð ð€ ð§ ð â®ïž ð ð§°, ð ð§ ð ïž ð©º (ð ðŠ ð).
+
+1ïžâ£ ð¯ ð ð ð« ð¯ â ð ð ðª **ð ð©âð»** (ð£ ð€ **ð±** ) ð ð ïž, ð ð **ð ïž ðªðž**.
+
+## ð ð©âð» ð
+
+ð€ ð ð§° ð ð©âð» âªïžâ¡ïž **ð**.
+
+â ð§° ð ð.
+
+ð¥ ð ð **ðž**, ð¶ ð ð ð-ð-ðŠðª.
+
+## ð ð ðž ð©âð»
+
+â¡ïž â¶ïž â®ïž ð
FastAPI ðž:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9-11 14-15 18 19 23"
+ {!> ../../../docs_src/generate_clients/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="7-9 12-13 16-17 21"
+ {!> ../../../docs_src/generate_clients/tutorial001_py39.py!}
+ ```
+
+ð ð *â¡ ð ïž* ð¬ ð· ð« âïž ðš ð & ðš ð, âïž ð· `Item` & `ResponseMessage`.
+
+### ð ïž ð©º
+
+ð¥ ð ð¶ ð ïž ð©º, ð ð ð ð â«ïž âïž **ð** ð ðš ðš & ðš ðš:
+
+
+
+ð ðª ð ð ð â©ïž ð« ð£ â®ïž ð· ð±.
+
+ð â¹ ðª ð± **ð ð**, & â€Žïž ðŠ ð ïž ð©º (ðŠ ð).
+
+& ð ð â¹ âªïžâ¡ïž ð· ð ð ð â«ïžâ ðª âïž **ð ð©âð» ð**.
+
+### ð ð ð©âð»
+
+ð ð ð¥ âïž ð± â®ïž ð·, ð¥ ðª ð ð©âð» ð ðž.
+
+#### â `openapi-typescript-codegen`
+
+ð ðª â `openapi-typescript-codegen` ð ðž ð â®ïž:
+
+
+
+ð ð ð€ â ð ðš:
+
+
+
+!!! tip
+ ð â `name` & `price`, ð ð¬ FastAPI ðž, `Item` ð·.
+
+ð ð âïž âž â ð ð ð ðš:
+
+
+
+ðš ð ð âïž â:
+
+
+
+## FastAPI ð± â®ïž ð
+
+ð ðŒ ð FastAPI ð± ð ðŠ, & ð ð ð² âïž ð ð ð ðª *â¡ ð ïž*.
+
+ðŒ, ð ðª âïž ð **ð¬** & â1ïžâ£ ð **ð©âð»**, & ð« ðª ðœ ð:
+
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="23 28 36"
+ {!> ../../../docs_src/generate_clients/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="21 26 34"
+ {!> ../../../docs_src/generate_clients/tutorial002_py39.py!}
+ ```
+
+### ð ð ð©âð» â®ïž ð
+
+ð¥ ð ð ð©âð» FastAPI ð± âïž ð, â«ïž ð ð ð ð©âð» ð âïž ð ð.
+
+ð ð ð ð ðª âïž ð â & ðª â ð©âð» ð:
+
+
+
+ð ðŒ ð âïž:
+
+* `ItemsService`
+* `UsersService`
+
+### ð©âð» ð©âð¬ ð
+
+â¶ïžïž ð ð ð©âð¬ ð ð `createItemItemsPost` ð« ð ð¶ ð§¹:
+
+```TypeScript
+ItemsService.createItemItemsPost({name: "Plumbus", price: 5})
+```
+
+...ð â©ïž ð©âð» ð âïž ð ð **ð ïž ð** ð *â¡ ð ïž*.
+
+ð ð ð ð ð ïž ð ð ð€ ð *â¡ ð ïž*, FastAPI âïž **ð¢ ð**, **â¡**, & **ðºðžð ð©âð¬/ð ïž** ð ð ð ïž ð, â©ïž ð ð â«ïž ðª â ð ð ð ïž ð ð.
+
+âïž ð€ ð ðŠ ð â ð ð â. ð¶
+
+## ð ð ïž ð & ð ð©âð¬ ð
+
+ð ðª **ð** ð ð« ð ïž ð **ð** â ð« ð
& âïž **ð
ð©âð¬ ð** ð©âð».
+
+ð ðŒ ð ð âïž ð ð ð ð ïž ð **ð** ð ð.
+
+ðŒ, ð ðª â ð ð ð *â¡ ð ïž* âïž ð, & â€Žïž ð ð ïž ð âïž ð **ð** & *â¡ ð ïž* **ð** (ð¢ ð).
+
+### ð ð ð ð ð¢
+
+FastAPI âïž **ð ð** ð *â¡ ð ïž*, â«ïž âïž **ð ïž ð** & ð ð ðª ð ð·, ðš âïž ðš.
+
+ð ðª ð ð ð¢. â«ïž â `APIRoute` & ð¢ ð».
+
+ðŒ, ð¥ â«ïž âïž ð¥ ð (ð ð ð² âïž ðŽ 1ïžâ£ ð) & *â¡ ð ïž* ð (ð¢ ð).
+
+ð ðª â€Žïž ð¶ââïž ð ð ð¢ **FastAPI** `generate_unique_id_function` ð¢:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="8-9 12"
+ {!> ../../../docs_src/generate_clients/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="6-7 10"
+ {!> ../../../docs_src/generate_clients/tutorial003_py39.py!}
+ ```
+
+### ð ð ð©âð» â®ïž ð ð ïž ð
+
+ð ð¥ ð ð ð©âð» ð, ð ð ð ð â«ïž âïž ð ð©âð¬ ð:
+
+
+
+ð ð, ð©âð¬ ð ð âïž ð & â€Žïž ð¢ ð, ð ð« ð« ð â¹ âªïžâ¡ïž ð â¡ & ðºðžð ð ïž.
+
+### ð ð ð§ ð©âð» ð
+
+ð ð âïž **â â¹**.
+
+ð¥ ⪠ð ð ð ð©âð¬ ð **ð¬** â©ïž ð ð€ `ItemsService` (â âªïžâ¡ïž ð), âïž ð¥ âïž ð ð¡ ð©âð¬ ð ðââïž. ð¶
+
+ð¥ ð ð² ð ð§ â«ïž ð ð¢, ð ð ð ð ð ïž ð **ð**.
+
+âïž ð ð©âð» ð¥ ðª **ð** ð ð ïž ð â¶ïžïž â ð ð©âð», â ð ð©âð¬ ð ð & **ð§¹**.
+
+ð¥ ðª ⬠ð ð» ð `openapi.json` & â€Žïž ð¥ ðª **â ð ð¡ ð** â®ïž â ð ð:
+
+```Python
+{!../../../docs_src/generate_clients/tutorial004.py!}
+```
+
+â®ïž ð, ð ïž ð ð ð âªïžâ¡ïž ð ð `items-get_items` `get_items`, ð ð ð©âð» ð ðª ð ð
ð©âð¬ ð.
+
+### ð ð ð©âð» â®ïž ð ð
+
+ð ð ð ð `openapi.json`, ð ð ð `package.json` âïž ð ð§ð¿ ð, ðŒ:
+
+```JSON hl_lines="7"
+{
+ "name": "frontend-app",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "generate-client": "openapi --input ./openapi.json --output ./src/client --client axios"
+ },
+ "author": "",
+ "license": "",
+ "devDependencies": {
+ "openapi-typescript-codegen": "^0.20.1",
+ "typescript": "^4.6.2"
+ }
+}
+```
+
+â®ïž ð ð ð©âð», ð ð ð âïž **ð§¹ ð©âð¬ ð**, â®ïž ð **â**, **âž â**, âïž:
+
+
+
+## ð°
+
+ðâ âïž ð ð ð©âð» ð ð **â** :
+
+* ð©âð¬.
+* ðš ð ðª, ð¢ ð¢, âïž.
+* ðš ð.
+
+ð ð âïž **âž â** ð.
+
+& ðâ ð â¹ ð©âð» ð, & **â»** ðž, â«ïž ð âïž ð ð *â¡ ð ïž* ðª ð©âð¬, ð ð â, & ð ð ð ð ðš ð ð ð. ð¶
+
+ð â ð ð¥ ð³ ð â«ïž ð **ðš** ð ð©âð» ð ð. & ð¥ ð **ð** ð©âð» â«ïž ð â ð
ð¥ ð âïž ð **ð** ð âïž.
+
+, ð ð **ð ð â** ð¶ ⪠ð ïž ðµ â©ïž âïž â â ðŠ ð ð ð ð©âð» ð & â€Žïž ð â¹ ðâ â . ð¶
diff --git a/docs/em/docs/advanced/graphql.md b/docs/em/docs/advanced/graphql.md
new file mode 100644
index 000000000..8509643ce
--- /dev/null
+++ b/docs/em/docs/advanced/graphql.md
@@ -0,0 +1,56 @@
+# ð¹
+
+**FastAPI** âïž ð **ð«** ð©, â«ïž ð¶ â© ð ïž ð **ð¹** ð ð â®ïž ð«.
+
+ð ðª ð ð FastAPI *â¡ ð ïž* â®ïž ð¹ ð ð ðž.
+
+!!! tip
+ **ð¹** â ð¶ ð¯ âïž ðŒ.
+
+ â«ïž âïž **ð** & **â ** ðâ ð¬ â **ðž ð**.
+
+ â ð ð ð¬ ð¥ **ð°** ð âïž ðŒ â **ð**. ð¶
+
+## ð¹ ð
+
+ð¥ **ð¹** ð ð âïž **ð«** ðâðŠº. ð ðª âïž ð« â®ïž **FastAPI**:
+
+* ð ð¶
+ * â®ïž 𩺠FastAPI
+* ðž
+ * â®ïž 𩺠ð (ð â FastAPI)
+* ð
+ * â®ïž ð ð« ð ð« ð ïž
+* â
+ * â®ïž ð-Graphene3ïžâ£
+
+## ð¹ â®ïž ð
+
+ð¥ ð ðª âïž ð ð· â®ïž **ð¹**, **ð** **ð** ð â«ïž âïž ð§ ð **FastAPI** ð§, â«ïž ð âïž ð **ð â**.
+
+âïž ð ð âïž ðŒ, ð 5ïžâ£ð ð âïž ð ð, âïž ð¥ ð ð ð€, ð€ ð ð² ð€ ð ð **ð**.
+
+ð¥ ð€ª ð® â ð ðª ð ïž ð â®ïž FastAPI:
+
+```Python hl_lines="3 22 25-26"
+{!../../../docs_src/graphql/tutorial001.py!}
+```
+
+ð ðª ð¡ ð
ð ð ð ð§Ÿ.
+
+& 𩺠ð ð â®ïž FastAPI.
+
+## ð `GraphQLApp` âªïžâ¡ïž ð
+
+â®ïž ⬠ð ð `GraphQLApp` ð ð ïž â®ïž â.
+
+â«ïž ð¢ âªïžâ¡ïž ð, âïž ð¥ ð âïž ð ð âïž â«ïž, ð ðª ðª **â** ð-Graphene3ïžâ£, ð ð ð âïž ðŒ & âïž **ð ð ð¢**.
+
+!!! tip
+ ð¥ ð ðª ð¹, ð€ ð ð ð â
ð
ð, â«ïž âïž ð ð â â©ïž ð ð & ð.
+
+## ð¡ ð
+
+ð ðª ð¡ ð
ð **ð¹** ð ð¹ ð§Ÿ.
+
+ð ðª â ð
ð ð ð ð ð¬ ð ð« ð.
diff --git a/docs/em/docs/advanced/index.md b/docs/em/docs/advanced/index.md
new file mode 100644
index 000000000..6a43a09e7
--- /dev/null
+++ b/docs/em/docs/advanced/index.md
@@ -0,0 +1,24 @@
+# ð§ ð©âð» ðŠ® - ð¶
+
+## ð â
+
+ð [ð° - ð©âð» ðŠ®](../tutorial/){.internal-link target=_blank} ð ð¥ ð€ ð ð« ð ð ð â **FastAPI**.
+
+â ð ð ð ð ð ð, ð³, & ð â.
+
+!!! tip
+ â ð **ð« ð¯ "ð§"**.
+
+ & â«ïž ðª ð ð âïž ðŒ, â 1ïžâ£ ð«.
+
+## â ð° ð¥
+
+ð ðª âïž ð â **FastAPI** â®ïž ð¡ âªïžâ¡ïž ð [ð° - ð©âð» ðŠ®](../tutorial/){.internal-link target=_blank}.
+
+& â ð ð€ ð ⪠â â«ïž, & ð€ ð ð ð ð ð ð.
+
+## ð.ð
Ÿ âïž
+
+ð¥ ð ð ð â ð§-ð° âïž ð ð ð ð©º, ð ðª ð â
: ð¯-ðŸ ð ïž â®ïž FastAPI & â **ð.ð
Ÿ**.
+
+ð« Ⳡ𩞠1ïžâ£0ïžâ£ ð¯ ð ð° ð ïž **FastAPI**. ð¶ ð¶
diff --git a/docs/em/docs/advanced/middleware.md b/docs/em/docs/advanced/middleware.md
new file mode 100644
index 000000000..b3e722ed0
--- /dev/null
+++ b/docs/em/docs/advanced/middleware.md
@@ -0,0 +1,99 @@
+# ð§ ð ïž
+
+ð ð° ð â â ð® [ð ð ïž](../tutorial/middleware.md){.internal-link target=_blank} ð ðž.
+
+& â€Žïž ð â â ðµ [â â®ïž `CORSMiddleware`](../tutorial/cors.md){.internal-link target=_blank}.
+
+ð ð ð¥ ð ð â âïž ð ð ïž.
+
+## â ð« ð ïž
+
+**FastAPI** âïž ð ð & ð ïž ð« ð§, ð ðª âïž ð ð« ð ïž.
+
+ð ïž ð« âïž â FastAPI âïž ð ð·, ð â«ïž â© ð« ð.
+
+ð¢, ð« ð ïž ð ð â ðš ð« ð± ð¥ â.
+
+, ð§Ÿ ð¥-𥳠ð« ð ïž ð« ð ð² ð¬ ð ð³ ð:
+
+```Python
+from unicorn import UnicornMiddleware
+
+app = SomeASGIApp()
+
+new_app = UnicornMiddleware(app, some_config="rainbow")
+```
+
+âïž FastAPI (ð€ ð) ð ð
ð â«ïž ð â ð ð ð ð ïž ðµ ðœ â & ð â ðâðŠº ð· â.
+
+ð, ð âïž `app.add_middleware()` (ðŒ â).
+
+```Python
+from fastapi import FastAPI
+from unicorn import UnicornMiddleware
+
+app = FastAPI()
+
+app.add_middleware(UnicornMiddleware, some_config="rainbow")
+```
+
+`app.add_middleware()` ðš ð ïž ð ð¥ â & ð ð â ð¶ââïž ð ïž.
+
+## ð ïž ð ïž
+
+**FastAPI** ð ð ð ïž â âïž ðŒ, ð¥ ð ð â â âïž ð«.
+
+!!! note "ð¡ â¹"
+ â ðŒ, ð ðª âïž `from starlette.middleware.something import SomethingMiddleware`.
+
+ **FastAPI** ð ð ð ïž `fastapi.middleware` ðª ð, ð©âð». âïž ð
ðª ð ïž ð ð âªïžâ¡ïž ð.
+
+## `HTTPSRedirectMiddleware`
+
+ð ïž ð ð ðš ðš ð ð¯ââïž `https` âïž `wss`.
+
+ð ðš ðš `http` âïž `ws` ð â ð â â©ïž.
+
+```Python hl_lines="2 6"
+{!../../../docs_src/advanced_middleware/tutorial001.py!}
+```
+
+## `TrustedHostMiddleware`
+
+ð ïž ð ð ðš ðš âïž â â `Host` ð, â ðââ ð¡ ðºðžð ðŠ ð ð.
+
+```Python hl_lines="2 6-8"
+{!../../../docs_src/advanced_middleware/tutorial002.py!}
+```
+
+ð â ðâðŠº:
+
+* `allowed_hosts` - ð ð ð ð ð â ð. ð ð â
`*.example.com` ðâðŠº ð ð. â ð ð ð¯ââïž âïž `allowed_hosts=["*"]` âïž ð« ð ïž.
+
+ð¥ ðš ðš ðš ð« â â â€Žïž `400` ðš ð ðš.
+
+## `GZipMiddleware`
+
+ðµ ð ðš ð ðš ð ð `"gzip"` `Accept-Encoding` ð.
+
+ð ïž ð ðµ ð¯ââïž ð© & ð¥ ðš.
+
+```Python hl_lines="2 6"
+{!../../../docs_src/advanced_middleware/tutorial003.py!}
+```
+
+ð â ðâðŠº:
+
+* `minimum_size` - ð« ð ðš ð ð€ª ð ð ð¯ ð ð¢. ð¢ `500`.
+
+## ð ð ïž
+
+ð€ ð ð ð« ð ïž.
+
+ðŒ:
+
+* ð«
+* Uvicorn `ProxyHeadersMiddleware`
+* ðžð²
+
+ð ð ðª ð ïž â
ð ð ïž ð©º & ð« ð ð.
diff --git a/docs/em/docs/advanced/nosql-databases.md b/docs/em/docs/advanced/nosql-databases.md
new file mode 100644
index 000000000..9c828a909
--- /dev/null
+++ b/docs/em/docs/advanced/nosql-databases.md
@@ -0,0 +1,156 @@
+# â (ð / ðŠ ðœ) ðœ
+
+**FastAPI** ðª ð ïž â®ïž ð â.
+
+ð¥ ð¥ ð ð ðŒ âïž **ð**, ð ð§¢ â ðœ.
+
+ð ðª ð ïž â«ïž ð ð â ðœ ð:
+
+* **â³**
+* **ðž**
+* **â³**
+* **ðžð²**
+* **â³**, âïž.
+
+!!! tip
+ ð€ ð ð ð â®ïž **FastAPI** & **ð**, ð âïž ð **â**, ð ðž & ð ð§°: https://github.com/tiangolo/full-stack-fastapi-couchbase
+
+## ð ð ðв
+
+ð, ð« ðž ð ð, ðŽ ð:
+
+```Python hl_lines="3-5"
+{!../../../docs_src/nosql_databases/tutorial001.py!}
+```
+
+## ð¬ ð âïž "ð ð"
+
+ð¥ ð âïž â«ïž ⪠ð§ ð `type` ð ð.
+
+ð ð« â ð, âïž ð ð¡ ð ð â¹ ð â®ïž.
+
+```Python hl_lines="9"
+{!../../../docs_src/nosql_databases/tutorial001.py!}
+```
+
+## ð® ð¢ ð€ `Bucket`
+
+**ð**, 𥡠â ð, ð ðª ð ð.
+
+ð« ð ð ð ð ðž.
+
+ð ð ðœ ð ð "ðœ" (ð¯ ðœ, ð« ðœ ðœ).
+
+ð **â³** ð "ð".
+
+ð, `Bucket` ðš ð ðšð» ð» â®ïž ðœ.
+
+ð ð ð¢ ð:
+
+* ð **ð** ð (ð ðª ð ð°).
+ * â ð¢ â².
+* ð ð.
+* ð€ `Bucket` ð.
+ * â ð¢ â².
+* ðš â«ïž.
+
+```Python hl_lines="12-21"
+{!../../../docs_src/nosql_databases/tutorial001.py!}
+```
+
+## â Pydantic ð·
+
+**ð** "ð" ð€ "ð» ð", ð¥ ðª ð· ð« â®ïž Pydantic.
+
+### `User` ð·
+
+ð¥, â¡ïž â `User` ð·:
+
+```Python hl_lines="24-28"
+{!../../../docs_src/nosql_databases/tutorial001.py!}
+```
+
+ð¥ ð âïž ð ð· ð *â¡ ð ïž ð¢*,, ð¥ ð« ð â«ïž `hashed_password`.
+
+### `UserInDB` ð·
+
+ð, â¡ïž â `UserInDB` ð·.
+
+ð ð âïž ðœ ð ð€ ðª ðœ.
+
+ð¥ ð« â â«ïž ð¿ Pydantic `BaseModel` âïž ð¿ ð ð `User`, â©ïž â«ïž ð âïž ð ð¢ `User` â ð©ââ€âðš ð
:
+
+```Python hl_lines="31-33"
+{!../../../docs_src/nosql_databases/tutorial001.py!}
+```
+
+!!! note
+ ð ð ð¥ âïž `hashed_password` & `type` ð ð ð ðª ðœ.
+
+ âïž â«ïž ð« ð ð¢ `User` ð· (1ïžâ£ ð¥ ð ðš *â¡ ð ïž*).
+
+## ð€ ð©âð»
+
+ð â ð¢ ð ð:
+
+* â ð.
+* ð ð ð âªïžâ¡ïž â«ïž.
+* ð€ ð â®ïž ð ð.
+* ð® ð ð `UserInDB` ð·.
+
+ð ð¢ ð ðŽ ð¡ ð€ ð ð©âð» âªïžâ¡ïž `username` (âïž ð ð ð¢) ð¬ ð *â¡ ð ïž ð¢*, ð ðª ð ðª ð€-âïž â«ïž ð ð & ð® â ð¯ â«ïž:
+
+```Python hl_lines="36-42"
+{!../../../docs_src/nosql_databases/tutorial001.py!}
+```
+
+### â-ð»
+
+ð¥ ð ð« ð° â®ïž `f"userprofile::{username}"`, â«ïž ð "â-ð»".
+
+ð ð¢ ð ð® ð `{}` â-ð» ð â / ð ð».
+
+### `dict` ð
+
+ð¥ ð ð« ð° â®ïž `UserInDB(**result.value)`, â«ïž âïž `dict` "ð".
+
+â«ïž ð â `dict` `result.value`, & â ð ð® ð & ð² & ð¶ââïž ð« ð-ð² `UserInDB` ðšð» â.
+
+, ð¥ `dict` ð:
+
+```Python
+{
+ "username": "johndoe",
+ "hashed_password": "some_hash",
+}
+```
+
+â«ïž ð ð¶ââïž `UserInDB` :
+
+```Python
+UserInDB(username="johndoe", hashed_password="some_hash")
+```
+
+## â ð **FastAPI** ð
+
+### â `FastAPI` ð±
+
+```Python hl_lines="46"
+{!../../../docs_src/nosql_databases/tutorial001.py!}
+```
+
+### â *â¡ ð ïž ð¢*
+
+ð ð ð€ ð & ð¥ ð« âïž ð¥Œ ð await ðâðŠº, ð¥ ð ð£ ð ð¢ â®ïž ð `def` â©ïž `async def`.
+
+, ð ð ð« âïž ð `Bucket` ð ð "ð§µâ",, ð¥ ðª ð€ 𥡠ð & ð¶ââïž â«ïž ð ð ð¢:
+
+```Python hl_lines="49-53"
+{!../../../docs_src/nosql_databases/tutorial001.py!}
+```
+
+## ð
+
+ð ðª ð ïž ð ð¥ 𥳠â ðœ, âïž ð« ð© ðŠ.
+
+ð â ð ð ð¢ ð§°, âïž âïž ð ïž.
diff --git a/docs/em/docs/advanced/openapi-callbacks.md b/docs/em/docs/advanced/openapi-callbacks.md
new file mode 100644
index 000000000..630b75ed2
--- /dev/null
+++ b/docs/em/docs/advanced/openapi-callbacks.md
@@ -0,0 +1,179 @@
+# ð â²
+
+ð ðª â ð ïž â®ïž *â¡ ð ïž* ð ðª â² ðš *ð¢ ð ïž* â ð± ð (ð² ð ð©âð» ð ð *âïž* ð ð ïž).
+
+ð ïž ð ðš ðâ ð ð ïž ð± ð€ *ð¢ ð ïž* ð "â²". â©ïž ð¥ ð ð¢ ð©âð» â ðš ðš ð ð ïž & â€Žïž ð ð ïž *ð€ ð*, ðš ðš *ð¢ ð ïž* (ð ð² â ð ð©âð»).
+
+ð ðŒ, ð ðª ð ð â ð ð¢ ð ïž *ð* ð ð. â«ïžâ *â¡ ð ïž* â«ïž ð âïž, â«ïžâ ðª â«ïž ð â, â«ïžâ ðš â«ïž ð ðš, âïž.
+
+## ð± â®ïž â²
+
+â¡ïž ð ð ð â®ïž ðŒ.
+
+ð ð ð ïž ð± ð â ð ð§Ÿ.
+
+ð ð§Ÿ ð âïž `id`, `title` (ðŠ), `customer`, & `total`.
+
+ð©âð» ð ð ïž (ð¢ ð©âð») ð â ð§Ÿ ð ð ïž â®ïž ð€ ðš.
+
+â€Žïž ð ð ïž ð (â¡ïž ð):
+
+* ðš ð§Ÿ ðŽ ð¢ ð©âð».
+* ð ðž.
+* ðš ðš ð ð ïž ð©âð» (ð¢ ð©âð»).
+ * ð ð ðš ðš ð€ ðš (âªïžâ¡ïž *ð ð ïž*) *ð¢ ð ïž* ð ð ð¢ ð©âð» (ð "â²").
+
+## ð **FastAPI** ð±
+
+â¡ïž ð¥ ð â ð ð ïž ð± ð ð ð â â â².
+
+â«ïž ð âïž *â¡ ð ïž* ð ð ðš `Invoice` ðª, & ð¢ ð¢ `callback_url` ð ð ð ð â².
+
+ð ð ð¶ ð, ð
ð ð² ⪠ð° ð:
+
+```Python hl_lines="9-13 36-53"
+{!../../../docs_src/openapi_callbacks/tutorial001.py!}
+```
+
+!!! tip
+ `callback_url` ð¢ ð¢ âïž Pydantic ð ð.
+
+ðŽ ð ð `callbacks=messages_callback_router.routes` â *â¡ ð ïž ðšâðš*. ð¥ ð ð â«ïžâ ð â.
+
+## ð¬ â²
+
+â â² ð ð ðª ð ð ð ð ð ïž ð±.
+
+& â«ïž ð ð² ðª ð âªïžâ¡ïž 1ïžâ£ ð± â.
+
+â«ïž ðª 1ïžâ£ âïž 2ïžâ£ âž ð, ð:
+
+```Python
+callback_url = "https://example.com/api/v1/invoices/events/"
+httpx.post(callback_url, json={"description": "Invoice paid", "paid": True})
+```
+
+âïž ð² ð â ð â² â ð ð ð ð ïž ð©âð» (ð¢ ð©âð») ð ïž *ð¢ ð ïž* â, ð ðœ ð *ð ð ïž* ð ðš ðš ðª â², âïž.
+
+, â«ïžâ ð¥ ð â ð® ð ð â ð *ð¢ ð ïž* ð ð ð ðš â² âªïžâ¡ïž *ð ð ïž*.
+
+ð ð§Ÿ ð ðŠ ð ðŠ ð `/docs` ð ð ïž, & â«ïž ð â¡ïž ð¢ ð©âð» ð â ð *ð¢ ð ïž*.
+
+ð ðŒ ð« ð ïž â² â«ïž (ð ðª âž ð), ðŽ ð§Ÿ ð.
+
+!!! tip
+ â â² ðºðžð ðš.
+
+ ðâ ð ïž â² ð, ð ðª âïž ð³ ð ðžð² âïž ðš.
+
+## â â² ð§Ÿ ð
+
+ð ð ð ð« ð ïž ð ð±, ð¥ ðŽ ðª â«ïž *ð* â ð *ð¢ ð ïž* ð ð ð.
+
+âïž, ð ⪠ð â ðª â ð§ ð§Ÿ ð ïž â®ïž **FastAPI**.
+
+ð¥ ð âïž ð ð ð¡ ð â *ð¢ ð ïž* ð ð ð... ð *â¡ ð ïž(â)* ð ð¢ ð ïž ð ð ïž (ð ð ð ïž ð ð€).
+
+!!! tip
+ ðâ â ð ð â², â«ïž ðª â ð ð ð ð *ð¢ ð©âð»*. & ð ð â³ ð ïž *ð¢ ð ïž*, ð« *ð ð ïž*.
+
+ ð ð ïž ð â ð ( *ð¢ ð©âð»*) ðª â¹ ð ð ð â«ïž ð
â ðâ ð® ð¢, Pydantic ð· ðª, ðš, âïž. ð *ð¢ ð ïž*.
+
+### â â² `APIRouter`
+
+ð¥ â ð `APIRouter` ð ð ð 1ïžâ£ âïž ð
â².
+
+```Python hl_lines="3 25"
+{!../../../docs_src/openapi_callbacks/tutorial001.py!}
+```
+
+### â â² *â¡ ð ïž*
+
+â â² *â¡ ð ïž* âïž ð `APIRouter` ð â ð.
+
+â«ïž ð ð ð ð FastAPI *â¡ ð ïž*:
+
+* â«ïž ð ð² âïž ð ðª â«ïž ð ðš, â
`body: InvoiceEvent`.
+* & â«ïž ðª âïž ð ðš â«ïž ð ðš, â
`response_model=InvoiceEventReceived`.
+
+```Python hl_lines="16-18 21-22 28-32"
+{!../../../docs_src/openapi_callbacks/tutorial001.py!}
+```
+
+ð€ 2ïžâ£ ð ðº âªïžâ¡ïž ð *â¡ ð ïž*:
+
+* â«ïž ð« ðª âïž ð â ð, â©ïž ð ð± ð ð
ð€ ð ð. â«ïž ðŽ âïž ð *ð¢ ð ïž*. , ð¢ ðª âïž `pass`.
+* *â¡* ðª ð ð 3ïžâ£ 𧬠(ð ð ð) ðâ â«ïž ðª âïž ð¢ â®ïž ð¢ & ð â®ïž ðš ðš *ð ð ïž*.
+
+### â² â¡ ð§¬
+
+â² *â¡* ðª âïž ð 3ïžâ£ 𧬠ð ðª ð ð â®ïž ðš ðš *ð ð ïž*.
+
+ð ðŒ, â«ïž `str`:
+
+```Python
+"{$callback_url}/invoices/{$request.body.id}"
+```
+
+, ð¥ ð ð ïž ð©âð» (ð¢ ð©âð») ðš ðš *ð ð ïž* :
+
+```
+https://yourapi.com/invoices/?callback_url=https://www.external.org/events
+```
+
+â®ïž ð» ðª:
+
+```JSON
+{
+ "id": "2expen51ve",
+ "customer": "Mr. Richie Rich",
+ "total": "9999"
+}
+```
+
+â€Žïž *ð ð ïž* ð ð ïž ð§Ÿ, & â âª, ðš â² ðš `callback_url` ( *ð¢ ð ïž*):
+
+```
+https://www.external.org/events/invoices/2expen51ve
+```
+
+â®ïž ð» ðª â ð³ ð:
+
+```JSON
+{
+ "description": "Payment celebration",
+ "paid": true
+}
+```
+
+& â«ïž ð â ðš âªïžâ¡ïž ð *ð¢ ð ïž* â®ïž ð» ðª ð:
+
+```JSON
+{
+ "ok": true
+}
+```
+
+!!! tip
+ ð â â² ð âïž ð ð ðš ð¢ ð¢ `callback_url` (`https://www.external.org/events`) & ð§Ÿ `id` âªïžâ¡ïž ð ð» ðª (`2expen51ve`).
+
+### ð® â² ð»
+
+ð â ð âïž *â² â¡ ð ïž(â)* ðª (1ïžâ£(â) ð *ð¢ ð©âð»* ð ð ïž *ð¢ ð ïž*) â² ð» ð â ð.
+
+ð âïž ð¢ `callbacks` *ð ð ïž â¡ ð ïž ðšâðš* ð¶ââïž ð¢ `.routes` (ð ð€ `list` ð£/*â¡ ð ïž*) âªïžâ¡ïž ð â² ð»:
+
+```Python hl_lines="35"
+{!../../../docs_src/openapi_callbacks/tutorial001.py!}
+```
+
+!!! tip
+ ð ð ð ð« ð¶ââïž ð» â«ïž (`invoices_callback_router`) `callback=`, âïž ð¢ `.routes`, `invoices_callback_router.routes`.
+
+### â
ð©º
+
+ð ð ðª â¶ïž ð ð± â®ïž Uvicorn & ð¶ http://127.0.0.1:8000/docs.
+
+ð ð ð ð 𩺠â
"â²" ð ð *â¡ ð ïž* ð ðŠ â *ð¢ ð ïž* ð ð ð:
+
+
diff --git a/docs/em/docs/advanced/path-operation-advanced-configuration.md b/docs/em/docs/advanced/path-operation-advanced-configuration.md
new file mode 100644
index 000000000..ec7231870
--- /dev/null
+++ b/docs/em/docs/advanced/path-operation-advanced-configuration.md
@@ -0,0 +1,170 @@
+# â¡ ð ïž ð§ ð³
+
+## ð {
+
+!!! warning
+ ð¥ ð ð« "ðŽ" ð, ð ð² ð« ðª ð.
+
+ð ðª â ð `operationId` âïž ð *â¡ ð ïž* â®ïž ð¢ `operation_id`.
+
+ð ð âïž â ð ð â«ïž ð ð ð ïž.
+
+```Python hl_lines="6"
+{!../../../docs_src/path_operation_advanced_configuration/tutorial001.py!}
+```
+
+### âïž *â¡ ð ïž ð¢* ð {
+
+ð¥ ð ð âïž ð ð' ð¢ ð `operationId`â, ð ðª ð ð€ ð ð« & ð ð *â¡ ð ïž* `operation_id` âïž ð« `APIRoute.name`.
+
+ð ð â«ïž â®ïž â ð ð *â¡ ð ïž*.
+
+```Python hl_lines="2 12-21 24"
+{!../../../docs_src/path_operation_advanced_configuration/tutorial002.py!}
+```
+
+!!! tip
+ ð¥ ð â ð€ `app.openapi()`, ð ð â¹ `operationId`â â ð.
+
+!!! warning
+ ð¥ ð ð, ð âïž â ð ð 1ïžâ£ ð *â¡ ð ïž ð¢* âïž ð ð.
+
+ ð¥ ð« ð ð¹ (ð ð).
+
+## ð« âªïžâ¡ïž ð
+
+ð« *â¡ ð ïž* âªïžâ¡ïž ð ð ð (& â¡ïž, âªïžâ¡ïž ð§ ð§Ÿ âïž), âïž ð¢ `include_in_schema` & â â«ïž `False`:
+
+```Python hl_lines="6"
+{!../../../docs_src/path_operation_advanced_configuration/tutorial003.py!}
+```
+
+## ð§ ð âªïžâ¡ïž #ïžâ£
+
+ð ðª ð âž âïž âªïžâ¡ïž #ïžâ£ *â¡ ð ïž ð¢* ð.
+
+â `\f` (ð "ðš ðŒ" ðй) ð€ **FastAPI** ð ð¢ âïž ð ð â.
+
+â«ïž ð ð« ðŠ ð ð§Ÿ, âïž ð ð§° (â
ð) ð ðª âïž ð.
+
+```Python hl_lines="19-29"
+{!../../../docs_src/path_operation_advanced_configuration/tutorial004.py!}
+```
+
+## ð ðš
+
+ð ð² âïž ð â ð£ `response_model` & `status_code` *â¡ ð ïž*.
+
+ð ð¬ ð ð ð ðš *â¡ ð ïž*.
+
+ð ðª ð£ ð ðš â®ïž ð« ð·, ð ð, âïž.
+
+ð€ ð ð ð¥ ð§Ÿ ð â«ïž, ð ðª â â«ïž [ð ðš ð](./additional-responses.md){.internal-link target=_blank}.
+
+## ð â
+
+ðâ ð ð£ *â¡ ð ïž* ð ðž, **FastAPI** ð ð ð ð ð ð *â¡ ð ïž* ð ð ð.
+
+!!! note "ð¡ â¹"
+ ð ð§ â«ïž ð€ ð ïž ð.
+
+â«ïž âïž ð â¹ ð *â¡ ð ïž* & âïž ð ð§ ð§Ÿ.
+
+â«ïž ð `tags`, `parameters`, `requestBody`, `responses`, âïž.
+
+ð *â¡ ð ïž*-ð¯ ð ð ð ð ð **FastAPI**, âïž ð ðª â â«ïž.
+
+!!! tip
+ ð ð
ð â â.
+
+ ð¥ ð ðŽ ðª ð£ ð ðš, ð
ðª ð â«ïž â®ïž [ð ðš ð](./additional-responses.md){.internal-link target=_blank}.
+
+ð ðª â ð ð *â¡ ð ïž* âïž ð¢ `openapi_extra`.
+
+### ð â
+
+ð `openapi_extra` ðª ð, ðŒ, ð£ [ð â](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions):
+
+```Python hl_lines="6"
+{!../../../docs_src/path_operation_advanced_configuration/tutorial005.py!}
+```
+
+ð¥ ð ð ð§ ð ïž ð©º, ð â ð ðŠ ð ð ð¯ *â¡ ð ïž*.
+
+
+
+& ð¥ ð ð ð ð ( `/openapi.json` ð ð ïž), ð ð ð ð â ð ð¯ *â¡ ð ïž* ðââïž:
+
+```JSON hl_lines="22"
+{
+ "openapi": "3.0.2",
+ "info": {
+ "title": "FastAPI",
+ "version": "0.1.0"
+ },
+ "paths": {
+ "/items/": {
+ "get": {
+ "summary": "Read Items",
+ "operationId": "read_items_items__get",
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {}
+ }
+ }
+ }
+ },
+ "x-aperture-labs-portal": "blue"
+ }
+ }
+ }
+}
+```
+
+### ð ð *â¡ ð ïž* ð
+
+ð `openapi_extra` ð ð ð â®ïž ð ð ð ð *â¡ ð ïž*.
+
+, ð ðª ð® ð ðœ ð ð ð.
+
+ðŒ, ð ðª ð â & â ðš â®ïž ð ð ð, ðµ âïž ð§ â FastAPI â®ïž Pydantic, âïž ð ðª ð ð¬ ðš ð ð.
+
+ð ðª ð â®ïž `openapi_extra`:
+
+```Python hl_lines="20-37 39-40"
+{!../../../docs_src/path_operation_advanced_configuration/tutorial006.py!}
+```
+
+ð ðŒ, ð¥ ð« ð£ ð Pydantic ð·. ð, ðš ðª ð« ð» ð», â«ïž â ð `bytes`, & ð¢ `magic_data_reader()` ð ð ð» â«ïž ð.
+
+ð, ð¥ ðª ð£ ð ð ðš ðª.
+
+### ð ð ð ð
+
+âïž ð ð ð±, ð ðª âïž Pydantic ð· ð¬ ð» ð ð â€Žïž ð ð ð ð ð *â¡ ð ïž*.
+
+& ð ðª ð ð¥ ðœ ð ðš ð« ð».
+
+ðŒ, ð ðž ð¥ ð« âïž FastAPI ð ïž ð ïž â ð» ð âªïžâ¡ïž Pydantic ð· ð« ð§ ð¬ ð». ð, ð¥ ð£ ðš ð ð ð, ð« ð»:
+
+```Python hl_lines="17-22 24"
+{!../../../docs_src/path_operation_advanced_configuration/tutorial007.py!}
+```
+
+ð, ð ð¥ ð« âïž ð¢ ð ïž ð ïž, ð¥ âïž Pydantic ð· â ð ð» ð ðœ ð ð¥ ð ðš ð.
+
+â€Žïž ð¥ âïž ðš ð, & â ðª `bytes`. ð â ð FastAPI ð ð« ð ð» ðš ð ð».
+
+& â€Žïž ð ð, ð¥ ð» ð ð ð ð, & â€Žïž ð¥ ð âïž ð Pydantic ð· â ð ð:
+
+```Python hl_lines="26-33"
+{!../../../docs_src/path_operation_advanced_configuration/tutorial007.py!}
+```
+
+!!! tip
+ ð¥ ð¥ ð€-âïž ð Pydantic ð·.
+
+ âïž ð ð, ð¥ ðª âïž â â«ïž ð ð.
diff --git a/docs/em/docs/advanced/response-change-status-code.md b/docs/em/docs/advanced/response-change-status-code.md
new file mode 100644
index 000000000..156efcc16
--- /dev/null
+++ b/docs/em/docs/advanced/response-change-status-code.md
@@ -0,0 +1,33 @@
+# ðš - ð ð ð
+
+ð ð² â â ð ð ðª â ð¢ [ðš ð ð](../tutorial/response-status-code.md){.internal-link target=_blank}.
+
+âïž ðŒ ð ðª ðš ð ð ð ð ð¢.
+
+## âïž ðŒ
+
+ðŒ, ð ð ð ð ðš ðºðžð ð ð "ð" `200` ð¢.
+
+âïž ð¥ ðœ ð« ð, ð ð â â«ïž, & ðš ðºðžð ð ð "â" `201`.
+
+âïž ð ð ðª ✠& ð ðœ ð ðš â®ïž `response_model`.
+
+ð ðŒ, ð ðª âïž `Response` ð¢.
+
+## âïž `Response` ð¢
+
+ð ðª ð£ ð¢ ð `Response` ð *â¡ ð ïž ð¢* (ð ðª ðª & ð).
+
+& â€Žïž ð ðª â `status_code` ð *ð* ðš ð.
+
+```Python hl_lines="1 9 12"
+{!../../../docs_src/response_change_status_code/tutorial001.py!}
+```
+
+& â€Žïž ð ðª ðš ð ð ð ðª, ð ð ð ( `dict`, ðœ ð·, âïž).
+
+& ð¥ ð ð£ `response_model`, â«ïž ð âïž âœ & ð ð ð ðš.
+
+**FastAPI** ð âïž ð *ð* ðš â ð ð (ðª & ð), & ð ð® ð« ð ðš ð ð ð² ð ðš, ✠ð `response_model`.
+
+ð ðª ð£ `Response` ð¢ ð, & â ð ð ð«. âïž âïž ð€¯ ð ð 1ïžâ£ â ð ð.
diff --git a/docs/em/docs/advanced/response-cookies.md b/docs/em/docs/advanced/response-cookies.md
new file mode 100644
index 000000000..23fffe1dd
--- /dev/null
+++ b/docs/em/docs/advanced/response-cookies.md
@@ -0,0 +1,49 @@
+# ðš ðª
+
+## âïž `Response` ð¢
+
+ð ðª ð£ ð¢ ð `Response` ð *â¡ ð ïž ð¢*.
+
+& â€Žïž ð ðª â ðª ð *ð* ðš ð.
+
+```Python hl_lines="1 8-9"
+{!../../../docs_src/response_cookies/tutorial002.py!}
+```
+
+& â€Žïž ð ðª ðš ð ð ð ðª, ð ð ð ( `dict`, ðœ ð·, âïž).
+
+& ð¥ ð ð£ `response_model`, â«ïž ð âïž âœ & ð ð ð ðš.
+
+**FastAPI** ð âïž ð *ð* ðš â ðª (ð & ð ð), & ð ð® ð« ð ðš ð ð ð² ð ðš, ✠ð `response_model`.
+
+ð ðª ð£ `Response` ð¢ ð, & â ðª (& ð) ð«.
+
+## ðš `Response` ð
+
+ð ðª â ðª ðâ ð¬ `Response` ð ð ð.
+
+ð, ð ðª â ðš ð¬ [ðš ðš ð](response-directly.md){.internal-link target=_blank}.
+
+â€Žïž â ðª â«ïž, & â€Žïž ðš â«ïž:
+
+```Python hl_lines="10-12"
+{!../../../docs_src/response_cookies/tutorial001.py!}
+```
+
+!!! tip
+ âïž ð€¯ ð ð¥ ð ðš ðš ð â©ïž âïž `Response` ð¢, FastAPI ð ðš â«ïž ð.
+
+ , ð ð âïž â ð ð ðœ â ð. ð€¶ â. â«ïž ð â®ïž ð», ð¥ ð ð¬ `JSONResponse`.
+
+ & ð ð ð« ðš ð ð ð ð âïž âœ `response_model`.
+
+### ð
â¹
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.responses import Response` âïž `from starlette.responses import JSONResponse`.
+
+ **FastAPI** ð ð `starlette.responses` `fastapi.responses` ðª ð, ð©âð». âïž ð
ðª ðš ð ð âªïžâ¡ïž ð.
+
+ & `Response` ðª âïž ð â ð & ðª, **FastAPI** ð â«ïž `fastapi.Response`.
+
+ð ð ðª ð¢ & ð, â
ð§Ÿ ð.
diff --git a/docs/em/docs/advanced/response-directly.md b/docs/em/docs/advanced/response-directly.md
new file mode 100644
index 000000000..ba09734fb
--- /dev/null
+++ b/docs/em/docs/advanced/response-directly.md
@@ -0,0 +1,63 @@
+# ðš ðš ð
+
+ðâ ð â **FastAPI** *â¡ ð ïž* ð ðª ð ðš ð ð âªïžâ¡ïž â«ïž: `dict`, `list`, Pydantic ð·, ðœ ð·, âïž.
+
+ð¢, **FastAPI** ð ð ð ð ðš ð² ð» âïž `jsonable_encoder` ð¬ [ð» ð ð¢](../tutorial/encoder.md){.internal-link target=_blank}.
+
+‎ïž, â
ð, â«ïž ð ð® ð ð»-ð ðœ (â
`dict`) ð `JSONResponse` ð ð âïž ðš ðš ð©âð».
+
+âïž ð ðª ðš `JSONResponse` ð âªïžâ¡ïž ð *â¡ ð ïž*.
+
+â«ïž ðª â , ðŒ, ðš ð ð âïž ðª.
+
+## ðš `Response`
+
+ð, ð ðª ðš ð `Response` âïž ð ð§-ð â«ïž.
+
+!!! tip
+ `JSONResponse` â«ïž ð§-ð `Response`.
+
+& ðâ ð ðš `Response`, **FastAPI** ð ð¶ââïž â«ïž ð.
+
+â«ïž ð ð« ð ðœ ð ïž â®ïž Pydantic ð·, â«ïž ð ð« ð ð ð ð, âïž.
+
+ð ð€ ð ð ðª. ð ðª ðš ð ð ð, ð ð ðœ ð âïž ð¬, âïž.
+
+## âïž `jsonable_encoder` `Response`
+
+â©ïž **FastAPI** ð« ð ð `Response` ð ðš, ð âïž â ð â«ïž ð ð â«ïž.
+
+ðŒ, ð ð«ð ð® Pydantic ð· `JSONResponse` ðµ ð¥ ð â«ïž `dict` â®ïž ð ð ð (ð `datetime`, `UUID`, âïž) ð ð»-ð ð.
+
+ð ðŒ, ð ðª âïž `jsonable_encoder` ð ð ð â ð¶ââïž â«ïž ðš:
+
+```Python hl_lines="6-7 21-22"
+{!../../../docs_src/response_directly/tutorial001.py!}
+```
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.responses import JSONResponse`.
+
+ **FastAPI** ð ð `starlette.responses` `fastapi.responses` ðª ð, ð©âð». âïž ð
ðª ðš ð ð âªïžâ¡ïž ð.
+
+## ð¬ ð `Response`
+
+ðŒ ð ðŠ ð ð ð ðª, âïž â«ïž ð« ð¶ â , ð ðª âïž ðš `item` ð, & **FastAPI** ð ð® â«ïž `JSONResponse` ð, ð â«ïž `dict`, âïž. ð ð ð¢.
+
+ð, â¡ïž ð â ð ðª âïž ð ðš ð ðš.
+
+â¡ïž ð¬ ð ð ð ðš ð ðš.
+
+ð ðª ð® ð ð ð ð», ð® â«ïž `Response`, & ðš â«ïž:
+
+```Python hl_lines="1 18"
+{!../../../docs_src/response_directly/tutorial002.py!}
+```
+
+## ð
+
+ðâ ð ðš `Response` ð ð® ð ð« â, ð (ð»), ð« ð ð.
+
+âïž ð ðª ð â«ïž ð¬ [ð ðš ð](additional-responses.md){.internal-link target=_blank}.
+
+ð ðª ð ⪠ð â âïž/ð£ ð ð `Response`â ⪠âïž ð§ ðœ ð ïž, ð§Ÿ, âïž.
diff --git a/docs/em/docs/advanced/response-headers.md b/docs/em/docs/advanced/response-headers.md
new file mode 100644
index 000000000..de798982a
--- /dev/null
+++ b/docs/em/docs/advanced/response-headers.md
@@ -0,0 +1,42 @@
+# ðš ð
+
+## âïž `Response` ð¢
+
+ð ðª ð£ ð¢ ð `Response` ð *â¡ ð ïž ð¢* (ð ðª ðª).
+
+& â€Žïž ð ðª â ð ð *ð* ðš ð.
+
+```Python hl_lines="1 7-8"
+{!../../../docs_src/response_headers/tutorial002.py!}
+```
+
+& â€Žïž ð ðª ðš ð ð ð ðª, ð ð ð ( `dict`, ðœ ð·, âïž).
+
+& ð¥ ð ð£ `response_model`, â«ïž ð âïž âœ & ð ð ð ðš.
+
+**FastAPI** ð âïž ð *ð* ðš â ð (ðª & ð ð), & ð ð® ð« ð ðš ð ð ð² ð ðš, ✠ð `response_model`.
+
+ð ðª ð£ `Response` ð¢ ð, & â ð (& ðª) ð«.
+
+## ðš `Response` ð
+
+ð ðª ð® ð ðâ ð ðš `Response` ð.
+
+â ðš ð¬ [ðš ðš ð](response-directly.md){.internal-link target=_blank} & ð¶ââïž ð ð ð¢:
+
+```Python hl_lines="10-12"
+{!../../../docs_src/response_headers/tutorial001.py!}
+```
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.responses import Response` âïž `from starlette.responses import JSONResponse`.
+
+ **FastAPI** ð ð `starlette.responses` `fastapi.responses` ðª ð, ð©âð». âïž ð
ðª ðš ð ð âªïžâ¡ïž ð.
+
+ & `Response` ðª âïž ð â ð & ðª, **FastAPI** ð â«ïž `fastapi.Response`.
+
+## ð ð
+
+âïž ð€¯ ð ð © ð ðª ð® âïž 'â-' ð¡.
+
+âïž ð¥ ð âïž ð ð ð ð ð ð©âð» ð¥ ðª ð, ð ðª ð® ð« ð â ð³ (â ð
[â (âïž-ðšð³ â¹ ð€)](../tutorial/cors.md){.internal-link target=_blank}), âïž ð¢ `expose_headers` ð ð â ð©º.
diff --git a/docs/em/docs/advanced/security/http-basic-auth.md b/docs/em/docs/advanced/security/http-basic-auth.md
new file mode 100644
index 000000000..33470a726
--- /dev/null
+++ b/docs/em/docs/advanced/security/http-basic-auth.md
@@ -0,0 +1,113 @@
+# ðºðžð ð° ð
+
+ð
ðŒ, ð ðª âïž ðºðžð ð° ð.
+
+ðºðžð ð° ð, ðž â ð ð ð ð & ð.
+
+ð¥ â«ïž ð« ðš â«ïž, â«ïž ðš ðºðžð 4ïžâ£0ïžâ£1ïžâ£ "â" â.
+
+& ðš ð `WWW-Authenticate` â®ïž ð² `Basic`, & ðŠ `realm` ð¢.
+
+ð ð¬ ð¥ ðŠ ð ïž ð ð & ð.
+
+‎ïž, ðâ ð ð ð ð & ð, ð¥ ðš ð« ð ð.
+
+## ð
ðºðžð ð° ð
+
+* ð `HTTPBasic` & `HTTPBasicCredentials`.
+* â "`security` â" âïž `HTTPBasic`.
+* âïž ð `security` â®ïž ð ð *â¡ ð ïž*.
+* â«ïž ðš ð ð `HTTPBasicCredentials`:
+ * â«ïž ð `username` & `password` ðš.
+
+```Python hl_lines="2 6 10"
+{!../../../docs_src/security/tutorial006.py!}
+```
+
+ðâ ð ð ð ð ð¥ ð° (âïž ð "ð ïž" ðŒ ð©º) ð¥ ð ð ð ð ð & ð:
+
+
+
+## â
ð
+
+ð¥ ð
ð ðŒ.
+
+âïž ð â
ð¥ ð & ð â.
+
+ð, âïž ð ð© ð¹ `secrets` â
ð & ð.
+
+`secrets.compare_digest()` ðª â `bytes` âïž `str` ð ðŽ ð ð ðŠ¹ (ð ðªðž), ð â â«ïž ð«ð ð· â®ïž ðŠ¹ ð `á`, `Sebastián`.
+
+ðµ ð, ð¥ ð¥ ð `username` & `password` `bytes` ð¢ ð« â®ïž ð -8ïžâ£.
+
+â€Žïž ð¥ ðª âïž `secrets.compare_digest()` ð ð `credentials.username` `"stanleyjobson"`, & ð `credentials.password` `"swordfish"`.
+
+```Python hl_lines="1 11-21"
+{!../../../docs_src/security/tutorial007.py!}
+```
+
+ð ð ð:
+
+```Python
+if not (credentials.username == "stanleyjobson") or not (credentials.password == "swordfish"):
+ # Return some error
+ ...
+```
+
+âïž âïž `secrets.compare_digest()` â«ïž ð ð ð¡ ð ð ð€ "ð° ð".
+
+### â² ð
+
+âïž â«ïžâ "â² ð"â
+
+â¡ïž ð ð ð ð ð & ð.
+
+& ð« ðš ðš â®ïž ð `johndoe` & ð `love123`.
+
+â€Žïž ð ð ð ðž ð ð ð³ ð:
+
+```Python
+if "johndoe" == "stanleyjobson" and "love123" == "swordfish":
+ ...
+```
+
+âïž â¶ïžïž ð ð ð¬ ð¥ `j` `johndoe` ð¥ `s` `stanleyjobson`, â«ïž ð ðš `False`, â©ïž â«ïž ⪠ð ð ð 2ïžâ£ ð» ð« ð, ð ð "ð€ ð
ââ ðª ð ð
ð â ð ð€". & ð ðž ð ð¬ "â ð©âð» âïž ð".
+
+âïž â€Žïž ð ð â®ïž ð `stanleyjobsox` & ð `love123`.
+
+& ð ðž ð ðš ð³ ð:
+
+```Python
+if "stanleyjobsox" == "stanleyjobson" and "love123" == "swordfish":
+ ...
+```
+
+ð ð âïž ð¬ ð `stanleyjobso` ð¯ââïž `stanleyjobsox` & `stanleyjobson` â ð€ ð ð¯ââïž ð» ð« ð. â«ïž ð â â â² ðš ð "â ð©âð» âïž ð".
+
+#### ð° â â¹ ð
+
+ð â, ð ð ðœ â â² ð ðš "â ð©âð» âïž ð" ðš, ð ð ð ð ð« ð€ _ð³_ â¶ïžïž, â¶ïž ð€ â¶ïžïž.
+
+& â€Žïž ð« ðª ð ð ð€ ð â«ïž ð² ð³ ð ð `stanleyjobsox` ð `johndoe`.
+
+#### "ðŽ" ð
+
+âïž, ð ð ð« ð ð ð â, ð« ð â ð â«ïž, ð² â®ïž ð¯ âïž ð¯ ð¯ ð ð¥. & ð ð€ 1ïžâ£ â â ð€ ð°.
+
+âïž ðš ð, â² âïž ð ð ð âïž ð â ð & ð, â®ïž "â¹" ð ðž, âïž ð° â â.
+
+#### ð§ â«ïž â®ïž `secrets.compare_digest()`
+
+âïž ð ð ð¥ ð€ âïž `secrets.compare_digest()`.
+
+ð, â«ïž ð â ð ð° ð¬ `stanleyjobsox` `stanleyjobson` ð â«ïž â ð¬ `johndoe` `stanleyjobson`. & ð ð.
+
+ð ð, âïž `secrets.compare_digest()` ð ðž ð, â«ïž ð ð ð¡ ð ð â ðââ ð.
+
+### ðš â
+
+â®ïž ð ð ð â, ðš `HTTPException` â®ïž ð ð 4ïžâ£0ïžâ£1ïžâ£ (ð ðš ðâ ð
ââ ð ð) & ð® ð `WWW-Authenticate` â ð¥ ðŠ ð³ ð ð:
+
+```Python hl_lines="23-27"
+{!../../../docs_src/security/tutorial007.py!}
+```
diff --git a/docs/em/docs/advanced/security/index.md b/docs/em/docs/advanced/security/index.md
new file mode 100644
index 000000000..20ee85553
--- /dev/null
+++ b/docs/em/docs/advanced/security/index.md
@@ -0,0 +1,16 @@
+# ð§ ðââ - ð¶
+
+## ð â
+
+ð€ â â ðµ ðââ âïž âªïžâ¡ïž ð ð [ð° - ð©âð» ðŠ®: ðââ](../../tutorial/security/){.internal-link target=_blank}.
+
+!!! tip
+ â ð **ð« ð¯ "ð§"**.
+
+ & â«ïž ðª ð ð âïž ðŒ, â 1ïžâ£ ð«.
+
+## â ð° ð¥
+
+â ð ð€ ð ⪠â ð [ð° - ð©âð» ðŠ®: ðââ](../../tutorial/security/){.internal-link target=_blank}.
+
+ð« ð âïž ð ð ð§, âïž â â ð ïž.
diff --git a/docs/em/docs/advanced/security/oauth2-scopes.md b/docs/em/docs/advanced/security/oauth2-scopes.md
new file mode 100644
index 000000000..a4684352c
--- /dev/null
+++ b/docs/em/docs/advanced/security/oauth2-scopes.md
@@ -0,0 +1,269 @@
+# Oauth2ïžâ£ â
+
+ð ðª âïž Oauth2ïžâ£ â ð â®ïž **FastAPI**, ð« ð ïž ð· ð.
+
+ð ð â ð âïž ð ð-𧜠â âïž, ð Oauth2ïžâ£ ð©, ð ïž ð ð ð ðž (& ð ïž ð©º).
+
+Oauth2ïžâ£ â®ïž â ð ïž âïž ð ðŠ ð€ ðâðŠº, ð ð±ð, ðºðžð, ð, ð€žââ, ð±ð, âïž. ð« âïž â«ïž ð ð¯ â ð©âð» & ðž.
+
+ð ð° ð "ð¹ â®ïž" ð±ð, ðºðžð, ð, ð€žââ, ð±ð, ð ðž âïž Oauth2ïžâ£ â®ïž â.
+
+ð ð ð ð ð â ð ïž ð€ & â â®ïž ð Oauth2ïžâ£ â®ïž â ð **FastAPI** ðž.
+
+!!! warning
+ ð ð
âïž ð ð§ ð. ð¥ ð â¶ïž, ð ðª ð¶ â«ïž.
+
+ ð ð« ð¯ ðª Oauth2ïžâ£ â, & ð ðª ðµ ð€ & â ð ð ð.
+
+ âïž Oauth2ïžâ£ â®ïž â ðª ð ð ïž ð ð ð ïž (â®ïž ð) & ð ð ïž ð©º.
+
+ ð, ð ð ïž ð â, âïž ð ð ðââ/â ð, ð ð ðª, ð ð.
+
+ ð ðŒ, Oauth2ïžâ£ â®ïž â ðª ð¹.
+
+ âïž ð¥ ð ð ð ðª â«ïž, âïž ð ð, ð§ ð.
+
+## Oauth2ïžâ£ â & ð
+
+Oauth2ïžâ£ ð§ ð¬ "â" ð ð» ð ð.
+
+ð ð ð ð» ðª âïž ð ð, âïž ð ð« ð ð.
+
+ð« â ðš "â".
+
+ð (â
ð ïž ð©º), ð ðª ð¬ "ðââ â".
+
+ðâ 1ïžâ£ ð« ðââ â âïž Oauth2ïžâ£, ð ðª ð£ & âïž â.
+
+ð "â" ð» (ðµ ð).
+
+ð« ð âïž ð£ ð¯ ðââ â, ðŒ:
+
+* `users:read` âïž `users:write` â ðŒ.
+* `instagram_basic` âïž ð±ð / ð±ð.
+* `https://www.googleapis.com/auth/drive` âïž ðºðžð.
+
+!!! info
+ Oauth2ïžâ£ "â" ð» ð ð£ ð¯ â â.
+
+ â«ïž ð« ð€ ð¥ â«ïž âïž ð ðŠ¹ ð `:` âïž ð¥ â«ïž ð.
+
+ ð â¹ ð ïž ð¯.
+
+ Oauth2ïžâ£ ð« ð».
+
+## ð ð
+
+ð¥, â¡ïž ð ð ð ð ð âªïžâ¡ïž ðŒ ð **ð° - ð©âð» ðŠ®** [Oauth2ïžâ£ â®ïž ð (& ð), ðš â®ïž ð¥ ð€](../../tutorial/security/oauth2-jwt.md){.internal-link target=_blank}. ð âïž Oauth2ïžâ£ â:
+
+```Python hl_lines="2 4 8 12 46 64 105 107-115 121-124 128-134 139 153"
+{!../../../docs_src/security/tutorial005.py!}
+```
+
+ð â¡ïž ð ð ð ð ð.
+
+## Oauth2ïžâ£ ðââ â
+
+ð¥ ð ð ð ð¥ ð£ Oauth2ïžâ£ ðââ â â®ïž 2ïžâ£ ðª â, `me` & `items`.
+
+`scopes` ð¢ ðš `dict` â®ïž ð â ð & ð ð²:
+
+```Python hl_lines="62-65"
+{!../../../docs_src/security/tutorial005.py!}
+```
+
+â©ïž ð¥ ð ð£ ð â, ð« ð ðŠ ð ð ïž ð©º ðâ ð ð¹-/â.
+
+& ð ð ðª ð â â ð ð ð€ ð: `me` & `items`.
+
+ð ð ð ïž âïž ðâ ð ð€ â ⪠ðš â®ïž ð±ð, ðºðžð, ð, âïž:
+
+
+
+## ð¥ ð€ â®ïž â
+
+ð, ð ð€ *â¡ ð ïž* ðš â ðš.
+
+ð¥ âïž ð `OAuth2PasswordRequestForm`. â«ïž ð ð `scopes` â®ïž `list` `str`, â®ïž ð â â«ïž ðš ðš.
+
+& ð¥ ðš â ð ð¥ ð€.
+
+!!! danger
+ ðŠ, ð¥ ð¥ â â ðš ð ð€.
+
+ âïž ð ðž, ðââ, ð ð â ð ð ðŽ ð® â ð ð©âð» ð€ ðª âïž, âïž ð ð âïž ð.
+
+```Python hl_lines="153"
+{!../../../docs_src/security/tutorial005.py!}
+```
+
+## ð£ â *â¡ ð ïž* & ð
+
+ð ð¥ ð£ ð *â¡ ð ïž* `/users/me/items/` ð â `items`.
+
+ð, ð¥ ð & âïž `Security` âªïžâ¡ïž `fastapi`.
+
+ð ðª âïž `Security` ð£ ð (ð `Depends`), âïž `Security` ðš ð¢ `scopes` â®ïž ð â (ð»).
+
+ð ðŒ, ð¥ ð¶ââïž ð ð¢ `get_current_active_user` `Security` (ð ð ð¥ ð â®ïž `Depends`).
+
+âïž ð¥ ð¶ââïž `list` â, ð ðŒ â®ïž 1ïžâ£ â: `items` (â«ïž ðª âïž ð
).
+
+& ð ð¢ `get_current_active_user` ðª ð£ ð§-ð, ð« ðŽ â®ïž `Depends` âïž â®ïž `Security`. ð£ ð® ð ð§-ð ð¢ (`get_current_user`), & ð â ð.
+
+ð ðŒ, â«ïž ð â `me` (â«ïž ðª ð ð
ð 1ïžâ£ â).
+
+!!! note
+ ð ð« ð¯ ðª ð® ð â ð ð¥.
+
+ ð¥ ðš â«ïž ð¥ ðŠ â **FastAPI** ðµ â ð£ ð ð.
+
+```Python hl_lines="4 139 166"
+{!../../../docs_src/security/tutorial005.py!}
+```
+
+!!! info "ð¡ â¹"
+ `Security` ð€ ð¿ `Depends`, & â«ïž âïž 1ïžâ£ â ð¢ ð ð¥ ð ð âª.
+
+ âïž âïž `Security` â©ïž `Depends`, **FastAPI** ð ð ð â«ïž ðª ð£ ðââ â, âïž ð« ð, & ð ð ïž â®ïž ð.
+
+ âïž ðâ ð ð `Query`, `Path`, `Depends`, `Security` & ð âªïžâ¡ïž `fastapi`, ð ð€ ð¢ ð ðš ð ð.
+
+## âïž `SecurityScopes`
+
+ð â¹ ð `get_current_user`.
+
+ð 1ïžâ£ âïž ð ð.
+
+ð¥ ð¥ âïž ð Oauth2ïžâ£ â ð¥ â â, ð£ â«ïž ð: `oauth2_scheme`.
+
+â©ïž ð ð ð¢ ð« âïž ð â ð â«ïž, ð¥ ðª âïž `Depends` â®ïž `oauth2_scheme`, ð¥ ð« âïž âïž `Security` ðâ ð¥ ð« ðª â ðââ â.
+
+ð¥ ð£ ð ð¢ ð `SecurityScopes`, ð âªïžâ¡ïž `fastapi.security`.
+
+ð `SecurityScopes` ð ð `Request` (`Request` âïž ð€ ðš ð ð).
+
+```Python hl_lines="8 105"
+{!../../../docs_src/security/tutorial005.py!}
+```
+
+## âïž `scopes`
+
+ð¢ `security_scopes` ð ð `SecurityScopes`.
+
+â«ïž ð âïž ð `scopes` â®ïž ð â ð â â â«ïž & ð ð ð âïž ð ð§-ð. ð â, ð "âïž"... ð ðª ð ðš, â«ïž ð¬ ð ⪠ð.
+
+`security_scopes` ð (ð `SecurityScopes`) ð `scope_str` ð¢ â®ïž ð ð», ð ð â ðœ ð (ð¥ ð âïž â«ïž).
+
+ð¥ â `HTTPException` ð ð¥ ðª ð€-âïž (`raise`) ⪠ð â.
+
+ð â , ð¥ ð â ð (ð¥ ð) ð» ðœ ð (âïž `scope_str`). ð¥ ð® ð ð» â â `WWW-Authenticate` ð (ð ð ð).
+
+```Python hl_lines="105 107-115"
+{!../../../docs_src/security/tutorial005.py!}
+```
+
+## â `username` & ðœ ð
+
+ð¥ â ð ð¥ ð€ `username`, & â â.
+
+& â€Žïž ð¥ â ð ð â®ïž Pydantic ð· (â `ValidationError` â ), & ð¥ ð¥ ð€ â ð ð¥ ð€ âïž â ð â®ïž Pydantic, ð¥ ð€ `HTTPException` ð¥ â â.
+
+ð, ð¥ â¹ Pydantic ð· `TokenData` â®ïž ð ð `scopes`.
+
+â ð â®ïž Pydantic ð¥ ðª â ð ð ð¥ âïž, ðŒ, â«ïžâ `list` `str` â®ïž â & `str` â®ïž `username`.
+
+â©ïž, ðŒ, `dict`, âïž ð³ ð, â«ïž ðª ð ðž â âª, â â«ïž ðââ â .
+
+ð¥ â ð ð¥ âïž ð©âð» â®ïž ð ð, & ð¥ ð«, ð¥ ð€ ð ð â ð¥ â â.
+
+```Python hl_lines="46 116-127"
+{!../../../docs_src/security/tutorial005.py!}
+```
+
+## â `scopes`
+
+ð¥ ð â ð ð â â, ð ð & ð âïž (ð *â¡ ð ïž*), ð â ð ð€ ðš, ⪠ð€ `HTTPException`.
+
+ð, ð¥ âïž `security_scopes.scopes`, ð ð `list` â®ïž ð ð« â `str`.
+
+```Python hl_lines="128-134"
+{!../../../docs_src/security/tutorial005.py!}
+```
+
+## ð ð² & â
+
+â¡ïž ð ð ð ð ð² & â.
+
+`get_current_active_user` ð âïž ð§-ð ð `get_current_user`, â `"me"` ð£ `get_current_active_user` ð ð ð â â `security_scopes.scopes` ð¶ââïž `get_current_user`.
+
+*â¡ ð ïž* â«ïž ð£ â, `"items"`, ð ð ð `security_scopes.scopes` ð¶ââïž `get_current_user`.
+
+ð¥ â ð ð & â ð ð:
+
+* *â¡ ð ïž* `read_own_items` âïž:
+ * â â `["items"]` â®ïž ð:
+ * `get_current_active_user`:
+ * ð ð¢ `get_current_active_user` âïž:
+ * â â `["me"]` â®ïž ð:
+ * `get_current_user`:
+ * ð ð¢ `get_current_user` âïž:
+ * ð
ââ â â â«ïž.
+ * ð âïž `oauth2_scheme`.
+ * `security_scopes` ð¢ ð `SecurityScopes`:
+ * ð `security_scopes` ð¢ âïž ð `scopes` â®ïž `list` â ð ð« â ð£ ð,:
+ * `security_scopes.scopes` ð ð `["me", "items"]` *â¡ ð ïž* `read_own_items`.
+ * `security_scopes.scopes` ð ð `["me"]` *â¡ ð ïž* `read_users_me`, â©ïž â«ïž ð£ ð `get_current_active_user`.
+ * `security_scopes.scopes` ð ð `[]` (ð³) *â¡ ð ïž* `read_system_status`, â©ïž â«ïž ð« ð£ ð `Security` â®ïž `scopes`, & ð® ð, `get_current_user`, ð« ð£ ð `scope` ð¯ââïž.
+
+!!! tip
+ â & "ð±" ð ð¥ ð `get_current_user` ð âïž ð ð `scopes` â
ð *â¡ ð ïž*.
+
+ ð âïž ð `scopes` ð£ ð *â¡ ð ïž* & ð ð ð ð² ð ð¯ *â¡ ð ïž*.
+
+## ð â¹ ð `SecurityScopes`
+
+ð ðª âïž `SecurityScopes` ð â, & ð ð¥, â«ïž ð« âïž "ð±" ð.
+
+â«ïž ð ð§ âïž ðââ â ð£ â®ïž `Security` ð & ð âïž **ð ð¯** *â¡ ð ïž* & **ð ð¯** ð ð².
+
+â©ïž `SecurityScopes` ð âïž ð â ð£ âïž, ð ðª âïž â«ïž â ð ð€ âïž ð â ðšð« ð ð¢, & â€Žïž ð£ ð â ð ð *â¡ ð ïž*.
+
+ð« ð â
â¡ ð *â¡ ð ïž*.
+
+## â
â«ïž
+
+ð¥ ð ð ð ïž ð©º, ð ðª ð & â â â ð ð â.
+
+
+
+ð¥ ð ð« ð ð â, ð ð "ð", âïž ðâ ð ð ð `/users/me/` âïž `/users/me/items/` ð ð ð€ â ð¬ ð ð ð« âïž ð¥ â. ð ð ðª ð `/status/`.
+
+& ð¥ ð ð â `me` âïž ð« â `items`, ð ð ðª ð `/users/me/` âïž ð« `/users/me/items/`.
+
+ð â«ïžâ ð ðš ð¥ 𥳠ðž ð ð ð 1ïžâ£ ð« *â¡ ð ïž* â®ïž ð€ ð ð©âð», âïž ð â ð â ð©âð» ð€ ðž.
+
+## ð ð¥ 𥳠ð ïž
+
+ð ðŒ ð¥ âïž Oauth2ïžâ£ "ð" ð§.
+
+ð â ðâ ð¥ ðš ð ð ðž, ð² â®ïž ð ð ðž.
+
+â©ïž ð¥ ðª ð â«ïž ðš `username` & `password`, ð¥ ð â«ïž.
+
+âïž ð¥ ð ð Oauth2ïžâ£ ðž ð ð ð ð (â¡, ð¥ ð ð ð€ ðâðŠº ð ð±ð, ðºðžð, ð, âïž.) ð ð âïž 1ïžâ£ ð ð§.
+
+ð
â ð ð§.
+
+ð ð ð ð§, âïž ð ð ð ïž â«ïž ð ð
ð¶. â«ïž ð
ð, ð ðâðŠº ð ð â ð ð§.
+
+!!! note
+ â«ïž â ð ð ð€ ðâðŠº ð ð« ð§ ð ð, â â«ïž ð ð« ð·.
+
+ âïž ð, ð« ð ïž ð Oauth2ïžâ£ ð©.
+
+**FastAPI** ð ð ð ð« Oauth2ïžâ£ ð€ ð§ `fastapi.security.oauth2`.
+
+## `Security` ðšâðš `dependencies`
+
+ð ð ð ðª ð¬ `list` `Depends` ðšâðš `dependencies` ð¢ (ð¬ [ð â¡ ð ïž ðšâðš](../../tutorial/dependencies/dependencies-in-path-operation-decorators.md){.internal-link target=_blank}), ð ðª âïž `Security` â®ïž `scopes` ð€.
diff --git a/docs/em/docs/advanced/settings.md b/docs/em/docs/advanced/settings.md
new file mode 100644
index 000000000..bc50bf755
--- /dev/null
+++ b/docs/em/docs/advanced/settings.md
@@ -0,0 +1,382 @@
+# â & ð ð¢
+
+ð ðŒ ð ðž ðª ðª ð¢ â âïž ð³, ðŒ ã ð, ðœ ð, ð ð§ ðâðŠº, âïž.
+
+ð ð« â ð¢ (ðª ð), ð ðœ ð. & ð ðª ð¿, ð ã.
+
+ð ð€ â«ïž â ð ð« ð ð¢ ð â ðž.
+
+## ð ð¢
+
+!!! tip
+ ð¥ ð ⪠ð â«ïžâ "ð ð¢" & â âïž ð«, ð ð ð¶ â ð ð.
+
+ð ð¢ (ð "ðšð» {") ð¢ ð ð ð ð ð, ðââ âïž, & ðª â ð ð ð (âïž ð ð ð).
+
+ð ðª â & âïž ð ð¢ ð, ðµ ðââ ð:
+
+=== "ðŸ, ðžð», ðª ð"
+
+
+
+& ‎ïž, ð 𩺠ð§-ðž, http://127.0.0.1:8000/subapi/docs.
+
+ð ð ð ð§ ð ïž ð©º ð§-ðž, â
ðŽ ð® ð _â¡ ð ïž_, ð ðœ â ð§-â¡ ð¡ `/subapi`:
+
+
+
+ð¥ ð ð ð â®ïž ð 2ïžâ£ ð©âð» ð¢, ð« ð ð· â, â©ïž ð¥ ð ðª ð¬ ð ð¯ ð± âïž ð§-ð±.
+
+### ð¡ â¹: `root_path`
+
+ðâ ð ð» ð§-ðž ð¬ ð, FastAPI ð â ð
ð ð» â¡ ð§-ðž âïž ð ïž âªïžâ¡ïž ð« ð§ ð€ `root_path`.
+
+ð ð, ð§-ðž ð ð âïž ð â¡ ð¡ 𩺠ð.
+
+& ð§-ðž ðª âïž ð® ð ð ð§-ðž & ð ð ð· â, â©ïž FastAPI ðµ ð ð `root_path`â ð.
+
+ð ð ð¡ ð
ð `root_path` & â âïž â«ïž ð¯ ð ð [â
ð³](./behind-a-proxy.md){.internal-link target=_blank}.
diff --git a/docs/em/docs/advanced/templates.md b/docs/em/docs/advanced/templates.md
new file mode 100644
index 000000000..1fb57725a
--- /dev/null
+++ b/docs/em/docs/advanced/templates.md
@@ -0,0 +1,77 @@
+# ð
+
+ð ðª âïž ð ð ð ð ð â®ïž **FastAPI**.
+
+â â Jinja2ïžâ£, ð 1ïžâ£ âïž ðº & ð ð§°.
+
+ð€ ð ð â«ïž ðª ð ð ðª âïž ð ð **FastAPI** ðž (ð ð).
+
+## â ð
+
+â `jinja2`:
+
+
+
+ð ðª ð ð§ ð¢ ðŠ, & ðš ð«:
+
+
+
+& ð **FastAPI** ðž â®ïž *ïžâ£ ð ðš ð:
+
+
+
+ð ðª ðš (& ðš) ð ð§:
+
+
+
+& ð ð« ð âïž ð *ïžâ£ ð.
+
+## âïž `Depends` & ð
+
+*ïžâ£ ð ð ðª ð âªïžâ¡ïž `fastapi` & âïž:
+
+* `Depends`
+* `Security`
+* `Cookie`
+* `Header`
+* `Path`
+* `Query`
+
+ð« ð· ð ð ð FastAPI ð/*â¡ ð ïž*:
+
+```Python hl_lines="66-77 76-91"
+{!../../../docs_src/websockets/tutorial002.py!}
+```
+
+!!! info
+ ð *ïžâ£ â«ïž ð« ð€ â ð ð€ `HTTPException`, â©ïž ð¥ ð€ `WebSocketException`.
+
+ ð ðª âïž ðª ð âªïžâ¡ïž â ð ð¬ ð§.
+
+### ð *ïžâ£ â®ïž ð
+
+ð¥ ð ð ð `main.py`, ð ð ðž â®ïž:
+
+
+
+## ð ð & ð ð©âð»
+
+ðâ *ïžâ£ ð ðª, `await websocket.receive_text()` ð ð€ `WebSocketDisconnect` â , â ð ðª â€Žïž â & ðµ ð ð ðŒ.
+
+```Python hl_lines="81-83"
+{!../../../docs_src/websockets/tutorial003.py!}
+```
+
+ð â«ïž ð
:
+
+* ð ð± â®ïž ð ð¥ ð.
+* â ð§ âªïžâ¡ïž ð«.
+* â€Žïž ð 1ïžâ£ ð.
+
+ð ð ð€ `WebSocketDisconnect` â , & ð ð ð©âð» ð ðš ð§ ð:
+
+```
+Client #1596980209979 left the chat
+```
+
+!!! tip
+ ð± ð â & ð
ðŒ ðŠ â ðµ & ð» ð§ ð *ïžâ£ ð.
+
+ âïž âïž ð€¯ ð, ð ðµ ðŸ, ð ð, â«ïž ð ðŽ ð· ⪠ð ïž ð, & ð ðŽ ð· â®ïž ð ð ïž.
+
+ ð¥ ð ðª ð³ â© ð ïž â®ïž FastAPI âïž ð ð ðïž, ðâðŠº â³, â³ âïž ð, â
ð/ð».
+
+## ð
â¹
+
+ð¡ ð
ð ð, â
ð ð§Ÿ:
+
+* `WebSocket` ð.
+* ð-âïž *ïžâ£ ð.
diff --git a/docs/em/docs/advanced/wsgi.md b/docs/em/docs/advanced/wsgi.md
new file mode 100644
index 000000000..4d051807f
--- /dev/null
+++ b/docs/em/docs/advanced/wsgi.md
@@ -0,0 +1,37 @@
+# â
ðšð» - ðº, â³, ð
+
+ð ðª ð» ðšð» ðž ð ð â®ïž [ð§ ðž - ð»](./sub-applications.md){.internal-link target=_blank}, [â
ð³](./behind-a-proxy.md){.internal-link target=_blank}.
+
+ð, ð ðª âïž `WSGIMiddleware` & âïž â«ïž ð ð ðšð» ðž, ðŒ, ðº, â³, âïž.
+
+## âïž `WSGIMiddleware`
+
+ð ðª ð `WSGIMiddleware`.
+
+â€Žïž ð ðšð» (â
ðº) ð± â®ïž ð ïž.
+
+& â€Žïž ð» ð ðœ â¡.
+
+```Python hl_lines="2-3 22"
+{!../../../docs_src/wsgi/tutorial001.py!}
+```
+
+## â
â«ïž
+
+ð, ð ðš ðœ â¡ `/v1/` ð ðµ ðº ðž.
+
+& ð ð ðµ **FastAPI**.
+
+ð¥ ð ð â«ïž â®ïž Uvicorn & ð¶ http://localhost:8000/v1/ ð ð ð ðš âªïžâ¡ïž ðº:
+
+```txt
+Hello, World from Flask!
+```
+
+& ð¥ ð ð¶ http://localhost:8000/v2 ð ð ð ðš âªïžâ¡ïž FastAPI:
+
+```JSON
+{
+ "message": "Hello World"
+}
+```
diff --git a/docs/em/docs/alternatives.md b/docs/em/docs/alternatives.md
new file mode 100644
index 000000000..6169aa52d
--- /dev/null
+++ b/docs/em/docs/alternatives.md
@@ -0,0 +1,414 @@
+# ð, ð & ðº
+
+â«ïžâ ð® **FastAPI**, â â«ïž ð¬ ð ð & â«ïžâ â«ïž ðð² âªïžâ¡ïž ð«.
+
+## ð¶
+
+**FastAPI** ð«ð ð ð¥ ð« â®ïž ð· ð.
+
+ð€ âïž ð ð§° â â ð âïž â¹ ð® ð® ð.
+
+ð€ âïž â ð ð ð ïž ð 1ïžâ£2ïžâ£ðïž. ð¥ ð€ ð â ð â ð **FastAPI** âïž ð ð ð ïž, ð-ð, & ð§°.
+
+âïž â, ð€ ð
ââ ð ð ð ð ð³ ð ð ð ð« â, â ð ð âªïžâ¡ïž â®ïž ð§°, & ð ð« ð ð ðª, âïž ðªðž â ð âð« ðª â (ð 3ïžâ£.6ïžâ£ â ð ð).
+
+## â®ïž ð§°
+
+### â³
+
+â«ïž ð
ð ð ð ïž & ð ðŽ. â«ïž âïž ð âïž ð ð±ð.
+
+â«ïž ð¶ ð ð â®ïž ð ðœ (ð â³ âïž â³),, âïž â ðœ (ð ð, â³, ðž, âïž) ð ðª ð ð« ð¶ â©.
+
+â«ïž â ð ðž ð©âð», ð« â ð âïž ð ðž (ð ð¥, Vue.js & ð) âïž ð âïž (ð â ð³) ð â®ïž â«ïž.
+
+### â³ ð ð ïž
+
+â³ ð ð ïž â ð ð§° ð ðž ð âïž â³ ð, ð ð® ð ïž ð ïž.
+
+â«ïž âïž ð ð¢ â
ðŠ, ð¥ ð & ð.
+
+â«ïž ð ð¥ ðŒ **ð§ ð ïž ð§Ÿ**, & ð ð¯ ð ð¥ ð ð ð® "ð" **FastAPI**.
+
+!!! note
+ â³ ð ð ïž â â¡ ðºðžð. ð ðŒ ð & Uvicorn, ð â **FastAPI** âïž.
+
+
+!!! check "ð® **FastAPI** "
+ âïž ð§ ð ïž ð§Ÿ ðž ð©âð» ð¢.
+
+### ðº
+
+ðº "ðž", â«ïž ð« ð ðœ ð ïž ð« ð ð ð ð ð¢ â³.
+
+ð ðŠ & ðª â ðš ð ð âïž â ðœ ð ðœ ðŸ âïž.
+
+â«ïž ð¶ ð
, â«ïž ð¶ ðïž ð¡, ð ð§Ÿ ð€ ð ð¡ â.
+
+â«ïž ð âïž ð ðž ð ð« ð¯ ðª ðœ, ð©âð» ð§Ÿ, âïž ð ð â ð ð ð€-ð â³. ð ð ð« â ðª ð® â®ïž ð-ð.
+
+ð â ð, & â "ðž" ð ðª â ð â«ïžâ â«ïžâ ðª ð â ð ð€ ð ð§.
+
+ð ðŠ ðº, â«ïž ð ð ð ð ð ð. â ð ð "â³ ð ð ïž" ðº.
+
+!!! check "ð® **FastAPI** "
+ âŸ-ð ïž. â â«ïž â© ð & ð ð§° & ð ðª.
+
+ âïž ð
& â© âïž ð¹ âïž.
+
+
+### ðš
+
+**FastAPI** ð« ð€ ð **ðš**. ð« â ð¶ ð.
+
+â«ïž ð ð€ â âïž ðš *ð* FastAPI ðž.
+
+âïž, FastAPI ð€ ð âªïžâ¡ïž ðš.
+
+**ðš** ð *ð* â®ïž ð (ð©âð»), ⪠**FastAPI** ð *ð* ð (ðœ).
+
+ð«, ð âïž ð, ð ð, ð ð ð.
+
+ðš âïž ð¶ ð
& ðïž ð§, â«ïž ð¶ â© âïž, â®ïž ð€ ð¢. âïž ð ð°, â«ïž ð¶ ðïž & ð.
+
+ð â«ïžâ, ð¬ ð ðž:
+
+> ðš 1ïžâ£ ð ⬠ð ðŠ ð ð°
+
+ð ð âïž â«ïž ð¶ ð
. ðŒ, `GET` ðš, ð ð â:
+
+```Python
+response = requests.get("http://example.com/some/url")
+```
+
+FastAPI ð ð ïž *â¡ ð ïž* ðª ð ð:
+
+```Python hl_lines="1"
+@app.get("/some/url")
+def read_url():
+ return {"message": "Hello World"}
+```
+
+ð ð `requests.get(...)` & `@app.get(...)`.
+
+!!! check "ð® **FastAPI** "
+ * âïž ð
& ðïž ð ïž.
+ * âïž ðºðžð ð©âð¬ ð (ð ïž) ð, ð¯ & ðïž ð.
+ * âïž ð€ ð¢, âïž ðïž ð.
+
+
+### ðŠ / ð
+
+ð â ð€ ð âªïžâ¡ïž â³ ð ð ïž ð§ ð ïž ð§Ÿ.
+
+â€Žïž ð€ ð ð ð€ ð© ð ð, âïž ð» (âïž ð, â ð») ð€ ðŠ.
+
+& ð€ ðž ð©âð» ð¢ ðŠ ð ïž âª â. , ðââ ðª ð ðŠ ð§Ÿ ð ïž ð â âïž ð ðž ð©âð» ð¢ ð.
+
+â, ðŠ ð ðŸ ð, ð ð.
+
+ð â«ïžâ ðâ ð¬ ð ⬠2ïžâ£.0ïžâ£ â«ïž â ð¬ "ðŠ", & ⬠3ïžâ£ â "ð".
+
+!!! check "ð® **FastAPI** "
+ ð ïž & âïž ð ð© ð ïž ð§, â©ïž ð ð.
+
+ & ð ïž ð©-âïž ð©âð» ð¢ ð§°:
+
+ * ðŠ ð
+ * ð
+
+ ð« 2ïžâ£ ð â ð¶ ð & â, âïž ðš â© ð, ð ðª ð ð¯ ð ð ð©âð» ð¢ ð (ð ð ðª âïž â®ïž **FastAPI**).
+
+### ðº ð ð ïž
+
+ð€ ð ðº ð ð ïž, âïž â®ïž ð° ð° & ð· ð ð¬ ð«, ð€ ð ð ð ð âïž ð«, â®ïž ð ð§ â ð â ð« ð.
+
+### ð
+
+1ïžâ£ ð â ðª ð ïž âïž ð "ð ïž" â â ð âªïžâ¡ïž ð (ð) & ð â«ïž ð ð³ ð ðª ðš ð ðž. ðŒ, ð ð â ð âªïžâ¡ïž ðœ ð ð» ð. ð `datetime` ð ð ð», âïž.
+
+â1ïžâ£ ðŠ â ð ð ðœ ð¬, â ð ð ðœ â, ð€ ð¯ ð¢. ðŒ, ð ð `int`, & ð« ð² ð». ð âŽïž â ðš ðœ.
+
+ðµ ðœ ð¬ âïž, ð ð âïž ð â
â, ð.
+
+ð« â â«ïžâ ð ð ð. â«ïž ð ð, & ð€ âïž âïž â«ïž ð â.
+
+âïž â«ïž â â ð€ ð ð ð ð. , ð¬ ð ð ð ðª âïž ð¯ ðšð» & ð ð ð.
+
+!!! check "ð® **FastAPI** "
+ âïž ð ð¬ "ð" ð ð ðœ ð & ð¬, ð.
+
+### Webarg
+
+â1ïžâ£ ðŠ â â ð â ð âªïžâ¡ïž ðš ðš.
+
+Webarg ð§° ð â ð ð ð ð ð ð ïž, ð ðº.
+
+â«ïž âïž ð ð ðœ ð¬. & â«ïž â ð ð©âð».
+
+â«ïž ð ð§° & ð€ âïž âïž â«ïž ð ðââïž, â âïž **FastAPI**.
+
+!!! info
+ Webarg â ð ð ð©âð».
+
+!!! check "ð® **FastAPI** "
+ âïž ð§ ð¬ ðš ðš ðœ.
+
+### APISpec
+
+ð & Webarg ð ð¬, â & ð ïž ð-ð.
+
+âïž ð§Ÿ â. â€Žïž APISpec â.
+
+â«ïž ð-ð ð ïž (& ð€ ð-ð ðââïž).
+
+ð â«ïž ð· ð ð â ð ð âïž ð ð ð #ïžâ£ ð ð¢ ð ð£.
+
+& â«ïž ð ð ð.
+
+ð â â«ïž ð· ðº, ð, ð, âïž.
+
+âïž â€Žïž, ð¥ âïž ð â âïž âŸ-â, ð ð ð» (ðŠ ð).
+
+ðšâðš ðª ð« â¹ ð
â®ïž ð. & ð¥ ð¥ ð ð¢ âïž ð ð & ð ð ð ð#ïžâ£, ð ð ð â.
+
+!!! info
+ APISpec â ð ð ð©âð».
+
+
+!!! check "ð® **FastAPI** "
+ ðâðŠº ð ð© ð ïž, ð.
+
+### ðº-Apispec
+
+â«ïž ðº ð -, ð ð ð¯ââïž Webarg, ð & APISpec.
+
+â«ïž âïž â¹ âªïžâ¡ïž Webarg & ð ð ð ð ð, âïž APISpec.
+
+â«ïž ð ð§°, ð¶ ðœ-ð. â«ïž ð ð ð ð ð ð ðº ð-ð ð
ð€. â«ïž ðª â©ïž ð® ð§Ÿ â ðââïž ð©² & ð.
+
+ð â âïž â ð (â1ïžâ£ â) ð ð â.
+
+ð ð ðº, ðº-Apispec â®ïž ð & Webarg ð ð ð©âð» ð â ð **FastAPI**.
+
+âïž â«ïž âïž ð ð ðº ð-ð ð. ð« ð ð ð€ (& ð ð¢ ð) âïž âïž ð ð:
+
+* https://github.com/tiangolo/full-stack
+* https://github.com/tiangolo/full-stack-flask-couchbase
+* https://github.com/tiangolo/full-stack-flask-couchdb
+
+& ð« ð ð-ð ð ð§¢ [**FastAPI** ð ð](project-generation.md){.internal-link target=_blank}.
+
+!!! info
+ ðº-Apispec â ð ð ð©âð».
+
+!!! check "ð® **FastAPI** "
+ ð ð ð ð, âªïžâ¡ïž ð ð ð ð¬ ð ïž & ð¬.
+
+### NestJS (& ð)
+
+ð âð« ð« ð, NestJS ðž (ð) â³ ð ïž ð® ð.
+
+â«ïž ð ð³ ð ð â«ïžâ ðª ðš â®ïž ðº-Apispec.
+
+â«ïž âïž ð ïž ð ð âïž, ð® ð 2ïžâ£. â«ïž ð ð€-® "ð" (ð ð ð ð ð âïž ð€ ð),, â«ïž ð® ð & ð ð.
+
+ð¢ ð¬ â®ïž ð ð (ð ð ð ð), ðšâðš ðâðŠº ð.
+
+âïž ð ð ð« ð¡ â®ïž ð¹ ðž, â«ïž ð«ð âïž ð ð ð¬ ð¬, ð ïž & ð§Ÿ ð ð°. â©ïž ð & ð§ ð«, ð€ ð¬, ð ïž & ð§ ð â¡, â«ïž ðª ð® ðšâðš ð ð¥. , â«ïž â¶ïžïž ð.
+
+â«ïž ðª ð« ðµ ð ð· ð¶ ð. , ð¥ ð» ðª ðš ð» ð ð âïž ð ð ð ð ðŠ ð» ð, â«ïž ð«ð â ð & â.
+
+!!! check "ð® **FastAPI** "
+ âïž ð ð âïž ð ðšâðš ðâðŠº.
+
+ âïž ðïž ð ð âïž. ð ð ð ð ð.
+
+### ð€£
+
+â«ïž ð ð¥ ð¶ â© ð ð ïž âïž ð `asyncio`. â«ïž â ð¶ ð ðº.
+
+!!! note "ð¡ â¹"
+ â«ïž âïž `uvloop` â©ïž ð¢ ð `asyncio` â°. ð â«ïžâ â â«ïž â©.
+
+ â«ïž ð¯ ð® Uvicorn & ð, ð â³ â© ð ð€£ ð ð.
+
+!!! check "ð® **FastAPI** "
+ ð ð âïž ð ð.
+
+ ð â«ïžâ **FastAPI** âïž ð ð, â«ïž â© ð ïž ðª (ð¯ ð¥-𥳠ð).
+
+### ðŠ
+
+ðŠ
â1ïžâ£ â ð ð ð ïž, â«ïž ð§ â, & ð· ð ð ð ïž ð ð€.
+
+â«ïž ð âïž ð¢ ð ðš 2ïžâ£ ð¢, 1ïžâ£ "ðš" & 1ïžâ£ "ðš". â€Žïž ð "â" ð âªïžâ¡ïž ðš, & "â" ð ðš. â©ïž ð ð§, â«ïž ð« ðª ð£ ðš ð¢ & ðª â®ïž ð© ð ð ð ð¢ ð¢.
+
+, ðœ ð¬, ð ïž, & ð§Ÿ, âïž â ð, ð« ð. âïž ð« âïž ð ïž ð ïž ð ð ðŠ
, ð ð€. ð ð ðº ðš ð ð ïž ð ð® ðŠ
ð§, âïž 1ïžâ£ ðš ð & 1ïžâ£ ðš ð ð¢.
+
+!!! check "ð® **FastAPI** "
+ ð ð ð€ ð ð.
+
+ â€Žïž â®ïž ð€ (ð€ âïž ð ðŠ
) ð® **FastAPI** ð£ `response` ð¢ ð¢.
+
+ ð FastAPI â«ïž ðŠ, & âïž âŽïž â ð, ðª, & ð ð ð.
+
+### âš
+
+ð€ ð âš ð¥ â¶ïž ð **FastAPI**. & â«ïž âïž ð ð:
+
+* âïž ð ð ð ð.
+* ð¬ & ð§Ÿ âªïžâ¡ïž ð« ð.
+* ð ð âïž.
+
+â«ïž ð« âïž ðœ ð¬, ð ïž & ð§Ÿ ð¥-𥳠ð ð Pydantic, â«ïž âïž ð® ð. , ð« ðœ ð ð ð ð« â» ðª.
+
+â«ïž ð ð¥ ð ð
ð ð³. & â«ïž âïž ð ðšð» (â©ïž ð«), â«ïž ð« ð§ â ð â-ð ð ð§° ð Uvicorn, ð & ð€£.
+
+ð ð âïž ð ð€-® ð & ð â ð§¢ ð ð£ ð. , â«ïž ð« ðª ð£ ð
ð 1ïžâ£ "ðв" ð ð ð¯ ð.
+
+ð£ ð£ ð ð¥, âïž ð¢ ð£ ð ð¥ (â©ïž âïž ðšâðš ð ðª ð¥ â¶ïžïž ð ð ð¢ ð ðµ ð). ð ð â â³ ðš â«ïž ð â ðº (& ð) ðš â«ïž. â«ïž ð ð ð ð ð¶ ð ð.
+
+!!! check "ð® **FastAPI** "
+ ð¬ â ð¬ ðœ ð âïž "ð¢" ð² ð· ð¢. ð ð ðšâðš ðâðŠº, & â«ïž ð« ðª Pydantic â.
+
+ ð ð€ ð® ð ïž ð Pydantic, ðâðŠº ð ð¬ ð ð (ð ð ð ïž ð ⪠ðª Pydantic).
+
+### ð€
+
+ð€ ð ð¥ ð ïž ð ïž ð ð ïž ð¢ ð âïž ð ð ð. ð ð ð ð ð® ð ð§° ð.
+
+â«ïž âïž ð ð ð® ð â©ïž ð© ð ð, âïž â«ïž ðŠ ð â©.
+
+â«ïž ð ð¥ ð ïž ð ð ð ð£ ð ð ïž ð».
+
+â«ïž ð« âïž ð ð© ð ð & ð» ð. â«ïž ð«ð ð¯ ð ïž â«ïž â®ïž ð ð§°, ð ðŠ ð. âïž ð, â«ïž ð¶ ð¡ ð.
+
+â«ïž âïž ð, â â: âïž ð ð ïž, â«ïž ðª â ð & ð³ðš.
+
+â«ïž âïž ð â®ïž ð© ð ð ðž ð ïž (ðšð»), â«ïž ðª ð« ðµ *ïžâ£ & ð ð, ð â«ïž âïž â ð ðââïž.
+
+!!! info
+ ð€ â â¡ ð, ð ðŒ `isort`, ð ð§° ð ð ð ð ð.
+
+!!! check "ð ð® **FastAPI**"
+ ð€ ð® ð APIStar, & 1ïžâ£ ð§° ð€ ð ð ð, ð APIStar.
+
+ ð€ â¹ ð **FastAPI** âïž ð ð ð ð£ ð¢, & ð ð â ð ïž ð.
+
+ ð€ ð® **FastAPI** ð£ `response` ð¢ ð¢ â ð & ðª.
+
+### APIStar (<= 0ïžâ£.5ïžâ£)
+
+â¶ïžïž â ð€ ð **FastAPI** ð€ ð **APIStar** ðœ. â«ïž âïž ð ð ð€ ð & âïž ð ð§.
+
+â«ïž ð ð¥ ð ïž ð ïž âïž ð ð ð ð£ ð¢ & ðš ð ð€ â± ð (â NestJS & âš). ð€ ð â«ïž ð
âïž ð ð ð° ð€. âïž APIStar âïž ð ð©.
+
+â«ïž âïž ð§ ðœ ð¬, ðœ ð ïž & ð ð â¡ âïž ð ð ð ð ð ð¥.
+
+ðª ð ð ð« âïž ð ð ð ð ð Pydantic, â«ïž ð ð
ð ð,, ðšâðš ðâðŠº ð«ð ð, âïž, APIStar ð ðª ð.
+
+â«ïž âïž ð ð ð ð° (ðŽ ð¥ ð).
+
+ð¥, â«ïž ð« âïž ð§ ð ïž ð§Ÿ ðž ð, âïž ð€ ð ð€ ðª ð® ðŠ ð â«ïž.
+
+â«ïž âïž ð ð âïž. â«ïž â ð€-® ðв, ð ð§° ð¬ ð. âïž, â«ïž ð â.
+
+ð€ ð
ðª âïž â«ïž ð ð, â«ïž ð« âïž ðââ ð ïž,, ð€ ð« ð« â ð â ð€ âïž â®ïž ð-ð ð âïž ð ðº-Apispec. ð€ âïž ð ð ð â ð² ðš â ð ð ïž.
+
+âïž â€Žïž, ð ð¯ ð.
+
+â«ïž ð
ââ ð ð ïž ðž ð ïž, ðŒ ðª ð¯ ð ð.
+
+ð APIStar â ð§° â ð ð§, ð« ðž ð ïž.
+
+!!! info
+ APIStar â â¡ ðºðžð. ð ðš ð â:
+
+ * â³ ð ð ïž
+ * ð (â **FastAPI** âïž)
+ * Uvicorn (âïž ð & **FastAPI**)
+
+!!! check "ð® **FastAPI** "
+ ð.
+
+ ð ð£ ð ð (ðœ ð¬, ð ïž & ð§Ÿ) â®ïž ð ð ð, ð ð ð° ð ð ðšâðš ðâðŠº, ð³ ð€ ð€ ð ð.
+
+ & â®ïž ð ð ð° ð ð ïž & ð¬ ð ð ð, APIStar ð ð ðª.
+
+ â€Žïž APIStar âïž ð ðœ & ð â, & ð ð» ð â
âïž. ð ð ð ð **FastAPI**.
+
+ ð€ ð€ **FastAPI** "ð ðšâðŒ" APIStar, ⪠ð & ð â, âš âïž, & ð ð, âïž ð ð« âªïžâ¡ïž ð ð â®ïž ð§°.
+
+## âïž **FastAPI**
+
+### Pydantic
+
+Pydantic ð ð¬ ðœ ð¬, ð ïž & ð§Ÿ (âïž ð» ð) âïž ð ð ð ð.
+
+ð â â«ïž ð¶ ðïž.
+
+â«ïž â ð. ð â«ïž â© ð ð ð. & â«ïž âïž ð ð ð ð ð, ðšâðš ðâðŠº ð.
+
+!!! check "**FastAPI** âïž â«ïž"
+ ðµ ð ðœ ð¬, ðœ ð ïž & ð§ ð· ð§Ÿ (âïž ð ð» ð).
+
+ **FastAPI** â€Žïž â ð ð» ð ðœ & ð® â«ïž ð, âïž âªïžâ¡ïž ð ð ð â«ïž ðš.
+
+### ð
+
+ð ð¿ ð« ð ïž/ð§°, â ð¯ ð â-ð â³ ðâðŠº.
+
+â«ïž ð¶ ð
& ðïž. â«ïž ð§ ðª ð§, & âïž ð§ ðв.
+
+â«ïž âïž:
+
+* ð€ ð ð.
+* *ïžâ£ ðâðŠº.
+* -ð ïž ð¥ ð.
+* ðŽ & ð€« ð.
+* ð¯ ð©âð» ð ð ðžð².
+* â, ð, ð» ð, ð ðš.
+* ð & ðª ðâðŠº.
+* 1ïžâ£0ïžâ£0ïžâ£ ð¯ ð¯ ð°.
+* 1ïžâ£0ïžâ£0ïžâ£ ð¯ ð â â.
+* ð©ââ€âðš ðïž ð.
+
+ð â³ â© ð ð ïž ð¯. ðŽ ð¥ Uvicorn, â ð« ð ïž, âïž ðœ.
+
+ð ð ð ð° ðž ðž ð ïž.
+
+âïž â«ïž ð« ð ð§ ðœ ð¬, ð ïž âïž ð§Ÿ.
+
+ð 1ïžâ£ ð ð ð **FastAPI** ð® ð ð, ð âïž ð ð ð ð (âïž Pydantic). ð, â ð ð âïž, ðââ ð, ð ð â¡, âïž.
+
+!!! note "ð¡ â¹"
+ ð« ð "ð©" â ð ïž â³ ð ð ðšâð. â«ïž ð« "ð ð©" (ð©ð¬), ð ð« ð ïž ðš ð.
+
+ ð, â«ïž ⪠â âïž "ð©" ð ð§°. ð ð ð ð ïž, ð ðª ð Uvicorn ð ð ð« ðœ (ð ðž âïž Hypercorn), âïž ð ðª ð® ð« ð ð§°, ð `python-socketio`.
+
+!!! check "**FastAPI** âïž â«ïž"
+ ðµ ð ð ðž ð. â â ð ð.
+
+ ð `FastAPI` â«ïž ð ð âªïžâ¡ïž ð `Starlette`.
+
+ , ð³ ð ð ðª â®ïž ð, ð ðª â«ïž ð â®ïž **FastAPI**, â«ïž ð ð ð ð.
+
+### Uvicorn
+
+Uvicorn ð©-â© ð« ðœ, ð ð uvloop & httptool.
+
+â«ïž ð« ðž ð ïž, âïž ðœ. ðŒ, â«ïž ð« ð ð§° ð¹ â¡. ð ð³ ð ð ïž ð ð (âïž **FastAPI**) ð ð ð ð.
+
+â«ïž ð ðœ ð & **FastAPI**.
+
+!!! check "**FastAPI** ð â«ïž"
+ ð ðž ðœ ð **FastAPI** ðž.
+
+ ð ðª ð â«ïž â®ïž ð, âïž ð ð-ð ïž ðœ.
+
+ â
ð
â¹ [ð ïž](deployment/index.md){.internal-link target=_blank} ð.
+
+## ð & ð
+
+ð€, ð¬, & ð ðº ð Uvicorn, ð & FastAPI, â
ð ð [ð](benchmarks.md){.internal-link target=_blank}.
diff --git a/docs/em/docs/async.md b/docs/em/docs/async.md
new file mode 100644
index 000000000..13b362b5d
--- /dev/null
+++ b/docs/em/docs/async.md
@@ -0,0 +1,430 @@
+# ð ïž & ð / â
+
+â¹ ð `async def` â *â¡ ð ïž ð¢* & ð¥ ð ð ð, ð ïž, & ð.
+
+## ð â
+
+ð;ð©ââïž:
+
+ð¥ ð âïž ð¥ 𥳠ð ð ð¬ ð ð€ ð« â®ïž `await`, ð:
+
+```Python
+results = await some_library()
+```
+
+‎ïž, ð£ ð *â¡ ð ïž ð¢* â®ïž `async def` ð:
+
+```Python hl_lines="2"
+@app.get('/')
+async def read_results():
+ results = await some_library()
+ return results
+```
+
+!!! note
+ ð ðª ðŽ âïž `await` ð ð¢ â â®ïž `async def`.
+
+---
+
+ð¥ ð âïž ð¥ 𥳠ð ð ð â®ïž ð³ (ðœ, ð ïž, ð âïž, âïž.) & ð« âïž ðâðŠº âïž `await`, (ð â³ ðŒ ð
ðœ ð), â€Žïž ð£ ð *â¡ ð ïž ð¢* ð, â®ïž `def`, ð:
+
+```Python hl_lines="2"
+@app.get('/')
+def results():
+ results = some_library()
+ return results
+```
+
+---
+
+ð¥ ð ðž (ð«) ð« âïž ð â®ïž ð³ ð & â â«ïž ðš, âïž `async def`.
+
+---
+
+ð¥ ð ð« ð, âïž ð `def`.
+
+---
+
+**ð**: ð ðª ð `def` & `async def` ð *â¡ ð ïž ð¢* ð
ð ðª & ð¬ ð 1ïžâ£ âïž ð ð ð. FastAPI ð â¶ïžïž ð â®ïž ð«.
+
+ð, ð ðŒ ð, FastAPI ð ð· ð & ð¶ â©.
+
+âïž ð ð¶ ð, â«ïž ð ðª ð ð ïž.
+
+## ð¡ â¹
+
+ð ⬠ð âïž ðâðŠº **"ð ð"** âïž ð³ ð€ **"ð"**, â®ïž **`async` & `await`** â.
+
+â¡ïž ð ð ð€ ð ð ð:
+
+* **ð ð**
+* **`async` & `await`**
+* **ð**
+
+## ð ð
+
+ð ð â ð ðªðž ð¶ âïž ð ð¬ ð» / ð ð¶ ð â ð, â«ïž ð¶ ð âïž â *ð³ ð* ð ð± ð. â¡ïž ð¬ ð *ð³ ð* ð€ "ð-ð" ð¶.
+
+, â®ïž ð ð°, ð» ðª ð¶ & ð ð·, ⪠"ð-ð" ð¶ ð.
+
+â€Žïž ð» / ð ð¶ ð ð ð ð ð° â«ïž âïž ð€ â©ïž â«ïž â ð, âïž ðâ â«ïž ð¶ ð ð ð· â«ïž âïž ð â. & â«ïž ð¶ ð ð ð¥ ð ð â«ïž â âïž âª ð, ð€ž â«ïžâ â«ïž âïž.
+
+â, â«ïž ð¶ â ð¥ ð ð (â¡ïž ð¬, ð "ð-ð" ð¶) & ð£ â«ïžâ â«ïž âïž â®ïž â«ïž.
+
+ð "â ð³ ð" ð ð ð€/ð
Ÿ ð ïž ð ð¶ "ð" (ð¬ ð
ð¹ & ðŸ ðŸ), ð â:
+
+* ð âªïžâ¡ïž ð©âð» ðš ð ðž
+* ð ðš ð ð ðš ð©âð» ð ðž
+* ð ð ðŸ â âïž & ð€ ð ð
+* ð ð ð ð€ âïž â ðŸ
+* ð° ð ïž ð ïž
+* ðœ ð ïž ð
+* ðœ ð¢ ðš ð
+* âïž.
+
+ð ïž ð° ðŽ âŽïž â ð€/ð
Ÿ ð ïž, ð« ð€ ð« "ð€/ð
Ÿ ð" ð ïž.
+
+â«ïž ð€ "ð" â©ïž ð» / ð ð« âïž "ð" â®ïž ð ð, â â ð ð ð ð, ⪠ðš ð³, ðª â ð ð & ð£ ð·.
+
+â©ïž ð, ðââ "ð" âïž, ð ð, ð ðª â âž ð¥ ð (â²) ð» / ð ð â«ïžâ â«ïž ð¶, & â€Žïž ð ð â ð & ð£ ð· â®ïž ð«.
+
+"ð" (ðœ "ð") ð« ð âïž â "ð", â©ïž ð» / ð â© ð ð¶ ð â ð ð ð, ð¥ ð ð ð â.
+
+### ð ïž & ð
+
+ð ð **ð** ð ð¬ ð ð£ ð€ **"ð ïž"**. â«ïž ð âªïžâ¡ïž **"ð"**.
+
+**ð ïž** & **ð** ð¯ââïž ð "ð ð ð¥ ð
âïž ð ð ð°".
+
+âïž â¹ ð *ð ïž* & *ð* ð.
+
+ð ðº, ð ð ð ð ð:
+
+### ð ïž ð
+
+ð ð¶ â®ïž ð 𥰠ð€ â© ð¥, ð ð§ ➠⪠ð§ â â âªïžâ¡ïž ð«ð« ðª ð. ð¶
+
+
+
+â€Žïž â«ïž ð ð, ð ð¥ ð â 2ïžâ£ ð¶ ð ð ð 𥰠& ð. ð¶ ð¶
+
+
+
+ð§ ð¬ ð³ ð³ ðšâð³ ð« ð ð« âïž ð ð ð (âïž ð« â³ ð ð â®ïž ð©âð»).
+
+
+
+ð ðž. ð¶
+
+ð§ ð€ ð ð¢ ð ð.
+
+
+
+⪠ð â, ð ð¶ â®ïž ð 𥰠& â ð, ð ð§ & ð¬ â®ïž ð 𥰠ð ð° (ð ð ð¶ ð & â ð° ð).
+
+ð ð ð â®ïž ð ð¥°, ⪠ð â ð, ð ðª ðž ð ð° ð® â ð, ðš & ð ð 𥰠ð¶ ð¶ ð¶.
+
+
+
+⪠â & ð¬ ð ð¥°, âªïžâ¡ïž ð° ð°, ð â
ð¢ ð¥ ð â² ð ð¥ â«ïž ð ð âª.
+
+â€Žïž â, â«ïž ð ð ð. ð ð¶ â², ð€ ð ð & ð ð ð.
+
+
+
+ð & ð 𥰠ðŽ ð & âïž ð ð°. ð¶
+
+
+
+!!! info
+ ð¹ ðŒ ð¯ ð. ð¶
+
+---
+
+ð ð ð» / ð ð¶ ð ð.
+
+⪠ð âž, ð ✠ð¶, â ð ð, ð« ðš ð³ ð¶ "ð". âïž âž â© â©ïž ð§ ðŽ â â (ð« ð ð«), ð ð.
+
+‎ïž, ðâ â«ïž ð ð, ð â "ð" ð·, ð ð ïž ð£, ð â«ïžâ ð ð, ð€ ð 𥰠â, ðž, â
ð ð ð€ â ðµ âïž ð³, â
ð ð ð â, â
ð â âïž â ð¬, âïž.
+
+âïž â€Žïž, âïž ð ð« âïž ð ð, ð ð· â®ïž ð§ "ð âž" âž, â©ïž ð âïž â ð¶ ð ð ð.
+
+âïž ð ð¶ âïž âªïžâ¡ïž â² & ð§ ð â®ïž ð¢ ð ð, ð ðª ð ð¶ ð ð ð ð¥°, & "ð·" ð¶ ð¶ ð ð. â€Žïž ð ð ðš ð³ ð¶ "ð" ð â®ïž ð 𥰠ð¶.
+
+â€Žïž ð§ ð¶ ð¬ "ð€ ð â®ïž ðš ð" ð® ð ð¢ ð â² ð¥, âïž ð ð« ðŠ ð ð ⪠ðâ ð¥ ð¢ ð ð ð ð¢. ð ð ð
ââ 1ïžâ£ ð ð ð ð â©ïž ð âïž ð¢ ð ð, & ð« âïž ð«.
+
+ð â ð 𥰠ð ð (ð â®ïž ð· ð¶ / ð â ð ïž ð¶), ð ð & ð¬ ð ð ð ð âž.
+
+â€Žïž ð ð¶ â² ð¶, â¶ïž ð ð ð ð ð¶, â ð, ð¬ ð & â ð« ð. ð ð ð ð / ð ð â®ïž â² â¹. ð ð, â ð ð, "ðŽ ð" ð¶ ð¶, âïž â®ïž 1ïžâ£ "ð€ ð" ð â¹.
+
+### ð ð
+
+ð â¡ïž ð ð« âð« ð« "ð ïž ð", âïž "ð ð".
+
+ð ð¶ â®ïž ð 𥰠ð€ ð â© ð¥.
+
+ð ð§ ➠⪠ð (â¡ïž ð¬ 8ïžâ£) ð§ ð ð ð° ð³ â â âªïžâ¡ïž ð«ð« ðª ð.
+
+ð± â ð â ð« ð ð â ð â² â©ïž ð 8ïžâ£ ð§ ð¶ & ð ð â¶ïžïž âïž â ðââ â â.
+
+
+
+â€Žïž â«ïž ð ð ð, ð ð¥ ð â 2ïžâ£ ð¶ ð ð ð 𥰠& ð.
+
+ð ðž ð¶.
+
+
+
+ð§ ð¶ ðšâð³.
+
+ð â, ð§ ðª â² ð¶, ð ð
ââ 1ïžâ£ ð â ð ð â ð, ð€ ð
ââ ð¢ ð.
+
+
+
+ð & ð 𥰠ð© ð« â¡ïž ð ð€ ðª ð & â ð ð ðâ ð« ð¬, ð ð«ð ðž ð ð ð¥°. ð¶
+
+ð "ð" ð·, ð "ð" â®ïž ð§/ð³ ð¶ ð¶. ð âïž â ð¶ & ð€ â ð ð ð§/ð³ ð¶ ð¶ ð ð & ð€ ð« ð, âïž âª, ð± ð ðª â ð«.
+
+
+
+â€Žïž ð ð§/ð³ ð¶ ð¶ ð ð ð â®ïž ð ð, â®ïž ð ð° â ð¶ ð€ ðª â².
+
+
+
+ð â ð ð & ð¶ ð â®ïž ð ð¥°.
+
+ð ðŽ ð«, & ð ðš. â¹
+
+
+
+ð€ ð« ð
ð¬ âïž ð ð
ð° ðž â ð¶ ðª â². ð¶
+
+!!! info
+ ð¹ ðŒ ð¯ ð. ð¶
+
+---
+
+ð ð ð ð, ð ð» / ð ð¶ â®ïž 2ïžâ£ ð¹ (ð & ð ð¥°), ð¯ââïž â ð¶ & ð¡ ð« ð ð¶ "â ð â²" ð¶ ð ð°.
+
+â© ð¥ ðª âïž 8ïžâ£ ð¹ (ð§/ð³). ⪠ð ïž ð ðª ðª âïž âïž ðŽ 2ïžâ£ (1ïžâ£ ð§ & 1ïžâ£ ð³).
+
+âïž, ð ð¡ ð« ð. ð¶
+
+---
+
+ð ð ð ð ð ð. ð¶
+
+ð
"ð° ðšââ€âðš" ðŒ ð, ð ðŠ.
+
+ð â³, ð ðŠ âïž ð ð§ ð¶ ð¶ ð¶ ð¶ ð¶ ð¶ ð¶ ð¶ & ðŠ âž ð¶ ð¶ ð¶ ð¶ ð¶ ð¶ ð¶ ð¶.
+
+ð ð§ ðš ð ð· â®ïž 1ïžâ£ ð©âð» â®ïž ð ð¶ ð¶ ð¶.
+
+& ð âïž â ð¶ âž ð ð° âïž ð ðž ð ð.
+
+ð ð² ð«ð ð â ð 𥰠ð¶ â®ïž ð ð· ðŠ ð¶.
+
+### ð ð
+
+ð ð "â© ð¥ ð â®ïž ð ð¥°", ð€ ð â ð¶, â«ïž â ð ð
ð âïž ð ïž âïž âž ð¶ ð¶.
+
+ð ðŒ ð
ðž ðž.
+
+ð, ð ð©âð», âïž ð ðœ â ð¶ ð« ð«--ð ð ðš ð« ðš.
+
+& â€Žïž â ð¶ ð ðš ð ð.
+
+ð "â" ð¶ â â², âïž, â â«ïž ð, â«ïž ð â ð.
+
+ð â«ïžâ â«ïž â ð ð âïž ð âž ð¶ ð¶ ð ðž ð.
+
+ð ð ð â«ïžâ â â³ ð (âïž â³ ð« ð) & ð ðª ð¶ ð ïž ðªðž.
+
+& ð ð ð ð ð ð€ â®ïž **FastAPI**.
+
+& ð ðª âïž ð & ð ð ð°, ð ð€ â ð ð ð
ð¯ â³ ð ïž & ð ð·ðª â®ïž ð¶, â â ðªðž ð ð
± (ð ð ð).
+
+### ð ïž ð ð ð â
+
+ð â ð ð« ð ð.
+
+ð ïž ð ð ð. & â«ïž ð» ð **ð¯** ð ð ð ð â. â©ïž ð, â«ïž ð ð ð ð ð ðž ðž ð ïž. âïž ð« ð.
+
+, â ð ð
, ð ð ð ð:
+
+> ð âïž ð§¹ ðŠ, ð© ð .
+
+*ð, ð ð ð*.
+
+---
+
+ð€ ð
ââ â ð¶ ð, ð ð· ðš, ð ð ð¥ ð .
+
+ð ðª âïž ð ð ðŒ, ð¥ ð ð§ââ, â€Žïž ðšâð³, âïž ð ð« â ð¶ ð³, ð§¹ & ð§¹, ð ð«ð ð ð³.
+
+â«ïž ð â ð ðž ð° ð â®ïž âïž ðµ ð (ð ïž) & ð ð âïž â ð ðž ð·.
+
+âïž ð ðŒ, ð¥ ð ðª âïž 8ïžâ£ ð°-ð§/ð³/ð-ð§¹, & ð 1ïžâ£ ð« (â ð) ðª â ð ð ð§¹ â«ïž, ð ðª ð ð· **ð**, â®ïž â â¹, & ð ð
ð.
+
+ð ð, ð 1ïžâ£ ð§¹ (ð ð) ð ð¹, ð€ž ð« ð ðšâð.
+
+& ð ð ïž ð° â â ð· (â©ïž â), & ð· ð» â ðœ, ð« ð€ ð« â "ðœ ð".
+
+---
+
+â ðŒ ðœ ð ð ïž ð ð ð ð 𧪠ð.
+
+ðŒ:
+
+* **ð§** âïž **ðŒ ð**.
+* **ð» ð**: ðŒ â ð¯ ð
, ð ð
âïž 3ïžâ£ ð² / ðš, ð ð ð ð ð» ð³ ð ð ð
, ð ð ð°.
+* **ð° ð«**: â«ïž ð ð ð "â" & "ðŒ" â. ð ðŠ ð â®ïž ð¢ & â ð ð« ð¯ââïž ð ð°.
+* **⬠ð«**: ð ð§-ð ð° ð«,, ð â. â«ïž ð ð€ ð« ð ð ð¢ â, âïž ðŠ â ð«, & ð ðŒ, ð âïž ð ð¹ ð & / âïž âïž ð ð·.
+
+### ð ïž â ð: ðž â ð° ð«
+
+â®ïž **FastAPI** ð ðª â ð ð ïž ð ð¶ â ðž ð ïž (ð ð ð§² â³).
+
+âïž ð ðª ð ð° ð & ðŸ (âïž ð ð ïž ðââ ð) **ðœ ð** â ð ð ð° ð« âïž.
+
+ð, â ð
ð ð ð ð ðªðž **ðœ ð§ª**, ð° ð« & âŽïž ⬠ð«, â FastAPI ð¶ ð ð ðœ 𧪠/ ð° ð« ðž ð & ðž (ðª ð ð).
+
+ð â ð ð ð ð ð ð ð [ð ïž](deployment/index.md){.internal-link target=_blank}.
+
+## `async` & `await`
+
+ð ⬠ð âïž ð¶ ðïž ð ð¬ ð ð. ð â â«ïž ð ð ð "ð" ð & "â" ð â¶ïžïž ð.
+
+ðâ ð€ ð ïž ð ð ð â â ð€ ð & âïž ðâðŠº ð ð ð â, ð ðª ð â«ïž ð:
+
+```Python
+burgers = await get_burgers(2)
+```
+
+ð ð¥ `await`. â«ïž ð¬ ð ð â«ïž âïž â âž `get_burgers(2)` ð ðš ð® ð ð¶ â â» ð `burgers`. â®ïž ð, ð ð ð ð â«ïž ðª ð¶ & ð³ ð ð¶ ð¶ ð (ð ðš â1ïžâ£ ðš).
+
+`await` ð·, â«ïž âïž ð ð¢ ð ðâðŠº ð ð. ð, ð ð£ â«ïž â®ïž `async def`:
+
+```Python hl_lines="1"
+async def get_burgers(number: int):
+ # Do some asynchronous stuff to create the burgers
+ return burgers
+```
+
+...â©ïž `def`:
+
+```Python hl_lines="2"
+# This is not asynchronous
+def get_sequential_burgers(number: int):
+ # Do some sequential stuff to create the burgers
+ return burgers
+```
+
+â®ïž `async def`, ð ð ð, ð ð ð¢, â«ïž âïž ð€ `await` ð§¬, & ð â«ïž ðª "âž" âž ð ïž ð ð¢ & ð¶ ð³ ð ð¶ â ð ð.
+
+ðâ ð ð ð€ `async def` ð¢, ð âïž "â" â«ïž. , ð ð ð« ð·:
+
+```Python
+# This won't work, because get_burgers was defined with: async def
+burgers = get_burgers(2)
+```
+
+---
+
+, ð¥ ð âïž ð ð ð¬ ð ð ð ðª ð€ â«ïž â®ïž `await`, ð ðª â *â¡ ð ïž ð¢* ð âïž â«ïž â®ïž `async def`, ð:
+
+```Python hl_lines="2-3"
+@app.get('/burgers')
+async def read_burgers():
+ burgers = await get_burgers(2)
+ return burgers
+```
+
+### ð
ð¡ â¹
+
+ð ðª âïž ð ð `await` ðª ðŽ âïž ð ð¢ ð¬ â®ïž `async def`.
+
+âïž ð ð°, ð¢ ð¬ â®ïž `async def` âïž "â". , ð¢ â®ïž `async def` ðª ðŽ ð€ ð ð¢ ð¬ â®ïž `async def` ðââïž.
+
+, ð ð¥ & ð, â ð ð€ ð¥ `async` ð¢ â
+
+ð¥ ð ð· â®ïž **FastAPI** ð ð« âïž ð ð ð, â©ïž ð "ð¥" ð¢ ð ð *â¡ ð ïž ð¢*, & FastAPI ð ð â â¶ïžïž ð.
+
+âïž ð¥ ð ð âïž `async` / `await` ðµ FastAPI, ð ðª â«ïž ð.
+
+### â ð ð ð ð
+
+ð (& **FastAPI**) âïž ð AnyIO, â â â«ïž ð â®ïž ð¯ââïž ð ð© ð â³ & ð».
+
+ð¯, ð ðª ð âïž AnyIO ð ð§ ð ïž âïž ðŒ ð ð ð
ð§ â ð ð ð.
+
+& ð¥ ð ð« âïž FastAPI, ð ðª â ð ð ð ðž â®ïž AnyIO ð ð & ð€ ð® ð° (â
*ð ð ïž*).
+
+### ð ðš ð ð
+
+ð ð âïž `async` & `await` ð¶ ð ðªðž.
+
+âïž â«ïž â ð· â®ïž ð ð ð â©.
+
+ð ð â (âïž ð ð) ð â³ ð ⬠ðž (ð¥ & â³).
+
+âïž â ð, ð ð ð ð ð & â .
+
+â®ïž ⬠ð, ð ðª âïž âïž ð§µ âïž ð. âïž ð ð ð ð ð€, â¹, & ð ð.
+
+â®ïž ⬠Ⳡ/ ð¥ ðž, ð ð âïž âïž "â²". â âïž â² ð¥ð.
+
+## ð
+
+**ð** ð¶ ð â ð ðš `async def` ð¢. ð ð ð â«ïž ð³ ð ð¢ ð â«ïž ðª â¶ïž & ð â«ïž ð ð â, âïž ð â«ïž 5ïžâ£ð âž âž ð ðââïž, ðâ ð€ `await` ð â«ïž.
+
+âïž ð ð ð ïž âïž ð ð â®ïž `async` & `await` ð ð° ð¬ âïž "ð". â«ïž â ð ð â ð¶, "ð".
+
+## ð
+
+â¡ïž ð ð ð€ âªïžâ¡ïž ð:
+
+> ð ⬠ð âïž ðâðŠº **"ð ð"** âïž ð³ ð€ **"ð"**, â®ïž **`async` & `await`** â.
+
+ð ð â ð
ð ð. ð¶
+
+ð ð â«ïžâ ðïž FastAPI (ð ð) & â«ïžâ â â«ïž âïž â
ð ð.
+
+## ð¶ ð¡ â¹
+
+!!! warning
+ ð ðª ð² ð¶ ð.
+
+ ð ð¶ ð¡ â¹ â **FastAPI** ð· ð.
+
+ ð¥ ð âïž ð¡ ð¡ (ð¶-ð, ð§µ, ð«, âïž.) & ð ð â FastAPI ðµ `async def` ð ð `def`, ð¶ ‎ïž.
+
+### â¡ ð ïž ð¢
+
+ðâ ð ð£ *â¡ ð ïž ð¢* â®ïž ð `def` â©ïž `async def`, â«ïž ð ð¢ ð§µ ð â€Žïž â, â©ïž â ð€ ð (â«ïž ð ð« ðœ).
+
+ð¥ ð ð âªïžâ¡ïž â1ïžâ£ ð ð ïž ð ðš ð« ð· ð ð¬ ð & ð âïž â ð ð-ðŽ *â¡ ð ïž ð¢* â®ïž â
`def` ð€ª ð ð (ð 1ïžâ£0ïžâ£0ïžâ£ ð), ð ð ð **FastAPI** â ð ð. ð« ðŒ, â«ïž ð» âïž `async def` ð¥ ð *â¡ ð ïž ð¢* âïž ð ð ð ð§ ð€/ð
Ÿ.
+
+, ð¯ââïž â , ð€ ð **FastAPI** ð [â©](/#performance){.internal-link target=_blank} ð (âïž ð â) ð â®ïž ð ïž.
+
+### ð
+
+ð â [ð](/tutorial/dependencies/index.md){.internal-link target=_blank}. ð¥ ð ð© `def` ð¢ â©ïž `async def`, â«ïž ð ð¢ ð§µ.
+
+### ð§-ð
+
+ð ðª âïž ð ð & [ð§-ð](/tutorial/dependencies/sub-dependencies.md){.internal-link target=_blank} ð« ð ð (ð¢ ð¢ ð), ð« ðª â â®ïž `async def` & â®ïž ð `def`. â«ïž ð ð·, & ð â â®ïž ð `def` ð ð€ ð ð¢ ð§µ (âªïžâ¡ïž ð§µ) â©ïž â "â".
+
+### ð ð ð¢
+
+ð ð ð ð¢ ð ð ð€ ð ðª â â®ïž ð `def` âïž `async def` & FastAPI ð ð« ð ð ð ð€ â«ïž.
+
+ð ð
ð¢ ð FastAPI ð€ ð: *â¡ ð ïž ð¢* & ð.
+
+ð¥ ð ð ð¢ ð ð¢ â®ïž `def`, â«ïž ð ð€ ð (ð â â«ïž ð ð), ð« ð§µ, ð¥ ð¢ â â®ïž `async def` â€Žïž ð ð `await` ð ð¢ ðâ ð ð€ â«ïž ð ð.
+
+---
+
+ð, ð ð¶ ð¡ â¹ ð ð ð² â ð¥ ð ð ð ð«.
+
+âª, ð ð ð â®ïž ð âªïžâ¡ïž ð ð: ð â.
diff --git a/docs/em/docs/benchmarks.md b/docs/em/docs/benchmarks.md
new file mode 100644
index 000000000..003c3f62d
--- /dev/null
+++ b/docs/em/docs/benchmarks.md
@@ -0,0 +1,34 @@
+# ð
+
+ð¬ ðžð² ð ðŠ **FastAPI** ðž ðââ ðœ Uvicorn 1ïžâ£ â© ð ð ïž ðª, ðŽ ð ð & Uvicorn ð« (âïž ð FastAPI). (*)
+
+âïž ðâ â
ð & ðº ð ð âïž ð ð€¯.
+
+## ð & ð
+
+ðâ ð â
ð, â«ïž â ð ð ð§° ð ð ð¬ ð.
+
+ð¯, ð Uvicorn, ð & FastAPI ð¬ ð¯ââïž (ðª ð ð ð§°).
+
+ð
â â ð§°, ð ð â«ïž ð ð€. & ð ð ð« ð¯ ð â ð ð§°.
+
+ð ð:
+
+* **Uvicorn**: ð« ðœ
+ * **ð**: (âïž Uvicorn) ðž ðž
+ * **FastAPI**: (âïž ð) ð ïž ðž â®ïž ð ð â ð ð, â®ïž ðœ ð¬, âïž.
+
+* **Uvicorn**:
+ * ð âïž ð ð, â«ïž ð« âïž ð
â ð âïž âªïžâ¡ïž ðœ â«ïž.
+ * ð ð«ð â ðž Uvicorn ð. ð ð â ð ð ð ð âïž ð ð âïž ð, ð, ð ð ð ð (âïž **FastAPI**). & ð¥ ð ð, ð ð ðž ð âïž ð ð¥ âïž âïž ð ïž & ð ð ð± ð & ð.
+ * ð¥ ð â Uvicorn, ð¬ â«ïž ð¡ ðž, Hypercorn, â³, âïž. ðž ðœ.
+* **ð**:
+ * ð âïž â ð ð, â®ïž Uvicorn. ð, ð âïž Uvicorn ð. , â«ïž ð² ðª ðŽ ð€ "ð" ð Uvicorn âïž ð ïž ð
ð.
+ * âïž â«ïž ð ð ð§° ð ð
ðž ðž, â®ïž ð¹ âïž ð â¡, âïž.
+ * ð¥ ð â ð, ð¬ â«ïž ð¡ ð€£, ðº, â³, âïž. ðž ð ïž (âïž ðž).
+* **FastAPI**:
+ * ð ð ð ð âïž Uvicorn & ð«ð â© ð â«ïž, **FastAPI** âïž ð, â«ïž ð«ð â© ð â«ïž.
+ * FastAPI ð ð
â ð ð ð. â ð ð ð ð§ ðª ðâ ð ð, ð ðœ ð¬ & ð ïž. & âïž â«ïž, ð ð€ ð§ ð§Ÿ ð (ð§ ð§Ÿ ð« ð® ð¥ ðââ ðž, â«ïž ð ð ðŽ).
+ * ð¥ ð ð« âïž FastAPI & âïž ð ð (âïž â1ïžâ£ ð§°, ð ð€£, ðº, ð, âïž) ð ð âïž ð ïž ð ðœ ð¬ & ð ïž ð. , ð ð ðž ð âïž ð ð¥ ð¥ â«ïž ð âïž FastAPI. & ð ðŒ, ð ðœ ð¬ & ð ïž ðŠ ðž ð â ðž.
+ * , âïž FastAPI ð â» ð ïž ð°, ð, âž ð, & ð ð ð² ð€ ð ð (âïž ð) ð ð ð¥ ð ð« âïž â«ïž (ð ð âïž ð ïž â«ïž ð ð ð).
+ * ð¥ ð â FastAPI, ð¬ â«ïž ð¡ ðž ðž ð ïž (âïž â ð§°) ð ð ðœ ð¬, ð ïž & ð§Ÿ, ð ðº-apispec, NestJS, âš, âïž. ð ïž â®ïž ð ïž ð§ ðœ ð¬, ð ïž & ð§Ÿ.
diff --git a/docs/em/docs/contributing.md b/docs/em/docs/contributing.md
new file mode 100644
index 000000000..7749d27a1
--- /dev/null
+++ b/docs/em/docs/contributing.md
@@ -0,0 +1,465 @@
+# ð ïž - ð
+
+ð¥, ð ðª ð ð ð° ð [â¹ FastAPI & ð€ â¹](help-fastapi.md){.internal-link target=_blank}.
+
+## ð ïž
+
+ð¥ ð ⪠ð ð & ð ð ð ð ðª â¬ ð€¿ ð, ð¥ ð â ð ð ð.
+
+### ð¹ ð â®ïž `venv`
+
+ð ðª â ð¹ ð ð âïž ð `venv` ð¹:
+
+
+
+---
+
+ð ð ð¥ ð ðº ð â **ð ïž** & **ð**, â¡ïž ð£ ð¬ ð ð ïž.
+
+## ðââ ð ðŽ
+
+ð
ðŒ, ðâ ð â ðž ð ïž, ð ð â«ïž **ð§ ðââ**, â¡, ð ð ð©âð» ðª ð§ ð â«ïž. ð âïž, ð¥ ð âïž ð¯ ð€ â«ïžâ ð ð â«ïž ð ðŽ ð¯ â , âïž ð
ð° ð ð â«ïž ð§ ðââ & **ðª**.
+
+### ð° ðœ
+
+ðâ ð â ð ð° ðœ (â ðœ, ð¹ ð°, âïž.) ð
ð ð ðª ð Uvicorn (âïž ð) â, ð ð ð ðâ ð ïž ð.
+
+& â«ïž ð ð· & ð â **â®ïž ð ïž**.
+
+âïž ð¥ ð ð ðœ ðž, **ðââ ð ïž** ð ð² â ïž.
+
+& ð¥ ðœ â (ðŒ â®ïž â¹, âïž ð ïž âªïžâ¡ïž â ðâðŠº) ð ð² **ð ð« ð â«ïž**. & â©ïž ð, ð ð ð« ð ð ð âïž â ð ïž â. , ð ð ïž ð ð§ â ïž. ð¶
+
+### ð ð ð ðŽ
+
+ð¢, ð ð ð² ð ðœ ð (â
Uvicorn) â¶ïž ð ð ðœ ðŽ, & ðµ ðª ð **ð¿ ð¥**, âïž ð ïž ð§ ð â®ïž ð ð ïž (â
Uvicorn ðââ ð FastAPI ð±).
+
+### ð ð
+
+ð ð, ð ð ð âïž **ð ð** ð ð â ð ð ðž ð ð ðŽ. & ð ðŒ, â«ïž ð â ð ð ðŠ² âïž ðž ð, ðŒ, ðœ.
+
+### ðŒ ð§° ð ðŽ
+
+ðŒ ð§° ð ðª ð ðšâð:
+
+* â
+* Kubernete
+* â â
+* â ð ð³
+* â³
+* ðšâð»
+* ðµ ð â ðâðŠº ð ð« ðâðŠº
+* ð...
+
+ð€ ð ð€ ð ð
ð§± ðŒ â ð.
+
+## â
+
+ð â ð ð ðž ð ð ðŽ, ð ð² ð â ð â«ïž **â** â®ïž â.
+
+### ð¥ â â
+
+ð¥, ð¿, â **â**, ð ð°. ð¥ ð *ð§* âïž **ð** ðµââ ð ð¥. ð¶
+
+& ð¥ ð©âð» ð§ ð ð ð¥ ð ð ð & ð¥ ð ïž ð â (ð² â ð ð ðââïž ð¶).
+
+### ð€ª â ð ðµ
+
+ðâ ð ðž ð â®ïž FastAPI, ð¥ ð€ â ð ð, FastAPI ð ð ð â«ïž ð ðš ð â² â. ð¡
+
+ð©âð» ð ð€ **5ïžâ£0ïžâ£0ïžâ£ ð ðœ â** ð ðš, âïž ðž ð ð£ ð· â ðš â©ïž ð¥ ð.
+
+### ðŠ â - ð¥
+
+ð, ð€ 5ïžâ£ð ðŒ ðâ ð¥ â ð ð **ð¥ ð ðž** â Uvicorn & ð ð¥. ð¶
+
+& , ð ð ð² ð« ð ðž ð§ â ïž â©ïž ð€ â 1ïžâ£ ð¥, ð ð² ð â«ïž **ð£ ð** ð *â¡ ð ïž* ð ð« ð.
+
+### â â®ïž ð¥
+
+âïž ð ðŒ â®ïž ð€ ð â ð ð¥ ðââ **ð ïž**, ð ð ð ð¢ ðŠ² ð ð **ð** ð ïž, ð ð©ââ€âðš ð°...
+
+!!! tip
+ ...ð ð¥ ð ðž **ð¥ âª** â«ïž ð² ð« â ð ð§ ð â«ïž âŸ. âïž ð ðŒ, ð ð ð² ð â«ïž â®ïž ð ïž, âïž ð â¶ïžïž â®ïž ð ïž.
+
+ â¡ïž ð¯ ð ð ðŒ, ðâ â«ïž ðª ð¥ ð ð¯ ðŒ **ð®**, & â«ïž â ð â â«ïž.
+
+ð ð ð² ð âïž ð ð ð ð ðž **ð¢ ðв**, â©ïž ð â, ð ðž â®ïž Uvicorn & ð ⪠ð¥, ð€ ð³ ð ð ð ð± ð ðª ð³ ð â«ïž.
+
+### ðŒ ð§° â ð
+
+ð ðŒ, ð ð§° ð âïž **ð ð ð ðŽ** âïž ðµ ð§ **â**.
+
+ðŒ, ð ðª ðµ:
+
+* â
+* Kubernete
+* â â
+* â ð ð³
+* â³
+* ðšâð»
+* ðµ ð â ðâðŠº ð ð« ðâðŠº
+* ð...
+
+## 𧬠- ð ïž & ðŸ
+
+â®ïž FastAPI ðž, âïž ðœ ð ð Uvicorn, ðââ â«ïž ð **1ïžâ£ ð ïž** ðª ðŠ ð ð©âð» ð.
+
+âïž ð ðŒ, ð ð ð ð ð ðšâð ð ïž ð ð°.
+
+### ð ð ïž - ðšâð
+
+ð¥ ð âïž ð
ð©âð» ð â«ïžâ ð ð ïž ðª ðµ (ðŒ ð¥ ð¹ ð° ð« ðââïž ðŠ) & ð âïž **ð ð** ðœ ðœ, â€Žïž ð ðª âïž **ð ð ïž** ðââ â®ïž ð ðž ð ð°, & ð ð ðš ðª ð«.
+
+ðâ ð ð **ð ð ïž** ð ð ïž ð, ð« ð ð€ **ðšâð**.
+
+### ðšâð ð ïž & âŽ
+
+ð âªïžâ¡ïž 𩺠[ð ðºðžð](./https.md){.internal-link target=_blank} ð ðŽ 1ïžâ£ ð ïž ðª ð ð 1ïžâ£ ð ⎠& ð¢ ð¢ ðœ â
+
+ð â.
+
+, ðª âïž **ð ð ïž** ð ð°, ð€ âïž **ð ð ïž ð ð âŽ** ð â€Žïž ð¶ ð» ð ðšâð ð ïž ð.
+
+### ðŸ ð ð ïž
+
+ð, ðâ ð ð ð ðŸ, ðŒ, ð° ð« ð· ð¢, âïž ð â ð ð¢, ð ð **ðŽ ð ðŸ (ðŸ)** ðœ.
+
+& ð ð ïž ð **ð« ð° ð ðŸ**. ð â ð ð ð ð ïž âïž ð® ð ð, ð¢, & ðŸ. & ð¥ ð ð© â ðž ðŸ ð ð, **ð ð ïž** ð ðŽ ð ðž ðŸ.
+
+### ðœ ðŸ
+
+ðŒ, ð¥ ð ð ð ð° ð« ð· â®ïž **1ïžâ£ ðŸ ð**, ðâ ð ð 1ïžâ£ ð ïž â®ïž ð ð ïž, â«ïž ð ðŽ ð 1ïžâ£ ðŸ ðŸ. & ð¥ ð â¶ïž **4ïžâ£ ð ïž** (4ïžâ£ ðšâð), ð ð ðŽ 1ïžâ£ ðŸ ðŸ. ð, ð ð ïž ð ðŽ **4ïžâ£ ðŸ ðŸ**.
+
+& ð¥ ð ð° ðœ âïž ð¹ ð° ðŽ âïž 3ïžâ£ ðŸ ðŸ, ð ð ð
ð 4ïžâ£ ðŸ ðŸ ð ð€ â . ð¶
+
+### ð ð ïž - ðŒ
+
+ð ðŒ, ð€ **ðšâðŒ ð ïž** ð â¶ïž & ð 2ïžâ£ **ðšâð ð ïž**.
+
+ð ðšâðŒ ð ïž ð ð² 1ïžâ£ ð ð **âŽ** ð¢. & â«ïž ð ð¶ ð ð» ðšâð ð ïž.
+
+ð ðšâð ð ïž ð ð ðââ ð ðž, ð« ð ð ð ð ðš **ðš** & ðš **ðš**, & ð« ð ð ð³ ð ð® ð¢ ðŸ.
+
+
+
+## ð ïž ð¢ ð
+
+ð¢, ðª ð ðµ ð€ âïž ðª ð ð§.
+
+âïž ð ð ð, ð ðª â â«ïž ð¢ â®ïž:
+
+
+
+## ð¡ ð
+
+â, ð ð ð² ð ðª ðœ ð ð± ð ð ð£ ð ð°. ð ð ðª âïž ðª ð§¢, â«ïž âïž ð **ð ð**.
+
+ð ðª â ð
ðª ð©º.
+
+## ð ïž ð§
+
+ð ð ð§ ð¥ ð¬ [ð ïž ð§](./concepts.md){.internal-link target=_blank}, ð¥ â ð ð« ð ðµ â®ïž ðª:
+
+* **ðºðžð**: ðµ ðª, ð« ð ð€ ð ð & ðµ ðºðžð ð.
+* **ðââ ð ðŽ**: ðµ ðª, ð ð« ðâðŠº.
+* **â**: ðµ ðª, ð ð« ðâðŠº.
+* **ð§¬**: ðµ ðª, ð ð« ðâðŠº.
+* **ðŸ**: ð ð ðª, ð ðª ð§ ð« ð â«ïž.
+* **â®ïž ð â â¶ïž**: ð« ð ðâðŠº, ð ðª â â«ïž ð· â®ïž ð« ðŸ âïž âïž ð â.
+
+!!! note
+ ðª ð§ â â«ïž â© (& ð) ð ïž ð
ðž ð.
+
+ â«ïž ðª ð ð âïž ðŒ, âïž ð ð°, â«ïž ð« ðâðŠº ð, ð âïž ð¢ ðœ (âïž âªïžâ¡ïž ðª ð â ðœ âïž), ð ð¹ ð°, âïž.
+
+ ð ðª â ð
â¹ ðª 𩺠ð ð¥ â«ïž â¶ïžïž â ð.
diff --git a/docs/em/docs/deployment/docker.md b/docs/em/docs/deployment/docker.md
new file mode 100644
index 000000000..51ece5599
--- /dev/null
+++ b/docs/em/docs/deployment/docker.md
@@ -0,0 +1,698 @@
+# FastAPI ðŠ - â
+
+ðâ ð ïž FastAPI ðž â ð¯ ð **ðŸ ðŠ ðŒ**. â«ïž ð ðš âïž **â**. ð ðª â€Žïž ð ïž ð ðŠ ðŒ 1ïžâ£ ð©ââ€âðš ðª ð.
+
+âïž ðŸ ðŠ âïž ð ð â
**ðââ**, **ð¬**, **ðŠ**, & ð.
+
+!!! tip
+ ð & ⪠ð ð ð© â ðŠ [`Dockerfile` ð ð¶](#build-a-docker-image-for-fastapi).
+
++ +**FastAPI** ð«ð ð ð¥ ð« â®ïž ð· ð. + +ð€ âïž ð ð§° â â ð âïž â¹ ð® ð® ð. + +ð€ âïž â ð ð ð ïž ð 1ïžâ£2ïžâ£ðïž. ð¥ ð€ ð â ð â ð **FastAPI** âïž ð ð ð ïž, ð-ð, & ð§°. + +âïž â, ð€ ð ââ ð ð ð ð ð³ ð ð ð ð« â, â ð ð âªïžâ¡ïž â®ïž ð§°, & ð ð« ð ð ðª, âïž ðªðž â ð âð« ðª â (ð 3ïžâ£.6ïžâ£ â ð ð). + ++ +## ð¬ + +âïž ð â®ïž ð ð€ âïž ð€ ð¡ âªïžâ¡ïž ð ð«, â ð, & ð ð« ð ð ð€ ðª ð ð€ & ð ð©âð» ð€ âïž ð· â®ïž. + +ðŒ, â«ïž ð ð ð² â«ïž ð âïž ð ð© ð ð ð. + +, ð ð¯ âïž âª â» ð©. + +, â â¶ïž ð **FastAPI**, ð€ ðž ð ðïž ð ð ð, ð» ð, Oauth2ïžâ£, âïž. ð¯ ð« ð, ð, & ðº. + +## ð§ + +â€Žïž ð€ ðž ð° ð§ ð©âð» "ð ïž" ð€ ð âïž ð©âð» (ð©âð» âïž FastAPI). + +ð€ ð¯ ð ð ð ð ð ðšâðš: ð, ð ð, ð ð§¢ ðšâðš. + +ð ð ð©âð» ð¬, ð ð ð 8ïžâ£0ïžâ£ ð¯ ð©âð». + +â«ïž â ð **FastAPI** ð¯ ð¯ â®ïž ðšâðš âïž 8ïžâ£0ïžâ£ ð¯ ð ð©âð». & ð ð ðšâðš ð ð· â¡, ð ð® ð° ð ð· ð ð ðšâðš. + +ð ð ð€ ðª ð ð ð ð ð â ð ðª, âïž ð ïž ð, ð & â â , âïž. + +ð ð ð ð ð ð ïž ð¡ ð ð©âð». + +## ð + +â®ïž ð¬ ð ð, ð€ ð ð ð€ ð âïž **Pydantic** ð® ð. + +â€Žïž ð€ ð â«ïž, â â«ïž ð ð ïž â®ïž ð» ð, ðâðŠº ð ð ð¬ â ð, & ð ðšâðš ðâðŠº (ð â , â) âïž ð ð¯ ð ðšâðš. + +â®ïž ð ïž, ð€ ð **ð**, ð ð ð. + +## ð ïž + +ð° ð€ â¶ïž ð **FastAPI** â«ïž, ð ð ⪠ð¥, ð§ ð¬, ð & ð§° ð, & ð¡ ð ð© & ð§ ð & ð. + +## ð® + +ð â, â«ïž ⪠ð ð **FastAPI** â®ïž ð® ð â â ð ð«ð«. + +â«ïž ðââ ð ð€ â®ïž ð ⣠ð âïž ðŒ ð. + +ð ð©âð» & ð ⪠ðª ð **FastAPI** ð« ð (ð ð€ & ð ð). + +âïž, ð€ ð ð & â ð. + +**FastAPI** âïž ð ð® ‎ïž. + +& [ð â¹](help-fastapi.md){.internal-link target=_blank} ð ð. diff --git a/docs/em/docs/index.md b/docs/em/docs/index.md new file mode 100644 index 000000000..ea8a9d41c --- /dev/null +++ b/docs/em/docs/index.md @@ -0,0 +1,469 @@ + +
+ FastAPI ð ïž, â ð, â© ð¡, â© ð, ð ð +
+ + +--- + +**ð§Ÿ**: https://fastapi.tiangolo.com + +**â¹ ð**: https://github.com/tiangolo/fastapi + +--- + +FastAPI ð, â© (â-ð), ðž ð ïž ð ð ïž â®ïž ð 3ïžâ£.7ïžâ£ â âïž ð ð© ð ð ð. + +ð â: + +* **â©**: ð¶ â ð, ð ð·ðª â®ïž **â³** & **ð¶** (ð ð & Pydantic). [1ïžâ£ â© ð ð ïž ðª](#performance). +* **â© ð**: ð ð ð ïž â ð 2ïžâ£0ïžâ£0ïžâ£ ð¯ 3ïžâ£0ïžâ£0ïžâ£ ð¯. * +* **ð©ââ€âðš ð**: ð ð 4ïžâ£0ïžâ£ ð¯ ð¿ (ð©âð») ð â. * +* **ðïž**: ð ðšâðš ðâðŠº. ð ïž ð. ð ð° ð ïž. +* **â©**: ð§ â© âïž & ð¡. ð ð° ð ð©º. +* **ð**: ð ð â. ð â âªïžâ¡ïž ð ð¢ ð. ð©ââ€âðš ð. +* **ðïž**: ð€ ð-ð ð. â®ïž ð§ ð ð§Ÿ. +* **ð©-âïž**: âïž ð (& ð ð â®ïž) ð ð© ð: ð (⪠ð ðŠ) & ð» ð. + +* â âïž ð ð¯ ð ð ð ïž ð, ð ð ðž. + +## ð° + + + +{% if sponsors %} +{% for sponsor in sponsors.gold -%} +async def...uvicorn main:app --reload...ujson - â© ð» "ð»".
+* email_validator - ð§ ð¬.
+
+âïž ð:
+
+* httpx - â ð¥ ð ð âïž `TestClient`.
+* jinja2 - â ð¥ ð ð âïž ð¢ ð ð³.
+* python-multipart - â ð¥ ð ð ðâðŠº ðš "â", â®ïž `request.form()`.
+* itsdangerous - â `SessionMiddleware` ðâðŠº.
+* pyyaml - â ð `SchemaGenerator` ðâðŠº (ð ð² ð« ðª â«ïž â®ïž FastAPI).
+* ujson - â ð¥ ð ð âïž `UJSONResponse`.
+
+âïž FastAPI / ð:
+
+* uvicorn - ðœ ð ð & ðŠ ð ðž.
+* orjson - â ð¥ ð ð âïž `ORJSONResponse`.
+
+ð ðª â ð ð« â®ïž `pip install "fastapi[all]"`.
+
+## ð
+
+ð ð ® ðœ â ð©ðª ð.
diff --git a/docs/em/docs/project-generation.md b/docs/em/docs/project-generation.md
new file mode 100644
index 000000000..5fd667ad1
--- /dev/null
+++ b/docs/em/docs/project-generation.md
@@ -0,0 +1,84 @@
+# ð â¡ - ð
+
+ð ðª âïž ð ð ð€ â¶ïž, â«ïž ð ð â¶ïž â ð, ðââ, ðœ & ð ïž ð ⪠â ð.
+
+ð ð ð ð§ âïž ð¶ ð ð¥ ð ð ð â¹ & ð ïž ð ð ðª, âïž â«ïž ðª ð â¶ïž â ð ð.
+
+## ð ð FastAPI â³
+
+ð: https://github.com/tiangolo/full-stack-fastapi-postgresql
+
+### ð ð FastAPI â³ - â
+
+* ð **â** ð ïž (â ð§¢).
+* â ð ð³ ð ïž.
+* **â â** ð ïž & ð ïž ð§ð¿ ð ïž.
+* **ð ð** ð ðž ðœ âïž Uvicorn & ð.
+* ð **FastAPI** ð©âð»:
+ * **â©**: ð¶ â ð, ð ð·ðª â®ïž **â³** & **ð¶** (ð ð & Pydantic).
+ * **ðïž**: ð ðšâðš ðâðŠº. ð ïž ð. ð ð° ð ïž.
+ * **â©**: ð§ â© âïž & ð¡. ð ð° ð ð©º.
+ * **ð**: ð ð â. ð â âªïžâ¡ïž ð ð¢ ð.
+ * **ðïž**: ð€ ð-ð ð. â®ïž ð§ ð ð§Ÿ.
+ * **ð©-âïž**: âïž ð (& ð ð â®ïž) ð ð© ð: ð & ð» ð.
+ * **ð ð â** ð ð§ ð¬, ð ïž, ð ð§Ÿ, ð€ â®ïž Oauth2ïžâ£ ð¥ ð€, âïž.
+* **ð ð** ð ð¢.
+* **ð¥ ð€** ð€.
+* **ðžð²** ð· (ð¬ ðº â, ð« ðª âïž â®ïž ð¥ ðšâð ð).
+* ð° â¶ïž ð· ð©âð» (ð & â ð ðª).
+* **â** ð ïž.
+* **â** (âïž ðšð³ â¹ ð€).
+* **ð¥** ðšâð ð ðª ð & âïž ð· & ð âªïžâ¡ïž ð ð©âð» ð.
+* ð ð©âð» ð¯ âïž ð **â³**, ð ïž â®ïž â, ð ðª ð¯ ð ð ïž ð, ð¬ ð ðœ. â«ïž ð â, â«ïž ðª ð ð ðœ ðª âªïžâ¡ïž ð ð ð° (ð ðª âïž â³, â³, â³, âïž â«ïžâ ð ð, & ð¯ ð ð ïž ð·).
+* â© ð ð ïž â®ïž **ð ðŸ** ð° âïž-â ð ïž â®ïž â ð â â âïž ð ð ð ð.
+* **ðŠ** ðž:
+ * ð â®ïž ðŠ â³.
+ * **ð¥ ð€** ð.
+ * ð³ ð.
+ * â®ïž ð³, ð ð¹ ð.
+ * ð ð¹ â®ïž ð©âð» ð & ð.
+ * ð€ ð©âð» ð.
+ * **ð·ðª**.
+ * **ðŠ-ð»**.
+ * **Vuetify** ð¹ 𧜠ð§ ðв.
+ * **ð**.
+ * â ðœ âïž ð **ð** (ð¶ ð€Ÿ ð â®ïž ðŠ-ð»).
+ * â ð-â¶ïž ð, ð ð« ðª ð âïž ð â ð.
+ * ðž ð¯ ð ð ð° (ðª ð ðââïž).
+ * â ð§ ðª, â«ïž ð· ð
ðŠ, âïž ð ðª ð€-ð â®ïž ðŠ â³ âïž â â«ïž ð ðª, & ð€-âïž â«ïžâ ð ð.
+* ** *ïžâ£ ** â³ ðœ, ð ðª ð â«ïž âïž ð & â³ ðª.
+* **ð¥** ð¥ ðšâð â.
+* ð â ð ðž & ð©âð» â®ïž **Traefik**, ð ðª âïž ð¯ââïž ðœ ð ð, ðœ â¡, âïž ðŠ ð ðŠ.
+* Traefik ð ïž, â
â¡ïž ð **ðºðžð** ð ð§ â¡.
+* â³ **ð** (ð ð ïž), ð ðž & ð©âð» ð¬.
+
+## ð ð FastAPI ð
+
+ð: https://github.com/tiangolo/full-stack-fastapi-couchbase
+
+ð¶ ð¶ **â ** ð¶ ð¶
+
+ð¥ ð â¶ïž ð ð âªïžâ¡ïž ð, â
ð ð¥.
+
+ðŒ, ð ð ð ð FastAPI â³ ðª ð ð, â«ïž ð¯ ð§ & âïž. & â«ïž ð ð ð â & ð.
+
+ð ð âïž ð-âïž ð ð¥ ð ð, â«ïž ð ð² ð· ð, & ð¥ ð ⪠âïž ð ð â®ïž â«ïž ð ð ð (& ð ð² ⪠⹠â«ïž ⣠ð ðª).
+
+ð ðª â ð
ð â«ïž 𩺠ðŠ.
+
+## ð ð FastAPI â³
+
+...ðª ð âª, âïž ð ð ð° ð & ð â. ð¶ ð¶
+
+## ð° ð« ð· â®ïž ð & FastAPI
+
+ð: https://github.com/microsoft/cookiecutter-spacy-fastapi
+
+### ð° ð« ð· â®ïž ð & FastAPI - â
+
+* **ð** ð ð· ð ïž.
+* **â ð§ ð** ðš ð ð.
+* **ð ð** ð ðž ðœ âïž Uvicorn & ð.
+* **â ð©âð»** Kubernete (ðв) ð/ð¿ ð ïž ð.
+* **ð€žââ** ðª â 1ïžâ£ ð ð ðªðž â®ïž ð ð¥.
+* **ðª ð§** ð ð· ð ïž (Pytorch, ðžð²), ð« ð.
diff --git a/docs/em/docs/python-types.md b/docs/em/docs/python-types.md
new file mode 100644
index 000000000..e079d9039
--- /dev/null
+++ b/docs/em/docs/python-types.md
@@ -0,0 +1,490 @@
+# ð ð ð¶
+
+ð âïž ðâðŠº ðŠ "ð ð".
+
+ð« **"ð ð"** ð â ð â ð£ ð ð¢.
+
+ð£ ð ð ð¢, ðšâðš & ð§° ðª ð€ ð ð ðâðŠº.
+
+ð **â© ð° / âïž** ð ð ð ð. â«ïž ð ðŽ ð¯ ðª âïž ð« â®ïž **FastAPI**... â ð€ ð¶ ð¥.
+
+**FastAPI** ð âïž ð ð« ð ð, ð« ð€ â«ïž ð ð & ð°.
+
+âïž ð¥ ð ð
âïž **FastAPI**, ð ð ð° âªïžâ¡ïž ð« ð ð ð«.
+
+!!! note
+ ð¥ ð ð ðŽ, & ð ⪠ð ð ð ð ð, ð¶ â ð.
+
+## ð¯
+
+â¡ïž â¶ïž â®ïž ð
ðŒ:
+
+```Python
+{!../../../docs_src/python_types/tutorial001.py!}
+```
+
+ð€ ð ð ð¢:
+
+```
+John Doe
+```
+
+ð¢ ðš ð:
+
+* â `first_name` & `last_name`.
+* ð ð¥ ð€ ð 1ïžâ£ â ðŒ â®ïž `title()`.
+* ð¢ ð« â®ïž ð ð.
+
+```Python hl_lines="2"
+{!../../../docs_src/python_types/tutorial001.py!}
+```
+
+### â â«ïž
+
+â«ïž ð¶ ð
ð.
+
+âïž ð ð ð ð â â«ïž âªïžâ¡ïž ð.
+
+â ð ð âïž â¶ïž ð ð¢, ð âïž ð¢ ð...
+
+âïž â€Žïž ð âïž ð€ "ð ð©âð¬ ð ð ð¥ ð€ â ðŒ".
+
+â«ïž `upper`â â«ïž `uppercase`â `first_uppercase`â `capitalize`â
+
+‎ïž, ð ð â®ïž ð ð©âð» ðšâð§âðŠ, ðšâðš â.
+
+ð ð ð¥ ð¢ ð¢, `first_name`, â€Žïž â£ (`.`) & â€Žïž ð¯ `Ctrl+Space` â² ð ïž.
+
+âïž, ð, ð ð€ ð³ â :
+
+
+
+### ð® ð
+
+â¡ïž ð ð âž âªïžâ¡ïž â®ïž â¬.
+
+ð¥ ð ð â«ïžâ ð ð§¬, ð¢ ð¢, âªïžâ¡ïž:
+
+```Python
+ first_name, last_name
+```
+
+:
+
+```Python
+ first_name: str, last_name: str
+```
+
+ð â«ïž.
+
+ð "ð ð":
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial002.py!}
+```
+
+ð ð« ð ð£ ð¢ ð² ð ð â®ïž:
+
+```Python
+ first_name="john", last_name="doe"
+```
+
+â«ïž ð ð.
+
+ð¥ âïž â€ (`:`), ð« ð (`=`).
+
+& â ð ð ð ð« ð â«ïžâ ðš âªïžâ¡ïž â«ïžâ ð ðš ðµ ð«.
+
+âïž ð, ð ð ð ð ð ð ð¢, âïž â®ïž ð ð.
+
+ð â, ð ð â² ð â®ïž `Ctrl+Space` & ð ð:
+
+
+
+â®ïž ð, ð ðª ð, ð ð, â ð ð 1ïžâ£ ð "ð ð":
+
+
+
+## ð
ð¯
+
+â
ð ð¢, â«ïž ⪠âïž ð ð:
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial003.py!}
+```
+
+â©ïž ðšâðš ð ð ð¢, ð ð« ðŽ ð€ ð ïž, ð ð€ â â
:
+
+
+
+ð ð ð ð ð âïž ð§ â«ïž, ð `age` ð» â®ïž `str(age)`:
+
+```Python hl_lines="2"
+{!../../../docs_src/python_types/tutorial004.py!}
+```
+
+## ð£ ð
+
+ð ð ð ð¥ ð£ ð ð. ð¢ ð¢.
+
+ð ð ð¥ ð ð âïž ð« â®ïž **FastAPI**.
+
+### ð
ð
+
+ð ðª ð£ ð ð© ð ð, ð« ðŽ `str`.
+
+ð ðª âïž, ðŒ:
+
+* `int`
+* `float`
+* `bool`
+* `bytes`
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial005.py!}
+```
+
+### ð ð â®ïž ð ð¢
+
+ð€ ð ð ð ðª ð ð ð², ð `dict`, `list`, `set` & `tuple`. & ð ð² ðª âïž ð« ð ð ðââïž.
+
+ð ð ð âïž ð ð ð€ "**ð**" ð. & â«ïž ðª ð£ ð«, â®ïž ð« ð ð.
+
+ð£ ð ð & ð ð, ð ðª âïž ð© ð ð¹ `typing`. â«ïž ð ð¯ ðâðŠº ð« ð ð.
+
+#### ð ⬠ð
+
+â âïž `typing` **ð** â®ïž ð â¬, âªïžâ¡ïž ð 3ïžâ£.6ïžâ£ ⪠ð, â
ð 3ïžâ£.9ïžâ£, ð 3ïžâ£.1ïžâ£0ïžâ£, âïž.
+
+ð ð§, **ð â¬** ð â®ïž ð ðâðŠº ð ð â & ð ðŒ ð ð ð« ðª ð & âïž `typing` ð¹ ð£ ð â.
+
+ð¥ ð ðª â ð â®ïž ⬠ð ð ð, ð ð ðª â ð ð â ðŠ. ð ðŒ ð.
+
+#### ð
+
+ðŒ, â¡ïž ð¬ ð¢ `list` `str`.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ âªïžâ¡ïž `typing`, ð `List` (â®ïž ð `L`):
+
+ ``` Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial006.py!}
+ ```
+
+ ð£ ð¢, â®ïž ð †(`:`) â.
+
+ ð, ð® `List` ð ð ð âªïžâ¡ïž `typing`.
+
+ ð ð ð ð ð ð, ð ð® ð« ⬠ð:
+
+ ```Python hl_lines="4"
+ {!> ../../../docs_src/python_types/tutorial006.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ð£ ð¢, â®ïž ð †(`:`) â.
+
+ ð, ð® `list`.
+
+ ð ð ð ð ð ð, ð ð® ð« ⬠ð:
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial006_py39.py!}
+ ```
+
+!!! info
+ ð ð ð ⬠ð ð€ "ð ð¢".
+
+ ð ðŒ, `str` ð ð¢ ð¶ââïž `List` (âïž `list` ð 3ïžâ£.9ïžâ£ & ð).
+
+ð â: "ð¢ `items` `list`, & ð ð¬ ð ð `str`".
+
+!!! tip
+ ð¥ ð âïž ð 3ïžâ£.9ïžâ£ âïž ð, ð ð« âïž ð `List` âªïžâ¡ïž `typing`, ð ðª âïž ð ð¥ `list` ð â©ïž.
+
+ðš ð, ð ðšâðš ðª ð ðâðŠº âª ð ð¬ âªïžâ¡ïž ð:
+
+
+
+ðµ ð, ð ð ðª ð.
+
+ð ð ð¢ `item` 1ïžâ£ ð£ ð `items`.
+
+& , ðšâðš ð â«ïž `str`, & ð ðâðŠº ð.
+
+#### ð¢ & â
+
+ð ð ð ð£ `tuple`â & `set`â:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial007.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial007_py39.py!}
+ ```
+
+ð â:
+
+* ð¢ `items_t` `tuple` â®ïž 3ïžâ£ ð¬, `int`, â1ïžâ£ `int`, & `str`.
+* ð¢ `items_s` `set`, & ð ð® ð¬ ð `bytes`.
+
+#### #ïžâ£
+
+ð¬ `dict`, ð ð¶ââïž 2ïžâ£ ð ð¢, ð â.
+
+ð¥ ð ð¢ ð `dict`.
+
+ð¥ ð ð¢ ð² `dict`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial008.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial008_py39.py!}
+ ```
+
+ð â:
+
+* ð¢ `prices` `dict`:
+ * ð ð `dict` ð `str` (â¡ïž ð¬, ð ð ð¬).
+ * ð² ð `dict` ð `float` (â¡ïž ð¬, ð ð ð¬).
+
+#### ðªðº
+
+ð ðª ð£ ð ð¢ ðª ð **ð ð**, ðŒ, `int` âïž `str`.
+
+ð 3ïžâ£.6ïžâ£ & ð (â
ð 3ïžâ£.1ïžâ£0ïžâ£) ð ðª âïž `Union` ð âªïžâ¡ïž `typing` & ð® ð ⬠ð ðª ð ð«.
+
+ð 3ïžâ£.1ïžâ£0ïžâ£ ð€ **ð â** ðâ ð ðª ð® ðª ð ðœ âž âž (`|`).
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial008b.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial008b_py310.py!}
+ ```
+
+ð¯ââïž ðŒ ð â ð `item` ðª `int` âïž `str`.
+
+#### ð² `None`
+
+ð ðª ð£ ð ð² ðª âïž ð, ð `str`, âïž ð â«ïž ðª `None`.
+
+ð 3ïžâ£.6ïžâ£ & ð (â
ð 3ïžâ£.1ïžâ£0ïžâ£) ð ðª ð£ â«ïž ð & âïž `Optional` âªïžâ¡ïž `typing` ð¹.
+
+```Python hl_lines="1 4"
+{!../../../docs_src/python_types/tutorial009.py!}
+```
+
+âïž `Optional[str]` â©ïž `str` ð â¡ïž ðšâðš â¹ ð ð â ðâ ð ðª ð€ ð ð² ð§ `str`, ðâ â«ïž ðª ð€ `None` ðââïž.
+
+`Optional[Something]` ð€ âš `Union[Something, None]`, ð« ð.
+
+ð â ð ð 3ïžâ£.1ïžâ£0ïžâ£, ð ðª âïž `Something | None`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial009.py!}
+ ```
+
+=== "ð 3ïžâ£.6ïžâ£ & ð - ð"
+
+ ```Python hl_lines="1 4"
+ {!> ../../../docs_src/python_types/tutorial009b.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/python_types/tutorial009_py310.py!}
+ ```
+
+#### âïž `Union` âïž `Optional`
+
+ð¥ ð âïž ð ⬠ð 3ïžâ£.1ïžâ£0ïžâ£, ð¥ ðââ âªïžâ¡ïž ð ð¶ **ð€** â ð:
+
+* ð¶ â âïž `Optional[SomeType]`
+* â©ïž ð¶ **âïž `Union[SomeType, None]`** ð¶.
+
+ð¯ââïž ð & ð ð« ð, âïž ð€ ð ð `Union` â©ïž `Optional` â©ïž ð€ "**ðŠ**" ð ð ð ð ð² ðŠ, & â«ïž ð€ â "â«ïž ðª `None`", ð¥ â«ïž ð« ðŠ & â.
+
+ð€ ð `Union[SomeType, None]` ð ð ð â«ïžâ â«ïž â.
+
+â«ïž ð ð€ & ð. âïž ð ð€ ðª ð â ð & ð ð€œââ ð ð ð.
+
+ðŒ, â¡ïž â ð ð¢:
+
+```Python hl_lines="1 4"
+{!../../../docs_src/python_types/tutorial009c.py!}
+```
+
+ð¢ `name` ð¬ `Optional[str]`, âïž â«ïž **ð« ðŠ**, ð ð«ð ð€ ð¢ ðµ ð¢:
+
+```Python
+say_hi() # Oh, no, this throws an error! ð±
+```
+
+`name` ð¢ **â** (ð« *ðŠ*) â©ïž â«ïž ð« âïž ð¢ ð². , `name` ð« `None` ð²:
+
+```Python
+say_hi(name=None) # This works, None is valid ð
+```
+
+ð ð°, ð ð ð ð 3ïžâ£.1ïžâ£0ïžâ£ ð ð ð« âïž ð ð ð, ð ð ðª ð¯ âïž `|` ð¬ ðªðº ð:
+
+```Python hl_lines="1 4"
+{!../../../docs_src/python_types/tutorial009c_py310.py!}
+```
+
+& â€Žïž ð ð ð« âïž ð ð ð ð `Optional` & `Union`. ð¶
+
+#### ð ð
+
+ð ð ð â ð ð¢ ⬠ð ð€ **ð ð** âïž **ð**, ðŒ:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ * `List`
+ * `Tuple`
+ * `Set`
+ * `Dict`
+ * `Union`
+ * `Optional`
+ * ...& ð.
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ð ðª âïž ð ðœ ð ð (â®ïž ⬠ð & ð ð):
+
+ * `list`
+ * `tuple`
+ * `set`
+ * `dict`
+
+ & ð â®ïž ð 3ïžâ£.6ïžâ£, âªïžâ¡ïž `typing` ð¹:
+
+ * `Union`
+ * `Optional`
+ * ...& ð.
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ð ðª âïž ð ðœ ð ð (â®ïž ⬠ð & ð ð):
+
+ * `list`
+ * `tuple`
+ * `set`
+ * `dict`
+
+ & ð â®ïž ð 3ïžâ£.6ïžâ£, âªïžâ¡ïž `typing` ð¹:
+
+ * `Union`
+ * `Optional` (ð â®ïž ð 3ïžâ£.6ïžâ£)
+ * ...& ð.
+
+ ð 3ïžâ£.1ïžâ£0ïžâ£, ð âïž ð `Union` & `Optional`, ð ðª âïž âž âž (`|`) ð£ ðªðº ð.
+
+### ð ð
+
+ð ðª ð£ ð ð ð¢.
+
+â¡ïž ð¬ ð âïž ð `Person`, â®ïž ð:
+
+```Python hl_lines="1-3"
+{!../../../docs_src/python_types/tutorial010.py!}
+```
+
+â€Žïž ð ðª ð£ ð¢ ð `Person`:
+
+```Python hl_lines="6"
+{!../../../docs_src/python_types/tutorial010.py!}
+```
+
+& ‎ïž, ð, ð ð€ ð ðšâðš ðâðŠº:
+
+
+
+## Pydantic ð·
+
+Pydantic ð ð ð ð ð¬.
+
+ð ð£ "ð " ðœ ð â®ïž ð¢.
+
+& ð ð¢ âïž ð.
+
+â€Žïž ð â ð ð ð â®ïž ð² & â«ïž ð â ð², ð ð« â ð (ð¥ ð ðŒ) & ð€ ð ð â®ïž ð ðœ.
+
+& ð ð€ ð ðšâðš ðâðŠº â®ïž ð ð ð.
+
+ðŒ âªïžâ¡ïž ð Pydantic ð©º:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python
+ {!> ../../../docs_src/python_types/tutorial011.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python
+ {!> ../../../docs_src/python_types/tutorial011_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python
+ {!> ../../../docs_src/python_types/tutorial011_py310.py!}
+ ```
+
+!!! info
+ ð¡ ð ð Pydantic, â
ð® ð©º.
+
+**FastAPI** ð âïž ð Pydantic.
+
+ð ð ð ð ð
ð ð ð¡ [ð° - ð©âð» ðŠ®](tutorial/index.md){.internal-link target=_blank}.
+
+!!! tip
+ Pydantic âïž ð ð ðâ ð âïž `Optional` âïž `Union[Something, None]` ðµ ð¢ ð², ð ðª â ð
ð â«ïž Pydantic 𩺠ð â ðŠ ð.
+
+## ð ð **FastAPI**
+
+**FastAPI** â ð ð« ð ð ð ð.
+
+â®ïž **FastAPI** ð ð£ ð¢ â®ïž ð ð & ð ð€:
+
+* **ðšâðš ðâðŠº**.
+* **ð â
**.
+
+...and **FastAPI** uses the same declarations :
+
+* **ð¬ ð**: âªïžâ¡ïž ðš â¡ ð¢, ð¢ ð¢, ð, ðª, ð, âïž.
+* **ð ðœ**: âªïžâ¡ïž ðš ð ð.
+* **â ðœ**: ð âªïžâ¡ïž ð ðš:
+ * ð **ð§ â** ðš ð©âð» ðâ ð â.
+* **ð** ð ïž âïž ð:
+ * â â€Žïž âïž ð§ ð ð§Ÿ ð©âð» ð¢.
+
+ð 5ïžâ£ð ð ð ð. ð« ð. ð ð ð ð ð ð¯ [ð° - ð©âð» ðŠ®](tutorial/index.md){.internal-link target=_blank}.
+
+â ð ð âïž ð© ð ð, ð ð¥ (â©ïž â ð ð, ðšâðš, âïž), **FastAPI** ð ð ð· ð.
+
+!!! info
+ ð¥ ð ⪠ð¶ ð ð ð° & ð ð ð ð
ð ð, ð â¹ "ð® ðŒ" âªïžâ¡ïž `mypy`.
diff --git a/docs/em/docs/tutorial/background-tasks.md b/docs/em/docs/tutorial/background-tasks.md
new file mode 100644
index 000000000..e28ead415
--- /dev/null
+++ b/docs/em/docs/tutorial/background-tasks.md
@@ -0,0 +1,102 @@
+# ð¥ ð
+
+ð ðª ð¬ ð¥ ð ð *â®ïž* ð¬ ðš.
+
+ð â ð ïž ð ðª ðš â®ïž ðš, âïž ð ð©âð» ð« ð€ âïž â ð ïž ð â ðš ðš.
+
+ð ð, ðŒ:
+
+* ð§ ðš ðš â®ïž ð ð¯:
+ * ð ð§ ðœ & ðš ð§ ð "ð" (ð ð¥), ð ðª ðš ðš â¶ïžïž âïž & ðš ð§ ðš ð¥.
+* ð ðœ:
+ * ðŒ, â¡ïž ð¬ ð ðš ð ð ð ð¶ ð ð ð ïž, ð ðª ðš ðš "ð«" (ðºðžð 2ïžâ£0ïžâ£2ïžâ£) & ð ïž â«ïž ð¥.
+
+## âïž `BackgroundTasks`
+
+ð¥, ð `BackgroundTasks` & ð¬ ð¢ ð *â¡ ð ïž ð¢* â®ïž ð ð `BackgroundTasks`:
+
+```Python hl_lines="1 13"
+{!../../../docs_src/background_tasks/tutorial001.py!}
+```
+
+**FastAPI** ð â ð ð `BackgroundTasks` ð & ð¶ââïž â«ïž ð ð¢.
+
+## â ð ð¢
+
+â ð¢ ð ð¥ ð.
+
+â«ïž ð© ð¢ ð ðª ðš ð¢.
+
+â«ïž ðª `async def` âïž ð `def` ð¢, **FastAPI** ð ð â ðµ â«ïž â.
+
+ð ðŒ, ð ð¢ ð â ð (â ðš ð§).
+
+& â ð ïž ð« âïž `async` & `await`, ð¥ ð¬ ð¢ â®ïž ð `def`:
+
+```Python hl_lines="6-9"
+{!../../../docs_src/background_tasks/tutorial001.py!}
+```
+
+## ð® ð¥ ð
+
+ð ð *â¡ ð ïž ð¢*, ð¶ââïž ð ð ð¢ *ð¥ ð* ð â®ïž ð©âð¬ `.add_task()`:
+
+```Python hl_lines="14"
+{!../../../docs_src/background_tasks/tutorial001.py!}
+```
+
+`.add_task()` ðš â:
+
+* ð ð¢ ð ð¥ (`write_notification`).
+* ð ð â ð ð ð¶ââïž ð ð¢ â (`email`).
+* ð ðšð» â ð ð ð¶ââïž ð ð¢ (`message="some notification"`).
+
+## ð ð
+
+âïž `BackgroundTasks` ð· â®ïž ð ð âïž, ð ðª ð£ ð¢ ð `BackgroundTasks` ð ð: *â¡ ð ïž ð¢*, ð (â), ð§-ð, âïž.
+
+**FastAPI** ð â«ïžâ ð ðŒ & â ð€-âïž ð ð, ð ð ð¥ ð ð ð¯ââïž & ð ð¥ â®ïž:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="13 15 22 25"
+ {!> ../../../docs_src/background_tasks/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="11 13 20 23"
+ {!> ../../../docs_src/background_tasks/tutorial002_py310.py!}
+ ```
+
+ð ðŒ, ð§ ð â `log.txt` ð *â®ïž* ðš ðš.
+
+ð¥ ð€ ð¢ ðš, â«ïž ð â ð¹ ð¥ ð.
+
+& â€Žïž â1ïžâ£ ð¥ ð ð *â¡ ð ïž ð¢* ð â ð§ âïž `email` â¡ ð¢.
+
+## ð¡ â¹
+
+ð `BackgroundTasks` ð ð âªïžâ¡ïž `starlette.background`.
+
+â«ïž ð/ð ð ð FastAPI ð ð ðª ð â«ïž âªïžâ¡ïž `fastapi` & â ð« ð ð `BackgroundTask` (ðµ `s` ð) âªïžâ¡ïž `starlette.background`.
+
+ðŽ âïž `BackgroundTasks` (& ð« `BackgroundTask`), â«ïž â€Žïž ðª âïž â«ïž *â¡ ð ïž ð¢* ð¢ & âïž **FastAPI** ðµ ð ð, ð ðâ âïž `Request` ð ð.
+
+â«ïž ðª âïž `BackgroundTask` ð FastAPI, âïž ð âïž â ð ð ð & ðš ð `Response` ð â«ïž.
+
+ð ðª ð ð â¹ ð ð 𩺠ð¥ ð.
+
+## â
+
+ð¥ ð ðª ð ðïž ð¥ ð & ð ð« ð¯ ðª â«ïž ð ð ð ïž (ðŒ, ð ð« ðª ð° ðŸ, ð¢, âïž), ð ðª ð° âªïžâ¡ïž âïž ð ðŠ ð§° ð ð¥.
+
+ð« ð ð ð ð ð³, ð§/ðšâð ð€ ðšâðŒ, ð â³ âïž â³, âïž ð« â ð ð ð¥ ð ð ð ïž, & âŽïž, ð ðœ.
+
+ð ðŒ, â
[ð ð](../project-generation.md){.internal-link target=_blank}, ð« ð ð ð¥ ⪠ð¶.
+
+âïž ð¥ ð ðª ð ð¢ & ð âªïžâ¡ïž ð **FastAPI** ð±, âïž ð ðª ð ð€ª ð¥ ð (ð ðš ð§ ðš), ð ðª ð¯ âïž `BackgroundTasks`.
+
+## ð
+
+ð & âïž `BackgroundTasks` â®ïž ð¢ *â¡ ð ïž ð¢* & ð ð® ð¥ ð.
diff --git a/docs/em/docs/tutorial/bigger-applications.md b/docs/em/docs/tutorial/bigger-applications.md
new file mode 100644
index 000000000..7b4694387
--- /dev/null
+++ b/docs/em/docs/tutorial/bigger-applications.md
@@ -0,0 +1,488 @@
+# ðŠ ðž - ð ð
+
+ð¥ ð ð ðž âïž ðž ð ïž, â«ïž ð ðŒ ð ð ðª ð® ð ð ð ð.
+
+**FastAPI** ð ðª ð§° ð ð ðž ⪠ð§ ð ðª.
+
+!!! info
+ ð¥ ð ð âªïžâ¡ïž ðº, ð ð ð ðº ð.
+
+## ðŒ ð ð
+
+â¡ïž ð¬ ð âïž ð ð ð ð:
+
+```
+.
+âââ app
+â  âââ __init__.py
+â  âââ main.py
+â  âââ dependencies.py
+â  âââ routers
+â  â âââ __init__.py
+â  â âââ items.py
+â  â âââ users.py
+â  âââ internal
+â  âââ __init__.py
+â  âââ admin.py
+```
+
+!!! tip
+ ð€ ð `__init__.py` ð: 1ïžâ£ ð ð âïž ð.
+
+ ð â«ïžâ â ð ð âªïžâ¡ïž 1ïžâ£ ð ð â1ïžâ£.
+
+ ðŒ, `app/main.py` ð ðª âïž âž ð:
+
+ ```
+ from app.routers import items
+ ```
+
+* `app` ð ð ð. & â«ïž âïž ð ð `app/__init__.py`, â«ïž "ð ðŠ" (ð "ð ð¹"): `app`.
+* â«ïž ð `app/main.py` ð. â«ïž ð ð ðŠ (ð â®ïž ð `__init__.py`), â«ïž "ð¹" ð ðŠ: `app.main`.
+* ð€ `app/dependencies.py` ð, ð `app/main.py`, â«ïž "ð¹": `app.dependencies`.
+* ð€ ð `app/routers/` â®ïž â1ïžâ£ ð `__init__.py`, â«ïž "ð ðŠ": `app.routers`.
+* ð `app/routers/items.py` ð ðŠ, `app/routers/`,, â«ïž ð: `app.routers.items`.
+* ð â®ïž `app/routers/users.py`, â«ïž â1ïžâ£ ð: `app.routers.users`.
+* ð€ ð `app/internal/` â®ïž â1ïžâ£ ð `__init__.py`, â«ïž â1ïžâ£ "ð ðŠ": `app.internal`.
+* & ð `app/internal/admin.py` â1ïžâ£ ð: `app.internal.admin`.
+
+
+
+## ð ð ð» ð ð° â®ïž ð `prefix`
+
+ð ðª âïž `.include_router()` ð ð° â®ïž *ð* ð» âïž ð ð¡.
+
+ð ðª â , ðŒ, ðŠ ð ð ïž ðœ ð ð¡, â
`/api/v1` & `/api/latest`.
+
+ð ð§ âïž ð ð 5ïžâ£ð ð« ð€ ðª, âïž â«ïž ð€ ðŒ ð.
+
+## ð `APIRouter` â1ïžâ£
+
+ð ð ð ðª ð `APIRouter` `FastAPI` ðž, ð ðª ð `APIRouter` â1ïžâ£ `APIRouter` âïž:
+
+```Python
+router.include_router(other_router)
+```
+
+â ð ð â«ïž â ð `router` `FastAPI` ð±, ð *â¡ ð ïž* âªïžâ¡ïž `other_router` ð.
diff --git a/docs/em/docs/tutorial/body-fields.md b/docs/em/docs/tutorial/body-fields.md
new file mode 100644
index 000000000..9f2c914f4
--- /dev/null
+++ b/docs/em/docs/tutorial/body-fields.md
@@ -0,0 +1,68 @@
+# ðª - ð
+
+ð ð ð ðª ð£ ð ð¬ & ð *â¡ ð ïž ð¢* ð¢ â®ïž `Query`, `Path` & `Body`, ð ðª ð£ ð¬ & ð ð Pydantic ð· âïž Pydantic `Field`.
+
+## ð `Field`
+
+ð¥, ð âïž ð â«ïž:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="4"
+ {!> ../../../docs_src/body_fields/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="2"
+ {!> ../../../docs_src/body_fields/tutorial001_py310.py!}
+ ```
+
+!!! warning
+ ð ð `Field` ð ð âªïžâ¡ïž `pydantic`, ð« âªïžâ¡ïž `fastapi` ð ð (`Query`, `Path`, `Body`, âïž).
+
+## ð£ ð· ð¢
+
+ð ðª â€Žïž âïž `Field` â®ïž ð· ð¢:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="11-14"
+ {!> ../../../docs_src/body_fields/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="9-12"
+ {!> ../../../docs_src/body_fields/tutorial001_py310.py!}
+ ```
+
+`Field` ð· ð ð `Query`, `Path` & `Body`, â«ïž âïž ð ð ð¢, âïž.
+
+!!! note "ð¡ â¹"
+ ð€, `Query`, `Path` & ð ð ð ð â â ð ð¿ â `Param` ð, â â«ïž ð¿ Pydantic `FieldInfo` ð.
+
+ & Pydantic `Field` ðš ð `FieldInfo` ð.
+
+ `Body` ðš ð ð¿ `FieldInfo` ð. & ð€ ð ð ð ð ⪠ð ð¿ `Body` ð.
+
+ ð ð ðâ ð ð `Query`, `Path`, & ð âªïžâ¡ïž `fastapi`, ð ð€ ð¢ ð ðš ð ð.
+
+!!! tip
+ ð â ð ð· ð¢ â®ïž ð, ð¢ ð² & `Field` âïž ð ð *â¡ ð ïž ð¢* ð¢, â®ïž `Field` â©ïž `Path`, `Query` & `Body`.
+
+## ð® â â¹
+
+ð ðª ð£ â â¹ `Field`, `Query`, `Body`, âïž. & â«ïž ð ð ð ð» ð.
+
+ð ð ð¡ ð
ð â â ⹠⪠ð©º, ðâ ð« ð£ ðŒ.
+
+!!! warning
+ â ð ð¶ââïž `Field` ð ð ð ð ð ð ðž.
+ ð« ð 5ïžâ£ð ð« ð¯ ð ð ð§, ð ð§°, ðŒ [ð ð³](https://validator.swagger.io/), 5ïžâ£ð ð« ð· â®ïž ð ð ð.
+
+## ð
+
+ð ðª âïž Pydantic `Field` ð£ â ð¬ & ð ð· ð¢.
+
+ð ðª âïž â ðšð» â ð¶ââïž ð ð» ð ð.
diff --git a/docs/em/docs/tutorial/body-multiple-params.md b/docs/em/docs/tutorial/body-multiple-params.md
new file mode 100644
index 000000000..9ada7dee1
--- /dev/null
+++ b/docs/em/docs/tutorial/body-multiple-params.md
@@ -0,0 +1,213 @@
+# ðª - ð ð¢
+
+ð ð ð¥ âïž ð â âïž `Path` & `Query`, â¡ïž ð ð
ð§ âïž ðš ðª ð.
+
+## ð `Path`, `Query` & ðª ð¢
+
+ð¥, âïž, ð ðª ð `Path`, `Query` & ðš ðª ð¢ ð â¡ & **FastAPI** ð ð â«ïžâ.
+
+& ð ðª ð£ ðª ð¢ ðŠ, â ð¢ `None`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="19-21"
+ {!> ../../../docs_src/body_multiple_params/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="17-19"
+ {!> ../../../docs_src/body_multiple_params/tutorial001_py310.py!}
+ ```
+
+!!! note
+ ð ð, ð ðŒ, `item` ð ð â âªïžâ¡ïž ðª ðŠ. â«ïž âïž `None` ð¢ ð².
+
+## ð ðª ð¢
+
+â®ïž ðŒ, *â¡ ð ïž* ð â ð» ðª â®ïž ð¢ `Item`, ð:
+
+```JSON
+{
+ "name": "Foo",
+ "description": "The pretender",
+ "price": 42.0,
+ "tax": 3.2
+}
+```
+
+âïž ð ðª ð£ ð ðª ð¢, â
`item` & `user`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="22"
+ {!> ../../../docs_src/body_multiple_params/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="20"
+ {!> ../../../docs_src/body_multiple_params/tutorial002_py310.py!}
+ ```
+
+ð ðŒ, **FastAPI** ð ð ð ð€ ð
ð 1ïžâ£ ðª ð¢ ð¢ (2ïžâ£ ð¢ ð Pydantic ð·).
+
+, â«ïž ð â€Žïž âïž ð¢ ð ð (ð ð) ðª, & â ðª ð:
+
+```JSON
+{
+ "item": {
+ "name": "Foo",
+ "description": "The pretender",
+ "price": 42.0,
+ "tax": 3.2
+ },
+ "user": {
+ "username": "dave",
+ "full_name": "Dave Grohl"
+ }
+}
+```
+
+!!! note
+ ð ð âïž `item` ð£ ð ð â, â«ïž ð â ð ðª â®ïž ð `item`.
+
+
+**FastAPI** ð ð§ ð ïž âªïžâ¡ïž ðš, ð ð¢ `item` ðš â«ïž ð¯ ð & ð `user`.
+
+â«ïž ð ð ð¬ â ðœ, & ð ð â«ïž ð ð ð ð & ð§ ð©º.
+
+## â ð² ðª
+
+ð ð ð€ `Query` & `Path` ð¬ â ðœ ð¢ & â¡ ð¢, **FastAPI** ð ð `Body`.
+
+ðŒ, â â®ïž ð·, ð ðª ð ð ð ð âïž â1ïžâ£ ð `importance` ð ðª, ð¥ `item` & `user`.
+
+ð¥ ð ð£ â«ïž, â©ïž â«ïž â ð², **FastAPI** ð ð€ ð â«ïž ð¢ ð¢.
+
+âïž ð ðª ð¡ **FastAPI** ð¥ â«ïž â1ïžâ£ ðª ð âïž `Body`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="22"
+ {!> ../../../docs_src/body_multiple_params/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="20"
+ {!> ../../../docs_src/body_multiple_params/tutorial003_py310.py!}
+ ```
+
+ð ðŒ, **FastAPI** ð â ðª ð:
+
+```JSON
+{
+ "item": {
+ "name": "Foo",
+ "description": "The pretender",
+ "price": 42.0,
+ "tax": 3.2
+ },
+ "user": {
+ "username": "dave",
+ "full_name": "Dave Grohl"
+ },
+ "importance": 5
+}
+```
+
+ð, â«ïž ð ð ð ð, â, ð, âïž.
+
+## ð ðª = & ð¢
+
+âïž, ð ðª ð£ ð ð¢ ð¢ ðâ ð ðª, ð ð ðª ð¢.
+
+, ð¢, â ð² ð¬ ð¢ ð¢, ð ð« âïž ð¯ ð® `Query`, ð ðª:
+
+```Python
+q: Union[str, None] = None
+```
+
+âïž ð 3ïžâ£.1ïžâ£0ïžâ£ & ð:
+
+```Python
+q: str | None = None
+```
+
+ðŒ:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="27"
+ {!> ../../../docs_src/body_multiple_params/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="26"
+ {!> ../../../docs_src/body_multiple_params/tutorial004_py310.py!}
+ ```
+
+!!! info
+ `Body` âïž ð ð â ð¬ & ð ð¢ `Query`,`Path` & ð ð ð ð âª.
+
+## ⯠ð ðª ð¢
+
+â¡ïž ð¬ ð ðŽ âïž ð `item` ðª ð¢ âªïžâ¡ïž Pydantic ð· `Item`.
+
+ð¢, **FastAPI** ð â€Žïž â ð® ðª ð.
+
+âïž ð¥ ð ð â«ïž â ð» â®ïž ð `item` & ð â«ïž ð· ð, â«ïž ðš ðâ ð ð£ â ðª ð¢, ð ðª âïž ð `Body` ð¢ `embed`:
+
+```Python
+item: Item = Body(embed=True)
+```
+
+:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="17"
+ {!> ../../../docs_src/body_multiple_params/tutorial005.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="15"
+ {!> ../../../docs_src/body_multiple_params/tutorial005_py310.py!}
+ ```
+
+ð ðŒ **FastAPI** ð â ðª ð:
+
+```JSON hl_lines="2"
+{
+ "item": {
+ "name": "Foo",
+ "description": "The pretender",
+ "price": 42.0,
+ "tax": 3.2
+ }
+}
+```
+
+â©ïž:
+
+```JSON
+{
+ "name": "Foo",
+ "description": "The pretender",
+ "price": 42.0,
+ "tax": 3.2
+}
+```
+
+## ð
+
+ð ðª ð® ð ðª ð¢ ð *â¡ ð ïž ð¢*, âïž ðš ðª ðŽ âïž ð ðª.
+
+âïž **FastAPI** ð ðµ â«ïž, ð€ ð â ð ð ð¢, & â & ð â ð *â¡ ð ïž*.
+
+ð ðª ð£ â ð² ðš ð ðª.
+
+& ð ðª ð¡ **FastAPI** ⯠ðª ð ðâ ð€ ðŽ ð ð¢ ð£.
diff --git a/docs/em/docs/tutorial/body-nested-models.md b/docs/em/docs/tutorial/body-nested-models.md
new file mode 100644
index 000000000..f4bd50f5c
--- /dev/null
+++ b/docs/em/docs/tutorial/body-nested-models.md
@@ -0,0 +1,382 @@
+# ðª - ð ð·
+
+â®ïž **FastAPI**, ð ðª ð¬, â, ð, & âïž ð² ð ðŠ ð· (ð Pydantic).
+
+## ð ð
+
+ð ðª ð¬ ð¢ ðŸ. ðŒ, ð `list`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="14"
+ {!> ../../../docs_src/body_nested_models/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="12"
+ {!> ../../../docs_src/body_nested_models/tutorial001_py310.py!}
+ ```
+
+ð ð â `tags` ð, ð â«ïž ð« ð£ ð ð£ ð.
+
+## ð ð â®ïž ð ð¢
+
+âïž ð âïž ð¯ ð ð£ ð â®ïž ð ð, âïž "ð ð¢":
+
+### ð âš `List`
+
+ð 3ïžâ£.9ïžâ£ & ð ð ðª âïž ð© `list` ð£ ð« ð â ð¥ ð ð ð. ð¶
+
+âïž ð ⬠â 3ïžâ£.9ïžâ£ (3ïžâ£.6ïžâ£ & ð), ð ð¥ ðª ð `List` âªïžâ¡ïž ð© ð `typing` ð¹:
+
+```Python hl_lines="1"
+{!> ../../../docs_src/body_nested_models/tutorial002.py!}
+```
+
+### ð£ `list` â®ïž ð ð¢
+
+ð£ ð ð âïž ð ð¢ (ð ð), ð `list`, `dict`, `tuple`:
+
+* ð¥ ð ð ⬠ð
ð 3ïžâ£.9ïžâ£, ð ð« ð ⬠âªïžâ¡ïž `typing` ð¹
+* ð¶ââïž ð ð(â) "ð ð¢" âïž â¬ ð: `[` & `]`
+
+ð 3ïžâ£.9ïžâ£ â«ïž ð:
+
+```Python
+my_list: list[str]
+```
+
+⬠ð â 3ïžâ£.9ïžâ£, â«ïž ð:
+
+```Python
+from typing import List
+
+my_list: List[str]
+```
+
+ð ð ð© ð â ð ð.
+
+âïž ð ð ð© â ð· ð¢ â®ïž ð ð.
+
+, ð ðŒ, ð¥ ðª â `tags` ð¯ "ð ð»":
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="14"
+ {!> ../../../docs_src/body_nested_models/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="14"
+ {!> ../../../docs_src/body_nested_models/tutorial002_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="12"
+ {!> ../../../docs_src/body_nested_models/tutorial002_py310.py!}
+ ```
+
+## â ð
+
+âïž â€Žïž ð¥ ð ð â«ïž, & ð€ ð ð ð«ð ð« ð, ð« ð ð² ð ð».
+
+& ð âïž ð ðœ ð â ð ð¬, `set`.
+
+â€Žïž ð¥ ðª ð£ `tags` â ð»:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="1 14"
+ {!> ../../../docs_src/body_nested_models/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="14"
+ {!> ../../../docs_src/body_nested_models/tutorial003_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="12"
+ {!> ../../../docs_src/body_nested_models/tutorial003_py310.py!}
+ ```
+
+â®ïž ð, ð¥ ð ðš ðš â®ïž â ð, â«ïž ð ð â ð ð¬.
+
+& ðâ ð ð¢ ð ð, ð¥ â¹ âïž â, â«ïž ð ð¢ â ð ð¬.
+
+& â«ïž ð â / ð â¡ïž ðââïž.
+
+## ðŠ ð·
+
+ð ð¢ Pydantic ð· âïž ð.
+
+âïž ð ð ðª â«ïž â1ïžâ£ Pydantic ð·.
+
+, ð ðª ð£ ð ðŠ ð» "ð" â®ïž ð¯ ð¢ ð, ð & ð¬.
+
+ð ð, ð² ðŠ.
+
+### ð¬ ð
+
+ðŒ, ð¥ ðª ð¬ `Image` ð·:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9-11"
+ {!> ../../../docs_src/body_nested_models/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="9-11"
+ {!> ../../../docs_src/body_nested_models/tutorial004_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7-9"
+ {!> ../../../docs_src/body_nested_models/tutorial004_py310.py!}
+ ```
+
+### âïž ð ð
+
+& â€Žïž ð¥ ðª âïž â«ïž ð ð¢:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="20"
+ {!> ../../../docs_src/body_nested_models/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="20"
+ {!> ../../../docs_src/body_nested_models/tutorial004_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="18"
+ {!> ../../../docs_src/body_nested_models/tutorial004_py310.py!}
+ ```
+
+ð ð â ð **FastAPI** ð â ðª ð:
+
+```JSON
+{
+ "name": "Foo",
+ "description": "The pretender",
+ "price": 42.0,
+ "tax": 3.2,
+ "tags": ["rock", "metal", "bar"],
+ "image": {
+ "url": "http://example.com/baz.jpg",
+ "name": "The Foo live"
+ }
+}
+```
+
+ð, ð€ž ð ð, â®ïž **FastAPI** ð ð€:
+
+* ðšâðš ðâðŠº (ð ïž, âïž), ðŠ ð·
+* ðœ ð ïž
+* ðœ ð¬
+* ð§ ð§Ÿ
+
+## ð ð & ð¬
+
+âïž âªïžâ¡ïž ð â ð ð `str`, `int`, `float`, âïž. ð ðª âïž ð
ð â ð ð ð âªïžâ¡ïž `str`.
+
+ð ð ð ð âïž, ð 𩺠Pydantic ð ð. ð ð ð ðŒ â ð.
+
+ðŒ, `Image` ð· ð¥ âïž `url` ð, ð¥ ðª ð£ â«ïž â©ïž `str`, Pydantic `HttpUrl`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="4 10"
+ {!> ../../../docs_src/body_nested_models/tutorial005.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="4 10"
+ {!> ../../../docs_src/body_nested_models/tutorial005_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="2 8"
+ {!> ../../../docs_src/body_nested_models/tutorial005_py310.py!}
+ ```
+
+ð» ð â
â ð, & ð ð» ð / ð â
.
+
+## ð¢ â®ïž ð ð
+
+ð ðª âïž Pydantic ð· ðŸ `list`, `set`, âïž:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="20"
+ {!> ../../../docs_src/body_nested_models/tutorial006.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="20"
+ {!> ../../../docs_src/body_nested_models/tutorial006_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="18"
+ {!> ../../../docs_src/body_nested_models/tutorial006_py310.py!}
+ ```
+
+ð ð â (ð, â, ð, âïž) ð» ðª ð:
+
+```JSON hl_lines="11"
+{
+ "name": "Foo",
+ "description": "The pretender",
+ "price": 42.0,
+ "tax": 3.2,
+ "tags": [
+ "rock",
+ "metal",
+ "bar"
+ ],
+ "images": [
+ {
+ "url": "http://example.com/baz.jpg",
+ "name": "The Foo live"
+ },
+ {
+ "url": "http://example.com/dave.jpg",
+ "name": "The Baz"
+ }
+ ]
+}
+```
+
+!!! info
+ ð â `images` ð ð âïž ð ðŒ ð.
+
+## ð ðŠ ð·
+
+ð ðª ð¬ ð² ð ðŠ ð·:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9 14 20 23 27"
+ {!> ../../../docs_src/body_nested_models/tutorial007.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="9 14 20 23 27"
+ {!> ../../../docs_src/body_nested_models/tutorial007_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7 12 18 21 25"
+ {!> ../../../docs_src/body_nested_models/tutorial007_py310.py!}
+ ```
+
+!!! info
+ ð â `Offer` âïž ð `Item`â, â ð âïž ðŠ ð `Image`â
+
+## ðª ð ð
+
+ð¥ ð ð ð² ð» ðª ð â ð» `array` (ð `list`), ð ðª ð£ ð ð¢ ð¢, ð Pydantic ð·:
+
+```Python
+images: List[Image]
+```
+
+âïž ð 3ïžâ£.9ïžâ£ & ð:
+
+```Python
+images: list[Image]
+```
+
+:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="15"
+ {!> ../../../docs_src/body_nested_models/tutorial008.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="13"
+ {!> ../../../docs_src/body_nested_models/tutorial008_py39.py!}
+ ```
+
+## ðšâðš ðâðŠº ð
+
+& ð ð€ ðšâðš ðâðŠº ð.
+
+ð¬ ð ð:
+
+
+
+ð ð« ð« ð€ ð ð ðšâðš ðâðŠº ð¥ ð ð· ð â®ïž `dict` â©ïž Pydantic ð·.
+
+âïž ð ð« âïž ð ð ð« ð¯ââïž, ðš #ïžâ£ ð ð & ð ð¢ ð ð ð» ðââïž.
+
+## ðª â `dict`â
+
+ð ðª ð£ ðª `dict` â®ïž ð ð & ð² ð ð.
+
+ðµ âïž ð ⪠â«ïžâ â ð/ð¢ ð (ð ðŒ â®ïž Pydantic ð·).
+
+ð ð â ð¥ ð ð ðš ð ð ð ð« ⪠ð.
+
+---
+
+ð â ðŒ ðâ ð ð âïž ð ð ð, â
`int`.
+
+ð â«ïžâ ð¥ ð ð ð¥.
+
+ð ðŒ, ð ð ð« ð `dict` ð â«ïž âïž `int` ð â®ïž `float` ð²:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/body_nested_models/tutorial009.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/body_nested_models/tutorial009_py39.py!}
+ ```
+
+!!! tip
+ âïž ð€¯ ð ð» ðŽ ðâðŠº `str` ð.
+
+ âïž Pydantic âïž ð§ ðœ ð ïž.
+
+ ð â ð, âïž ð ð ïž ð©âð» ðª ðŽ ðš ð» ð, ð ð ð» ð ð ð¢, Pydantic ð ð ð« & â ð«.
+
+ & `dict` ð ðš `weights` ð ð€ âïž `int` ð & `float` ð².
+
+## ð
+
+â®ïž **FastAPI** ð âïž ð ðª ð Pydantic ð·, ⪠ð§ ð ð ð
, ð & ð.
+
+âïž â®ïž ð ð°:
+
+* ðšâðš ðâðŠº (ð ïž ð â)
+* ðœ ð ïž (.â.. â / ð ïž)
+* ðœ ð¬
+* ð ð§Ÿ
+* ð§ ð©º
diff --git a/docs/em/docs/tutorial/body-updates.md b/docs/em/docs/tutorial/body-updates.md
new file mode 100644
index 000000000..98058ab52
--- /dev/null
+++ b/docs/em/docs/tutorial/body-updates.md
@@ -0,0 +1,155 @@
+# ðª - â¹
+
+## â¹ â â®ïž `PUT`
+
+â¹ ð¬ ð ðª âïž ðºðžð `PUT` ð ïž.
+
+ð ðª âïž `jsonable_encoder` ð ð¢ ðœ ð ð ðª ðª ð» (â
â®ïž â ðœ). ðŒ, ð `datetime` `str`.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="30-35"
+ {!> ../../../docs_src/body_updates/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="30-35"
+ {!> ../../../docs_src/body_updates/tutorial001_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="28-33"
+ {!> ../../../docs_src/body_updates/tutorial001_py310.py!}
+ ```
+
+`PUT` âïž ðš ðœ ð ð â â» ðœ.
+
+### â ð â
+
+ð â ð ð¥ ð ð â¹ ð¬ `bar` âïž `PUT` â®ïž ðª â:
+
+```Python
+{
+ "name": "Barz",
+ "price": 3,
+ "description": None,
+}
+```
+
+â©ïž â«ïž ð« ð ⪠ðª ð¢ `"tax": 20.2`, ð¢ ð· ð â ð¢ ð² `"tax": 10.5`.
+
+& ð ð ð â®ïž ð "ð" `tax` `10.5`.
+
+## ð â¹ â®ïž `PATCH`
+
+ð ðª âïž ðºðžð `PATCH` ð ïž *ð* â¹ ðœ.
+
+ð â ð ð ðª ðš ðŽ ðœ ð ð ð â¹, ð ð ð£.
+
+!!! Note
+ `PATCH` ð ð âïž & ð ð `PUT`.
+
+ & ð ð âïž ðŽ `PUT`, ð â¹.
+
+ ð **ð** âïž ð« ð ð ð, **FastAPI** ð« ð« ð ð«.
+
+ âïž ð ðŠ® ðŠ ð, ð âïž ð, â ð« ð¯ âïž.
+
+### âïž Pydantic `exclude_unset` ð¢
+
+ð¥ ð ð ðš ð â¹, â«ïž ð¶ â âïž ð¢ `exclude_unset` Pydantic ð· `.dict()`.
+
+ð `item.dict(exclude_unset=True)`.
+
+ð ð ð `dict` â®ïž ðŽ ðœ ð â ðâ ð `item` ð·, ð« ð¢ ð².
+
+â€Žïž ð ðª âïž ð ð `dict` â®ïž ðŽ ðœ ð â (ðš ðš), ð« ð¢ ð²:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="34"
+ {!> ../../../docs_src/body_updates/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="34"
+ {!> ../../../docs_src/body_updates/tutorial002_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="32"
+ {!> ../../../docs_src/body_updates/tutorial002_py310.py!}
+ ```
+
+### âïž Pydantic `update` ð¢
+
+ð, ð ðª â ð â» ð· âïž `.copy()`, & ð¶ââïž `update` ð¢ â®ïž `dict` â ðœ â¹.
+
+ð `stored_item_model.copy(update=update_data)`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="35"
+ {!> ../../../docs_src/body_updates/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="35"
+ {!> ../../../docs_src/body_updates/tutorial002_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="33"
+ {!> ../../../docs_src/body_updates/tutorial002_py310.py!}
+ ```
+
+### ð â¹ ð
+
+ð, â ð â¹ ð ð:
+
+* (â) âïž `PATCH` â©ïž `PUT`.
+* ð ðª ðœ.
+* ð® ð ðœ Pydantic ð·.
+* ð `dict` ðµ ð¢ ð² âªïžâ¡ïž ð¢ ð· (âïž `exclude_unset`).
+ * ð ð ð ðª â¹ ðŽ ð² ð€ â ð©âð», â©ïž ð ð² ⪠ðª â®ïž ð¢ ð² ð ð·.
+* â ð ðª ð·, ð ïž â«ïž ð¢ â®ïž ðš ð â¹ (âïž `update` ð¢).
+* ð ð ð· ð³ ð ðª ðª ð ðœ (ðŒ, âïž `jsonable_encoder`).
+ * ð â âïž ð· `.dict()` ð©âð¬ ð, âïž â«ïž â ð (& ð) ð² ðœ ð ð ðª ð ð», ðŒ, `datetime` `str`.
+* ð ðœ ð ðœ.
+* ðš â¹ ð·.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="30-37"
+ {!> ../../../docs_src/body_updates/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="30-37"
+ {!> ../../../docs_src/body_updates/tutorial002_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="28-35"
+ {!> ../../../docs_src/body_updates/tutorial002_py310.py!}
+ ```
+
+!!! tip
+ ð ðª ð€ âïž ð ð â â®ïž ðºðžð `PUT` ð ïž.
+
+ âïž ðŒ ð¥ âïž `PATCH` â©ïž â«ïž â ð« âïž ðŒ.
+
+!!! note
+ ð ð ð¢ ð· â.
+
+ , ð¥ ð ð ðš ð â¹ ð ðª ð« ð ð¢, ð ðª âïž ð· â®ïž ð ð¢ ⢠ðŠ (â®ïž ð¢ ð² âïž `None`).
+
+ ð¬ âªïžâ¡ïž ð· â®ïž ð ðŠ ð² **â¹** & ð· â®ïž â ð² **ð**, ð ðª âïž ð ð¬ [â ð·](extra-models.md){.internal-link target=_blank}.
diff --git a/docs/em/docs/tutorial/body.md b/docs/em/docs/tutorial/body.md
new file mode 100644
index 000000000..ca2f113bf
--- /dev/null
+++ b/docs/em/docs/tutorial/body.md
@@ -0,0 +1,213 @@
+# ðš ðª
+
+ðâ ð ðª ðš ð âªïžâ¡ïž ð©âð» (â¡ïž ð¬, ð¥) ð ð ïž, ð ðš â«ïž **ðš ðª**.
+
+**ðš** ðª ð ðš ð©âð» ð ð ïž. **ðš** ðª ðœ ð ð ïž ðš ð©âð».
+
+ð ð ïž ð ð§ âïž ðš **ðš** ðª. âïž ð©âð» ð« ð¯ ðª ðš **ðš** ðª ð ð°.
+
+ð£ **ðš** ðª, ð âïž Pydantic ð· â®ïž ð ð« ðïž & ð°.
+
+!!! info
+ ðš ðœ, ð ð âïž 1ïžâ£: `POST` (ð
â ), `PUT`, `DELETE` âïž `PATCH`.
+
+ ðš ðª â®ïž `GET` ðš âïž â ð ð§, ð, â«ïž ðâðŠº FastAPI, ðŽ ð¶ ð/ð âïž ðŒ.
+
+ â«ïž ð«, ð 𩺠â®ïž ðŠ ð ð ð« ðŠ ð§Ÿ ðª ðâ âïž `GET`, & ð³ ð ðª ð« ðâðŠº â«ïž.
+
+## ð Pydantic `BaseModel`
+
+ð¥, ð ðª ð `BaseModel` âªïžâ¡ïž `pydantic`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="4"
+ {!> ../../../docs_src/body/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="2"
+ {!> ../../../docs_src/body/tutorial001_py310.py!}
+ ```
+
+## â ð ðœ ð·
+
+â€Žïž ð ð£ ð ðœ ð· ð ð ð âªïžâ¡ïž `BaseModel`.
+
+âïž ð© ð ð ð ð¢:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="7-11"
+ {!> ../../../docs_src/body/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="5-9"
+ {!> ../../../docs_src/body/tutorial001_py310.py!}
+ ```
+
+ð ðâ ð£ ð¢ ð¢, ðâ ð· ð¢ âïž ð¢ ð², â«ïž ð« â. âª, â«ïž â. âïž `None` â â«ïž ðŠ.
+
+ðŒ, ð ð· ð ð£ ð» "`object`" (âïž ð `dict`) ð:
+
+```JSON
+{
+ "name": "Foo",
+ "description": "An optional description",
+ "price": 45.2,
+ "tax": 3.5
+}
+```
+
+... `description` & `tax` ðŠ (â®ïž ð¢ ð² `None`), ð ð» "`object`" ð â:
+
+```JSON
+{
+ "name": "Foo",
+ "price": 45.2
+}
+```
+
+## ð£ â«ïž ð¢
+
+ð® â«ïž ð *â¡ ð ïž*, ð£ â«ïž ð ð ð ð£ â¡ & ð¢ ð¢:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="18"
+ {!> ../../../docs_src/body/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="16"
+ {!> ../../../docs_src/body/tutorial001_py310.py!}
+ ```
+
+...& ð£ ð® ð ð· ð â, `Item`.
+
+## ð
+
+â®ïž ð ð ð ð, **FastAPI** ð:
+
+* â ðª ðš ð».
+* ð ð ð (ð¥ ðª).
+* â ðœ.
+ * ð¥ ðœ â, â«ïž ð ðš ð & ð â, â ïž â«ïžâ ðâ & â«ïžâ â ð.
+* ð€ ð ðš ð ð¢ `item`.
+ * ð ð£ â«ïž ð¢ ð `Item`, ð ð âïž ð ðšâðš ðâðŠº (ð ïž, âïž) ð ð¢ & ð« ð.
+* ð ð» ð ð ð ð·, ð ðª âïž ð« ð ð ð ð ð¥ â«ïž â ð ð ð.
+* ð ð ð ð ð ð ð, & âïž ð§ ð§Ÿ â.
+
+## ð§ ð©º
+
+ð» ð ð ð· ð ð ð ð ð ð, & ð ðŠ ð ð ïž ð©º:
+
+
+
+& ð âïž ð ïž ð©º ð ð *â¡ ð ïž* ð ðª ð«:
+
+
+
+## ðšâðš ðâðŠº
+
+ð ðšâðš, ð ð ð¢ ð ð ð€ ð ð & ð ïž ð (ð ð«ð ðš ð¥ ð ðš `dict` â©ïž Pydantic ð·):
+
+
+
+ð ð€ â â
â ð ð ïž:
+
+
+
+ð ð« ð€, ð ð ïž ð ð€ ð ð§.
+
+& â«ïž ð ð¯ ð§ ð, â ð ð ïž, ð â«ïž ð ð· â®ïž ð ðšâðš.
+
+ð€ ð Pydantic â«ïž ðâðŠº ð.
+
+â®ïž ðŒ â â®ïž ð ð ð.
+
+âïž ð ð ð€ ð ðšâðš ðâðŠº â®ïž ð & ð
ð ð ðšâðš:
+
+
+
+!!! tip
+ ð¥ ð âïž ð ð ðšâðš, ð ðª âïž Pydantic ð ð.
+
+ â«ïž ð ðšâðš ðâðŠº Pydantic ð·, â®ïž:
+
+ * ð-ð ïž
+ * ð â
+ * ð ïž
+ * ð
+ * ð¬
+
+## âïž ð·
+
+ð ð¢, ð ðª ð ð ð¢ ð· ð ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="21"
+ {!> ../../../docs_src/body/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="19"
+ {!> ../../../docs_src/body/tutorial002_py310.py!}
+ ```
+
+## ðš ðª â â¡ ð¢
+
+ð ðª ð£ â¡ ð¢ & ðš ðª ð ð°.
+
+**FastAPI** ð ð€ ð ð¢ ð¢ ð ð â¡ ð¢ ð **â âªïžâ¡ïž â¡**, & ð ð¢ ð¢ ð ð£ Pydantic ð· ð **â âªïžâ¡ïž ðš ðª**.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="17-18"
+ {!> ../../../docs_src/body/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="15-16"
+ {!> ../../../docs_src/body/tutorial003_py310.py!}
+ ```
+
+## ðš ðª â â¡ â ð¢ ð¢
+
+ð ðª ð£ **ðª**, **â¡** & **ð¢** ð¢, ð ð ð°.
+
+**FastAPI** ð ð€ ð ð« & â ð âªïžâ¡ïž â ð¥.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="18"
+ {!> ../../../docs_src/body/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="16"
+ {!> ../../../docs_src/body/tutorial004_py310.py!}
+ ```
+
+ð¢ ð¢ ð ð€ â©:
+
+* ð¥ ð¢ ð£ **â¡**, â«ïž ð âïž â¡ ð¢.
+* ð¥ ð¢ **â ð** (ð `int`, `float`, `str`, `bool`, âïž) â«ïž ð ð¬ **ð¢** ð¢.
+* ð¥ ð¢ ð£ ð **Pydantic ð·**, â«ïž ð ð¬ ðš **ðª**.
+
+!!! note
+ FastAPI ð ð ð ð² `q` ð« â â©ïž ð¢ ð² `= None`.
+
+ `Union` `Union[str, None]` ð« âïž FastAPI, âïž ð â ð ðšâðš ð€ ð ð ðâðŠº & ð â.
+
+## ðµ Pydantic
+
+ð¥ ð ð« ð âïž Pydantic ð·, ð ðª âïž **ðª** ð¢. ð 𩺠[ðª - ð ð¢: â ð² ðª](body-multiple-params.md#singular-values-in-body){.internal-link target=_blank}.
diff --git a/docs/em/docs/tutorial/cookie-params.md b/docs/em/docs/tutorial/cookie-params.md
new file mode 100644
index 000000000..47f4a62f5
--- /dev/null
+++ b/docs/em/docs/tutorial/cookie-params.md
@@ -0,0 +1,49 @@
+# ðª ð¢
+
+ð ðª ð¬ ðª ð¢ ð ð ð ð¬ `Query` & `Path` ð¢.
+
+## ð `Cookie`
+
+ð¥ ð `Cookie`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="3"
+ {!> ../../../docs_src/cookie_params/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/cookie_params/tutorial001_py310.py!}
+ ```
+
+## ð£ `Cookie` ð¢
+
+â€Žïž ð£ ðª ð¢ âïž ð ð â®ïž `Path` & `Query`.
+
+ð¥ ð² ð¢ ð², ð ðª ð¶ââïž ð â ð¬ âïž â ð¢:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/cookie_params/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/cookie_params/tutorial001_py310.py!}
+ ```
+
+!!! note "ð¡ â¹"
+ `Cookie` "ð" ð `Path` & `Query`. â«ïž ð âªïžâ¡ïž ð â `Param` ð.
+
+ âïž ð ð ðâ ð ð `Query`, `Path`, `Cookie` & ð âªïžâ¡ïž `fastapi`, ð ð€ ð¢ ð ðš ð ð.
+
+!!! info
+ ð£ ðª, ð ðª âïž `Cookie`, â©ïž ⪠ð¢ ð ð¬ ð¢ ð¢.
+
+## ð
+
+ð£ ðª â®ïž `Cookie`, âïž ð â â `Query` & `Path`.
diff --git a/docs/em/docs/tutorial/cors.md b/docs/em/docs/tutorial/cors.md
new file mode 100644
index 000000000..8c5e33ed7
--- /dev/null
+++ b/docs/em/docs/tutorial/cors.md
@@ -0,0 +1,84 @@
+# â (âïž-ðšð³ â¹ ð€)
+
+â âïž "âïž-ðšð³ â¹ ð€" ð â ðâ ðž ðââ ð¥ âïž ðž ð ð ð â®ïž ð©âð», & ð©âð» ð "ðšð³" ð ðž.
+
+## ðšð³
+
+ðšð³ ð ð ïž (`http`, `https`), ð (`myapp.com`, `localhost`, `localhost.tiangolo.com`), & ⎠(`80`, `443`, `8080`).
+
+, ð ð« ð ðšð³:
+
+* `http://localhost`
+* `https://localhost`
+* `http://localhost:8080`
+
+ð¥ ð« ð `localhost`, ð« âïž ð ð ïž âïž âŽ,, ð« ð "ðšð³".
+
+## ð
+
+, â¡ïž ð¬ ð âïž ðž ð ð ð¥ `http://localhost:8080`, & ð® ðž ð ð â®ïž ð©âð» ð `http://localhost` (â©ïž ð¥ ð« â âŽ, ð¥ ð ð€ ð¢ ⎠`80`).
+
+‎ïž, ð¥ ð ðš ðºðžð `OPTIONS` ðš ð©âð», & ð¥ ð©âð» ðš â ð â ð» âªïžâ¡ïž ð ð ðšð³ (`http://localhost:8080`) â€Žïž ð¥ ð â¡ïž ðž ðž ðš ð® ðš ð©âð».
+
+ð ð, ð©âð» ð âïž ð "â ðšð³".
+
+ð ðŒ, â«ïž ð âïž ð `http://localhost:8080` ðž ð· â.
+
+## ð
+
+â«ïž ðª ð£ ð `"*"` ("ð") ð¬ ð ð â.
+
+âïž ð ð ðŽ â ð¯ ð ð», ð« ð ð ð ð: ðª, â ð ð ð âïž â®ïž ðš ð€, âïž.
+
+, ð ð· â, â«ïž ð» â ð¯ â ðšð³.
+
+## âïž `CORSMiddleware`
+
+ð ðª ð â«ïž ð **FastAPI** ðž âïž `CORSMiddleware`.
+
+* ð `CORSMiddleware`.
+* â ð â ðšð³ (ð»).
+* ð® â«ïž "ð ïž" ð **FastAPI** ðž.
+
+ð ðª â ð¥ ð ð©âð» â:
+
+* ð (â ð, ðª, âïž).
+* ð¯ ðºðžð ð©âð¬ (`POST`, `PUT`) âïž ð ð« â®ïž ð `"*"`.
+* ð¯ ðºðžð ð âïž ð ð« â®ïž ð `"*"`.
+
+```Python hl_lines="2 6-11 13-19"
+{!../../../docs_src/cors/tutorial001.py!}
+```
+
+ð¢ ð¢ âïž `CORSMiddleware` ð ïž ð« ð¢, ð ð ðª ð¯ ð ïž ð¯ ðšð³, ð©âð¬, âïž ð, â ð¥ â âïž ð« âïž-ð ð.
+
+ð â ðâðŠº:
+
+* `allow_origins` - ð ðšð³ ð ð â â âïž-ðšð³ ðš. ð€¶ â. `['https://example.org', 'https://www.example.org']`. ð ðª âïž `['*']` â ð ðšð³.
+* `allow_origin_regex` - ð» ð» ð ð¡ ðšð³ ð ð â â âïž-ðšð³ ðš. â
`'https://.*\.example\.org'`.
+* `allow_methods` - ð ðºðžð ð©âð¬ ð ð â âïž-ðšð³ ðš. ð¢ `['GET']`. ð ðª âïž `['*']` â ð ð© ð©âð¬.
+* `allow_headers` - ð ðºðžð ðš ð ð ð ðâðŠº âïž-ðšð³ ðš. ð¢ `[]`. ð ðª âïž `['*']` â ð ð. `Accept`, `Accept-Language`, `Content-Language` & `Content-Type` ð ð§ â ð
â ðš.
+* `allow_credentials` - ðŠ ð ðª ð ðâðŠº âïž-ðšð³ ðš. ð¢ `False`. , `allow_origins` ð«ð â `['*']` ð â, ðšð³ ð â.
+* `expose_headers` - ðŠ ð ðš ð ð ð â â¿ ð¥. ð¢ `[]`.
+* `max_age` - â ð ð° ð¥ ð¥ ðŸ â ðš. ð¢ `600`.
+
+ð ïž ðš 2ïžâ£ ð¯ ð ðºðžð ðš...
+
+### â ð« ðš
+
+ð ð `OPTIONS` ðš â®ïž `Origin` & `Access-Control-Request-Method` ð.
+
+ð ðŒ ð ïž ð ð ðš ðš & ðš â®ïž â â ð, & ð¯ââïž `200` âïž `400` ðš ð ð¯.
+
+### ð
ðš
+
+ð ðš â®ïž `Origin` ð. ð ðŒ ð ïž ð ð¶ââïž ðš ð ð, âïž ð ð â â ð ð ðš.
+
+## ð
â¹
+
+ð â¹ ð â, â
ðŠ â ð§Ÿ.
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.middleware.cors import CORSMiddleware`.
+
+ **FastAPI** ð ð ð ïž `fastapi.middleware` ðª ð, ð©âð». âïž ð
ðª ð ïž ð ð âªïžâ¡ïž ð.
diff --git a/docs/em/docs/tutorial/debugging.md b/docs/em/docs/tutorial/debugging.md
new file mode 100644
index 000000000..c7c11b5ce
--- /dev/null
+++ b/docs/em/docs/tutorial/debugging.md
@@ -0,0 +1,112 @@
+# ð ïž
+
+ð ðª ð ð¹ ð ðšâðš, ðŒ â®ïž ð ð ð âïž ð.
+
+## ð€ `uvicorn`
+
+ð FastAPI ðž, ð & ð `uvicorn` ð:
+
+```Python hl_lines="1 15"
+{!../../../docs_src/debugging/tutorial001.py!}
+```
+
+### ð `__name__ == "__main__"`
+
+ð ð¯ `__name__ == "__main__"` âïž ð ð ð ïž ðâ ð ð ð€ â®ïž:
+
+
+
+---
+
+ð¥ ð âïž ð, ð ðª:
+
+* ð "ð" ð£.
+* ð ð "â¹...".
+* â€Žïž ð ð£ ðŠ ð.
+* ð ð â¹ (ð ðŒ, `main.py`).
+
+â«ïž ð â€Žïž â¶ïž ðœ â®ïž ð **FastAPI** ð, âïž ð 0ïžâ£, âïž.
+
+ð¥ â â«ïž ðª ð:
+
+
diff --git a/docs/em/docs/tutorial/dependencies/classes-as-dependencies.md b/docs/em/docs/tutorial/dependencies/classes-as-dependencies.md
new file mode 100644
index 000000000..e2d2686d3
--- /dev/null
+++ b/docs/em/docs/tutorial/dependencies/classes-as-dependencies.md
@@ -0,0 +1,247 @@
+# ð ð
+
+â ð€¿ â¬ ð **ð ð** âïž, â¡ïž â» â®ïž ðŒ.
+
+## `dict` âªïžâ¡ïž â®ïž ðŒ
+
+â®ïž ðŒ, ð¥ ð¬ `dict` âªïžâ¡ïž ð ð ("â"):
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/dependencies/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/dependencies/tutorial001_py310.py!}
+ ```
+
+âïž â€Žïž ð¥ ð€ `dict` ð¢ `commons` *â¡ ð ïž ð¢*.
+
+& ð¥ ð ð ðšâðš ðª ð« ð ð ðâðŠº (ð ð ïž) `dict`â, â©ïž ð« ðª ð« ð ð« ð & ð² ð.
+
+ð¥ ðª ð...
+
+## â«ïžâ â ð
+
+ð ð ð âïž ð ð ð£ ð¢.
+
+âïž ð ð« ðŽ ð ð£ ð (ð â«ïž ð ð² ð â ).
+
+ð â ð ð ð "ð§ð²".
+
+"**ð§ð²**" ð ð³ ð ð ðª "ð€" ð ð¢.
+
+, ð¥ ð âïž ð `something` (ð ðª _ð«_ ð¢) & ð ðª "ð€" â«ïž (ð ïž â«ïž) ð:
+
+```Python
+something()
+```
+
+âïž
+
+```Python
+something(some_argument, some_keyword_argument="foo")
+```
+
+â€Žïž â«ïž "ð§ð²".
+
+## ð ð
+
+ð 5ïžâ£ð ð ð â ð ð ð, ð âïž ð ð â.
+
+ðŒ:
+
+```Python
+class Cat:
+ def __init__(self, name: str):
+ self.name = name
+
+
+fluffy = Cat(name="Mr Fluffy")
+```
+
+ð ðŒ, `fluffy` ð ð `Cat`.
+
+& â `fluffy`, ð "ð€" `Cat`.
+
+, ð ð **ð§ð²**.
+
+‎ïž, **FastAPI**, ð ðª âïž ð ð ð.
+
+â«ïžâ FastAPI ð€ â
ð â«ïž "ð§ð²" (ð¢, ð âïž ð³ ð) & ð¢ ð¬.
+
+ð¥ ð ð¶ââïž "ð§ð²" ð **FastAPI**, â«ïž ð ð¬ ð¢ ð "ð§ð²", & ð ïž ð« ð ð ð¢ *â¡ ð ïž ð¢*. â
ð§-ð.
+
+ð â ð§ð² â®ïž ð
ââ ð¢ ð. ð â«ïž ð *â¡ ð ïž ð¢* â®ïž ð
ââ ð¢.
+
+‎ïž, ð¥ ðª ð ð "â" `common_parameters` âªïžâ¡ïž ð ð `CommonQueryParams`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="11-15"
+ {!> ../../../docs_src/dependencies/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="9-13"
+ {!> ../../../docs_src/dependencies/tutorial002_py310.py!}
+ ```
+
+ðž ð `__init__` ð©âð¬ âïž â ð ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="12"
+ {!> ../../../docs_src/dependencies/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/dependencies/tutorial002_py310.py!}
+ ```
+
+...â«ïž âïž ð ð¢ ð â®ïž `common_parameters`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/dependencies/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="6"
+ {!> ../../../docs_src/dependencies/tutorial001_py310.py!}
+ ```
+
+ð ð¢ â«ïžâ **FastAPI** ð âïž "â" ð.
+
+ð¯ââïž ðŒ, â«ïž ð âïž:
+
+* ðŠ `q` ð¢ ð¢ ð `str`.
+* `skip` ð¢ ð¢ ð `int`, â®ïž ð¢ `0`.
+* `limit` ð¢ ð¢ ð `int`, â®ïž ð¢ `100`.
+
+ð¯ââïž ðŒ ðœ ð ð, â, ð ð ð ð, âïž.
+
+## âïž â«ïž
+
+ð ð ðª ð£ ð ð âïž ð ð.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="19"
+ {!> ../../../docs_src/dependencies/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="17"
+ {!> ../../../docs_src/dependencies/tutorial002_py310.py!}
+ ```
+
+**FastAPI** ð€ `CommonQueryParams` ð. ð â "ð" ð ð & ð ð ð¶ââïž ð¢ `commons` ð ð¢.
+
+## ð â ð `Depends`
+
+ð â ð¥ â `CommonQueryParams` ð ð ð:
+
+```Python
+commons: CommonQueryParams = Depends(CommonQueryParams)
+```
+
+ð `CommonQueryParams`,:
+
+```Python
+... = Depends(CommonQueryParams)
+```
+
+...â«ïžâ **FastAPI** ð ð€ âïž ð â«ïžâ ð.
+
+âªïžâ¡ïž â«ïž ð FastAPI ð â ð£ ð¢ & ð â«ïžâ FastAPI ð ð€ ð€.
+
+---
+
+ð ðŒ, ð¥ `CommonQueryParams`,:
+
+```Python
+commons: CommonQueryParams ...
+```
+
+...ð« âïž ð ð ð **FastAPI**. FastAPI ð ð« âïž â«ïž ðœ ð ïž, ð¬, âïž. (â«ïž âïž `= Depends(CommonQueryParams)` ð).
+
+ð ðª ð€ â:
+
+```Python
+commons = Depends(CommonQueryParams)
+```
+
+...:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="19"
+ {!> ../../../docs_src/dependencies/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="17"
+ {!> ../../../docs_src/dependencies/tutorial003_py310.py!}
+ ```
+
+âïž ð£ ð ð¡ ð ð ð ðšâðš ð ð â«ïžâ ð ð¶ââïž ð¢ `commons`, & â€Žïž â«ïž ðª â¹ ð â®ïž ð ð ïž, ð â
, âïž:
+
+
+
+## âš
+
+âïž ð ð ð ð¥ âïž ð ð ð¥, â `CommonQueryParams` ð:
+
+```Python
+commons: CommonQueryParams = Depends(CommonQueryParams)
+```
+
+**FastAPI** ð âš ð« ðŒ, ðâ ð *ð¯* ð ð **FastAPI** ð "ð€" â ð ð â«ïž.
+
+ð ð¯ ðŒ, ð ðª ð:
+
+â©ïž â:
+
+```Python
+commons: CommonQueryParams = Depends(CommonQueryParams)
+```
+
+...ð â:
+
+```Python
+commons: CommonQueryParams = Depends()
+```
+
+ð ð£ ð ð ð¢, & ð âïž `Depends()` ð® "ð¢" ð² (ð â®ïž `=`) ð ð¢ ð¢, ðµ ð ð¢ `Depends()`, â©ïž âïž â ð ð *ð* ð `Depends(CommonQueryParams)`.
+
+ð ðŒ ð â€Žïž ð ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="19"
+ {!> ../../../docs_src/dependencies/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="17"
+ {!> ../../../docs_src/dependencies/tutorial004_py310.py!}
+ ```
+
+...& **FastAPI** ð ð â«ïžâ.
+
+!!! tip
+ ð¥ ð ð ð
ðš ð ð, ð€·ââ â«ïž, ð ð« *ðª* â«ïž.
+
+ â«ïž âš. â©ïž **FastAPI** ð
ð ð€ ð ð ð ð.
diff --git a/docs/em/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md b/docs/em/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
new file mode 100644
index 000000000..4d54b91c7
--- /dev/null
+++ b/docs/em/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
@@ -0,0 +1,71 @@
+# ð â¡ ð ïž ðšâðš
+
+ðŒ ð ð« ð€ ðª ðš ð² ð ð ð *â¡ ð ïž ð¢*.
+
+âïž ð ð« ðš ð².
+
+âïž ð ðª â«ïž ð ïž/â.
+
+ð ðŒ, â©ïž ð£ *â¡ ð ïž ð¢* ð¢ â®ïž `Depends`, ð ðª ð® `list` `dependencies` *â¡ ð ïž ðšâðš*.
+
+## ð® `dependencies` *â¡ ð ïž ðšâðš*
+
+*â¡ ð ïž ðšâðš* ðš ðŠ â `dependencies`.
+
+â«ïž ð `list` `Depends()`:
+
+```Python hl_lines="17"
+{!../../../docs_src/dependencies/tutorial006.py!}
+```
+
+ð ð ð ð ïž/â ð ð ð ð. âïž ð« ð² (ð¥ ð« ðš ð) ð ð« ð¶ââïž ð *â¡ ð ïž ð¢*.
+
+!!! tip
+ ðšâðš â
â» ð¢ ð¢, & ðŠ ð« â.
+
+ âïž ð `dependencies` *â¡ ð ïž ðšâðš* ð ðª â ð ð« ð ïž âª â ðšâðš/ð â.
+
+ â«ïž ðª â¹ â ðš ð ð©âð» ð ð â» ð¢ ð ð & ðª ð â«ïž ð.
+
+!!! info
+ ð ðŒ ð¥ âïž ð ð ð `X-Key` & `X-Token`.
+
+ âïž ð° ðŒ, ðâ ð ïž ðââ, ð ð ð€ ð ð° âªïžâ¡ïž âïž ð ïž [ðââ ð (â ð)](../security/index.md){.internal-link target=_blank}.
+
+## ð â & ðš ð²
+
+ð ðª âïž ð ð *ð¢* ð âïž ð.
+
+### ð ð
+
+ð« ðª ð£ ðš ð (ð ð) âïž ð ð§-ð:
+
+```Python hl_lines="6 11"
+{!../../../docs_src/dependencies/tutorial006.py!}
+```
+
+### ð€ â
+
+ð« ð ðª `raise` â , ð ð ð:
+
+```Python hl_lines="8 13"
+{!../../../docs_src/dependencies/tutorial006.py!}
+```
+
+### ðš ð²
+
+& ð« ðª ðš ð² âïž ð«, ð² ð ð« âïž.
+
+, ð ðª ð€-âïž ð ð (ð ðš ð²) ð ⪠âïž ð± ð, & âïž ð² ð ð« âïž, ð ð ð ïž:
+
+```Python hl_lines="9 14"
+{!../../../docs_src/dependencies/tutorial006.py!}
+```
+
+## ð ðª *â¡ ð ïž*
+
+âª, ðâ ð ð â ð ðŠ ðž ([ðŠ ðž - ð ð](../../tutorial/bigger-applications.md){.internal-link target=_blank}), ð² â®ïž ð ð, ð ð ð¡ â ð£ ð `dependencies` ð¢ ðª *â¡ ð ïž*.
+
+## ð ð
+
+â ð¥ ð ð â ð® ð ð `FastAPI` ðž, ð ð« â ð *â¡ ð ïž*.
diff --git a/docs/em/docs/tutorial/dependencies/dependencies-with-yield.md b/docs/em/docs/tutorial/dependencies/dependencies-with-yield.md
new file mode 100644
index 000000000..9617667f4
--- /dev/null
+++ b/docs/em/docs/tutorial/dependencies/dependencies-with-yield.md
@@ -0,0 +1,219 @@
+# ð â®ïž ðŸ
+
+FastAPI ðâðŠº ð ð â ð â®ïž ð.
+
+ð, âïž `yield` â©ïž `return`, & â â ð â®ïž.
+
+!!! tip
+ â ð âïž `yield` 1ïžâ£ ð ð°.
+
+!!! note "ð¡ â¹"
+ ð ð¢ ð â âïž â®ïž:
+
+ * `@contextlib.contextmanager` âïž
+ * `@contextlib.asynccontextmanager`
+
+ ð â âïž **FastAPI** ð.
+
+ ð, FastAPI âïž ð 2ïžâ£ ðšâðš ð.
+
+## ðœ ð â®ïž `yield`
+
+ðŒ, ð ðª âïž ð â ðœ ð & ð â«ïž â®ïž ð.
+
+ðŽ ð â & ð `yield` ð ð ïž â ðš ðš:
+
+```Python hl_lines="2-4"
+{!../../../docs_src/dependencies/tutorial007.py!}
+```
+
+ðŸ ð² â«ïžâ ð ð *â¡ ð ïž* & ð ð:
+
+```Python hl_lines="4"
+{!../../../docs_src/dependencies/tutorial007.py!}
+```
+
+ð ð `yield` ð ð ïž â®ïž ðš âïž ð:
+
+```Python hl_lines="5-6"
+{!../../../docs_src/dependencies/tutorial007.py!}
+```
+
+!!! tip
+ ð ðª âïž `async` âïž ð ð¢.
+
+ **FastAPI** ð â¶ïžïž ð â®ïž ð , ð â®ïž ð ð.
+
+## ð â®ïž `yield` & `try`
+
+ð¥ ð âïž `try` ð« ð â®ïž `yield`, ð ð ðš ð â ð ð® ðâ âïž ð.
+
+ðŒ, ð¥ ð â ð, â1ïžâ£ ð âïž *â¡ ð ïž*, â ðœ ðµ "ðŸ" âïž â ð ð â, ð ð ðš â ð ð.
+
+, ð ðª ð ð ð¯ â ð ð â®ïž `except SomeException`.
+
+ð ð, ð ðª âïž `finally` â ð ðª ð¶ ð ïž, ð
ââ ð€ ð¥ ð€ â âïž ð«.
+
+```Python hl_lines="3 5"
+{!../../../docs_src/dependencies/tutorial007.py!}
+```
+
+## ð§-ð â®ïž `yield`
+
+ð ðª âïž ð§-ð & "ð²" ð§-ð ð ð & ð , & ð âïž ð ð« ðª âïž `yield`.
+
+**FastAPI** ð â ð ð "ðª ð" ð ð â®ïž `yield` ð â â.
+
+ðŒ, `dependency_c` ðª âïž ð ð `dependency_b`, & `dependency_b` ð `dependency_a`:
+
+```Python hl_lines="4 12 20"
+{!../../../docs_src/dependencies/tutorial008.py!}
+```
+
+& ð ð« ðª âïž `yield`.
+
+ð ðŒ `dependency_c`, ð ïž ð® ðª ð, ðª ð² âªïžâ¡ïž `dependency_b` (ð¥ ð `dep_b`) ðª.
+
+& , ð, `dependency_b` ðª ð² âªïžâ¡ïž `dependency_a` (ð¥ ð `dep_a`) ðª ð® ðª ð.
+
+```Python hl_lines="16-17 24-25"
+{!../../../docs_src/dependencies/tutorial008.py!}
+```
+
+ð ð, ð ðª âïž ð â®ïž `yield` & `return` ð.
+
+& ð ðª âïž ð ð ð ð ð ð ð â®ïž `yield`, âïž.
+
+ð ðª âïž ð ð ð ð ð ð.
+
+**FastAPI** ð â ð ð ð â â.
+
+!!! note "ð¡ â¹"
+ ð ð· ð ð ð ðšâðŒ.
+
+ **FastAPI** âïž ð« ð ð ð.
+
+## ð â®ïž `yield` & `HTTPException`
+
+ð ð ð ð ðª âïž ð â®ïž `yield` & âïž `try` ð« ð â â .
+
+â«ïž 5ïžâ£ð ð ð€ `HTTPException` âïž ð ðª ð, â®ïž `yield`. âïž **â«ïž ð ð« ð·**.
+
+ðª ð ð â®ïž `yield` ð ïž *â®ïž* ðš ðš, [â ðâðŠº](../handling-errors.md#install-custom-exception-handlers){.internal-link target=_blank} ð âïž âª ð. ð€ ð³ ðœ â ð® ð ð ðª ð (â®ïž `yield`).
+
+, ð¥ ð ð€ `HTTPException` â®ïž `yield`, ð¢ (âïž ð ð) â ðâðŠº ð â `HTTPException`â & ðš ðºðžð 4ïžâ£0ïžâ£0ïžâ£ ðš ð ð« ð€ â ð â ð«ð.
+
+ð â«ïžâ â ð³ â ð (â
ðœ ð), ðŒ, âïž ð¥ ð.
+
+ð¥ ð ð *â®ïž* ðš âïž ðš. ð€ ð
ââ ð ð€ `HTTPException` â©ïž ð€ ð« ð ð ðš ð *⪠ðš*.
+
+âïž ð¥ ð¥ ð â ðœ â, ð ð ðª ðŸ âïž ð¬ ð ð ð â®ïž `yield`, & ð² ð¹ â âïž ð â«ïž ð° ðµ âïž.
+
+ð¥ ð âïž ð ð ð ð ðª ð€ â , ð ð/"ð" ð & ð® `try` ð« ð ð ð.
+
+ð¥ ð âïž ð â ð ð ð ð ðµ *â* ð¬ ðš & ð² â ðš, ð² ðââ `HTTPException`, â [ð â ðâðŠº](../handling-errors.md#install-custom-exception-handlers){.internal-link target=_blank}.
+
+!!! tip
+ ð ðª ð€ â ð `HTTPException` *â* `yield`. âïž ð« â®ïž.
+
+ð ð ïž ð
âïž ð ð ð ð. ð° ð§ âªïžâ¡ïž ð ð. & ð ð 1ïžâ£ ð ð âïž ð ïž ð.
+
+```mermaid
+sequenceDiagram
+
+participant client as Client
+participant handler as Exception handler
+participant dep as Dep with yield
+participant operation as Path Operation
+participant tasks as Background tasks
+
+ Note over client,tasks: Can raise exception for dependency, handled after response is sent
+ Note over client,operation: Can raise HTTPException and can change the response
+ client ->> dep: Start request
+ Note over dep: Run code up to yield
+ opt raise
+ dep -->> handler: Raise HTTPException
+ handler -->> client: HTTP error response
+ dep -->> dep: Raise other exception
+ end
+ dep ->> operation: Run dependency, e.g. DB session
+ opt raise
+ operation -->> dep: Raise HTTPException
+ dep -->> handler: Auto forward exception
+ handler -->> client: HTTP error response
+ operation -->> dep: Raise other exception
+ dep -->> handler: Auto forward exception
+ end
+ operation ->> client: Return response to client
+ Note over client,operation: Response is already sent, can't change it anymore
+ opt Tasks
+ operation -->> tasks: Send background tasks
+ end
+ opt Raise other exception
+ tasks -->> dep: Raise other exception
+ end
+ Note over dep: After yield
+ opt Handle other exception
+ dep -->> dep: Handle exception, can't change response. E.g. close DB session.
+ end
+```
+
+!!! info
+ ðŽ **1ïžâ£ ðš** ð ðš ð©âð». â«ïž ðª 1ïžâ£ â ðš âïž â«ïž ð ðš âªïžâ¡ïž *â¡ ð ïž*.
+
+ â®ïž 1ïžâ£ ð ðš ðš, ð
ââ ð ðš ðª ðš.
+
+!!! tip
+ ð ð ðŠ `HTTPException`, âïž ð ðª ð€ ð ð â â ð â [ð â ðâðŠº](../handling-errors.md#install-custom-exception-handlers){.internal-link target=_blank}.
+
+ ð¥ ð ð€ ð â , â«ïž ð ð¶ââïž ð â®ïž ðŸ, ð `HTTPException`, & â€Žïž **ð** â ðâðŠº. ð¥ ð€ ð
ââ â ðâðŠº ð â , â«ïž ð â€Žïž ðµ ð¢ ð `ServerErrorMiddleware`, ð¬ 5ïžâ£0ïžâ£0ïžâ£ ðºðžð ð ð, â¡ïž ð©âð» ð ð ð€ â ðœ.
+
+## ð ðšâðŒ
+
+### â«ïžâ "ð ðšâðŒ"
+
+"ð ðšâðŒ" ð ð ð ð ð ð ðª âïž `with` ð.
+
+ðŒ, ð ðª âïž `with` â ð:
+
+```Python
+with open("./somefile.txt") as f:
+ contents = f.read()
+ print(contents)
+```
+
+ð, `open("./somefile.txt")` â ð ð ð€ "ð ðšâðŒ".
+
+ðâ `with` ð« ð, â«ïž â ð ð ð, ð¥ ð€ â .
+
+ðâ ð â ð â®ïž `yield`, **FastAPI** ð ð ð â«ïž ð ðšâðŒ, & ð â«ïž â®ïž ð ð ð§°.
+
+### âïž ð ðšâðŒ ð â®ïž `yield`
+
+!!! warning
+ ð, ð
âïž ð, "ð§" ð.
+
+ ð¥ ð â¶ïž â®ïž **FastAPI** ð ðª ð ð¶ â«ïž ð.
+
+ð, ð ðª â ð ðšâðŒ ð ð â®ïž 2ïžâ£ ð©âð¬: `__enter__()` & `__exit__()`.
+
+ð ðª âïž ð« ð **FastAPI** ð â®ïž `yield` âïž
+`with` âïž `async with` ð ð ð ð¢:
+
+```Python hl_lines="1-9 13"
+{!../../../docs_src/dependencies/tutorial010.py!}
+```
+
+!!! tip
+ â1ïžâ£ ð â ð ðšâðŒ â®ïž:
+
+ * `@contextlib.contextmanager` âïž
+ * `@contextlib.asynccontextmanager`
+
+ âïž ð« ð ð¢ â®ïž ð `yield`.
+
+ ð â«ïžâ **FastAPI** âïž ð ð â®ïž `yield`.
+
+ âïž ð ð« âïž âïž ðšâðš FastAPI ð (& ð ð«ð ð«).
+
+ FastAPI ð â«ïž ð ð.
diff --git a/docs/em/docs/tutorial/dependencies/global-dependencies.md b/docs/em/docs/tutorial/dependencies/global-dependencies.md
new file mode 100644
index 000000000..81759d0e8
--- /dev/null
+++ b/docs/em/docs/tutorial/dependencies/global-dependencies.md
@@ -0,0 +1,17 @@
+# ð ð
+
+ð ðž ð ðª ð ð® ð ð ðž.
+
+ð ð ð ðª [ð® `dependencies` *â¡ ð ïž ðšâðš*](dependencies-in-path-operation-decorators.md){.internal-link target=_blank}, ð ðª ð® ð« `FastAPI` ðž.
+
+ð ðŒ, ð« ð â ð *â¡ ð ïž* ðž:
+
+```Python hl_lines="15"
+{!../../../docs_src/dependencies/tutorial012.py!}
+```
+
+& ð ð ð ð [â `dependencies` *â¡ ð ïž ðšâðš*](dependencies-in-path-operation-decorators.md){.internal-link target=_blank} â, âïž ð ðŒ, ð *â¡ ð ïž* ð±.
+
+## ð ðª *â¡ ð ïž*
+
+âª, ðâ ð ð â ð ðŠ ðž ([ðŠ ðž - ð ð](../../tutorial/bigger-applications.md){.internal-link target=_blank}), ð² â®ïž ð ð, ð ð ð¡ â ð£ ð `dependencies` ð¢ ðª *â¡ ð ïž*.
diff --git a/docs/em/docs/tutorial/dependencies/index.md b/docs/em/docs/tutorial/dependencies/index.md
new file mode 100644
index 000000000..f1c28c573
--- /dev/null
+++ b/docs/em/docs/tutorial/dependencies/index.md
@@ -0,0 +1,233 @@
+# ð - ð¥ ð
+
+**FastAPI** âïž ð¶ ðïž âïž ðïž **ð ð** âïž.
+
+â«ïž ð ð¶ ð
âïž, & â â«ïž ð¶ â© ð ð©âð» ð ïž ð ðŠ² â®ïž **FastAPI**.
+
+## â«ïžâ "ð ð"
+
+**"ð ð"** â, ð, ð ð€ ð ð ð (ð ðŒ, ð *â¡ ð ïž ð¢*) ð£ ð ð â«ïž ð ð· & âïž: "ð".
+
+& ‎ïž, ð âïž (ð ðŒ **FastAPI**) ð â ð
ðš â«ïžâ ðª ð ð ð â®ïž ð ðª ð ("ð" ð).
+
+ð ð¶ â ðâ ð ðª:
+
+* âïž ð° â (ð ð â ð & ð).
+* ð° ðœ ð.
+* ð ïž ðââ, ð€, ð ð, âïž.
+* & ð ð ð...
+
+ð ð«, ⪠ð ð ð.
+
+## ð¥ ð
+
+â¡ïž ð ð¶ ð
ðŒ. â«ïž ð ð
ð â«ïž ð« ð¶ â , ð.
+
+âïž ð ð ð¥ ðª ð¯ ð â **ð ð** âïž ð·.
+
+### â ð, âïž "â"
+
+â¡ïž ð¥ ð¯ ð ð.
+
+â«ïž ð¢ ð ðª â ð ð ð¢ ð *â¡ ð ïž ð¢* ðª â:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="8-11"
+ {!> ../../../docs_src/dependencies/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="6-7"
+ {!> ../../../docs_src/dependencies/tutorial001_py310.py!}
+ ```
+
+ð â«ïž.
+
+**2ïžâ£ âž**.
+
+& â«ïž âïž ð ð & ð ð ð ð *â¡ ð ïž ð¢* âïž.
+
+ð ðª ð â«ïž *â¡ ð ïž ð¢* ðµ "ðšâðš" (ðµ `@app.get("/some-path")`).
+
+& â«ïž ðª ðš ð³ ð ð.
+
+ð ðŒ, ð ð â:
+
+* ðŠ ð¢ ð¢ `q` ð `str`.
+* ðŠ ð¢ ð¢ `skip` ð `int`, & ð¢ `0`.
+* ðŠ ð¢ ð¢ `limit` ð `int`, & ð¢ `100`.
+
+& â€Žïž â«ïž ðš `dict` â ð ð².
+
+### ð `Depends`
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="3"
+ {!> ../../../docs_src/dependencies/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/dependencies/tutorial001_py310.py!}
+ ```
+
+### ð£ ð, "âïž"
+
+ð ð ð âïž `Body`, `Query`, âïž. â®ïž ð *â¡ ð ïž ð¢* ð¢, âïž `Depends` â®ïž ð ð¢:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="15 20"
+ {!> ../../../docs_src/dependencies/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="11 16"
+ {!> ../../../docs_src/dependencies/tutorial001_py310.py!}
+ ```
+
+ð ð âïž `Depends` ð¢ ð ð¢ ð ð ð âïž `Body`, `Query`, âïž, `Depends` ð· ð ð.
+
+ð ðŽ ð€ `Depends` ð ð¢.
+
+ð ð¢ ð ð³ ð ð¢.
+
+& ð ð¢ â ð¢ ð ð ð *â¡ ð ïž ð¢* .
+
+!!! tip
+ ð ð ð â«ïžâ ð "ð", âïž âªïžâ¡ïž ð¢, ðª âïž ð â ð.
+
+ðâ ð ðš ð¬, **FastAPI** ð â ð
:
+
+* ð€ ð ð ("â") ð¢ â®ïž â ð¢.
+* ð€ ð âªïžâ¡ïž ð ð¢.
+* ð ïž ð ð ð¢ ð *â¡ ð ïž ð¢*.
+
+```mermaid
+graph TB
+
+common_parameters(["common_parameters"])
+read_items["/items/"]
+read_users["/users/"]
+
+common_parameters --> read_items
+common_parameters --> read_users
+```
+
+ð ð ð â ð ð ð & **FastAPI** â ð
ð€ â«ïž ð *â¡ ð ïž*.
+
+!!! check
+ ð ð ð ð« âïž â ð ð & ð¶ââïž â«ïž ð± **FastAPI** "®" â«ïž âïž ð³ ð.
+
+ ð ð¶ââïž â«ïž `Depends` & **FastAPI** ð â ð.
+
+## `async` âïž ð« `async`
+
+ð ð ð€ **FastAPI** (ð ð *â¡ ð ïž ð¢*), ð ð« â ⪠ð¬ ð ð¢.
+
+ð ðª âïž `async def` âïž ð `def`.
+
+& ð ðª ð£ ð â®ïž `async def` ð ð `def` *â¡ ð ïž ð¢*, âïž `def` ð ð `async def` *â¡ ð ïž ð¢*, âïž.
+
+â«ïž ð« ð€. **FastAPI** ð ð â«ïžâ.
+
+!!! note
+ ð¥ ð ð« ð, â
[ð: *"ð â" *](../../async.md){.internal-link target=_blank} ð ð `async` & `await` ð©º.
+
+## ð ïž â®ïž ð
+
+ð ðš ð, ð¬ & ð ð ð (& ð§-ð) ð ð ïž ð ð ð.
+
+, ð 𩺠ð âïž ð â¹ âªïžâ¡ïž ð« ð ðââïž:
+
+
+
+## ð
âïž
+
+ð¥ ð ð â«ïž, *â¡ ð ïž ð¢* ð£ âïž ðâ *â¡* & *ð ïž* ð, & â€Žïž **FastAPI** â ð
ð€ ð¢ â®ïž â ð¢, â ð âªïžâ¡ïž ðš.
+
+ð€, ð (âïž ð) ðž ð ïž ð· ð ð ð.
+
+ð ð
ð€ ð ð¢ ð. ð« ð€ ð ð ïž (ð ðŒ, **FastAPI**).
+
+â®ïž ð ð âïž, ð ðª ð¬ **FastAPI** ð ð *â¡ ð ïž ð¢* "ðª" ð ð³ ð ð ð ð ïž â ð *â¡ ð ïž ð¢*, & **FastAPI** ð â ð
ð ïž â«ïž & "ð" ð.
+
+ð â â ð ð ð "ð ð":
+
+* â¹
+* ðâðŠº
+* ðâðŠº
+* ð
+* ðв
+
+## **FastAPI** ð-ð
+
+ð ïž & "ð-"â ðª ð âïž **ð ð** âïž. âïž ð, ð€ ð€ **ð
ââ ðª â "ð-ð"**, âïž ð â«ïž ðª ð£ ⟠ð¢ ð ïž & ð ð â¶ïžïž ðª ð *â¡ ð ïž ð¢*.
+
+& ð ðª â ð¶ ð
& ðïž ð ð â ð ð ð ðŠ ð ðª, & ð ïž ð« â®ïž ð ð ïž ð¢ ð©ââ€âðš âž ð, *ð*.
+
+ð ð ð ðŒ ð â ð, ð ð & â ðœ, ðââ, âïž.
+
+## **FastAPI** ð
+
+ðŠ ð ð âïž â **FastAPI** ð â®ïž:
+
+* ð ð ðœ
+* â ðœ
+* ð¢ ðŠ
+* ð¢ ð
+* ð€ & â âïž
+* ð ïž âïž â âïž
+* ðš ðœ ð âïž
+* âïž.
+
+## ð
& ðïž
+
+ð ð ð ð âïž ð¶ ð
ð¬ & âïž, â«ïž ð¶ ðïž.
+
+ð ðª ð¬ ð ð ð ðª ð¬ ð ð«.
+
+ð, ð ð² ð ð, & **ð ð** âïž â ð
ð¬ ð ð ð ð (& ð« ð§-ð) & ð (ð) ð ð ð.
+
+ðŒ, â¡ïž ð¬ ð âïž 4ïžâ£ ð ïž ð (*â¡ ð ïž*):
+
+* `/items/public/`
+* `/items/private/`
+* `/users/{user_id}/activate`
+* `/items/pro/`
+
+â€Žïž ð ðª ð® ð â ð ð ð« â®ïž ð & ð§-ð:
+
+```mermaid
+graph TB
+
+current_user(["current_user"])
+active_user(["active_user"])
+admin_user(["admin_user"])
+paying_user(["paying_user"])
+
+public["/items/public/"]
+private["/items/private/"]
+activate_user["/users/{user_id}/activate"]
+pro_items["/items/pro/"]
+
+current_user --> active_user
+active_user --> admin_user
+active_user --> paying_user
+
+current_user --> public
+active_user --> private
+admin_user --> activate_user
+paying_user --> pro_items
+```
+
+## ð ïž â®ïž **ð**
+
+ð ð« ð, ⪠ð£ ð« ð, ð® ð¢, ð¬, âïž. ð *â¡ ð ïž*.
+
+**FastAPI** ð â ð
ð® â«ïž ð ð ð, ð â«ïž ðŠ ð ð§Ÿ âïž.
diff --git a/docs/em/docs/tutorial/dependencies/sub-dependencies.md b/docs/em/docs/tutorial/dependencies/sub-dependencies.md
new file mode 100644
index 000000000..454ff5129
--- /dev/null
+++ b/docs/em/docs/tutorial/dependencies/sub-dependencies.md
@@ -0,0 +1,110 @@
+# ð§-ð
+
+ð ðª â ð ð âïž **ð§-ð**.
+
+ð« ðª **â¬** ð ðª ð«.
+
+**FastAPI** ð â ð
ð¬ ð«.
+
+## ð¥ ð "â"
+
+ð ðª â ð¥ ð ("â") ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="8-9"
+ {!> ../../../docs_src/dependencies/tutorial005.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="6-7"
+ {!> ../../../docs_src/dependencies/tutorial005_py310.py!}
+ ```
+
+â«ïž ð£ ðŠ ð¢ ð¢ `q` `str`, & â€Žïž â«ïž ðš â«ïž.
+
+ð ð
(ð« ð¶ â ), âïž ð â¹ ð¥ ð¯ ð â ð§-ð ð·.
+
+## ð¥ ð, "â" & "âïž"
+
+â€Žïž ð ðª â â1ïžâ£ ð ð¢ ("â") ð ð ð° ð£ ð ð® ð (â«ïž "âïž" ðââïž):
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="13"
+ {!> ../../../docs_src/dependencies/tutorial005.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="11"
+ {!> ../../../docs_src/dependencies/tutorial005_py310.py!}
+ ```
+
+â¡ïž ð¯ ð ð¢ ð£:
+
+* âïž ð ð¢ ð ("â") â«ïž, â«ïž ð£ â1ïžâ£ ð (â«ïž "ðª" ð ð³ ð).
+ * â«ïž ðª ð `query_extractor`, & ð ïž ð² ðš â«ïž ð¢ `q`.
+* â«ïž ð£ ðŠ `last_query` ðª, `str`.
+ * ð¥ ð©âð» ð« ð ð ð¢ `q`, ð¥ âïž ð ð¢ âïž, â ð¥ ð ðª â.
+
+## âïž ð
+
+â€Žïž ð¥ ðª âïž ð â®ïž:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="22"
+ {!> ../../../docs_src/dependencies/tutorial005.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="19"
+ {!> ../../../docs_src/dependencies/tutorial005_py310.py!}
+ ```
+
+!!! info
+ ð ð ð¥ ðŽ ð£ 1ïžâ£ ð *â¡ ð ïž ð¢*, `query_or_cookie_extractor`.
+
+ âïž **FastAPI** ð ð ð â«ïž âïž â `query_extractor` ð¥, ð¶ââïž ð ð `query_or_cookie_extractor` ⪠ð€ â«ïž.
+
+```mermaid
+graph TB
+
+query_extractor(["query_extractor"])
+query_or_cookie_extractor(["query_or_cookie_extractor"])
+
+read_query["/items/"]
+
+query_extractor --> query_or_cookie_extractor --> read_query
+```
+
+## âïž ð ð ð ð°
+
+ð¥ 1ïžâ£ ð ð ð£ ð ð° ð *â¡ ð ïž*, ðŒ, ð ð âïž â ð§-ð, **FastAPI** ð ð ð€ ð ð§-ð ðŽ ð ð ðš.
+
+& â«ïž ð ð ðš ð² "ðŸ" & ð¶ââïž â«ïž ð "âïž" ð ðª â«ïž ð ð¯ ðš, â©ïž ð€ ð ð ð° ð ðš.
+
+ð§ ð ðâ ð ð ð ðª ð ð€ ð ð (ð² ð ð°) ð ðš â©ïž âïž "ðŸ" ð², ð ðª â ð¢ `use_cache=False` ðâ âïž `Depends`:
+
+```Python hl_lines="1"
+async def needy_dependency(fresh_value: str = Depends(get_value, use_cache=False)):
+ return {"fresh_value": fresh_value}
+```
+
+## ð
+
+âïž âªïžâ¡ïž ð ð ð€ âïž ð¥, **ð ð** âïž ð
.
+
+ð¢ ð ð ð *â¡ ð ïž ð¢*.
+
+âïž, â«ïž ð¶ ðïž, & â ð ð£ ð² ð ðŠ ð "ð" (ð²).
+
+!!! tip
+ ð ð ðª ð« ð â â®ïž ð« ð
ðŒ.
+
+ âïž ð ð ð â â â«ïž ð ð **ðââ**.
+
+ & ð ð ð ðž ð â«ïž ð ð ð.
diff --git a/docs/em/docs/tutorial/encoder.md b/docs/em/docs/tutorial/encoder.md
new file mode 100644
index 000000000..75ca3824d
--- /dev/null
+++ b/docs/em/docs/tutorial/encoder.md
@@ -0,0 +1,42 @@
+# ð» ð ð¢
+
+ð€ ðŒ ðâ ð 5ïžâ£ð ðª ð ðœ ð (ð Pydantic ð·) ð³ ð â®ïž ð» (ð `dict`, `list`, âïž).
+
+ðŒ, ð¥ ð ðª ðª â«ïž ðœ.
+
+ð, **FastAPI** ð `jsonable_encoder()` ð¢.
+
+## âïž `jsonable_encoder`
+
+â¡ïž ð ð ð âïž ðœ `fake_db` ð ðŽ ðš ð» ð ðœ.
+
+ðŒ, â«ïž ð« ðš `datetime` ð, ð ð« ð â®ïž ð».
+
+, `datetime` ð ð âïž ð `str` â ðœ ðŸ ð.
+
+ð ð, ð ðœ ð«ð ðš Pydantic ð· (ð â®ïž ð¢), ðŽ `dict`.
+
+ð ðª âïž `jsonable_encoder` ð.
+
+â«ïž ðš ð, ð Pydantic ð·, & ðš ð» ð â¬:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="5 22"
+ {!> ../../../docs_src/encoder/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="4 21"
+ {!> ../../../docs_src/encoder/tutorial001_py310.py!}
+ ```
+
+ð ðŒ, â«ïž ð ð Pydantic ð· `dict`, & `datetime` `str`.
+
+ð ð€ â«ïž ð³ ð ðª ð â®ïž ð ð© `json.dumps()`.
+
+â«ïž ð« ðš â `str` â ðœ ð» ð (ð»). â«ïž ðš ð ð© ðœ ð (â
`dict`) â®ïž ð² & ð§-ð² ð ð ð â®ïž ð».
+
+!!! note
+ `jsonable_encoder` ð€ âïž **FastAPI** ð ð ðœ. âïž â«ïž â ð ð ð.
diff --git a/docs/em/docs/tutorial/extra-data-types.md b/docs/em/docs/tutorial/extra-data-types.md
new file mode 100644
index 000000000..dfdf6141b
--- /dev/null
+++ b/docs/em/docs/tutorial/extra-data-types.md
@@ -0,0 +1,82 @@
+# â ðœ ð
+
+ð ð, ð âïž âïž â ð ð, ð:
+
+* `int`
+* `float`
+* `str`
+* `bool`
+
+âïž ð ðª âïž ð
ð ð ð.
+
+& ð ð âïž ð â ð ð ð:
+
+* ð ðšâðš ðâðŠº.
+* ðœ ð ïž âªïžâ¡ïž ðš ðš.
+* ðœ ð ïž ðš ðœ.
+* ðœ ð¬.
+* ð§ â & ð§Ÿ.
+
+## ð ðœ ð
+
+ð¥ ð ð ð ð ðª âïž:
+
+* `UUID`:
+ * ð© "â ð ð", â ð ð ðœ & âïž.
+ * ðš & ðš ð ðš `str`.
+* `datetime.datetime`:
+ * ð `datetime.datetime`.
+ * ðš & ðš ð ðš `str` ðŸ 8ïžâ£6ïžâ£0ïžâ£1ïžâ£ ð, ð: `2008-09-15T15:53:00+05:00`.
+* `datetime.date`:
+ * ð `datetime.date`.
+ * ðš & ðš ð ðš `str` ðŸ 8ïžâ£6ïžâ£0ïžâ£1ïžâ£ ð, ð: `2008-09-15`.
+* `datetime.time`:
+ * ð `datetime.time`.
+ * ðš & ðš ð ðš `str` ðŸ 8ïžâ£6ïžâ£0ïžâ£1ïžâ£ ð, ð: `14:23:55.003`.
+* `datetime.timedelta`:
+ * ð `datetime.timedelta`.
+ * ðš & ðš ð ðš `float` ð ð¥.
+ * Pydantic â ðŠ â«ïž "ðŸ 8ïžâ£6ïžâ£0ïžâ£1ïžâ£ ð° â ð¢", ð 𩺠ð
â¹.
+* `frozenset`:
+ * ðš & ðš, ð¥ ð `set`:
+ * ðš, ð ð â, â â & ð â«ïž `set`.
+ * ðš, `set` ð ð `list`.
+ * ð ð ð â ð `set` ð² ð (âïž ð» ð `uniqueItems`).
+* `bytes`:
+ * ð© ð `bytes`.
+ * ðš & ðš ð ð¥ `str`.
+ * ð ð ð â ð â«ïž `str` â®ïž `binary` "ð".
+* `Decimal`:
+ * ð© ð `Decimal`.
+ * ðš & ðš, ðµ ð `float`.
+* ð ðª â
ð â Pydantic ð ð ð¥: Pydantic ð ð.
+
+## ðŒ
+
+ð¥ ðŒ *â¡ ð ïž* â®ïž ð¢ âïž ð ð.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="1 3 12-16"
+ {!> ../../../docs_src/extra_data_types/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="1 2 11-15"
+ {!> ../../../docs_src/extra_data_types/tutorial001_py310.py!}
+ ```
+
+ð ð ð¢ ð ð¢ âïž ð« ð ðœ ð, & ð ðª, ðŒ, ð ð ð
ð, ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="18-19"
+ {!> ../../../docs_src/extra_data_types/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="17-18"
+ {!> ../../../docs_src/extra_data_types/tutorial001_py310.py!}
+ ```
diff --git a/docs/em/docs/tutorial/extra-models.md b/docs/em/docs/tutorial/extra-models.md
new file mode 100644
index 000000000..06c36285d
--- /dev/null
+++ b/docs/em/docs/tutorial/extra-models.md
@@ -0,0 +1,252 @@
+# â ð·
+
+â¶ïž â®ïž â®ïž ðŒ, â«ïž ð â âïž ð
ð 1ïžâ£ ð ð·.
+
+ð âŽïž ðŒ ð©âð» ð·, â©ïž:
+
+* **ð¢ ð·** ðª ðª âïž ð.
+* **ð¢ ð·** ð ð« âïž ð.
+* **ðœ ð·** ð ð² ðª âïž #ïžâ£ ð.
+
+!!! danger
+ ð
ðª ð©âð» ð¢ ð. ð§ ðª "ð #ïžâ£" ð ð ðª â€Žïž â.
+
+ ð¥ ð ð« ð, ð ð ð¡ â«ïžâ "ð#ïžâ£" [ðââ ð](security/simple-oauth2.md#password-hashing){.internal-link target=_blank}.
+
+## ð ð·
+
+ð¥ ð¢ ð â ð· ðª ð ð â®ïž ð« ð ð & ð¥ ðâ ð« âïž:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9 11 16 22 24 29-30 33-35 40-41"
+ {!> ../../../docs_src/extra_models/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7 9 14 20 22 27-28 31-33 38-39"
+ {!> ../../../docs_src/extra_models/tutorial001_py310.py!}
+ ```
+
+### ð `**user_in.dict()`
+
+#### Pydantic `.dict()`
+
+`user_in` Pydantic ð· ð `UserIn`.
+
+Pydantic ð· âïž `.dict()` ð©âð¬ ð ðš `dict` â®ïž ð· ðœ.
+
+, ð¥ ð¥ â Pydantic ð `user_in` ð:
+
+```Python
+user_in = UserIn(username="john", password="secret", email="john.doe@example.com")
+```
+
+& â€Žïž ð¥ ð€:
+
+```Python
+user_dict = user_in.dict()
+```
+
+ð¥ ð âïž `dict` â®ïž ðœ ð¢ `user_dict` (â«ïž `dict` â©ïž Pydantic ð· ð).
+
+& ð¥ ð¥ ð€:
+
+```Python
+print(user_dict)
+```
+
+ð¥ ð ð€ ð `dict` â®ïž:
+
+```Python
+{
+ 'username': 'john',
+ 'password': 'secret',
+ 'email': 'john.doe@example.com',
+ 'full_name': None,
+}
+```
+
+#### ð `dict`
+
+ð¥ ð¥ â `dict` ð `user_dict` & ð¶ââïž â«ïž ð¢ (âïž ð) â®ïž `**user_dict`, ð ð "ð" â«ïž. â«ïž ð ð¶ââïž ð & ð² `user_dict` ð ð-ð² â.
+
+, â¶ïž â®ïž `user_dict` âªïžâ¡ïž ð, â:
+
+```Python
+UserInDB(**user_dict)
+```
+
+ð ð ð³ ð:
+
+```Python
+UserInDB(
+ username="john",
+ password="secret",
+ email="john.doe@example.com",
+ full_name=None,
+)
+```
+
+âïž ð
â«ïžâ, âïž `user_dict` ð, â®ïž â«ïžâ ð â«ïž ðª âïž ð®:
+
+```Python
+UserInDB(
+ username = user_dict["username"],
+ password = user_dict["password"],
+ email = user_dict["email"],
+ full_name = user_dict["full_name"],
+)
+```
+
+#### Pydantic ð· âªïžâ¡ïž ð â1ïžâ£
+
+ðŒ ð ð¥ ð€ `user_dict` âªïžâ¡ïž `user_in.dict()`, ð ð:
+
+```Python
+user_dict = user_in.dict()
+UserInDB(**user_dict)
+```
+
+ð ð:
+
+```Python
+UserInDB(**user_in.dict())
+```
+
+...â©ïž `user_in.dict()` `dict`, & â€Žïž ð¥ â ð "ð" â«ïž ð¶ââïž â«ïž `UserInDB` ð â®ïž `**`.
+
+, ð¥ ð€ Pydantic ð· âªïžâ¡ïž ðœ â1ïžâ£ Pydantic ð·.
+
+#### ð `dict` & â ðšð»
+
+& â€Žïž â â ðšð» â `hashed_password=hashed_password`, ð:
+
+```Python
+UserInDB(**user_in.dict(), hashed_password=hashed_password)
+```
+
+...ð ð ðââ ð:
+
+```Python
+UserInDB(
+ username = user_dict["username"],
+ password = user_dict["password"],
+ email = user_dict["email"],
+ full_name = user_dict["full_name"],
+ hashed_password = hashed_password,
+)
+```
+
+!!! warning
+ ð ð ð¢ ð€ ðª ð§ ðœ, âïž ð« âïž ð« ð ð ð° ðââ.
+
+## ð â
+
+ð ð â 1ïžâ£ ð ð **FastAPI**.
+
+ð â ð ð€ ð, ðââ â, ð ð â (ðâ ð â¹ 1ïžâ£ ð¥ âïž ð« ð), âïž.
+
+& ð ð· ð ð€ ð ðœ & â ð¢ ð & ð.
+
+ð¥ ðª ð».
+
+ð¥ ðª ð£ `UserBase` ð· ð ðŠ ð§¢ ð ð ð·. & â€Žïž ð¥ ðª â ð¿ ð ð· ð ð ð® ð¢ (ð ð, ð¬, âïž).
+
+ð ðœ ð ïž, ð¬, ð§Ÿ, âïž. ð ð· ð.
+
+ð ð, ð¥ ðª ð£ ðº ð ð· (â®ïž ð¢ `password`, â®ïž `hashed_password` & ðµ ð):
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9 15-16 19-20 23-24"
+ {!> ../../../docs_src/extra_models/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7 13-14 17-18 21-22"
+ {!> ../../../docs_src/extra_models/tutorial002_py310.py!}
+ ```
+
+## `Union` âïž `anyOf`
+
+ð ðª ð£ ðš `Union` 2ïžâ£ ð, ð â, ð ðš ð ð 2ïžâ£.
+
+â«ïž ð ð¬ ð â®ïž `anyOf`.
+
+ð, âïž ð© ð ð ð `typing.Union`:
+
+!!! note
+ ðâ â `Union`, ð ð ð¯ ð ð¥, â© ð ð¯ ð. ðŒ ð, ð ð¯ `PlaneItem` ð â `CarItem` `Union[PlaneItem, CarItem]`.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="1 14-15 18-20 33"
+ {!> ../../../docs_src/extra_models/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="1 14-15 18-20 33"
+ {!> ../../../docs_src/extra_models/tutorial003_py310.py!}
+ ```
+
+### `Union` ð 3ïžâ£.1ïžâ£0ïžâ£
+
+ð ðŒ ð¥ ð¶ââïž `Union[PlaneItem, CarItem]` ð² â `response_model`.
+
+â©ïž ð¥ ð¶ââïž â«ïž **ð² â** â©ïž ð® â«ïž **ð â**, ð¥ âïž âïž `Union` ð 3ïžâ£.1ïžâ£0ïžâ£.
+
+ð¥ â«ïž ð â ð¥ ðª âïž âïž âž âž,:
+
+```Python
+some_variable: PlaneItem | CarItem
+```
+
+âïž ð¥ ð¥ ð® ð `response_model=PlaneItem | CarItem` ð¥ ð ð€ â, â©ïž ð ð ð ð **â ð ïž** ð `PlaneItem` & `CarItem` â©ïž ð¬ ð ð â.
+
+## ð ð·
+
+ð ð, ð ðª ð£ ðš ð ð.
+
+ð, âïž ð© ð `typing.List` (âïž `list` ð 3ïžâ£.9ïžâ£ & ð):
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="1 20"
+ {!> ../../../docs_src/extra_models/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="18"
+ {!> ../../../docs_src/extra_models/tutorial004_py39.py!}
+ ```
+
+## ðš â®ïž â `dict`
+
+ð ðª ð£ ðš âïž â
â `dict`, ð£ ð ð & ð², ðµ âïž Pydantic ð·.
+
+ð â ð¥ ð ð« ð â ð/ð¢ ð (ð ð ðª Pydantic ð·) âª.
+
+ð ðŒ, ð ðª âïž `typing.Dict` (âïž `dict` ð 3ïžâ£.9ïžâ£ & ð):
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="1 8"
+ {!> ../../../docs_src/extra_models/tutorial005.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="6"
+ {!> ../../../docs_src/extra_models/tutorial005_py39.py!}
+ ```
+
+## ð
+
+âïž ð Pydantic ð· & ð â¡ ð ðŒ.
+
+ð ð« ðª âïž ð ðœ ð· ð ðšâðŒ ð¥ ð ðšâðŒ ð ðª âïž ð "ðµðž". ðŒ â®ïž ð©âð» "ðšâðŒ" â®ïž ðµðž â
`password`, `password_hash` & ð
ââ ð.
diff --git a/docs/em/docs/tutorial/first-steps.md b/docs/em/docs/tutorial/first-steps.md
new file mode 100644
index 000000000..252e769f4
--- /dev/null
+++ b/docs/em/docs/tutorial/first-steps.md
@@ -0,0 +1,333 @@
+# ð¥ ð
+
+ð
FastAPI ð ðª ð ð ð:
+
+```Python
+{!../../../docs_src/first_steps/tutorial001.py!}
+```
+
+ð ð ð `main.py`.
+
+ð ð ðœ:
+
+get ð ïž
+
+!!! info "`@decorator` â¹"
+ ð `@something` â ð ð€ "ðšâðš".
+
+ ð ð® â«ïž ð ð ð¢. ð ð¶ ð ð (ð€ ð ð ðâ â ð âªïžâ¡ïž).
+
+ "ðšâðš" â ð¢ ð & ðš ð³ â®ïž â«ïž.
+
+ ð ðŒ, ð ðšâðš ð¬ **FastAPI** ð ð¢ ð ð **â¡** `/` â®ïž **ð ïž** `get`.
+
+ â«ïž "**â¡ ð ïž ðšâðš**".
+
+ð ðª âïž ð ð ïž:
+
+* `@app.post()`
+* `@app.put()`
+* `@app.delete()`
+
+& ð
ð ð:
+
+* `@app.options()`
+* `@app.head()`
+* `@app.patch()`
+* `@app.trace()`
+
+!!! tip
+ ð ð âïž ð ð ïž (ðºðžð ð©âð¬) ð ð.
+
+ **FastAPI** ð« ð ïž ð ð¯ ð.
+
+ â¹ ð¥ ð ð, ð« ð.
+
+ ðŒ, ðâ âïž ð¹ ð ð ð ð ð¯ âïž ðŽ `POST` ð ïž.
+
+### ð 4ïžâ£: ð¬ **â¡ ð ïž ð¢**
+
+ð ð "**â¡ ð ïž ð¢**":
+
+* **â¡**: `/`.
+* **ð ïž**: `get`.
+* **ð¢**: ð¢ ð "ðšâðš" (ð `@app.get("/")`).
+
+```Python hl_lines="7"
+{!../../../docs_src/first_steps/tutorial001.py!}
+```
+
+ð ð ð¢.
+
+â«ïž ð ð€ **FastAPI** ðâ â«ïž ðš ðš ð "`/`" âïž `GET` ð ïž.
+
+ð ðŒ, â«ïž `async` ð¢.
+
+---
+
+ð ðª ð¬ â«ïž ð ð¢ â©ïž `async def`:
+
+```Python hl_lines="7"
+{!../../../docs_src/first_steps/tutorial003.py!}
+```
+
+!!! note
+ ð¥ ð ð« ð ðº, â
[ð: *"ð â"*](../async.md#in-a-hurry){.internal-link target=_blank}.
+
+### ð 5ïžâ£: ðš ð
+
+```Python hl_lines="8"
+{!../../../docs_src/first_steps/tutorial001.py!}
+```
+
+ð ðª ðš `dict`, `list`, â ð² `str`, `int`, âïž.
+
+ð ðª ðš Pydantic ð· (ð ð ð ð
ð ð âª).
+
+ð€ ð ð ð & ð· ð ð ð ð ð» (ð ð, âïž). ð âïž ð ð ð, â«ïž ð ð² ð ð« ⪠ðâðŠº.
+
+## ð
+
+* ð `FastAPI`.
+* â `app` ð.
+* â **â¡ ð ïž ðšâðš** (ð `@app.get("/")`).
+* â **â¡ ð ïž ð¢** (ð `def root(): ...` ð).
+* ð ð ïž ðœ (ð `uvicorn main:app --reload`).
diff --git a/docs/em/docs/tutorial/handling-errors.md b/docs/em/docs/tutorial/handling-errors.md
new file mode 100644
index 000000000..ef7bbfa65
--- /dev/null
+++ b/docs/em/docs/tutorial/handling-errors.md
@@ -0,0 +1,261 @@
+# ð â
+
+ð€ ð â ðâ ð ðª ðš â ð©âð» ð âïž ð ð ïž.
+
+ð ð©âð» ðª ð¥ â®ïž ðž, ð âªïžâ¡ïž ð± ð, â ð³, âïž.
+
+ð ðª ðª ð¬ ð©âð» ð:
+
+* ð©âð» ð« âïž ð¥ ð ð ð ïž.
+* ð©âð» ð« âïž ð ð â¹.
+* ð¬ ð©âð» ð ð ð« ð.
+* âïž.
+
+ð« ðŒ, ð ð ð ðš **ðºðžð ð ð** â **4ïžâ£0ïžâ£0ïžâ£** (âªïžâ¡ïž 4ïžâ£0ïžâ£0ïžâ£ 4ïžâ£9ïžâ£9ïžâ£).
+
+ð ð 2ïžâ£0ïžâ£0ïžâ£ ðºðžð ð ð (âªïžâ¡ïž 2ïžâ£0ïžâ£0ïžâ£ 2ïžâ£9ïžâ£9ïžâ£). ð "2ïžâ£0ïžâ£0ïžâ£" ð ð â ð ð« ð€ "ð" ðš.
+
+ð ð 4ïžâ£0ïžâ£0ïžâ£ â â ð ð€ â âªïžâ¡ïž ð©âð».
+
+ð ð ð **"4ïžâ£0ïžâ£4ïžâ£ ð« ð"** â (& ð€£) â
+
+## âïž `HTTPException`
+
+ðš ðºðžð ðš â®ïž â ð©âð» ð âïž `HTTPException`.
+
+### ð `HTTPException`
+
+```Python hl_lines="1"
+{!../../../docs_src/handling_errors/tutorial001.py!}
+```
+
+### ð€ `HTTPException` ð ð
+
+`HTTPException` ð ð â â®ïž ð ð ð ð.
+
+â©ïž â«ïž ð â , ð ð« `return` â«ïž, ð `raise` â«ïž.
+
+ð â ð ð¥ ð ð ð ð¢ ð ð ð€ ð ð *â¡ ð ïž ð¢*, & ð ð€ `HTTPException` âªïžâ¡ïž ð ð ð ð¢, â«ïž ð ð« ð ð ð *â¡ ð ïž ð¢*, â«ïž ð â ð ðš â¶ïžïž âïž & ðš ðºðžð â âªïžâ¡ïž `HTTPException` ð©âð».
+
+ð° ðââ â ð€ `return`ð
ð² ð ð â ð ð ð & ðââ.
+
+ð ðŒ, ðâ ð©âð» ðš ð¬ ð ð ð« ð, ð€ â â®ïž ð ð `404`:
+
+```Python hl_lines="11"
+{!../../../docs_src/handling_errors/tutorial001.py!}
+```
+
+### ð ðš
+
+ð¥ ð©âð» ðš `http://example.com/items/foo` ( `item_id` `"foo"`), ð ð©âð» ð ðš ðºðžð ð ð 2ïžâ£0ïžâ£0ïžâ£, & ð» ðš:
+
+```JSON
+{
+ "item": "The Foo Wrestlers"
+}
+```
+
+âïž ð¥ ð©âð» ðš `http://example.com/items/bar` (ð«-ð« `item_id` `"bar"`), ð ð©âð» ð ðš ðºðžð ð ð 4ïžâ£0ïžâ£4ïžâ£ ("ð« ð" â), & ð» ðš:
+
+```JSON
+{
+ "detail": "Item not found"
+}
+```
+
+!!! tip
+ ðâ ðââ `HTTPException`, ð ðª ð¶ââïž ð ð² ð ðª ð ð» ð¢ `detail`, ð« ðŽ `str`.
+
+ ð ðª ð¶ââïž `dict`, `list`, âïž.
+
+ ð« ðµ ð **FastAPI** & ð ð».
+
+## ð® ð ð
+
+ð€ â ðâ â«ïž â ðª ð® ð ð ðºðžð â. ðŒ, ð ðââ.
+
+ð ð² ð ð« ðª âïž â«ïž ð ð ð.
+
+âïž ðŒ ð ðª â«ïž ð§ ð, ð ðª ð® ð ð:
+
+```Python hl_lines="14"
+{!../../../docs_src/handling_errors/tutorial002.py!}
+```
+
+## â ð â ðâðŠº
+
+ð ðª ð® ð â ðâðŠº â®ïž ð â ð âªïžâ¡ïž ð.
+
+â¡ïž ð¬ ð âïž ð â `UnicornException` ð ð (âïž ð ð âïž) ðª `raise`.
+
+& ð ð ðµ ð â ð â®ïž FastAPI.
+
+ð ðª ð® ð â ðâðŠº â®ïž `@app.exception_handler()`:
+
+```Python hl_lines="5-7 13-18 24"
+{!../../../docs_src/handling_errors/tutorial003.py!}
+```
+
+ð¥, ð¥ ð ðš `/unicorns/yolo`, *â¡ ð ïž* ð `raise` `UnicornException`.
+
+âïž â«ïž ð ðµ `unicorn_exception_handler`.
+
+, ð ð ðš ð§¹ â, â®ïž ðºðžð ð ð `418` & ð» ð:
+
+```JSON
+{"message": "Oops! yolo did something. There goes a rainbow..."}
+```
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.requests import Request` & `from starlette.responses import JSONResponse`.
+
+ **FastAPI** ð ð `starlette.responses` `fastapi.responses` ðª ð, ð©âð». âïž ð
ðª ðš ð ð âªïžâ¡ïž ð. ð â®ïž `Request`.
+
+## ð ð¢ â ðâðŠº
+
+**FastAPI** âïž ð¢ â ðâðŠº.
+
+ð« ðâðŠº ð ð¬ ð¢ ð» ðš ðâ ð `raise` `HTTPException` & ðâ ðš âïž â ðœ.
+
+ð ðª ð ð« â ðâðŠº â®ïž ð ð.
+
+### ð ðš ð¬ â
+
+ðâ ðš ð â ð, **FastAPI** ð ð€ `RequestValidationError`.
+
+& â«ïž ð ð¢ â ðâðŠº â«ïž.
+
+ð â«ïž, ð `RequestValidationError` & âïž â«ïž â®ïž `@app.exception_handler(RequestValidationError)` ð â ðâðŠº.
+
+â ðâðŠº ð ðš `Request` & â .
+
+```Python hl_lines="2 14-16"
+{!../../../docs_src/handling_errors/tutorial004.py!}
+```
+
+ð, ð¥ ð ð¶ `/items/foo`, â©ïž ðââ ð¢ ð» â â®ïž:
+
+```JSON
+{
+ "detail": [
+ {
+ "loc": [
+ "path",
+ "item_id"
+ ],
+ "msg": "value is not a valid integer",
+ "type": "type_error.integer"
+ }
+ ]
+}
+```
+
+ð ð ð€ â â¬, â®ïž:
+
+```
+1 validation error
+path -> item_id
+ value is not a valid integer (type=type_error.integer)
+```
+
+#### `RequestValidationError` ð `ValidationError`
+
+!!! warning
+ ð« ð¡ â¹ ð ð ðª ð¶ ð¥ â«ïž ð« â ð ð.
+
+`RequestValidationError` ð§-ð Pydantic `ValidationError`.
+
+**FastAPI** âïž â«ïž ð, ð¥ ð âïž Pydantic ð· `response_model`, & ð ðœ âïž â, ð ð ð â ð ð¹.
+
+âïž ð©âð»/ð©âð» ð ð« ð â«ïž. â©ïž, ð©âð» ð ðš "ð ðœ â" â®ïž ðºðžð ð ð `500`.
+
+â«ïž ð ð ð â©ïž ð¥ ð âïž Pydantic `ValidationError` ð *ðš* âïž ð ð ð (ð« ð©âð» *ðš*), â«ïž ð€ ð ð ð.
+
+& ⪠ð ð§ â«ïž, ð ð©âð»/ð©âð» ð«ð ð« âïž ð ð â¹ ð â, ð ðª ðŠ ðââ â .
+
+### ð `HTTPException` â ðâðŠº
+
+ð ð, ð ðª ð `HTTPException` ðâðŠº.
+
+ðŒ, ð ðª ð ðš â
â ðš â©ïž ð» ð« â:
+
+```Python hl_lines="3-4 9-11 22"
+{!../../../docs_src/handling_errors/tutorial004.py!}
+```
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.responses import PlainTextResponse`.
+
+ **FastAPI** ð ð `starlette.responses` `fastapi.responses` ðª ð, ð©âð». âïž ð
ðª ðš ð ð âªïžâ¡ïž ð.
+
+### âïž `RequestValidationError` ðª
+
+`RequestValidationError` ð `body` â«ïž ðš â®ïž â ðœ.
+
+ð ðª âïž â«ïž ⪠ð ïž ð ð± ð¹ ðª & â¹ â«ïž, ðš â«ïž ð©âð», âïž.
+
+```Python hl_lines="14"
+{!../../../docs_src/handling_errors/tutorial005.py!}
+```
+
+ð ð ðš â ð¬ ð:
+
+```JSON
+{
+ "title": "towel",
+ "size": "XL"
+}
+```
+
+ð ð ðš ðš ð¬ ð ð ðœ â â ðš ðª:
+
+```JSON hl_lines="12-15"
+{
+ "detail": [
+ {
+ "loc": [
+ "body",
+ "size"
+ ],
+ "msg": "value is not a valid integer",
+ "type": "type_error.integer"
+ }
+ ],
+ "body": {
+ "title": "towel",
+ "size": "XL"
+ }
+}
+```
+
+#### FastAPI `HTTPException` ð ð `HTTPException`
+
+**FastAPI** âïž ð® ð `HTTPException`.
+
+& **FastAPI**'â `HTTPException` â ð ð âªïžâ¡ïž ð `HTTPException` â ð.
+
+ðŽ ðº, ð **FastAPI**'â `HTTPException` â ð ð® ð ð ðš.
+
+ð ðª/âïž ð â³ 2ïžâ£.0ïžâ£ & ðââ ð.
+
+, ð ðª ð§ ðââ **FastAPI**'â `HTTPException` ð ð ð.
+
+âïž ðâ ð ® â ðâðŠº, ð ð ® â«ïž ð `HTTPException`.
+
+ð ð, ð¥ ð ð ð ð ð, âïž ð â âïž ð -, ð€ ð `HTTPException`, ð ðâðŠº ð ðª â & ðµ â«ïž.
+
+ð ðŒ, ðª âïž ð¯ââïž `HTTPException`â ð ð, ð â ð `StarletteHTTPException`:
+
+```Python
+from starlette.exceptions import HTTPException as StarletteHTTPException
+```
+
+### ð€-âïž **FastAPI**'â â ðâðŠº
+
+ð¥ ð ð âïž â â€Žïž â®ïž ð ð¢ â ðâðŠº âªïžâ¡ïž **FastAPI**, ð ðª ð & ð€-âïž ð¢ â ðâðŠº âªïžâ¡ïž `fastapi.exception_handlers`:
+
+```Python hl_lines="2-5 15 21"
+{!../../../docs_src/handling_errors/tutorial006.py!}
+```
+
+ð ðŒ ð `print`ð
â â®ïž ð¶ ðš ð§, âïž ð ð€ ð. ð ðª âïž â & â€Žïž ð€-âïž ð¢ â ðâðŠº.
diff --git a/docs/em/docs/tutorial/header-params.md b/docs/em/docs/tutorial/header-params.md
new file mode 100644
index 000000000..0f33a1774
--- /dev/null
+++ b/docs/em/docs/tutorial/header-params.md
@@ -0,0 +1,128 @@
+# ð ð¢
+
+ð ðª ð¬ ð ð¢ ð ð ð ð¬ `Query`, `Path` & `Cookie` ð¢.
+
+## ð `Header`
+
+ð¥ ð `Header`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="3"
+ {!> ../../../docs_src/header_params/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/header_params/tutorial001_py310.py!}
+ ```
+
+## ð£ `Header` ð¢
+
+â€Žïž ð£ ð ð¢ âïž ð ð â®ïž `Path`, `Query` & `Cookie`.
+
+ð¥ ð² ð¢ ð², ð ðª ð¶ââïž ð â ð¬ âïž â ð¢:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/header_params/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/header_params/tutorial001_py310.py!}
+ ```
+
+!!! note "ð¡ â¹"
+ `Header` "ð" ð `Path`, `Query` & `Cookie`. â«ïž ð âªïžâ¡ïž ð â `Param` ð.
+
+ âïž ð ð ðâ ð ð `Query`, `Path`, `Header`, & ð âªïžâ¡ïž `fastapi`, ð ð€ ð¢ ð ðš ð ð.
+
+!!! info
+ ð£ ð, ð ðª âïž `Header`, â©ïž ⪠ð¢ ð ð¬ ð¢ ð¢.
+
+## ð§ ð ïž
+
+`Header` âïž ð¥ â ð ïž ð ð â«ïžâ `Path`, `Query` & `Cookie` ð.
+
+ð
ð© ð ð "ð " ðй, ð "â ð£" (`-`).
+
+âïž ð¢ ð `user-agent` â ð.
+
+, ð¢, `Header` ð ð ð¢ ð ðŠ¹ âªïžâ¡ïž ðŠ (`_`) ð (`-`) â & ð ð.
+
+, ðºðžð ð ðŒ-ð,, ð ðª ð£ ð« â®ïž ð© ð ð (ð "ð¡").
+
+, ð ðª âïž `user_agent` ð ð ð ð ð, â©ïž ðââ ð¯ ð¥ ð€ `User_Agent` âïž ð³ ð.
+
+ð¥ ð€ ð ðª â ð§ ð ïž ðŠ ð , â ð¢ `convert_underscores` `Header` `False`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/header_params/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="8"
+ {!> ../../../docs_src/header_params/tutorial002_py310.py!}
+ ```
+
+!!! warning
+ â â `convert_underscores` `False`, ð» ð€¯ ð ðºðžð ð³ & ðœ / âïž ð â®ïž ðŠ.
+
+## â ð
+
+â«ïž ðª ðš â ð. ð â, ð ð â®ïž ð ð².
+
+ð ðª ð¬ ð ðŒ âïž ð ð ð.
+
+ð ð ðš ð ð² âªïžâ¡ïž â ð ð `list`.
+
+ðŒ, ð£ ð `X-Token` ð ðª ð ð
ð ð, ð ðª â:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/header_params/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/header_params/tutorial003_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/header_params/tutorial003_py310.py!}
+ ```
+
+ð¥ ð ð â®ïž ð *â¡ ð ïž* ðš 2ïžâ£ ðºðžð ð ð:
+
+```
+X-Token: foo
+X-Token: bar
+```
+
+ðš ð ð:
+
+```JSON
+{
+ "X-Token values": [
+ "bar",
+ "foo"
+ ]
+}
+```
+
+## ð
+
+ð£ ð â®ïž `Header`, âïž ð â â `Query`, `Path` & `Cookie`.
+
+& ð« ð ð ðŠ ð ð¢, **FastAPI** ð â ð
ð ð«.
diff --git a/docs/em/docs/tutorial/index.md b/docs/em/docs/tutorial/index.md
new file mode 100644
index 000000000..8536dc3ee
--- /dev/null
+++ b/docs/em/docs/tutorial/index.md
@@ -0,0 +1,80 @@
+# ð° - ð©âð» ðŠ® - ð¶
+
+ð ð° ðŠ ð â âïž **FastAPI** â®ïž ð
ð® â, ð ð.
+
+ð ð ð ð ð â®ïž ð, âïž â«ïž ð ð â, ð ð ðª ð¶ ð ð ð¯ 1ïžâ£ â ð ð¯ ð ïž ðª.
+
+â«ïž ð ð· ð® ð.
+
+ð ðª ð ð & ð â«ïžâ â«ïžâ ð ðª.
+
+## ð ð
+
+ð ð ð« ðª ð & âïž ð (ð« ð€ ð¯ ð ð).
+
+ð ð ðŒ, ð ð ð `main.py`, & â¶ïž `uvicorn` â®ïž:
+
+contact ð| ð¢ | ð | ð |
|---|---|---|
name | str | â ð ð§ ðšâðŒ/ð¢. |
url | str | ð â ð§ â¹. ð ð ð. |
email | str | ð§ ð¢ ð§ ðšâðŒ/ð¢. ð ð ð§ ð¢. |
license_info ð| ð¢ | ð | ð |
|---|---|---|
name | str | ð (ð¥ license_info â). ð ð âïž ð ïž. |
url | str | ð ð âïž ð ïž. ð ð ð. |
+
+## ð ð
+
+ð ðª ð® ð ð ð ð âïž ðª ð â¡ ð ïž â®ïž ð¢ `openapi_tags`.
+
+â«ïž â ð â 1ïžâ£ ð ð ð.
+
+ð ð ðª ð:
+
+* `name` (**â**): `str` â®ïž ð ð ð âïž `tags` ð¢ ð *â¡ ð ïž* & `APIRouter`â.
+* `description`: `str` â®ïž ð ð ð. â«ïž ðª âïž â & ð ðŠ ð©º ð.
+* `externalDocs`: `dict` ð¬ ð¢ ð§Ÿ â®ïž:
+ * `description`: `str` â®ïž ð ð ð¢ ð©º.
+ * `url` (**â**): `str` â®ïž ð ð¢ ð§Ÿ.
+
+### â ð ð
+
+â¡ïž ð ð ðŒ â®ïž ð `users` & `items`.
+
+â ð ð ð & ð¶ââïž â«ïž `openapi_tags` ð¢:
+
+```Python hl_lines="3-16 18"
+{!../../../docs_src/metadata/tutorial004.py!}
+```
+
+ð ð ð ðª âïž â ð ð, ðŒ "ð³" ð ðŠ ðŠ (**ð³**) & "ð" ð ðŠ â (_ð_).
+
+!!! tip
+ ð ð« âïž ð® ð ð ð ð ð âïž.
+
+### âïž ð ð
+
+âïž `tags` ð¢ â®ïž ð *â¡ ð ïž* (& `APIRouter`â) ð ïž ð« ð ð:
+
+```Python hl_lines="21 26"
+{!../../../docs_src/metadata/tutorial004.py!}
+```
+
+!!! info
+ â ð
ð ð [â¡ ð ïž ð³](../path-operation-configuration/#tags){.internal-link target=_blank}.
+
+### â
ð©º
+
+ð, ð¥ ð â
ð©º, ð« ð ðŠ ð ð ð:
+
+
+
+### â ð
+
+â ð ð ð ð ð¬ â ðŠ ð©º ð.
+
+ðŒ, âïž `users` ð ð¶ â®ïž `items` ð€ â, â«ïž ðŠ â ð«, â©ïž ð¥ ð® ð« ð ð¥ ð ð.
+
+## ð ð
+
+ð¢, ð ð ðŠ `/openapi.json`.
+
+âïž ð ðª ð â«ïž â®ïž ð¢ `openapi_url`.
+
+ðŒ, â â«ïž ðŠ `/api/v1/openapi.json`:
+
+```Python hl_lines="3"
+{!../../../docs_src/metadata/tutorial002.py!}
+```
+
+ð¥ ð ð â ð ð ð ð ðª â `openapi_url=None`, ð ð â ð§Ÿ ð©âð» ð¢ ð âïž â«ïž.
+
+## 𩺠ð
+
+ð ðª ð 2ïžâ£ ð§Ÿ ð©âð» ð¢ ð:
+
+* **ðŠ ð**: ðŠ `/docs`.
+ * ð ðª â ð® ð â®ïž ð¢ `docs_url`.
+ * ð ðª â â«ïž â `docs_url=None`.
+* **ð**: ðŠ `/redoc`.
+ * ð ðª â ð® ð â®ïž ð¢ `redoc_url`.
+ * ð ðª â â«ïž â `redoc_url=None`.
+
+ðŒ, â ðŠ ð ðŠ `/documentation` & â ð:
+
+```Python hl_lines="3"
+{!../../../docs_src/metadata/tutorial003.py!}
+```
diff --git a/docs/em/docs/tutorial/middleware.md b/docs/em/docs/tutorial/middleware.md
new file mode 100644
index 000000000..644b4690c
--- /dev/null
+++ b/docs/em/docs/tutorial/middleware.md
@@ -0,0 +1,61 @@
+# ð ïž
+
+ð ðª ð® ð ïž **FastAPI** ðž.
+
+"ð ïž" ð¢ ð ð· â®ïž ð **ðš** â â«ïž ð ïž ð ð¯ *â¡ ð ïž*. & â®ïž ð **ðš** â ð¬ â«ïž.
+
+* â«ïž â ð **ðš** ð ð ð ðž.
+* â«ïž ðª â€Žïž ð³ ð **ðš** âïž ð ð ðª ð.
+* â€Žïž â«ïž ð¶ââïž **ðš** ð ïž ð ðž ( *â¡ ð ïž*).
+* â«ïž â€Žïž â **ðš** ð ðž ( *â¡ ð ïž*).
+* â«ïž ðª ð³ ð **ðš** âïž ð ð ðª ð.
+* â€Žïž â«ïž ðš **ðš**.
+
+!!! note "ð¡ â¹"
+ ð¥ ð âïž ð â®ïž `yield`, ðª ð ð ð *â®ïž* ð ïž.
+
+ ð¥ ð€ ð ð¥ ð (ð âª), ð« ð ð *â®ïž* ð ð ïž.
+
+## â ð ïž
+
+â ð ïž ð âïž ðšâðš `@app.middleware("http")` ð ð ð¢.
+
+ð ïž ð¢ ðš:
+
+* `request`.
+* ð¢ `call_next` ð ð ðš `request` ð¢.
+ * ð ð¢ ð ð¶ââïž `request` ð *â¡ ð ïž*.
+ * â€Žïž â«ïž ðš `response` ð ð *â¡ ð ïž*.
+* ð ðª â€Žïž ð ð
`response` â ð¬ â«ïž.
+
+```Python hl_lines="8-9 11 14"
+{!../../../docs_src/middleware/tutorial001.py!}
+```
+
+!!! tip
+ âïž ð€¯ ð ð © ð ðª ð® âïž 'â-' ð¡.
+
+ âïž ð¥ ð âïž ð ð ð ð ð ð©âð» ð¥ ðª ð, ð ðª ð® ð« ð â ð³ ([â (âïž-ðšð³ â¹ ð€)](cors.md){.internal-link target=_blank}) âïž ð¢ `expose_headers` ð ð â ð©º.
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.requests import Request`.
+
+ **FastAPI** ð â«ïž ðª ð, ð©âð». âïž â«ïž ð ð âªïžâ¡ïž ð.
+
+### â & â®ïž `response`
+
+ð ðª ð® ð ð â®ïž `request`, â ð *â¡ ð ïž* ðš â«ïž.
+
+& â®ïž `response` ð, â ð¬ â«ïž.
+
+ðŒ, ð ðª ð® ð ð `X-Process-Time` â ð° ð¥ ð â«ïž â ð ïž ðš & ð ðš:
+
+```Python hl_lines="10 12-13"
+{!../../../docs_src/middleware/tutorial001.py!}
+```
+
+## ð ð ïž
+
+ð ðª ⪠â ð ð ð ð ïž [ð§ ð©âð» ðŠ®: ð§ ð ïž](../advanced/middleware.md){.internal-link target=_blank}.
+
+ð ð â ð â ðµ â â®ïž ð ïž â ð.
diff --git a/docs/em/docs/tutorial/path-operation-configuration.md b/docs/em/docs/tutorial/path-operation-configuration.md
new file mode 100644
index 000000000..916529258
--- /dev/null
+++ b/docs/em/docs/tutorial/path-operation-configuration.md
@@ -0,0 +1,179 @@
+# â¡ ð ïž ð³
+
+ð€ ð ð¢ ð ð ðª ð¶ââïž ð *â¡ ð ïž ðšâðš* ð â«ïž.
+
+!!! warning
+ ð ð ð« ð¢ ð¶ââïž ð *â¡ ð ïž ðšâðš*, ð« ð *â¡ ð ïž ð¢*.
+
+## ðš ð ð
+
+ð ðª ð¬ (ðºðžð) `status_code` âïž ðš ð *â¡ ð ïž*.
+
+ð ðª ð¶ââïž ð `int` ð, ð `404`.
+
+âïž ð¥ ð ð« ð â«ïžâ ð ð¢ ð, ð ðª âïž âš ð `status`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="3 17"
+ {!> ../../../docs_src/path_operation_configuration/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="3 17"
+ {!> ../../../docs_src/path_operation_configuration/tutorial001_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="1 15"
+ {!> ../../../docs_src/path_operation_configuration/tutorial001_py310.py!}
+ ```
+
+ð ð ð ð âïž ðš & ð ð® ð ð.
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette import status`.
+
+ **FastAPI** ð ð `starlette.status` `fastapi.status` ðª ð, ð©âð». âïž â«ïž ð ð âªïžâ¡ïž ð.
+
+## ð
+
+ð ðª ð® ð ð *â¡ ð ïž*, ð¶ââïž ð¢ `tags` â®ïž `list` `str` (ð 1ïžâ£ `str`):
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="17 22 27"
+ {!> ../../../docs_src/path_operation_configuration/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="17 22 27"
+ {!> ../../../docs_src/path_operation_configuration/tutorial002_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="15 20 25"
+ {!> ../../../docs_src/path_operation_configuration/tutorial002_py310.py!}
+ ```
+
+ð« ð ð® ð ð & âïž ð§ ð§Ÿ ð¢:
+
+
+
+### ð â®ïž ð¢
+
+ð¥ ð âïž ðŠ ðž, ð 5ïžâ£ð ð ð ð **ð ð**, & ð ð ð â ð ð ð§ âïž **ð ð** ð *â¡ ð ïž*.
+
+ð« ðŒ, â«ïž ðª â ð ðª ð `Enum`.
+
+**FastAPI** ðâðŠº ð ð ð â®ïž â
ð»:
+
+```Python hl_lines="1 8-10 13 18"
+{!../../../docs_src/path_operation_configuration/tutorial002b.py!}
+```
+
+## ð & ð
+
+ð ðª ð® `summary` & `description`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="20-21"
+ {!> ../../../docs_src/path_operation_configuration/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="20-21"
+ {!> ../../../docs_src/path_operation_configuration/tutorial003_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="18-19"
+ {!> ../../../docs_src/path_operation_configuration/tutorial003_py310.py!}
+ ```
+
+## ð âªïžâ¡ïž #ïžâ£
+
+ð ð ð & ð ð âž, ð ðª ð£ *â¡ ð ïž* ð ð¢ #ïžâ£ & **FastAPI** ð â â«ïž âªïžâ¡ïž ð€.
+
+ð ðª â â #ïžâ£ , â«ïž ð ð¬ & ð¥ â (â ð ð§ #ïžâ£ ð).
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="19-27"
+ {!> ../../../docs_src/path_operation_configuration/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="19-27"
+ {!> ../../../docs_src/path_operation_configuration/tutorial004_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="17-25"
+ {!> ../../../docs_src/path_operation_configuration/tutorial004_py310.py!}
+ ```
+
+â«ïž ð âïž ð ð©º:
+
+
+
+## ðš ð
+
+ð ðª â ðš ð â®ïž ð¢ `response_description`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="21"
+ {!> ../../../docs_src/path_operation_configuration/tutorial005.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="21"
+ {!> ../../../docs_src/path_operation_configuration/tutorial005_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="19"
+ {!> ../../../docs_src/path_operation_configuration/tutorial005_py310.py!}
+ ```
+
+!!! info
+ ð ð `response_description` ð ð¯ ðš, `description` ð *â¡ ð ïž* ð¢.
+
+!!! check
+ ð â ð ð *â¡ ð ïž* ð ðš ð.
+
+ , ð¥ ð ð« ð 1ïžâ£, **FastAPI** ð ð ð 1ïžâ£ "ð ðš".
+
+
+
+## ð¢ *â¡ ð ïž*
+
+ð¥ ð ðª ⢠*â¡ ð ïž* ð¢, âïž ðµ â â«ïž, ð¶ââïž ð¢ `deprecated`:
+
+```Python hl_lines="16"
+{!../../../docs_src/path_operation_configuration/tutorial006.py!}
+```
+
+â«ïž ð ð¯ ⢠ð¢ ð ð©º:
+
+
+
+â
â ð¢ & ð«-ð¢ *â¡ ð ïž* ð ð:
+
+
+
+## ð
+
+ð ðª ð & ð® ð ð *â¡ ð ïž* ðª ð¶ââïž ð¢ *â¡ ð ïž ðšâðš*.
diff --git a/docs/em/docs/tutorial/path-params-numeric-validations.md b/docs/em/docs/tutorial/path-params-numeric-validations.md
new file mode 100644
index 000000000..b1ba2670b
--- /dev/null
+++ b/docs/em/docs/tutorial/path-params-numeric-validations.md
@@ -0,0 +1,138 @@
+# â¡ ð¢ & ð¢ ð¬
+
+ð ð ð ð ðª ð£ ð
ð¬ & ð ð¢ ð¢ â®ïž `Query`, ð ðª ð£ ð ð ð¬ & ð â¡ ð¢ â®ïž `Path`.
+
+## ð â¡
+
+ð¥, ð `Path` âªïžâ¡ïž `fastapi`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="3"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001_py310.py!}
+ ```
+
+## ð£ ð
+
+ð ðª ð£ ð ð ð¢ `Query`.
+
+ðŒ, ð£ `title` ð ð² â¡ ð¢ `item_id` ð ðª ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="8"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001_py310.py!}
+ ```
+
+!!! note
+ â¡ ð¢ ð§ â â«ïž âïž ð â¡.
+
+ , ð ð ð£ â«ïž â®ïž `...` ⢠â«ïž â.
+
+ ð, ð¥ ð ð£ â«ïž â®ïž `None` âïž â ð¢ ð², â«ïž ð ð« ð ð³, â«ïž ð ð§ ð.
+
+## â ð¢ ð ðª
+
+â¡ïž ð¬ ð ð ð ð£ ð¢ ð¢ `q` â `str`.
+
+& ð ð« ðª ð£ ð³ ð ð ð¢, ð ð« ð€ ðª âïž `Query`.
+
+âïž ð ðª âïž `Path` `item_id` â¡ ð¢.
+
+ð ð ð ð¥ ð ð® ð² â®ïž "ð¢" â ð² ð ð« âïž "ð¢".
+
+âïž ð ðª ð€-â ð«, & âïž ð² ðµ ð¢ (ð¢ ð¢ `q`) ð¥.
+
+â«ïž ð« ð€ **FastAPI**. â«ïž ð ð ð¢ ð« ð, ð & ð¢ ð (`Query`, `Path`, âïž), â«ïž ð« ð
ð â.
+
+, ð ðª ð£ ð ð¢:
+
+```Python hl_lines="7"
+{!../../../docs_src/path_params_numeric_validations/tutorial002.py!}
+```
+
+## â ð¢ ð ðª, ð±
+
+ð¥ ð ð ð£ `q` ð¢ ð¢ ðµ `Query` ð« ð ð¢ ð², & â¡ ð¢ `item_id` âïž `Path`, & âïž ð« ð â, ð âïž ð¥ ð â ð.
+
+ð¶ââïž `*`, ð¥ ð¢ ð¢.
+
+ð ð ð« ð³ â®ïž ð `*`, âïž â«ïž ð ð ð ð ð ð¢ ð ð€ ðšð» â (ð-ð² ð«), ð kwargs. ð¥ ð« ð« âïž ð¢ ð².
+
+```Python hl_lines="7"
+{!../../../docs_src/path_params_numeric_validations/tutorial003.py!}
+```
+
+## ð¢ ð¬: ð ð âïž ð
+
+â®ïž `Query` & `Path` (& ð ð ð ð âª) ð ðª ð£ ð¢ â.
+
+ð¥, â®ïž `ge=1`, `item_id` ð ðª ð¢ ð¢ "`g`ð
Ÿ ð âïž `e`ð
Ÿ" `1`.
+
+```Python hl_lines="8"
+{!../../../docs_src/path_params_numeric_validations/tutorial004.py!}
+```
+
+## ð¢ ð¬: ð ð & ð ð âïž ð
+
+ð â:
+
+* `gt`: `g`ð
Ÿ `t`ð²
+* `le`: `l`ð ð âïž `e`ð
Ÿ
+
+```Python hl_lines="9"
+{!../../../docs_src/path_params_numeric_validations/tutorial005.py!}
+```
+
+## ð¢ ð¬: ð, ð ð & ð ð
+
+ð¢ ð¬ ð· `float` ð².
+
+ð¥ ðâ â«ïž â¶ïžïž â ðª ð£ gt & ð« ge. â®ïž â«ïž ð ðª ð, ðŒ, ð ð² ð ð ð `0`, ð¥ â«ïž ð ð `1`.
+
+, `0.5` ð â ð². âïž `0.0` âïž `0` ð ð«.
+
+& ð lt.
+
+```Python hl_lines="11"
+{!../../../docs_src/path_params_numeric_validations/tutorial006.py!}
+```
+
+## ð
+
+â®ïž `Query`, `Path` (& ð ð ð« ð) ð ðª ð£ ð & ð» ð¬ ð ð â®ïž [ð¢ ð¢ & ð» ð¬](query-params-str-validations.md){.internal-link target=_blank}.
+
+& ð ðª ð£ ð¢ ð¬:
+
+* `gt`: `g`ð
Ÿ `t`ð²
+* `ge`: `g`ð
Ÿ ð âïž `e`ð
Ÿ
+* `lt`: `l`ð `t`ð²
+* `le`: `l`ð ð âïž `e`ð
Ÿ
+
+!!! info
+ `Query`, `Path`, & ð ð ð ð ð ⪠ð¿ â `Param` ð.
+
+ ð ð« ð° ð ð¢ ð ð¬ & ð ð âïž ð.
+
+!!! note "ð¡ â¹"
+ ðâ ð ð `Query`, `Path` & ð âªïžâ¡ïž `fastapi`, ð« ð€ ð¢.
+
+ ð ðâ ð€, ðš ð ð ð ð.
+
+ , ð ð `Query`, â ð¢. & ðâ ð ð€ â«ïž, â«ïž ðš ð ð ð `Query`.
+
+ ð« ð¢ ð€ (â©ïž âïž ð ð) ð ð ðšâðš ð« ⢠â ð ð« ð.
+
+ ð ð ð ðª âïž ð ð ðšâðš & ð ïž ð§° ðµ âïž ð® ð ð³ ð€·ââ ð â.
diff --git a/docs/em/docs/tutorial/path-params.md b/docs/em/docs/tutorial/path-params.md
new file mode 100644
index 000000000..ea939b458
--- /dev/null
+++ b/docs/em/docs/tutorial/path-params.md
@@ -0,0 +1,252 @@
+# â¡ ð¢
+
+ð ðª ð£ â¡ "ð¢" âïž "ð¢" â®ïž ð â âïž ð ð ð»:
+
+```Python hl_lines="6-7"
+{!../../../docs_src/path_params/tutorial001.py!}
+```
+
+ð² â¡ ð¢ `item_id` ð ð¶ââïž ð ð¢ â `item_id`.
+
+, ð¥ ð ð ð ðŒ & ð¶ http://127.0.0.1:8000/items/foo, ð ð ð ðš:
+
+```JSON
+{"item_id":"foo"}
+```
+
+## â¡ ð¢ â®ïž ð
+
+ð ðª ð£ ð â¡ ð¢ ð¢, âïž ð© ð ð â:
+
+```Python hl_lines="7"
+{!../../../docs_src/path_params/tutorial002.py!}
+```
+
+ð ðŒ, `item_id` ð£ `int`.
+
+!!! check
+ ð ð ð€ ð ðšâðš ðâðŠº ð ð ð¢, â®ïž â â
, ð ïž, âïž.
+
+## ðœ ð ïž
+
+ð¥ ð ð ð ðŒ & ð ð ð¥ http://127.0.0.1:8000/items/3, ð ð ð ðš:
+
+```JSON
+{"item_id":3}
+```
+
+!!! check
+ ð ð ð² ð ð¢ ðš (& ðš) `3`, ð `int`, ð« ð» `"3"`.
+
+ , â®ïž ð ð ð, **FastAPI** ð€ ð ð§ ðš "â".
+
+## ðœ ð¬
+
+âïž ð¥ ð ð¶ ð¥ http://127.0.0.1:8000/items/foo, ð ð ð ð ðºðžð â:
+
+```JSON
+{
+ "detail": [
+ {
+ "loc": [
+ "path",
+ "item_id"
+ ],
+ "msg": "value is not a valid integer",
+ "type": "type_error.integer"
+ }
+ ]
+}
+```
+
+â©ïž â¡ ð¢ `item_id` âïž ð² `"foo"`, â ð« `int`.
+
+ð â ð ð ð¥ ð ð `float` â©ïž `int`,: http://127.0.0.1:8000/items/4.2
+
+!!! check
+ , â®ïž ð ð ð ð, **FastAPI** ð€ ð ðœ ð¬.
+
+ ð ð â ð¯ ðµðž â«ïžâ â ðâ ð¬ ð« ð¶ââïž.
+
+ ð ð ð ⪠ð ïž & ð ïž ð ð ð â®ïž ð ð ïž.
+
+## ð§Ÿ
+
+& ðâ ð ð ð ð¥ http://127.0.0.1:8000/docs, ð ð ð ð§, ð, ð ïž ð§Ÿ ð:
+
+
+
+!!! check
+ ð, â®ïž ð ð ð ð ð, **FastAPI** ð€ ð ð§, ð ð§Ÿ (ð ïž ðŠ ð).
+
+ ð ð â¡ ð¢ ð£ ð¢.
+
+## ð©-âïž ð°, ð ð§Ÿ
+
+& â©ïž ð ð âªïžâ¡ïž ð ð©, ð€ ð ð ð§°.
+
+â©ïž ð, **FastAPI** â«ïž ð ð ð ïž ð§Ÿ (âïž ð), â ð ðª ð http://127.0.0.1:8000/redoc:
+
+
+
+ð ð, ð€ ð ð ð§°. â
ð â¡ ð§° ð ðªðž.
+
+## Pydantic
+
+ð ðœ ð¬ ð ðœ ð Pydantic, ð ð€ ð ð° âªïžâ¡ïž â«ïž. & ð ð ð ð â.
+
+ð ðª âïž ð ð ð â®ïž `str`, `float`, `bool` & ð ð ð ð ð.
+
+ð ð« ð¬ â ð ð°.
+
+## â ð€
+
+ðâ ð *â¡ ð ïž*, ð ðª ð â ðâ ð âïž ð§ â¡.
+
+ð `/users/me`, â¡ïž ð¬ ð â«ïž ð€ ð ð â®ïž ð©âð».
+
+& â€Žïž ð ðª âïž â¡ `/users/{user_id}` ð€ ðœ ð ð¯ ð©âð» ð©âð» ð.
+
+â©ïž *â¡ ð ïž* ð¬ â, ð ðª â ð ð â¡ `/users/me` ð£ â 1ïžâ£ `/users/{user_id}`:
+
+```Python hl_lines="6 11"
+{!../../../docs_src/path_params/tutorial003.py!}
+```
+
+âª, â¡ `/users/{user_id}` ð ð `/users/me`, "ð" ð â«ïž ðš ð¢ `user_id` â®ïž ð² `"me"`.
+
+â¡, ð ð«ð â â¡ ð ïž:
+
+```Python hl_lines="6 11"
+{!../../../docs_src/path_params/tutorial003b.py!}
+```
+
+ð¥ ð ð ð§ âïž â©ïž â¡ ð ð¥.
+
+## ð ð²
+
+ð¥ ð âïž *â¡ ð ïž* ð ðš *â¡ ð¢*, âïž ð ð ðª â *â¡ ð¢* ð² ð, ð ðª âïž ð© ð `Enum`.
+
+### â `Enum` ð
+
+ð `Enum` & â ð§-ð ð ð âªïžâ¡ïž `str` & âªïžâ¡ïž `Enum`.
+
+ð âªïžâ¡ïž `str` ð ïž ð©º ð ðª ð ð ð² ð ð `string` & ð ðª â â.
+
+â€Žïž â ð ð¢ â®ïž ð§ ð², â ð ðª â ð²:
+
+```Python hl_lines="1 6-9"
+{!../../../docs_src/path_params/tutorial005.py!}
+```
+
+!!! info
+ ð¢ (âïž ð¢) ðª ð â©ïž ⬠3ïžâ£.4ïžâ£.
+
+!!! tip
+ ð¥ ð ð, "ð", "ð", & "ð" ð ð° ð« ð·.
+
+### ð£ *â¡ ð¢*
+
+â€Žïž â *â¡ ð¢* â®ïž ð â âïž ð¢ ð ð â (`ModelName`):
+
+```Python hl_lines="16"
+{!../../../docs_src/path_params/tutorial005.py!}
+```
+
+### â
ð©º
+
+â©ïž ðª ð² *â¡ ð¢* ð¢, ð 𩺠ðª ðŠ ð« ð:
+
+
+
+### ð· â®ïž ð *ð¢*
+
+ð² *â¡ ð¢* ð *ð¢ ðšâð*.
+
+#### ð¬ *ð¢ ðšâð*
+
+ð ðª ð¬ â«ïž â®ïž *ð¢ ðšâð* ð â ð¢ `ModelName`:
+
+```Python hl_lines="17"
+{!../../../docs_src/path_params/tutorial005.py!}
+```
+
+#### ð€ *ð¢ ð²*
+
+ð ðª ð€ â ð² ( `str` ð ðŒ) âïž `model_name.value`, âïž ð¢, `your_enum_member.value`:
+
+```Python hl_lines="20"
+{!../../../docs_src/path_params/tutorial005.py!}
+```
+
+!!! tip
+ ð ðª ð ð² `"lenet"` â®ïž `ModelName.lenet.value`.
+
+#### ðš *ð¢ ðšâð*
+
+ð ðª ðš *ð¢ ðšâð* âªïžâ¡ïž ð *â¡ ð ïž*, ðŠ ð» ðª (â
`dict`).
+
+ð« ð ð ð« ð ð² (ð» ð ðŒ) â ð¬ ð« ð©âð»:
+
+```Python hl_lines="18 21 23"
+{!../../../docs_src/path_params/tutorial005.py!}
+```
+
+ð ð©âð» ð ð ð€ ð» ðš ð:
+
+```JSON
+{
+ "model_name": "alexnet",
+ "message": "Deep Learning FTW!"
+}
+```
+
+## â¡ ð¢ â â¡
+
+â¡ïž ð¬ ð âïž *â¡ ð ïž* â®ïž â¡ `/files/{file_path}`.
+
+âïž ð ðª `file_path` â«ïž ð *â¡*, ð `home/johndoe/myfile.txt`.
+
+, ð ð ð ð ð³ ð: `/files/home/johndoe/myfile.txt`.
+
+### ð ðâðŠº
+
+ð ð« ðâðŠº ð ð£ *â¡ ð¢* ð *â¡* ð, ð ðª âïž ð ð â ð¯ & ð¬.
+
+ð, ð ðª â«ïž **FastAPI**, âïž 1ïžâ£ ð ð§° âªïžâ¡ïž ð.
+
+& 𩺠ð ð·, ð ð« â ð ð§Ÿ ð¬ ð ð¢ ð ð â¡.
+
+### â¡ ð
+
+âïž ð ð âªïžâ¡ïž ð ð ðª ð£ *â¡ ð¢* â *â¡* âïž ð ð:
+
+```
+/files/{file_path:path}
+```
+
+ð ðŒ, ð ð¢ `file_path`, & ð ð, `:path`, ð¬ â«ïž ð ð¢ ð ð ð *â¡*.
+
+, ð ðª âïž â«ïž â®ïž:
+
+```Python hl_lines="6"
+{!../../../docs_src/path_params/tutorial004.py!}
+```
+
+!!! tip
+ ð ðª ðª ð¢ ð `/home/johndoe/myfile.txt`, â®ïž ð ðª (`/`).
+
+ ð ðŒ, ð ð: `/files//home/johndoe/myfile.txt`, â®ïž 2ïžâ£âïž ðª (`//`) ð `files` & `home`.
+
+## ð
+
+â®ïž **FastAPI**, âïž ð, ðïž & ð© ð ð ð, ð ð€:
+
+* ðšâðš ðâðŠº: â â
, â, âïž.
+* ðœ "â"
+* ðœ ð¬
+* ð ïž â & ð§ ð§Ÿ
+
+& ð ðŽ âïž ð£ ð« ð.
+
+ð ð² ð â ð **FastAPI** ð¬ ð ð ïž (âïž âªïžâ¡ïž ð£ ð).
diff --git a/docs/em/docs/tutorial/query-params-str-validations.md b/docs/em/docs/tutorial/query-params-str-validations.md
new file mode 100644
index 000000000..d6b67bd51
--- /dev/null
+++ b/docs/em/docs/tutorial/query-params-str-validations.md
@@ -0,0 +1,467 @@
+# ð¢ ð¢ & ð» ð¬
+
+**FastAPI** â ð ð£ ð â¹ & ð¬ ð ð¢.
+
+â¡ïž â ð ðž ðŒ:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/query_params_str_validations/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/query_params_str_validations/tutorial001_py310.py!}
+ ```
+
+ð¢ ð¢ `q` ð `Union[str, None]` (âïž `str | None` ð 3ïžâ£.1ïžâ£0ïžâ£), ð â ð â«ïž ð `str` âïž ðª `None`, & ð, ð¢ ð² `None`, FastAPI ð ð â«ïž ð« â.
+
+!!! note
+ FastAPI ð ð ð ð² `q` ð« â â©ïž ð¢ ð² `= None`.
+
+ `Union` `Union[str, None]` ð â ð ðšâðš ð€ ð ð ðâðŠº & ð â.
+
+## ð ð¬
+
+ð¥ ð ð ïž ð âïž `q` ðŠ, ðâ â«ïž ð, **ð® ð ð« ð 5ïžâ£0ïžâ£ ðй**.
+
+### ð `Query`
+
+ð ð, ð¥ ð `Query` âªïžâ¡ïž `fastapi`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="3"
+ {!> ../../../docs_src/query_params_str_validations/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/query_params_str_validations/tutorial002_py310.py!}
+ ```
+
+## âïž `Query` ð¢ ð²
+
+& ð âïž â«ïž ð¢ ð² ð ð¢, â ð¢ `max_length` 5ïžâ£0ïžâ£:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/query_params_str_validations/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/query_params_str_validations/tutorial002_py310.py!}
+ ```
+
+ð¥ âïž â ð¢ ð² `None` ð¢ â®ïž `Query()`, ð¥ ðª ð â ð¢ ð² â®ïž ð¢ `Query(default=None)`, â«ïž ðŠ ð ð¯ â ð ð¢ ð².
+
+:
+
+```Python
+q: Union[str, None] = Query(default=None)
+```
+
+...â ð¢ ðŠ, ð:
+
+```Python
+q: Union[str, None] = None
+```
+
+& ð 3ïžâ£.1ïžâ£0ïžâ£ & ð:
+
+```Python
+q: str | None = Query(default=None)
+```
+
+...â ð¢ ðŠ, ð:
+
+```Python
+q: str | None = None
+```
+
+âïž â«ïž ð£ â«ïž ð¯ ðââ ð¢ ð¢.
+
+!!! info
+ âïž ð€¯ ð ð
â ð â ð¢ ðŠ ð:
+
+ ```Python
+ = None
+ ```
+
+ âïž:
+
+ ```Python
+ = Query(default=None)
+ ```
+
+ â«ïž ð âïž ð `None` ð¢ ð², & ð ð â ð¢ **ð« â**.
+
+ `Union[str, None]` ð â ð ðšâðš ð ð» ðâðŠº, âïž â«ïž ð« â«ïžâ ð¬ FastAPI ð ð ð¢ ð« â.
+
+‎ïž, ð¥ ðª ð¶ââïž ð
ð¢ `Query`. ð ðŒ, `max_length` ð¢ ð â ð»:
+
+```Python
+q: Union[str, None] = Query(default=None, max_length=50)
+```
+
+ð ð â ð, ðŠ ð â ðâ ð ð« â, & ð ð¢ ð ð *â¡ ð ïž*.
+
+## ð® ð
ð¬
+
+ð ðª ð® ð¢ `min_length`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/query_params_str_validations/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/query_params_str_validations/tutorial003_py310.py!}
+ ```
+
+## ð® ð¥ ð§¬
+
+ð ðª ð¬ ð¥ 𧬠ð ð¢ ð ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="11"
+ {!> ../../../docs_src/query_params_str_validations/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/query_params_str_validations/tutorial004_py310.py!}
+ ```
+
+ð ð¯ ð¥ 𧬠â
ð ðš ð¢ ð²:
+
+* `^`: â¶ïž â®ïž ð ðй, ð« âïž ðŠ¹ â.
+* `fixedquery`: âïž â ð² `fixedquery`.
+* `$`: ð ð€, ð« âïž ð ð ðŠ¹ â®ïž `fixedquery`.
+
+ð¥ ð ð ðž â®ïž ð ð **"ð¥ ð§¬"** ð, ð« ð. ð« ðïž â ð ð«ð«. ð ðª ð ð© ðµ ðââ ð¥ ð§¬.
+
+âïž ðâ ð ðª ð« & ð¶ & ð¡ ð«, ð ð ð ðª ⪠âïž ð« ð **FastAPI**.
+
+## ð¢ ð²
+
+ð ð ð ð ðª ð¶ââïž `None` ð² `default` ð¢, ð ðª ð¶ââïž ð ð².
+
+â¡ïž ð¬ ð ð ð ð£ `q` ð¢ ð¢ âïž `min_length` `3`, & âïž ð¢ ð² `"fixedquery"`:
+
+```Python hl_lines="7"
+{!../../../docs_src/query_params_str_validations/tutorial005.py!}
+```
+
+!!! note
+ âïž ð¢ ð² â ð¢ ðŠ.
+
+## â â«ïž â
+
+ðâ ð¥ ð« ðª ð£ ð
ð¬ âïž ð, ð¥ ðª â `q` ð¢ ð¢ â ð« ð£ ð¢ ð², ð:
+
+```Python
+q: str
+```
+
+â©ïž:
+
+```Python
+q: Union[str, None] = None
+```
+
+âïž ð¥ ð ð£ â«ïž â®ïž `Query`, ðŒ ð:
+
+```Python
+q: Union[str, None] = Query(default=None, min_length=3)
+```
+
+, ðâ ð ðª ð£ ð² â ⪠âïž `Query`, ð ðª ð¯ ð« ð£ ð¢ ð²:
+
+```Python hl_lines="7"
+{!../../../docs_src/query_params_str_validations/tutorial006.py!}
+```
+
+### â â®ïž â (`...`)
+
+ð€ ð ð ð¯ ð£ ð ð² â. ð ðª â `default` ð¢ ð ð² `...`:
+
+```Python hl_lines="7"
+{!../../../docs_src/query_params_str_validations/tutorial006b.py!}
+```
+
+!!! info
+ ð¥ ð ð« ð ð `...` â: â«ïž ð ð ð², â«ïž ð ð & ð€ "â".
+
+ â«ïž âïž Pydantic & FastAPI ð¯ ð£ ð ð² â.
+
+ð ð â¡ïž **FastAPI** ð ð ð ð¢ â.
+
+### â â®ïž `None`
+
+ð ðª ð£ ð ð¢ ðª ð« `None`, âïž ð â«ïž â. ð ð â¡ ð©âð» ðš ð², ð¥ ð² `None`.
+
+ð, ð ðª ð£ ð `None` â ð âïž âïž `default=...`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/query_params_str_validations/tutorial006c.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/query_params_str_validations/tutorial006c_py310.py!}
+ ```
+
+!!! tip
+ Pydantic, â â«ïžâ ðïž ð ðœ ð¬ & ð ïž FastAPI, âïž ð ð ðâ ð âïž `Optional` âïž `Union[Something, None]` ðµ ð¢ ð², ð ðª â ð
ð â«ïž Pydantic 𩺠ð â ðŠ ð.
+
+### âïž Pydantic `Required` â©ïž â (`...`)
+
+ð¥ ð ð ð¬ âïž `...`, ð ðª ð & âïž `Required` âªïžâ¡ïž Pydantic:
+
+```Python hl_lines="2 8"
+{!../../../docs_src/query_params_str_validations/tutorial006d.py!}
+```
+
+!!! tip
+ ð ð ð
ðŒ, ðâ ð³ ð, ð ðª ð¯ ð« `default` ð¢, ð ð ð« âïž âïž `...` ð« `Required`.
+
+## ð¢ ð¢ ð / ð ð²
+
+ðâ ð ð¬ ð¢ ð¢ ð¯ â®ïž `Query` ð ðª ð£ â«ïž ðš ð ð², âïž ðââ ð ð, ðš ð ð².
+
+ðŒ, ð£ ð¢ ð¢ `q` ð ðª ð ð ð° ð, ð ðª â:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/query_params_str_validations/tutorial011.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/query_params_str_validations/tutorial011_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/query_params_str_validations/tutorial011_py310.py!}
+ ```
+
+‎ïž, â®ïž ð ð:
+
+```
+http://localhost:8000/items/?q=foo&q=bar
+```
+
+ð ð ðš ð `q` *ð¢ ð¢'* ð² (`foo` & `bar`) ð `list` ð ð *â¡ ð ïž ð¢*, *ð¢ ð¢* `q`.
+
+, ðš ð ð ð:
+
+```JSON
+{
+ "q": [
+ "foo",
+ "bar"
+ ]
+}
+```
+
+!!! tip
+ ð£ ð¢ ð¢ â®ïž ð `list`, ð ðŒ ð, ð ðª ð¯ âïž `Query`, ⪠â«ïž ð ð¬ ðš ðª.
+
+ð ð ïž ð©º ð â¹ â¡ïž, â ð ð²:
+
+
+
+### ð¢ ð¢ ð / ð ð² â®ïž ð¢
+
+& ð ðª ð¬ ð¢ `list` ð² ð¥ ð ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/query_params_str_validations/tutorial012.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/query_params_str_validations/tutorial012_py39.py!}
+ ```
+
+ð¥ ð ð¶:
+
+```
+http://localhost:8000/items/
+```
+
+ð¢ `q` ð: `["foo", "bar"]` & ð ðš ð:
+
+```JSON
+{
+ "q": [
+ "foo",
+ "bar"
+ ]
+}
+```
+
+#### âïž `list`
+
+ð ðª âïž `list` ð â©ïž `List[str]` (âïž `list[str]` ð 3ïžâ£.9ïžâ£ â):
+
+```Python hl_lines="7"
+{!../../../docs_src/query_params_str_validations/tutorial013.py!}
+```
+
+!!! note
+ âïž ð€¯ ð ð ðŒ, FastAPI ð ð« â
ð ð.
+
+ ðŒ, `List[int]` ð â
(& ð) ð ð ð ð¢. âïž `list` ð ð«ð.
+
+## ð£ ð
ð
+
+ð ðª ð® ð
â¹ ð ð¢.
+
+ð â¹ ð ð ð ð & âïž ð§Ÿ ð©âð» ð¢ & ð¢ ð§°.
+
+!!! note
+ âïž ð€¯ ð ð ð§° 5ïžâ£ð âïž ð ð ð ðâðŠº.
+
+ ð« ðª ð« ðŠ ð â â¹ ð£, ð ð
ðŒ, â â ⪠ð ð ïž.
+
+ð ðª ð® `title`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/query_params_str_validations/tutorial007.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="8"
+ {!> ../../../docs_src/query_params_str_validations/tutorial007_py310.py!}
+ ```
+
+& `description`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="13"
+ {!> ../../../docs_src/query_params_str_validations/tutorial008.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="12"
+ {!> ../../../docs_src/query_params_str_validations/tutorial008_py310.py!}
+ ```
+
+## ð ð¢
+
+ð ð ð ð ð¢ `item-query`.
+
+ð:
+
+```
+http://127.0.0.1:8000/items/?item-query=foobaritems
+```
+
+âïž `item-query` ð« â ð ð¢ ð.
+
+ð ð `item_query`.
+
+âïž ð ðª â«ïž â«ïžâ `item-query`...
+
+â€Žïž ð ðª ð£ `alias`, & ð ð â«ïžâ ð âïž ð ð¢ ð²:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/query_params_str_validations/tutorial009.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/query_params_str_validations/tutorial009_py310.py!}
+ ```
+
+## ð ð¢
+
+ð â¡ïž ð¬ ð ð« ð ð ð¢ ð«ð.
+
+ð âïž ð â«ïž ð€ ⪠â©ïž ð€ ð©âð» âïž â«ïž, âïž ð ð 𩺠ð¯ ðŠ â«ïž ð¢.
+
+â€Žïž ð¶ââïž ð¢ `deprecated=True` `Query`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="18"
+ {!> ../../../docs_src/query_params_str_validations/tutorial010.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="17"
+ {!> ../../../docs_src/query_params_str_validations/tutorial010_py310.py!}
+ ```
+
+𩺠ð ðŠ â«ïž ð ð:
+
+
+
+## ð« âªïžâ¡ïž ð
+
+ð« ð¢ ð¢ âªïžâ¡ïž ð ð ð (& â¡ïž, âªïžâ¡ïž ð§ ð§Ÿ âïž), â ð¢ `include_in_schema` `Query` `False`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/query_params_str_validations/tutorial014.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="8"
+ {!> ../../../docs_src/query_params_str_validations/tutorial014_py310.py!}
+ ```
+
+## ð
+
+ð ðª ð£ ð ð¬ & ð ð ð¢.
+
+ð ð¬ & ð:
+
+* `alias`
+* `title`
+* `description`
+* `deprecated`
+
+ð¬ ð¯ ð»:
+
+* `min_length`
+* `max_length`
+* `regex`
+
+ð« ðŒ ð ð â ð£ ð¬ `str` ð².
+
+ð â ð ð â ð£ ð¬ ð ð, ð ð¢.
diff --git a/docs/em/docs/tutorial/query-params.md b/docs/em/docs/tutorial/query-params.md
new file mode 100644
index 000000000..ccb235c15
--- /dev/null
+++ b/docs/em/docs/tutorial/query-params.md
@@ -0,0 +1,225 @@
+# ð¢ ð¢
+
+ðâ ð ð£ ð ð¢ ð¢ ð ð« ð â¡ ð¢, ð« ð ð¬ "ð¢" ð¢.
+
+```Python hl_lines="9"
+{!../../../docs_src/query_params/tutorial001.py!}
+```
+
+ð¢ â ð-ð² ð« ð ð¶ â®ïž `?` ð, ð `&` ðй.
+
+ðŒ, ð:
+
+```
+http://127.0.0.1:8000/items/?skip=0&limit=10
+```
+
+...ð¢ ð¢:
+
+* `skip`: â®ïž ð² `0`
+* `limit`: â®ïž ð² `10`
+
+ð« ð ð, ð« "ð" ð».
+
+âïž ðâ ð ð£ ð« â®ïž ð ð (ðŒ ð, `int`), ð« ð ð ð & â ð¡ â«ïž.
+
+ð ð ð ïž ð â â¡ ð¢ â ð¢ ð¢:
+
+* ðšâðš ðâðŠº (ð²)
+* ðœ "â"
+* ðœ ð¬
+* ð§ ð§Ÿ
+
+## ð¢
+
+ð¢ ð¢ ð« ð§ ð â¡, ð« ðª ðŠ & ðª âïž ð¢ ð².
+
+ðŒ ð ð« âïž ð¢ ð² `skip=0` & `limit=10`.
+
+, ð ð:
+
+```
+http://127.0.0.1:8000/items/
+```
+
+ð ð ð:
+
+```
+http://127.0.0.1:8000/items/?skip=0&limit=10
+```
+
+âïž ð¥ ð ð¶, ðŒ:
+
+```
+http://127.0.0.1:8000/items/?skip=20
+```
+
+ð¢ ð² ð ð¢ ð:
+
+* `skip=20`: â©ïž ð â â«ïž ð
+* `limit=10`: â©ïž ð ð¢ ð²
+
+## ðŠ ð¢
+
+ð ð, ð ðª ð£ ðŠ ð¢ ð¢, â ð« ð¢ `None`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/query_params/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/query_params/tutorial002_py310.py!}
+ ```
+
+ð ðŒ, ð¢ ð¢ `q` ð ðŠ, & ð `None` ð¢.
+
+!!! check
+ ð ð **FastAPI** ð ð¥ ð ð â¡ ð¢ `item_id` â¡ ð¢ & `q` ð«,, â«ïž ð¢ ð¢.
+
+## ð¢ ð¢ ð ð ïž
+
+ð ðª ð£ `bool` ð, & ð« ð ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/query_params/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/query_params/tutorial003_py310.py!}
+ ```
+
+ð ðŒ, ð¥ ð ð¶:
+
+```
+http://127.0.0.1:8000/items/foo?short=1
+```
+
+âïž
+
+```
+http://127.0.0.1:8000/items/foo?short=True
+```
+
+âïž
+
+```
+http://127.0.0.1:8000/items/foo?short=true
+```
+
+âïž
+
+```
+http://127.0.0.1:8000/items/foo?short=on
+```
+
+âïž
+
+```
+http://127.0.0.1:8000/items/foo?short=yes
+```
+
+âïž ð ð ðŒ ð (ð , ð¥ ð€ ð , âïž), ð ð¢ ð ð ð¢ `short` â®ïž `bool` ð² `True`. ⪠`False`.
+
+
+## ð â¡ & ð¢ ð¢
+
+ð ðª ð£ ð â¡ ð¢ & ð¢ ð¢ ð ð°, **FastAPI** ð â â.
+
+& ð ð« âïž ð£ ð« ð ð¯ â.
+
+ð« ð ð¬ ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="8 10"
+ {!> ../../../docs_src/query_params/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="6 8"
+ {!> ../../../docs_src/query_params/tutorial004_py310.py!}
+ ```
+
+## â ð¢ ð¢
+
+ðâ ð ð£ ð¢ ð² ð«-â¡ ð¢ (ð, ð¥ âïž ðŽ ð ð¢ ð¢), â€Žïž â«ïž ð« â.
+
+ð¥ ð ð« ð ð® ð¯ ð² âïž â â«ïž ðŠ, â ð¢ `None`.
+
+âïž ðâ ð ð â ð¢ ð¢ â, ð ðª ð« ð£ ð ð¢ ð²:
+
+```Python hl_lines="6-7"
+{!../../../docs_src/query_params/tutorial005.py!}
+```
+
+ð¥ ð¢ ð¢ `needy` â ð¢ ð¢ ð `str`.
+
+ð¥ ð ð ð ð¥ ð ð:
+
+```
+http://127.0.0.1:8000/items/foo-item
+```
+
+...ðµ â â ð¢ `needy`, ð ð ð â ð:
+
+```JSON
+{
+ "detail": [
+ {
+ "loc": [
+ "query",
+ "needy"
+ ],
+ "msg": "field required",
+ "type": "value_error.missing"
+ }
+ ]
+}
+```
+
+`needy` ð ð¢, ð ð ðª â â«ïž ð:
+
+```
+http://127.0.0.1:8000/items/foo-item?needy=sooooneedy
+```
+
+...ð ð ð·:
+
+```JSON
+{
+ "item_id": "foo-item",
+ "needy": "sooooneedy"
+}
+```
+
+& âïž, ð ðª ð¬ ð¢ â, âïž ð¢ ð², & ð ðŠ:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/query_params/tutorial006.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="8"
+ {!> ../../../docs_src/query_params/tutorial006_py310.py!}
+ ```
+
+ð ðŒ, ð€ 3ïžâ£ ð¢ ð¢:
+
+* `needy`, â `str`.
+* `skip`, `int` â®ïž ð¢ ð² `0`.
+* `limit`, ðŠ `int`.
+
+!!! tip
+ ð ðª âïž `Enum`â ð ð â®ïž [â¡ ð¢](path-params.md#predefined-values){.internal-link target=_blank}.
diff --git a/docs/em/docs/tutorial/request-files.md b/docs/em/docs/tutorial/request-files.md
new file mode 100644
index 000000000..26631823f
--- /dev/null
+++ b/docs/em/docs/tutorial/request-files.md
@@ -0,0 +1,186 @@
+# ðš ð
+
+ð ðª ð¬ ð ð ð©âð» âïž `File`.
+
+!!! info
+ ðš ð ð, ð¥ â `python-multipart`.
+
+ ð€¶ â. `pip install python-multipart`.
+
+ ð â©ïž ð ð ðš "ðš ðœ".
+
+## ð `File`
+
+ð `File` & `UploadFile` âªïžâ¡ïž `fastapi`:
+
+```Python hl_lines="1"
+{!../../../docs_src/request_files/tutorial001.py!}
+```
+
+## ð¬ `File` ð¢
+
+â ð ð¢ ð ð ð ð `Body` âïž `Form`:
+
+```Python hl_lines="7"
+{!../../../docs_src/request_files/tutorial001.py!}
+```
+
+!!! info
+ `File` ð ð ð ð âªïžâ¡ïž `Form`.
+
+ âïž ð ð ðâ ð ð `Query`, `Path`, `File` & ð âªïžâ¡ïž `fastapi`, ð ð€ ð¢ ð ðš ð ð.
+
+!!! tip
+ ð£ ð ðª, ð ðª âïž `File`, â©ïž ⪠ð¢ ð ð¬ ð¢ ð¢ âïž ðª (ð») ð¢.
+
+ð ð ð "ðš ðœ".
+
+ð¥ ð ð£ ð ð *â¡ ð ïž ð¢* ð¢ `bytes`, **FastAPI** ð â ð ð & ð ð ðš ð `bytes`.
+
+âïž ð€¯ ð ð â ð ð ð ð ðª ðŸ. ð ð ð· ð ð€ª ð.
+
+âïž ð€ ð ðŒ â ð ðª ð° âªïžâ¡ïž âïž `UploadFile`.
+
+## ð ð¢ â®ïž `UploadFile`
+
+ð¬ ð ð¢ â®ïž ð `UploadFile`:
+
+```Python hl_lines="12"
+{!../../../docs_src/request_files/tutorial001.py!}
+```
+
+âïž `UploadFile` âïž ð ð ð€ `bytes`:
+
+* ð ð« âïž âïž `File()` ð¢ ð² ð¢.
+* â«ïž âïž "ð§µ" ð:
+ * ð ðª ðŸ ð ð ð ð, & â®ïž ð¶ââïž ð ð â«ïž ð ðª ðŸ.
+* ð â ð â«ïž ð ð· ð â ð ð ðŒ, ð¹, â ð±, âïž. ðµ ð© ð ðŸ.
+* ð ðª ð€ ð âªïžâ¡ïž ð ð.
+* â«ïž âïž ð-ð `async` ð¢.
+* â«ïž ðŠ â ð `SpooledTemporaryFile` ð ð ð ðª ð¶ââïž ð ð ð ð â ð-ð ð.
+
+### `UploadFile`
+
+`UploadFile` âïž ð ð¢:
+
+* `filename`: `str` â®ïž â®ïž ð ð ð ð (â
`myimage.jpg`).
+* `content_type`: `str` â®ïž ð ð (ð ð / ð» ð) (â
`image/jpeg`).
+* `file`: `SpooledTemporaryFile` ( ð-ð ð). ð â ð ð ð ð ðª ð¶ââïž ð ð ð¢ âïž ð ð â "ð-ð" ð.
+
+`UploadFile` âïž ð `async` ð©âð¬. ð« ð ð€ ð ð ð©âð¬ ð (âïž ð `SpooledTemporaryFile`).
+
+* `write(data)`: â `data` (`str` âïž `bytes`) ð.
+* `read(size)`: â `size` (`int`) ð¢/ðŠ¹ ð.
+* `seek(offset)`: ð¶ ð¢ ð§ `offset` (`int`) ð.
+ * ð€¶ â., `await myfile.seek(0)` ð ð¶ â¶ïž ð.
+ * ð âŽïž â ð¥ ð ð `await myfile.read()` ð & â€Žïž ðª â ð ð.
+* `close()`: ð ð.
+
+ð ð« ð©âð¬ `async` ð©âð¬, ð ðª "â" ð«.
+
+ðŒ, ð `async` *â¡ ð ïž ð¢* ð ðª ð€ ð â®ïž:
+
+```Python
+contents = await myfile.read()
+```
+
+ð¥ ð ð ð `def` *â¡ ð ïž ð¢*, ð ðª ð `UploadFile.file` ð, ðŒ:
+
+```Python
+contents = myfile.file.read()
+```
+
+!!! note "`async` ð¡ â¹"
+ ðâ ð âïž `async` ð©âð¬, **FastAPI** ð ð ð©âð¬ ð§µ & â ð«.
+
+!!! note "ð ð¡ â¹"
+ **FastAPI**'â `UploadFile` ð ð âªïžâ¡ïž **ð**'â `UploadFile`, âïž ð® ðª ð â â«ïž ð â®ïž **Pydantic** & ð ð FastAPI.
+
+## â«ïžâ "ðš ðœ"
+
+ð ðž ðš (``) ðš ðœ ðœ ð âïž "ð" ð¢ ð ð, â«ïž ð âªïžâ¡ïž ð».
+
+**FastAPI** ð â ð â ð ð âªïžâ¡ïž â¶ïžïž ð¥ â©ïž ð».
+
+!!! note "ð¡ â¹"
+ ð âªïžâ¡ïž ðš ð ð âïž "ð» ð" `application/x-www-form-urlencoded` ðâ â«ïž ð« ð ð.
+
+ âïž ðâ ðš ð ð, â«ïž ð `multipart/form-data`. ð¥ ð âïž `File`, **FastAPI** ð ð â«ïž âïž ð€ ð âªïžâ¡ïž â ð ðª.
+
+ ð¥ ð ð â ð ð ð ð¢ & ðš ð, ð³ ð ðž 𩺠POST.
+
+!!! warning
+ ð ðª ð£ ð `File` & `Form` ð¢ *â¡ ð ïž*, âïž ð ðª ð« ð£ `Body` ð ð ð â ðš ð», ðš ð âïž ðª ð âïž `multipart/form-data` â©ïž `application/json`.
+
+ ð ð« ð« **FastAPI**, â«ïž ð ðºðžð ð ïž.
+
+## ðŠ ð ð
+
+ð ðª â ð ðŠ âïž ð© ð â & â ð¢ ð² `None`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9 17"
+ {!> ../../../docs_src/request_files/tutorial001_02.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7 14"
+ {!> ../../../docs_src/request_files/tutorial001_02_py310.py!}
+ ```
+
+## `UploadFile` â®ïž ð ð
+
+ð ðª âïž `File()` â®ïž `UploadFile`, ðŒ, â ð ð:
+
+```Python hl_lines="13"
+{!../../../docs_src/request_files/tutorial001_03.py!}
+```
+
+## ð ð ð
+
+â«ïž ðª ð ð ð ð ð°.
+
+ð« ð ðšâðŒ ð "ðš ð" ðš âïž "ðš ðœ".
+
+âïž ð, ð£ ð `bytes` âïž `UploadFile`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="10 15"
+ {!> ../../../docs_src/request_files/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="8 13"
+ {!> ../../../docs_src/request_files/tutorial002_py39.py!}
+ ```
+
+ð ð ðš, ð£, `list` `bytes` âïž `UploadFile`â.
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.responses import HTMLResponse`.
+
+ **FastAPI** ð ð `starlette.responses` `fastapi.responses` ðª ð, ð©âð». âïž ð
ðª ðš ð ð âªïžâ¡ïž ð.
+
+### ð ð ð â®ïž ð ð
+
+& ð ð â, ð ðª âïž `File()` â ð ð¢, `UploadFile`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="18"
+ {!> ../../../docs_src/request_files/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="16"
+ {!> ../../../docs_src/request_files/tutorial003_py39.py!}
+ ```
+
+## ð
+
+âïž `File`, `bytes`, & `UploadFile` ð£ ð ð ðš, ðš ðš ðœ.
diff --git a/docs/em/docs/tutorial/request-forms-and-files.md b/docs/em/docs/tutorial/request-forms-and-files.md
new file mode 100644
index 000000000..99aeca000
--- /dev/null
+++ b/docs/em/docs/tutorial/request-forms-and-files.md
@@ -0,0 +1,35 @@
+# ðš ðš & ð
+
+ð ðª ð¬ ð & ðš ð ð ð° âïž `File` & `Form`.
+
+!!! info
+ ðš ð ð & /âïž ðš ð, ð¥ â `python-multipart`.
+
+ ð€¶ â. `pip install python-multipart`.
+
+## ð `File` & `Form`
+
+```Python hl_lines="1"
+{!../../../docs_src/request_forms_and_files/tutorial001.py!}
+```
+
+## ð¬ `File` & `Form` ð¢
+
+â ð & ðš ð¢ ð ð ð ð `Body` âïž `Query`:
+
+```Python hl_lines="8"
+{!../../../docs_src/request_forms_and_files/tutorial001.py!}
+```
+
+ð & ðš ð ð ð ðš ð & ð ð ðš ð & ðš ð.
+
+& ð ðª ð£ ð `bytes` & `UploadFile`.
+
+!!! warning
+ ð ðª ð£ ð `File` & `Form` ð¢ *â¡ ð ïž*, âïž ð ðª ð« ð£ `Body` ð ð ð â ðš ð», ðš ð âïž ðª ð âïž `multipart/form-data` â©ïž `application/json`.
+
+ ð ð« ð« **FastAPI**, â«ïž ð ðºðžð ð ïž.
+
+## ð
+
+âïž `File` & `Form` ð¯ââïž ðâ ð ðª ðš ðœ & ð ð ðš.
diff --git a/docs/em/docs/tutorial/request-forms.md b/docs/em/docs/tutorial/request-forms.md
new file mode 100644
index 000000000..fa74adae5
--- /dev/null
+++ b/docs/em/docs/tutorial/request-forms.md
@@ -0,0 +1,58 @@
+# ðš ðœ
+
+ðâ ð ðª ðš ðš ð â©ïž ð», ð ðª âïž `Form`.
+
+!!! info
+ âïž ðš, ð¥ â `python-multipart`.
+
+ ð€¶ â. `pip install python-multipart`.
+
+## ð `Form`
+
+ð `Form` âªïžâ¡ïž `fastapi`:
+
+```Python hl_lines="1"
+{!../../../docs_src/request_forms/tutorial001.py!}
+```
+
+## ð¬ `Form` ð¢
+
+â ðš ð¢ ð ð ð ð `Body` âïž `Query`:
+
+```Python hl_lines="7"
+{!../../../docs_src/request_forms/tutorial001.py!}
+```
+
+ðŒ, 1ïžâ£ ð Oauth2ïžâ£ ð§ ðª âïž (ð€ "ð ð§") â«ïž â ðš `username` & `password` ðš ð.
+
+ð ð ð â«ïžâ ð `username` & `password`, & ðš ðš ð, ð« ð».
+
+â®ïž `Form` ð ðª ð£ ð ð³ â®ïž `Body` (& `Query`, `Path`, `Cookie`), ð ð¬, ðŒ, ð (â
`user-name` â©ïž `username`), âïž.
+
+!!! info
+ `Form` ð ð ð ð âªïžâ¡ïž `Body`.
+
+!!! tip
+ ð£ ðš ðª, ð ðª âïž `Form` ð¯, â©ïž ðµ â«ïž ð¢ ð ð¬ ð¢ ð¢ âïž ðª (ð») ð¢.
+
+## ð "ðš ð"
+
+ð ðž ðš (``) ðš ðœ ðœ ð âïž "ð" ð¢ ð ð, â«ïž ð âªïžâ¡ïž ð».
+
+**FastAPI** ð â ð â ð ð âªïžâ¡ïž â¶ïžïž ð¥ â©ïž ð».
+
+!!! note "ð¡ â¹"
+ ð âªïžâ¡ïž ðš ð ð âïž "ð» ð" `application/x-www-form-urlencoded`.
+
+ âïž ðâ ðš ð ð, â«ïž ð `multipart/form-data`. ð ð â ð ð ð â ð.
+
+ ð¥ ð ð â ð ð ð ð¢ & ðš ð, ð³ ð ðž 𩺠POST.
+
+!!! warning
+ ð ðª ð£ ð `Form` ð¢ *â¡ ð ïž*, âïž ð ðª ð« ð£ `Body` ð ð ð â ðš ð», ðš ð âïž ðª ð âïž `application/x-www-form-urlencoded` â©ïž `application/json`.
+
+ ð ð« ð« **FastAPI**, â«ïž ð ðºðžð ð ïž.
+
+## ð
+
+âïž `Form` ð£ ðš ðœ ð¢ ð¢.
diff --git a/docs/em/docs/tutorial/response-model.md b/docs/em/docs/tutorial/response-model.md
new file mode 100644
index 000000000..6ea4413f8
--- /dev/null
+++ b/docs/em/docs/tutorial/response-model.md
@@ -0,0 +1,481 @@
+# ðš ð· - ðš ð
+
+ð ðª ð£ ð âïž ðš â *â¡ ð ïž ð¢* **ðš ð**.
+
+ð ðª âïž **ð â** ð ð ð ð ð¢ ðœ ð¢ **ð¢**, ð ðª âïž Pydantic ð·, ð, ð, ð ð² ð ð¢, ð», âïž.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="18 23"
+ {!> ../../../docs_src/response_model/tutorial001_01.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="18 23"
+ {!> ../../../docs_src/response_model/tutorial001_01_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="16 21"
+ {!> ../../../docs_src/response_model/tutorial001_01_py310.py!}
+ ```
+
+FastAPI ð âïž ð ðš ð:
+
+* **â** ðš ðœ.
+ * ð¥ ðœ â (â
ð â ð), â«ïž â ð *ð* ð± ð ð, ð« ð¬ â«ïžâ â«ïž ð, & â«ïž ð ðš ðœ â â©ïž ð¬ â ðœ. ð ð ð & ð ð©âð» ðª ð¯ ð ð« ð ðš ðœ & ðœ ð ð.
+* ð® **ð» ð** ðš, ð *â¡ ð ïž*.
+ * ð ð âïž **ð§ ð©º**.
+ * â«ïž ð âïž ð§ ð©âð» ð â¡ ð§°.
+
+âïž ð ð¥:
+
+* â«ïž ð **ð & âœ** ð¢ ð â«ïžâ ð¬ ðš ð.
+ * ð âŽïž â **ðââ**, ð¥ ð ð ð
ð ð.
+
+## `response_model` ð¢
+
+ð€ ðŒ ðâ ð ðª âïž ð ðš ðœ ð ð« â«ïžâ â«ïžâ ð ð£.
+
+ðŒ, ð ðª ð **ðš ð** âïž ðœ ð, âïž **ð£ â«ïž Pydantic ð·**. ð ð Pydantic ð· ð ð ðœ ð§Ÿ, ð¬, âïž. ð ð ð ðš (â
ð âïž ðœ ð).
+
+ð¥ ð ð® ðš ð â, ð§° & ðšâðš ð ð â®ïž (â) â ð¬ ð ð ð ð¢ ð¬ ð (â
#ïžâ£) ð ð âªïžâ¡ïž â«ïžâ ð ð£ (â
Pydantic ð·).
+
+ð ðŒ, ð ðª âïž *â¡ ð ïž ðšâðš* ð¢ `response_model` â©ïž ðš ð.
+
+ð ðª âïž `response_model` ð¢ ð *â¡ ð ïž*:
+
+* `@app.get()`
+* `@app.post()`
+* `@app.put()`
+* `@app.delete()`
+* âïž.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="17 22 24-27"
+ {!> ../../../docs_src/response_model/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="17 22 24-27"
+ {!> ../../../docs_src/response_model/tutorial001_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="17 22 24-27"
+ {!> ../../../docs_src/response_model/tutorial001_py310.py!}
+ ```
+
+!!! note
+ ð ð `response_model` ð¢ "ðšâðš" ð©âð¬ (`get`, `post`, âïž). ð« ð *â¡ ð ïž ð¢*, ð ð ð¢ & ðª.
+
+`response_model` ðš ð ð ð ð ð£ Pydantic ð· ð,, â«ïž ðª Pydantic ð·, âïž â«ïž ðª, â
`list` Pydantic ð·, ð `List[Item]`.
+
+FastAPI ð âïž ð `response_model` ð ðœ ð§Ÿ, ð¬, âïž. & **ð & ✠ð¢ ð** ð® ð ð.
+
+!!! tip
+ ð¥ ð âïž â ð â
ð ðšâðš, â, âïž, ð ðª ð£ ð¢ ðš ð `Any`.
+
+ ð ð ð ð¬ ðšâðš ð ð ð« ð¬ ð³. âïž FastAPI ð ðœ ð§Ÿ, ð¬, ð¥, âïž. â®ïž `response_model`.
+
+### `response_model` ð«
+
+ð¥ ð ð£ ð¯ââïž ðš ð & `response_model`, `response_model` ð â ð« & âïž FastAPI.
+
+ð ð ð ðª ð® â ð â ð ð¢ ðâ ð ð¬ ð ð ð ðš ð·, âïž ðšâðš & ð§° ð â. & ð ðª âïž FastAPI ðœ ð¬, ð§Ÿ, âïž. âïž `response_model`.
+
+ð ðª âïž `response_model=None` â ð ðš ð· ð *â¡ ð ïž*, ð 5ïžâ£ð ðª â«ïž ð¥ ð â ð â ð ð ð« â Pydantic ð, ð ð ð ðŒ ð 1ïžâ£ ð ð.
+
+## ðš ð ð¢ ðœ
+
+ð¥ ð¥ ð£ `UserIn` ð·, â«ïž ð ð ð¢ ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9 11"
+ {!> ../../../docs_src/response_model/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7 9"
+ {!> ../../../docs_src/response_model/tutorial002_py310.py!}
+ ```
+
+!!! info
+ âïž `EmailStr`, ð¥ â `email_validator`.
+
+ ð€¶ â. `pip install email-validator`
+ âïž `pip install pydantic[email]`.
+
+& ð¥ âïž ð ð· ð£ ð ð¢ & ð ð· ð£ ð ð¢:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="18"
+ {!> ../../../docs_src/response_model/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="16"
+ {!> ../../../docs_src/response_model/tutorial002_py310.py!}
+ ```
+
+ð, ðâ ð¥ ð ð©âð» â®ïž ð, ð ïž ð ðš ð ð ðš.
+
+ð ðŒ, â«ïž ðª ð« â , â©ïž â«ïž ð ð©âð» ðš ð.
+
+âïž ð¥ ð¥ âïž ð ð· â1ïžâ£ *â¡ ð ïž*, ð¥ ðª ðš ð ð©âð» ð ð ð©âð».
+
+!!! danger
+ ð
ðª â
ð ð©âð» âïž ðš â«ïž ðš ð ð, ð¥ ð ð ð â & ð ð â«ïžâ ð ðš.
+
+## ð® ð¢ ð·
+
+ð¥ ðª â©ïž â ð¢ ð· â®ïž ð¢ ð & ð¢ ð· ðµ â«ïž:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9 11 16"
+ {!> ../../../docs_src/response_model/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="9 11 16"
+ {!> ../../../docs_src/response_model/tutorial003_py310.py!}
+ ```
+
+ð¥, âïž ð *â¡ ð ïž ð¢* ð¬ ð ð¢ ð©âð» ð ð ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="24"
+ {!> ../../../docs_src/response_model/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="24"
+ {!> ../../../docs_src/response_model/tutorial003_py310.py!}
+ ```
+
+...ð¥ ð£ `response_model` ð ð· `UserOut`, ð ð« ð ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="22"
+ {!> ../../../docs_src/response_model/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="22"
+ {!> ../../../docs_src/response_model/tutorial003_py310.py!}
+ ```
+
+, **FastAPI** ð â ð
ð¥ ð
ð ðœ ð ð« ð£ ð¢ ð· (âïž Pydantic).
+
+### `response_model` âïž ðš ð
+
+ð ðŒ, â©ïž 2ïžâ£ ð· ð, ð¥ ð¥ â ð¢ ðš ð `UserOut`, ðšâðš & ð§° ð ð ð ð¥ ð¬ â ð, ð ð ð.
+
+ð â«ïžâ ð ðŒ ð¥ âïž ð£ â«ïž `response_model` ð¢.
+
+...âïž ð£ ð ð ð â â ð.
+
+## ðš ð & ðœ ð¥
+
+â¡ïž ð£ âªïžâ¡ïž â®ïž ðŒ. ð¥ ð **â ð¢ â®ïž 1ïžâ£ ð** âïž ðš ð³ ð ð **ð
ðœ**.
+
+ð¥ ð FastAPI ð§ **ð¥** ð âïž ðš ð·.
+
+â®ïž ðŒ, â©ïž ð ð, ð¥ âïž âïž `response_model` ð¢. âïž ð â ð ð¥ ð« ð€ ðâðŠº âªïžâ¡ïž ðšâðš & ð§° â
ð¢ ðš ð.
+
+âïž ð
ðŒ ðâ ð¥ ðª ð³ ð ð, ð¥ ð ð· **âœ/â** ð ð ðŒ.
+
+& ð ðŒ, ð¥ ðª âïž ð & 𧬠â ð ð¢ **ð â** ð€ ð ðâðŠº ðšâðš & ð§°, & ð€ FastAPI **ðœ ð¥**.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9-13 15-16 20"
+ {!> ../../../docs_src/response_model/tutorial003_01.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7-10 13-14 18"
+ {!> ../../../docs_src/response_model/tutorial003_01_py310.py!}
+ ```
+
+â®ïž ð, ð¥ ð€ ð ðâðŠº, âªïžâ¡ïž ðšâðš & â ð ð â â ð, âïž ð¥ ð€ ðœ ð¥ âªïžâ¡ïž FastAPI.
+
+â ðš ð ð· â â¡ïž â
ð ð
. ð¶
+
+### ð â & ð
+
+ð¥ â¡ïž ð â ðšâðš, â & ð ð§° ð ð ð.
+
+`BaseUser` âïž ð§¢ ð. â€Žïž `UserIn` ð âªïžâ¡ïž `BaseUser` & ð® `password` ð,, â«ïž ð ð ð ð âªïžâ¡ïž ð¯ââïž ð·.
+
+ð¥ â ð¢ ðš ð `BaseUser`, âïž ð¥ ð€ ð¬ `UserIn` ð.
+
+ðšâðš, â, & ð ð§° ð ð« ð ð ð â©ïž, âš â, `UserIn` ð¿ `BaseUser`, â â â«ïž *â* ð ðâ â«ïžâ â ð³ ð `BaseUser`.
+
+### FastAPI ðœ ð¥
+
+ð, FastAPI, â«ïž ð ð ðš ð & â ð ð â«ïžâ ð ðš ð **ðŽ** ð ð ð£ ð.
+
+FastAPI ðš ð ð ð â®ïž Pydantic â ð ð ð ð ð« ð 𧬠ð« âïž ðš ðœ ð¥, ⪠ð ðª ð ð ð¬ ð
ð
ðœ ð â«ïžâ ð ð.
+
+ð ð, ð ðª ð€ ð ð¯ââïž ð: ð â â®ïž **ð ðâðŠº** & **ðœ ð¥**.
+
+## ð â«ïž ð©º
+
+ðâ ð ð ð§ ð©º, ð ðª â
ð ð¢ ð· & ð¢ ð· ð ð¯ââïž âïž ð« ð ð» ð:
+
+
+
+& ð¯ââïž ð· ð âïž ð ð ïž ð§Ÿ:
+
+
+
+## ð ðš ð â
+
+ð€ 5ïžâ£ð ðŒ ðâ ð ðš ð³ ð ð« â Pydantic ð & ð â â«ïž ð¢, ðŽ ð€ ðâðŠº ð ð (ðšâðš, â, âïž).
+
+### ðš ðš ð
+
+ð â ðŒ ð [ð¬ ðš ð ð¬ ⪠ð§ ð©º](../advanced/response-directly.md){.internal-link target=_blank}.
+
+```Python hl_lines="8 10-11"
+{!> ../../../docs_src/response_model/tutorial003_02.py!}
+```
+
+ð ð
ðŒ ðµ ð FastAPI â©ïž ðš ð â ð (âïž ð¿) `Response`.
+
+& ð§° ð ð â©ïž ð¯ââïž `RedirectResponse` & `JSONResponse` ð¿ `Response`, ð â â.
+
+### â ðš ð¿
+
+ð ðª âïž ð¿ `Response` ð â:
+
+```Python hl_lines="8-9"
+{!> ../../../docs_src/response_model/tutorial003_03.py!}
+```
+
+ð ð ð· â©ïž `RedirectResponse` ð¿ `Response`, & FastAPI ð ð ðµ ð ð
ðŒ.
+
+### â ðš ð â
+
+âïž ðâ ð ðš ð â ð ð ð« â Pydantic ð (â
ðœ ð) & ð â â«ïž ð ð ð¢, FastAPI ð ð â Pydantic ðš ð· âªïžâ¡ïž ð ð â, & ð â.
+
+ð ð ðš ð¥ ð âïž ð³ ð ðªðº ð ð ð ðâ 1ïžâ£ âïž ð
ð« ð« â Pydantic ð, ðŒ ð ð â ð¶:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/response_model/tutorial003_04.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="8"
+ {!> ../../../docs_src/response_model/tutorial003_04_py310.py!}
+ ```
+
+...ð â â©ïž ð â ð« Pydantic ð & ð« ð `Response` ð âïž ð¿, â«ïž ðªðº (ð 2ïžâ£) ð `Response` & `dict`.
+
+### â ðš ð·
+
+â¶ïž âªïžâ¡ïž ðŒ ð, ð 5ïžâ£ð ð« ð âïž ð¢ ðœ ð¬, ð§Ÿ, ð¥, âïž. ð ð FastAPI.
+
+âïž ð ðª ð ð§ ðš ð â ð¢ ð€ ðâðŠº âªïžâ¡ïž ð§° ð ðšâðš & ð â (â
â).
+
+ð ðŒ, ð ðª â ðš ð· â¡ â `response_model=None`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/response_model/tutorial003_05.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/response_model/tutorial003_05_py310.py!}
+ ```
+
+ð ð â FastAPI ð¶ ðš ð· â¡ & ð ð ð ðª âïž ð ðš ð â ð ðª ðµ â«ïž ð€ ð FastAPI ðž. ð¶
+
+## ðš ð· ð¢ ð¢
+
+ð ðš ð· ðª âïž ð¢ ð², ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="11 13-14"
+ {!> ../../../docs_src/response_model/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="11 13-14"
+ {!> ../../../docs_src/response_model/tutorial004_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="9 11-12"
+ {!> ../../../docs_src/response_model/tutorial004_py310.py!}
+ ```
+
+* `description: Union[str, None] = None` (âïž `str | None = None` ð 3ïžâ£.1ïžâ£0ïžâ£) âïž ð¢ `None`.
+* `tax: float = 10.5` âïž ð¢ `10.5`.
+* `tags: List[str] = []` ð¢ ð ð: `[]`.
+
+âïž ð ðª ð ð« ð« âªïžâ¡ïž ð ð¥ ð« ð« ð€ ðª.
+
+ðŒ, ð¥ ð âïž ð· â®ïž ð ðŠ ð¢ â ðœ, âïž ð ð« ð ðš ð¶ ð ð» ðš ð ð¢ ð².
+
+### âïž `response_model_exclude_unset` ð¢
+
+ð ðª â *â¡ ð ïž ðšâðš* ð¢ `response_model_exclude_unset=True`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="24"
+ {!> ../../../docs_src/response_model/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="24"
+ {!> ../../../docs_src/response_model/tutorial004_py39.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="22"
+ {!> ../../../docs_src/response_model/tutorial004_py310.py!}
+ ```
+
+& ð ð¢ ð² ð ð« ð ðš, ðŽ ð² ð€ â.
+
+, ð¥ ð ðš ðš ð *â¡ ð ïž* ð¬ â®ïž ð `foo`, ðš (ð« â
ð¢ ð²) ð:
+
+```JSON
+{
+ "name": "Foo",
+ "price": 50.2
+}
+```
+
+!!! info
+ FastAPI âïž Pydantic ð· `.dict()` â®ïž ð® `exclude_unset` ð¢ ð ð.
+
+!!! info
+ ð ðª âïž:
+
+ * `response_model_exclude_defaults=True`
+ * `response_model_exclude_none=True`
+
+ ð¬ Pydantic 𩺠`exclude_defaults` & `exclude_none`.
+
+#### ð â®ïž ð² ð â®ïž ð¢
+
+âïž ð¥ ð ð âïž ð² ð· ð â®ïž ð¢ ð², ð ð¬ â®ïž ð `bar`:
+
+```Python hl_lines="3 5"
+{
+ "name": "Bar",
+ "description": "The bartenders",
+ "price": 62,
+ "tax": 20.2
+}
+```
+
+ð« ð ð ðš.
+
+#### ð â®ïž ð ð² ð¢
+
+ð¥ ð âïž ð ð² ð¢ ð, ð ð¬ â®ïž ð `baz`:
+
+```Python hl_lines="3 5-6"
+{
+ "name": "Baz",
+ "description": None,
+ "price": 50.2,
+ "tax": 10.5,
+ "tags": []
+}
+```
+
+FastAPI ð ð¥ (ð€, Pydantic ð ð¥) ð€ ð, âïž `description`, `tax`, & `tags` âïž ð ð² ð¢, ð« â ð¯ (â©ïž â âªïžâ¡ïž ð¢).
+
+, ð« ð ð ð» ðš.
+
+!!! tip
+ ð ð ð¢ ð² ðª ð³, ð« ðŽ `None`.
+
+ ð« ðª ð (`[]`), `float` `10.5`, âïž.
+
+### `response_model_include` & `response_model_exclude`
+
+ð ðª âïž *â¡ ð ïž ðšâðš* ð¢ `response_model_include` & `response_model_exclude`.
+
+ð« â `set` `str` â®ïž ð ð¢ ð (â ð) âïž ð« (â
ð).
+
+ð ðª âïž â© âš ð¥ ð âïž ðŽ 1ïžâ£ Pydantic ð· & ð â ðœ âªïžâ¡ïž ð¢.
+
+!!! tip
+ âïž â«ïž ð âïž ð ð, âïž ð ð, â©ïž ð« ð¢.
+
+ ð â©ïž ð» ð ð ð ð± ð (& ð©º) ð 1ïžâ£ ð ð·, ð¥ ð âïž `response_model_include` âïž `response_model_exclude` ð« ð¢.
+
+ ð â `response_model_by_alias` ð ð· â¡.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="31 37"
+ {!> ../../../docs_src/response_model/tutorial005.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="29 35"
+ {!> ../../../docs_src/response_model/tutorial005_py310.py!}
+ ```
+
+!!! tip
+ â `{"name", "description"}` â `set` â®ïž ð 2ïžâ£ ð².
+
+ â«ïž ð `set(["name", "description"])`.
+
+#### âïž `list`â â©ïž `set`â
+
+ð¥ ð ð âïž `set` & âïž `list` âïž `tuple` â©ïž, FastAPI ð ð â«ïž `set` & â«ïž ð ð· â:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="31 37"
+ {!> ../../../docs_src/response_model/tutorial006.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="29 35"
+ {!> ../../../docs_src/response_model/tutorial006_py310.py!}
+ ```
+
+## ð
+
+âïž *â¡ ð ïž ðšâðš* ð¢ `response_model` ð¬ ðš ð· & âŽïž ð ð¢ ðœ ✠ð
.
+
+âïž `response_model_exclude_unset` ðš ðŽ ð² ð¯ â.
diff --git a/docs/em/docs/tutorial/response-status-code.md b/docs/em/docs/tutorial/response-status-code.md
new file mode 100644
index 000000000..e5149de7d
--- /dev/null
+++ b/docs/em/docs/tutorial/response-status-code.md
@@ -0,0 +1,89 @@
+# ðš ð ð
+
+ð ð ð ðª â ðš ð·, ð ðª ð£ ðºðžð ð ð âïž ðš â®ïž ð¢ `status_code` ð *â¡ ð ïž*:
+
+* `@app.get()`
+* `@app.post()`
+* `@app.put()`
+* `@app.delete()`
+* âïž.
+
+```Python hl_lines="6"
+{!../../../docs_src/response_status_code/tutorial001.py!}
+```
+
+!!! note
+ ð ð `status_code` ð¢ "ðšâðš" ð©âð¬ (`get`, `post`, âïž). ð« ð *â¡ ð ïž ð¢*, ð ð ð¢ & ðª.
+
+`status_code` ð¢ ðš ð¢ â®ïž ðºðžð ð ð.
+
+!!! info
+ `status_code` ðª ð ðš `IntEnum`, â
ð `http.HTTPStatus`.
+
+â«ïž ð:
+
+* ðš ð ð ð ðš.
+* ð â«ïž â
ð ð ( & , ð©âð» ð¢):
+
+
+
+!!! note
+ ðš ð (ð â ð) ðŠ ð ðš ðš ð« âïž ðª.
+
+ FastAPI ð ð, & ð ð ð 𩺠ð ðµðž ð€ ð
ââ ðš ðª.
+
+## ð ðºðžð ð ð
+
+!!! note
+ ð¥ ð ⪠ð â«ïžâ ðºðžð ð ð, ð¶ â ð.
+
+ðºðžð, ð ðš ð¢ ð ð 3ïžâ£ 9ïžâ£ ð ðš.
+
+ð« ð ð âïž ð ð ð€ ð«, âïž â ð ð¢.
+
+ð:
+
+* `100` & ð "â¹". ð ð âïž ð« ð. ðš â®ïž ð« ð ð ð«ð âïž ðª.
+* **`200`** & ð "ð" ðš. ð« ð ð ð âïž ð.
+ * `200` ð¢ ð ð, â â ð "ð".
+ * â1ïžâ£ ðŒ ð `201`, "â". â«ïž ð âïž â®ïž ð ð ⺠ðœ.
+ * ð ðŒ `204`, "ð
ââ ð". ð ðš âïž ðâ ð€ ð
ââ ð ðš ð©âð», & ðš ð ð« âïž ðª.
+* **`300`** & ð "â". ðš â®ïž ð« ð ð 5ïžâ£ð âïž 5ïžâ£ð ð« âïž ðª, ð `304`, "ð« ð", â ð ð« âïž 1ïžâ£.
+* **`400`** & ð "ð©âð» â" ðš. ð« ð¥ ð ð ð ð² âïž ð.
+ * ðŒ `404`, "ð« ð" ðš.
+ * ð â âªïžâ¡ïž ð©âð», ð ðª âïž `400`.
+* `500` & ð ðœ â. ð ð ð
âïž ð« ð. ðâ ð³ ð¶ â ð ð ðž ð, âïž ðœ, â«ïž ð ð ðš 1ïžâ£ ð« ð ð.
+
+!!! tip
+ ð ð
ð ð ð ð & â ð â«ïžâ, â
ð ð§Ÿ ð ðºðžð ð ð.
+
+## âš ð ð
+
+â¡ïž ð â®ïž ðŒ ð:
+
+```Python hl_lines="6"
+{!../../../docs_src/response_status_code/tutorial001.py!}
+```
+
+`201` ð ð "â".
+
+âïž ð ð« âïž â â«ïžâ ð ð ð â.
+
+ð ðª âïž ðª ð¢ âªïžâ¡ïž `fastapi.status`.
+
+```Python hl_lines="1 6"
+{!../../../docs_src/response_status_code/tutorial002.py!}
+```
+
+ð« ðª, ð« ð§âð€âð§ ð ð¢, âïž ð ð ð ðª âïž ðšâðš ð ð ð«:
+
+
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette import status`.
+
+ **FastAPI** ð ð `starlette.status` `fastapi.status` ðª ð, ð©âð». âïž â«ïž ð ð âªïžâ¡ïž ð.
+
+## ð ð¢
+
+âª, [ð§ ð©âð» ðŠ®](../advanced/response-change-status-code.md){.internal-link target=_blank}, ð ð ð â ðš ð ð ð ð ð¢ ð ð£ ð¥.
diff --git a/docs/em/docs/tutorial/schema-extra-example.md b/docs/em/docs/tutorial/schema-extra-example.md
new file mode 100644
index 000000000..d5bf8810a
--- /dev/null
+++ b/docs/em/docs/tutorial/schema-extra-example.md
@@ -0,0 +1,141 @@
+# ð£ ðš ðŒ ðœ
+
+ð ðª ð£ ðŒ ðœ ð ð± ðª ðš.
+
+ð¥ ð ð â«ïž.
+
+## Pydantic `schema_extra`
+
+ð ðª ð£ `example` Pydantic ð· âïž `Config` & `schema_extra`, ð¬ Pydantic ð©º: ð ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="15-23"
+ {!> ../../../docs_src/schema_extra_example/tutorial001.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="13-21"
+ {!> ../../../docs_src/schema_extra_example/tutorial001_py310.py!}
+ ```
+
+ð â â¹ ð ð®-ð¢ **ð» ð** ð ð·, & â«ïž ð âïž ð ïž ð©º.
+
+!!! tip
+ ð ðª âïž ð â â ð» ð & ð® ð ð ð â â¹.
+
+ ðŒ ð ðª âïž â«ïž ð® ð ðž ð©âð» ð¢, âïž.
+
+## `Field` ð â
+
+ðâ âïž `Field()` â®ïž Pydantic ð·, ð ðª ð£ â â¹ **ð» ð** ð¶ââïž ð ð â â ð¢.
+
+ð ðª âïž ð ð® `example` ð ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="4 10-13"
+ {!> ../../../docs_src/schema_extra_example/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="2 8-11"
+ {!> ../../../docs_src/schema_extra_example/tutorial002_py310.py!}
+ ```
+
+!!! warning
+ ð§ ð€¯ ð ð â â ð¶ââïž ð ð« ð® ð ð¬, ðŽ â â¹, ð§Ÿ ð¯.
+
+## `example` & `examples` ð
+
+ðâ âïž ð:
+
+* `Path()`
+* `Query()`
+* `Header()`
+* `Cookie()`
+* `Body()`
+* `Form()`
+* `File()`
+
+ð ðª ð£ ðœ `example` âïž ðª `examples` â®ïž ð â¹ ð ð ð® **ð**.
+
+### `Body` â®ïž `example`
+
+ð¥ ð¥ ð¶ââïž `example` ð â `Body()`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="20-25"
+ {!> ../../../docs_src/schema_extra_example/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="18-23"
+ {!> ../../../docs_src/schema_extra_example/tutorial003_py310.py!}
+ ```
+
+### ðŒ 𩺠ð
+
+â®ïž ð ð©âð¬ ð â«ïž ð ð ð ð `/docs`:
+
+
+
+### `Body` â®ïž ð `examples`
+
+ð ð `example`, ð ðª ð¶ââïž `examples` âïž `dict` â®ïž **ð ðŒ**, ð â®ïž â â¹ ð ð ð® **ð** ðââïž.
+
+ð `dict` ð¬ ð ðŒ, & ð ð² â1ïžâ£ `dict`.
+
+ð ð¯ ðŒ `dict` `examples` ðª ð:
+
+* `summary`: ð ð ðŒ.
+* `description`: ð ð ð ðª ð â â.
+* `value`: ð â ðŒ ðŠ, â
`dict`.
+* `externalValue`: ð `value`, ð â ðŒ. ð ð 5ïžâ£ð ð« ðâðŠº ð ð§° `value`.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="21-47"
+ {!> ../../../docs_src/schema_extra_example/tutorial004.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="19-45"
+ {!> ../../../docs_src/schema_extra_example/tutorial004_py310.py!}
+ ```
+
+### ðŒ 𩺠ð
+
+â®ïž `examples` ð® `Body()` `/docs` ð ð ð:
+
+
+
+## ð¡ â¹
+
+!!! warning
+ ð ð¶ ð¡ â¹ ð ð© **ð» ð** & **ð**.
+
+ ð¥ ð ð ⪠ð· ð, ð ðª ð¥, & ð ð² ð« ðª ð â¹, ð ð ð¶ ð«.
+
+ðâ ð ð® ðŒ ð Pydantic ð·, âïž `schema_extra` âïž `Field(example="something")` ð ðŒ ð® **ð» ð** ð Pydantic ð·.
+
+& ð **ð» ð** Pydantic ð· ð **ð** ð ð ïž, & â€Žïž â«ïž âïž ð©º ð.
+
+**ð» ð** ð« ð€ âïž ð `example` ð©. â®ïž ⬠ð» ð ð¬ ð `examples`, âïž ð 3ïžâ£.0ïžâ£.3ïžâ£ âïž ð ð ⬠ð» ð ð ð« âïž `examples`.
+
+, ð 3ïžâ£.0ïžâ£.3ïžâ£ ð¬ ð® ð `example` ð ⬠**ð» ð** â«ïž âïž, ð ð¯ (âïž â«ïž ð `example`, ð« `examples`), & ð â«ïžâ âïž ð ïž ð©º ð (âïž ðŠ ð).
+
+, ð `example` ð« ð ð» ð, â«ïž ð ð ð ⬠ð» ð, & ð â«ïžâ ð âïž ð©º ð.
+
+âïž ðâ ð âïž `example` âïž `examples` â®ïž ð ð ð (`Query()`, `Body()`, âïž.) ð ðŒ ð« ð® ð» ð ð ð¬ ð ðœ (ð« ð ð ⬠ð» ð), ð« ð® ð *â¡ ð ïž* ð ð (ð ð ð ð âïž ð» ð).
+
+`Path()`, `Query()`, `Header()`, & `Cookie()`, `example` âïž `examples` ð® ð ð, `Parameter Object` (ð§).
+
+& `Body()`, `File()`, & `Form()`, `example` âïž `examples` ð ð® ð ð, `Request Body Object`, ð `content`, ð `Media Type Object` (ð§).
+
+ð ð â, ð€ ð ⬠ð: **3ïžâ£.1ïžâ£.0ïžâ£**, â³ ð. â«ïž âïž ð ⪠ð» ð & ð ð ïž âªïžâ¡ïž ð ð ⬠ð» ð â, ð± â âªïžâ¡ïž â®ïž ⬠ð» ð, ð ð« ð€ª ðº ð. ð, ðŠ ð â³ ð« ðâðŠº ð 3ïžâ£.1ïžâ£.0ïžâ£,, ð, â«ïž ð ð£ âïž ð ð.
diff --git a/docs/em/docs/tutorial/security/first-steps.md b/docs/em/docs/tutorial/security/first-steps.md
new file mode 100644
index 000000000..6dec6f2c3
--- /dev/null
+++ b/docs/em/docs/tutorial/security/first-steps.md
@@ -0,0 +1,182 @@
+# ðââ - ð¥ ð
+
+â¡ïž ð ð ð âïž ð **ð©âð»** ð ïž ð.
+
+& ð âïž **ðž** â1ïžâ£ ð âïž ð â¡ ð ð (âïž ð± ðž).
+
+& ð ð âïž ð ðž ð â®ïž ð©âð», âïž **ð** & **ð**.
+
+ð¥ ðª âïž **Oauth2ïžâ£** ð ð â®ïž **FastAPI**.
+
+âïž â¡ïž ð ð ð° ð ð ð ð§ ð ð ð¥ ð â¹ ð ðª.
+
+â¡ïž âïž ð§° ð **FastAPI** ðµ ðââ.
+
+## â â«ïž ð
+
+â¡ïž ð¥ âïž ð & ð â â«ïž ð·, & â€Žïž ð¥ ð ð ð ð€ â«ïžâ ð¥.
+
+## â `main.py`
+
+ð ðŒ ð `main.py`:
+
+```Python
+{!../../../docs_src/security/tutorial001.py!}
+```
+
+## ð â«ïž
+
+!!! info
+ ð¥ â `python-multipart`.
+
+ ð€¶ â. `pip install python-multipart`.
+
+ ð â©ïž **Oauth2ïžâ£** âïž "ðš ð" ðš `username` & `password`.
+
+ð ðŒ â®ïž:
+
+
+
+!!! check "â ðŒ â"
+ ð ⪠âïž âš ð "â" ðŒ.
+
+ & ð *â¡ ð ïž* âïž ð¥ ð ð-â¶ïžïž â© ð ð ðª ð.
+
+& ð¥ ð ð â«ïž, ð âïž ð¥ â ðš ð `username` & `password` (& ð ðŠ ð):
+
+
+
+!!! note
+ â«ïž ð« ð€ â«ïžâ ð ð ðš, â«ïž ð ð« ð·. âïž ð¥ ð ð€ ð€.
+
+ð âïž ð« ðž ð ð©âð», âïž â«ïž ð ð§ ð§° ð ð¥ ð ð ð ïž.
+
+â«ïž ðª âïž ðž ð (ð ðª ð).
+
+â«ïž ðª âïž ð¥ 𥳠ðž & âïž.
+
+& â«ïž ðª âïž ð, â¹, â
& ð¯ ð ðž.
+
+## `password` ð§
+
+ð â¡ïž ð¶ ð ð & ð€ â«ïžâ ð ð.
+
+`password` "ð§" 1ïžâ£ ð ("ð§") ð¬ Oauth2ïžâ£, ðµ ðââ & ð€.
+
+Oauth2ïžâ£ ð§ ð ð©âð» âïž ð ïž ðª ð¬ ðœ ð ð ð©âð».
+
+âïž ð ðŒ, ð **FastAPI** ðž ð ðµ ð ïž & ð€.
+
+, â¡ïž ð â«ïž âªïžâ¡ïž ð ð â ð:
+
+* ð©âð» ð `username` & `password` ðž, & ð¯ `Enter`.
+* ðž (ðââ ð©âð» ð¥) ðš ð `username` & `password` ð¯ ð ð ð ïž (ð£ â®ïž `tokenUrl="token"`).
+* ð ïž â
ð `username` & `password`, & ðš â®ïž "ð€" (ð¥ ð« ð ïž ð ð).
+ * "ð€" ð» â®ïž ð ð ð¥ ðª âïž âª â ð ð©âð».
+ * ð, ð€ â ð â®ïž ð°.
+ * , ð©âð» ð âïž ð¹ ð â âª.
+ * & ð¥ ð€ ð, â ð. â«ïž ð« ð ð§² ð ð ð ð· ⟠(ð ðŒ).
+* ðž ðª ð ð€ ð ð±.
+* ð©âð» ð ðž ð¶ â1ïžâ£ ð ðž ðž ð±.
+* ðž ðª â ð
ðœ âªïžâ¡ïž ð ïž.
+ * âïž â«ïž ðª ð€ ð ð¯ ð.
+ * , ð â®ïž ð ð ïž, â«ïž ðš ð `Authorization` â®ïž ð² `Bearer ` â ð€.
+ * ð¥ ð€ ð `foobar`, ð `Authorization` ð ð: `Bearer foobar`.
+
+## **FastAPI**'â `OAuth2PasswordBearer`
+
+**FastAPI** ð ð ð§°, ð ð â, ð ïž ð« ðââ â.
+
+ð ðŒ ð¥ ð âïž **Oauth2ïžâ£**, â®ïž **ð** ð§, âïž **ðš** ð€. ð¥ ð âïž `OAuth2PasswordBearer` ð.
+
+!!! info
+ "ðš" ð€ ð« ðŽ ð.
+
+ âïž â«ïž ð 1ïžâ£ ð âïž ðŒ.
+
+ & â«ïž ðª ð ð âïž ðŒ, ð¥ ð Oauth2ïžâ£ ðŽ & ð â«ïžâ â«ïžâ ð€ â1ïžâ£ ð ð ⣠ð» ð ðª.
+
+ ð ðŒ, **FastAPI** ð ð â®ïž ð§° ð â«ïž.
+
+ðâ ð¥ â ð `OAuth2PasswordBearer` ð ð¥ ð¶ââïž `tokenUrl` ð¢. ð ð¢ ð ð ð ð©âð» (ðž ð ð©âð» ð¥) ð âïž ðš `username` & `password` â ð€ ð€.
+
+```Python hl_lines="6"
+{!../../../docs_src/security/tutorial001.py!}
+```
+
+!!! tip
+ ð¥ `tokenUrl="token"` ð â ð `token` ð ð¥ ð« â. â«ïž â ð, â«ïž ð `./token`.
+
+ â©ïž ð¥ âïž â ð, ð¥ ð ð ïž ð `https://example.com/`, â€Žïž â«ïž ð ð `https://example.com/token`. âïž ð¥ ð ð ïž ð `https://example.com/api/v1/`, â€Žïž â«ïž ð ð `https://example.com/api/v1/token`.
+
+ âïž â ð â â ð ð ðž ð§ ð· ð§ âïž ðŒ ð [â
ð³](../../advanced/behind-a-proxy.md){.internal-link target=_blank}.
+
+ð ð¢ ð« â ð ð / *â¡ ð ïž*, âïž ð£ ð ð `/token` ð 1ïžâ£ ð ð©âð» ð âïž ð€ ð€. ð â¹ âïž ð, & â€Žïž ð ð ïž ð§Ÿ âïž.
+
+ð¥ ð ð â â â¡ ð ïž.
+
+!!! info
+ ð¥ ð ð¶ â "â" ð ðª ð ð ð¢ ð `tokenUrl` â©ïž `token_url`.
+
+ ð â©ïž â«ïž âïž ð ð ð ð. ð ð¥ ð ðª ð¬ ð
ð ð ð« ðââ â ð ðª ð & ð â«ïž ð ð â¹ ð â«ïž.
+
+`oauth2_scheme` ð¢ ð `OAuth2PasswordBearer`, âïž â«ïž "ð§ð²".
+
+â«ïž ðª ð€:
+
+```Python
+oauth2_scheme(some, parameters)
+```
+
+, â«ïž ðª âïž â®ïž `Depends`.
+
+### âïž â«ïž
+
+ð ð ðª ð¶ââïž ð `oauth2_scheme` ð â®ïž `Depends`.
+
+```Python hl_lines="10"
+{!../../../docs_src/security/tutorial001.py!}
+```
+
+ð ð ð ð `str` ð ð ïž ð¢ `token` *â¡ ð ïž ð¢*.
+
+**FastAPI** ð ð ð â«ïž ðª âïž ð ð ð¬ "ðââ â" ð ð (& ð§ ð ïž ð©º).
+
+!!! info "ð¡ â¹"
+ **FastAPI** ð ð ð â«ïž ðª âïž ð `OAuth2PasswordBearer` (ð£ ð) ð¬ ðââ â ð â©ïž â«ïž ð âªïžâ¡ïž `fastapi.security.oauth2.OAuth2`, â ð ð âªïžâ¡ïž `fastapi.security.base.SecurityBase`.
+
+ ð ðââ ð ð ð ïž â®ïž ð (& ð§ ð ïž ð©º) ð âªïžâ¡ïž `SecurityBase`, ð â **FastAPI** ðª ð â ð ïž ð« ð.
+
+## â«ïžâ â«ïž ðš
+
+â«ïž ð ð¶ & ð ðš ð `Authorization` ð, â
ð¥ ð² `Bearer ` â ð€, & ð ðš ð€ `str`.
+
+ð¥ â«ïž ð« ð `Authorization` ð, âïž ð² ð« âïž `Bearer ` ð€, â«ïž ð ðš â®ïž 4ïžâ£0ïžâ£1ïžâ£ ð ð â (`UNAUTHORIZED`) ð.
+
+ð ð« âïž â
ð¥ ð€ ð ðš â. ð ðª ð ð ð¥ ð ð¢ ð ïž, â«ïž ð âïž `str` ð ð€.
+
+ð ðª ð â«ïž ⪠ð ð©º:
+
+
+
+ð¥ ð« â ð¬ ð€, âïž ð â¶ïž âª.
+
+## ð
+
+, 3ïžâ£ âïž 4ïžâ£ â âž, ð ⪠âïž ð ðš ðââ.
diff --git a/docs/em/docs/tutorial/security/get-current-user.md b/docs/em/docs/tutorial/security/get-current-user.md
new file mode 100644
index 000000000..455cb4f46
--- /dev/null
+++ b/docs/em/docs/tutorial/security/get-current-user.md
@@ -0,0 +1,151 @@
+# ð€ â®ïž ð©âð»
+
+â®ïž ð ðââ âïž (â ð§¢ ð ð ð âïž) ð€ *â¡ ð ïž ð¢* `token` `str`:
+
+```Python hl_lines="10"
+{!../../../docs_src/security/tutorial001.py!}
+```
+
+âïž ð ð« ð â .
+
+â¡ïž â â«ïž ð€ ð¥ â®ïž ð©âð».
+
+## â ð©âð» ð·
+
+ð¥, â¡ïž â Pydantic ð©âð» ð·.
+
+ð ð ð¥ âïž Pydantic ð£ ðª, ð¥ ðª âïž â«ïž ð ð:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="5 12-16"
+ {!> ../../../docs_src/security/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="3 10-14"
+ {!> ../../../docs_src/security/tutorial002_py310.py!}
+ ```
+
+## â `get_current_user` ð
+
+â¡ïž â ð `get_current_user`.
+
+ð ð ð ðª âïž ð§-ð â
+
+`get_current_user` ð âïž ð â®ïž ð `oauth2_scheme` ð¥ â â.
+
+ð ð¥ ðš â *â¡ ð ïž* ð, ð ð ð `get_current_user` ð ðš `token` `str` âªïžâ¡ïž ð§-ð `oauth2_scheme`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="25"
+ {!> ../../../docs_src/security/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="23"
+ {!> ../../../docs_src/security/tutorial002_py310.py!}
+ ```
+
+## ð€ ð©âð»
+
+`get_current_user` ð âïž (â) ð ð¢ ð¥ â, ð â ð€ `str` & ðš ð Pydantic `User` ð·:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="19-22 26-27"
+ {!> ../../../docs_src/security/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="17-20 24-25"
+ {!> ../../../docs_src/security/tutorial002_py310.py!}
+ ```
+
+## ð â®ïž ð©âð»
+
+ð ð¥ ðª âïž ð `Depends` â®ïž ð `get_current_user` *â¡ ð ïž*:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="31"
+ {!> ../../../docs_src/security/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="29"
+ {!> ../../../docs_src/security/tutorial002_py310.py!}
+ ```
+
+ð ð ð¥ ð£ ð `current_user` Pydantic ð· `User`.
+
+ð ð â¹ ðºð² ð ð¢ â®ïž ð ð ïž & ð â
.
+
+!!! tip
+ ð 5ïžâ£ð ð ð ðš ðª ð£ â®ïž Pydantic ð·.
+
+ ð¥ **FastAPI** ð ð« ð€ ðš â©ïž ð âïž `Depends`.
+
+!!! check
+ ð ð ð âïž ð â ð¥ âïž ð ð (ð "â") ð ð ðš `User` ð·.
+
+ ð¥ ð« ð« âïž ðŽ 1ïžâ£ ð ð ðª ðš ð ð ðœ.
+
+## ð ð·
+
+ð ðª ð ð€ â®ïž ð©âð» ð *â¡ ð ïž ð¢* & ð
â®ïž ðââ ð ïž **ð ð** ð, âïž `Depends`.
+
+& ð ðª âïž ð ð· âïž ðœ ðââ ð (ð ðŒ, Pydantic ð· `User`).
+
+âïž ð ð« ð« âïž ð¯ ðœ ð·, ð âïž ð.
+
+ð ð âïž `id` & `email` & ð« âïž ð `username` ð ð· â ð. ð ðª âïž ð ð ð§°.
+
+ð ð âïž `str`â âïž `dict`â âïž ðœ ð ð· ð ð â â«ïž ð ð· ð ð.
+
+ð ð€ ð« âïž ð©âð» ð ð¹ ð ðž âïž ð€, ð€, âïž ð âïž, ð âïž ð ð€ â ð, â«ïž ð ð· ð.
+
+âïž ð ð ð·, ð ð ð, ð ð ðœ ð ð ðª ð ðž. **FastAPI** âïž ð ð â®ïž ð ð âïž.
+
+## ð ð
+
+ð ðŒ 5ïžâ£ð ð ð. âïž ð€¯ ð ð¥ ð ðââ, ð ð·, ð ð¢ & *â¡ ð ïž* ð ð.
+
+âïž ð¥ ð â.
+
+ðââ & ð ð ð© â ð.
+
+& ð ðª â â«ïž ð ð ð. & , âïž â«ïž â ðŽ ð, ð ð¥. â®ïž ð ðª.
+
+âïž ð ðª âïž ð¯ ð (*â¡ ð ïž*) âïž ð ðââ âïž.
+
+& ð ð« (âïž ð â ð« ð ð ð) ðª â ð ð€-âïž ð« ð âïž ð ð ð ð â.
+
+& ð ð ð¯ *â¡ ð ïž* ðª ð€ª 3ïžâ£ âž:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="30-32"
+ {!> ../../../docs_src/security/tutorial002.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="28-30"
+ {!> ../../../docs_src/security/tutorial002_py310.py!}
+ ```
+
+## ð
+
+ð ðª ð ð€ â®ïž ð©âð» ð ð *â¡ ð ïž ð¢*.
+
+ð¥ ⪠ð¬ ð€.
+
+ð¥ ðª ð® *â¡ ð ïž* ð©âð»/ð©âð» ð€ ðš `username` & `password`.
+
+ð ð â.
diff --git a/docs/em/docs/tutorial/security/index.md b/docs/em/docs/tutorial/security/index.md
new file mode 100644
index 000000000..5b507af3e
--- /dev/null
+++ b/docs/em/docs/tutorial/security/index.md
@@ -0,0 +1,101 @@
+# ðââ ð¶
+
+ð€ ð ð ðµ ðââ, ð€ & â.
+
+& â«ïž ð ð & "â " â.
+
+ð ð ïž & âïž ðµ ðââ & ð€ â ðŠ ðž ð¯ & ð (ð ðŒ â«ïž ðª 5ïžâ£0ïžâ£ ð¯ âïž ð
ð ð â).
+
+**FastAPI** ð ð ð§° â¹ ð ð
â®ïž **ðââ** ðª, ð, ð© ð, ðµ âïž ð¬ & ð¡ ð ðââ ð§.
+
+âïž ð¥, â¡ïž â
ð€ª ð§.
+
+## ð â
+
+ð¥ ð ð« ð
ð ð ð â & ð ðª ð® ðââ â®ïž ð€ âïž ð ð & ð *â¶ïžïž ð*, ð¶ â ð.
+
+## Oauth2ïžâ£
+
+Oauth2ïžâ£ ð§ ð ð¬ ð ð ðµ ð€ & â.
+
+â«ïž ð¬ ð§ & ð ð ð âïž ðŒ.
+
+â«ïž ð ð ð âïž "ð¥ ð¥³".
+
+ð â«ïžâ ð âïž â®ïž "ð³ â®ïž ð±ð, ðºðžð, ð±ð, ð" âïž ð.
+
+### â³ 1ïžâ£
+
+ð€ â³ 1ïžâ£, â ð¶ ð âªïžâ¡ïž Oauth2ïžâ£, & ð ð, â«ïž ð ð ð§ ð â ð ð».
+
+â«ïž ð« ð¶ ð âïž âïž ð.
+
+Oauth2ïžâ£ ð« â â ð ð», â«ïž â ð âïž ð ðž ðŠ â®ïž ðºðžð.
+
+!!! tip
+ ð ð **ð ïž** ð ð ð â â ð ðºðžð ð, âïž Traefik & â¡ïž ð.
+
+
+## ð©âð» ð
+
+ð©âð» ð â1ïžâ£ ð§, ð§¢ ð **Oauth2ïžâ£**.
+
+â«ïž â Oauth2ïžâ£ â ð ð ð¶ ð Oauth2ïžâ£, ð â â«ïž ð
ð ïž.
+
+ðŒ, ðºðžð ð³ âïž ð©âð» ð (â ð âïž Oauth2ïžâ£).
+
+âïž ð±ð ð³ ð« ðâðŠº ð©âð» ð. â«ïž âïž ð® ð ð Oauth2ïžâ£.
+
+### ð©âð» (ð« "ð©âð» ð")
+
+ð€ "ð©âð»" ð§. ð ð â ð ð **ð©âð» ð**, âïž ð« âïž ð Oauth2ïžâ£.
+
+, â«ïž ð ð âïž.
+
+â«ïž ð« ð¶ ð âïž âïž ð.
+
+## ð
+
+ð (⪠ð ðŠ) ð ð§ ð ð (ð ð ðŸ ð).
+
+**FastAPI** âïž ð **ð**.
+
+ð â«ïžâ â â«ïž ðª âïž ð ð§ ð ð§Ÿ ð¢, ð â¡, âïž.
+
+ð âïž ð ð¬ ð ðââ "â".
+
+âïž ð«, ð ðª â ð ð ð« ð©-âïž ð§°, ð ð ð ð§Ÿ âïž.
+
+ð ð¬ ð ðââ â:
+
+* `apiKey`: ðž ð¯ ð ð ðª ð âªïžâ¡ïž:
+ * ð¢ ð¢.
+ * ð.
+ * ðª.
+* `http`: ð© ðºðžð ð€ âïž, ð:
+ * `bearer`: ð `Authorization` â®ïž ð² `Bearer ` â ð€. ð ð âªïžâ¡ïž Oauth2ïžâ£.
+ * ðºðžð ð° ð€.
+ * ðºðžð ð°, âïž.
+* `oauth2`: ð Oauth2ïžâ£ ð ðµ ðââ (ð€ "ð§").
+ * ð ð« ð§ â ð â³ 2ïžâ£.0ïžâ£ ð€ ðâðŠº (ð ðºðžð, ð±ð, ð±ð, ð, âïž):
+ * `implicit`
+ * `clientCredentials`
+ * `authorizationCode`
+ * âïž ð€ 1ïžâ£ ð¯ "ð§" ð ðª ð âïž ð ð€ ð ðž ð:
+ * `password`: â ð ð ð ðŒ ð.
+* `openIdConnect`: âïž ð ð¬ â ð Oauth2ïžâ£ ð€ ð ð.
+ * ð ð§ ð â«ïžâ ð¬ ð©âð» ð ð§.
+
+
+!!! tip
+ ð ïž ð ð€/â ðâðŠº ð ðºðžð, ð±ð, ð±ð, ð, âïž. ðª & ð¶ â©.
+
+ ð
ð â ð ð€/â ðâðŠº ð ð, âïž **FastAPI** ð€ ð ð§° â«ïž ðª, ⪠ðš ðïž ðââ ð.
+
+## **FastAPI** ð
+
+FastAPI ð ð ð§° ð ð ðââ â `fastapi.security` ð¹ ð ð âïž ð ðââ ð ïž.
+
+â ð ð ð ð â ð® ðââ ð ð ïž âïž ð ð§° ð **FastAPI**.
+
+& ð ð ð â â«ïž ð€ ð ð ïž ð ð ð§Ÿ âïž.
diff --git a/docs/em/docs/tutorial/security/oauth2-jwt.md b/docs/em/docs/tutorial/security/oauth2-jwt.md
new file mode 100644
index 000000000..bc207c566
--- /dev/null
+++ b/docs/em/docs/tutorial/security/oauth2-jwt.md
@@ -0,0 +1,297 @@
+# Oauth2ïžâ£ â®ïž ð (& ð), ðš â®ïž ð¥ ð€
+
+ð ð ð¥ âïž ð ðââ ð§, â¡ïž â ðž ð€ ð, âïž ð¥ ð€ & ð ð ð.
+
+ð ð ð³ ð ðª ð€ âïž ð ðž, ð ð #ïžâ£ ð ðœ, âïž.
+
+ð¥ ð â¶ïž âªïžâ¡ïž ðâ ð¥ âïž â®ïž ð & ð â«ïž.
+
+## ð ð¥
+
+ð¥ â "ð» ðž ð€".
+
+â«ïž ð© ð« ð» ð ð ð§ ð» ðµ ð. â«ïž ð ð ð:
+
+```
+eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
+```
+
+â«ïž ð« ð,, ð ðª ð¡ â¹ âªïžâ¡ïž ð.
+
+âïž â«ïž ð. , ðâ ð ðš ð€ ð ð âš, ð ðª â ð ð ð€ âš â«ïž.
+
+ð ð, ð ðª â ð€ â®ïž ð, â¡ïž ð¬, 1ïžâ£ ðïž. & â€Žïž ðâ ð©âð» ð ð â ð â®ïž ð€, ð ð ð ð©âð» ð¹ ð âïž.
+
+â®ïž ðïž, ð€ ð ð & ð©âð» ð ð« â & ð âïž ð ð ð€ ð ð€. & ð¥ ð©âð» (âïž ð¥ ð¥³) ð ð ð€ ð ð, ð ð ðª ð â«ïž, â©ïž ð³ ð ð« ð.
+
+ð¥ ð ð ð€Ÿ â®ïž ð¥ ð€ & ð â ð« ð·, â
https://jwt.io.
+
+## â `python-jose`
+
+ð¥ ðª â `python-jose` ð & â ð¥ ð€ ð:
+
+
+
+â ðž ð ð â.
+
+âïž ð:
+
+ð: `johndoe`
+ð: `secret`
+
+!!! check
+ ð ð ð³ ð ð¢ ð "`secret`", ð¥ ðŽ âïž #ïžâ£ â¬.
+
+
+
+ð€ ð `/users/me/`, ð ð ð€ ðš:
+
+```JSON
+{
+ "username": "johndoe",
+ "email": "johndoe@example.com",
+ "full_name": "John Doe",
+ "disabled": false
+}
+```
+
+
+
+ð¥ ð ð ð©âð» ð§°, ð ðª ð â ð ðš ðŽ ð ð€, ð ðŽ ðš ð¥ ðš ð ð©âð» & ð€ ð ð ð€, âïž ð« â®ïž:
+
+
+
+!!! note
+ ð ð `Authorization`, â®ïž ð² ð â¶ïž â®ïž `Bearer `.
+
+## ð§ âïž â®ïž `scopes`
+
+Oauth2ïžâ£ âïž ð "â".
+
+ð ðª âïž ð« ð® ð¯ â â ð¥ ð€.
+
+â€Žïž ð ðª ð€ ð ð€ ð©âð» ð âïž ð¥ ð¥³, ð â®ïž ð ð ïž â®ïž â ð«.
+
+ð ðª ð¡ â âïž ð« & â ð« ð ïž ð **FastAPI** ⪠**ð§ ð©âð» ðŠ®**.
+
+## ð
+
+â®ïž â«ïžâ ð âïž ð ð ð, ð ðª â ð ð **FastAPI** ðž âïž ð© ð Oauth2ïžâ£ & ð¥.
+
+ð ð ð ïž ð ðââ â¶ïžïž ð ð ð ð.
+
+ð ðŠ ð ð â«ïž ð âïž â ð â â®ïž ðœ ð·, ðœ, & ðª â. & ð ðŠ ð ð ð ðââïž ð
ð€ âïž ðââ â ð.
+
+---
+
+**FastAPI** ð« â ð â â®ïž ð ðœ, ðœ ð· âïž ð§°.
+
+â«ïž ð€ ð ð ðª â ð ð ð ð ð ð.
+
+& ð ðª âïž ð ð ð ð§ & ð âïž ðŠ ð `passlib` & `python-jose`, â©ïž **FastAPI** ð« ð ð ð ð ïž ð ïž ð¢ ðŠ.
+
+âïž â«ïž ð ð ð§° ð ð ïž ð
ðª ðµ ð¯ ðª, â, âïž ðââ.
+
+& ð ðª âïž & ð ïž ð, ð© ð ïž, ð Oauth2ïžâ£ ð¶ ð
ð.
+
+ð ðª ð¡ ð
**ð§ ð©âð» ðŠ®** ð â âïž Oauth2ïžâ£ "â", ð ð-𧜠â âïž, ð ð« ð ð©. Oauth2ïžâ£ â®ïž â ð ïž âïž ð ðŠ ð€ ðâðŠº, ð ð±ð, ðºðžð, ð, ð€žââ, ð±ð, âïž. â ð¥ 𥳠ðž ð â®ïž ð« ð ð ðšâðŒ ð« ð©âð».
diff --git a/docs/em/docs/tutorial/security/simple-oauth2.md b/docs/em/docs/tutorial/security/simple-oauth2.md
new file mode 100644
index 000000000..765d94039
--- /dev/null
+++ b/docs/em/docs/tutorial/security/simple-oauth2.md
@@ -0,0 +1,315 @@
+# ð
Oauth2ïžâ£ â®ïž ð & ðš
+
+ð â¡ïž ð âªïžâ¡ïž â®ïž ð & ð® â ð âïž ð ðââ ð§.
+
+## ð€ `username` & `password`
+
+ð¥ ð âïž **FastAPI** ðââ ð ð€ `username` & `password`.
+
+Oauth2ïžâ£ â ð ðâ âïž "ð ð§" (ð ð¥ âïž) ð©âð»/ð©âð» ð ðš `username` & `password` ð ðš ðœ.
+
+& ð ð¬ ð ð âïž ð ð ð. `user-name` âïž `email` ð«ð ð·.
+
+âïž ð« ð, ð ðª ðŠ â«ïž ð ð ð ð ð©âð» ðž.
+
+& ð ðœ ð· ðª âïž ð ð ð ð ð.
+
+âïž ð³ *â¡ ð ïž*, ð¥ ðª âïž ð ð ð â®ïž ð (& ðª, ðŒ, âïž ð ïž ð ïž ð§Ÿ âïž).
+
+ð ðµðž ð `username` & `password` ð ðš ðš ðœ (, ð
ââ ð» ð¥).
+
+### `scope`
+
+ð ð¬ ð ð©âð» ðª ðš â1ïžâ£ ðš ð "`scope`".
+
+ðš ð ð `scope` (â), âïž â«ïž ð€ ð ð» â®ïž "â" ð ð.
+
+ð "â" ð» (ðµ ð).
+
+ð« ð âïž ð£ ð¯ ðââ â, ðŒ:
+
+* `users:read` âïž `users:write` â ðŒ.
+* `instagram_basic` âïž ð±ð / ð±ð.
+* `https://www.googleapis.com/auth/drive` âïž ðºðžð.
+
+!!! info
+ Oauth2ïžâ£ "â" ð» ð ð£ ð¯ â â.
+
+ â«ïž ð« ð€ ð¥ â«ïž âïž ð ðŠ¹ ð `:` âïž ð¥ â«ïž ð.
+
+ ð â¹ ð ïž ð¯.
+
+ Oauth2ïžâ£ ð« ð».
+
+## ð ð€ `username` & `password`
+
+ð â¡ïž âïž ð ð **FastAPI** ðµ ð.
+
+### `OAuth2PasswordRequestForm`
+
+ð¥, ð `OAuth2PasswordRequestForm`, & âïž â«ïž ð â®ïž `Depends` *â¡ ð ïž* `/token`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="4 76"
+ {!> ../../../docs_src/security/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="2 74"
+ {!> ../../../docs_src/security/tutorial003_py310.py!}
+ ```
+
+`OAuth2PasswordRequestForm` ð ð ð ð£ ðš ðª â®ïž:
+
+* `username`.
+* `password`.
+* ðŠ `scope` ð ðŠ ð», â ð» ð ð.
+* ðŠ `grant_type`.
+
+!!! tip
+ Oauth2ïžâ£ ð ð€ *ð* ð `grant_type` â®ïž ð§ ð² `password`, âïž `OAuth2PasswordRequestForm` ð« ð ïž â«ïž.
+
+ ð¥ ð ðª ð ïž â«ïž, âïž `OAuth2PasswordRequestFormStrict` â©ïž `OAuth2PasswordRequestForm`.
+
+* ðŠ `client_id` (ð¥ ð« ðª â«ïž ð ðŒ).
+* ðŠ `client_secret` (ð¥ ð« ðª â«ïž ð ðŒ).
+
+!!! info
+ `OAuth2PasswordRequestForm` ð« ð ð **FastAPI** `OAuth2PasswordBearer`.
+
+ `OAuth2PasswordBearer` â **FastAPI** ð ð â«ïž ðââ â. â«ïž ð® ð ð ð.
+
+ âïž `OAuth2PasswordRequestForm` ð ð ð ð ðª âïž â ð, âïž ð ðª âïž ð£ `Form` ð¢ ð.
+
+ âïž â«ïž â âïž ðŒ, â«ïž ð **FastAPI** ð, â â«ïž â©.
+
+### âïž ðš ðœ
+
+!!! tip
+ ð ð ð `OAuth2PasswordRequestForm` ð ð« âïž ð¢ `scope` â®ïž ð ð» ðœ ð, â©ïž, â«ïž ð âïž `scopes` ð¢ â®ïž â ð ð» ð â ðš.
+
+ ð¥ ð« âïž `scopes` ð ðŒ, âïž ð ïž ð€ ð¥ ð ðª â«ïž.
+
+ð, ð€ ð©âð» ð âªïžâ¡ïž (â) ðœ, âïž `username` âªïžâ¡ïž ðš ð.
+
+ð¥ ð€ ð
ââ â
ð©âð», ð¥ ðš â ð¬ "â ð âïž ð".
+
+â, ð¥ âïž â `HTTPException`:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="3 77-79"
+ {!> ../../../docs_src/security/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="1 75-77"
+ {!> ../../../docs_src/security/tutorial003_py310.py!}
+ ```
+
+### â
ð
+
+ð â ð¥ âïž ð©âð» ð âªïžâ¡ïž ð ðœ, âïž ð¥ ð« â
ð.
+
+â¡ïž ð® ð ðœ Pydantic `UserInDB` ð· ð¥.
+
+ð ð ð
ð ð¢ ð,, ð¥ ð âïž (â) ð ð âïž.
+
+ð¥ ð ð« ð, ð¥ ðš ð â.
+
+#### ð ð
+
+"ð" â: ð ð (ð ð ðŒ) ð ð ð¢ (ð») ð ð ð ð.
+
+ðâ ð ð¶ââïž â«ïžâ ð ð (â«ïžâ ð ð) ð ð€ â«ïžâ ð ð.
+
+âïž ð ð«ð ð âªïžâ¡ïž ð ð ð.
+
+##### â«ïžâ âïž ð ð
+
+ð¥ ð ðœ ð, ð§ââ ð ð« âïž ð ð©âð»' ð¢ ð, ðŽ#ïžâ£.
+
+, ð§ââ ð ð« ðª ð âïž ð ð ð â1ïžâ£ âïž (ð ð©âð» âïž ð ð ð, ð ð â ).
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="80-83"
+ {!> ../../../docs_src/security/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="78-81"
+ {!> ../../../docs_src/security/tutorial003_py310.py!}
+ ```
+
+#### ð `**user_dict`
+
+`UserInDB(**user_dict)` â:
+
+*ð¶ââïž ð & ð² `user_dict` ð ð-ð² â, ð:*
+
+```Python
+UserInDB(
+ username = user_dict["username"],
+ email = user_dict["email"],
+ full_name = user_dict["full_name"],
+ disabled = user_dict["disabled"],
+ hashed_password = user_dict["hashed_password"],
+)
+```
+
+!!! info
+ ð
ð ð `**ð©âð»_ #ïžâ£ ` â
ð [ð§Ÿ **â ð·**](../extra-models.md#about-user_indict){.internal-link target=_blank}.
+
+## ðš ð€
+
+ðš `token` ð ð ð» ð.
+
+â«ïž ð âïž `token_type`. ð ðŒ, ð¥ âïž "ðš" ð€, ð€ ð ð "`bearer`".
+
+& â«ïž ð âïž `access_token`, â®ïž ð» â ð ð ð€.
+
+ð ð
ðŒ, ð¥ ð ð ð & ðš ð `username` ð€.
+
+!!! tip
+ â ð, ð ð ð ð° ð ð ïž, â®ïž ð #ïžâ£ & ð¥ ð€.
+
+ âïž ð, â¡ïž ð¯ ð ð¯ â¹ ð¥ ðª.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="85"
+ {!> ../../../docs_src/security/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="83"
+ {!> ../../../docs_src/security/tutorial003_py310.py!}
+ ```
+
+!!! tip
+ ð, ð ð ðš ð» â®ïž `access_token` & `token_type`, ð ð ðŒ.
+
+ ð ð³ ð ð âïž ð ð ð, & â ð ð âïž ð ð» ð.
+
+ â«ïž ð ðŽ ð ð ð âïž ð â ð, ð ïž â®ïž ð§.
+
+ ð, **FastAPI** ðµ â«ïž ð.
+
+## â¹ ð
+
+ð ð¥ ð â¹ ð ð.
+
+ð¥ ð ð€ `current_user` *ðŽ* ð¥ ð ð©âð» ðŠ.
+
+, ð¥ â ð ð `get_current_active_user` ð ð âïž `get_current_user` ð.
+
+ð¯ââïž ð ð ð ðš ðºðžð â ð¥ ð©âð» ð« ð, âïž ð¥ ð.
+
+, ð ð, ð¥ ð ðŽ ð€ ð©âð» ð¥ ð©âð» ð, â ð, & ðŠ:
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="58-66 69-72 90"
+ {!> ../../../docs_src/security/tutorial003.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python hl_lines="55-64 67-70 88"
+ {!> ../../../docs_src/security/tutorial003_py310.py!}
+ ```
+
+!!! info
+ ð ð `WWW-Authenticate` â®ïž ð² `Bearer` ð¥ ð¬ ð¥ ð ð.
+
+ ð ðºðžð (â) ð ð 4ïžâ£0ïžâ£1ïžâ£ "â" ð€ ðš `WWW-Authenticate` ð.
+
+ ðŒ ðš ð€ (ð ðŒ), ð² ð ð ð `Bearer`.
+
+ ð ðª ð€ ð¶ ð â ð & â«ïž ð ð·.
+
+ âïž â«ïž ð ð¥ ð ïž â®ïž ð§.
+
+ , ð€ 5ïžâ£ð ð§° ð â & âïž â«ïž (ð âïž ð®) & ð ðª â ð âïž ð ð©âð», ð âïž ð®.
+
+ ð ð° ð©...
+
+## ð â«ïž ð¯
+
+ð ð ð©º: http://127.0.0.1:8000/docs.
+
+### ð
+
+ð "â" ðŒ.
+
+âïž ð:
+
+ð©âð»: `johndoe`
+
+ð: `secret`
+
+
+
+â®ïž ð âïž, ð ð ð â«ïž ð:
+
+
+
+### ð€ ð ð ð©âð» ðœ
+
+ð âïž ð ïž `GET` â®ïž â¡ `/users/me`.
+
+ð ð ð€ ð ð©âð» ð, ð:
+
+```JSON
+{
+ "username": "johndoe",
+ "email": "johndoe@example.com",
+ "full_name": "John Doe",
+ "disabled": false,
+ "hashed_password": "fakehashedsecret"
+}
+```
+
+
+
+ð¥ ð ð ð â¹ & â, & â€Žïž ð ð ð ïž ð, ð ð ð€ ðºðžð 4ïžâ£0ïžâ£1ïžâ£ â:
+
+```JSON
+{
+ "detail": "Not authenticated"
+}
+```
+
+### ð ð©âð»
+
+ð ð â®ïž ð ð©âð», ð â®ïž:
+
+ð©âð»: `alice`
+
+ð: `secret2`
+
+& ð âïž ð ïž `GET` â®ïž â¡ `/users/me`.
+
+ð ð ð€ "ð ð©âð»" â, ð:
+
+```JSON
+{
+ "detail": "Inactive user"
+}
+```
+
+## ð
+
+ð ð âïž ð§° ð ïž ð ðââ âïž âïž ð `username` & `password` ð ð ïž.
+
+âïž ð« ð§°, ð ðª â ðââ âïž ð â®ïž ð ðœ & â®ïž ð ð©âð» âïž ðœ ð·.
+
+ðŽ â¹ â ð â«ïž ð« ð€ "ð".
+
+â ð ð ð ð â âïž ð ð ð ð & ð¥ ð€.
diff --git a/docs/em/docs/tutorial/sql-databases.md b/docs/em/docs/tutorial/sql-databases.md
new file mode 100644
index 000000000..9d46c2460
--- /dev/null
+++ b/docs/em/docs/tutorial/sql-databases.md
@@ -0,0 +1,786 @@
+# ð (ð) ðœ
+
+**FastAPI** ð« ð ð âïž ð (ð) ðœ.
+
+âïž ð ðª âïž ð ð ðœ ð ð ð.
+
+ð¥ ð¥ ð ð ðŒ âïž ðžð².
+
+ð ðª ðª ð ïž â«ïž ð ðœ ðâðŠº ðžð², ð:
+
+* â³
+* â³
+* ð
+* ðž
+* ð€žââ ð ðœ, âïž.
+
+ð ðŒ, ð¥ ð âïž **ð**, â©ïž â«ïž âïž ð ð & ð âïž ð ïž ðâðŠº. , ð ðª ð ð ðŒ & ð â«ïž.
+
+âª, ð ð ðž, ð ðª ð âïž ðœ ðœ ð **â³**.
+
+!!! tip
+ ð€ ð ð ð â®ïž **FastAPI** & **â³**, ð âïž ð **â**, ð ðž & ð ð§°: https://github.com/tiangolo/full-stack-fastapi-postgresql
+
+!!! note
+ ð ð ð ð ð© `SQLAlchemy` ð ð ð âïž â®ïž ð ð ïž.
+
+ **FastAPI** ð¯ ð ð€ª ð§.
+
+## ð
+
+**FastAPI** ð· â®ïž ð ðœ & ð ð ð ð¬ ðœ.
+
+â â âïž "ð": "ð-ð ðº" ð.
+
+ð âïž ð§° ð ("*ðº*") ð *ð* ð & ðœ ð ("*ð*").
+
+â®ïž ð, ð ð â ð ð ðš ð ð ðœ, ð ð¢ ð ðš ð, â®ïž ð & ð.
+
+ðŒ ð `Pet` ðª ðš ð ð `pets`.
+
+& ð *ð* ð ð ð ðš â ðœ.
+
+ðŒ ð `orion_cat` (ð `Pet`) ðª âïž ð¢ `orion_cat.type`, ð `type`. & ð² ð ð¢ ðª, â
`"cat"`.
+
+ð« ð âïž ð§° â ð âïž ð ð ð âïž ðšâðŒ.
+
+ð ð, ð ðª âïž ð¢ `orion_cat.owner` & ðšâðŒ ð ð ðœ ð ð¶ ðšâðŒ, â âªïžâ¡ïž ð *ðšâðŒ*.
+
+, `orion_cat.owner.name` ðª ð (âªïžâ¡ïž `name` ð `owners` ð) ð ð¶ ðšâðŒ.
+
+â«ïž ðª âïž ð² ð `"Arquilian"`.
+
+& ð ð ð ð· ð€ â¹ âªïžâ¡ïž ð ð *ðšâðŒ* ðâ ð ð ð â«ïž âªïžâ¡ïž ð ð¶ ð.
+
+â ð ðŒ: â³-ð (ð â³ ð ïž), ðžð² ð (ð ðžð², ð¬ ð ïž) & ð (ð¬ ð ïž), ðª ð.
+
+ð¥ ð¥ ð ð â ð· â®ïž **ðžð² ð**.
+
+ð ð ð ðª âïž ð ð ð.
+
+!!! tip
+ ð€ ð ð âïž ð ð¥ ð©º.
+
+## ð ð
+
+ð« ðŒ, â¡ïž ð¬ ð âïž ð ð `my_super_project` ð ð ð§-ð ð€ `sql_app` â®ïž ð ð ð:
+
+```
+.
+âââ sql_app
+ âââ __init__.py
+ âââ crud.py
+ âââ database.py
+ âââ main.py
+ âââ models.py
+ âââ schemas.py
+```
+
+ð `__init__.py` ð ð, âïž â«ïž ð¬ ð ð `sql_app` â®ïž ð ð® ð¹ (ð ð) ðŠ.
+
+ð â¡ïž ð â«ïžâ ð ð/ð¹ ðš.
+
+## â `SQLAlchemy`
+
+ð¥ ð ðª â `SQLAlchemy`:
+
+
+
+## ð â®ïž ðœ ð
+
+ð¥ ð ð ð¬ ð ðœ (ð) ð, â¡ FastAPI, â¹ ð® ð, ð® ð, ð, âº, ð ð, âïž. ð ðª âïž ðœ ð¥ ð.
+
+â«ïž ð ð ð ð:
+
+
+
+ð ðª âïž ð³ ð ð¥ ð ð ð âïž ExtendsClass.
+
+## ð ðœ ð â®ïž ð ïž
+
+ð¥ ð ðª ð« âïž ð â®ïž `yield` - ðŒ, ð¥ ð ð« âïž **ð 3ïžâ£.7ïžâ£** & ðª ð« â "ð" ð€ ð **ð 3ïžâ£.6ïžâ£** - ð ðª â ð ð "ð ïž" ð ð.
+
+"ð ïž" ð ð¢ ð ð§ ð ïž ð ðš, â®ïž ð ð ïž â, & ð ð ïž â®ïž ð ð¢.
+
+### â ð ïž
+
+ð ïž ð¥ ð ð® (ð¢) ð â ð ðžð² `SessionLocal` ð ðš, ð® â«ïž ðš & â€Žïž ð â«ïž ð ðš ð.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python hl_lines="14-22"
+ {!> ../../../docs_src/sql_databases/sql_app/alt_main.py!}
+ ```
+
+=== "ð 3ïžâ£.9ïžâ£ & ð"
+
+ ```Python hl_lines="12-20"
+ {!> ../../../docs_src/sql_databases/sql_app_py39/alt_main.py!}
+ ```
+
+!!! info
+ ð¥ ð® ð `SessionLocal()` & ð ðš `try` ð«.
+
+ & â€Žïž ð¥ ð â«ïž `finally` ð«.
+
+ ð ð ð¥ â ð ðœ ð ð§ ðª â®ïž ðš. ð¥ ð€ â ⪠ð ðš.
+
+### ð `request.state`
+
+`request.state` ð ð `Request` ð. â«ïž ð€ ðª â ð ð ðš â«ïž, ð ðœ ð ð ðŒ. ð ðª â ð
ð â«ïž ð 𩺠ð `Request` ðµðž.
+
+ð¥ ð ðŒ, â«ïž â¹ ð¥ ð ð ðœ ð âïž ð ð ðš, & â€Žïž ð â®ïž (ð ïž).
+
+### ð â®ïž `yield` âïž ð ïž
+
+â **ð ïž** ð¥ ð â«ïžâ ð â®ïž `yield` ðš, â®ïž ðº:
+
+* â«ïž ð ð ð & ð ð
ð.
+* ð ïž âïž `async` ð¢.
+ * ð¥ ð€ ð â«ïž ð âïž "â" ðž, â«ïž ðª "ð«" ð ðž ð€ & ð ð ð.
+ * ð â«ïž ð² ð« ð¶ â ð¥ â®ïž ð `SQLAlchemy` ð·.
+ * âïž ð¥ ð ð® ð ð ð ïž ð âïž ð ð€/ð
Ÿ â, â«ïž ðª â€Žïž â .
+* ð ïž ð *ð * ðš.
+ * , ð ð â ð ðš.
+ * ðâ *â¡ ð ïž* ð ðµ ð ðš ð« ðª ðœ.
+
+!!! tip
+ â«ïž ð² ð âïž ð â®ïž `yield` ðâ ð« ð¥ âïž ðŒ.
+
+!!! info
+ ð â®ïž `yield` ð® â³ **FastAPI**.
+
+ â®ïž ⬠ð ð° ðŽ âïž ðŒ â®ïž ð ïž & ð€ ð² ð ðž âïž ð ïž ðœ ð ð§Ÿ.
diff --git a/docs/em/docs/tutorial/static-files.md b/docs/em/docs/tutorial/static-files.md
new file mode 100644
index 000000000..6090c5338
--- /dev/null
+++ b/docs/em/docs/tutorial/static-files.md
@@ -0,0 +1,39 @@
+# ð» ð
+
+ð ðª ðŠ ð» ð ð âªïžâ¡ïž ð âïž `StaticFiles`.
+
+## âïž `StaticFiles`
+
+* ð `StaticFiles`.
+* "ð»" `StaticFiles()` ð ð¯ â¡.
+
+```Python hl_lines="2 6"
+{!../../../docs_src/static_files/tutorial001.py!}
+```
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.staticfiles import StaticFiles`.
+
+ **FastAPI** ð ð `starlette.staticfiles` `fastapi.staticfiles` ðª ð, ð©âð». âïž â«ïž ð€ ð ð âªïžâ¡ïž ð.
+
+### â«ïžâ "ð"
+
+"ð" â â ð "ð¬" ðž ð¯ â¡, ð â€Žïž â ð
ð ð ð§-â¡.
+
+ð ð âªïžâ¡ïž âïž `APIRouter` ð» ðž ð ð¬. ð & 𩺠âªïžâ¡ïž ð ð ðž ð ð« ð ð³ âªïžâ¡ïž ð» ðž, âïž.
+
+ð ðª â ð
ð ð **ð§ ð©âð» ðŠ®**.
+
+## â¹
+
+ð¥ `"/static"` ð ð§-â¡ ð "ð§-ðž" ð "ð»" ð. , ð â¡ ð â¶ïž â®ïž `"/static"` ð ðµ â«ïž.
+
+`directory="static"` ð ð ð ð ð ð ð» ð.
+
+`name="static"` ð€ â«ïž ð ð ðª âïž ð **FastAPI**.
+
+ð ð« ð¢ ðª ð ð "`static`", ð ð« â®ïž ðª & ð¯ â¹ ð ð ðž.
+
+## ð
â¹
+
+ð â¹ & ð â
ð 𩺠ð ð» ð.
diff --git a/docs/em/docs/tutorial/testing.md b/docs/em/docs/tutorial/testing.md
new file mode 100644
index 000000000..999d67cd3
--- /dev/null
+++ b/docs/em/docs/tutorial/testing.md
@@ -0,0 +1,188 @@
+# ð¬
+
+ð ð, ð¬ **FastAPI** ðž â© & ð.
+
+â«ïž âïž ð ðžð², â ð ð âïž ð ðš, â«ïž ð¶ ð° & ðïž.
+
+â®ïž â«ïž, ð ðª âïž â³ ð â®ïž **FastAPI**.
+
+## âïž `TestClient`
+
+!!! info
+ âïž `TestClient`, ð¥ â `httpx`.
+
+ ð€¶ â. `pip install httpx`.
+
+ð `TestClient`.
+
+â `TestClient` ð¶ââïž ð **FastAPI** ðž â«ïž.
+
+â ð¢ â®ïž ð ð â¶ïž â®ïž `test_` (ð ð© `pytest` ð).
+
+âïž `TestClient` ð ð ð ð â®ïž `httpx`.
+
+â ð
`assert` ð â®ïž ð© ð 𧬠ð ð ðª â
(ð, ð© `pytest`).
+
+```Python hl_lines="2 12 15-18"
+{!../../../docs_src/app_testing/tutorial001.py!}
+```
+
+!!! tip
+ ð ð ð¬ ð¢ ð `def`, ð« `async def`.
+
+ & ð€ ð©âð» ð ð€, ð« âïž `await`.
+
+ ð â ð âïž `pytest` ð ðµ ð€¢.
+
+!!! note "ð¡ â¹"
+ ð ðª âïž `from starlette.testclient import TestClient`.
+
+ **FastAPI** ð ð `starlette.testclient` `fastapi.testclient` ðª ð, ð©âð». âïž â«ïž ð ð âªïžâ¡ïž ð.
+
+!!! tip
+ ð¥ ð ð ð€ `async` ð¢ ð ð¯ âïž âªïžâ¡ïž ðš ðš ð FastAPI ðž (â
ð ðœ ð¢), âïž ð [ð ð¯](../advanced/async-tests.md){.internal-link target=_blank} ð§ ð°.
+
+## ð ð¯
+
+ð° ðž, ð ð² ð âïž ð ð¯ ð ð.
+
+& ð **FastAPI** ðž 5ïžâ£ð â ð ð/ð¹, âïž.
+
+### **FastAPI** ð± ð
+
+â¡ïž ð¬ ð âïž ð ð ð¬ [ðŠ ðž](./bigger-applications.md){.internal-link target=_blank}:
+
+```
+.
+âââ app
+â  âââ __init__.py
+â  âââ main.py
+```
+
+ð `main.py` ð âïž ð **FastAPI** ð±:
+
+
+```Python
+{!../../../docs_src/app_testing/main.py!}
+```
+
+### ð¬ ð
+
+â€Žïž ð ðª âïž ð `test_main.py` â®ïž ð ð¯. â«ïž ðª ð ð ð ð ðŠ (ð ð â®ïž `__init__.py` ð):
+
+``` hl_lines="5"
+.
+âââ app
+â  âââ __init__.py
+â  âââ main.py
+â  âââ test_main.py
+```
+
+â©ïž ð ð ð ðŠ, ð ðª âïž â ð ð ð `app` âªïžâ¡ïž `main` ð¹ (`main.py`):
+
+```Python hl_lines="3"
+{!../../../docs_src/app_testing/test_main.py!}
+```
+
+...& âïž ð ð¯ ð â.
+
+## ð¬: â ðŒ
+
+ð â¡ïž â ð ðŒ & ð® ð â¹ ð â ð¯ ð ð.
+
+### â **FastAPI** ð± ð
+
+â¡ïž ð£ â®ïž ð ð ð â:
+
+```
+.
+âââ app
+â  âââ __init__.py
+â  âââ main.py
+â  âââ test_main.py
+```
+
+â¡ïž ð¬ ð ð ð `main.py` â®ïž ð **FastAPI** ð± âïž ð **â¡ ð ïž**.
+
+â«ïž âïž `GET` ð ïž ð ðª ðš â.
+
+â«ïž âïž `POST` ð ïž ð ðª ðš ð â.
+
+ð¯ââïž *â¡ ð ïž* ð `X-Token` ð.
+
+=== "ð 3ïžâ£.6ïžâ£ & ð"
+
+ ```Python
+ {!> ../../../docs_src/app_testing/app_b/main.py!}
+ ```
+
+=== "ð 3ïžâ£.1ïžâ£0ïžâ£ & ð"
+
+ ```Python
+ {!> ../../../docs_src/app_testing/app_b_py310/main.py!}
+ ```
+
+### â ð¬ ð
+
+ð ðª â€Žïž â¹ `test_main.py` â®ïž â ð¯:
+
+```Python
+{!> ../../../docs_src/app_testing/app_b/test_main.py!}
+```
+
+ðâ ð ðª ð©âð» ð¶ââïž â¹ ðš & ð ð« ð â, ð ðª ð (ðºðžð) â â«ïž `httpx`, âïž â â«ïž â®ïž `requests`, ðžð² ð§ âïž ð ðš' ð§.
+
+â€Žïž ð ð ð ð¯.
+
+ð€¶ â.:
+
+* ð¶ââïž *â¡* âïž *ð¢* ð¢, ð® â«ïž ð â«ïž.
+* ð¶ââïž ð» ðª, ð¶ââïž ð ð (â
`dict`) ð¢ `json`.
+* ð¥ ð ðª ðš *ðš ðœ* â©ïž ð», âïž `data` ð¢ â©ïž.
+* ð¶ââïž *ð*, âïž `dict` `headers` ð¢.
+* *ðª*, `dict` `cookies` ð¢.
+
+ð â¹ ð â ð¶ââïž ðœ ð©âð» (âïž `httpx` âïž `TestClient`) â
ðžð² ð§Ÿ.
+
+!!! info
+ ð ð `TestClient` ðš ðœ ð ðª ð ð», ð« Pydantic ð·.
+
+ ð¥ ð âïž Pydantic ð· ð ð¯ & ð ð ðš ð® ðœ ðž â®ïž ð¬, ð ðª âïž `jsonable_encoder` ð¬ [ð» ð ð¢](encoder.md){.internal-link target=_blank}.
+
+## ð â«ïž
+
+â®ïž ð, ð ðª â `pytest`:
+
+