Browse Source

🌐 Update translations for ru (update-outdated)

pull/15894/head
github-actions[bot] 3 weeks ago
parent
commit
5ebad8b749
  1. 4
      docs/ru/docs/_llm-test.md
  2. 4
      docs/ru/docs/alternatives.md
  3. 2
      docs/ru/docs/editor-support.md
  4. 16
      docs/ru/docs/environment-variables.md
  5. 22
      docs/ru/docs/features.md
  6. 20
      docs/ru/docs/index.md
  7. 4
      docs/ru/docs/project-generation.md
  8. 30
      docs/ru/docs/python-types.md
  9. 2
      docs/ru/docs/virtual-environments.md

4
docs/ru/docs/_llm-test.md

@ -258,7 +258,7 @@ works(foo="bar") # Это работает 🎉
* `bar` как `str`
* `baz` как `list`
* Учебник Руководство пользователя
* Учебник - Руководство пользователя
* Расширенное руководство пользователя
* Документация по SQLModel
* Документация API
@ -461,7 +461,7 @@ works(foo="bar") # Это работает 🎉
* библиотека
* lifespan
* блокировка
* middleware (Промежуточный слой)
* middleware (промежуточный слой)
* мобильное приложение
* модуль
* монтирование

4
docs/ru/docs/alternatives.md

@ -20,7 +20,7 @@
Он относительно тесно связан с реляционными базами данных (например, MySQL или PostgreSQL), поэтому использовать NoSQL-базу данных (например, Couchbase, MongoDB, Cassandra и т. п.) в качестве основного хранилища не очень просто.
Он был создан для генерации HTML на бэкенде, а не для создания API, используемых современным фронтендом (например, React, Vue.js и Angular) или другими системами (например, устройствами <abbr title="Internet of Things Интернет вещей">IoT</abbr>), которые с ним общаются.
Он был создан для генерации HTML на бэкенде, а не для создания API, используемых современным фронтендом (например, React, Vue.js и Angular) или другими системами (например, устройствами <abbr title="Internet of Things - Интернет вещей">IoT</abbr>), которые с ним общаются.
### [Django REST Framework](https://www.django-rest-framework.org/) { #django-rest-framework }
@ -88,7 +88,7 @@ Requests имеет очень простой и понятный дизайн,
response = requests.get("http://example.com/some/url")
```
Соответствующая в FastAPI API-операция пути могла бы выглядеть так:
Соответствующая в FastAPI API-*операция пути* могла бы выглядеть так:
```Python hl_lines="1"
@app.get("/some/url")

2
docs/ru/docs/editor-support.md

@ -20,4 +20,4 @@
- **Развернуть в FastAPI Cloud** — развертывание вашего приложения в один клик в [FastAPI Cloud](https://fastapicloud.com/).
- **Поток логов приложения** — потоковая передача логов в реальном времени из вашего приложения, развернутого в FastAPI Cloud, с фильтрацией по уровню и текстовым поиском.
Если вы хотите поверхностно ознакомиться с возможностями расширения, откройте палитру команд (<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> или на macOS: <kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd>), выберите «Welcome: Open walkthrough...», а затем «Get started with FastAPI».
Если вы хотите ознакомиться с возможностями расширения, вы можете посмотреть walkthrough расширения, открыв палитру команд (<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> или на macOS: <kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd>) и выбрав «Welcome: Open walkthrough...», а затем walkthrough «Get started with FastAPI».

16
docs/ru/docs/environment-variables.md

@ -50,9 +50,9 @@ Hello Wade Wilson
////
## Чтение переменных окружения в python { #read-env-vars-in-python }
## Чтение переменных окружения в Python { #read-env-vars-in-python }
Так же существует возможность создания переменных окружения **вне** Python, в терминале (или любым другим способом), а затем **чтения их в Python**.
Также существует возможность создания переменных окружения **вне** Python, в терминале (или любым другим способом), а затем **чтения их в Python**.
Например, у вас есть файл `main.py`:
@ -67,7 +67,7 @@ print(f"Hello {name} from Python")
Второй аргумент [`os.getenv()`](https://docs.python.org/3.8/library/os.html#os.getenv) - это возвращаемое по умолчанию значение.
Если значение не указано, то по умолчанию оно равно `None`. В данном случае мы указываем `«World»` в качестве значения по умолчанию.
Если значение не указано, то по умолчанию оно равно `None`. В данном случае мы указываем `"World"` в качестве значения по умолчанию.
///
@ -157,13 +157,13 @@ Hello World from Python
///
## Типизация и Валидация { #types-and-validation }
## Типы и валидация { #types-and-validation }
Эти переменные окружения могут работать только с **текстовыми строками**, поскольку они являются внешними по отношению к Python и должны быть совместимы с другими программами и остальной системой (и даже с различными операционными системами, такими как Linux, Windows, macOS).
Это означает, что **любое значение**, считанное в Python из переменной окружения, **будет `str`**, и любое преобразование к другому типу или любая валидация должны быть выполнены в коде.
Подробнее об использовании переменных окружения для работы с **настройками приложения** вы узнаете в [Расширенное руководство пользователя - Настройки и переменные среды](./advanced/settings.md).
Подробнее об использовании переменных окружения для работы с **настройками приложения** вы узнаете в [Расширенном руководстве пользователя - Настройки и переменные окружения](./advanced/settings.md).
## Переменная окружения `PATH` { #path-environment-variable }
@ -285,14 +285,14 @@ $ C:\opt\custompython\bin\python
////
Эта информация будет полезна при изучении [Виртуальных окружений](virtual-environments.md).
Эта информация будет полезна при изучении [виртуальных окружений](virtual-environments.md).
## Вывод { #conclusion }
Благодаря этому вы должны иметь базовое представление о том, что такое **переменные окружения** и как использовать их в Python.
Подробнее о них вы также можете прочитать в [статье о переменных окружения на википедии](https://en.wikipedia.org/wiki/Environment_variable).
Подробнее о них вы также можете прочитать в [статье о переменных окружения на Википедии](https://en.wikipedia.org/wiki/Environment_variable).
Во многих случаях не всегда очевидно, как переменные окружения могут быть полезны и применимы. Но они постоянно появляются в различных сценариях разработки, поэтому знать о них полезно.
Например, эта информация понадобится вам в следующем разделе, посвященном [Виртуальным окружениям](virtual-environments.md).
Например, эта информация понадобится вам в следующем разделе, посвященном [виртуальным окружениям](virtual-environments.md).

22
docs/ru/docs/features.md

@ -17,7 +17,7 @@
* [**Swagger UI**](https://github.com/swagger-api/swagger-ui), с интерактивным исследованием, вызовом и тестированием вашего API прямо из браузера.
![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-03-swagger-02.png)
![Взаимодействие со Swagger UI](https://fastapi.tiangolo.com/img/index/index-03-swagger-02.png)
* Альтернативная документация API в [**ReDoc**](https://github.com/Rebilly/ReDoc).
@ -36,7 +36,7 @@ from datetime import date
from pydantic import BaseModel
# Объявляем параметр как `str`
# Объявляем переменную как `str`
# и получаем поддержку редактора кода внутри функции
def main(user_id: str):
return user_id
@ -71,9 +71,9 @@ my_second_user: User = User(**second_user_data)
///
### Поддержка редакторов { #editor-support }
### Поддержка редакторов кода { #editor-support }
Весь фреймворк был продуман так, чтобы быть простым и интуитивно понятным в использовании, все решения были проверены на множестве редакторов еще до начала разработки, чтобы обеспечить наилучшие условия при написании кода.
Весь фреймворк был продуман так, чтобы быть простым и интуитивно понятным в использовании, все решения были проверены на множестве редакторов кода еще до начала разработки, чтобы обеспечить наилучшие условия при написании кода.
В опросах Python‑разработчиков видно, [что одной из самых часто используемых функций является «автозавершение»](https://www.jetbrains.com/research/python-developers-survey-2017/#tools-and-features).
@ -81,15 +81,15 @@ my_second_user: User = User(**second_user_data)
Вам редко нужно будет возвращаться к документации.
Вот как ваш редактор может вам помочь:
Вот как ваш редактор кода может вам помочь:
* в [Visual Studio Code](https://code.visualstudio.com/):
![editor support](https://fastapi.tiangolo.com/img/vscode-completion.png)
![поддержка редактора кода](https://fastapi.tiangolo.com/img/vscode-completion.png)
* в [PyCharm](https://www.jetbrains.com/pycharm/):
![editor support](https://fastapi.tiangolo.com/img/pycharm-completion.png)
![поддержка редактора кода](https://fastapi.tiangolo.com/img/pycharm-completion.png)
Вы будете получать автозавершение кода даже там, где вы считали это невозможным раньше. Как пример, ключ `price` внутри тела JSON (который может быть вложенным), приходящего в запросе.
@ -151,11 +151,11 @@ FastAPI включает в себя чрезвычайно простую в и
Любая интеграция разработана настолько простой в использовании (с зависимостями), что вы можете создать «плагин» для своего приложения в пару строк кода, используя ту же структуру и синтаксис, что и для ваших *операций пути*.
### Проверен { #tested }
### Протестирован { #tested }
* 100% <dfn title="Количество автоматически проверяемого кода">покрытие тестами</dfn>.
* 100% <dfn title="Количество автоматически протестированного кода">покрытие тестами</dfn>.
* 100% <dfn title="Аннотации типов Python, благодаря которым ваш редактор кода и внешние инструменты могут обеспечить вам лучшую поддержку">аннотирование типов</dfn> в кодовой базе.
* Используется в продакшн‑приложениях.
* Используется в приложениях в продакшн.
## Возможности Starlette { #starlette-features }
@ -190,7 +190,7 @@ FastAPI включает в себя чрезвычайно простую в и
* **Никакой нервотрёпки**:
* Не нужно изучать новые схемы в микроязыках.
* Если вы знаете типы в Python, вы знаете, как использовать Pydantic.
* Прекрасно сочетается с вашим **<abbr title="Integrated Development Environment - Интегрированная среда разработки: похоже на редактор кода">IDE</abbr>/<dfn title="Программа, которая проверяет код на ошибки">линтер</dfn>/мозгом**:
* Прекрасно сочетается с вашим **<abbr title="Integrated Development Environment - Интегрированная среда разработки: похожая на редактор кода">IDE</abbr>/<dfn title="Программа, которая проверяет код на ошибки">линтер</dfn>/мозгом**:
* Потому что структуры данных pydantic — это всего лишь экземпляры классов, определённых вами; автозавершение, проверка кода, mypy и ваша интуиция — всё будет работать с вашими валидированными данными.
* Валидация **сложных структур**:
* Использование иерархических моделей Pydantic; `List`, `Dict` и т.п. из модуля `typing`.

20
docs/ru/docs/index.md

@ -57,7 +57,7 @@ FastAPI — это современный, быстрый (высокопрои
<!-- sponsors -->
### Ключевой-спонсор { #keystone-sponsor }
### Ключевой спонсор { #keystone-sponsor }
<div class="fastapi-sponsors fastapi-sponsors--keystone">
{% for sponsor in sponsors.keystone -%}
@ -161,7 +161,7 @@ FastAPI — это современный, быстрый (высокопрои
В конце 2025 года вышел [мини-документальный фильм о FastAPI](https://www.youtube.com/watch?v=mpR8ngthqiE), вы можете посмотреть его онлайн:
<a class="fastapi-feature-banner" href="https://www.youtube.com/watch?v=mpR8ngthqiE"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="FastAPI Mini Documentary"></a>
<a class="fastapi-feature-banner" href="https://www.youtube.com/watch?v=mpR8ngthqiE"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="Мини-документальный фильм о FastAPI"></a>
## **Typer**, FastAPI для CLI { #typer-the-fastapi-of-clis }
@ -364,11 +364,11 @@ def update_item(item_id: int, item: Item):
* Нажмите кнопку «Try it out», это позволит вам заполнить параметры и напрямую взаимодействовать с API:
![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-04-swagger-03.png)
![Взаимодействие со Swagger UI](https://fastapi.tiangolo.com/img/index/index-04-swagger-03.png)
* Затем нажмите кнопку «Execute», интерфейс свяжется с вашим API, отправит параметры, получит результаты и отобразит их на экране:
![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-05-swagger-04.png)
![Взаимодействие со Swagger UI](https://fastapi.tiangolo.com/img/index/index-05-swagger-04.png)
### Обновление альтернативной документации API { #alternative-api-docs-upgrade }
@ -471,7 +471,7 @@ item: Item
...и посмотрите, как ваш редактор кода будет автоматически дополнять атрибуты и знать их типы:
![editor support](https://fastapi.tiangolo.com/img/vscode-completion.png)
![Поддержка редактора кода](https://fastapi.tiangolo.com/img/vscode-completion.png)
Более полный пример с дополнительными возможностями см. в <a href="https://fastapi.tiangolo.com/ru/tutorial/">Учебник - Руководство пользователя</a>.
@ -524,7 +524,7 @@ FastAPI Cloud — основной спонсор и источник финан
#### Развертывание у других облачных провайдеров { #deploy-to-other-cloud-providers }
FastAPI — это open source и стандартизированный фреймворк. Вы можете развернуть приложения FastAPI у любого облачного провайдера на ваш выбор.
FastAPI — это проект с открытым исходным кодом, основанный на стандартах. Вы можете развернуть приложения FastAPI у любого облачного провайдера на ваш выбор.
Следуйте руководствам вашего облачного провайдера по развертыванию приложений FastAPI. 🤓
@ -542,17 +542,17 @@ FastAPI зависит от Pydantic и Starlette.
Когда вы устанавливаете FastAPI с помощью `pip install "fastapi[standard]"`, он идёт с группой опциональных зависимостей `standard`:
Используется Pydantic:
Используется в Pydantic:
* [`email-validator`](https://github.com/JoshData/python-email-validator) — для проверки адресов электронной почты.
* [`email-validator`](https://github.com/JoshData/python-email-validator) — для валидации адресов электронной почты.
Используется Starlette:
Используется в Starlette:
* [`httpx`](https://www.python-httpx.org) — обязателен, если вы хотите использовать `TestClient`.
* [`jinja2`](https://jinja.palletsprojects.com) — обязателен, если вы хотите использовать конфигурацию шаблонов по умолчанию.
* [`python-multipart`](https://github.com/Kludex/python-multipart) - обязателен, если вы хотите поддерживать <dfn title="преобразование строки, полученной из HTTP-запроса, в данные Python">«парсинг»</dfn> форм через `request.form()`.
Используется FastAPI:
Используется в FastAPI:
* [`uvicorn`](https://www.uvicorn.dev) — сервер, который загружает и «отдаёт» ваше приложение. Включает `uvicorn[standard]`, содержащий некоторые зависимости (например, `uvloop`), нужные для высокой производительности.
* `fastapi-cli[standard]` — чтобы предоставить команду `fastapi`.

4
docs/ru/docs/project-generation.md

@ -20,9 +20,9 @@
- 🦇 Поддержка тёмной темы.
- 🐋 [Docker Compose](https://www.docker.com) для разработки и продакшн.
- 🔒 Безопасное хэширование паролей по умолчанию.
- 🔑 Аутентификация по JWT‑токенам.
- 🔑 Аутентификация JWT (JSON Web Token).
- 📫 Восстановление пароля по электронной почте.
- ✅ Тесты с [Pytest](https://pytest.org).
- 📞 [Traefik](https://traefik.io) в роли обратного прокси / балансировщика нагрузки.
- 🚢 Инструкции по развёртыванию с использованием Docker Compose, включая настройку фронтенд‑прокси Traefik для автоматического получения сертификатов HTTPS.
- 🏭 CI (continuous integration) и CD (continuous deployment) на основе GitHub Actions.
- 🏭 CI (непрерывная интеграция) и CD (непрерывное развертывание) на основе GitHub Actions.

30
docs/ru/docs/python-types.md

@ -1,20 +1,20 @@
# Введение в типы Python { #python-types-intro }
Python поддерживает необязательные «подсказки типов» (их также называют «аннотациями типов»).
Python поддерживает необязательные «аннотации типов» (также называемые «подсказками типов»).
Эти **«подсказки типов»** или аннотации — это специальный синтаксис, позволяющий объявлять <dfn title="например: str, int, float, bool">тип</dfn> переменной.
Эти **«аннотации типов»**, или просто аннотации, — это специальный синтаксис, позволяющий объявлять <dfn title="например: str, int, float, bool">тип</dfn> переменной.
Объявляя типы для ваших переменных, редакторы кода и инструменты смогут лучше вас поддерживать.
Это всего лишь **краткое руководство / напоминание** о подсказках типов в Python. Оно охватывает только минимум, необходимый для их использования с **FastAPI**... что на самом деле очень мало.
Это всего лишь **краткое руководство / напоминание** об аннотациях типов в Python. Оно охватывает только минимум, необходимый для их использования с **FastAPI**... что на самом деле очень мало.
**FastAPI** целиком основан на этих подсказках типов — они дают ему множество преимуществ и выгод.
**FastAPI** целиком основан на этих аннотациях типов — они дают ему множество преимуществ и выгод.
Но даже если вы никогда не используете **FastAPI**, вам будет полезно немного узнать о них.
/// note | Примечание
Если вы являетесь экспертом в Python и уже знаете всё о подсказках типов, переходите к следующей главе.
Если вы являетесь экспертом в Python и уже знаете всё об аннотациях типов, переходите к следующей главе.
///
@ -76,7 +76,7 @@ John Doe
Вот и всё.
Это и есть «подсказки типов»:
Это и есть «аннотации типов»:
{* ../../docs_src/python_types/tutorial002_py310.py hl[1] *}
@ -90,9 +90,9 @@ John Doe
Здесь мы используем двоеточия (`:`), а не знак равенства (`=`).
И добавление подсказок типов обычно не меняет поведение программы по сравнению с вариантом без них.
И добавление аннотаций типов обычно не меняет поведение программы по сравнению с вариантом без них.
Но теперь представьте, что вы снова посередине написания этой функции, только уже с подсказками типов.
Но теперь представьте, что вы снова посередине написания этой функции, только уже с аннотациями типов.
В тот же момент вы пробуете вызвать автозавершение с помощью `Ctrl+Space` — и видите:
@ -104,7 +104,7 @@ John Doe
## Больше мотивации { #more-motivation }
Посмотрите на эту функцию — у неё уже есть подсказки типов:
Посмотрите на эту функцию — у неё уже есть аннотации типов:
{* ../../docs_src/python_types/tutorial003_py310.py hl[1] *}
@ -118,7 +118,7 @@ John Doe
## Объявление типов { #declaring-types }
Вы только что увидели основное место, где объявляют подсказки типов — параметры функции.
Вы только что увидели основное место, где объявляют аннотации типов — параметры функции.
Это также основное место, где вы будете использовать их с **FastAPI**.
@ -293,9 +293,9 @@ def some_function(data: Any):
Вы увидите намного больше всего этого на практике в [Учебник - Руководство пользователя](tutorial/index.md).
## Подсказки типов с аннотациями метаданных { #type-hints-with-metadata-annotations }
## Аннотации типов с аннотациями метаданных { #type-hints-with-metadata-annotations }
В Python также есть возможность добавлять **дополнительные <dfn title="Данные о данных, в данном случае — информация о типе, например описание.">метаданные</dfn>** к подсказкам типов с помощью `Annotated`.
В Python также есть возможность добавлять **дополнительные <dfn title="Данные о данных, в данном случае — информация о типе, например описание.">метаданные</dfn>** к аннотациям типов с помощью `Annotated`.
Вы можете импортировать `Annotated` из `typing`.
@ -321,16 +321,16 @@ def some_function(data: Any):
## Аннотации типов в **FastAPI** { #type-hints-in-fastapi }
**FastAPI** использует эти подсказки типов для выполнения нескольких задач.
**FastAPI** использует эти аннотации типов для выполнения нескольких задач.
С **FastAPI** вы объявляете параметры с подсказками типов и получаете:
С **FastAPI** вы объявляете параметры с аннотациями типов и получаете:
* **Поддержку редактора кода**.
* **Проверки типов**.
...и **FastAPI** использует эти же объявления для:
* **Определения требований**: из path-параметров пути запроса, query-параметров, HTTP-заголовков, тел запросов, зависимостей и т.д.
* **Определения требований**: из path-параметров HTTP-запроса, query-параметров, HTTP-заголовков, тел запросов, зависимостей и т.д.
* **Преобразования данных**: из HTTP-запроса к требуемому типу.
* **Валидации данных**: приходящих с каждого HTTP-запроса:
* Генерации **автоматических ошибок**, возвращаемых клиенту, когда данные некорректны.

2
docs/ru/docs/virtual-environments.md

@ -811,7 +811,7 @@ $ cd ~/code/prisoner-of-azkaban
$ python main.py
// Error importing sirius, it's not installed 😱
// Ошибка при импорте sirius, он не установлен 😱
Traceback (most recent call last):
File "main.py", line 1, in <module>
import sirius

Loading…
Cancel
Save