Files
Argenta/docs/locales/en/LC_MESSAGES/root/dependency_injection.po
T
2025-10-20 16:38:17 +03:00

132 lines
5.8 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-10-20 14:52+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`` "
"создания провайдеров и другое вы можете прочитать тут_."
msgstr ""
#: ../../root/dependency_injection.rst:14
msgid "Основная идея"
msgstr ""
#: ../../root/dependency_injection.rst:16
msgid ""
"Представьте, что вашему хендлеру для работы нужен доступ к базе данных. "
"Вместо того чтобы импортировать и инициализировать соединение внутри "
"функции, вы просто объявляете его как аргумент с тайп-хинтом:"
msgstr ""
#: ../../root/dependency_injection.rst:19
msgid ""
"``argenta.di.FromDishka`` это алиас к ``dishka.FromDishka``, они "
"полностью взаимозаменяемы."
msgstr ""
#: ../../root/dependency_injection.rst:24
msgid ""
"``Argenta`` -> ``dishka`` зарезолвит тайпхинты и внедрит зависимость с "
"возвращаемым типом ``Connection``, прежде чем использовать зависимость её"
" нужно создать, для этого нужно создать соответствующий провайдер."
msgstr ""
#: ../../root/dependency_injection.rst:29
msgid "После создания провайдера, его нужно зарегистрировать в оркестраторе."
msgstr ""
#: ../../root/dependency_injection.rst:35
msgid "Как это работает?"
msgstr ""
#: ../../root/dependency_injection.rst:37
msgid "В основе DI в Argente лежат **провайдеры** и **контейнер**."
msgstr ""
#: ../../root/dependency_injection.rst:39
msgid ""
"**Провайдер (Provider)** — это \"рецепт\", который объясняет, как "
"создавать и настраивать ту или иную зависимость (например, подключение к "
"БД, API-клиент или любой другой сервис)."
msgstr ""
#: ../../root/dependency_injection.rst:40
msgid ""
"**Контейнер (IoC Container)** — это \"фабрика\", которая хранит все "
"рецепты (провайдеры) и по запросу создаёт и выдаёт готовые зависимости."
msgstr ""
#: ../../root/dependency_injection.rst:43
msgid "Встроенные провайдеры"
msgstr ""
#: ../../root/dependency_injection.rst:45
msgid ""
"``Argenta`` поставляется с предопределённым провайдером, который даёт "
"доступ к важным системным зависимостям без какой-либо настройки. К "
"примеру вы можете получить объект ``ArgSpace``, который представляет из "
"себя распаршенные аргументы командной строки при запуске приложения."
msgstr ""
#: ../../root/dependency_injection.rst:47
msgid ""
"Краткий сэмпл кода, который получает объект ``ArgSpace`` и выводит в "
"консоль аргумент с именем \"type\":"
msgstr ""
#: ../../root/dependency_injection.rst:53
msgid "Обмен данными между хендлерами"
msgstr ""
#: ../../root/dependency_injection.rst:55
msgid ""
"Помимо DI, хендлеры могут общаться друг с другом в контексте приложения "
"через **объект контекста** (в ``Argenta`` эту роль выполняет объект "
"``Response``)."
msgstr ""
#: ../../root/dependency_injection.rst:57
msgid "Каждый хендлер может записывать данные, читать, обновлять и удалять."
msgstr ""
#: ../../root/dependency_injection.rst:61
msgid "Подробнее об этом можно прочитать в разделе :ref:`root_api_response`."
msgstr ""
#~ msgid "мда мда мда"
#~ msgstr ""