From e1129af819f3e78eaba17a1728776d2470629618 Mon Sep 17 00:00:00 2001
From: Vladislav Kramorenko <85196001+Xewus@users.noreply.github.com>
Date: Tue, 7 Feb 2023 16:04:38 +0300
Subject: [PATCH] =?utf8?q?=F0=9F=8C=90=20Add=20Russian=20translation=20for?=
=?utf8?q?=20`docs/ru/docs/contributing.md`=20(#5870)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
---
docs/ru/docs/contributing.md | 469 +++++++++++++++++++++++++++++++++++
docs/ru/mkdocs.yml | 1 +
2 files changed, 470 insertions(+)
create mode 100644 docs/ru/docs/contributing.md
diff --git a/docs/ru/docs/contributing.md b/docs/ru/docs/contributing.md
new file mode 100644
index 0000000000..cb460beb07
--- /dev/null
+++ b/docs/ru/docs/contributing.md
@@ -0,0 +1,469 @@
+# УÑаÑÑие в ÑазÑабоÑке ÑÑеймвоÑка
+
+Ðозможно, Ð´Ð»Ñ Ð½Ð°Ñала Ðам ÑÑÐ¾Ð¸Ñ Ð¾Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¸ÑÑÑÑ Ñ Ð¾ÑновнÑми ÑпоÑобами [помоÑÑ FastAPI или полÑÑиÑÑ Ð¿Ð¾Ð¼Ð¾ÑÑ](help-fastapi.md){.internal-link target=_blank}.
+
+## РазÑабоÑка
+
+ÐÑли ÐÑ Ñже ÑклониÑовали ÑепозиÑоÑий и знаеÑе, ÑÑо Ðам нÑжно более глÑбокое погÑÑжение в код ÑÑеймвоÑка, Ñо здеÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð½ÐµÐºÐ¾ÑоÑÑе инÑÑÑÑкÑии по наÑÑÑойке виÑÑÑалÑного окÑÑжениÑ.
+
+### ÐиÑÑÑалÑное окÑÑжение Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `venv`
+
+ÐаÑ
одÑÑÑ Ð² нÑжной диÑекÑоÑии, ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑоздаÑÑ Ð²Ð¸ÑÑÑалÑное окÑÑжение пÑи помоÑи Python модÑÐ»Ñ `venv`.
+
+
+
+```console
+$ python -m venv env
+```
+
+
+
+ÐÑа команда ÑоздаÑÑ Ð´Ð¸ÑекÑоÑÐ¸Ñ `./env/` Ñ Ð±Ð¸Ð½Ð°ÑнÑми (двоиÑнÑми) Ñайлами Python, а заÑем ÐÑ ÑможеÑе ÑкаÑиваÑÑ Ð¸ ÑÑÑанавливаÑÑ Ð½ÐµÐ¾Ð±Ñ
одимÑе библиоÑеки в изолиÑованное виÑÑÑалÑное окÑÑжение.
+
+### ÐкÑиваÑÐ¸Ñ Ð²Ð¸ÑÑÑалÑного окÑÑжениÑ
+
+ÐкÑивиÑÑйÑе виÑÑÑалÑно окÑÑжение командой:
+
+=== "Linux, macOS"
+
+
+
+ ```console
+ $ source ./env/bin/activate
+ ```
+
+
+
+=== "Windows PowerShell"
+
+
+
+ ```console
+ $ .\env\Scripts\Activate.ps1
+ ```
+
+
+
+=== "Windows Bash"
+
+ ÐÑли ÐÑ Ð¿Ð¾Ð»ÑзÑеÑеÑÑ Bash Ð´Ð»Ñ Windows (напÑимеÑ: Git Bash):
+
+
+
+ ```console
+ $ source ./env/Scripts/activate
+ ```
+
+
+
+ÐÑовеÑÑÑе, ÑÑо вÑÑ ÑÑабоÑало:
+
+=== "Linux, macOS, Windows Bash"
+
+
+
+ ```console
+ $ which pip
+
+ some/directory/fastapi/env/bin/pip
+ ```
+
+
+
+=== "Windows PowerShell"
+
+
+
+ ```console
+ $ Get-Command pip
+
+ some/directory/fastapi/env/bin/pip
+ ```
+
+
+
+Ðли в ÑеÑминале поÑвиÑÑÑ Ð¾ÑвеÑ, ÑÑо бинаÑник `pip` ÑаÑположен по пÑÑи `.../env/bin/pip`, знаÑÐ¸Ñ Ð²ÑÑ Ð² поÑÑдке. ð
+
+Ðо избежание оÑибок в далÑнейÑиÑ
ÑагаÑ
, ÑдоÑÑовеÑÑÑеÑÑ, ÑÑо в ÐаÑем виÑÑÑалÑном окÑÑжении ÑÑÑановлена поÑледнÑÑ Ð²ÐµÑÑÐ¸Ñ `pip`:
+
+
+
+```console
+$ python -m pip install --upgrade pip
+
+---> 100%
+```
+
+
+
+!!! tip "ÐодÑказка"
+ ÐаждÑй Ñаз, пеÑед ÑÑÑановкой новой библиоÑеки в виÑÑÑалÑное окÑÑжение пÑи помоÑи `pip`, не забÑдÑÑе акÑивиÑоваÑÑ ÑÑо виÑÑÑалÑное окÑÑжение.
+
+ ÐÑо гаÑанÑиÑÑеÑ, ÑÑо еÑли ÐÑ Ð¸ÑполÑзÑеÑе библиоÑекÑ, ÑÑÑановленнÑÑ ÑÑим пакеÑом, Ñо ÐÑ Ð¸ÑполÑзÑеÑе библиоÑÐµÐºÑ Ð¸Ð· ÐаÑего локалÑного окÑÑжениÑ, а не лÑбÑÑ Ð´ÑÑгÑÑ, коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑÑÑановлена глобалÑно.
+
+### pip
+
+ÐоÑле акÑиваÑии виÑÑÑалÑного окÑÑжениÑ, как бÑло Ñказано Ñанее, введиÑе ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
+
+
+
+```console
+$ pip install -e ."[dev,doc,test]"
+
+---> 100%
+```
+
+
+
+ÐÑо ÑÑÑÐ°Ð½Ð¾Ð²Ð¸Ñ Ð²Ñе необÑ
одимÑе завиÑимоÑÑи в локалÑное окÑÑжение Ð´Ð»Ñ ÐаÑего локалÑного FastAPI.
+
+#### ÐÑполÑзование локалÑного FastAPI
+
+ÐÑли ÐÑ ÑоздаÑÑе Python Ñайл, коÑоÑÑй импоÑÑиÑÑÐµÑ Ð¸ иÑполÑзÑÐµÑ FastAPI,а заÑем запÑÑкаеÑе его инÑеÑпÑеÑаÑоÑом Python из ÐаÑего локалÑного окÑÑжениÑ, Ñо он бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ ÐºÐ¾Ð´ из локалÑного FastAPI.
+
+Ð, Ñак как пÑи вводе вÑÑеÑпомÑнÑÑой ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð±Ñл Ñказан Ñлаг `-e`, еÑли ÐÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñе код локалÑного FastAPI, Ñо пÑи ÑледÑÑÑем запÑÑке ÑÑого Ñайла, он бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ ÑвежÑÑ Ð²ÐµÑÑÐ¸Ñ Ð»Ð¾ÐºÐ°Ð»Ñного FastAPI, коÑоÑÑй ÐÑ ÑолÑко ÑÑо изменили.
+
+Таким обÑазом, Ðам не нÑжно "пеÑеÑÑÑанавливаÑÑ" ÐаÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑÑ Ð²ÐµÑÑиÑ, ÑÑÐ¾Ð±Ñ Ð¿ÑоÑеÑÑиÑоваÑÑ ÐºÐ°Ð¶Ð´Ð¾Ðµ изменение.
+
+### ФоÑмаÑиÑовние
+
+СкаÑаннÑй ÑепозиÑоÑий ÑодеÑÐ¶Ð¸Ñ ÑкÑипÑ, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑоÑмаÑиÑоваÑÑ Ð¸ подÑиÑÑиÑÑ ÐÐ°Ñ ÐºÐ¾Ð´:
+
+
+
+```console
+$ bash scripts/format.sh
+```
+
+
+
+Ðаодно он ÑпоÑÑдоÑÐ¸Ñ ÐаÑи импоÑÑÑ.
+
+ЧÑÐ¾Ð±Ñ Ð¾Ð½ ÑоÑÑиÑовал иÑ
пÑавилÑно, необÑ
одимо, ÑÑÐ¾Ð±Ñ FastAPI бÑл ÑÑÑановлен локалÑно в ÐаÑей ÑÑеде, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸Ð· Ñаздела вÑÑе, иÑполÑзÑÑÑей Ñлаг `-e`.
+
+## ÐокÑменÑаÑиÑ
+
+ÐÑежде вÑего, ÑбедиÑеÑÑ, ÑÑо ÐÑ Ð½Ð°ÑÑÑоили ÑÐ²Ð¾Ñ Ð¾ÐºÑÑжение, как опиÑано вÑÑе, Ð´Ð»Ñ ÑÑÑановки вÑеÑ
завиÑимоÑÑей.
+
+ÐокÑменÑаÑÐ¸Ñ Ð¸ÑполÑзÑÐµÑ MkDocs.
+
+Также ÑÑÑеÑÑвÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе инÑÑÑÑменÑÑ/ÑкÑипÑÑ Ð´Ð»Ñ ÑабоÑÑ Ñ Ð¿ÐµÑеводами в `./scripts/docs.py`.
+
+!!! tip "ÐодÑказка"
+
+ ÐÐµÑ Ð½ÐµÐ¾Ð±Ñ
одимоÑÑи заглÑдÑваÑÑ Ð² `./scripts/docs.py`, пÑоÑÑо иÑполÑзÑйÑе ÑÑо в командной ÑÑÑоке.
+
+ÐÑÑ Ð´Ð¾ÐºÑменÑаÑÐ¸Ñ Ð¸Ð¼ÐµÐµÑ ÑоÑÐ¼Ð°Ñ Markdown и ÑаÑположена в диÑекÑоÑии `./docs/en/`.
+
+Ðногие ÑÑководÑÑва ÑодеÑÐ¶Ð°Ñ Ð±Ð»Ð¾ÐºÐ¸ кода.
+
+РболÑÑинÑÑве ÑлÑÑаев ÑÑи блоки кода пÑедÑÑавлÑÑÑ Ñобой вполне законÑеннÑе пÑиложениÑ, коÑоÑÑе можно запÑÑкаÑÑ ÐºÐ°Ðº еÑÑÑ.
+
+Ðа Ñамом деле, ÑÑи блоки кода не напиÑÐ°Ð½Ñ Ð²Ð½ÑÑÑи Markdown, ÑÑо Python ÑÐ°Ð¹Ð»Ñ Ð² диÑекÑоÑии `./docs_src/`.
+
+Ð ÑÑи Python ÑÐ°Ð¹Ð»Ñ Ð²ÐºÐ»ÑÑаÑÑÑÑ/вводÑÑÑÑ Ð² докÑменÑаÑÐ¸Ñ Ð¿Ñи Ñоздании ÑайÑа.
+
+### ТеÑÑиÑование докÑменÑаÑии
+
+
+ФакÑиÑеÑки, болÑÑинÑÑво ÑеÑÑов запÑÑкаÑÑÑÑ Ñ Ð¿ÑимеÑами иÑÑ
однÑÑ
Ñайлов в докÑменÑаÑии.
+
+ÐÑо Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ ÑбедиÑÑÑÑ, ÑÑо:
+
+* ÐокÑменÑаÑÐ¸Ñ Ð½Ð°Ñ
одиÑÑÑ Ð² акÑÑалÑном ÑоÑÑоÑнии.
+* ÐÑимеÑÑ Ð¸Ð· докÑменÑаÑии могÑÑ Ð±ÑÑÑ Ð·Ð°Ð¿ÑÑÐµÐ½Ñ ÐºÐ°Ðº еÑÑÑ.
+* ÐолÑÑинÑÑво ÑÑнкÑий опиÑÐ°Ð½Ñ Ð² докÑменÑаÑии и покÑÑÑÑ ÑеÑÑами.
+
+СÑÑеÑÑвÑÐµÑ ÑкÑипÑ, коÑоÑÑй во вÑÐµÐ¼Ñ Ð»Ð¾ÐºÐ°Ð»Ñной ÑазÑабоÑки ÑоздаÑÑ ÑÐ°Ð¹Ñ Ð¸ пÑовеÑÑÐµÑ Ð½Ð°Ð»Ð¸Ñие лÑбÑÑ
изменений, пеÑезагÑÑÐ¶Ð°Ñ ÐµÐ³Ð¾ в ÑеалÑном вÑемени:
+
+
+
+```console
+$ python ./scripts/docs.py live
+
+[INFO] Serving on http://127.0.0.1:8008
+[INFO] Start watching changes
+[INFO] Start detecting changes
+```
+
+
+
+Ðн запÑÑÑÐ¸Ñ ÑÐ°Ð¹Ñ Ð´Ð¾ÐºÑменÑаÑии по адÑеÑÑ: `http://127.0.0.1:8008`.
+
+
+Таким обÑазом, ÐÑ ÑможеÑе ÑедакÑиÑоваÑÑ ÑÐ°Ð¹Ð»Ñ Ñ Ð´Ð¾ÐºÑменÑаÑией или кодом и наблÑдаÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¶Ð¸Ð²ÑÑ.
+
+#### Typer CLI (опÑионалÑно)
+
+
+ÐÑÐ¸Ð²ÐµÐ´ÐµÐ½Ð½Ð°Ñ Ñанее инÑÑÑÑкÑÐ¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð»Ð° Ðам, как запÑÑкаÑÑ ÑкÑÐ¸Ð¿Ñ `./scripts/docs.py` непоÑÑедÑÑвенно ÑеÑез инÑеÑпÑеÑаÑÐ¾Ñ `python` .
+
+Ðо Ñакже можно иÑполÑзоваÑÑ Typer CLI, ÑÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ðам воÑполÑзоваÑÑÑÑ Ð°Ð²Ñозаполнением команд в ÐаÑем ÑеÑминале.
+
+ÐÑли ÐÑ ÑÑÑановили Typer CLI, Ñо Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÑÑнкÑии авÑозаполнениÑ, введиÑе ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
+
+
+
+```console
+$ typer --install-completion
+
+zsh completion installed in /home/user/.bashrc.
+Completion will take effect once you restart the terminal.
+```
+
+
+
+### ÐÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ докÑменÑаÑÐ¸Ñ Ð¾Ð´Ð½Ð¾Ð²Ñеменно
+
+ÐÑли ÐÑ Ð·Ð°Ð¿ÑÑкаеÑе пÑиложение, напÑÐ¸Ð¼ÐµÑ Ñак:
+
+
+
+```console
+$ uvicorn tutorial001:app --reload
+
+INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
+```
+
+
+
+Ðо ÑмолÑÐ°Ð½Ð¸Ñ Uvicorn бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ Ð¿Ð¾ÑÑ `8000` и не бÑÐ´ÐµÑ ÐºÐ¾Ð½ÑликÑоваÑÑ Ñ ÑайÑом докÑменÑаÑии, иÑполÑзÑÑÑим поÑÑ `8008`.
+
+### ÐеÑÐµÐ²Ð¾Ð´Ñ Ð½Ð° дÑÑгие ÑзÑки
+
+ÐомоÑÑ Ñ Ð¿ÐµÑеводами ÑениÑÑÑ ÐÐ ÐÐÐÐ ÐЫСÐÐÐ! РпеÑÐµÐ²Ð¾Ð´Ñ Ð½Ðµ могÑÑ Ð±ÑÑÑ ÑÐ´ÐµÐ»Ð°Ð½Ñ Ð±ÐµÐ· помоÑи ÑообÑеÑÑва. ð ð
+
+Ðиже пÑÐ¸Ð²ÐµÐ´ÐµÐ½Ñ Ñаги, как помоÑÑ Ñ Ð¿ÐµÑеводами.
+
+#### ÐодÑказки и инÑÑÑÑкÑии
+
+* ÐÑовеÑÑÑе ÑÑÑеÑÑвÑÑÑие пÑл-ÑеквеÑÑÑ Ð´Ð»Ñ ÐаÑего ÑзÑка. ÐобавÑÑе оÑзÑÐ²Ñ Ñ Ð¿ÑоÑÑбой внеÑÑи изменениÑ, еÑли они необÑ
одимÑ, или одобÑиÑе иÑ
.
+
+!!! tip "ÐодÑказка"
+ ÐÑ Ð¼Ð¾Ð¶ÐµÑе добавлÑÑÑ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑии Ñ Ð¿ÑедложениÑми по Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² ÑÑÑеÑÑвÑÑÑие пÑл-ÑеквеÑÑÑ.
+
+ ÐзнакомÑÑеÑÑ Ñ Ð´Ð¾ÐºÑменÑаÑией о добавлении оÑзÑва к пÑл-ÑеквеÑÑÑ, ÑÑÐ¾Ð±Ñ ÑÑвеÑдиÑÑ ÐµÐ³Ð¾ или запÑоÑиÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ.
+
+* ÐÑовеÑÑÑе пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¸ вопÑоÑÑ, ÑÑÐ¾Ð±Ñ ÑзнаÑÑ, еÑÑÑ Ð»Ð¸ кÑо-Ñо, кооÑдиниÑÑÑÑий пеÑÐµÐ²Ð¾Ð´Ñ Ð´Ð»Ñ ÐаÑего ÑзÑка.
+
+* ÐобавлÑйÑе один пÑл-ÑеквеÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ оÑделÑной пеÑеведÑнной ÑÑÑаниÑÑ. ÐÑо знаÑиÑелÑно облегÑÐ¸Ñ Ð´ÑÑгим его пÑоÑмоÑÑ.
+
+ÐÐ»Ñ ÑзÑков, коÑоÑÑе Ñ Ð½Ðµ знаÑ, пÑежде Ñем добавиÑÑ Ð¿ÐµÑевод в оÑновнÑÑ Ð²ÐµÑкÑ, Ñ Ð¿Ð¾Ð´Ð¾Ð¶Ð´Ñ Ð¿Ð¾ÐºÐ° неÑколÑко дÑÑгиÑ
ÑÑаÑÑников ÑообÑеÑÑва пÑовеÑÑÑ ÐµÐ³Ð¾.
+
+* ÐÑ Ñакже можеÑе пÑовеÑиÑÑ, еÑÑÑ Ð»Ð¸ пеÑÐµÐ²Ð¾Ð´Ñ Ð´Ð»Ñ ÐаÑего ÑзÑка и добавиÑÑ Ðº ним оÑзÑв, коÑоÑÑй Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ð¼Ð½Ðµ ÑбедиÑÑÑÑ Ð² пÑавилÑноÑÑи пеÑевода. Тогда Ñ ÑÐ¼Ð¾Ð³Ñ Ð¾Ð±ÑединиÑÑ ÐµÐ³Ð¾ Ñ Ð¾Ñновной веÑкой.
+
+* ÐÑполÑзÑйÑе Ñе же ÑамÑе пÑимеÑÑ ÐºÐ¾Ð´Ð° Python. ÐеÑеводиÑе ÑолÑко ÑекÑÑ Ð´Ð¾ÐºÑменÑаÑии. Ðам не нÑжно ниÑего менÑÑÑ, ÑÑÐ¾Ð±Ñ ÑÑи пÑимеÑÑ ÑабоÑали.
+
+* ÐÑполÑзÑйÑе Ñе же ÑамÑе изобÑажениÑ, имена Ñайлов и ÑÑÑлки. ÐÑ Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¼ÐµÐ½ÑÑÑ Ð½Ð¸Ñего Ð´Ð»Ñ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑабоÑоÑпоÑобноÑÑи.
+
+* ЧÑÐ¾Ð±Ñ ÑзнаÑÑ 2-бÑквеннÑй код ÑзÑка, на коÑоÑÑй ÐÑ Ñ
оÑиÑе ÑделаÑÑ Ð¿ÐµÑевод, ÐÑ Ð¼Ð¾Ð¶ÐµÑе воÑполÑзоваÑÑÑÑ ÑаблиÑей СпиÑок кодов ÑзÑков ISO 639-1.
+
+#### СÑÑеÑÑвÑÑÑий ÑзÑк
+
+ÐопÑÑÑим, ÐÑ Ñ
оÑиÑе пеÑевеÑÑи ÑÑÑаниÑÑ Ð½Ð° ÑзÑк, на коÑоÑом Ñже еÑÑÑ ÐºÐ°ÐºÐ¸Ðµ-Ñо пеÑеводÑ, напÑимеÑ, на иÑпанÑкий.
+
+Ðодом иÑпанÑкого ÑзÑка ÑвлÑеÑÑÑ `es`. РзнаÑÐ¸Ñ Ð´Ð¸ÑекÑоÑÐ¸Ñ Ð´Ð»Ñ Ð¿ÐµÑеводов на иÑпанÑкий ÑзÑк: `docs/es/`.
+
+!!! tip "ÐодÑказка"
+ ÐлавнÑй ("оÑиÑиалÑнÑй") ÑзÑк - английÑкий, диÑекÑоÑÐ¸Ñ Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ `docs/en/`.
+
+ÐÑ Ð¼Ð¾Ð¶ÐµÑе запÑÑÑиÑÑ ÑеÑÐ²ÐµÑ Ð´Ð¾ÐºÑменÑаÑии на иÑпанÑком:
+
+
+
+```console
+// ÐÑполÑзÑйÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ "live" и пеÑедайÑе код ÑзÑка в каÑеÑÑве аÑгÑменÑа командной ÑÑÑоки
+$ python ./scripts/docs.py live es
+
+[INFO] Serving on http://127.0.0.1:8008
+[INFO] Start watching changes
+[INFO] Start detecting changes
+```
+
+
+
+ТепеÑÑ ÐÑ Ð¼Ð¾Ð¶ÐµÑе пеÑейÑи по адÑеÑÑ: http://127.0.0.1:8008 и наблÑдаÑÑ Ð²Ð½Ð¾ÑимÑе Ðами Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¶Ð¸Ð²ÑÑ.
+
+
+ÐÑли ÐÑ Ð¿Ð¾ÑмоÑÑиÑе на ÑÐ°Ð¹Ñ Ð´Ð¾ÐºÑменÑаÑии FastAPI, Ñо ÑвидиÑе, ÑÑо вÑе ÑÑÑаниÑÑ ÐµÑÑÑ Ð½Ð° каждом ÑзÑке. Ðо некоÑоÑÑе ÑÑÑаниÑÑ Ð½Ðµ пеÑÐµÐ²ÐµÐ´ÐµÐ½Ñ Ð¸ имеÑÑ Ñведомление об оÑÑÑÑÑÑвÑÑÑем пеÑеводе.
+
+Ðо когда ÐÑ Ð·Ð°Ð¿ÑÑкаеÑе ÑÐ°Ð¹Ñ Ð»Ð¾ÐºÐ°Ð»Ñно, ÐÑ Ð²Ð¸Ð´Ð¸Ñе ÑолÑко Ñе ÑÑÑаниÑÑ, коÑоÑÑе Ñже пеÑеведенÑ.
+
+
+ÐÑедположим, ÑÑо ÐÑ Ñ
оÑиÑе добавиÑÑ Ð¿ÐµÑевод ÑÑÑаниÑÑ [ÐÑновнÑе ÑвойÑÑва](features.md){.internal-link target=_blank}.
+
+* СкопиÑÑйÑе Ñайл:
+
+```
+docs/en/docs/features.md
+```
+
+* ÐÑÑавÑÑе его ÑоÑно в Ñо же меÑÑо, но в диÑекÑоÑÐ¸Ñ ÑзÑка, на коÑоÑÑй ÐÑ Ñ
оÑиÑе ÑделаÑÑ Ð¿ÐµÑевод, напÑимеÑ:
+
+```
+docs/es/docs/features.md
+```
+
+!!! tip "ÐодÑказка"
+ ÐамеÑÑÑе, ÑÑо в пÑÑи Ñайла Ð¼Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ð¸ ÑолÑко код ÑзÑка Ñ `en` на `es`.
+
+* ТепеÑÑ Ð¾ÑкÑойÑе Ñайл конÑигÑÑаÑии MkDocs Ð´Ð»Ñ Ð°Ð½Ð³Ð»Ð¸Ð¹Ñкого ÑзÑка, ÑаÑположеннÑй ÑÑÑ:
+
+```
+docs/en/mkdocs.yml
+```
+
+* ÐайдиÑе в Ñайле конÑигÑÑаÑии меÑÑо, где ÑаÑположена ÑÑÑока `docs/features.md`. ÐоÑ
ожее на ÑÑо:
+
+```YAML hl_lines="8"
+site_name: FastAPI
+# More stuff
+nav:
+- FastAPI: index.md
+- Languages:
+ - en: /
+ - es: /es/
+- features.md
+```
+
+* ÐÑкÑойÑе Ñайл конÑигÑÑаÑии MkDocs Ð´Ð»Ñ ÑзÑка, на коÑоÑÑй ÐÑ Ð¿ÐµÑеводиÑе, напÑимеÑ:
+
+```
+docs/es/mkdocs.yml
+```
+
+* ÐобавÑÑе ÑÑÑÐ¾ÐºÑ `docs/features.md` ÑоÑно в Ñо же меÑÑо, как и в ÑлÑÑае Ð´Ð»Ñ Ð°Ð½Ð³Ð»Ð¸Ð¹Ñкого, как-Ñо Ñак:
+
+```YAML hl_lines="8"
+site_name: FastAPI
+# More stuff
+nav:
+- FastAPI: index.md
+- Languages:
+ - en: /
+ - es: /es/
+- features.md
+```
+
+УбедиÑеÑÑ, ÑÑо пÑи налиÑии дÑÑгиÑ
запиÑей, Ð½Ð¾Ð²Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ñ ÐаÑим пеÑеводом наÑ
одиÑÑÑ ÑоÑно в Ñом же поÑÑдке, ÑÑо и в английÑкой веÑÑии.
+
+ÐÑли ÐÑ Ð·Ð°Ð¹Ð´ÑÑе в Ñвой бÑаÑзеÑ, Ñо ÑвидиÑе, ÑÑо в докÑменÑаÑии ÑÑал оÑобÑажаÑÑÑÑ ÐÐ°Ñ Ð½Ð¾Ð²Ñй Ñаздел.ð
+
+ТепеÑÑ ÐÑ Ð¼Ð¾Ð¶ÐµÑе пеÑеводиÑÑ ÑÑÑ ÑÑÑаниÑÑ Ð¸ ÑмоÑÑеÑÑ, как она вÑглÑÐ´Ð¸Ñ Ð¿Ñи ÑоÑ
Ñанении Ñайла.
+
+#### ÐовÑй ÑзÑк
+
+ÐопÑÑÑим, ÐÑ Ñ
оÑиÑе добавиÑÑ Ð¿ÐµÑевод Ð´Ð»Ñ ÑзÑка, на коÑоÑÑй пока ÑÑо не пеÑеведена ни одна ÑÑÑаниÑа.
+
+Скажем, ÐÑ ÑеÑили ÑделаÑÑ Ð¿ÐµÑевод Ð´Ð»Ñ ÐºÑеолÑÑкого ÑзÑка, но его еÑе Ð½ÐµÑ Ð² докÑменÑаÑии.
+
+ÐеÑейдиÑе в ÑаблиÑÑ ÐºÐ¾Ð´Ð¾Ð² ÑзÑков по ÑÑÑлке Ñказанной вÑÑе, где найдÑÑе, ÑÑо кодом кÑеолÑÑкого ÑзÑка ÑвлÑеÑÑÑ `ht`.
+
+ÐаÑем запÑÑÑиÑе ÑкÑипÑ, генеÑиÑÑÑÑий диÑекÑоÑÐ¸Ñ Ð´Ð»Ñ Ð¿ÐµÑеводов на новÑе ÑзÑки:
+
+
+
+```console
+// ÐÑполÑзÑйÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ new-lang и пеÑедайÑе код ÑзÑка в каÑеÑÑве аÑгÑменÑа командной ÑÑÑоки
+$ python ./scripts/docs.py new-lang ht
+
+Successfully initialized: docs/ht
+Updating ht
+Updating en
+```
+
+
+
+ÐоÑле Ñего ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑовеÑиÑÑ Ð² Ñвоем ÑедакÑоÑе кода, ÑÑо поÑвилÑÑ Ð½Ð¾Ð²Ñй каÑалог `docs/ht/`.
+
+!!! tip "ÐодÑказка"
+ СоздайÑе пеÑвÑй пÑл-ÑеквеÑÑ, коÑоÑÑй бÑÐ´ÐµÑ ÑодеÑжаÑÑ ÑолÑко пÑÑÑÑÑ Ð´Ð¸ÑекÑоÑÐ¸Ñ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÑзÑка, пÑежде Ñем добавлÑÑÑ Ð¿ÐµÑеводÑ.
+
+ Таким обÑазом, дÑÑгие ÑÑаÑÑники могÑÑ Ð¿ÐµÑеводиÑÑ Ð´ÑÑгие ÑÑÑаниÑÑ, пока ÐÑ ÑабоÑаеÑе над одной. ð
+
+ÐаÑниÑе пеÑевод Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð¹ ÑÑÑаниÑÑ `docs/ht/index.md`.
+
+РдалÑнейÑем можно дейÑÑвоваÑÑ, как Ñказано в пÑедÑдÑÑиÑ
инÑÑÑÑкÑиÑÑ
Ð´Ð»Ñ "ÑÑÑеÑÑвÑÑÑего ÑзÑка".
+
+##### ÐовÑй ÑзÑк не поддеÑживаеÑÑÑ
+
+ÐÑли пÑи запÑÑке ÑкÑипÑа `./scripts/docs.py live` ÐÑ Ð¿Ð¾Ð»ÑÑаеÑе ÑообÑение об оÑибке, ÑÑо ÑзÑк не поддеÑживаеÑÑÑ, ÑÑо-Ñо вÑоде:
+
+```
+ raise TemplateNotFound(template)
+jinja2.exceptions.TemplateNotFound: partials/language/xx.html
+```
+
+Сие ознаÑаеÑ, ÑÑо Ñема не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑÐ¾Ñ ÑзÑк (в данном ÑлÑÑае Ñ Ð¿Ð¾Ð´Ð´ÐµÐ»ÑнÑм 2-бÑквеннÑм кодом `xx`).
+
+Ðо не ÑÑÐ¾Ð¸Ñ Ð¿ÐµÑеживаÑÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑÑÑановиÑÑ ÑзÑком ÑÐµÐ¼Ñ Ð°Ð½Ð³Ð»Ð¸Ð¹Ñкий, а заÑем пеÑевеÑÑи ÑекÑÑ Ð´Ð¾ÐºÑменÑаÑии.
+
+ÐÑли возникла ÑÐ°ÐºÐ°Ñ Ð½ÐµÐ¾Ð±Ñ
одимоÑÑÑ, оÑÑедакÑиÑÑйÑе `mkdocs.yml` Ð´Ð»Ñ ÐаÑего нового ÑзÑка. ÐÑо бÑÐ´ÐµÑ Ð²ÑглÑдеÑÑ ÐºÐ°Ðº-Ñо Ñак:
+
+```YAML hl_lines="5"
+site_name: FastAPI
+# More stuff
+theme:
+ # More stuff
+ language: xx
+```
+
+ÐзмениÑе `xx` (код ÐаÑего ÑзÑка) на `en` и пеÑезапÑÑÑиÑе ÑеÑвеÑ.
+
+#### ÐÑедпÑоÑмоÑÑ ÑезÑлÑÑаÑа
+
+Ðогда ÐÑ Ð·Ð°Ð¿ÑÑкаеÑе ÑкÑÐ¸Ð¿Ñ `./scripts/docs.py` Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ `live`, Ñо бÑдÑÑ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ ÑÐ°Ð¹Ð»Ñ Ð¸ пеÑÐµÐ²Ð¾Ð´Ñ Ð´Ð»Ñ Ñказанного ÑзÑка.
+
+Ðо когда ÐÑ Ð·Ð°ÐºÐ¾Ð½ÑиÑе, Ñо можеÑе поÑмоÑÑеÑÑ, как ÑÑо бÑÐ´ÐµÑ Ð²ÑглÑдеÑÑ Ð¿Ð¾-наÑÑоÑÑемÑ.
+
+ÐÐ»Ñ ÑÑого ÑнаÑала ÑоздайÑе вÑÑ Ð´Ð¾ÐºÑменÑаÑиÑ:
+
+
+
+```console
+// ÐÑполÑзÑйÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ "build-all", ÑÑо займÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ вÑемени
+$ python ./scripts/docs.py build-all
+
+Updating es
+Updating en
+Building docs for: en
+Building docs for: es
+Successfully built docs for: es
+Copying en index.md to README.md
+```
+
+
+
+СкÑÐ¸Ð¿Ñ ÑгенеÑиÑÑÐµÑ `./docs_build/` Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑзÑка. Ðн Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ñ Ð¾ÑÑÑÑÑÑвÑÑÑими пеÑеводами Ñ Ð¿Ð¾Ð¼ÐµÑкой о Ñом, ÑÑо "Ñ ÑÑого Ñайла еÑе Ð½ÐµÑ Ð¿ÐµÑевода". Ðо Ðам не нÑжно ниÑего делаÑÑ Ñ ÑÑим каÑалогом.
+
+ÐаÑем он ÑоздаÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸ÑимÑе ÑайÑÑ MkDocs Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑзÑка, обÑÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ñ
и ÑгенеÑиÑÑÐµÑ ÐºÐ¾Ð½ÐµÑнÑй ÑезÑлÑÑÐ°Ñ Ð½Ð° `./site/`.
+
+ÐоÑле Ñего ÐÑ ÑможеÑе запÑÑÑиÑÑ ÑеÑÐ²ÐµÑ Ñо вÑеми ÑзÑками командой `serve`:
+
+
+
+```console
+// ÐÑполÑзÑйÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ "serve" поÑле Ñого, как оÑÑабоÑÐ°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° "build-all"
+$ python ./scripts/docs.py serve
+
+Warning: this is a very simple server. For development, use mkdocs serve instead.
+This is here only to preview a site with translations already built.
+Make sure you run the build-all command first.
+Serving at: http://127.0.0.1:8008
+```
+
+
+
+## ТеÑÑÑ
+
+Также в ÑепозиÑоÑии еÑÑÑ ÑкÑипÑ, коÑоÑÑй ÐÑ Ð¼Ð¾Ð¶ÐµÑе запÑÑÑиÑÑ Ð»Ð¾ÐºÐ°Ð»Ñно, ÑÑÐ¾Ð±Ñ Ð¿ÑоÑеÑÑиÑоваÑÑ Ð²ÐµÑÑ ÐºÐ¾Ð´ и ÑгенеÑиÑоваÑÑ Ð¾ÑÑеÑÑ Ð¾ покÑÑÑии ÑеÑÑами в HTML:
+
+
+
+```console
+$ bash scripts/test-cov-html.sh
+```
+
+
+
+ÐÑа команда ÑоздаÑÑ Ð´Ð¸ÑекÑоÑÐ¸Ñ `./htmlcov/`, в коÑоÑой бÑÐ´ÐµÑ Ñайл `./htmlcov/index.html`. ÐÑкÑÑв его в ÐаÑем бÑаÑзеÑе, ÐÑ Ð¼Ð¾Ð¶ÐµÑе в инÑеÑакÑивном Ñежиме изÑÑиÑÑ, вÑе ли ÑаÑÑи кода оÑ
ваÑÐµÐ½Ñ ÑеÑÑами.
diff --git a/docs/ru/mkdocs.yml b/docs/ru/mkdocs.yml
index f35ee968c9..45ead2274e 100644
--- a/docs/ru/mkdocs.yml
+++ b/docs/ru/mkdocs.yml
@@ -68,6 +68,7 @@ nav:
- deployment/index.md
- deployment/versions.md
- external-links.md
+- contributing.md
markdown_extensions:
- toc:
permalink: true
--
2.47.3