mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 18:15:28 +03:00
ce7e24b924
The entire public api is covered with documentation in two languages - Russian and English. the library now supports the latest three versions of python - 3.12, 3.13 and 3.14 minor design changes: now, when a Boolean flag is entered, its value is an empty string, not None. tests have been adapted to the supported versions of python, readmi has been redesigned in two languages, German is no longer available.
176 lines
8.5 KiB
Plaintext
176 lines
8.5 KiB
Plaintext
# SOME DESCRIPTIVE TITLE.
|
||
# Copyright (C) 2025, kolo
|
||
# This file is distributed under the same license as the Argenta package.
|
||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
|
||
#
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: Argenta \n"
|
||
"Report-Msgid-Bugs-To: \n"
|
||
"POT-Creation-Date: 2025-12-04 20:39+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) — это паттерн "
|
||
"проектирования, который помогает писать слабосвязанный, легко тестируемый"
|
||
" и расширяемый код. Вместо того чтобы обработчики сами создавали нужные "
|
||
"им объекты (зависимости), они получают их извне."
|
||
msgstr ""
|
||
"Dependency Injection (DI) is a design pattern that helps write loosely "
|
||
"coupled, easily testable, and extensible code. Instead of handlers "
|
||
"creating the objects (dependencies) they need themselves, they receive "
|
||
"them from outside."
|
||
|
||
#: ../../root/dependency_injection.rst:8
|
||
msgid ""
|
||
"``Argenta`` использует библиотеку ``dishka`` для реализации DI, что "
|
||
"позволяет декларативно объявлять зависимости прямо в сигнатурах ваших "
|
||
"обработчиков. Подробнее о DI, IoC и API для создания провайдеров можно "
|
||
"прочитать в `официальной документации dishka "
|
||
"<https://dishka.readthedocs.io/en/stable/di_intro.html>`_."
|
||
msgstr ""
|
||
"``Argenta`` uses the ``dishka`` library to implement DI, which allows you"
|
||
" to declaratively declare dependencies directly in your handler "
|
||
"signatures. You can read more about DI, IoC, and the API for "
|
||
"creating providers in the `official dishka documentation "
|
||
"<https://dishka.readthedocs.io/en/stable/di_intro.html>`_."
|
||
|
||
#: ../../root/dependency_injection.rst:14
|
||
msgid "Основная идея"
|
||
msgstr "Main Idea"
|
||
|
||
#: ../../root/dependency_injection.rst:16
|
||
msgid ""
|
||
"Представьте, что вашему обработчику для работы нужен доступ к базе "
|
||
"данных. Вместо импорта и инициализации соединения внутри функции, вы "
|
||
"просто объявляете его как аргумент с аннотацией типа:"
|
||
msgstr ""
|
||
"Imagine your handler needs access to a database to work. Instead of "
|
||
"importing and initializing the connection inside the function, you simply"
|
||
" declare it as an argument with a type annotation:"
|
||
|
||
#: ../../root/dependency_injection.rst:19
|
||
msgid ""
|
||
"``argenta.di.FromDishka`` является алиасом для ``dishka.FromDishka``, и "
|
||
"они полностью взаимозаменяемы."
|
||
msgstr ""
|
||
"``argenta.di.FromDishka`` is an alias for ``dishka.FromDishka``, and they"
|
||
" are fully interchangeable."
|
||
|
||
#: ../../root/dependency_injection.rst:21
|
||
#: ../../root/dependency_injection.rst:29
|
||
#: ../../root/dependency_injection.rst:40
|
||
#: ../../root/dependency_injection.rst:63
|
||
msgid "**Пример использования:**"
|
||
msgstr "**Usage example:**"
|
||
|
||
#: ../../root/dependency_injection.rst:27
|
||
msgid ""
|
||
"``Argenta`` с помощью ``dishka`` разрешит зависимость по типу "
|
||
"``Connection`` и внедрит её. Но прежде чем использовать зависимость, её "
|
||
"необходимо объявить в провайдере:"
|
||
msgstr ""
|
||
"``Argenta`` with ``dishka`` will resolve the dependency by type "
|
||
"``Connection`` and inject it. But before using the dependency, it must be"
|
||
" declared in a provider:"
|
||
|
||
#: ../../root/dependency_injection.rst:35
|
||
msgid "После создания провайдера его необходимо зарегистрировать в оркестраторе."
|
||
msgstr "After creating the provider, it must be registered in the orchestrator."
|
||
|
||
#: ../../root/dependency_injection.rst:38
|
||
msgid ""
|
||
"Провайдеры регистрируются в ``Orchestrator``, а не в ``App``, так как "
|
||
"оркестратор отвечает за настройку DI-контейнера на уровне всего "
|
||
"приложения. Вы можете передать список из нескольких провайдеров через "
|
||
"параметр ``custom_providers``."
|
||
msgstr ""
|
||
"Providers are registered in ``Orchestrator``, not in ``App``, because "
|
||
"the orchestrator is responsible for configuring the DI container at the "
|
||
"application level. You can pass a list of multiple providers through the "
|
||
"``custom_providers`` parameter."
|
||
|
||
#: ../../root/dependency_injection.rst:49
|
||
msgid "Как это работает?"
|
||
msgstr "How Does It Work?"
|
||
|
||
#: ../../root/dependency_injection.rst:51
|
||
msgid "В основе DI в Argenta лежат **провайдеры** и **контейнер**."
|
||
msgstr "At the core of DI in Argenta are **providers** and a **container**."
|
||
|
||
#: ../../root/dependency_injection.rst:53
|
||
msgid ""
|
||
"**Провайдер (Provider)** — это \"рецепт\", который объясняет, как "
|
||
"создавать и настраивать ту или иную зависимость (например, подключение к "
|
||
"БД, API-клиент или любой другой сервис)."
|
||
msgstr ""
|
||
"**Provider (Provider)** is a \"recipe\" that explains how to create and "
|
||
"configure a particular dependency (for example, a database connection, "
|
||
"API client, or any other service)."
|
||
|
||
#: ../../root/dependency_injection.rst:54
|
||
msgid ""
|
||
"**Контейнер (IoC Container)** — это \"фабрика\", которая хранит все "
|
||
"рецепты (провайдеры) и по запросу создаёт и выдаёт готовые зависимости."
|
||
msgstr ""
|
||
"**Container (IoC Container)** is a \"factory\" that stores all recipes "
|
||
"(providers) and creates and provides ready dependencies on request."
|
||
|
||
#: ../../root/dependency_injection.rst:59
|
||
msgid "Встроенные провайдеры"
|
||
msgstr "Built-in Providers"
|
||
|
||
#: ../../root/dependency_injection.rst:61
|
||
msgid ""
|
||
"``Argenta`` поставляется со встроенным провайдером, который даёт доступ к"
|
||
" важным системным зависимостям без дополнительной настройки. Например, вы"
|
||
" можете получить объект :ref:`ArgSpace <root_api_orchestrator_argspace>`,"
|
||
" который содержит аргументы командной строки, переданные при запуске "
|
||
"приложения."
|
||
msgstr ""
|
||
"``Argenta`` comes with a built-in provider that gives access to important"
|
||
" system dependencies without additional configuration. For example, you "
|
||
"can get the :ref:`ArgSpace <root_api_orchestrator_argspace>` object, "
|
||
"which contains the command-line arguments passed when the application was "
|
||
"launched."
|
||
|
||
#: ../../root/dependency_injection.rst:72
|
||
msgid "Обмен данными между обработчиками"
|
||
msgstr "Data Exchange Between Handlers"
|
||
|
||
#: ../../root/dependency_injection.rst:74
|
||
msgid ""
|
||
"Помимо DI, обработчики могут обмениваться данными в рамках сессии через "
|
||
"**объект контекста**. В ``Argenta`` эту роль выполняет объект "
|
||
"``DataBridge``."
|
||
msgstr ""
|
||
"In addition to DI, handlers can exchange data within a session through a "
|
||
"**context object**. In ``Argenta``, this role is performed by the "
|
||
"``DataBridge`` object."
|
||
|
||
#: ../../root/dependency_injection.rst:76
|
||
msgid ""
|
||
"Каждый обработчик может записывать в него данные, а также читать, "
|
||
"обновлять и удалять их."
|
||
msgstr ""
|
||
"Each handler can write data to it, as well as read, update, and delete "
|
||
"data."
|
||
|
||
#: ../../root/dependency_injection.rst:79
|
||
msgid "Подробнее об этом можно прочитать в разделе :ref:`root_api_bridge`."
|
||
msgstr "You can read more about this in the :ref:`root_api_bridge` section."
|
||
|