Files
Argenta/docs/locales/en/LC_MESSAGES/root/dependency_injection.po
T
2025-11-03 19:01:43 +03:00

212 lines
9.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025, kolo
# This file is distributed under the same license as the Argenta package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n"
#: ../../root/dependency_injection.rst:4
msgid "Внедрение зависимостей"
msgstr "Dependency Injection"
#: ../../root/dependency_injection.rst:6
msgid ""
"Внедрение зависимостей (Dependency Injection, DI) — это паттерн "
"проектирования, который помогает писать слабосвязанный, легко тестируемый"
" и расширяемый код. Вместо того чтобы обработчики сами создавали нужные "
"им объекты (зависимости), они лишь объявляют их в качестве аргументов. В "
"момент вызова ``Argenta`` автоматически \"внедряет\" эти зависимости."
msgstr ""
#: ../../root/dependency_injection.rst:8
msgid ""
"``Argenta`` использует библиотеку ``dishka`` для реализации DI, что "
"позволяет декларативно объявлять зависимости прямо в сигнатурах ваших "
"обработчиков. Подробнее о `DI`, `IoC` и API для создания провайдеров "
"можно прочитать в `официальной документации dishka "
"<https://dishka.readthedocs.io/en/stable/di_intro.html>`_."
msgstr ""
#: ../../root/dependency_injection.rst:12
msgid "Основная идея"
msgstr ""
#: ../../root/dependency_injection.rst:14
msgid ""
"Представьте, что вашему обработчику для работы нужен доступ к базе "
"данных. Вместо импорта и инициализации соединения внутри функции, вы "
"просто объявляете его как аргумент с аннотацией типа:"
msgstr ""
#: ../../root/dependency_injection.rst:17
msgid ""
"``argenta.di.FromDishka`` является псевдонимом для ``dishka.FromDishka``,"
" и они полностью взаимозаменяемы."
msgstr ""
#: ../../root/dependency_injection.rst:23
msgid ""
"``Argenta`` с помощью ``dishka`` разрешит зависимость по типу "
"``Connection`` и внедрит её. Но прежде чем использовать зависимость, её "
"необходимо объявить в провайдере."
msgstr ""
#: ../../root/dependency_injection.rst:29
msgid "После создания провайдера его необходимо зарегистрировать в оркестраторе."
msgstr ""
#: ../../root/dependency_injection.rst:36
msgid "Как это работает?"
msgstr ""
#: ../../root/dependency_injection.rst:38
msgid "В основе DI в Argenta лежат **провайдеры** и **контейнер**."
msgstr ""
#: ../../root/dependency_injection.rst:40
msgid ""
"**Провайдер (Provider)** — это \"рецепт\", который объясняет, как "
"создавать и настраивать ту или иную зависимость (например, подключение к "
"БД, API-клиент или любой другой сервис)."
msgstr ""
#: ../../root/dependency_injection.rst:41
msgid ""
"**Контейнер (IoC Container)** — это \"фабрика\", которая хранит все "
"рецепты (провайдеры) и по запросу создаёт и выдаёт готовые зависимости."
msgstr ""
#: ../../root/dependency_injection.rst:44
msgid "Встроенные провайдеры"
msgstr ""
#: ../../root/dependency_injection.rst:46
msgid ""
"``Argenta`` поставляется со встроенным провайдером, который даёт доступ к"
" важным системным зависимостям без дополнительной настройки. Например, вы"
" можете получить объект ``ArgSpace``, который содержит аргументы "
"командной строки, переданные при запуске приложения."
msgstr ""
#: ../../root/dependency_injection.rst:48
msgid ""
"Пример получения объекта ``ArgSpace`` и вывода в консоль значения "
"аргумента `type`:"
msgstr ""
#: ../../root/dependency_injection.rst:55
msgid "Обмен данными между хендлерами"
msgstr ""
#: ../../root/dependency_injection.rst:57
msgid ""
"Помимо DI, обработчики могут обмениваться данными в рамках сессии через "
"**объект контекста**. В ``Argenta`` эту роль выполняет объект "
"``Response``."
msgstr ""
#: ../../root/dependency_injection.rst:59
msgid ""
"Каждый обработчик может записывать в него данные, а также читать, "
"обновлять и удалять их."
msgstr ""
#: ../../root/dependency_injection.rst:63
msgid "Подробнее об этом можно прочитать в разделе :ref:`root_api_response`."
msgstr ""
#~ msgid "мда мда мда"
#~ msgstr ""
#~ msgid ""
#~ "Внедрение зависимостей (Dependency Injection, "
#~ "DI) — это паттерн проектирования, "
#~ "который помогает писать слабосвязанный, легко"
#~ " тестируемый и расширяемый код. Вместо "
#~ "того чтобы хендлеры сами создавали "
#~ "нужные им объекты (зависимости) они лишь"
#~ " объявляют о необходимости в их "
#~ "получении, а ``Argenta`` \"внедряет\" их "
#~ "в хендлеры в момент вызова."
#~ msgstr ""
#~ msgid ""
#~ "``Argenta`` использует популярную библиотеку "
#~ "``dishka`` для реализации DI, что "
#~ "позволяет вам декларативно объявлять "
#~ "зависимости прямо в сигнатурах ваших "
#~ "хендлеров. Более подробно про ``DI``, "
#~ "``IoC``, ``API`` создания провайдеров и "
#~ "другое вы можете прочитать тут_."
#~ msgstr ""
#~ msgid ""
#~ "Представьте, что вашему хендлеру для "
#~ "работы нужен доступ к базе данных. "
#~ "Вместо того чтобы импортировать и "
#~ "инициализировать соединение внутри функции, вы"
#~ " просто объявляете его как аргумент с"
#~ " тайп-хинтом:"
#~ msgstr ""
#~ msgid ""
#~ "``argenta.di.FromDishka`` это алиас к "
#~ "``dishka.FromDishka``, они полностью "
#~ "взаимозаменяемы."
#~ msgstr ""
#~ msgid ""
#~ "``Argenta`` -> ``dishka`` зарезолвит тайпхинты"
#~ " и внедрит зависимость с возвращаемым "
#~ "типом ``Connection``, прежде чем использовать"
#~ " зависимость её нужно создать, для "
#~ "этого нужно создать соответствующий провайдер."
#~ msgstr ""
#~ msgid "После создания провайдера, его нужно зарегистрировать в оркестраторе."
#~ msgstr ""
#~ msgid "В основе DI в Argente лежат **провайдеры** и **контейнер**."
#~ msgstr ""
#~ msgid ""
#~ "``Argenta`` поставляется с предопределённым "
#~ "провайдером, который даёт доступ к "
#~ "важным системным зависимостям без какой-либо"
#~ " настройки. К примеру вы можете "
#~ "получить объект ``ArgSpace``, который "
#~ "представляет из себя распаршенные аргументы"
#~ " командной строки при запуске приложения."
#~ msgstr ""
#~ msgid ""
#~ "Краткий сэмпл кода, который получает "
#~ "объект ``ArgSpace`` и выводит в консоль"
#~ " аргумент с именем \"type\":"
#~ msgstr ""
#~ msgid ""
#~ "Помимо DI, хендлеры могут общаться друг"
#~ " с другом в контексте приложения "
#~ "через **объект контекста** (в ``Argenta`` "
#~ "эту роль выполняет объект ``Response``)."
#~ msgstr ""
#~ msgid "Каждый хендлер может записывать данные, читать, обновлять и удалять."
#~ msgstr ""