Update documentation and code snippets

This commit is contained in:
2025-12-02 22:59:58 +03:00
parent e6645730f0
commit 2800a7ffc2
30 changed files with 1494 additions and 3962 deletions
+76 -129
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -19,197 +19,144 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n"
#: ../../index.rst:38
#: ../../index.rst:43
msgid "Контент:"
msgstr "Content:"
#: ../../index.rst:48
#: ../../index.rst:53
msgid "Продвинутое использование:"
msgstr ""
msgstr "Advanced usage:"
#: ../../index.rst:56
#: ../../index.rst:61
msgid "Для разработчиков:"
msgstr "For developers:"
#: ../../index.rst:63
#: ../../index.rst:68
msgid "GitHub"
msgstr ""
#: ../../index.rst:63
#: ../../index.rst:68
msgid "PyPI"
msgstr ""
#: ../../index.rst:63
#: ../../index.rst:68
msgid "Ссылки проекта:"
msgstr "Project Links:"
msgstr "Project links:"
#: ../../index.rst:7
msgid "Argenta"
msgstr ""
#: ../../index.rst:9
#: ../../index.rst:10
msgid "Что это и зачем?"
msgstr "What is it and why?"
#: ../../index.rst:12
msgid ""
"**Библиотека для построения модульных CLI-приложений с простым и приятным"
" API.**"
msgstr ""
"Python library for building modular CLI applications with simple and "
"agreeable API."
msgstr "**A library for building modular CLI applications with a simple and pleasant API.**"
#: ../../index.rst:11
#: ../../index.rst:14
msgid ""
"Если у вас есть функциональность, которую вы хотите предоставить в виде "
"CLI-приложения, Argenta поможет вам в этом. Основная цель библиотеки — "
"дать разработчикам возможность сосредоточиться на реализации своих идей, "
"предоставляя для этого удобные абстракции."
msgstr ""
#: ../../index.rst:14
msgid "Пример приложения"
msgstr ""
"If you have functionality that you want to provide as a CLI application, "
"Argenta will help you with that. The main goal of the library is to enable "
"developers to focus on implementing their ideas by providing convenient abstractions."
#: ../../index.rst:17
msgid "App example"
msgstr ""
#: ../../index.rst:20
msgid ""
"Argenta предназначена для создания приложений, работающих в собственном "
"контексте (scope). Это означает, что при запуске пользователь входит в "
"интерактивную сессию, где ему доступна вся реализованная вами "
"функциональность."
msgstr ""
"Argenta is designed for creating applications that work in their own context "
"(scope). This means that when launched, the user enters an interactive session "
"where all the functionality you've implemented is available."
#: ../../index.rst:19
#: ../../index.rst:22
msgid ""
"Один из ключевых принципов библиотеки — цикличность. После выполнения "
"команды пользователь остаётся в интерактивной сессии, в отличие от таких "
"библиотек, как ``argparse``, ``click`` и ``typer``. Выход из сессии "
"контролируется самим пользователем."
msgstr ""
#: ../../index.rst:21
msgid "**Ключевые особенности:**"
msgstr ""
#: ../../index.rst:23
msgid ""
"**Интерактивные сессии**. В отличие от традиционных CLI-инструментов, "
"Argenta создаёт циклические сессии, позволяя пользователю выполнять "
"команды последовательно, не перезапуская приложение."
"контролируется пользователем."
msgstr ""
"One of the key principles of the library is cyclicity. After executing a command, "
"the user remains in the interactive session, unlike libraries such as ``argparse``, "
"``click``, and ``typer``. Exiting the session is controlled by the user."
#: ../../index.rst:24
msgid ""
"**Декларативный синтаксис**. Команды и их обработчики объявляются с "
"помощью простых декораторов, что делает код чистым и интуитивно понятным."
msgstr ""
#: ../../index.rst:25
msgid ""
"**Встроенное внедрение зависимостей (DI)**. Благодаря интеграции с "
"`dishka <https://dishka.readthedocs.io/en/stable/>`_, вы можете легко "
"внедрять сервисы (например, подключения к БД) прямо в обработчики команд,"
" что упрощает их тестирование и переиспользование."
msgstr ""
msgid "**Ключевые особенности:**"
msgstr "**Key features:**"
#: ../../index.rst:26
msgid ""
"**Автоматическая валидация и парсинг**. Библиотека берёт на себя "
"обработку флагов и аргументов командной строки, включая их парсинг, "
"валидацию и преобразование типов."
"**Интерактивные сессии**: В отличие от традиционных CLI-инструментов, "
"``Argenta`` создаёт циклические сессии, позволяя пользователю выполнять "
"команды последовательно, не перезапуская приложение."
msgstr ""
"**Interactive sessions**: Unlike traditional CLI tools, ``Argenta`` creates "
"cyclical sessions, allowing users to execute commands sequentially without "
"restarting the application."
#: ../../index.rst:27
msgid ""
"**Гибкая настройка**. Вы можете легко кастомизировать системные "
"сообщения, форматирование вывода и даже перенаправлять стандартный вывод "
"(stdout) в свои обработчики."
"**Декларативный синтаксис**: Команды и их обработчики объявляются с "
"помощью простых декораторов, что делает код чистым и интуитивно понятным."
msgstr ""
"**Declarative syntax**: Commands and their handlers are declared using simple "
"decorators, making the code clean and intuitive."
#: ../../index.rst:28
msgid ""
"**Нативный DI**: Благодаря интеграции с `dishka "
"<https://dishka.readthedocs.io/en/stable/>`_, вы можете легко внедрять "
"зависимости прямо в обработчики команд, что упрощает их тестирование и "
"переиспользование."
msgstr ""
"**Native DI**: Thanks to integration with `dishka "
"<https://dishka.readthedocs.io/en/stable/>`_, you can easily inject "
"dependencies directly into command handlers, simplifying their testing and reuse."
#: ../../index.rst:29
msgid ""
"**Автоматическая валидация и парсинг**: Библиотека берёт на себя "
"обработку флагов и аргументов командной строки, включая их парсинг, "
"валидацию и преобразование типов."
msgstr ""
"**Automatic validation and parsing**: The library handles command-line flags "
"and arguments, including their parsing, validation, and type conversion."
#: ../../index.rst:30
msgid "Архитектура и жизненный цикл"
msgid ""
"**Гибкая настройка**: Вы можете легко кастомизировать системные "
"сообщения, форматирование вывода и т.д."
msgstr ""
"**Flexible configuration**: You can easily customize system messages, "
"output formatting, and more."
#: ../../index.rst:32
#: ../../index.rst:35
msgid "Архитектура и жизненный цикл"
msgstr "Architecture and lifecycle"
#: ../../index.rst:37
msgid ""
"Следующая диаграмма иллюстрирует, как компоненты Argenta взаимодействуют "
"друг с другом, обрабатывая ввод пользователя."
msgstr ""
"The following diagram illustrates how Argenta components interact with each "
"other while processing user input."
#: ../../index.rst:34
#: ../../index.rst:39
msgid "Request Lifecycle Diagram"
msgstr ""
#~ msgid ""
#~ "У вас есть некая функциональность и "
#~ "вы хотите распространять её в виде "
#~ "CLI? Argenta поможет вам. Основная цель"
#~ " библиотеки дать возможность разработчикам "
#~ "сфокусироваться на реализации своих идей, "
#~ "предоставляя для этого удобные абстракциию."
#~ msgstr ""
#~ msgid ""
#~ "Argenta нужна для создания приложений, "
#~ "которым необходим свой скоуп, то есть:"
#~ " при запуске приложения юзер входит в"
#~ " абстрагированный скоуп, в котором у "
#~ "него есть доступ к созданной "
#~ "функциональности."
#~ msgstr ""
#~ msgid ""
#~ "Один из основных принципов библиотеки "
#~ "это цикличность, это значит, что после"
#~ " ввода юзером команды он не выходит"
#~ " из скоупа, в этом основное отличие"
#~ " от таких библиотек, как ``argparse``, "
#~ "``click`` и ``typer``. Выход из скоупа"
#~ " контролируется самим юзером."
#~ msgstr ""
#~ msgid ""
#~ "**Обработчики**. Объекты представления приложения,"
#~ " непосредственные обработчики введённых команд."
#~ " Создание обработчиков максимально декларативно"
#~ msgstr ""
#~ msgid ""
#~ "**Маршрутизаторы**. Объекты маршрутизации, которые"
#~ " регистрируют обработчиков, позволяя создавать"
#~ " кастомные настройки для групп "
#~ "обработчиков, а также семантически их "
#~ "разделять."
#~ msgstr ""
#~ msgid ""
#~ "**Приложение**. Объект управления жизненным "
#~ "циклом приложения, подключения созданных "
#~ "маршрутизаторов, конфигурирования различных "
#~ "вторичных утилит, таких как автокомплит, "
#~ "логирование и т.д."
#~ msgstr ""
#~ msgid ""
#~ "**Оркестратор**. Объект *оркестрации*, который "
#~ "конфигурирует, запускает и управляет всеми "
#~ "остальными компонентами программы."
#~ msgstr ""
#~ msgid ""
#~ "**Внедрение зависимостей**. ``Argenta`` нативно "
#~ "поддерживает ``dishka`` и предоставляет "
#~ "возможность инжектирования зависимостей в "
#~ "хэндлерах, резолвя тайпхинты, подробнее_."
#~ msgstr ""
#~ msgid ""
#~ "**Поддержка флагов**. Библиотека поддерживает "
#~ "определение флагов, введённых вместе с "
#~ "командой, ``Argenta`` сама парсит и "
#~ "валидирует их, отдавая понятные сущности."
#~ msgstr ""
#~ msgid ""
#~ "**Поддержка аргументов**. Осуществленна поддержка"
#~ " аргументов командной строки, позволяя "
#~ "пользователю передавать различные параметры "
#~ "при запуске приложения."
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -31,50 +31,43 @@ msgid ""
" снижает вероятность опечаток."
msgstr ""
#: ../../root/api/app/autocompleter.rst:8
msgid ""
"``AutoCompleter`` использует ``pyreadline3`` для реализации "
"функциональности `GNU readline` в `Windows`, что позволяет управлять "
"историей команд и автодополнением."
msgstr ""
#: ../../root/api/app/autocompleter.rst:13
#: ../../root/api/app/autocompleter.rst:11
msgid "Инициализация"
msgstr ""
#: ../../root/api/app/autocompleter.rst:20
#: ../../root/api/app/autocompleter.rst:18
msgid "Создаёт и настраивает экземпляр ``AutoCompleter``."
msgstr ""
#: ../../root/api/app/autocompleter.rst:22
#: ../../root/api/app/autocompleter.rst:20
msgid ""
"``history_filename``: Имя файла для сохранения истории команд. Если "
"указано, история будет сохраняться между сессиями. При значении `None` "
"история хранится только в памяти."
"указано, история будет сохраняться между сессиями. При значении ``None`` "
"история хранится только в контексте сессии."
msgstr ""
#: ../../root/api/app/autocompleter.rst:23
#: ../../root/api/app/autocompleter.rst:21
msgid ""
"``autocomplete_button``: Клавиша, активирующая автодополнение. По "
"умолчанию — **Tab**."
msgstr ""
#: ../../root/api/app/autocompleter.rst:28
#: ../../root/api/app/autocompleter.rst:26
msgid "Назначение и возможности"
msgstr ""
#: ../../root/api/app/autocompleter.rst:30
#: ../../root/api/app/autocompleter.rst:28
msgid "Основные возможности ``AutoCompleter``:"
msgstr ""
#: ../../root/api/app/autocompleter.rst:32
#: ../../root/api/app/autocompleter.rst:30
msgid ""
"**Автодополнение по истории**: При нажатии клавиши автодополнения (по "
"умолчанию **Tab**) система ищет в истории команды, начинающиеся с уже "
"введённого текста."
msgstr ""
#: ../../root/api/app/autocompleter.rst:34
#: ../../root/api/app/autocompleter.rst:32
msgid ""
"**Общий префикс**: Если найдено несколько команд с общим префиксом, будет"
" подставлена только общая часть. Например, для команд ``show_users`` и "
@@ -82,123 +75,30 @@ msgid ""
"``show_``."
msgstr ""
#: ../../root/api/app/autocompleter.rst:36
#: ../../root/api/app/autocompleter.rst:34
msgid ""
"**Постоянная история**: Если указан ``history_filename``, история команд "
"сохраняется в файл при выходе и загружается при следующем запуске. Это "
"делает автодополнение со временем «умнее»."
msgstr ""
#: ../../root/api/app/autocompleter.rst:38
#: ../../root/api/app/autocompleter.rst:36
msgid ""
"**Очистка истории**: При сохранении ``AutoCompleter`` удаляет дубликаты и"
" более не существующие команды, поддерживая историю в актуальном "
"состоянии."
" несуществующие команды, поддерживая историю в актуальном состоянии."
msgstr ""
#: ../../root/api/app/autocompleter.rst:40
#: ../../root/api/app/autocompleter.rst:38
msgid ""
"**Настройка клавиши**: Клавишу автодополнения можно изменить с помощью "
"параметра ``autocomplete_button``."
msgstr ""
#: ../../root/api/app/autocompleter.rst:45
#: ../../root/api/app/autocompleter.rst:43
msgid "Пример использования"
msgstr ""
#: ../../root/api/app/autocompleter.rst:47
#: ../../root/api/app/autocompleter.rst:45
msgid "``AutoCompleter`` передаётся как аргумент при инициализации `App`."
msgstr ""
#~ msgid "Autocompleter"
#~ msgstr ""
#~ msgid ""
#~ "Объект ``AutoCompleter`` является компонентом "
#~ "``Argenta``, отвечающим за интерактивное "
#~ "автодополнение команд. Его основная задача "
#~ "— улучшить опыт взаимодействия пользователя"
#~ " с командной строкой, предоставляя "
#~ "подсказки и автоматически завершая ввод "
#~ "на основе ранее введенных команд. Это"
#~ " значительно ускоряет работу и снижает "
#~ "вероятность опечаток."
#~ msgstr ""
#~ msgid ""
#~ "``AutoCompleter`` использует ``pyreadline3`` для "
#~ "имплементации ``readline GNU`` на ``Windows``"
#~ " для управления историей команд и "
#~ "реализации логики автодополнения."
#~ msgstr ""
#~ msgid "Создает и настраивает экземпляр ``AutoCompleter``."
#~ msgstr ""
#~ msgid ""
#~ "``history_filename``: Имя файла для сохранения"
#~ " и загрузки истории команд. Если "
#~ "указано, история будет персистентной между "
#~ "сессиями приложения. Если **None**, история"
#~ " будет храниться только в памяти "
#~ "текущей сессии."
#~ msgstr ""
#~ msgid ""
#~ "``autocomplete_button``: Название клавиши, которая"
#~ " активирует автодополнение. По умолчанию "
#~ "используется клавиша **\"tab\"**."
#~ msgstr ""
#~ msgid "``AutoCompleter`` обладает следующими возможностями:"
#~ msgstr ""
#~ msgid ""
#~ "**Автодополнение по истории**: Основная логика"
#~ " автодополнения основана на истории команд,"
#~ " которые пользователь вводил ранее. Когда"
#~ " пользователь начинает вводить команду и"
#~ " нажимает клавишу автодополнения (по "
#~ "умолчанию **Tab**), система ищет в "
#~ "истории все команды, начинающиеся с "
#~ "введенного текста."
#~ msgstr ""
#~ msgid ""
#~ "**Завершение по общему префиксу**: Если "
#~ "найдено несколько команд с общим "
#~ "префиксом, автодокомплитер подставит только "
#~ "общую часть. Например, если в истории"
#~ " есть команды ``show_users`` и "
#~ "``show_profile``, при вводе ``sho`` и "
#~ "нажатии **Tab** будет подставлено ``show_``."
#~ msgstr ""
#~ msgid ""
#~ "**Персистентная история**: При указании "
#~ "параметра ``history_filename`` в конструкторе, "
#~ "вся история команд сохраняется в файл"
#~ " при выходе из приложения и "
#~ "загружается при следующем запуске. Это "
#~ "делает автодополнение со временем все "
#~ "более \"умным\" и персонализированным."
#~ msgstr ""
#~ msgid ""
#~ "**Очистка истории**: При сохранении истории"
#~ " ``AutoCompleter`` автоматически удаляет "
#~ "дубликаты и команды, которые больше не"
#~ " зарегистрированы в приложении, поддерживая "
#~ "актуальность и чистоту файла истории."
#~ msgstr ""
#~ msgid ""
#~ "**Настройка клавиши активации**: Вы можете "
#~ "изменить клавишу, отвечающую за "
#~ "автодополнение, через параметр "
#~ "``autocomplete_button``."
#~ msgstr ""
#~ msgid "``AutoCompleter`` передается как аргумент при инициализации `App`."
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -31,7 +31,7 @@ msgid ""
msgstr ""
#: ../../root/api/app/dividing_lines.rst:11
msgid "Класс ``StaticDividingLine``"
msgid "``StaticDividingLine``"
msgstr ""
#: ../../root/api/app/dividing_lines.rst:13
@@ -52,20 +52,18 @@ msgid ""
msgstr ""
#: ../../root/api/app/dividing_lines.rst:24
msgid ""
"``length``: Фиксированная длина линии (keyword-only аргумент). По "
"умолчанию: ``25``."
msgid "``length``: Фиксированная длина линии. По умолчанию: ``25``."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:29
msgid "Класс ``DynamicDividingLine``"
msgid "``DynamicDividingLine``"
msgstr ""
#: ../../root/api/app/dividing_lines.rst:31
msgid ""
"``DynamicDividingLine`` создаёт линию, длина которой **динамически** "
"подстраивается под самую длинную строку в выводе команды. Это требует "
"перехвата `stdout`, в результате чего разделители идеально обрамляют "
"перехвата ``stdout``, в результате чего разделители идеально обрамляют "
"выводимый контент."
msgstr ""
@@ -136,120 +134,3 @@ msgid ""
"через параметр ``dividing_line``."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:70
msgid "Пример конфигурации"
msgstr ""
#~ msgid "DividingLines"
#~ msgstr ""
#~ msgid ""
#~ "Разделительные линии в ``Argenta`` играют "
#~ "важную роль в визуальном оформлении "
#~ "консольного интерфейса. Они используются для"
#~ " структурирования вывода, отделения блоков "
#~ "информации друг от друга (например, "
#~ "вывода команды от следующего приглашения "
#~ "к вводу). Библиотека предлагает два "
#~ "подхода к управлению разделительными линиями:"
#~ " статический и динамический, каждый из "
#~ "которых имеет свои преимущества и "
#~ "сценарии использования."
#~ msgstr ""
#~ msgid ""
#~ "``StaticDividingLine`` — это класс, который"
#~ " создает разделительную линию **фиксированной**"
#~ " длины. Длина и символ-заполнитель задаются"
#~ " при инициализации объекта. Этот тип "
#~ "линии полезен, когда вам нужен "
#~ "предсказуемый и унифицированный внешний вид"
#~ " интерфейса, независимо от содержимого "
#~ "вывода."
#~ msgstr ""
#~ msgid "Создает экземпляр статической разделительной линии."
#~ msgstr ""
#~ msgid ""
#~ "``unit_part``: Символ, который будет "
#~ "использоваться для построения линии. "
#~ "Учитывается только первый символ строки. "
#~ "По умолчанию: ``-``."
#~ msgstr ""
#~ msgid ""
#~ "``length``: Целое число, определяющее "
#~ "фиксированную длину линии в символах. "
#~ "Является keyword-only аргументом. По "
#~ "умолчанию: ``25``."
#~ msgstr ""
#~ msgid ""
#~ "``DynamicDividingLine`` представляет собой более "
#~ "\"умный\" подход. Этот класс создает "
#~ "линию, длина которой **динамически** "
#~ "подстраивается под самую длинную строку, "
#~ "выведенную в консоль, в рамках "
#~ "выполнения одной команды. Это достигается "
#~ "за счет механизма перехвата `stdout`. В"
#~ " результате разделительные линии всегда "
#~ "идеально обрамляют выводимый контент, что "
#~ "выглядит очень аккуратно."
#~ msgstr ""
#~ msgid "Создает экземпляр динамической разделительной линии."
#~ msgstr ""
#~ msgid ""
#~ "``unit_part``: Символ, который будет "
#~ "использоваться для построения линии. По "
#~ "умолчанию: ``-``."
#~ msgstr ""
#~ msgid ""
#~ "Длина для этой линии не задается "
#~ "при инициализации, так как она "
#~ "вычисляется автоматически во время выполнения."
#~ msgstr ""
#~ msgid ""
#~ "Выбор между статической и динамической "
#~ "линией зависит от ваших потребностей в"
#~ " конкретном приложении или даже для "
#~ "конкретного ``Router``-а."
#~ msgstr ""
#~ msgid "Вам нужен строгий, консистентный дизайн."
#~ msgstr ""
#~ msgid ""
#~ "Вы используете роутеры с отключенным "
#~ "перехватом ``stdout`` (``disable_redirect_stdout=True``),"
#~ " так как в этом случае динамическое"
#~ " вычисление длины невозможно."
#~ msgstr ""
#~ msgid ""
#~ "**DynamicDividingLine** (используется по умолчанию)"
#~ " является предпочтительным выбором, если:"
#~ msgstr ""
#~ msgid "Вы хотите, чтобы интерфейс выглядел аккуратно и адаптивно."
#~ msgstr ""
#~ msgid ""
#~ "Вывод ваших команд имеет разную длину,"
#~ " и вы хотите, чтобы рамки всегда "
#~ "соответствовали контенту."
#~ msgstr ""
#~ msgid "В ваших хэндлерах нет ожидающих ``io`` операций."
#~ msgstr ""
#~ msgid ""
#~ "Тип разделительной линии для всего "
#~ "приложения задается при инициализации ``App``"
#~ " через параметр ``dividing_line``."
#~ msgstr ""
+32 -220
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -52,7 +52,9 @@ msgid "``farewell_message``: Сообщение, выводимое при вы
msgstr ""
#: ../../root/api/app/index.rst:43
msgid "``exit_command``: Команда, используемая для выхода из приложения."
msgid ""
"``exit_command``: Команда, которая маркируется как триггер для выхода из "
"приложения."
msgstr ""
#: ../../root/api/app/index.rst:44
@@ -63,20 +65,20 @@ msgstr ""
#: ../../root/api/app/index.rst:45
msgid ""
"``ignore_command_register``: Если ``True``, регистр команд игнорируется "
"при поиске обработчика."
"``ignore_command_register``: Если ``True``, регистр вводимых команд "
"игнорируется при поиске обработчика."
msgstr ""
#: ../../root/api/app/index.rst:46
msgid ""
"``dividing_line``: Стиль разделительной линии (``StaticDividingLine`` или"
" ``DynamicDividingLine``)."
"``dividing_line``: Тип разделительной линии (``StaticDividingLine`` или "
"``DynamicDividingLine``)."
msgstr ""
#: ../../root/api/app/index.rst:47
msgid ""
"``repeat_command_groups_printing``: Если ``True``, список доступных команд "
"выводится перед каждым вводом."
"``repeat_command_groups_printing``: Если ``True``, список доступных "
"команд выводится перед каждым вводом."
msgstr ""
#: ../../root/api/app/index.rst:48
@@ -86,13 +88,15 @@ msgid ""
msgstr ""
#: ../../root/api/app/index.rst:49
msgid "``autocompleter``: Объект, отвечающий за автодополнение команд."
msgid ""
"``autocompleter``: Экземпляр класса :ref:`AutoCompleter "
"<root_api_app_autocompleter>`, отвечающий за автодополнение команд."
msgstr ""
#: ../../root/api/app/index.rst:50
msgid ""
"``print_func``: Функция для вывода всех системных сообщений (по умолчанию"
" ``rich.print``)."
" ``rich.Console().print``)."
msgstr ""
#: ../../root/api/app/index.rst:55
@@ -124,7 +128,7 @@ msgstr ""
#: ../../root/api/app/index.rst:71
msgid ""
"Добавляет текстовое сообщение, которое выводится при запуске приложения "
"после `initial_message`."
"после ``initial_message``."
msgstr ""
#: ../../root/api/app/index.rst:73
@@ -154,17 +158,15 @@ msgid ""
msgstr ""
#: ../../root/api/app/index.rst:92
msgid "Устанавливает шаблон для форматирования строки описания команды."
msgid "Устанавливает шаблон для форматирования описания команды."
msgstr ""
#: ../../root/api/app/index.rst:94
msgid ""
"Обработчик принимает триггер команды (``str``) и её описание (``str``), а"
" возвращает отформатированную строку."
msgid "Обработчик принимает триггер команды (``str``) и её описание (``str``)."
msgstr ""
#: ../../root/api/app/index.rst:100
msgid "Устанавливает обработчик для некорректного синтаксиса флагов."
msgid "Устанавливает обработчик при некорректном введённом синтаксисе флагов."
msgstr ""
#: ../../root/api/app/index.rst:102 ../../root/api/app/index.rst:110
@@ -172,19 +174,19 @@ msgid "Обработчик принимает строку, введённую
msgstr ""
#: ../../root/api/app/index.rst:108
msgid "Устанавливает обработчик для повторяющихся флагов в команде."
msgid "Устанавливает обработчик при повторяющихся флагах в введённой команде."
msgstr ""
#: ../../root/api/app/index.rst:116
msgid "Устанавливает обработчик для неизвестной команды."
msgid "Устанавливает обработчик при вводе неизвестной команды."
msgstr ""
#: ../../root/api/app/index.rst:118
msgid "Обработчик принимает объект ``InputCommand``."
msgid "Обработчик принимает объект ``InputCommand`` - объект введённой команды."
msgstr ""
#: ../../root/api/app/index.rst:124
msgid "Устанавливает обработчик для пустого ввода."
msgid "Устанавливает обработчик при вводе пустой строки."
msgstr ""
#: ../../root/api/app/index.rst:126
@@ -205,227 +207,37 @@ msgstr ""
#: ../../root/api/app/index.rst:149
msgid ""
"`PredefinedMessages` — это перечисление (Enum), содержащее набор готовых "
"к использованию строковых сообщений. Они отформатированы с использованием"
" синтаксиса `rich` и предназначены для вывода стандартной информации, "
"такой как подсказки по использованию."
"``PredefinedMessages`` — это контейнер, содержащий набор готовых к "
"использованию сообщений. Они отформатированы с использованием синтаксиса "
"``rich`` и предназначены для вывода стандартной информации, такой как "
"подсказки по использованию."
msgstr ""
#: ../../root/api/app/index.rst:151
msgid "Реккомендуется использовать их при старте приложения."
msgstr ""
#: ../../root/api/app/index.rst:177
#: ../../root/api/app/index.rst:178
msgid "Строка: ``[b dim]Usage[/b dim]: [i]<command> <[green]flags[/green]>[/i]``"
msgstr ""
#: ../../root/api/app/index.rst:179
#: ../../root/api/app/index.rst:180
msgid "Отображается как: ``Usage: <command> <flags>``"
msgstr ""
#: ../../root/api/app/index.rst:183
#: ../../root/api/app/index.rst:184
msgid "Строка: ``[b dim]Help[/b dim]: [i]<command>[/i] [b red]--help[/b red]``"
msgstr ""
#: ../../root/api/app/index.rst:185
#: ../../root/api/app/index.rst:186
msgid "Отображается как: ``Help: <command> --help``"
msgstr ""
#: ../../root/api/app/index.rst:189
#: ../../root/api/app/index.rst:190
msgid "Строка: ``[b dim]Autocomplete[/b dim]: [i]<part>[/i] [bold]<tab>``"
msgstr ""
#: ../../root/api/app/index.rst:191
#: ../../root/api/app/index.rst:192
msgid "Отображается как: ``Autocomplete: <part> <tab>``"
msgstr ""
#~ msgid ""
#~ "Объект ``App`` является центральной сущностью"
#~ " библиотеки ``Argenta``. Он выступает в "
#~ "роли ядра вашего консольного приложения, "
#~ "отвечая за его конфигурацию, управление "
#~ "жизненным циклом, обработку команд и "
#~ "взаимодействие с пользователем. ``App`` "
#~ "координирует работу всех остальных "
#~ "компонентов, таких как роутеры, обработчики"
#~ " команд и системные сообщения."
#~ msgstr ""
#~ msgid "Создает и настраивает экземпляр приложения ``Argenta``."
#~ msgstr ""
#~ msgid ""
#~ "``prompt``: Строка-приглашение, которая "
#~ "отображается перед вводом каждой команды. "
#~ "По умолчанию: **\"What do you want "
#~ "to do?\\\\n\\\\n\"**."
#~ msgstr ""
#~ msgid ""
#~ "``initial_message``: Приветственное сообщение, "
#~ "которое выводится при запуске приложения."
#~ msgstr ""
#~ msgid ""
#~ "``farewell_message``: Прощальное сообщение при "
#~ "завершении работы приложения."
#~ msgstr ""
#~ msgid ""
#~ "``exit_command``: Сущность команды, которая "
#~ "будет маркирована как команда для выхода"
#~ " из приложения."
#~ msgstr ""
#~ msgid ""
#~ "``system_router_title``: Заголовок для системного"
#~ " роутера, который содержит команду выхода"
#~ " и другие системные команды."
#~ msgstr ""
#~ msgid ""
#~ "``ignore_command_register``: Если **True** (по "
#~ "умолчанию), регистр введенных команд будет "
#~ "игнорироваться при поиске обработчика."
#~ msgstr ""
#~ msgid ""
#~ "``dividing_line``: Объект, управляющий стилем "
#~ "разделительной линии. Может быть "
#~ "**StaticDividingLine** или **DynamicDividingLine**."
#~ msgstr ""
#~ msgid ""
#~ "``repeat_command_groups_printing``: Если **True** (по "
#~ "умолчанию), описание доступных команд будет"
#~ " выводиться перед каждым вводом."
#~ msgstr ""
#~ msgid ""
#~ "``override_system_messages``: Если **True** (по "
#~ "умолчанию), стандартное форматирование системных "
#~ "сообщений (цвета, ASCII-арт) будет отключено."
#~ msgstr ""
#~ msgid "``autocompleter``: Объект, отвечающий за логику автодополнения команд."
#~ msgstr ""
#~ msgid ""
#~ "``print_func``: Функция, используемая для "
#~ "вывода всех системных сообщений. По "
#~ "умолчанию используется ``rich.console.Console().print``."
#~ msgstr ""
#~ msgid ""
#~ "Регистрирует один ``Router`` в приложении. "
#~ "Все команды, определенные в этом "
#~ "роутере, становятся доступными для вызова."
#~ msgstr ""
#~ msgid "Объект роутера, который нужно зарегистрировать."
#~ msgstr ""
#~ msgid ""
#~ "Регистрирует несколько роутеров одновременно. "
#~ "Является удобной оберткой над "
#~ "``include_router``."
#~ msgstr ""
#~ msgid "Последовательность объектов ``Router`` для регистрации."
#~ msgstr ""
#~ msgid ""
#~ "Добавляет дополнительное текстовое сообщение, "
#~ "которое будет выведено на экран при "
#~ "запуске приложения, сразу после "
#~ "`initial_message`."
#~ msgstr ""
#~ msgid ""
#~ "``App`` позволяет гибко настраивать реакцию"
#~ " на различные события, такие как "
#~ "ошибки ввода или ввод неизвестной "
#~ "команды."
#~ msgstr ""
#~ msgid ""
#~ "Устанавливает пользовательский шаблон для "
#~ "форматирования строки, описывающей доступную "
#~ "команду (триггер + описание)."
#~ msgstr ""
#~ msgid "``DescriptionMessageGenerator`` -> ``Callable[[str, str], str]``"
#~ msgstr ""
#~ msgid ""
#~ "Где первый аргумент - это триггер "
#~ "команды, а второй - ее описание, "
#~ "возвращает строку, которая является "
#~ "форматированной строкой."
#~ msgstr ""
#~ msgid ""
#~ "Устанавливает обработчик, который вызывается "
#~ "при некорректном синтаксисе флагов в "
#~ "введенной команде."
#~ msgstr ""
#~ msgid "``NonStandardBehaviorHandler[str]`` -> ``Callable[[str], None]``"
#~ msgstr ""
#~ msgid ""
#~ "Где первый и единственный аргумент - "
#~ "это необработанная строка пользовательского "
#~ "ввода."
#~ msgstr ""
#~ msgid ""
#~ "Устанавливает обработчик для ситуации, когда"
#~ " пользователь вводит один и тот же"
#~ " флаг несколько раз."
#~ msgstr ""
#~ msgid ""
#~ "Устанавливает обработчик, который срабатывает, "
#~ "если введенная команда не была найдена"
#~ " ни в одном из зарегистрированных "
#~ "роутеров."
#~ msgstr ""
#~ msgid ""
#~ "``NonStandardBehaviorHandler[InputCommand]`` -> "
#~ "``Callable[[InputCommand], None]``"
#~ msgstr ""
#~ msgid ""
#~ "Где первый и единственный аргумент - "
#~ "это распаршенный в объект InputCommand "
#~ "ввод пользователя."
#~ msgstr ""
#~ msgid ""
#~ "Устанавливает обработчик для случая, когда "
#~ "пользователь отправляет пустую строку вместо"
#~ " команды."
#~ msgstr ""
#~ msgid "``EmptyCommandHandler`` -> ``Callable[[], None]``"
#~ msgstr ""
#~ msgid "Не принимает и не возвращает ничего."
#~ msgstr ""
#~ msgid ""
#~ "Позволяет переопределить стандартное поведение "
#~ "при вызове команды выхода. По умолчанию"
#~ " просто выводится ``farewell_message``."
#~ msgstr ""
#~ msgid ""
#~ "``NonStandardBehaviorHandler[Response]`` -> "
#~ "``Callable[[Response], None]``"
#~ msgstr ""
#~ msgid "Где первый и единственный аргумент - это объект ответа, ``Response``."
#~ msgstr ""
+33 -40
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -25,77 +25,70 @@ msgstr ""
#: ../../root/api/bridge.rst:6
msgid ""
"`DataBridge` — это сущность, предоставляющая временное хранилище данных, "
"которое существует в рамках одной сессии приложения (от запуска до "
"выхода). Она предназначена для обмена данными между вызовами разных "
"команд."
"``DataBridge`` — это сущность, предоставляющая временное хранилище "
"данных, которое существует в рамках одной сессии приложения (от запуска "
"до выхода). Она предназначена для обмена данными между обработчиками."
msgstr ""
#: ../../root/api/bridge.rst:8
msgid ""
"Основной способ получения доступа к `DataBridge` — через систему "
"внедрения зависимостей (DI)."
msgstr ""
#: ../../root/api/bridge.rst:19
msgid "**Практический пример: Аутентификация**"
msgid "Основной способ получения доступа к ``DataBridge`` — через ``di``."
msgstr ""
#: ../../root/api/bridge.rst:21
msgid "**Практический пример: Аутентификация**"
msgstr ""
#: ../../root/api/bridge.rst:23
msgid ""
"Рассмотрим пример, где команда `login` сохраняет токен аутентификации, а "
"команда `get-profile` использует его."
msgstr ""
#: ../../root/api/bridge.rst:27
msgid "**Как это работает:**"
msgstr ""
#: ../../root/api/bridge.rst:29
msgid ""
"При вызове обработчика `dishka` автоматически внедряет экземпляр "
"`DataBridge`."
msgstr ""
#: ../../root/api/bridge.rst:30
msgid ""
"Команда ``login --username <имя>`` вызывает `login_handler`, который "
"через внедрённый `data_bridge` сохраняет токен."
msgid "**Как это работает:**"
msgstr ""
#: ../../root/api/bridge.rst:31
msgid ""
"Команда `get-profile` вызывает `get_profile_handler`, который так же "
"получает `data_bridge` и извлекает из него токен."
"При вызове обработчика ``dishka`` автоматически внедряет экземпляр "
"``DataBridge``."
msgstr ""
#: ../../root/api/bridge.rst:34
msgid "API класса"
msgstr ""
#: ../../root/api/bridge.rst:40
#: ../../root/api/bridge.rst:32
msgid ""
"Инициализирует хранилище. При использовании через DI вызывается "
"Команда ``login --username <имя>`` вызывает ``login_handler``, который "
"через внедрённый ``data_bridge`` сохраняет токен."
msgstr ""
#: ../../root/api/bridge.rst:33
msgid ""
"Команда ``get-profile`` вызывает ``get_profile_handler``, который так же "
"получает ``data_bridge`` и извлекает из него токен."
msgstr ""
#: ../../root/api/bridge.rst:42
msgid ""
"Инициализирует хранилище. При использовании через ``di`` вызывается "
"автоматически."
msgstr ""
#: ../../root/api/bridge.rst:44
#: ../../root/api/bridge.rst:46
msgid "Обновляет хранилище данными из словаря."
msgstr ""
#: ../../root/api/bridge.rst:48
#: ../../root/api/bridge.rst:50
msgid "Возвращает все данные из хранилища."
msgstr ""
#: ../../root/api/bridge.rst:52
msgid "Возвращает значение по ключу или `None`, если ключ не найден."
#: ../../root/api/bridge.rst:54
msgid "Возвращает значение по ключу или ``None``, если ключ не найден."
msgstr ""
#: ../../root/api/bridge.rst:56
msgid "Удаляет значение по ключу. Вызывает `KeyError`, если ключ не найден."
#: ../../root/api/bridge.rst:58
msgid "Удаляет значение по ключу. Вызывает ``KeyError``, если ключ не найден."
msgstr ""
#: ../../root/api/bridge.rst:60
#: ../../root/api/bridge.rst:62
msgid "Полностью очищает хранилище."
msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -27,8 +27,6 @@ msgstr ""
msgid ""
"``Flag`` — это сущность, описывающая флаг команды. Её основная задача — "
"определить параметры флага, включая его имя, префикс и правила валидации."
" `Flag` используется при создании команд и предоставляет механизм для "
"проверки значений, введённых пользователем."
msgstr ""
#: ../../root/api/command/flag.rst:10
@@ -46,7 +44,7 @@ msgstr ""
#: ../../root/api/command/flag.rst:14
msgid ""
":ref:`Общая информация <root_flags>` о флагах и их использовании в "
"приложении ``Argenta``"
"``Argenta``"
msgstr ""
#: ../../root/api/command/flag.rst:19
@@ -68,8 +66,8 @@ msgstr ""
#: ../../root/api/command/flag.rst:34
msgid ""
"``possible_values``: Правила валидации значения. Может быть списком "
"строк, регулярным выражением или значением из `PossibleValues`. По "
"умолчанию `PossibleValues.ALL`."
"строк, регулярным выражением или значением из ``PossibleValues``. По "
"умолчанию ``PossibleValues.ALL``, то есть любое значение допустимо."
msgstr ""
#: ../../root/api/command/flag.rst:36
@@ -85,258 +83,232 @@ msgid "Префикс флага. Один из: ``\"-\"``, ``\"--\"``, ``\"---\
msgstr ""
#: ../../root/api/command/flag.rst:48
msgid "Определяет допустимые значения для флага:"
msgid "Допустимые значения для флага."
msgstr ""
#: ../../root/api/command/flag.rst:50
msgid "Список строк: флаг принимает только значения из этого списка."
msgstr ""
#: ../../root/api/command/flag.rst:51
msgid ""
"Регулярное выражение (`Pattern[str]`): значение проверяется на "
"соответствие паттерну."
msgstr ""
#: ../../root/api/command/flag.rst:52
msgid "`PossibleValues.ALL`: флаг принимает любое значение."
msgstr ""
#: ../../root/api/command/flag.rst:53
msgid "`PossibleValues.NEITHER`: флаг не должен иметь значения."
msgstr ""
#: ../../root/api/command/flag.rst:55 ../../root/api/command/flag.rst:81
#: ../../root/api/command/flag.rst:104 ../../root/api/command/flag.rst:124
#: ../../root/api/command/flag.rst:148 ../../root/api/command/flag.rst:265
#: ../../root/api/command/flag.rst:50 ../../root/api/command/flag.rst:93
#: ../../root/api/command/flag.rst:113 ../../root/api/command/flag.rst:136
#: ../../root/api/command/flag.rst:253
msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/command/flag.rst:64
#: ../../root/api/command/flag.rst:59
msgid "Свойства"
msgstr ""
#: ../../root/api/command/flag.rst:67
#: ../../root/api/command/flag.rst:62
msgid "string_entity"
msgstr ""
#: ../../root/api/command/flag.rst:75
msgid "Возвращает строковое представление флага в формате `prefix + name`."
#: ../../root/api/command/flag.rst:70
msgid "Возвращает строковое представление флага в формате ``prefix + name``."
msgstr ""
#: ../../root/api/command/flag.rst
msgid "return"
msgstr ""
#: ../../root/api/command/flag.rst:77 ../../root/api/command/flag.rst:102
#: ../../root/api/command/flag.rst:72 ../../root/api/command/flag.rst:91
msgid "Строковое представление флага"
msgstr ""
#: ../../root/api/command/flag.rst:79
#: ../../root/api/command/flag.rst:74
msgid ""
"Это свойство объединяет префикс и имя в единую строку, которая "
"представляет флаг так, как он выглядел бы в командной строке."
msgstr ""
#: ../../root/api/command/flag.rst:90
#: ../../root/api/command/flag.rst:79
msgid "Магические методы"
msgstr ""
#: ../../root/api/command/flag.rst:93
#: ../../root/api/command/flag.rst:82
msgid "__str__"
msgstr ""
#: ../../root/api/command/flag.rst:100
msgid "Возвращает строковое представление флага (аналогично `string_entity`)."
#: ../../root/api/command/flag.rst:89
msgid "Возвращает строковое представление флага (аналогично ``string_entity``)."
msgstr ""
#: ../../root/api/command/flag.rst:113
#: ../../root/api/command/flag.rst:102
msgid "__repr__"
msgstr ""
#: ../../root/api/command/flag.rst:120
#: ../../root/api/command/flag.rst:109
msgid "Возвращает отладочное представление объекта."
msgstr ""
#: ../../root/api/command/flag.rst:122
msgid "Строка в формате `Flag<prefix=..., name=...>`."
#: ../../root/api/command/flag.rst:111
msgid "Строка в формате ``Flag<prefix=..., name=...>``."
msgstr ""
#: ../../root/api/command/flag.rst:133
#: ../../root/api/command/flag.rst:122
msgid "__eq__"
msgstr ""
#: ../../root/api/command/flag.rst:140
#: ../../root/api/command/flag.rst:129
msgid ""
"Сравнивает два флага на равенство по их строковому представлению "
"(`string_entity`)."
"(``string_entity``)."
msgstr ""
#: ../../root/api/command/flag.rst
msgid "param other"
msgstr ""
#: ../../root/api/command/flag.rst:142
#: ../../root/api/command/flag.rst:131
msgid "Объект для сравнения"
msgstr ""
#: ../../root/api/command/flag.rst:143
msgid "``True``, если флаги равны, иначе ``False``"
#: ../../root/api/command/flag.rst:132
msgid "**True**, если флаги равны, иначе **False**"
msgstr ""
#: ../../root/api/command/flag.rst
msgid "raises NotImplementedError"
#: ../../root/api/command/flag.rst:134
msgid "Два флага считаются равными, если их ``string_entity`` идентичны."
msgstr ""
#: ../../root/api/command/flag.rst:144
msgid "Если `other` не является экземпляром `Flag`."
msgstr ""
#: ../../root/api/command/flag.rst:146
msgid "Два флага считаются равными, если их `string_entity` идентичны."
msgstr ""
#: ../../root/api/command/flag.rst:159
#: ../../root/api/command/flag.rst:147
msgid "PredefinedFlags"
msgstr ""
#: ../../root/api/command/flag.rst:161
#: ../../root/api/command/flag.rst:149
msgid "``argenta.command.PredefinedFlags``"
msgstr ""
#: ../../root/api/command/flag.rst:163
#: ../../root/api/command/flag.rst:151
msgid ""
"Класс `PredefinedFlags` предоставляет набор готовых флагов для "
"Класс ``PredefinedFlags`` предоставляет набор готовых флагов для "
"использования в приложениях без их ручного создания. Эти флаги покрывают "
"наиболее распространённые сценарии и следуют общепринятым соглашениям."
"распространённые сценарии."
msgstr ""
#: ../../root/api/command/flag.rst:165
#: ../../root/api/command/flag.rst:153
msgid ""
"Все предопределённые флаги являются атрибутами класса и представляют "
"собой готовые экземпляры `Flag`."
"собой готовые экземпляры ``Flag``."
msgstr ""
#: ../../root/api/command/flag.rst:170
#: ../../root/api/command/flag.rst:158
msgid "Информационные флаги"
msgstr ""
#: ../../root/api/command/flag.rst:175
#: ../../root/api/command/flag.rst:163
msgid "Флаг для отображения справки: ``--help``"
msgstr ""
#: ../../root/api/command/flag.rst:177
#: ../../root/api/command/flag.rst:165
msgid "``name``: ``\"help\"``"
msgstr ""
#: ../../root/api/command/flag.rst:178 ../../root/api/command/flag.rst:194
#: ../../root/api/command/flag.rst:236 ../../root/api/command/flag.rst:252
#: ../../root/api/command/flag.rst:166 ../../root/api/command/flag.rst:182
#: ../../root/api/command/flag.rst:224 ../../root/api/command/flag.rst:240
msgid "``prefix``: ``\"--\"`` (по умолчанию)"
msgstr ""
#: ../../root/api/command/flag.rst:179 ../../root/api/command/flag.rst:187
#: ../../root/api/command/flag.rst:195 ../../root/api/command/flag.rst:203
#: ../../root/api/command/flag.rst:216 ../../root/api/command/flag.rst:224
#: ../../root/api/command/flag.rst:167 ../../root/api/command/flag.rst:175
#: ../../root/api/command/flag.rst:183 ../../root/api/command/flag.rst:191
#: ../../root/api/command/flag.rst:204 ../../root/api/command/flag.rst:212
msgid "``possible_values``: ``PossibleValues.NEITHER``"
msgstr ""
#: ../../root/api/command/flag.rst:183
#: ../../root/api/command/flag.rst:171
msgid "Короткая версия флага справки: ``-H``"
msgstr ""
#: ../../root/api/command/flag.rst:185 ../../root/api/command/flag.rst:243
#: ../../root/api/command/flag.rst:173 ../../root/api/command/flag.rst:231
msgid "``name``: ``\"H\"``"
msgstr ""
#: ../../root/api/command/flag.rst:186 ../../root/api/command/flag.rst:202
#: ../../root/api/command/flag.rst:223 ../../root/api/command/flag.rst:244
#: ../../root/api/command/flag.rst:260
#: ../../root/api/command/flag.rst:174 ../../root/api/command/flag.rst:190
#: ../../root/api/command/flag.rst:211 ../../root/api/command/flag.rst:232
#: ../../root/api/command/flag.rst:248
msgid "``prefix``: ``\"-\"``"
msgstr ""
#: ../../root/api/command/flag.rst:191
#: ../../root/api/command/flag.rst:179
msgid "Флаг для отображения информации: ``--info``"
msgstr ""
#: ../../root/api/command/flag.rst:193
#: ../../root/api/command/flag.rst:181
msgid "``name``: ``\"info\"``"
msgstr ""
#: ../../root/api/command/flag.rst:199
#: ../../root/api/command/flag.rst:187
msgid "Короткая версия флага информации: ``-I``"
msgstr ""
#: ../../root/api/command/flag.rst:201
#: ../../root/api/command/flag.rst:189
msgid "``name``: ``\"I\"``"
msgstr ""
#: ../../root/api/command/flag.rst:208
#: ../../root/api/command/flag.rst:196
msgid "Флаги выбора"
msgstr ""
#: ../../root/api/command/flag.rst:212
#: ../../root/api/command/flag.rst:200
msgid "Флаг для выбора всех элементов: ``--all``"
msgstr ""
#: ../../root/api/command/flag.rst:214
#: ../../root/api/command/flag.rst:202
msgid "``name``: ``\"all\"``"
msgstr ""
#: ../../root/api/command/flag.rst:215
#: ../../root/api/command/flag.rst:203
msgid "``prefix``: ``\"--\"``"
msgstr ""
#: ../../root/api/command/flag.rst:220
#: ../../root/api/command/flag.rst:208
msgid "Короткая версия флага выбора всех элементов: ``-A``"
msgstr ""
#: ../../root/api/command/flag.rst:222
#: ../../root/api/command/flag.rst:210
msgid "``name``: ``\"A\"``"
msgstr ""
#: ../../root/api/command/flag.rst:229
#: ../../root/api/command/flag.rst:217
msgid "Сетевые флаги"
msgstr ""
#: ../../root/api/command/flag.rst:233
#: ../../root/api/command/flag.rst:221
msgid "Флаг для указания IP-адреса хоста: ``--host``"
msgstr ""
#: ../../root/api/command/flag.rst:235
#: ../../root/api/command/flag.rst:223
msgid "``name``: ``\"host\"``"
msgstr ""
#: ../../root/api/command/flag.rst:237 ../../root/api/command/flag.rst:245
#: ../../root/api/command/flag.rst:225 ../../root/api/command/flag.rst:233
#, python-brace-format
msgid ""
"``possible_values``: Регулярное выражение для валидации IPv4: "
"``r\"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$\"``"
msgstr ""
#: ../../root/api/command/flag.rst:241
#: ../../root/api/command/flag.rst:229
msgid "Короткая версия флага хоста: ``-H``"
msgstr ""
#: ../../root/api/command/flag.rst:249
#: ../../root/api/command/flag.rst:237
msgid "Флаг для указания порта: ``--port``"
msgstr ""
#: ../../root/api/command/flag.rst:251
#: ../../root/api/command/flag.rst:239
msgid "``name``: ``\"port\"``"
msgstr ""
#: ../../root/api/command/flag.rst:253 ../../root/api/command/flag.rst:261
#: ../../root/api/command/flag.rst:241 ../../root/api/command/flag.rst:249
#, python-brace-format
msgid ""
"``possible_values``: Регулярное выражение для валидации порта: "
"``r\"^\\d{1,5}$\"``"
msgstr ""
#: ../../root/api/command/flag.rst:257
#: ../../root/api/command/flag.rst:245
msgid "Короткая версия флага порта: ``-P``"
msgstr ""
#: ../../root/api/command/flag.rst:259
#: ../../root/api/command/flag.rst:247
msgid "``name``: ``\"P\"``"
msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -25,77 +25,66 @@ msgstr ""
#: ../../root/api/command/flags.rst:6
msgid ""
"`Flags` — это коллекция флагов команды. Её основная задача — группировать"
" и управлять набором флагов, зарегистрированных для конкретной команды. "
"`Flags` служит контейнером, который позволяет удобно добавлять, "
"извлекать, итерировать флаги и проверять их наличие."
"``Flags`` — это коллекция флагов команды. Её основная задача — "
"группировать и управлять набором флагов, зарегистрированных для "
"конкретной команды. ``Flags`` служит контейнером, который позволяет "
"удобно добавлять, извлекать, итерировать флаги и проверять их наличие."
msgstr ""
#: ../../root/api/command/flags.rst:8
msgid ""
"`Flags` наследуется от базового класса `BaseFlags` и специализируется на "
"работе с объектами типа `Flag`. Этот класс используется при создании "
"команд с несколькими флагами и предоставляет интерфейс для управления "
"ими."
msgstr ""
#: ../../root/api/command/flags.rst:12
#: ../../root/api/command/flags.rst:10
msgid ""
"Документация по отдельным флагам (:ref:`Flag <root_api_command_flag>`, "
":ref:`InputFlag <root_api_command_input_flag>`)"
msgstr ""
#: ../../root/api/command/flags.rst:14
#: ../../root/api/command/flags.rst:12
msgid ""
"Документация по :ref:`InputFlags <root_api_command_input_flags>` — "
"коллекция обработанных флагов, введённых пользователем."
msgstr ""
#: ../../root/api/command/flags.rst:16
#: ../../root/api/command/flags.rst:14
msgid ""
":ref:`Общая информация <root_flags>` о флагах и их использовании в "
"приложении ``Argenta``"
msgstr ""
#: ../../root/api/command/flags.rst:21
#: ../../root/api/command/flags.rst:19
msgid "Инициализация"
msgstr ""
#: ../../root/api/command/flags.rst:28
#: ../../root/api/command/flags.rst:26
msgid "Создаёт новую коллекцию флагов."
msgstr ""
#: ../../root/api/command/flags.rst:30
#: ../../root/api/command/flags.rst:28
msgid ""
"``flags``: Необязательный список флагов типа `Flag` для инициализации "
"``flags``: Необязательный список флагов типа ``Flag`` для инициализации "
"коллекции. Если не указан, создаётся пустая коллекция."
msgstr ""
#: ../../root/api/command/flags.rst:32
#: ../../root/api/command/flags.rst:30
msgid "**Атрибуты:**"
msgstr ""
#: ../../root/api/command/flags.rst:37
msgid ""
"Список всех зарегистрированных флагов типа `Flag`. Пуст, если флаги не "
"были переданы при инициализации."
#: ../../root/api/command/flags.rst:35
msgid "Список всех зарегистрированных флагов типа ``Flag``."
msgstr ""
#: ../../root/api/command/flags.rst:39 ../../root/api/command/flags.rst:65
#: ../../root/api/command/flags.rst:88 ../../root/api/command/flags.rst:111
#: ../../root/api/command/flags.rst:134 ../../root/api/command/flags.rst:155
#: ../../root/api/command/flags.rst:37 ../../root/api/command/flags.rst:63
#: ../../root/api/command/flags.rst:86 ../../root/api/command/flags.rst:109
msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/command/flags.rst:48
#: ../../root/api/command/flags.rst:46
msgid "Методы"
msgstr ""
#: ../../root/api/command/flags.rst:51
#: ../../root/api/command/flags.rst:49
msgid "add_flag"
msgstr ""
#: ../../root/api/command/flags.rst:58
#: ../../root/api/command/flags.rst:56
msgid "Добавляет флаг в коллекцию."
msgstr ""
@@ -103,29 +92,27 @@ msgstr ""
msgid "param flag"
msgstr ""
#: ../../root/api/command/flags.rst:60
msgid "Флаг типа `Flag` для добавления."
#: ../../root/api/command/flags.rst:58
msgid "Флаг типа ``Flag`` для добавления."
msgstr ""
#: ../../root/api/command/flags.rst
msgid "return"
msgstr ""
#: ../../root/api/command/flags.rst:61 ../../root/api/command/flags.rst:84
#: ../../root/api/command/flags.rst:59 ../../root/api/command/flags.rst:82
msgid "None."
msgstr ""
#: ../../root/api/command/flags.rst:63
msgid ""
"Метод добавляет флаг в конец списка `flags`. Используется для "
"динамического расширения набора флагов."
#: ../../root/api/command/flags.rst:61
msgid "Используется для динамического расширения набора флагов."
msgstr ""
#: ../../root/api/command/flags.rst:74
#: ../../root/api/command/flags.rst:72
msgid "add_flags"
msgstr ""
#: ../../root/api/command/flags.rst:81
#: ../../root/api/command/flags.rst:79
msgid "Добавляет в коллекцию список флагов."
msgstr ""
@@ -133,21 +120,21 @@ msgstr ""
msgid "param flags"
msgstr ""
#: ../../root/api/command/flags.rst:83
msgid "Список флагов типа `Flag` для добавления."
#: ../../root/api/command/flags.rst:81
msgid "Список флагов типа ``Flag`` для добавления."
msgstr ""
#: ../../root/api/command/flags.rst:86
#: ../../root/api/command/flags.rst:84
msgid ""
"Метод расширяет коллекцию, добавляя в неё все флаги из переданного "
"списка. Эффективен для пакетного добавления."
msgstr ""
#: ../../root/api/command/flags.rst:97
#: ../../root/api/command/flags.rst:95
msgid "get_flag_by_name"
msgstr ""
#: ../../root/api/command/flags.rst:104
#: ../../root/api/command/flags.rst:102
msgid "Возвращает флаг по имени."
msgstr ""
@@ -155,62 +142,17 @@ msgstr ""
msgid "param name"
msgstr ""
#: ../../root/api/command/flags.rst:106
#: ../../root/api/command/flags.rst:104
msgid "Имя искомого флага."
msgstr ""
#: ../../root/api/command/flags.rst:105
msgid "Объект ``Flag`` или ``None``, если флаг не найден."
msgstr ""
#: ../../root/api/command/flags.rst:107
msgid "Объект `Flag` или `None`, если флаг не найден."
msgstr ""
#: ../../root/api/command/flags.rst:109
msgid ""
"Метод выполняет поиск по списку `flags` и возвращает первый флаг с "
"соответствующим именем. Если флаг не найден, возвращается `None`."
"Метод возвращает флаг с соответствующим именем. Если флаг не найден, "
"возвращается ``None``."
msgstr ""
#: ../../root/api/command/flags.rst:120
msgid "Магические методы"
msgstr ""
#: ../../root/api/command/flags.rst:123
msgid "__iter__"
msgstr ""
#: ../../root/api/command/flags.rst:130
msgid "Делает коллекцию итерируемой для использования в циклах."
msgstr ""
#: ../../root/api/command/flags.rst:132
msgid "Итератор по списку флагов."
msgstr ""
#: ../../root/api/command/flags.rst:143
msgid "__getitem__"
msgstr ""
#: ../../root/api/command/flags.rst:150
msgid "Позволяет получать флаг по индексу."
msgstr ""
#: ../../root/api/command/flags.rst
msgid "param flag_index"
msgstr ""
#: ../../root/api/command/flags.rst:152
msgid "Индекс флага в списке."
msgstr ""
#: ../../root/api/command/flags.rst:153
msgid "Флаг по указанному индексу."
msgstr ""
#~ msgid "Flag"
#~ msgstr ""
#~ msgid "InputFlags"
#~ msgstr ""
#~ msgid "InputFlag"
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -26,9 +26,8 @@ msgstr ""
#: ../../root/api/command/index.rst:6
msgid ""
"``Command`` — это основная единица функциональности в приложении. Каждая "
"команда определяет действие, которое пользователь может выполнить, введя "
"соответствующий триггер. Команды регистрируются в роутерах и формируют "
"интерфейс взаимодействия с приложением."
"команда связывает хэндлер с триггером, введя который он будет вызван для "
"обработки."
msgstr ""
#: ../../root/api/command/index.rst:8
@@ -60,14 +59,14 @@ msgstr ""
#: ../../root/api/command/index.rst:27
msgid ""
"``flags``: Набор флагов для настройки поведения. Может быть одиночным "
"объектом `Flag` или коллекцией `Flags`."
"объектом ``Flag`` или коллекцией ``Flags``."
msgstr ""
#: ../../root/api/command/index.rst:28
msgid "``aliases``: Список строковых псевдонимов для основного триггера."
msgstr ""
#: ../../root/api/command/index.rst:30 ../../root/api/command/index.rst:125
#: ../../root/api/command/index.rst:30 ../../root/api/command/index.rst:108
msgid "**Атрибуты:**"
msgstr ""
@@ -85,8 +84,9 @@ msgstr ""
#: ../../root/api/command/index.rst:42
msgid ""
"Объект `Flags`, содержащий все зарегистрированные флаги. Автоматически "
"конвертируется из одиночного `Flag` в коллекцию при инициализации."
"Объект ``Flags``, содержащий все зарегистрированные флаги. Если был "
"передан ``Flag``, то автоматически конвертируется из одиночного в "
"коллекцию при инициализации."
msgstr ""
#: ../../root/api/command/index.rst:46
@@ -108,9 +108,7 @@ msgid "Регистрация команд"
msgstr ""
#: ../../root/api/command/index.rst:61
msgid ""
"Команды регистрируются в роутерах с помощью декоратора "
"``@router.command()``, после чего становятся доступными для вызова."
msgid "Команды передаются в качестве аргумента в декоратор ``@router.command()``."
msgstr ""
#: ../../root/api/command/index.rst:63
@@ -135,19 +133,19 @@ msgstr ""
msgid "**Пример с псевдонимами:**"
msgstr ""
#: ../../root/api/command/index.rst:97
#: ../../root/api/command/index.rst:85
msgid "Теперь пользователь может вызвать команду любым из способов:"
msgstr ""
#: ../../root/api/command/index.rst:106
msgid "Все эти варианты выполнят одну и ту же функцию ``handle_shutdown``."
#: ../../root/api/command/index.rst:94
msgid "Все эти варианты вызовут один и тот же хэндлер ``handle_shutdown``."
msgstr ""
#: ../../root/api/command/index.rst:113
#: ../../root/api/command/index.rst:101
msgid "InputCommand"
msgstr ""
#: ../../root/api/command/index.rst:115
#: ../../root/api/command/index.rst:103
msgid ""
"``InputCommand`` представляет собой обработанную команду, введённую "
"пользователем. Этот внутренний класс создаётся автоматически при "
@@ -155,39 +153,17 @@ msgid ""
"создании пользовательского обработчика для неизвестных команд."
msgstr ""
#: ../../root/api/command/index.rst:118
#: ../../root/api/command/index.rst:106
msgid ""
"Подробнее о пользовательских обработчиках исключений см. :ref:`здесь "
"<root_error_handling>`."
"<root_error_handling_unknown_command>`."
msgstr ""
#: ../../root/api/command/index.rst:120
msgid "Создаёт экземпляр обработанной команды."
msgstr ""
#: ../../root/api/command/index.rst
msgid "param trigger"
msgstr ""
#: ../../root/api/command/index.rst:122
msgid "Триггер команды, извлечённый из пользовательского ввода."
msgstr ""
#: ../../root/api/command/index.rst
msgid "param input_flags"
msgstr ""
#: ../../root/api/command/index.rst:123
msgid "Флаги, переданные пользователем."
msgstr ""
#: ../../root/api/command/index.rst:130
#: ../../root/api/command/index.rst:113
msgid "Строковый триггер, введённый пользователем."
msgstr ""
#: ../../root/api/command/index.rst:135
msgid ""
"Объект `InputFlags`, содержащий все переданные с командой флаги. "
"Автоматически конвертируется из одиночного `InputFlag` в коллекцию."
#: ../../root/api/command/index.rst:118
msgid "Объект ``InputFlags``, содержащий все введённые и распаршенные флаги."
msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -25,8 +25,8 @@ msgstr ""
#: ../../root/api/command/input_flag.rst:6
msgid ""
"Объект `InputFlag` представляет собой флаг, введённый пользователем. Он "
"создаётся в результате обработки пользовательского ввода и содержит "
"Объект ``InputFlag`` представляет собой флаг, введённый пользователем. Он"
" создаётся в результате обработки пользовательского ввода и содержит "
"информацию о распознанном флаге: его имя, префикс, значение и статус "
"валидации."
msgstr ""
@@ -44,124 +44,93 @@ msgid ""
msgstr ""
#: ../../root/api/command/input_flag.rst:17
msgid "Инициализация"
msgstr ""
#: ../../root/api/command/input_flag.rst:29
msgid "Создаёт новый объект введённого флага."
msgstr ""
#: ../../root/api/command/input_flag.rst:31
msgid "``name``: Имя введённого флага."
msgstr ""
#: ../../root/api/command/input_flag.rst:32
msgid "``prefix``: Префикс флага (``-``, ``--``, ``---``). По умолчанию ``--``."
msgstr ""
#: ../../root/api/command/input_flag.rst:33
msgid "``input_value``: Значение, переданное с флагом. Может быть `None`."
msgstr ""
#: ../../root/api/command/input_flag.rst:34
msgid "``status``: Статус валидации из перечисления `ValidationStatus`."
msgstr ""
#: ../../root/api/command/input_flag.rst:37
msgid ""
"Экземпляры этого класса не предназначены для прямого создания. Они "
"содержатся в объекте :ref:`Response <root_api_response>`."
msgstr ""
#: ../../root/api/command/input_flag.rst:39
#: ../../root/api/command/input_flag.rst:19
msgid "**Атрибуты:**"
msgstr ""
#: ../../root/api/command/input_flag.rst:44
#: ../../root/api/command/input_flag.rst:24
msgid "Имя введённого флага."
msgstr ""
#: ../../root/api/command/input_flag.rst:49
#: ../../root/api/command/input_flag.rst:29
msgid "Префикс флага: ``-``, ``--`` или ``---``."
msgstr ""
#: ../../root/api/command/input_flag.rst:53
#: ../../root/api/command/input_flag.rst:33
msgid "Значение, переданное с флагом. Может быть `None` для флагов без значений."
msgstr ""
#: ../../root/api/command/input_flag.rst:58
#: ../../root/api/command/input_flag.rst:38
msgid ""
"Статус валидации флага: `ValidationStatus.VALID`, "
"`ValidationStatus.INVALID` или `ValidationStatus.UNDEFINED`."
"Статус валидации флага: ``ValidationStatus.VALID``, "
"``ValidationStatus.INVALID`` или ``ValidationStatus.UNDEFINED``."
msgstr ""
#: ../../root/api/command/input_flag.rst:60
#: ../../root/api/command/input_flag.rst:86
#: ../../root/api/command/input_flag.rst:109
#: ../../root/api/command/input_flag.rst:129
#: ../../root/api/command/input_flag.rst:153
msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/command/input_flag.rst:69
#: ../../root/api/command/input_flag.rst:43
msgid "Свойства"
msgstr ""
#: ../../root/api/command/input_flag.rst:72
#: ../../root/api/command/input_flag.rst:46
msgid "string_entity"
msgstr ""
#: ../../root/api/command/input_flag.rst:80
msgid "Возвращает строковое представление флага в формате `prefix + name`."
#: ../../root/api/command/input_flag.rst:54
msgid "Возвращает строковое представление флага в формате ``prefix + name``."
msgstr ""
#: ../../root/api/command/input_flag.rst
msgid "return"
msgstr ""
#: ../../root/api/command/input_flag.rst:82
#: ../../root/api/command/input_flag.rst:56
msgid "Строковое представление флага"
msgstr ""
#: ../../root/api/command/input_flag.rst:84
msgid ""
"Это свойство объединяет префикс и имя в строку, представляющую флаг так, "
"как он был введён в командной строке."
msgstr ""
#: ../../root/api/command/input_flag.rst:95
#: ../../root/api/command/input_flag.rst:61
msgid "Магические методы"
msgstr ""
#: ../../root/api/command/input_flag.rst:98
#: ../../root/api/command/input_flag.rst:64
msgid "__str__"
msgstr ""
#: ../../root/api/command/input_flag.rst:105
#: ../../root/api/command/input_flag.rst:71
msgid "Возвращает строковое представление флага вместе с его значением."
msgstr ""
#: ../../root/api/command/input_flag.rst:107
msgid "Строка в формате `флаг значение`."
#: ../../root/api/command/input_flag.rst:73
msgid "Строка в формате ``флаг значение``."
msgstr ""
#: ../../root/api/command/input_flag.rst:118
#: ../../root/api/command/input_flag.rst:75
#: ../../root/api/command/input_flag.rst:95
msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/command/input_flag.rst:84
msgid "__repr__"
msgstr ""
#: ../../root/api/command/input_flag.rst:125
#: ../../root/api/command/input_flag.rst:91
msgid "Возвращает отладочное представление объекта."
msgstr ""
#: ../../root/api/command/input_flag.rst:127
msgid "Строка в формате `InputFlag<prefix=..., name=..., value=..., status=...>`."
#: ../../root/api/command/input_flag.rst:93
msgid ""
"Строка в формате ``InputFlag<prefix=..., name=..., value=..., "
"status=...>``."
msgstr ""
#: ../../root/api/command/input_flag.rst:138
#: ../../root/api/command/input_flag.rst:104
msgid "__eq__"
msgstr ""
#: ../../root/api/command/input_flag.rst:145
#: ../../root/api/command/input_flag.rst:111
msgid "Сравнивает два введённых флага на равенство по имени."
msgstr ""
@@ -169,23 +138,15 @@ msgstr ""
msgid "param other"
msgstr ""
#: ../../root/api/command/input_flag.rst:147
#: ../../root/api/command/input_flag.rst:113
msgid "Объект для сравнения."
msgstr ""
#: ../../root/api/command/input_flag.rst:148
msgid "`True`, если имена флагов совпадают, иначе `False`."
#: ../../root/api/command/input_flag.rst:114
msgid "**True**, если имена флагов совпадают, иначе **False**."
msgstr ""
#: ../../root/api/command/input_flag.rst
msgid "raises NotImplementedError"
msgstr ""
#: ../../root/api/command/input_flag.rst:149
msgid "Если `other` не является экземпляром `InputFlag`."
msgstr ""
#: ../../root/api/command/input_flag.rst:151
#: ../../root/api/command/input_flag.rst:116
msgid "Два введённых флага считаются равными, если их имена совпадают."
msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -25,105 +25,93 @@ msgstr ""
#: ../../root/api/command/input_flags.rst:6
msgid ""
"`InputFlags` — это коллекция флагов, введённых пользователем. Её основная"
" задача — группировать и управлять набором флагов, переданных вместе с "
"командой. `InputFlags` служит контейнером, который позволяет удобно "
"извлекать, итерировать и проверять наличие флагов, а также работать с их "
"значениями и статусами валидации."
"``InputFlags`` — это коллекция флагов, введённых пользователем. Её "
"основная задача — группировать и управлять набором флагов, переданных "
"вместе с командой. ``InputFlags`` служит контейнером, который позволяет "
"удобно извлекать, итерировать и проверять наличие флагов, а также "
"работать с их значениями и статусами валидации."
msgstr ""
#: ../../root/api/command/input_flags.rst:8
msgid ""
"`InputFlags` наследуется от `BaseFlags` и специализируется на работе с "
"объектами типа `InputFlag`. Этот класс создаётся автоматически при "
"обработке пользовательского ввода и передаётся в обработчики команд через"
" объект `Response`."
msgstr ""
#: ../../root/api/command/input_flags.rst:12
#: ../../root/api/command/input_flags.rst:10
msgid ""
"Документация по отдельным флагам (:ref:`Flag <root_api_command_flag>`, "
":ref:`InputFlag <root_api_command_input_flag>`)"
msgstr ""
#: ../../root/api/command/input_flags.rst:14
#: ../../root/api/command/input_flags.rst:12
msgid ""
"Документация по :ref:`InputFlags <root_api_command_input_flags>` — "
"коллекция обработанных флагов, введённых пользователем."
msgstr ""
#: ../../root/api/command/input_flags.rst:16
#: ../../root/api/command/input_flags.rst:14
msgid ""
"Документация по :ref:`Response <root_api_response>` — объект ответа, "
"содержащий ``InputFlags``"
msgstr ""
#: ../../root/api/command/input_flags.rst:18
#: ../../root/api/command/input_flags.rst:16
msgid ""
":ref:`Общая информация <root_flags>` о флагах и их использовании в "
"приложении ``Argenta``"
msgstr ""
#: ../../root/api/command/input_flags.rst:23
#: ../../root/api/command/input_flags.rst:21
msgid "Инициализация"
msgstr ""
#: ../../root/api/command/input_flags.rst:30
#: ../../root/api/command/input_flags.rst:28
msgid "Создаёт новую коллекцию введённых флагов."
msgstr ""
#: ../../root/api/command/input_flags.rst:32
#: ../../root/api/command/input_flags.rst:30
msgid ""
"``flags``: Необязательный список флагов типа `InputFlag` для "
"``flags``: Необязательный список флагов типа ``InputFlag`` для "
"инициализации коллекции. Если не указан, создаётся пустая коллекция."
msgstr ""
#: ../../root/api/command/input_flags.rst:35
#: ../../root/api/command/input_flags.rst:33
msgid ""
"Экземпляры этого класса обычно не создаются напрямую. Они автоматически "
"формируются системой при обработке пользовательского ввода и доступны "
"через атрибут `input_flags` объекта `Response`."
"через атрибут ``input_flags`` объекта ``Response``."
msgstr ""
#: ../../root/api/command/input_flags.rst:37
#: ../../root/api/command/input_flags.rst:35
msgid "**Атрибуты:**"
msgstr ""
#: ../../root/api/command/input_flags.rst:42
#: ../../root/api/command/input_flags.rst:40
msgid ""
"Список всех введённых флагов типа `InputFlag`. Пуст, если флаги не были "
"переданы при инициализации или пользователь не ввёл их с командой."
"Список всех введённых флагов типа ``InputFlag``. Пуст, если флаги не были"
" переданы при инициализации или пользователь не ввёл их с командой."
msgstr ""
#: ../../root/api/command/input_flags.rst:44
#: ../../root/api/command/input_flags.rst:70
#: ../../root/api/command/input_flags.rst:96
#: ../../root/api/command/input_flags.rst:119
#: ../../root/api/command/input_flags.rst:144
#: ../../root/api/command/input_flags.rst:167
#: ../../root/api/command/input_flags.rst:189
#: ../../root/api/command/input_flags.rst:213
#: ../../root/api/command/input_flags.rst:237
#: ../../root/api/command/input_flags.rst:42
#: ../../root/api/command/input_flags.rst:68
#: ../../root/api/command/input_flags.rst:94
#: ../../root/api/command/input_flags.rst:117
#: ../../root/api/command/input_flags.rst:131
msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/command/input_flags.rst:53
#: ../../root/api/command/input_flags.rst:51
msgid "Методы"
msgstr ""
#: ../../root/api/command/input_flags.rst:56
#: ../../root/api/command/input_flags.rst:54
msgid "get_flag_by_name"
msgstr ""
#: ../../root/api/command/input_flags.rst:63
msgid "Возвращает введённый флаг по имени."
#: ../../root/api/command/input_flags.rst:61
msgid "Возвращает флаг по имени."
msgstr ""
#: ../../root/api/command/input_flags.rst
msgid "param name"
msgstr ""
#: ../../root/api/command/input_flags.rst:65
#: ../../root/api/command/input_flags.rst:63
msgid "Имя искомого флага (без префикса)."
msgstr ""
@@ -131,21 +119,21 @@ msgstr ""
msgid "return"
msgstr ""
#: ../../root/api/command/input_flags.rst:64
msgid "Объект ``InputFlag`` или ``None``, если флаг не найден."
msgstr ""
#: ../../root/api/command/input_flags.rst:66
msgid "Объект `InputFlag` или `None`, если флаг не найден."
msgstr ""
#: ../../root/api/command/input_flags.rst:68
msgid ""
"Метод выполняет поиск по списку `flags` и возвращает первый флаг с "
"соответствующим именем (без учёта префикса)."
"Метод возвращает первый флаг с соответствующим именем (без учёта "
"префикса)."
msgstr ""
#: ../../root/api/command/input_flags.rst:79
#: ../../root/api/command/input_flags.rst:77
msgid "add_flag"
msgstr ""
#: ../../root/api/command/input_flags.rst:86
#: ../../root/api/command/input_flags.rst:84
msgid "Добавляет введённый флаг в коллекцию."
msgstr ""
@@ -153,33 +141,33 @@ msgstr ""
msgid "param flag"
msgstr ""
#: ../../root/api/command/input_flags.rst:88
msgid "Флаг типа `InputFlag` для добавления."
#: ../../root/api/command/input_flags.rst:86
msgid "Флаг типа ``InputFlag`` для добавления."
msgstr ""
#: ../../root/api/command/input_flags.rst:89
#: ../../root/api/command/input_flags.rst:115
#: ../../root/api/command/input_flags.rst:87
#: ../../root/api/command/input_flags.rst:113
msgid "None."
msgstr ""
#: ../../root/api/command/input_flags.rst:91
#: ../../root/api/command/input_flags.rst:89
msgid ""
"Метод добавляет флаг в конец списка `flags`. Используется для "
"Метод добавляет флаг в конец списка ``flags``. Используется для "
"динамического расширения коллекции."
msgstr ""
#: ../../root/api/command/input_flags.rst:94
#: ../../root/api/command/input_flags.rst:92
msgid ""
"Этот метод используется редко, так как `InputFlags` обычно создаётся "
"автоматически. Однако он может быть полезен для тестирования или ручного "
"создания коллекций."
msgstr ""
#: ../../root/api/command/input_flags.rst:105
#: ../../root/api/command/input_flags.rst:103
msgid "add_flags"
msgstr ""
#: ../../root/api/command/input_flags.rst:112
#: ../../root/api/command/input_flags.rst:110
msgid "Добавляет в коллекцию список введённых флагов."
msgstr ""
@@ -187,160 +175,21 @@ msgstr ""
msgid "param flags"
msgstr ""
#: ../../root/api/command/input_flags.rst:114
msgid "Список флагов типа `InputFlag` для добавления."
#: ../../root/api/command/input_flags.rst:112
msgid "Список флагов типа ``InputFlag`` для добавления."
msgstr ""
#: ../../root/api/command/input_flags.rst:117
#: ../../root/api/command/input_flags.rst:115
msgid ""
"Метод расширяет коллекцию, добавляя в неё все флаги из переданного "
"списка. Эффективен для пакетного добавления."
msgstr ""
#: ../../root/api/command/input_flags.rst:128
msgid "Магические методы"
msgstr ""
#: ../../root/api/command/input_flags.rst:131
msgid "__iter__"
msgstr ""
#: ../../root/api/command/input_flags.rst:138
msgid "Делает коллекцию итерируемой для использования в циклах."
msgstr ""
#: ../../root/api/command/input_flags.rst:140
msgid "Итератор по списку введённых флагов."
msgstr ""
#: ../../root/api/command/input_flags.rst:142
msgid ""
"Позволяет перебирать все введённые флаги, что полезно для проверки их "
"статусов или пакетной обработки."
msgstr ""
#: ../../root/api/command/input_flags.rst:153
msgid "__getitem__"
msgstr ""
#: ../../root/api/command/input_flags.rst:160
msgid "Позволяет получать введённый флаг по индексу."
msgstr ""
#: ../../root/api/command/input_flags.rst
msgid "param flag_index"
msgstr ""
#: ../../root/api/command/input_flags.rst:162
msgid "Индекс флага в списке."
msgstr ""
#: ../../root/api/command/input_flags.rst:163
msgid "Флаг по указанному индексу."
msgstr ""
#: ../../root/api/command/input_flags.rst:165
msgid ""
"Позволяет обращаться к флагам по их позиции, что может быть полезно для "
"их обработки в определённом порядке."
msgstr ""
#: ../../root/api/command/input_flags.rst:176
msgid "__bool__"
msgstr ""
#: ../../root/api/command/input_flags.rst:183
msgid "Определяет, содержит ли коллекция флаги."
msgstr ""
#: ../../root/api/command/input_flags.rst:185
msgid "`True`, если в коллекции есть хотя бы один флаг, иначе `False`."
msgstr ""
#: ../../root/api/command/input_flags.rst:187
msgid "Позволяет проверять наличие флагов в команде для условной логики."
msgstr ""
#: ../../root/api/command/input_flags.rst:198
msgid "__eq__"
msgstr ""
#: ../../root/api/command/input_flags.rst:205
msgid "Сравнивает две коллекции введённых флагов на равенство."
msgstr ""
#: ../../root/api/command/input_flags.rst
msgid "param other"
msgstr ""
#: ../../root/api/command/input_flags.rst:207
msgid "Объект для сравнения."
msgstr ""
#: ../../root/api/command/input_flags.rst:208
msgid "`True`, если коллекции равны, иначе `False`."
msgstr ""
#: ../../root/api/command/input_flags.rst
msgid "raises NotImplementedError"
msgstr ""
#: ../../root/api/command/input_flags.rst:209
msgid "Если `other` не является экземпляром `InputFlags`."
msgstr ""
#: ../../root/api/command/input_flags.rst:211
msgid ""
"Две коллекции считаются равными, если они содержат одинаковое количество "
"флагов и все соответствующие флаги равны (сравнение по имени, см. "
"`InputFlag.__eq__`)."
msgstr ""
#: ../../root/api/command/input_flags.rst:222
msgid "__contains__"
msgstr ""
#: ../../root/api/command/input_flags.rst:229
msgid "Проверяет, содержится ли введённый флаг в коллекции."
msgstr ""
#: ../../root/api/command/input_flags.rst
msgid "param ingressable_item"
msgstr ""
#: ../../root/api/command/input_flags.rst:231
msgid "Объект `InputFlag` для проверки."
msgstr ""
#: ../../root/api/command/input_flags.rst:232
msgid "`True`, если флаг найден, иначе `False`."
msgstr ""
#: ../../root/api/command/input_flags.rst
msgid "raises TypeError"
msgstr ""
#: ../../root/api/command/input_flags.rst:233
msgid "Если `ingressable_item` не является экземпляром `InputFlag`."
msgstr ""
#: ../../root/api/command/input_flags.rst:235
msgid ""
"Позволяет использовать оператор `in` для проверки наличия флага в "
"коллекции."
msgstr ""
#: ../../root/api/command/input_flags.rst:246
#: ../../root/api/command/input_flags.rst:126
msgid "Практические примеры"
msgstr ""
#: ../../root/api/command/input_flags.rst:249
#: ../../root/api/command/input_flags.rst:129
msgid "Обработка всех флагов с проверкой статусов"
msgstr ""
#: ../../root/api/command/input_flags.rst:251
msgid ""
"Пример демонстрирует итерацию по всем введённым флагам с проверкой их "
"статусов валидации:"
msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -25,39 +25,39 @@ msgstr ""
#: ../../root/api/command/possible_values.rst:7
msgid ""
"`PossibleValues` — это перечисление (`Enum`), которое определяет "
"специальные режимы валидации для значений флагов. Его задача — "
"предоставить стандартные константы для управления поведением флагов. "
"`PossibleValues` используется в параметре `possible_values` класса "
"`Flag`, чтобы указать, может ли флаг принимать значения и какие "
"ограничения на них накладываются."
"``PossibleValues`` — это перечисление (``Enum``), которое определяет "
"специальные режимы валидации для значений флагов. ``PossibleValues`` "
"используется в параметре ``possible_values`` класса ``Flag``, чтобы "
"указать, может ли флаг принимать значения и какие ограничения на них "
"накладываются."
msgstr ""
#: ../../root/api/command/possible_values.rst:9
msgid ""
"`PossibleValues` наследуется от `Enum` и содержит два основных значения: "
"`NEITHER` (для флагов без значений) и `ALL` (для флагов, принимающих "
"любые значения). Это перечисление используется вместе со списками строк и"
" регулярными выражениями для создания гибкой системы валидации."
"``PossibleValues`` содержит два основных значения: ``NEITHER`` (для "
"флагов, которые не могут принимать значения) и ``ALL`` (для флагов, "
"принимающих любые значения). Это перечисление используется вместе со "
"списками строк и регулярными выражениями для создания гибкой системы "
"валидации."
msgstr ""
#: ../../root/api/command/possible_values.rst:12
msgid ""
"Результат валидации доступен через атрибут `status` у экземпляра "
"`InputFlag`. Подробнее см. :ref:`здесь <root_api_command_input_flag>`."
"Результат валидации доступен через атрибут ``status`` у экземпляра "
"``InputFlag``. Подробнее см. :ref:`здесь <root_api_command_input_flag>`."
msgstr ""
#: ../../root/api/command/possible_values.rst:16
msgid ""
"Документация по :ref:`Flag <root_api_command_flag>` — класс флага, "
"использующий `PossibleValues`."
"использующий ``PossibleValues``."
msgstr ""
#: ../../root/api/command/possible_values.rst:18
msgid ""
"Документация по :ref:`PredefinedFlags "
"<root_api_command_flag_predefined_flags>` — готовые флаги с примерами "
"использования `PossibleValues`."
"Документация по :ref:`ValidationStatus "
"<root_api_command_validation_status>` — результат валидации ввёденного "
"флага."
msgstr ""
#: ../../root/api/command/possible_values.rst:20
@@ -67,129 +67,102 @@ msgid ""
msgstr ""
#: ../../root/api/command/possible_values.rst:25
msgid "Значения enum"
msgstr ""
#: ../../root/api/command/possible_values.rst:28
msgid "NEITHER"
msgstr ""
#: ../../root/api/command/possible_values.rst:35
#: ../../root/api/command/possible_values.rst:32
msgid "Указывает, что флаг **не должен** иметь значения."
msgstr ""
#: ../../root/api/command/possible_values.rst:37
#: ../../root/api/command/possible_values.rst:34
msgid ""
"Флаги с этим значением работают как булевы переключатели: их наличие в "
"командной строке само по себе является информацией. Попытка передать "
"такому флагу значение приведёт к ошибке валидации."
msgstr ""
#: ../../root/api/command/possible_values.rst:39
#: ../../root/api/command/possible_values.rst:36
msgid "**Примеры флагов с** ``NEITHER``:"
msgstr ""
#: ../../root/api/command/possible_values.rst:41
#: ../../root/api/command/possible_values.rst:38
msgid "``--help`` — флаг справки"
msgstr ""
#: ../../root/api/command/possible_values.rst:42
#: ../../root/api/command/possible_values.rst:39
msgid "``--verbose`` — флаг подробного вывода"
msgstr ""
#: ../../root/api/command/possible_values.rst:43
#: ../../root/api/command/possible_values.rst:40
msgid "``--force`` — флаг принудительного выполнения"
msgstr ""
#: ../../root/api/command/possible_values.rst:44
#: ../../root/api/command/possible_values.rst:41
msgid "``-A`` / ``--all`` — флаг выбора всех элементов"
msgstr ""
#: ../../root/api/command/possible_values.rst:46
#: ../../root/api/command/possible_values.rst:73
#: ../../root/api/command/possible_values.rst:43
#: ../../root/api/command/possible_values.rst:68
msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/command/possible_values.rst:55
#: ../../root/api/command/possible_values.rst:52
msgid "ALL"
msgstr ""
#: ../../root/api/command/possible_values.rst:62
#: ../../root/api/command/possible_values.rst:59
msgid "Указывает, что флаг может принимать **любое** значение."
msgstr ""
#: ../../root/api/command/possible_values.rst:64
#: ../../root/api/command/possible_values.rst:61
msgid ""
"Флаги с этим значением универсальны и не накладывают ограничений на "
"передаваемые данные. Валидация всегда будет успешной."
msgstr ""
#: ../../root/api/command/possible_values.rst:66
#: ../../root/api/command/possible_values.rst:63
msgid "**Примеры флагов с** ``ALL``:"
msgstr ""
#: ../../root/api/command/possible_values.rst:68
msgid "``--output`` — путь к выходному файлу"
msgstr ""
#: ../../root/api/command/possible_values.rst:69
#: ../../root/api/command/possible_values.rst:65
msgid "``--message`` — произвольное текстовое сообщение"
msgstr ""
#: ../../root/api/command/possible_values.rst:70
#: ../../root/api/command/possible_values.rst:66
msgid "``--name`` — произвольное имя"
msgstr ""
#: ../../root/api/command/possible_values.rst:71
msgid "``--data`` — произвольные данные"
msgstr ""
#: ../../root/api/command/possible_values.rst:82
msgid "Использование в Flag"
msgstr ""
#: ../../root/api/command/possible_values.rst:85
#: ../../root/api/command/possible_values.rst:77
msgid "Параметр possible_values"
msgstr ""
#: ../../root/api/command/possible_values.rst:87
#: ../../root/api/command/possible_values.rst:79
msgid ""
"`PossibleValues` используется как один из возможных типов для параметра "
"`possible_values` при создании экземпляра `Flag`."
"``PossibleValues`` используется как один из возможных типов для параметра"
" ``possible_values`` при создании экземпляра ``Flag``."
msgstr ""
#: ../../root/api/command/possible_values.rst:89
msgid "**Доступные типы для** `possible_values`:"
#: ../../root/api/command/possible_values.rst:81
msgid "**Доступные типы для** ``possible_values``:"
msgstr ""
#: ../../root/api/command/possible_values.rst:91
msgid "`PossibleValues.NEITHER`: флаг без значения."
#: ../../root/api/command/possible_values.rst:83
msgid "``PossibleValues.NEITHER``: флаг без значения."
msgstr ""
#: ../../root/api/command/possible_values.rst:92
msgid "`PossibleValues.ALL`: флаг с любым значением (по умолчанию)."
#: ../../root/api/command/possible_values.rst:84
msgid "``PossibleValues.ALL``: флаг с любым значением (по умолчанию)."
msgstr ""
#: ../../root/api/command/possible_values.rst:93
msgid "`list[str]`: флаг с ограниченным набором значений."
#: ../../root/api/command/possible_values.rst:85
msgid "``list[str]``: флаг с ограниченным набором значений."
msgstr ""
#: ../../root/api/command/possible_values.rst:94
msgid "`Pattern[str]`: флаг со значением, проверяемым по регулярному выражению."
#: ../../root/api/command/possible_values.rst:86
msgid "``Pattern[str]``: флаг со значением, проверяемым по регулярному выражению."
msgstr ""
#: ../../root/api/command/possible_values.rst:96
#: ../../root/api/command/possible_values.rst:88
msgid "**Пример комбинированного использования:**"
msgstr ""
#: ../../root/api/command/possible_values.rst:105
msgid "Использование в PredefinedFlags"
msgstr ""
#: ../../root/api/command/possible_values.rst:107
msgid "Многие предопределённые флаги используют `PossibleValues.NEITHER`:"
msgstr ""
#~ msgid "mda"
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -25,30 +25,28 @@ msgstr ""
#: ../../root/api/command/validation_status.rst:6
msgid ""
"`ValidationStatus` — это перечисление (`Enum`), которое определяет "
"состояние валидации флага. Его задача — предоставить стандартные "
"константы для отображения результата проверки. `ValidationStatus` "
"используется в атрибуте `status` класса `InputFlag`, чтобы сообщить, "
"прошла ли валидация успешно."
"``ValidationStatus`` — это перечисление, которое определяет состояние "
"валидации флага. Его задача — предоставить стандартные константы для "
"отображения результата проверки. ``ValidationStatus`` используется в "
"атрибуте ``status`` класса ``InputFlag``."
msgstr ""
#: ../../root/api/command/validation_status.rst:8
msgid ""
"`ValidationStatus` наследуется от `Enum` и содержит три значения: `VALID`"
" (корректный флаг), `INVALID` (некорректный) и `UNDEFINED` "
"(незарегистрированный)."
"``ValidationStatus`` содержит три значения: **VALID** (корректный флаг), "
"**INVALID** (некорректный) и **UNDEFINED** (незарегистрированный)."
msgstr ""
#: ../../root/api/command/validation_status.rst:12
msgid ""
"Статус валидации устанавливается автоматически при создании экземпляра "
"`InputFlag` на основе правил, заданных в соответствующем `Flag`."
"``InputFlag`` на основе правил, заданных в соответствующем ``Flag``."
msgstr ""
#: ../../root/api/command/validation_status.rst:16
msgid ""
"Документация по :ref:`InputFlag <root_api_command_input_flag>` — класс "
"введённого флага, использующий `ValidationStatus`."
"введённого флага, использующий ``ValidationStatus``."
msgstr ""
#: ../../root/api/command/validation_status.rst:18
@@ -64,111 +62,87 @@ msgid ""
msgstr ""
#: ../../root/api/command/validation_status.rst:25
msgid "Значения enum"
msgstr ""
#: ../../root/api/command/validation_status.rst:28
msgid "VALID"
msgstr ""
#: ../../root/api/command/validation_status.rst:35
#: ../../root/api/command/validation_status.rst:32
msgid "Указывает, что флаг и его значение **прошли** валидацию."
msgstr ""
#: ../../root/api/command/validation_status.rst:37
#: ../../root/api/command/validation_status.rst:34
msgid ""
"Флаги с этим статусом соответствуют правилам, заданным в "
"`possible_values` соответствующего `Flag`. Их можно безопасно "
"``possible_values`` соответствующего ``Flag``. Их можно безопасно "
"использовать в логике приложения без дополнительных проверок."
msgstr ""
#: ../../root/api/command/validation_status.rst:39
#: ../../root/api/command/validation_status.rst:36
msgid "**Условия получения статуса** ``VALID``:"
msgstr ""
#: ../../root/api/command/validation_status.rst:41
msgid "Флаг с `PossibleValues.NEITHER` передан без значения."
#: ../../root/api/command/validation_status.rst:38
msgid "Флаг с ``PossibleValues.NEITHER`` передан без значения."
msgstr ""
#: ../../root/api/command/validation_status.rst:42
msgid "Флаг с `PossibleValues.ALL` передан с любым значением или без него."
#: ../../root/api/command/validation_status.rst:39
msgid "Флаг с ``PossibleValues.ALL`` передан с любым значением или без него."
msgstr ""
#: ../../root/api/command/validation_status.rst:43
#: ../../root/api/command/validation_status.rst:40
msgid "Значение флага входит в список разрешённых."
msgstr ""
#: ../../root/api/command/validation_status.rst:44
#: ../../root/api/command/validation_status.rst:41
msgid "Значение флага соответствует регулярному выражению."
msgstr ""
#: ../../root/api/command/validation_status.rst:46
#: ../../root/api/command/validation_status.rst:73
msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/command/validation_status.rst:55
msgid "INVALID"
msgstr ""
#: ../../root/api/command/validation_status.rst:62
#: ../../root/api/command/validation_status.rst:53
msgid "Указывает, что флаг или его значение **не прошли** валидацию."
msgstr ""
#: ../../root/api/command/validation_status.rst:64
#: ../../root/api/command/validation_status.rst:55
msgid ""
"Флаги с этим статусом нарушают правила, заданные в `possible_values` "
"соответствующего `Flag`. Их следует обрабатывать как ошибочные."
"Флаги с этим статусом нарушают правила, заданные в ``possible_values`` "
"соответствующего ``Flag``. Их следует обрабатывать как ошибочные."
msgstr ""
#: ../../root/api/command/validation_status.rst:66
#: ../../root/api/command/validation_status.rst:57
msgid "**Условия получения статуса** ``INVALID``:"
msgstr ""
#: ../../root/api/command/validation_status.rst:68
msgid "Флаг с `PossibleValues.NEITHER` передан со значением."
#: ../../root/api/command/validation_status.rst:59
msgid "Флаг с ``PossibleValues.NEITHER`` передан со значением."
msgstr ""
#: ../../root/api/command/validation_status.rst:69
#: ../../root/api/command/validation_status.rst:60
msgid "Значение флага не входит в список разрешённых."
msgstr ""
#: ../../root/api/command/validation_status.rst:70
#: ../../root/api/command/validation_status.rst:61
msgid "Значение флага не соответствует регулярному выражению."
msgstr ""
#: ../../root/api/command/validation_status.rst:71
#: ../../root/api/command/validation_status.rst:62
msgid "Флаг требует значение, но передан без него."
msgstr ""
#: ../../root/api/command/validation_status.rst:82
#: ../../root/api/command/validation_status.rst:67
msgid "UNDEFINED"
msgstr ""
#: ../../root/api/command/validation_status.rst:89
#: ../../root/api/command/validation_status.rst:74
msgid "Указывает, что введённый флаг не был зарегистрирован в команде."
msgstr ""
#: ../../root/api/command/validation_status.rst:91
#: ../../root/api/command/validation_status.rst:76
msgid "**Условия получения статуса** ``UNDEFINED``:"
msgstr ""
#: ../../root/api/command/validation_status.rst:93
#: ../../root/api/command/validation_status.rst:78
msgid "Введённый флаг не найден среди зарегистрированных для данной команды."
msgstr ""
#: ../../root/api/command/validation_status.rst:99
msgid "Практические примеры"
msgstr ""
#: ../../root/api/command/validation_status.rst:102
msgid "Комплексный пример валидации"
msgstr ""
#: ../../root/api/command/validation_status.rst:104
msgid "Пример демонстрирует использование всех статусов в реальном сценарии."
msgstr ""
#~ msgid "case"
#~ msgstr ""
+52 -84
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -70,151 +70,119 @@ msgstr ""
msgid "Основные компоненты"
msgstr ""
#: ../../root/api/index.rst:34
msgid ":ref:`App <root_api_app_index>` — Основной класс приложения."
msgstr ""
#: ../../root/api/index.rst:35
#: ../../root/api/index.rst:32
msgid ""
":ref:`Orchestrator <root_api_orchestrator_index>` — Класс для управления "
"жизненным циклом."
":ref:`App <root_api_app_index>` — Объект приложения, который отвечает за "
"логику роутинга, настройки, валидации и т.д."
msgstr ""
#: ../../root/api/index.rst:36
#: ../../root/api/index.rst:33
msgid ""
":ref:`Orchestrator <root_api_orchestrator_index>` — Класс для "
"конфигурирования и запуска всего приложения."
msgstr ""
#: ../../root/api/index.rst:34
msgid ""
":ref:`Router <root_api_router>` — Класс для группировки и регистрации "
"команд."
msgstr ""
#: ../../root/api/index.rst:37
msgid ":ref:`Command <root_api_command_index>` — Класс для создания команд."
#: ../../root/api/index.rst:35
msgid ""
":ref:`Command <root_api_command_index>` — Класс для создания команд при "
"инициализации хэндлеров."
msgstr ""
#: ../../root/api/index.rst:38
#: ../../root/api/index.rst:36
msgid ""
":ref:`Response <root_api_response>` — Объект ответа, передаваемый в "
"обработчики."
msgstr ""
#: ../../root/api/index.rst:41
#: ../../root/api/index.rst:39
msgid "Команды и флаги"
msgstr ""
#: ../../root/api/index.rst:54
#: ../../root/api/index.rst:52
msgid ":ref:`Flag <root_api_command_flag>` — Класс для описания флага."
msgstr ""
#: ../../root/api/index.rst:55
#: ../../root/api/index.rst:53
msgid ":ref:`Flags <root_api_command_flags>` — Коллекция для регистрации флагов."
msgstr ""
#: ../../root/api/index.rst:56
#: ../../root/api/index.rst:54
msgid ""
":ref:`InputFlag <root_api_command_input_flag>` — Класс для введённого "
"пользователем флага."
msgstr ""
#: ../../root/api/index.rst:57
#: ../../root/api/index.rst:55
msgid ""
":ref:`InputFlags <root_api_command_input_flags>` — Коллекция введённых "
"флагов."
msgstr ""
#: ../../root/api/index.rst:58
#: ../../root/api/index.rst:56
msgid ""
":ref:`PossibleValues <root_api_command_possible_values>` — Правила "
"валидации значений флагов."
"валидации значений флага."
msgstr ""
#: ../../root/api/index.rst:59
#: ../../root/api/index.rst:57
msgid ""
":ref:`ValidationStatus <root_api_command_validation_status>` — Статусы "
"валидации флагов."
msgstr ""
#: ../../root/api/index.rst:60
msgid "``PredefinedFlags`` — Готовые наборы флагов (например, ``--help``)."
#: ../../root/api/index.rst:58
msgid ""
":ref:`PredefinedFlags <root_api_command_flag_predefined_flags>` — "
"Коллекция предопределённых флагов."
msgstr ""
#: ../../root/api/index.rst:63
#: ../../root/api/index.rst:61
msgid "Настройка приложения"
msgstr ""
#: ../../root/api/index.rst:71
msgid ""
":ref:`AutoCompleter <root_api_app_autocompleter>` - Класс для настройки "
"автодополнения."
msgstr ""
#: ../../root/api/index.rst:72
msgid ""
":ref:`StaticDividingLine <root_api_app_dividing_lines>` — Статическая "
"разделительная линия для оформления вывода."
msgstr ""
#: ../../root/api/index.rst:73
msgid ""
":ref:`AutoCompleter <root_api_app_autocompleter>` — Базовый класс для "
"автодополнения."
":ref:`DynamicDividingLine <root_api_app_dividing_lines>` — Динамическая "
"разделительная линия для оформления вывода."
msgstr ""
#: ../../root/api/index.rst:74
msgid ""
":ref:`StaticDividingLine <root_api_app_dividing_lines>` — Статическая "
"разделительная линия."
":ref:`PredefinedMessages <root_api_predefined_messages>` — Готовые "
"сообщения для вывода при старте приложения."
msgstr ""
#: ../../root/api/index.rst:75
msgid ""
":ref:`DynamicDividingLine <root_api_app_dividing_lines>` — Динамическая "
"разделительная линия."
msgstr ""
#: ../../root/api/index.rst:76
msgid "``PredefinedMessages`` — Готовые системные сообщения."
msgstr ""
#: ../../root/api/index.rst:79
#: ../../root/api/index.rst:77
msgid "Внедрение зависимостей"
msgstr ""
#: ../../root/api/index.rst:87
#: ../../root/api/index.rst:85
msgid ""
":ref:`FromDishka <root_dependency_injection>` — Маркер для внедрения "
"зависимостей."
":ref:`FromDishka <root_dependency_injection>` — Маркер аргумента функции "
"как зависимости, которая должна быть инжектирована."
msgstr ""
#: ../../root/api/index.rst:88
#: ../../root/api/index.rst:86
msgid ""
":ref:`inject <root_dependency_injection>` — Декоратор для асинхронного "
"внедрения."
":ref:`inject <root_dependency_injection>` — Декоратор для инжектирования "
"зависимостей, указанных в сигнатуре."
msgstr ""
#~ msgid "Публичный API"
#~ msgstr ""
#~ msgid ""
#~ "В данном разделе приводятся сведения о"
#~ " публичной части интерфейса библиотеки:"
#~ msgstr ""
#~ msgid ""
#~ "Классы и функции, предназначенные для "
#~ "прямой интеграции в сторонние приложения."
#~ msgstr ""
#~ msgid ""
#~ "Советы по совместимости, ограничения и "
#~ "поддерживаемые сценарии использования."
#~ msgstr ""
#~ msgid ""
#~ "Примеры типовой интеграции, подробные "
#~ "сигнатуры методов и описание возвращаемых "
#~ "сущностей."
#~ msgstr ""
#~ msgid ""
#~ "Гарантии стабильности API, поддержка и "
#~ "обратная совместимость между версиями."
#~ msgstr ""
#~ msgid ""
#~ "Интерфейсы, не указанные в этом разделе,"
#~ " считаются внутренними и не подлежат "
#~ "использованию вне самой библиотеки. При "
#~ "разработке собственных решений рекомендуем "
#~ "обращаться именно к описанным здесь "
#~ "компонентам — это даст стабильность и"
#~ " гарантии на будущее развитие ваших "
#~ "продуктов с использованием ``Argenta``."
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:29+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -58,35 +58,35 @@ msgstr ""
msgid "``epilog``: Дополнительная информация для отображения в конце справки."
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:29
msgid "Основные методы и атрибуты"
#: ../../root/api/orchestrator/argparser.rst:31
msgid "Атрибуты"
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:33
#: ../../root/api/orchestrator/argparser.rst:35
msgid ""
"Экземпляр ``ArgSpace``, содержащий все обработанные аргументы командной "
"строки. Подробнее см. :ref:`здесь <root_api_orchestrator_argspace>`."
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:36
#: ../../root/api/orchestrator/argparser.rst:38
msgid ""
"До инициализации ``Orchestrator``, в конструктор которого был передан "
"экземпляр ``ArgParser``, атрибут ``parsed_argspace`` будет содержать "
"пустой ``ArgSpace``."
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:38
#: ../../root/api/orchestrator/argparser.rst:40
msgid ""
"Парсинг и валидация аргументов происходят при инициализации "
"``Orchestrator``, поэтому использовать ``parsed_argspace`` "
"**целесообразно только после** этого."
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:43
#: ../../root/api/orchestrator/argparser.rst:45
msgid "Лучшие практики"
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:45
#: ../../root/api/orchestrator/argparser.rst:47
msgid ""
"Использовать атрибут ``parsed_argspace`` рекомендуется только на этапе "
"настройки приложения. В обработчиках лучшей практикой является получение "
@@ -94,115 +94,41 @@ msgid ""
"<root_dependency_injection>`."
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:48
msgid "Пример использования"
#: ../../root/api/orchestrator/argparser.rst:49
msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:55
#: ../../root/api/orchestrator/argparser.rst:56
msgid "Обработка ошибок"
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:58
#: ../../root/api/orchestrator/argparser.rst:59
msgid ""
"Про типы аргументов подробнее в :ref:`Arguments "
"<root_api_orchestrator_arguments>`"
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:60
#: ../../root/api/orchestrator/argparser.rst:61
msgid ""
"При работе с аргументами командной строки стандартный ``ArgumentParser`` "
"автоматически обрабатывает следующие ситуации:"
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:62
#: ../../root/api/orchestrator/argparser.rst:63
msgid "**Отсутствие обязательного аргумента:**"
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:70
msgid "**Недопустимое значение из списка choices:**"
#: ../../root/api/orchestrator/argparser.rst:71
msgid "**Недопустимое значение из списка possible_values:**"
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:78
#: ../../root/api/orchestrator/argparser.rst:79
msgid "**Использование устаревшего аргумента:**"
msgstr ""
#: ../../root/api/orchestrator/argparser.rst:80
#: ../../root/api/orchestrator/argparser.rst:81
msgid ""
"При использовании аргумента с ``is_deprecated=True`` выводится "
"предупреждение, но выполнение продолжается:"
msgstr ""
#~ msgid "Argparser"
#~ msgstr ""
#~ msgid "nu"
#~ msgstr ""
#~ msgid ""
#~ "Объект ``ArgParser`` в ``Argenta`` "
#~ "предназначен для разбора и обработки "
#~ "**аргументов командной строки**, которые "
#~ "передаются вашему приложению при его "
#~ "запуске. Важно не путать их с "
#~ "флагами команд, которые пользователь вводит"
#~ " в интерактивном режиме работы приложения."
#~ " ``ArgParser`` позволяет вашему приложению "
#~ "получать внешнюю конфигурацию в момент "
#~ "старта, например, путь к файлу настроек,"
#~ " флаги для отладки или режим запуска."
#~ msgstr ""
#~ msgid "Создает экземпляр парсера аргументов командной строки."
#~ msgstr ""
#~ msgid ""
#~ "``processed_args``: Список аргументов, которые "
#~ "будут обрабатываться и парситься при "
#~ "запуске приложения, подробнее :ref:`тут "
#~ "<root_api_orchestrator_arguments>`."
#~ msgstr ""
#~ msgid "``name``: Имя приложения, которое будет отображаться в справке."
#~ msgstr ""
#~ msgid ""
#~ "``description``: Описание приложения, которое "
#~ "будет отображаться в справке."
#~ msgstr ""
#~ msgid ""
#~ "``epilog``: Дополнительная информация, которая "
#~ "будет отображаться в конце справки."
#~ msgstr ""
#~ msgid ""
#~ "Экземпляр класса ``ArgSpace``, который "
#~ "содержит все обработанные аргументы командной"
#~ " строки, подробнее :ref:`тут "
#~ "<root_api_orchestrator_argspace>`."
#~ msgstr ""
#~ msgid ""
#~ "До инициализации инстанса ``Orchestrator``, "
#~ "которому в конструктор был передан "
#~ "соответствующий экземпляр ``ArgParser``, атрибут "
#~ "``parsed_argspace`` будет равен пустому "
#~ "``ArgSpace``."
#~ msgstr ""
#~ msgid ""
#~ "Парсинг и валидация аргументов командной "
#~ "строки происходит при инициализации "
#~ "``Orchestrator``, соответственно использование "
#~ "атрибута ``parsed_argspace`` **целесообразно только"
#~ " после инициализации** ``Orchestrator``."
#~ msgstr ""
#~ msgid ""
#~ "Использование атрибута ``parsed_argspace`` "
#~ "рекомендуется только на этапе настройки "
#~ "приложения, в хэндлерах лучшей практикой "
#~ "является получение ``ArgSpace`` через ``di``,"
#~ " подробнее :ref:`тут <root_dependency_injection>`."
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -33,43 +33,36 @@ msgstr ""
#: ../../root/api/orchestrator/argspace.rst:8
msgid ""
"``ArgSpace`` создаётся автоматически после обработки аргументов с помощью"
" `ArgParser` и содержит коллекцию объектов `InputArgument`."
" ``ArgParser`` и содержит коллекцию объектов ``InputArgument``."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:13
msgid "Инициализация"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:20
msgid "Создаёт новое пространство аргументов."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:22
#: ../../root/api/orchestrator/argspace.rst:15
msgid ""
"``all_arguments``: Список обработанных аргументов в виде объектов "
"`InputArgument`. Каждый элемент содержит имя, значение и тип исходного "
"аргумента."
"Создание экземпляров класса ``ArgSpace`` происходит под `капотом`, вам не"
" нужно создавать их вручную."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:24
#: ../../root/api/orchestrator/argspace.rst:17
msgid "**Атрибуты:**"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:28
msgid ""
"Список всех обработанных аргументов типа `InputArgument`, включая "
"значения по умолчанию для не указанных параметров."
#: ../../root/api/orchestrator/argspace.rst:21
msgid "Список всех обработанных аргументов типа ``InputArgument``."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:33
#: ../../root/api/orchestrator/argspace.rst:26
msgid "Методы"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:36
#: ../../root/api/orchestrator/argspace.rst:29
msgid "get_by_name"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:43
#: ../../root/api/orchestrator/argspace.rst:36
msgid "Возвращает аргумент по имени."
msgstr ""
@@ -77,7 +70,7 @@ msgstr ""
msgid "param name"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:45
#: ../../root/api/orchestrator/argspace.rst:38
msgid "Имя искомого аргумента."
msgstr ""
@@ -85,26 +78,21 @@ msgstr ""
msgid "return"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:46
msgid "Объект `InputArgument` или `None`, если аргумент не найден."
#: ../../root/api/orchestrator/argspace.rst:39
msgid "Объект ``InputArgument`` или ``None``, если аргумент не найден."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:48
msgid ""
"Метод выполняет линейный поиск по списку `all_arguments`. Если аргумент "
"не найден, возвращается `None`."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:50
#: ../../root/api/orchestrator/argspace.rst:86
#: ../../root/api/orchestrator/argspace.rst:41
#: ../../root/api/orchestrator/argspace.rst:63
#: ../../root/api/orchestrator/argspace.rst:90
msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:72
#: ../../root/api/orchestrator/argspace.rst:49
msgid "get_by_type"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:79
#: ../../root/api/orchestrator/argspace.rst:56
msgid "Возвращает все аргументы определённого типа."
msgstr ""
@@ -112,145 +100,52 @@ msgstr ""
msgid "param arg_type"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:81
msgid "Тип аргумента (`BooleanArgument` или `ValueArgument`)."
#: ../../root/api/orchestrator/argspace.rst:58
msgid "Тип аргумента (``BooleanArgument`` или ``ValueArgument``)."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:82
#: ../../root/api/orchestrator/argspace.rst:59
msgid "Список аргументов указанного типа или пустой список."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:84
#: ../../root/api/orchestrator/argspace.rst:61
msgid ""
"Метод фильтрует `all_arguments` по атрибуту `founder_class` и возвращает "
"аргументы, созданные из указанного типа."
"Метод фильтрует ``all_arguments`` по атрибуту ``founder_class`` и "
"возвращает аргументы, созданные из указанного типа."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:94
#: ../../root/api/orchestrator/argspace.rst:71
msgid "InputArgument"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:97
#: ../../root/api/orchestrator/argspace.rst:74
msgid ""
"Документация по ``InputArgument`` находится :ref:`здесь "
"<root_api_orchestrator_arguments_inputargument>`."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:102
msgid "Примеры испольования"
#: ../../root/api/orchestrator/argspace.rst:79
msgid "Примеры использования"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:104
#: ../../root/api/orchestrator/argspace.rst:81
msgid ""
"`ArgSpace` используется для доступа к значениям аргументов после запуска "
"приложения. Типичный сценарий включает обработку аргументов через "
"`ArgParser` и последующее извлечение значений из `ArgSpace`."
"``ArgSpace`` используется для доступа к значениям аргументов после "
"запуска приложения. Типичный сценарий включает обработку аргументов через"
" ``ArgParser`` и последующее извлечение значений из ``ArgSpace``."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:106
#: ../../root/api/orchestrator/argspace.rst:83
msgid "**Полный пример:**"
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:111
#: ../../root/api/orchestrator/argspace.rst:88
msgid ""
"Доступ к аргументам из обработчиков осуществляется с помощью DI. "
"Доступ к аргументам из обработчиков осуществляется с помощью ``di``. "
"Подробнее см. :ref:`здесь <root_dependency_injection>`."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:116
#: ../../root/api/orchestrator/argspace.rst:95
msgid "**Запуск приложения:**"
msgstr ""
#~ msgid ""
#~ "Объект ``ArgSpace`` является контейнером для"
#~ " хранения и управления распаршенными "
#~ "аргументами командной строки в приложении "
#~ "``Argenta``. Его основная задача — "
#~ "предоставить удобный интерфейс для доступа "
#~ "к значениям аргументов, переданных при "
#~ "запуске приложения."
#~ msgstr ""
#~ msgid ""
#~ "``ArgSpace`` автоматически создается после "
#~ "парсинга аргументов через ``ArgParser`` и "
#~ "содержит коллекцию объектов ``InputArgument``, "
#~ "представляющих собой финальные значения всех"
#~ " переданных параметров командной строки."
#~ msgstr ""
#~ msgid "Создает новое пространство аргументов."
#~ msgstr ""
#~ msgid ""
#~ "``all_arguments`` : Список распаршенных "
#~ "аргументов в виде объектов ``InputArgument``."
#~ " Каждый элемент содержит имя, значение "
#~ "и тип исходного аргумента."
#~ msgstr ""
#~ msgid ""
#~ "Список всех распаршенных аргументов типа "
#~ "``InputArgument``. Содержит все аргументы, "
#~ "переданные при запуске приложения, включая "
#~ "значения по умолчанию для не указанных"
#~ " параметров."
#~ msgstr ""
#~ msgid "Возвращает аргумент по его имени."
#~ msgstr ""
#~ msgid "Имя искомого аргумента"
#~ msgstr ""
#~ msgid ""
#~ "Объект ``InputArgument`` с указанным именем"
#~ " или ``None``, если аргумент не "
#~ "найден"
#~ msgstr ""
#~ msgid ""
#~ "Метод выполняет линейный поиск по списку"
#~ " ``all_arguments`` и возвращает аргумент с"
#~ " соответствующим именем. Если аргумент не"
#~ " найден, возвращается ``None``."
#~ msgstr ""
#~ msgid "Получает все аргументы определенного типа."
#~ msgstr ""
#~ msgid "Тип аргумента (``BooleanArgument`` или ``ValueArgument``)"
#~ msgstr ""
#~ msgid ""
#~ "Список аргументов указанного типа или "
#~ "пустой список, если аргументы не найдены"
#~ msgstr ""
#~ msgid ""
#~ "Метод фильтрует ``all_arguments`` по атрибуту"
#~ " ``founder_class`` каждого ``InputArgument`` и"
#~ " возвращает только те аргументы, которые"
#~ " были созданы из указанного типа."
#~ msgstr ""
#~ msgid ""
#~ "Документация по ``InputArgument`` находится "
#~ ":ref:`тут <root_api_orchestrator_arguments_inputargument>`"
#~ msgstr ""
#~ msgid ""
#~ "``ArgSpace`` используется для доступа к "
#~ "значениям аргументов после запуска приложения."
#~ " Типичный сценарий работы включает парсинг"
#~ " аргументов через ``ArgParser`` и "
#~ "последующее извлечение значений из "
#~ "``ArgSpace``."
#~ msgstr ""
#~ msgid ""
#~ "Доступ к аргументам из хэндлеров "
#~ "осуществляется с помощью ``di``, подробнее "
#~ ":ref:`тут <root_dependency_injection>`."
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -32,8 +32,8 @@ msgstr ""
#: ../../root/api/orchestrator/arguments.rst:8
msgid ""
"Аргументы регистрируются в `ArgParser` и после обработки становятся "
"доступными в объекте `ArgSpace`."
"Аргументы регистрируются в ``ArgParser`` и после обработки становятся "
"доступными в объекте ``ArgSpace``."
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:13
@@ -41,12 +41,10 @@ msgid "ValueArgument"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:15
msgid ""
"Класс для аргументов, требующих передачи значения. Используется для "
"параметров конфигурации, которым необходимо указать значение при запуске."
msgid "Класс для аргументов, требующих передачи значения."
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:30
#: ../../root/api/orchestrator/arguments.rst:31
msgid "Создаёт аргумент командной строки, требующий значения."
msgstr ""
@@ -54,9 +52,9 @@ msgstr ""
msgid "param name"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:32
#: ../../root/api/orchestrator/arguments.rst:100
#: ../../root/api/orchestrator/arguments.rst:165
#: ../../root/api/orchestrator/arguments.rst:33
#: ../../root/api/orchestrator/arguments.rst:74
#: ../../root/api/orchestrator/arguments.rst:117
msgid "Имя аргумента"
msgstr ""
@@ -64,8 +62,8 @@ msgstr ""
msgid "param prefix"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:33
#: ../../root/api/orchestrator/arguments.rst:101
#: ../../root/api/orchestrator/arguments.rst:34
#: ../../root/api/orchestrator/arguments.rst:75
msgid "Префикс (по умолчанию ``--``)"
msgstr ""
@@ -73,8 +71,8 @@ msgstr ""
msgid "param help"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:34
#: ../../root/api/orchestrator/arguments.rst:102
#: ../../root/api/orchestrator/arguments.rst:35
#: ../../root/api/orchestrator/arguments.rst:76
msgid "Сообщение для справки (``--help``)"
msgstr ""
@@ -82,15 +80,15 @@ msgstr ""
msgid "param possible_values"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:35
msgid "Список допустимых значений (передаётся в `choices` `ArgumentParser`)"
#: ../../root/api/orchestrator/arguments.rst:36
msgid "Список допустимых значений"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst
msgid "param default"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:36
#: ../../root/api/orchestrator/arguments.rst:37
msgid "Значение по умолчанию, если аргумент не передан"
msgstr ""
@@ -98,62 +96,69 @@ msgstr ""
msgid "param is_required"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:37
msgid "Если ``True``, аргумент становится обязательным"
#: ../../root/api/orchestrator/arguments.rst:38
msgid ""
"Если ``True``, аргумент становится обязательным. Если не передать при "
"запуске, приложение не запустится"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst
msgid "param is_deprecated"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:38
#: ../../root/api/orchestrator/arguments.rst:103
msgid "Если ``True``, помечает аргумент как устаревший"
#: ../../root/api/orchestrator/arguments.rst:39
msgid ""
"Если ``True``, помечает аргумент как устаревший. Если передать при "
"запуске, будет выведено предупреждение в консоль"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:40
#: ../../root/api/orchestrator/arguments.rst:105
#: ../../root/api/orchestrator/arguments.rst:41
#: ../../root/api/orchestrator/arguments.rst:79
msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:74
#: ../../root/api/orchestrator/arguments.rst:134
#: ../../root/api/orchestrator/arguments.rst:47
#: ../../root/api/orchestrator/arguments.rst:85
msgid "**Запуск приложения:**"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:84
#: ../../root/api/orchestrator/arguments.rst:57
msgid "BooleanArgument"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:86
#: ../../root/api/orchestrator/arguments.rst:59
msgid ""
"Класс для булевых аргументов, не требующих значения. Их наличие при "
"запуске устанавливает значение в `True`, отсутствие — в `False`."
"запуске устанавливает значение в **True**, отсутствие — в **False**."
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:98
#: ../../root/api/orchestrator/arguments.rst:72
msgid "Создаёт булев аргумент командной строки без значения."
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:147
#: ../../root/api/orchestrator/arguments.rst:77
msgid "Если ``True``, помечает аргумент как устаревший"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:98
msgid "InputArgument"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:150
#: ../../root/api/orchestrator/arguments.rst:101
msgid ""
"``InputArgument`` напрямую связан с контейнером ``ArgSpace`` и является "
"его наполнителем. Подробнее о нём см. :ref:`здесь "
"<root_api_orchestrator_argspace>`."
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:152
#: ../../root/api/orchestrator/arguments.rst:103
msgid ""
"Представляет собой обработанный аргумент командной строки. Этот класс "
"используется внутри `ArgSpace` для хранения значений, полученных после "
"используется внутри ``ArgSpace`` для хранения значений, полученных после "
"парсинга."
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:163
#: ../../root/api/orchestrator/arguments.rst:115
msgid "Создаёт экземпляр обработанного входного аргумента."
msgstr ""
@@ -161,191 +166,47 @@ msgstr ""
msgid "param value"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:166
#: ../../root/api/orchestrator/arguments.rst:118
msgid ""
"Значение аргумента. Для `BooleanArgument` — `True`, если флаг передан; "
"для `ValueArgument` — строка со значением"
"Значение аргумента. Для ``BooleanArgument``**True**, если аргумент "
"передан, и **False**, если нет; для ``ValueArgument``введённая строка"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst
msgid "param founder_class"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:167
#: ../../root/api/orchestrator/arguments.rst:119
msgid ""
"Класс-родитель, из которого был создан аргумент (`BooleanArgument` или "
"`ValueArgument`)"
"Класс-родитель, из которого был создан аргумент (``BooleanArgument`` или "
"``ValueArgument``)"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:169
#: ../../root/api/orchestrator/arguments.rst:121
msgid "**Атрибуты:**"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:174
#: ../../root/api/orchestrator/arguments.rst:125
msgid ""
"Имя аргумента, указанное при создании `ValueArgument` или "
"`BooleanArgument`."
"Имя аргумента, указанное при создании ``ValueArgument`` или "
"``BooleanArgument``."
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:178
#: ../../root/api/orchestrator/arguments.rst:129
msgid "Значение аргумента. Тип зависит от исходного класса:"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:180
msgid "Для `BooleanArgument`: `True`, если флаг был передан."
#: ../../root/api/orchestrator/arguments.rst:131
msgid "Для ``BooleanArgument``: **True**, если аргумент был передан"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:181
#: ../../root/api/orchestrator/arguments.rst:132
msgid ""
"Для `ValueArgument`: строка с переданным значением или значением по "
"Для ``ValueArgument``: строка с переданным значением или значением по "
"умолчанию"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:185
msgid ""
"Ссылка на класс-родитель. Используется для определения типа и фильтрации "
"в методе `get_by_type()`."
#: ../../root/api/orchestrator/arguments.rst:136
msgid "Ссылка на класс-родитель. Используется для определения типа и фильтрации."
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:187
msgid "**Методы:**"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:191
msgid "Возвращает строковое представление в формате `InputArgument(name=value)`."
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:201
msgid "Возвращает техническое представление объекта."
msgstr ""
#~ msgid "prikol"
#~ msgstr ""
#~ msgid ""
#~ "Модуль ``Arguments`` предоставляет набор "
#~ "классов для работы с аргументами "
#~ "командной строки при запуске приложения "
#~ "``Argenta``. Эти аргументы позволяют "
#~ "настраивать поведение приложения на этапе "
#~ "его старта, передавая различные параметры "
#~ "конфигурации через интерфейс командной строки."
#~ msgstr ""
#~ msgid ""
#~ "Аргументы регистрируются в ``ArgParser`` и "
#~ "парсятся при запуске приложения, становясь "
#~ "доступными через объект ``ArgSpace``."
#~ msgstr ""
#~ msgid ""
#~ "Класс для аргументов командной строки, "
#~ "требующих передачи значения. Используется для"
#~ " параметров конфигурации, которым необходимо "
#~ "указать конкретное значение при запуске "
#~ "приложения."
#~ msgstr ""
#~ msgid "Создает аргумент командной строки, требующий значения."
#~ msgstr ""
#~ msgid "Префикс аргумента, по умолчанию ``--``"
#~ msgstr ""
#~ msgid "Сообщение справки, отображаемое при ``--help``"
#~ msgstr ""
#~ msgid ""
#~ "Список допустимых значений для аргумента. "
#~ "Передается в параметр ``choices`` "
#~ "ArgumentParser"
#~ msgstr ""
#~ msgid ""
#~ "Значение по умолчанию, используемое если "
#~ "аргумент не передан при запуске"
#~ msgstr ""
#~ msgid ""
#~ "Обязатялен ли аргумент. Если ``True``, "
#~ "приложение не запустится без этого "
#~ "аргумента"
#~ msgstr ""
#~ msgid "Является ли аргумент устаревшим"
#~ msgstr ""
#~ msgid ""
#~ "Класс для булевых аргументов командной "
#~ "строки, которые не требуют передачи "
#~ "значения. Наличие или отсутствие аргумента "
#~ "при запуске определяет состояние распаршенных"
#~ " аргументов(``True`` при наличии и "
#~ "``False`` при отсутствии)."
#~ msgstr ""
#~ msgid "Создает булевый аргумент командной строки без значения."
#~ msgstr ""
#~ msgid ""
#~ "``InputArgument`` непосредственно связан и "
#~ "является наполнителем контейнера ``ArgSpace``, "
#~ "подробнее про него :ref:`тут "
#~ "<root_api_orchestrator_argspace>`."
#~ msgstr ""
#~ msgid ""
#~ "Представляет собой распаршенный аргумент "
#~ "командной строки после запуска приложения. "
#~ "Этот класс используется внутри объекта "
#~ "``ArgSpace`` для хранения значений аргументов,"
#~ " полученных при парсинге."
#~ msgstr ""
#~ msgid "Создает экземпляр распарсенного входного аргумента."
#~ msgstr ""
#~ msgid ""
#~ "Значение аргумента. Для ``BooleanArgument`` "
#~ "всегда ``True`` если флаг передан, для"
#~ " ``ValueArgument`` — строка со значением"
#~ msgstr ""
#~ msgid ""
#~ "Класс-родитель, из которого был создан "
#~ "этот аргумент (``BooleanArgument`` или "
#~ "``ValueArgument``)"
#~ msgstr ""
#~ msgid ""
#~ "Имя аргумента в виде строки. "
#~ "Соответствует имени, указанному при создании"
#~ " ``ValueArgument`` или ``BooleanArgument``."
#~ msgstr ""
#~ msgid "Значение аргумента. Тип значения зависит от исходного класса аргумента:"
#~ msgstr ""
#~ msgid "Для ``BooleanArgument``: ``True`` если флаг был передан при запуске"
#~ msgstr ""
#~ msgid ""
#~ "Для ``ValueArgument``: строка с переданным "
#~ "значением или значением по умолчанию"
#~ msgstr ""
#~ msgid ""
#~ "Ссылка на класс, из которого был "
#~ "создан этот аргумент. Используется для "
#~ "определения типа аргумента и фильтрации "
#~ "в методе ``get_by_type()``."
#~ msgstr ""
#~ msgid ""
#~ "Возвращает строковое представление аргумента в"
#~ " формате ``InputArgument(name=value)``."
#~ msgstr ""
#~ msgid "Возвращает техническое представление объекта в виде строки."
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -25,17 +25,16 @@ msgstr ""
#: ../../root/api/orchestrator/index.rst:6
msgid ""
"``Orchestrator`` — это высокоуровневый компонент, который управляет "
"жизненным циклом приложения. Его главная задача — инициализация и "
"конфигурация окружения, включая внедрение зависимостей (DI), парсинг "
"аргументов командной строки и запуск основного цикла `App`."
"``Orchestrator`` — это высокоуровневый компонент, который конфигурирует и"
" оркестрирует приложение, парсер командной строки, ``di`` и остальные "
"компоненты, находящиеся по иерархии на уровне с ``App``."
msgstr ""
#: ../../root/api/orchestrator/index.rst:8
msgid ""
"В то время как `App` отвечает за логику интерактивной сессии (ввод "
"команд, маршрутизация), `Orchestrator` подготавливает окружение для его "
"работы и служит точкой входа в приложение."
"В то время как ``App`` отвечает за логику интерактивной сессии (ввод "
"команд, маршрутизация), ``Orchestrator`` подготавливает окружение для его"
" работы и служит точкой входа в приложение."
msgstr ""
#: ../../root/api/orchestrator/index.rst:13
@@ -48,21 +47,21 @@ msgstr ""
#: ../../root/api/orchestrator/index.rst:30
msgid ""
"``arg_parser``: Экземпляр `ArgParser`, отвечающий за парсинг аргументов "
"командной строки при запуске скрипта (не путать с командами в "
"``arg_parser``: Экземпляр ``ArgParser``, отвечающий за парсинг аргументов"
" командной строки при запуске скрипта (не путать с командами в "
"интерактивном режиме)."
msgstr ""
#: ../../root/api/orchestrator/index.rst:31
msgid ""
"``custom_providers``: Список пользовательских провайдеров "
"`dishka.Provider` для добавления ваших сервисов (например, подключений к "
"БД или API-клиентов) в DI-контейнер."
"``dishka.Provider`` для добавления ваших сервисов (например, подключений "
"к БД или API-клиентов) в DI-контейнер."
msgstr ""
#: ../../root/api/orchestrator/index.rst:32
msgid ""
"``auto_inject_handlers``: Если `True` (по умолчанию), `dishka` "
"``auto_inject_handlers``: Если **True** (по умолчанию), ``dishka`` "
"автоматически внедрит зависимости в обработчики команд, инспектируя их "
"сигнатуры."
msgstr ""
@@ -73,159 +72,36 @@ msgstr ""
#: ../../root/api/orchestrator/index.rst:41
msgid ""
"Это главный метод, который запускает приложение. Он выполняет следующие "
"шаги:"
msgstr ""
#: ../../root/api/orchestrator/index.rst:43
msgid ""
"**Настройка DI**: Создаёт DI-контейнер на основе системного провайдера "
"(предоставляет `ArgParser`) и пользовательских `custom_providers`."
msgstr ""
#: ../../root/api/orchestrator/index.rst:44
msgid ""
"**Запуск основного цикла**: Запускает бесконечный цикл ожидания и "
"обработки пользовательского ввода."
"Это главный метод, который запускает приложение. Он запускает бесконечный"
" цикл ввода -> вывода."
msgstr ""
#: ../../root/api/orchestrator/index.rst
msgid "Parameters"
msgstr ""
#: ../../root/api/orchestrator/index.rst:46
msgid "Экземпляр `App`, который будет запущен."
#: ../../root/api/orchestrator/index.rst:43
msgid "Экземпляр ``App``, который будет запущен."
msgstr ""
#: ../../root/api/orchestrator/index.rst:51
#: ../../root/api/orchestrator/index.rst:48
msgid "Назначение и использование"
msgstr ""
#: ../../root/api/orchestrator/index.rst:53
#: ../../root/api/orchestrator/index.rst:50
msgid ""
"``Orchestrator`` абстрагирует сложность, связанную с настройкой DI и "
"парсингом стартовых аргументов. Типичный сценарий использования выглядит "
"так:"
"``Orchestrator`` абстрагирует сложность, связанную с настройкой ``di`` и "
"парсингом стартовых аргументов."
msgstr ""
#: ../../root/api/orchestrator/index.rst:55
msgid "Создайте и настройте экземпляр `App` (добавьте роутеры)."
msgstr ""
#: ../../root/api/orchestrator/index.rst:56
msgid "Создайте экземпляр `Orchestrator`, передав в него DI-провайдеры."
msgstr ""
#: ../../root/api/orchestrator/index.rst:57
msgid "Вызовите `orchestrator.start_polling(app)`, чтобы запустить приложение."
msgstr ""
#: ../../root/api/orchestrator/index.rst:59
#: ../../root/api/orchestrator/index.rst:52
msgid ""
"Такой подход разделяет ответственности: `App` отвечает за логику "
"интерактивной сессии, а `Orchestrator` — за подготовку и запуск "
"окружения."
"Такой подход разделяет ответственности: ``App`` отвечает за логику "
"интерактивной сессии, а ``Orchestrator`` — за подготовку окружения и "
"запуск приложения."
msgstr ""
#: ../../root/api/orchestrator/index.rst:62
msgid "Пример использования"
#: ../../root/api/orchestrator/index.rst:54
msgid "**Пример использования:**"
msgstr ""
#~ msgid ""
#~ "Объект ``Orchestrator`` в ``Argenta`` "
#~ "представляет собой высокоуровневый компонент, "
#~ "который стоит над ``App`` и отвечает "
#~ "за \"оркестрацию\" всего приложения. Его "
#~ "главная задача — инициализация и "
#~ "конфигурация сложных систем, таких как "
#~ "внедрение зависимостей (``di``), парсинг "
#~ "аргументов командной строки при запуске, "
#~ "и запуск основного цикла приложения."
#~ msgstr ""
#~ msgid ""
#~ "В то время как ``App`` отвечает за"
#~ " интерактивную сессию (ввод команд, "
#~ "роутинг), ``Orchestrator`` подготавливает окружение,"
#~ " в котором ``App`` будет работать. Он"
#~ " является точкой входа для приложений."
#~ msgstr ""
#~ msgid "Создает и конфигурирует экземпляр ``Orchestrator``."
#~ msgstr ""
#~ msgid ""
#~ "``arg_parser``: Экземпляр "
#~ ":class:`argenta.orchestrator.argparser.ArgParser`, который "
#~ "отвечает за парсинг аргументов, переданных "
#~ "скрипту при запуске из командной строки"
#~ " (не путать с командами, вводимыми в"
#~ " интерактивном режиме)."
#~ msgstr ""
#~ msgid ""
#~ "``custom_providers``: Список пользовательских "
#~ "провайдеров ``dishka.Provider``. Это основной "
#~ "механизм для добавления ваших собственных "
#~ "сервисов (например, подключений к базе "
#~ "данных, клиентов API) в контейнер "
#~ "внедрения зависимостей."
#~ msgstr ""
#~ msgid ""
#~ "``auto_inject_handlers``: Если **True** (по "
#~ "умолчанию), ``dishka`` будет автоматически "
#~ "инспектировать сигнатуры обработчиков команд и"
#~ " внедрять в них требуемые зависимости "
#~ "из контейнера."
#~ msgstr ""
#~ msgid ""
#~ "Это главный метод, который запускает все"
#~ " приложение. Он выполняет следующие шаги:"
#~ msgstr ""
#~ msgid ""
#~ "**Настройка DI**: На основе системного "
#~ "провайдера (``SystemProvider``, который "
#~ "предоставляет ``ArgParser``) и списка "
#~ "``custom_providers`` создается ``ioc`` - "
#~ "контейнер и настраивается внедрение "
#~ "зависимостей."
#~ msgstr ""
#~ msgid ""
#~ "Экземпляр класса :class:`~argenta.app.models.App`, "
#~ "который будет запущен."
#~ msgstr ""
#~ msgid ""
#~ "``Orchestrator`` абстрагирует от вас всю "
#~ "сложность, связанную с настройкой внедрения"
#~ " зависимостей и парсингом стартовых "
#~ "аргументов. Типичный сценарий использования "
#~ "``Argenta`` выглядит следующим образом:"
#~ msgstr ""
#~ msgid "Создать экземпляр ``App`` и настроить его (добавить роутеры)."
#~ msgstr ""
#~ msgid ""
#~ "Создать экземпляр ``Orchestrator``, передав в"
#~ " него необходимые DI-провайдеры и, "
#~ "возможно, парсер аргументов."
#~ msgstr ""
#~ msgid ""
#~ "Вызвать ``orchestrator.start_polling(app)``, чтобы "
#~ "запустить приложение."
#~ msgstr ""
#~ msgid ""
#~ "Такой подход позволяет сохранить код "
#~ "чистым и разделяет ответственность: ``App``"
#~ " отвечает за логику интерактивной сессии,"
#~ " а ``Orchestrator`` — за подготовку и"
#~ " запуск окружения."
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -25,7 +25,7 @@ msgstr ""
#: ../../root/api/response.rst:6
msgid ""
"`Response` — это объект, который передаётся в обработчик команды. Он "
"``Response`` — это объект, который передаётся в обработчик команды. Он "
"создаётся автоматически при обработке пользовательского ввода и содержит "
"статус валидации, введённые флаги."
msgstr ""
@@ -52,114 +52,111 @@ msgstr ""
msgid "Инициализация"
msgstr ""
#: ../../root/api/response.rst:31
#: ../../root/api/response.rst:30
msgid "Создаёт новый объект ответа."
msgstr ""
#: ../../root/api/response.rst:32
msgid ""
"``status``: Общий статус валидации флагов из перечисления "
"``ResponseStatus``."
msgstr ""
#: ../../root/api/response.rst:33
msgid ""
"``status``: Общий статус валидации флагов из перечисления "
"`ResponseStatus`."
"``input_flags``: Коллекция введённых флагов (``InputFlags``). По "
"умолчанию — пустая."
msgstr ""
#: ../../root/api/response.rst:34
msgid ""
"``input_flags``: Коллекция введённых флагов (`InputFlags`). По умолчанию "
"— пустая."
msgstr ""
#: ../../root/api/response.rst:37
#: ../../root/api/response.rst:36
msgid ""
"Экземпляры этого класса не предназначены для прямого создания. Они "
"автоматически формируются системой и передаются в обработчик команды в "
"качестве первого обязательного аргумента."
msgstr ""
#: ../../root/api/response.rst:39
#: ../../root/api/response.rst:38
msgid "**Атрибуты:**"
msgstr ""
#: ../../root/api/response.rst:44
#: ../../root/api/response.rst:43
msgid ""
"Общий статус валидации всех флагов команды (`ResponseStatus`). Указывает,"
" были ли среди введённых флагов некорректные или незарегистрированные."
"Общий статус валидации всех флагов команды (``ResponseStatus``). "
"Указывает, были ли среди введённых флагов некорректные или "
"незарегистрированные."
msgstr ""
#: ../../root/api/response.rst:49
#: ../../root/api/response.rst:48
msgid ""
"Коллекция всех флагов, переданных с командой (`InputFlags`). Содержит все"
" обработанные флаги с их значениями и статусами валидации."
"Коллекция всех флагов, переданных с командой (``InputFlags``). Содержит "
"все обработанные флаги с их значениями и статусами валидации."
msgstr ""
#: ../../root/api/response.rst:51
#: ../../root/api/response.rst:50
msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/response.rst:60
#: ../../root/api/response.rst:59
msgid "Работа с флагами"
msgstr ""
#: ../../root/api/response.rst:62
#: ../../root/api/response.rst:61
msgid ""
"`Response` предоставляет доступ к введённым флагам через атрибут "
"`input_flags`. Вы можете проверять их наличие, получать значения и "
"``Response`` предоставляет доступ к введённым флагам через атрибут "
"``input_flags``. Вы можете проверять их наличие, получать значения и "
"статусы валидации."
msgstr ""
#: ../../root/api/response.rst:64
#: ../../root/api/response.rst:63
msgid "**Пример работы с флагами:**"
msgstr ""
#: ../../root/api/response.rst:75
#: ../../root/api/response.rst:74
msgid "ResponseStatus"
msgstr ""
#: ../../root/api/response.rst:77
#: ../../root/api/response.rst:76
msgid ""
"`ResponseStatus` — это перечисление (`Enum`), которое определяет общий "
"статус валидации всех флагов команды. Используется в атрибуте `status` "
"объекта `Response`."
"``ResponseStatus`` — это перечисление, которое определяет общий статус "
"валидации всех флагов команды. Используется в атрибуте ``status`` объекта"
" ``Response``."
msgstr ""
#: ../../root/api/response.rst:80
msgid "Значения enum"
msgstr ""
#: ../../root/api/response.rst:83
#: ../../root/api/response.rst:79
msgid "ALL_FLAGS_VALID"
msgstr ""
#: ../../root/api/response.rst:90
#: ../../root/api/response.rst:86
msgid ""
"Все введённые флаги прошли валидацию. Нет ни некорректных, ни "
"незарегистрированных флагов."
msgstr ""
#: ../../root/api/response.rst:93
#: ../../root/api/response.rst:89
msgid "UNDEFINED_FLAGS"
msgstr ""
#: ../../root/api/response.rst:100
#: ../../root/api/response.rst:96
msgid ""
"Среди введённых флагов есть незарегистрированные, но нет флагов с "
"некорректными значениями."
msgstr ""
#: ../../root/api/response.rst:103
#: ../../root/api/response.rst:99
msgid "INVALID_VALUE_FLAGS"
msgstr ""
#: ../../root/api/response.rst:110
#: ../../root/api/response.rst:106
msgid ""
"Среди введённых флагов есть флаги с некорректными значениями, но нет "
"незарегистрированных."
msgstr ""
#: ../../root/api/response.rst:113
#: ../../root/api/response.rst:109
msgid "UNDEFINED_AND_INVALID_FLAGS"
msgstr ""
#: ../../root/api/response.rst:120
#: ../../root/api/response.rst:116
msgid ""
"Среди введённых флагов есть как незарегистрированные, так и флаги с "
"некорректными значениями."
+16 -123
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -91,7 +91,7 @@ msgid "**Пример использования:**"
msgstr ""
#: ../../root/api/router.rst:48
msgid "Системный роутер по умолчанию"
msgid "Системный роутер"
msgstr ""
#: ../../root/api/router.rst:50
@@ -100,165 +100,58 @@ msgid ""
"автоматически подключается к каждому приложению."
msgstr ""
#: ../../root/api/router.rst:54
#: ../../root/api/router.rst:55
msgid ""
"Предопределённый экземпляр ``Router`` с базовыми системными командами (по"
" умолчанию — команда выхода). Имеет заголовок **«System points:»**, "
"который можно переопределить в ``App``."
msgstr ""
#: ../../root/api/router.rst:56
#: ../../root/api/router.rst:57
msgid ""
"Вы можете добавлять свои команды в этот роутер. Для этого импортируйте "
"``argenta.router.defaults.system_router`` и используйте его декоратор "
"``@command``."
msgstr ""
#: ../../root/api/router.rst:61
#: ../../root/api/router.rst:62
msgid "Возможные исключения"
msgstr ""
#: ../../root/api/router.rst:63
#: ../../root/api/router.rst:64
msgid ""
"При регистрации команд и флагов в ``Router`` могут возникнуть следующие "
"исключения:"
msgstr ""
#: ../../root/api/router.rst:67
#: ../../root/api/router.rst:68
msgid ""
"Выбрасывается, если триггер команды в ``Command`` содержит пробелы. "
"Триггеры должны быть одним словом."
msgstr ""
#: ../../root/api/router.rst:69
msgid ""
"**Неправильно:** ``Command(\"add user\")`` **Правильно:** ``Command"
"(\"add-user\")``"
#: ../../root/api/router.rst:70
msgid "**Неправильно:** ``Command(\"add user\")``"
msgstr ""
#: ../../root/api/router.rst:74
#: ../../root/api/router.rst:72
msgid "**Правильно:** ``Command(\"add-user\")``"
msgstr ""
#: ../../root/api/router.rst:76
msgid ""
"Возникает, если при определении флагов для команды были использованы "
"дублирующиеся имена. Имена флагов в рамках одной команды должны быть "
"уникальны."
msgstr ""
#: ../../root/api/router.rst:76
#: ../../root/api/router.rst:78
msgid "**Пример, вызывающий исключение:**"
msgstr ""
#: ../../root/api/router.rst:88
#: ../../root/api/router.rst:90
msgid ""
"Возникает, если обработчик команды не принимает обязательный аргумент "
"``Response``."
msgstr ""
#~ msgid ""
#~ "Объект ``Router`` является фундаментальным "
#~ "строительным блоком для организации логики "
#~ "в приложении ``Argenta``. Его основная "
#~ "задача — группировать связанные команды "
#~ "и их обработчики. Каждый роутер "
#~ "представляет собой логический контейнер для"
#~ " определенного набора функциональности."
#~ msgstr ""
#~ msgid ""
#~ "Например, в приложении для управления "
#~ "пользователями один роутер может отвечать "
#~ "за команды, связанные с аутентификацией "
#~ "(``login``, ``logout``), а другой — за"
#~ " операции с профилем (``profile show``, "
#~ "``profile edit``)."
#~ msgstr ""
#~ msgid "Создает новый экземпляр маршрутизатора."
#~ msgstr ""
#~ msgid ""
#~ "``title`` : Необязательный заголовок для "
#~ "группы команд, которые регистрируются в "
#~ "этом роутере. Этот заголовок будет "
#~ "отображаться в списке доступных команд, "
#~ "помогая пользователю ориентироваться."
#~ msgstr ""
#~ msgid ""
#~ "``disable_redirect_stdout`` : Если установлено "
#~ "в ``True``, отключает механизм перехвата "
#~ "стандартного вывода (``stdout``) для всех "
#~ "команд этого роутера. Это необходимо для"
#~ " команд, которые требуют интерактивного "
#~ "ввода от пользователя (например, с "
#~ "помощью ``input()``). При отключении перехвата"
#~ " вывода автоматически используется статическая"
#~ " разделительная линия. Подробнее в "
#~ ":ref:`соответствующем разделе <root_redirect_stdout>`"
#~ msgstr ""
#~ msgid ""
#~ "Для регистрации новой команды и привязки"
#~ " к ней функции-обработчика используется "
#~ "декоратор ``@command``."
#~ msgstr ""
#~ msgid ""
#~ "Декоратор для регистрации функции как "
#~ "обработчика для указанной команды."
#~ msgstr ""
#~ msgid ""
#~ "Экземпляр класса ``argenta.command.Command``, "
#~ "описывающий триггер, флаги и описание "
#~ "команды. Также может быть просто "
#~ "строкой, которая будет являться триггером, "
#~ "в этом случае нет возможности настроить"
#~ " флаги, описание и всё остальное."
#~ msgstr ""
#~ msgid ""
#~ "Предопределенный экземпляр ``Router``, который "
#~ "содержит базовые системные команды. По "
#~ "умолчанию в него включена команда выхода"
#~ " из приложения (обычно **exit**). Он "
#~ "имеет заголовок **\"System points:\"**, "
#~ "который можно переопределить в инстансе "
#~ "приложения -> ``App``."
#~ msgstr ""
#~ msgid ""
#~ "Вы можете добавлять свои команды в "
#~ "этот роутер, для этого импортируйте "
#~ "``argenta.router.defaults.system_router`` и декорируйте"
#~ " его методом необходимые хэндлеры."
#~ msgstr ""
#~ msgid ""
#~ "При регистрации команд и флагов в "
#~ "``Router`` могут возникнуть следующие "
#~ "исключения, сигнализирующие о некорректной "
#~ "конфигурации:"
#~ msgstr ""
#~ msgid ""
#~ "Выбрасывается, если триггер команды, "
#~ "передаваемый в ``Command``, содержит пробелы."
#~ " Триггеры команд должны быть одним "
#~ "словом."
#~ msgstr ""
#~ msgid ""
#~ "Возникает, если при определении флагов "
#~ "для одной команды были использованы "
#~ "дублирующиеся имена (как короткие, так и"
#~ " длинные). Каждое имя флага в рамках"
#~ " одной команды должно быть уникальным."
#~ msgstr ""
#~ msgid ""
#~ "Это исключение возникает, если какой-либо "
#~ "обработчик команды не ожидает обязательный "
#~ "аргумент, которым является объект "
#~ "ответа(``Response``)."
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -21,82 +21,93 @@ msgstr ""
#: ../../root/code_of_conduct.rst:4
msgid "Правила сообщества"
msgstr ""
msgstr "Community Guidelines"
#: ../../root/code_of_conduct.rst:7
msgid "Наше обязательство"
msgstr ""
msgstr "Our Pledge"
#: ../../root/code_of_conduct.rst:9
msgid ""
"В целях создания открытой и гостеприимной атмосферы мы, как участники и "
"мейнтейнеры, обязуемся сделать участие в нашем проекте и сообществе "
"свободным от преследований для всех, независимо от возраста, "
"телосложения, инвалидности, этнической принадлежности, гендерной "
"идентичности и самовыражения, уровня опыта, образования, "
"социально-экономического статуса, национальности, внешности, расы, "
"религии или сексуальной идентичности и ориентации."
"телосложения, инвалидности, этнической принадлежности, уровня опыта, "
"образования, социально-экономического статуса, национальности, внешности,"
" расы или религии."
msgstr ""
"In the interest of fostering an open and welcoming environment, we as "
"contributors and maintainers pledge to make participation in our project and "
"community a harassment-free experience for everyone, regardless of age, body "
"size, disability, ethnicity, level of experience, education, socio-economic "
"status, nationality, personal appearance, race, or religion."
#: ../../root/code_of_conduct.rst:14
msgid "Наши стандарты"
msgstr ""
msgstr "Our Standards"
#: ../../root/code_of_conduct.rst:16
msgid "Примеры поведения, которые способствуют созданию позитивной среды:"
msgstr ""
msgstr "Examples of behavior that contributes to creating a positive environment:"
#: ../../root/code_of_conduct.rst:18
msgid "Проявление эмпатии и доброты по отношению к другим."
msgstr ""
msgstr "Demonstrating empathy and kindness toward other people."
#: ../../root/code_of_conduct.rst:19
msgid "Уважение к различным мнениям, точкам зрения и опыту."
msgstr ""
msgstr "Being respectful of differing opinions, viewpoints, and experiences."
#: ../../root/code_of_conduct.rst:20
msgid "Предоставление и тактичное принятие конструктивной обратной связи."
msgstr ""
msgstr "Giving and gracefully accepting constructive feedback."
#: ../../root/code_of_conduct.rst:21
msgid ""
"Принятие ответственности и извинения перед теми, кого затронули наши "
"ошибки, а также извлечение уроков из этого опыта."
msgstr ""
"Accepting responsibility and apologizing to those affected by our mistakes, "
"and learning from the experience."
#: ../../root/code_of_conduct.rst:22
msgid "Фокус на том, что лучше для всего сообщества."
msgstr ""
msgstr "Focusing on what is best for the overall community."
#: ../../root/code_of_conduct.rst:24
msgid "Примеры недопустимого поведения включают:"
msgstr ""
msgstr "Examples of unacceptable behavior include:"
#: ../../root/code_of_conduct.rst:26
msgid ""
"Троллинг, оскорбительные или уничижительные комментарии, а также личные "
"или политические нападки."
msgstr ""
"Trolling, insulting or derogatory comments, and personal or political attacks."
#: ../../root/code_of_conduct.rst:27
msgid "Публичное или частное преследование."
msgstr ""
msgstr "Public or private harassment."
#: ../../root/code_of_conduct.rst:28
msgid ""
"Публикация личной информации других лиц (например, физического или "
"электронного адреса) без их явного разрешения."
msgstr ""
"Publishing others' private information, such as a physical or email address, "
"without their explicit permission."
#: ../../root/code_of_conduct.rst:29
msgid ""
"Любое другое поведение, которое можно обоснованно считать неуместным в "
"профессиональной среде."
msgstr ""
"Other conduct which could reasonably be considered inappropriate in a "
"professional setting."
#: ../../root/code_of_conduct.rst:34
msgid "Наши обязанности"
msgstr ""
msgstr "Our Responsibilities"
#: ../../root/code_of_conduct.rst:36
msgid ""
@@ -104,6 +115,9 @@ msgid ""
"соблюдения стандартов приемлемого поведения и предпримут справедливые "
"корректирующие действия в ответ на любые случаи неприемлемого поведения."
msgstr ""
"Project maintainers are responsible for clarifying and enforcing standards of "
"acceptable behavior and will take appropriate and fair corrective action in "
"response to any instances of unacceptable behavior."
#: ../../root/code_of_conduct.rst:38
msgid ""
@@ -113,10 +127,14 @@ msgid ""
"временно или навсегда блокировать любого участника за поведение, которое "
"они сочтут неуместным, угрожающим, оскорбительным или вредным."
msgstr ""
"Project maintainers have the right and responsibility to remove, edit, or reject "
"comments, commits, code, wiki edits, issues, and other contributions that are not "
"aligned with this Code of Conduct, and will ban temporarily or permanently any "
"contributor for behaviors that they deem inappropriate, threatening, offensive, or harmful."
#: ../../root/code_of_conduct.rst:43
msgid "Сфера применения"
msgstr ""
msgstr "Scope"
#: ../../root/code_of_conduct.rst:45
msgid ""
@@ -127,10 +145,15 @@ msgid ""
"аккаунт в социальных сетях или выступление в качестве назначенного "
"представителя на онлайн- или офлайн-мероприятии."
msgstr ""
"This Code of Conduct applies both within project spaces and in public spaces "
"when an individual is officially representing the community. Examples of "
"representing the community include using an official project email address, "
"posting via an official social media account, or acting as an appointed "
"representative at an online or offline event."
#: ../../root/code_of_conduct.rst:50
msgid "Обеспечение соблюдения"
msgstr ""
msgstr "Enforcement"
#: ../../root/code_of_conduct.rst:52
msgid ""
@@ -139,14 +162,17 @@ msgid ""
"kolo.is.main@gmail.com. Все жалобы будут рассмотрены и расследованы "
"оперативно и справедливо."
msgstr ""
"Instances of abusive, harassing, or otherwise unacceptable behavior may be "
"reported to the project team at kolo.is.main@gmail.com. All complaints will be "
"reviewed and investigated promptly and fairly."
#: ../../root/code_of_conduct.rst:54
msgid "Команда проекта обязуется уважать частную жизнь и безопасность заявителя."
msgstr ""
msgstr "The project team is obligated to respect the privacy and security of the reporter."
#: ../../root/code_of_conduct.rst:59
msgid "Атрибуция"
msgstr ""
msgstr "Attribution"
#: ../../root/code_of_conduct.rst:61
msgid ""
@@ -156,102 +182,9 @@ msgid ""
"conduct/code_of_conduct.md>`__ и `2.0 <https://www.contributor-"
"covenant.org/version/2/0/code_of_conduct/code_of_conduct.md>`__."
msgstr ""
#~ msgid ""
#~ "В стремлении создать открытую и "
#~ "приветливую атмосферу, мы, как участники "
#~ "и мейнтейнеры, обязуемся сделать участие "
#~ "в нашем проекте и сообществе свободным"
#~ " от преследований для всех, независимо "
#~ "от возраста, телосложения, инвалидности, "
#~ "этнической принадлежности, половых характеристик,"
#~ " уровня опыта, образования, "
#~ "социально-экономического статуса, национальности, "
#~ "внешности, расы и религии."
#~ msgstr ""
#~ msgid ""
#~ "Примеры поведения, способствующего созданию "
#~ "позитивной среды для нашего сообщества, "
#~ "включают:"
#~ msgstr ""
#~ msgid "Проявление эмпатии и доброты по отношению к другим людям."
#~ msgstr ""
#~ msgid "Уважительное отношение к различным мнениям, точкам зрения и опыту."
#~ msgstr ""
#~ msgid ""
#~ "Принятие ответственности, извинения перед "
#~ "теми, кого затронули наши ошибки, и "
#~ "извлечение уроков из этого опыта."
#~ msgstr ""
#~ msgid ""
#~ "Сосредоточение на том, что лучше не "
#~ "только для нас как отдельных личностей,"
#~ " но и для всего сообщества в "
#~ "целом."
#~ msgstr ""
#~ msgid ""
#~ "Публикация личной информации других лиц, "
#~ "такой как физический или электронный "
#~ "адрес, без их явного разрешения."
#~ msgstr ""
#~ msgid ""
#~ "Иное поведение, которое можно обоснованно "
#~ "считать неуместным в профессиональной среде."
#~ msgstr ""
#~ msgid ""
#~ "Мейнтейнеры проекта несут ответственность за"
#~ " разъяснение и обеспечение соблюдения наших"
#~ " стандартов приемлемого поведения и "
#~ "предпримут соответствующие и справедливые "
#~ "корректирующие действия в ответ на любые"
#~ " случаи неприемлемого поведения."
#~ msgstr ""
#~ msgid ""
#~ "Мейнтейнеры проекта имеют право и "
#~ "обязанность удалять, редактировать или "
#~ "отклонять комментарии, коммиты, код, правки"
#~ " в вики, задачи и другие вклады, "
#~ "которые не соответствуют настоящему Кодексу"
#~ " поведения, или временно либо навсегда "
#~ "заблокировать любого участника за другое "
#~ "поведение, которое они сочтут неуместным, "
#~ "угрожающим, оскорбительным или вредным."
#~ msgstr ""
#~ msgid ""
#~ "Настоящий Кодекс поведения применяется во "
#~ "всех пространствах сообщества, а также "
#~ "когда человек официально представляет "
#~ "сообщество в публичных местах. Примеры "
#~ "представления нашего сообщества включают "
#~ "использование официального адреса электронной "
#~ "почты, публикации через официальный аккаунт"
#~ " в социальных сетях или выступление в"
#~ " качестве назначенного представителя на "
#~ "онлайн- или офлайн-мероприятии."
#~ msgstr ""
#~ msgid ""
#~ "О случаях оскорбительного, преследовательского "
#~ "или иного неприемлемого поведения можно "
#~ "сообщить руководителям сообщества, ответственным "
#~ "за обеспечение правоприменения, по адресу "
#~ ". Все жалобы будут рассмотрены и "
#~ "расследованы оперативно и справедливо."
#~ msgstr ""
#~ msgid ""
#~ "Все руководители сообщества обязаны уважать"
#~ " частную жизнь и безопасность заявителя "
#~ "любого инцидента."
#~ msgstr ""
"This Code of Conduct is adapted from the `Contributor Covenant "
"<https://www.contributor-covenant.org/>`__, version `1.4 <https://www"
".contributor-covenant.org/version/1/4/code-of-"
"conduct/code_of_conduct.md>`__ and `2.0 <https://www.contributor-"
"covenant.org/version/2/0/code_of_conduct/code_of_conduct.md>`__."
File diff suppressed because it is too large Load Diff
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -21,80 +21,86 @@ msgstr ""
#: ../../root/dependency_injection.rst:4
msgid "Внедрение зависимостей"
msgstr "Dependency Injection"
msgstr ""
#: ../../root/dependency_injection.rst:6
msgid ""
"Внедрение зависимостей (Dependency Injection, DI) — это паттерн "
"проектирования, который помогает писать слабосвязанный, легко тестируемый"
" и расширяемый код. Вместо того чтобы обработчики сами создавали нужные "
"им объекты (зависимости), они лишь объявляют их в качестве аргументов. В "
"момент вызова ``Argenta`` автоматически \"внедряет\" эти зависимости."
"им объекты (зависимости), они получают их извне."
msgstr ""
#: ../../root/dependency_injection.rst:8
msgid ""
"``Argenta`` использует библиотеку ``dishka`` для реализации DI, что "
"позволяет декларативно объявлять зависимости прямо в сигнатурах ваших "
"обработчиков. Подробнее о `DI`, `IoC` и API для создания провайдеров "
"обработчиков. Подробнее о **DI**, **IoC** и API для создания провайдеров "
"можно прочитать в `официальной документации dishka "
"<https://dishka.readthedocs.io/en/stable/di_intro.html>`_."
msgstr ""
#: ../../root/dependency_injection.rst:12
#: ../../root/dependency_injection.rst:14
msgid "Основная идея"
msgstr ""
#: ../../root/dependency_injection.rst:14
#: ../../root/dependency_injection.rst:16
msgid ""
"Представьте, что вашему обработчику для работы нужен доступ к базе "
"данных. Вместо импорта и инициализации соединения внутри функции, вы "
"просто объявляете его как аргумент с аннотацией типа:"
msgstr ""
#: ../../root/dependency_injection.rst:17
#: ../../root/dependency_injection.rst:19
msgid ""
"``argenta.di.FromDishka`` является псевдонимом для ``dishka.FromDishka``,"
" и они полностью взаимозаменяемы."
"``argenta.di.FromDishka`` является алиасом для ``dishka.FromDishka``, и "
"они полностью взаимозаменяемы."
msgstr ""
#: ../../root/dependency_injection.rst:23
#: ../../root/dependency_injection.rst:21
#: ../../root/dependency_injection.rst:29
#: ../../root/dependency_injection.rst:37
#: ../../root/dependency_injection.rst:60
msgid "**Пример использования:**"
msgstr ""
#: ../../root/dependency_injection.rst:27
msgid ""
"``Argenta`` с помощью ``dishka`` разрешит зависимость по типу "
"``Connection`` и внедрит её. Но прежде чем использовать зависимость, её "
"необходимо объявить в провайдере."
"необходимо объявить в провайдере:"
msgstr ""
#: ../../root/dependency_injection.rst:29
msgid "После создания провайдера его необходимо зарегистрировать в оркестраторе."
#: ../../root/dependency_injection.rst:35
msgid "После создания провайдера его необходимо зарегистрировать в оркестраторе:"
msgstr ""
#: ../../root/dependency_injection.rst:36
#: ../../root/dependency_injection.rst:46
msgid "Как это работает?"
msgstr ""
#: ../../root/dependency_injection.rst:38
#: ../../root/dependency_injection.rst:48
msgid "В основе DI в Argenta лежат **провайдеры** и **контейнер**."
msgstr ""
#: ../../root/dependency_injection.rst:40
#: ../../root/dependency_injection.rst:50
msgid ""
"**Провайдер (Provider)** — это \"рецепт\", который объясняет, как "
"**Провайдер (``Provider``)** — это \"рецепт\", который объясняет, как "
"создавать и настраивать ту или иную зависимость (например, подключение к "
"БД, API-клиент или любой другой сервис)."
msgstr ""
#: ../../root/dependency_injection.rst:41
#: ../../root/dependency_injection.rst:51
msgid ""
"**Контейнер (IoC Container)** — это \"фабрика\", которая хранит все "
"рецепты (провайдеры) и по запросу создаёт и выдаёт готовые зависимости."
msgstr ""
#: ../../root/dependency_injection.rst:44
#: ../../root/dependency_injection.rst:56
msgid "Встроенные провайдеры"
msgstr ""
#: ../../root/dependency_injection.rst:46
#: ../../root/dependency_injection.rst:58
msgid ""
"``Argenta`` поставляется со встроенным провайдером, который даёт доступ к"
" важным системным зависимостям без дополнительной настройки. Например, вы"
@@ -102,110 +108,24 @@ msgid ""
"командной строки, переданные при запуске приложения."
msgstr ""
#: ../../root/dependency_injection.rst:48
msgid ""
"Пример получения объекта ``ArgSpace`` и вывода в консоль значения "
"аргумента `type`:"
#: ../../root/dependency_injection.rst:69
msgid "Обмен данными между обработчиками"
msgstr ""
#: ../../root/dependency_injection.rst:55
msgid "Обмен данными между хендлерами"
msgstr ""
#: ../../root/dependency_injection.rst:57
#: ../../root/dependency_injection.rst:71
msgid ""
"Помимо DI, обработчики могут обмениваться данными в рамках сессии через "
"**объект контекста**. В ``Argenta`` эту роль выполняет объект "
"``Response``."
"``DataBridge``."
msgstr ""
#: ../../root/dependency_injection.rst:59
#: ../../root/dependency_injection.rst:73
msgid ""
"Каждый обработчик может записывать в него данные, а также читать, "
"обновлять и удалять их."
msgstr ""
#: ../../root/dependency_injection.rst:63
msgid "Подробнее об этом можно прочитать в разделе :ref:`root_api_response`."
#: ../../root/dependency_injection.rst:76
msgid "Подробнее об этом можно прочитать в разделе :ref:`root_api_bridge`."
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 ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -20,43 +20,40 @@ msgstr ""
"Generated-By: Babel 2.17.0\n"
#: ../../root/error_handling.rst:4
#, fuzzy
msgid "Стандартная обработка ошибок"
msgstr "Errors handling"
#: ../../root/error_handling.rst:7
msgid "О разделе"
msgid "Обработка ошибок"
msgstr ""
#: ../../root/error_handling.rst:9
#: ../../root/error_handling.rst:6
msgid ""
"Argenta выбрасывает исключения в пограничных случаях, связанных с "
"``Argenta`` выбрасывает исключения в пограничных случаях, связанных с "
"пользовательским вводом. По умолчанию они обрабатываются системными "
"хэндлерами, но вы можете их переопределить. Это делается с помощью "
"обработчиками, но вы можете их переопределить. Это делается с помощью "
"сеттеров экземпляра ``App`` вида ``.set_*_handler()``. Подробнее о каждом"
" из них рассказано :ref:`ниже <possible_errors>`."
msgstr ""
#: ../../root/error_handling.rst:13
#: ../../root/error_handling.rst:10
msgid ""
"Ни одно исключение не остаётся необработанным, так как для каждого случая"
" предусмотрен стандартный хэндлер. Поэтому переопределение является "
" предусмотрен стандартный обработчик. Поэтому переопределение является "
"опциональным."
msgstr ""
#: ../../root/error_handling.rst:15
msgid "Пример переопределения обработчика для пустой команды:"
#: ../../root/error_handling.rst:12 ../../root/error_handling.rst:37
#: ../../root/error_handling.rst:61 ../../root/error_handling.rst:82
#: ../../root/error_handling.rst:105 ../../root/error_handling.rst:126
msgid "**Пример использования:**"
msgstr ""
#: ../../root/error_handling.rst:25
#: ../../root/error_handling.rst:22
msgid "Возможные исключения и нестандартное поведение"
msgstr ""
#: ../../root/error_handling.rst:28
#: ../../root/error_handling.rst:25
msgid "``UnprocessedInputFlagException``: Некорректный синтаксис флагов"
msgstr ""
#: ../../root/error_handling.rst:30
#: ../../root/error_handling.rst:27
msgid ""
"Это исключение выбрасывается, когда парсер не может обработать команду "
"из-за некорректного синтаксиса. Чаще всего это связано с ошибкой в "
@@ -64,12 +61,12 @@ msgid ""
"<root_flags>`."
msgstr ""
#: ../../root/error_handling.rst:32 ../../root/error_handling.rst:56
#: ../../root/error_handling.rst:77 ../../root/error_handling.rst:98
msgid "Стандартный хэндлер выводит в консоль"
#: ../../root/error_handling.rst:29 ../../root/error_handling.rst:53
#: ../../root/error_handling.rst:74 ../../root/error_handling.rst:97
msgid "Стандартный обработчик выводит в консоль:"
msgstr ""
#: ../../root/error_handling.rst:38
#: ../../root/error_handling.rst:35
msgid ""
"Для переопределения используется сеттер "
"``.set_incorrect_input_syntax_handler()``. Он принимает на вход "
@@ -77,17 +74,11 @@ msgid ""
"аргумент — это строка с необработанной командой."
msgstr ""
#: ../../root/error_handling.rst:40
msgid ""
"Пример кода, переопределяющего хэндлер ввода команды с некорректным "
"синтаксисом:"
msgstr ""
#: ../../root/error_handling.rst:49
#: ../../root/error_handling.rst:46
msgid "``RepeatedInputFlagsException``: Повторяющиеся флаги в команде"
msgstr ""
#: ../../root/error_handling.rst:51
#: ../../root/error_handling.rst:48
msgid ""
"Исключение выбрасывается, если пользователь ввёл команду с повторяющимися"
" флагами. Два флага (:ref:`InputFlag <root_api_command_input_flag>`) "
@@ -95,13 +86,13 @@ msgid ""
"их синтаксисе — в разделе :ref:`Flags <root_flags>`."
msgstr ""
#: ../../root/error_handling.rst:54
#: ../../root/error_handling.rst:51
msgid ""
"Сравнение на равенство у регистрируемых флагов(Flag) происходит иначе, "
"подробнее в :ref:`Flag <root_flags>`."
"Сравнение на равенство у регистрируемых флагов (``Flag``) происходит "
"иначе, подробнее в :ref:`Flag <root_flags>`."
msgstr ""
#: ../../root/error_handling.rst:62
#: ../../root/error_handling.rst:59
msgid ""
"Для переопределения используется сеттер "
"``.set_repeated_input_flags_handler()``. Он принимает на вход обработчик "
@@ -109,46 +100,36 @@ msgid ""
"строка с необработанной командой."
msgstr ""
#: ../../root/error_handling.rst:64
msgid ""
"Пример кода, переопределяющего хэндлер ввода команды с повторяющимися "
"флагами:"
msgstr ""
#: ../../root/error_handling.rst:73
#: ../../root/error_handling.rst:70
msgid "``EmptyInputCommandException``: Введена пустая команда"
msgstr ""
#: ../../root/error_handling.rst:75
#: ../../root/error_handling.rst:72
msgid ""
"Исключение выбрасывается, если пользователь ввёл пустую строку или "
"строку, состоящую только из пробельных символов (``\\n``, ``\\t``, пробел"
" и т.д.)."
msgstr ""
#: ../../root/error_handling.rst:83
#: ../../root/error_handling.rst:80
msgid ""
"Для переопределения используется сеттер ``.set_empty_command_handler()``."
" Он принимает на вход обработчик с сигнатурой ``Callable[[], None]`` (без"
" аргументов)."
msgstr ""
#: ../../root/error_handling.rst:85
msgid "Пример кода, переопределяющего хэндлер ввода пустой команды:"
msgstr ""
#: ../../root/error_handling.rst:94
#: ../../root/error_handling.rst:93
msgid "Обработка неизвестной команды"
msgstr ""
#: ../../root/error_handling.rst:96
#: ../../root/error_handling.rst:95
msgid ""
"Это поведение активируется, когда пользователь вводит команду, которая не"
" зарегистрирована ни в одном из роутеров и не является псевдонимом "
"(alias) для существующей команды."
msgstr ""
#: ../../root/error_handling.rst:104
#: ../../root/error_handling.rst:103
msgid ""
"Для переопределения используется сеттер "
"``.set_unknown_command_handler()``. Он принимает на вход обработчик с "
@@ -156,469 +137,26 @@ msgid ""
":ref:`InputCommand <root_api_command_input_command>`."
msgstr ""
#: ../../root/error_handling.rst:106
msgid "Пример кода, переопределяющего хэндлер ввода неизвестной команды:"
msgstr ""
#: ../../root/error_handling.rst:115
#: ../../root/error_handling.rst:114
msgid "Выход из приложения"
msgstr ""
#: ../../root/error_handling.rst:117
#: ../../root/error_handling.rst:116
msgid ""
"Это поведение активируется, когда пользователь вводит команду, помеченную"
" как команда выхода."
msgstr ""
#: ../../root/error_handling.rst:119
msgid "Стандартный хэндлер выводит в консоль текст и завершает работу приложения."
#: ../../root/error_handling.rst:118
msgid ""
"Стандартный обработчик выводит в консоль текст и завершает работу "
"приложения:"
msgstr ""
#: ../../root/error_handling.rst:125
#: ../../root/error_handling.rst:124
msgid ""
"Для переопределения используется сеттер ``.set_exit_command_handler()``. "
"Он принимает на вход обработчик с сигнатурой ``Callable[[Response], "
"None]``, где аргумент — объект :ref:`Response <root_api_response>`."
msgstr ""
#: ../../root/error_handling.rst:127
msgid "Пример кода, переопределяющего хэндлер ввода команды выхода:"
msgstr ""
#~ msgid "привет"
#~ msgstr ""
#~ msgid ""
#~ "``Argenta`` в рантайме вызывает исключения "
#~ "в пограничных случаях. Подробнее о типах"
#~ " исключений :ref:`ниже <possible_errors>`. Все"
#~ " исключения обрабатываются системными хэндлерами,"
#~ " но у вас есть возможность их "
#~ "переопределить. Переопределение осуществляется с "
#~ "помощью сеттеров инстанса ``App`` - "
#~ "``.set_*_handler(_)``, где ``_`` - это "
#~ "протокол хэндлера нестандартного поведения, "
#~ "подробнее о каждом протоколе и "
#~ "соответствующем сеттере :ref:`ниже "
#~ "<possible_errors>`"
#~ msgstr ""
#~ msgid "UnprocessedInputFlagException: Необрабатываемый ввод от пользователя"
#~ msgstr ""
#~ msgid ""
#~ "Исключение вызывается, когда пользователь "
#~ "вводит команду с некорректным синтаксисом "
#~ "и парсер не может *распарсить* её. "
#~ "В большинстве случаев это означат, что"
#~ " проблема в синтаксисе введённых флагов "
#~ "команды, подробнее в"
#~ msgstr ""
#~ msgid ""
#~ "This error means that one of the"
#~ " objects cannot be created because "
#~ "some of its dependencies depend on "
#~ "itself. You can see the whole path"
#~ " in the error message with types "
#~ "and provider methods."
#~ msgstr ""
#~ msgid "Possible actions:"
#~ msgstr ""
#~ msgid ""
#~ "**Remove cycle dependency.** If the "
#~ "cycle was introduced as a result "
#~ "of typo you can fix it. But "
#~ "in other cases this can lead to"
#~ " a refactoring of your object "
#~ "structure"
#~ msgstr ""
#~ msgid ""
#~ "**Implement two-phase initialization.** "
#~ "Instead of doing constructor injection "
#~ "using dishka you can do attribute "
#~ "injection later when both objects are"
#~ " available."
#~ msgstr ""
#~ msgid "GraphMissingFactoryError: Cannot find factory for ..."
#~ msgstr ""
#~ msgid ""
#~ "There are multiple reasons for this "
#~ "error. If possible, dishka tries to "
#~ "predict possible fixes."
#~ msgstr ""
#~ msgid ""
#~ "**Factory is simply missing.** Check "
#~ "that you added all required providers"
#~ " and they contain appropriate ``provide``."
#~ msgstr ""
#~ msgid ""
#~ "**Context data is not marked with "
#~ "from_context** Check that you added all"
#~ " required providers and they contain "
#~ "appropriate ``from_context``."
#~ msgstr ""
#~ msgid ""
#~ "**Object has invalid scope** Check the"
#~ " scope of provided type and the "
#~ "types dependent on it. Note, that "
#~ "long-living objects cannot depend on "
#~ "short-living ones. E.g. object with "
#~ "``Scope.APP`` cannot depend on one with"
#~ " ``Scope.REQUEST``."
#~ msgstr ""
#~ msgid "You should review used scopes."
#~ msgstr ""
#~ msgid ""
#~ "**Object is provided in another "
#~ "component** Components are isolated and "
#~ "cannot implicitly share objects. You "
#~ "should either use ``FromComponent`` to "
#~ "call another component directly or "
#~ "create object separately for appropriate "
#~ "component using ``provide`` annotation"
#~ msgstr ""
#~ msgid ""
#~ "**Dependency is parent class while "
#~ "provided child class (or vice versa)**"
#~ " Use ``provides=`` argument to mark "
#~ "that source and provided types are "
#~ "different. Use ``WithParents[X]`` to provide"
#~ " an object as its type with "
#~ "parent classes"
#~ msgstr ""
#~ msgid "CannotUseProtocolError: Cannot use ... as a factory"
#~ msgstr ""
#~ msgid ""
#~ "This error means that you used "
#~ "some protocol class as a source "
#~ "argument of ``provide`` function. Protocols"
#~ " cannot be instantiated. Check that "
#~ "you have an implementation for that "
#~ "protocol, and use it. You can try"
#~ " using the form ``provide(YourImpl, "
#~ "provides=YourProtocol)``."
#~ msgstr ""
#~ msgid "NotAFactoryError: Cannot use ... as a factory."
#~ msgstr ""
#~ msgid ""
#~ "Check what are you passing to "
#~ "``provide`` function. Probably that object "
#~ "cannot be instantiated directly."
#~ msgstr ""
#~ msgid ""
#~ "Note, that you can provide some "
#~ "type by creating an instance of "
#~ "another one using the form "
#~ "``provide(YourClass, provides=SomeTypeHint)``."
#~ msgstr ""
#~ msgid "ImplicitOverrideDetectedError: Detected multiple factories for ..."
#~ msgstr ""
#~ msgid ""
#~ "This error can be seen only if "
#~ "you enabled ``implicit_override=True`` in "
#~ "validation settings. It means that you"
#~ " have 2 factories for the same "
#~ "type without specifying that the second"
#~ " one should replace the first one."
#~ msgstr ""
#~ msgid "**You meant to have one of factories**. Just remove the second one."
#~ msgstr ""
#~ msgid ""
#~ "**You want to override dependency for"
#~ " tests or other purposes**. Specify "
#~ "``override=True`` when creating second "
#~ "factory."
#~ msgstr ""
#~ msgid "Error text will contain details on both option with names of providers."
#~ msgstr ""
#~ msgid ""
#~ "NothingOverriddenError: Overriding factory found "
#~ "for ..., but there is nothing to"
#~ " override."
#~ msgstr ""
#~ msgid ""
#~ "This error can be seen only if "
#~ "you enabled ``nothing_overridden=True`` in "
#~ "validation settings. That means you set"
#~ " ``override=True``, but there is no "
#~ "second factory to be overriden or "
#~ "the order of providers is incorrect."
#~ msgstr ""
#~ msgid ""
#~ "Check, that you have specified all "
#~ "expected providers in correct order or"
#~ " remove the flag."
#~ msgstr ""
#~ msgid ""
#~ "IndependentDecoratorError: Decorator ... does "
#~ "not depend on provided type."
#~ msgstr ""
#~ msgid ""
#~ "Using ``decorate`` is a special case "
#~ "if you need to apply decorator "
#~ "patter or do modifications with an "
#~ "object created in another provider. Is"
#~ " requests an object of some type "
#~ "(additional dependencies are allowed) and "
#~ "returns the same type."
#~ msgstr ""
#~ msgid ""
#~ "If you are not going to use "
#~ "an object received from another factory,"
#~ " probably you meant to use simple "
#~ "``provide`` instead?"
#~ msgstr ""
#~ msgid "Возможные исключения"
#~ msgstr ""
#~ msgid "``UnknownCommandException``: Введена неизвестная команда"
#~ msgstr ""
#~ msgid ""
#~ "Исключение вызывается, когда пользователь "
#~ "вводит команду, которая не зарегистрирована"
#~ " ни в одном роутере и не "
#~ "является алиасом ни для одной "
#~ "зарегистрированной команды."
#~ msgstr ""
#~ msgid "Конфигурация"
#~ msgstr ""
#~ msgid ""
#~ "Исключение вызывается, когда пользователь "
#~ "вводит команду с некорректным синтаксисом "
#~ "и парсер не может *распарсить* её. "
#~ "В большинстве случаев это означат, что"
#~ " проблема в синтаксисе введённых флагов "
#~ "команды, подробнее о флагах и их "
#~ "синтаксисе в :ref:`Flags <root_flags>`."
#~ msgstr ""
#~ msgid ""
#~ "Исключение вызывается, когда пользователь "
#~ "вводит команду с повторяющимся флагом, "
#~ "флаг(:ref:`InputFlag <input_flag>`) считается "
#~ "повторяющимся, если введён флаг с таким"
#~ " же именем, именно именем, без "
#~ "префикса. Подробнее о флагах и их "
#~ "синтаксисе в :ref:`Flags <root_flags>`."
#~ msgstr ""
#~ msgid ""
#~ "Для переопределения стандартного поведения "
#~ "используется сеттер ``.set_exit_command_handler(_: "
#~ "NonStandardBehaviorHandler[Response])``, протокол "
#~ "``NonStandardBehaviorHandler[Response]`` соответствует "
#~ "``Callable[[Response], None]``, то есть "
#~ "хэндлер должен быть вызываемым объектом, "
#~ "к примеру функция или лямбда, которая"
#~ " принимает обязательный аргумент типа "
#~ ":ref:`Response <response>` и ничего не "
#~ "возвращает."
#~ msgstr ""
#~ msgid ""
#~ "``Argenta`` в рантайме вызывает исключения "
#~ "в пограничных случаях пользовательского ввода."
#~ " Все исключения обрабатываются системными "
#~ "хэндлерами, но у вас есть возможность"
#~ " их переопределить. Переопределение "
#~ "осуществляется с помощью сеттеров инстанса "
#~ "``App`` - ``.set_*_handler(_)``, где ``_`` "
#~ "- это протокол хэндлера нестандартного "
#~ "поведения, подробнее о каждом протоколе "
#~ "и соответствующем сеттере :ref:`ниже "
#~ "<possible_errors>`"
#~ msgstr ""
#~ msgid ""
#~ "Все исключения никогда не остаются "
#~ "необработанными, так как у них есть "
#~ "стандартные хэндлеры. Поэтому переопределение "
#~ "опционально."
#~ msgstr ""
#~ msgid "Краткий сэмпл кода, переопределяющего хэндлер ввода пустой команды"
#~ msgstr ""
#~ msgid ""
#~ "``UnprocessedInputFlagException``: Необрабатываемый ввод"
#~ " от пользователя"
#~ msgstr ""
#~ msgid ""
#~ "Исключение вызывается, когда пользователь "
#~ "вводит команду с некорректным синтаксисом "
#~ "и как следствие парсер не может "
#~ "*распарсить* её. В большинстве случаев "
#~ "это означат, что проблема в синтаксисе"
#~ " введённых флагов команды, подробнее о "
#~ "флагах и их синтаксисе в :ref:`Flags "
#~ "<root_flags>`."
#~ msgstr ""
#~ msgid "Дефолтный хэндлер выводит в консоль"
#~ msgstr ""
#~ msgid ""
#~ "Для переопределения стандартного поведения "
#~ "используется сеттер "
#~ "``.set_incorrect_input_syntax_handler(_: "
#~ "NonStandardBehaviorHandler[str])``, протокол "
#~ "``NonStandardBehaviorHandler[str]`` соответствует "
#~ "``Callable[[str], None]``, то есть хэндлер "
#~ "должен быть вызываемым объектом, к "
#~ "примеру функция или лямбда, которая "
#~ "принимает единственный аргумент - строку, "
#~ "которая представляет собой необработанную "
#~ "введённую команду, и ничего не "
#~ "возвращает."
#~ msgstr ""
#~ msgid ""
#~ "Сэмпл кода, переопределяющего хэндлер ввода"
#~ " команды с некорректным синтаксисом:"
#~ msgstr ""
#~ msgid "``RepeatedInputFlagsException``: Повторяющийся флаг в введённой команде"
#~ msgstr ""
#~ msgid ""
#~ "Исключение вызывается, когда пользователь "
#~ "вводит команду с повторяющимся флагом, "
#~ "пара введённых флагов(:ref:`InputFlag "
#~ "<root_api_command_input_flag>`) считается равной, "
#~ "если у них одинаковые имена. Подробнее"
#~ " о флагах и их синтаксисе в "
#~ ":ref:`Flags <root_flags>`."
#~ msgstr ""
#~ msgid ""
#~ "Для переопределения стандартного поведения "
#~ "используется сеттер ``.set_repeated_input_flags_handler(_:"
#~ " NonStandardBehaviorHandler[str])``, протокол "
#~ "``NonStandardBehaviorHandler[str]`` соответствует "
#~ "``Callable[[str], None]``, то есть хэндлер "
#~ "должен быть вызываемым объектом, к "
#~ "примеру функция или лямбда, которая "
#~ "принимает единственный аргумент - строку, "
#~ "которая представляет собой необработанную "
#~ "введённую команду, и ничего не "
#~ "возвращает."
#~ msgstr ""
#~ msgid ""
#~ "Сэмпл кода, переопределяющего хэндлер ввода"
#~ " команды с повторяющимися флагами:"
#~ msgstr ""
#~ msgid ""
#~ "Исключение вызывается, когда пользователь "
#~ "вводит команду в виде строки из "
#~ "пробельных символов - ``\\n``, ``\\t``, "
#~ "пробел и т.д."
#~ msgstr ""
#~ msgid ""
#~ "Для переопределения стандартного поведения "
#~ "используется сеттер ``.set_empty_command_handler(_: "
#~ "EmptyCommandHandler)``, протокол ``EmptyCommandHandler``"
#~ " соответствует ``Callable[[], None]``, то "
#~ "есть хэндлер должен быть вызываемым "
#~ "объектом, к примеру функция или лямбда,"
#~ " которая не принимает аргументов и "
#~ "ничего не возвращает."
#~ msgstr ""
#~ msgid "Сэмпл кода, переопределяющего хэндлер ввода пустой команды:"
#~ msgstr ""
#~ msgid ""
#~ "``Поведение обработки неизвестной команды``: "
#~ "Введена неизвестная команда"
#~ msgstr ""
#~ msgid ""
#~ "Поведение триггерится, когда пользователь "
#~ "вводит команду, которая не зарегистрирована"
#~ " ни в одном роутере и не "
#~ "является алиасом ни для одной "
#~ "зарегистрированной команды."
#~ msgstr ""
#~ msgid ""
#~ "Для переопределения стандартного поведения "
#~ "используется сеттер ``.set_unknown_command_handler(_: "
#~ "NonStandardBehaviorHandler[InputCommand])``, протокол "
#~ "``NonStandardBehaviorHandler[InputCommand]`` соответствует "
#~ "``Callable[[InputCommand], None]``, то есть "
#~ "хэндлер должен быть вызываемым объектом, "
#~ "к примеру функция или лямбда, которая"
#~ " принимает обязательный аргумент типа "
#~ ":ref:`InputCommand <input_command>` и ничего "
#~ "не возвращает."
#~ msgstr ""
#~ msgid "Сэмпл кода, переопределяющего хэндлер ввода неизвестной команды:"
#~ msgstr ""
#~ msgid "``Поведение выхода из приложения``: Введена команда выхода"
#~ msgstr ""
#~ msgid ""
#~ "Поведение триггерится, когда пользователь "
#~ "вводит команду, которая маркирована как "
#~ "команда завершения работы."
#~ msgstr ""
#~ msgid ""
#~ "Дефолтный хэндлер выводит в консоль "
#~ "текст и завершает работу приложения."
#~ msgstr ""
#~ msgid ""
#~ "Для переопределения стандартного поведения "
#~ "используется сеттер ``.set_exit_command_handler(_: "
#~ "NonStandardBehaviorHandler[Response])``, протокол "
#~ "``NonStandardBehaviorHandler[Response]`` соответствует "
#~ "``Callable[[Response], None]``, то есть "
#~ "хэндлер должен быть вызываемым объектом, "
#~ "к примеру функция или лямбда, которая"
#~ " принимает обязательный аргумент типа "
#~ ":ref:`Response <root_api_response>` и ничего "
#~ "не возвращает."
#~ msgstr ""
#~ msgid "Сэмпл кода, переопределяющего хэндлер ввода команды выхода:"
#~ msgstr ""
+224 -89
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -25,36 +25,140 @@ msgstr ""
#: ../../root/flags.rst:6
msgid ""
"Флаги (или параметры) — это специальные аргументы, которые пользователь "
"может добавлять к командам для управления их поведением."
"Флаги — это специальные параметры, которые пользователь может добавлять к"
" командам для управления их поведением."
msgstr ""
#: ../../root/flags.rst:11
msgid "Синтаксис флагов"
#: ../../root/flags.rst:9
msgid "Зачем нужны флаги в командах"
msgstr ""
#: ../../root/flags.rst:13
msgid "Общий синтаксис выглядит так:"
#: ../../root/flags.rst:12
msgid "Управление поведением команды"
msgstr ""
#: ../../root/flags.rst:14
msgid ""
"Основная цель флагов — предоставить способ изменить логику работы команды"
" без её переработки. Команда может работать в нескольких режимах: "
"стандартном, подробном, отладочном или упрощённом. Флаги переключают эти "
"режимы по требованию пользователя, оставляя основную функциональность "
"неизменной."
msgstr ""
#: ../../root/flags.rst:17
msgid "Опциональность и удобство"
msgstr ""
#: ../../root/flags.rst:19
msgid ""
"Флаги решают проблему обязательности параметров. Если все параметры "
"команды сделать обязательными, это затруднит использование команды. Флаги"
" же позволяют задать значения только необходимые в конкретной ситуации, "
"остальные используют значения по умолчанию."
msgstr ""
#: ../../root/flags.rst:22
msgid "Когда могут понадобиться флаги"
msgstr ""
#: ../../root/flags.rst:24
msgid "**Переключение режимов работы**"
msgstr ""
#: ../../root/flags.rst:25
msgid ""
"Команда выполняет развёртывание приложения обычно, но нужен режим без "
"фактического развёртывания (dry-run) для проверки. Флаг ``--dry-run`` "
"переключит режим работы."
msgstr ""
#: ../../root/flags.rst:27
msgid "**Настройка уровня детальности**"
msgstr ""
#: ../../root/flags.rst:28
msgid ""
"При отладке или анализе требуется больше информации о процессе выполнения"
" команды. Флаги ``--verbose`` или ``--debug`` предоставляют подробный "
"вывод."
msgstr ""
#: ../../root/flags.rst:30
msgid "**Управление поведением при ошибках**"
msgstr ""
#: ../../root/flags.rst:31
msgid ""
"По умолчанию команда может прерваться при первой ошибке. Флаг ``--force``"
" позволит продолжить работу, пропуская некритичные ошибки."
msgstr ""
#: ../../root/flags.rst:33
msgid "**Форматирование вывода**"
msgstr ""
#: ../../root/flags.rst:34
msgid ""
"Команда выводит данные текстом, но в некоторых сценариях нужен JSON или "
"CSV. Флаг ``--format=json`` переключит формат вывода."
msgstr ""
#: ../../root/flags.rst:36
msgid "**Комбинирование опций**"
msgstr ""
#: ../../root/flags.rst:37
msgid ""
"Часто нужна комбинация нескольких изменений: подробный вывод, dry-run "
"режим и JSON формат. Несколько флагов решают эту задачу одновременно."
msgstr ""
#: ../../root/flags.rst:40
msgid "Практическое значение"
msgstr ""
#: ../../root/flags.rst:42
msgid ""
"Флаги делают команды более предсказуемыми и контролируемыми. Пользователь"
" может начать с простого использования, а затем добавлять флаги по мере "
"необходимости. Это особенно важно при автоматизации задач в скриптах, где"
" гибкость интерфейса критична."
msgstr ""
#: ../../root/flags.rst:44
msgid ""
"Флаги также облегчают интеграцию команд в различные системы, так как "
"дополнительное поведение достигается без изменения структуры команды, а "
"только через передачу опциональных параметров."
msgstr ""
#: ../../root/flags.rst:49
msgid "Синтаксис флагов"
msgstr ""
#: ../../root/flags.rst:51
msgid "Общий синтаксис выглядит так:"
msgstr ""
#: ../../root/flags.rst:57
msgid ""
"Флаг состоит из префикса (``-``, ``--`` или ``---``), имени и, "
"опционально, значения, которое указывается через пробел."
msgstr ""
#: ../../root/flags.rst:24
#: ../../root/flags.rst:62
msgid "Два типа флагов"
msgstr ""
#: ../../root/flags.rst:26
#: ../../root/flags.rst:64
msgid ""
"Флаги бывают двух основных видов: без значений (переключатели) и со "
"значениями. ``Argenta`` позволяет регистрировать и вводить флаги обоих "
"типов в любой последовательности для одной команды."
msgstr ""
#: ../../root/flags.rst:29
#: ../../root/flags.rst:67
msgid ""
"Ошибки валидации не выбрасывают исключений. Вместо этого у каждого "
"объекта :ref:`InputFlag <root_api_command_input_flag>` есть атрибут "
@@ -63,114 +167,145 @@ msgid ""
" <root_api_command_flag>`."
msgstr ""
#: ../../root/flags.rst:31
#: ../../root/flags.rst:69
msgid ""
"При регистрации флага можно задать правила валидации для его значения. По"
" умолчанию любое значение считается корректным. Валидацию можно настроить"
" несколькими способами:"
msgstr ""
#: ../../root/flags.rst:36
msgid "Ограничение по списку возможных значений"
#: ../../root/flags.rst:74
msgid "Флаги против аргументов"
msgstr ""
#: ../../root/flags.rst:38
msgid "Вы можете заранее определить список допустимых значений для флага."
msgstr ""
#: ../../root/flags.rst:40
#: ../../root/flags.rst:76
msgid ""
"Предположим, у вас есть флаг ``--format``, который может принимать только"
" значения ``json`` или ``xml``."
"В контексте Argenta флаги и аргументы относятся к разным уровням "
"взаимодействия с приложением и имеют принципиально разные сферы действия."
msgstr ""
#: ../../root/flags.rst:54
msgid "Проверка с помощью регулярных выражений"
#: ../../root/flags.rst:79
msgid "Определение и назначение"
msgstr ""
#: ../../root/flags.rst:56
#: ../../root/flags.rst:81
msgid ""
"Для более сложных проверок можно использовать регулярные выражения. Это "
"полезно, когда значение должно соответствовать определённому формату "
"(например, email-адрес, дата или номер телефона)."
"**Аргументы** — это параметры, передаваемые при запуске приложения один "
"раз при инициализации. Они определяют глобальное состояние и конфигурацию"
" приложения на протяжении всей его работы, например адрес базы данных, "
"уровень логирования или режим работы."
msgstr ""
#: ../../root/flags.rst:58
#: ../../root/flags.rst:83
msgid ""
"Допустим, флаг ``--email`` должен принимать только корректные "
"email-адреса."
"API и более подробное описание в разделах :ref:`ArgParser "
"<root_api_orchestrator_argparser>` и :ref:`Arguments "
"<root_api_orchestrator_arguments>`."
msgstr ""
#: ../../root/flags.rst:69
#: ../../root/flags.rst:85
msgid ""
"Встроенная валидация избавляет от необходимости писать проверки вручную и"
" делает код более декларативным."
"**Флаги** — это параметры командных операций, доступные в рамках "
"интерактивной сессии при вводе каждой новой команды. Они позволяют "
"модифицировать поведение конкретной команды без перезагрузки приложения."
msgstr ""
#~ msgid "Флаги"
#~ msgstr ""
#: ../../root/flags.rst:87
msgid ""
"API и более подробное описание в разделе :ref:`Flag "
"<root_api_command_flag>`."
msgstr ""
#~ msgid ""
#~ "Флаги (или параметры) — это специальные"
#~ " аргументы, которые конечный юзер может "
#~ "добавлять к командам, чтобы управлять их"
#~ " поведением."
#~ msgstr ""
#: ../../root/flags.rst:92
msgid "Ключевые различия"
msgstr ""
#~ msgid "Обобщённый синтаксис выглядит так:"
#~ msgstr ""
#: ../../root/flags.rst:94
msgid "**Время жизни и область действия**"
msgstr ""
#~ msgid ""
#~ "То есть, у флага обязательно должен "
#~ "быть префикс, который может быть одним,"
#~ " двум или трем минусам. После "
#~ "префикса следует имя флага, без пробела,"
#~ " после, через пробел, идёт значение "
#~ "флага, если оно есть."
#~ msgstr ""
#: ../../root/flags.rst:95
msgid ""
"Аргументы передаются один раз при запуске приложения и сохраняют действие"
" на весь период работы (скоуп **APP**). Флаги наоборот локальны и живут в"
" рамках скоупа **REQUEST**."
msgstr ""
#~ msgid ""
#~ "Флаги бывают двух основных видов: без"
#~ " значений (переключатели) и со значениями."
#~ " ``Argenta`` позволяет регистрировать и "
#~ "вводить флаги обоих типов в любой "
#~ "последовательности для одной команды."
#~ msgstr ""
#: ../../root/flags.rst:97
msgid "**Частота изменения**"
msgstr ""
#~ msgid ""
#~ "Ошибки валидации значений являются пассивными,"
#~ " их не нужно обрабатывать явно. У "
#~ "каждого инстанса :ref:`InputFlag "
#~ "<root_api_command_input_flag>` есть поле ``status``,"
#~ " по которому можно определить результат "
#~ "валидации флага. **Конкретная реализация и "
#~ "описание API вы можете найти в "
#~ "разделе** :ref:`Flag <root_api_command_flag>`."
#~ msgstr ""
#: ../../root/flags.rst:98
msgid ""
"Для изменения аргументов необходимо перезапустить приложение. Флаги можно"
" менять между каждым вводом команды без остановки приложения."
msgstr ""
#~ msgid ""
#~ "При регистрации флага вы можете указать"
#~ " допустимые для него значения, по "
#~ "умолчанию любое введённое значение для "
#~ "флага будет валидным. Допустимые значения "
#~ "можно указать различными способами:"
#~ msgstr ""
#: ../../root/flags.rst:100
msgid "**Уровень конфигурации**"
msgstr ""
#~ msgid "**Пример:**"
#~ msgstr ""
#: ../../root/flags.rst:101
msgid ""
"Аргументы управляют глобальной конфигурацией приложения и его окружением."
" Флаги управляют поведением отдельных команд и операций пользователя."
msgstr ""
#~ msgid ""
#~ "Для более сложных проверок вы можете "
#~ "использовать регулярные выражения. Это "
#~ "особенно полезно, когда значение должно "
#~ "соответствовать определённому формату, например, "
#~ "быть email-адресом, датой или номером "
#~ "телефона."
#~ msgstr ""
#: ../../root/flags.rst:103
msgid "**Использование**"
msgstr ""
#~ msgid ""
#~ "Встроенная валидация избавляет вас от "
#~ "необходимости писать ручные проверки и "
#~ "делает ваш код более декларативным."
#~ msgstr ""
#: ../../root/flags.rst:104
msgid ""
"Аргументы задают начальное состояние системы: что подключить, как "
"работать. Флаги управляют тактикой выполнения команд: как её выполнить, с"
" какими изменениями."
msgstr ""
#: ../../root/flags.rst:109
msgid "Практические примеры в Argenta"
msgstr ""
#: ../../root/flags.rst:111
msgid "При запуске приложения Argenta передаются аргументы:"
msgstr ""
#: ../../root/flags.rst:113
msgid "Адрес подключения к базе данных"
msgstr ""
#: ../../root/flags.rst:114
msgid "Режим работы (production, development, testing)"
msgstr ""
#: ../../root/flags.rst:115
msgid "Уровень логирования"
msgstr ""
#: ../../root/flags.rst:116
msgid "Путь к конфигурационным файлам"
msgstr ""
#: ../../root/flags.rst:118
msgid "В интерактивной сессии для каждой команды указываются флаги:"
msgstr ""
#: ../../root/flags.rst:120
msgid "``deploy --verbose --dry-run`` — для текущей команды развёртывания"
msgstr ""
#: ../../root/flags.rst:121
msgid "``backup --compress --encrypted`` — для команды резервного копирования"
msgstr ""
#: ../../root/flags.rst:122
msgid "``test --parallel --coverage`` — для команды тестирования"
msgstr ""
#: ../../root/flags.rst:124
msgid ""
"Один пользователь может выполнить разные команды с разными флагами в "
"одной сессии приложения, без необходимости перезапуска с новыми "
"аргументами."
msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -20,9 +20,8 @@ msgstr ""
"Generated-By: Babel 2.17.0\n"
#: ../../root/overriding_formatting.rst:4
#, fuzzy
msgid "Управление форматированием вывода"
msgstr "Overriding formatting"
msgid "Форматирование вывода"
msgstr ""
#: ../../root/overriding_formatting.rst:6
msgid ""
@@ -32,43 +31,34 @@ msgid ""
"визуальное восприятие информации."
msgstr ""
#: ../../root/overriding_formatting.rst:8
msgid ""
"Системные сообщения выводятся с помощью метода ``print`` объекта "
"``rich.console.Console``, который имеет интерфейс, совместимый со "
"встроенной функцией ``print``."
#: ../../root/overriding_formatting.rst:11
msgid "Управление стандартным форматированием"
msgstr ""
#: ../../root/overriding_formatting.rst:13
#, fuzzy
msgid "Управление стандартным форматированием"
msgstr "Overriding formatting"
#: ../../root/overriding_formatting.rst:15
msgid ""
"При создании экземпляра ``App`` можно использовать параметр "
"``override_system_messages: bool`` (по умолчанию ``False``), который "
"позволяет отключать стандартное форматирование."
msgstr ""
#: ../../root/overriding_formatting.rst:17
#: ../../root/overriding_formatting.rst:15
msgid ""
"Если установить его в ``True``, стилизация текста и ASCII-арт будут "
"отключены, а системные сообщения — выводиться в «сыром» виде."
msgstr ""
#: ../../root/overriding_formatting.rst:22
#: ../../root/overriding_formatting.rst:20
msgid "Приветственное и прощальное сообщения"
msgstr ""
#: ../../root/overriding_formatting.rst:24
#: ../../root/overriding_formatting.rst:22
msgid ""
"Приветственное (``initial_message``) и прощальное (``farewell_message``) "
"сообщения по умолчанию выводятся в виде ASCII-графики с помощью "
"библиотеки ``art`` (а именно, функции ``text2art``)."
"сообщения по умолчанию выводятся в виде ASCII-графики."
msgstr ""
#: ../../root/overriding_formatting.rst:27
#: ../../root/overriding_formatting.rst:25
msgid ""
"Библиотека ``art`` ориентирована на работу с ASCII-символами и **не "
"поддерживает кириллицу**. Это приводит к искажению символов русского и "
@@ -78,112 +68,30 @@ msgid ""
"символы."
msgstr ""
#: ../../root/overriding_formatting.rst:32
#: ../../root/overriding_formatting.rst:30
msgid "Кастомизация вывода"
msgstr ""
#: ../../root/overriding_formatting.rst:32
msgid ""
"Для полной замены логики вывода текста в конструкторе ``App`` "
"предусмотрен параметр ``print_func``."
msgstr ""
#: ../../root/overriding_formatting.rst:34
msgid ""
"Для полной замены логики вывода в конструкторе ``App`` предусмотрен "
"параметр ``print_func``."
msgstr ""
#: ../../root/overriding_formatting.rst:36
msgid ""
"**print_func**: ``Callable[[str], None]`` Этот параметр позволяет "
"передать любую вызываемую сущность (например, функцию), которая будет "
"использоваться для вывода всех системных сообщений. По умолчанию это "
"обёртка над ``rich.console.Console().print``. Вы можете передать сюда "
"свою функцию, чтобы, например, логировать вывод в файл или отправлять его"
" по сети."
"``rich.console.Console().print``. Вы можете передать сюда свою функцию, "
"чтобы, например, логировать вывод в файл или отправлять его по сети."
msgstr ""
#: ../../root/overriding_formatting.rst:40
msgid "Пример использования"
#: ../../root/overriding_formatting.rst:38
msgid ""
"При переопределении функции вывода вам следует убедиться, что она "
"поддерживает разметку ``rich``, иначе системные сообщения будут "
"выводиться в сыром виде, в этом случае рекомендуется переопределить "
"стандартное форматирование с помощью ``override_system_messages=True``."
msgstr ""
#~ msgid "ндааааааааааааааа"
#~ msgstr ""
#~ msgid "Стандартное форматирование"
#~ msgstr "Overriding formatting"
#~ msgid ""
#~ "По умолчанию в ``Argenta`` используется "
#~ "библиотека ``rich`` для вывода текста с"
#~ " расширенным форматированием в консоли. "
#~ "``rich`` позволяет применять цвета, стили "
#~ "(жирный, курсив, подчеркнутый), составлять "
#~ "таблицы, выделять синтаксис кода и "
#~ "многое другое, что значительно улучшает "
#~ "визуальное восприятие текста."
#~ msgstr ""
#~ msgid ""
#~ "Вывод системных сообщений производится с "
#~ "помощью метода ``print`` объекта ``Console``"
#~ " из библиотеки ``rich``, который обладает"
#~ " интерфейсом, совместимым со встроенной "
#~ "функцией ``print``."
#~ msgstr ""
#~ msgid ""
#~ "При создании экземпляра класса ``App`` "
#~ "предусмотрен параметр ``override_system_messages`` "
#~ "типа ``bool`` (по умолчанию ``False``), "
#~ "который позволяет включать или отключать "
#~ "стандартное форматирование системных сообщений."
#~ msgstr ""
#~ msgid ""
#~ "Если установить этот флаг в ``True``,"
#~ " стандартное форматирование, применяемое по "
#~ "умолчанию (например, стилизация текста и "
#~ "ASCII-арт), будет отключено, и системные "
#~ "сообщения будут выводиться в \"сыром\" "
#~ "виде, без дополнительных стилей."
#~ msgstr ""
#~ msgid ""
#~ "Приветственное (``initial_message``) и прощальное"
#~ " (``farewell_message``) сообщения по умолчанию"
#~ " формируются как ASCII-графика с помощью"
#~ " библиотеки ``art``. В частности, "
#~ "используется функция ``text2art``, которая "
#~ "преобразует обычный текст в стилизованное "
#~ "ASCII-арт изображение."
#~ msgstr ""
#~ msgid ""
#~ "Библиотека ``art`` ориентирована на работу "
#~ "с ASCII-символами и **не поддерживает "
#~ "корректный вывод кириллицы**. Это приводит "
#~ "к искажению или некорректному отображению "
#~ "символов русского и других кириллических "
#~ "алфавитов. Если ваше приветственное сообщение"
#~ " содержит кириллицу, рекомендуется отключить "
#~ "стандартное форматирование с помощью "
#~ "``override_system_messages=True`` или использовать "
#~ "только латинские символы."
#~ msgstr ""
#~ msgid ""
#~ "Для полной замены логики вывода "
#~ "сообщений в конструкторе ``App`` доступен "
#~ "параметр ``print_func``."
#~ msgstr ""
#~ msgid ""
#~ "**print_func**: ``Printer`` - Протокол "
#~ "``Printer`` соответствует ``Callable[[str], None]``."
#~ " Этот параметр позволяет передать любую "
#~ "вызываемую сущность (например, функцию или "
#~ "лямбду), которая будет использоваться для "
#~ "вывода всех системных сообщений. По "
#~ "умолчанию это обертка вокруг "
#~ "``rich.console.Console().print``. Вы можете передать"
#~ " сюда свою функцию, чтобы, например, "
#~ "логировать вывод в файл или отправлять"
#~ " его по сети."
#~ msgstr ""
+33 -94
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -21,7 +21,7 @@ msgstr ""
#: ../../root/quickstart.rst:4
msgid "Быстрый старт"
msgstr "Quick Start"
msgstr ""
#: ../../root/quickstart.rst:6
msgid ""
@@ -31,8 +31,8 @@ msgstr ""
#: ../../root/quickstart.rst:8
msgid ""
"**Простой пример**: Быстрое знакомство с основными компонентами, такими "
"как `App`, `Command` и `Router`."
"**Простой пример**: Минимальное приложение, быстрое знакомство с "
"основными компонентами."
msgstr ""
#: ../../root/quickstart.rst:9
@@ -45,142 +45,81 @@ msgstr ""
msgid "Простой пример"
msgstr ""
#: ../../root/quickstart.rst:14
#: ../../root/quickstart.rst:14 ../../root/quickstart.rst:38
msgid "**Установка**"
msgstr ""
#: ../../root/quickstart.rst:20
msgid ""
"Этот пример демонстрирует абсолютный минимум, необходимый для создания и "
"запуска приложения. Вы можете скопировать этот код, запустить его и сразу"
" увидеть результат."
msgstr ""
#: ../../root/quickstart.rst:20 ../../root/quickstart.rst:68
#: ../../root/quickstart.rst:26 ../../root/quickstart.rst:76
msgid "**Результат**"
msgstr ""
#: ../../root/quickstart.rst:22
#: ../../root/quickstart.rst:28
msgid "Simple App Example"
msgstr ""
#: ../../root/quickstart.rst:26
#: ../../root/quickstart.rst:34
msgid "Более сложный пример: Менеджер задач"
msgstr ""
#: ../../root/quickstart.rst:28
#: ../../root/quickstart.rst:36
msgid ""
"В этом руководстве мы создадим простое, но полнофункциональное "
"CLI-приложение «Менеджер задач», которое продемонстрирует ключевые "
"возможности Argenta."
msgstr ""
#: ../../root/quickstart.rst:30
msgid "**Установка**"
msgstr ""
#: ../../root/quickstart.rst:36
#: ../../root/quickstart.rst:44
msgid "**Определение моделей данных и репозитория**"
msgstr ""
#: ../../root/quickstart.rst:38
msgid ""
"Сначала определим модели данных для задачи и репозиторий для их хранения."
" Это будет наша \"бизнес-логика\"."
msgstr ""
#: ../../root/quickstart.rst:44
msgid "**Создание провайдера для DI**"
msgstr ""
#: ../../root/quickstart.rst:46
msgid ""
"Чтобы Argenta могла внедрять `TaskRepository` в наши обработчики, мы "
"создадим провайдер для `dishka`."
msgid "Сначала определим модели данных для задачи и репозиторий для их хранения."
msgstr ""
#: ../../root/quickstart.rst:52
msgid "**Создание обработчиков команд**"
msgid "**Создание провайдера для DI**"
msgstr ""
#: ../../root/quickstart.rst:54
msgid ""
"Теперь создадим обработчики для команд `add-task` и `list-tasks`. "
"Обратите внимание, как мы используем флаги и внедряем `TaskRepository`."
"Чтобы Argenta могла внедрять ``TaskRepository`` в наши обработчики, мы "
"создадим провайдер для ``dishka``."
msgstr ""
#: ../../root/quickstart.rst:60
msgid "**Сборка и запуск приложения**"
msgid "**Создание обработчиков команд**"
msgstr ""
#: ../../root/quickstart.rst:62
msgid ""
"Наконец, соберем все вместе: создадим экземпляр `App`, подключим роутер и"
" провайдер, а затем запустим приложение."
"Теперь создадим обработчики для команд ``add-task`` и ``list-tasks``. "
"Обратите внимание, как мы используем флаги и внедряем ``TaskRepository``."
msgstr ""
#: ../../root/quickstart.rst:68
msgid "**Сборка и запуск приложения**"
msgstr ""
#: ../../root/quickstart.rst:70
msgid ""
"Теперь вы можете запустить `main.py` и взаимодействовать с вашим новым "
"Наконец, соберем все вместе: создадим экземпляр ``App``, подключим роутер"
" и провайдер, а затем запустим приложение."
msgstr ""
#: ../../root/quickstart.rst:78
msgid ""
"Теперь вы можете запустить ``main.py`` и взаимодействовать с вашим новым "
"CLI-приложением."
msgstr ""
#: ../../root/quickstart.rst:72
#: ../../root/quickstart.rst:80
msgid "Task Manager Example"
msgstr ""
#~ msgid ""
#~ "**Определение роутера и хэндлеров**, за "
#~ "регистрацию функции как обработчика отвечает"
#~ " декоратор ``@router.command``, хэндлер всегда"
#~ " должен принимать аргумент с типом "
#~ "``Response``, подробнее в :ref:`разделе "
#~ "<Response>`."
#~ msgstr ""
#~ msgid ""
#~ "**Определение приложения и оркестратора**, для"
#~ " запуска приложения необходимо вызвать "
#~ "``.include_router()`` у созданного приложения "
#~ "и передать ему раннее созданный роутер,"
#~ " после этого необходимо вызвать "
#~ "``.start_polling()`` у созданного оркестратора "
#~ "и передать ему созданное приложение."
#~ msgstr ""
#~ msgid "**Запуск приложения**, запускаем приложение как обычный процесс."
#~ msgstr ""
#~ msgid ""
#~ "**Определение роутера и хэндлеров**. За "
#~ "регистрацию функции как обработчика отвечает"
#~ " декоратор ``@router.command``, хэндлер всегда"
#~ " должен принимать аргумент с типом "
#~ "``Response``, подробнее в :ref:`разделе "
#~ "<Response>`."
#~ msgstr ""
#~ msgid "**Установка** ``Argenta``"
#~ msgstr ""
#~ msgid ""
#~ "**Определение роутера и хэндлеров**. За "
#~ "регистрацию функции как обработчика отвечает"
#~ " декоратор ``@router.command``, хэндлер всегда"
#~ " должен принимать аргумент с типом "
#~ "``Response``, подробнее в :ref:`разделе "
#~ "<root_api_response>`."
#~ msgstr ""
#~ msgid ""
#~ "**Определение приложения и оркестратора**. Для"
#~ " запуска приложения необходимо вызвать "
#~ "``.include_router()`` у созданного приложения "
#~ "и передать ему раннее созданный роутер,"
#~ " после этого необходимо вызвать "
#~ "``.start_polling()`` у созданного оркестратора "
#~ "и передать ему созданное приложение."
#~ msgstr ""
#~ msgid "**Запуск приложения**. Запускаем приложение как обычный скрипт."
#~ msgstr ""
#~ msgid "Quickstart Example"
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -20,9 +20,8 @@ msgstr ""
"Generated-By: Babel 2.17.0\n"
#: ../../root/redirect_stdout.rst:4
#, fuzzy
msgid "Переопределение стандартного вывода"
msgstr "Redirect stdout"
msgstr ""
#: ../../root/redirect_stdout.rst:6
msgid ""
@@ -51,7 +50,7 @@ msgid "Пример приложения с динамической разде
msgstr ""
#: ../../root/redirect_stdout.rst:17
msgid "Пример приложения с динамической разделительной линией"
msgid "Example of an application with a dynamic dividing line"
msgstr ""
#: ../../root/redirect_stdout.rst:20
@@ -65,7 +64,7 @@ msgid "То же приложение с статической линией:"
msgstr ""
#: ../../root/redirect_stdout.rst:24
msgid "Пример приложения с статической разделительной линией"
msgid "Example of an application with a static dividing line"
msgstr ""
#: ../../root/redirect_stdout.rst:27
@@ -80,19 +79,17 @@ msgstr ""
#: ../../root/redirect_stdout.rst:34
msgid ""
"Главный побочный эффект этого механизма проявляется при использовании "
"функций, которые одновременно ожидают ввод от пользователя и выводят "
"приглашение в консоль. Классический пример — стандартная функция "
"``input()``."
"Побочный эффект этого механизма проявляется при использовании функций, "
"которые последовательно выводят текст в консоль и ожидают ввод от "
"пользователя. Классический пример — стандартная функция ``input()``."
msgstr ""
#: ../../root/redirect_stdout.rst:44
msgid ""
"При включённом перехвате ``stdout`` текст-приглашение (например, "
"``\"Введите ваше имя: \"``) **не будет выведен в консоль немедленно**. Он"
" попадёт в буфер, и пользователь увидит только мигающий курсор. Текст "
"приглашения отобразится лишь после завершения работы обработчика вместе с"
" остальным выводом. Это может сбить пользователя с толку."
"При включённом перехвате ``stdout`` текст (например, ``\"Введите ваше "
"имя: \"``) **не будет выведен в консоль немедленно**. Он попадёт в буфер "
"и отобразится лишь после завершения работы обработчика вместе с остальным"
" выводом. Это может сбить пользователя с толку."
msgstr ""
#: ../../root/redirect_stdout.rst:49
@@ -115,241 +112,129 @@ msgid ""
"механизм перехвата ``stdout`` будет отключён для всех его обработчиков."
msgstr ""
#: ../../root/redirect_stdout.rst:61
#: ../../root/redirect_stdout.rst:57 ../../root/redirect_stdout.rst:87
msgid "**Пример использования:**"
msgstr ""
#: ../../root/redirect_stdout.rst:63
msgid ""
"В этом случае ``input()`` будет работать как обычно, и пользователь сразу"
" увидит приглашение к вводу."
msgstr ""
#: ../../root/redirect_stdout.rst:66
#: ../../root/redirect_stdout.rst:68
msgid "Типы разделительных линий"
msgstr ""
#: ../../root/redirect_stdout.rst:68
#: ../../root/redirect_stdout.rst:70
msgid ""
"``Argenta`` поддерживает два типа разделителей, которые настраиваются при"
" инициализации ``App``:"
msgstr ""
#: ../../root/redirect_stdout.rst:70
msgid "**DynamicDividingLine()**"
#: ../../root/redirect_stdout.rst:72
msgid "**``DynamicDividingLine()``**"
msgstr ""
#: ../../root/redirect_stdout.rst:71
#: ../../root/redirect_stdout.rst:73
msgid ""
"Поведение по умолчанию. Длина линии динамически подстраивается под самый "
"длинный текст в выводе."
msgstr ""
#: ../../root/redirect_stdout.rst:72
#: ../../root/redirect_stdout.rst:74
msgid ""
"Требует включённого перехвата ``stdout`` "
"(``disable_redirect_stdout=False`` в роутере)."
msgstr ""
#: ../../root/redirect_stdout.rst:74
msgid "**StaticDividingLine(length: int = 25)**"
#: ../../root/redirect_stdout.rst:76
msgid "**``StaticDividingLine(length: int = 25)``**"
msgstr ""
#: ../../root/redirect_stdout.rst:75
#: ../../root/redirect_stdout.rst:77
msgid ""
"Линия имеет фиксированную длину (по умолчанию 25 символов), которую можно"
" задать через аргумент `length`."
" задать через аргумент ``length``."
msgstr ""
#: ../../root/redirect_stdout.rst:76
#: ../../root/redirect_stdout.rst:78
msgid ""
"Используется принудительно для роутеров с "
"``disable_redirect_stdout=True``, так как без перехвата вывода невозможно"
" определить динамическую длину."
msgstr ""
#: ../../root/redirect_stdout.rst:79
msgid "Настройка разделительной линии в `App`"
#: ../../root/redirect_stdout.rst:83
msgid "Настройка разделительной линии в ``App``"
msgstr ""
#: ../../root/redirect_stdout.rst:81
#: ../../root/redirect_stdout.rst:85
msgid ""
"Вы можете глобально задать тип разделителя для всего приложения через "
"аргумент ``dividing_line`` в конструкторе ``App``."
msgstr ""
#: ../../root/redirect_stdout.rst:90
#: ../../root/redirect_stdout.rst:96
msgid "Итоговое поведение"
msgstr ""
#: ../../root/redirect_stdout.rst:96
#: ../../root/redirect_stdout.rst:102
msgid "``disable_redirect_stdout`` на ``Router``"
msgstr ""
#: ../../root/redirect_stdout.rst:97
#: ../../root/redirect_stdout.rst:103
msgid "Тип линии в ``App``"
msgstr ""
#: ../../root/redirect_stdout.rst:98
#: ../../root/redirect_stdout.rst:104
msgid "Фактическое поведение"
msgstr ""
#: ../../root/redirect_stdout.rst:99
#: ../../root/redirect_stdout.rst:105
msgid "``input()`` работает корректно?"
msgstr ""
#: ../../root/redirect_stdout.rst:100 ../../root/redirect_stdout.rst:104
#: ../../root/redirect_stdout.rst:106 ../../root/redirect_stdout.rst:110
msgid "``False`` (по умолчанию)"
msgstr ""
#: ../../root/redirect_stdout.rst:101 ../../root/redirect_stdout.rst:109
#: ../../root/redirect_stdout.rst:107 ../../root/redirect_stdout.rst:115
msgid "``DynamicDividingLine``"
msgstr ""
#: ../../root/redirect_stdout.rst:102
#: ../../root/redirect_stdout.rst:108
msgid "Динамическая линия, длина по содержимому"
msgstr ""
#: ../../root/redirect_stdout.rst:103 ../../root/redirect_stdout.rst:107
#: ../../root/redirect_stdout.rst:109 ../../root/redirect_stdout.rst:113
msgid "Нет"
msgstr ""
#: ../../root/redirect_stdout.rst:105 ../../root/redirect_stdout.rst:113
#: ../../root/redirect_stdout.rst:111 ../../root/redirect_stdout.rst:119
msgid "``StaticDividingLine``"
msgstr ""
#: ../../root/redirect_stdout.rst:106 ../../root/redirect_stdout.rst:114
#: ../../root/redirect_stdout.rst:112 ../../root/redirect_stdout.rst:120
msgid "Статическая линия указанной длины"
msgstr ""
#: ../../root/redirect_stdout.rst:108 ../../root/redirect_stdout.rst:112
#: ../../root/redirect_stdout.rst:114 ../../root/redirect_stdout.rst:118
msgid "``True``"
msgstr ""
#: ../../root/redirect_stdout.rst:110
#: ../../root/redirect_stdout.rst:116
msgid "**Принудительно статическая линия** (длина по умолч.)"
msgstr ""
#: ../../root/redirect_stdout.rst:111 ../../root/redirect_stdout.rst:115
#: ../../root/redirect_stdout.rst:117 ../../root/redirect_stdout.rst:121
msgid "Да"
msgstr ""
#: ../../root/redirect_stdout.rst:117
#: ../../root/redirect_stdout.rst:123
msgid ""
"Таким образом, для интерактивных команд, требующих ввода от пользователя,"
" отключайте перехват ``stdout`` на уровне роутера. Для всех остальных "
"команд можно оставить поведение по умолчанию."
msgstr ""
#~ msgid "О разделе"
#~ msgstr ""
#~ msgid ""
#~ "``Argenta`` предоставляет гибкие механизмы для"
#~ " управления форматированием вывода, включая "
#~ "использование динамических разделительных линий. "
#~ "Это достигается за счет перехвата "
#~ "стандартного потока вывода (``stdout``), что"
#~ " имеет свои особенности."
#~ msgstr ""
#~ msgid ""
#~ "По умолчанию ``Argenta`` перехватывает весь"
#~ " текст, который выводится в ``stdout`` "
#~ "внутри обработчика команды (``handler``). Это"
#~ " делается для реализации **динамической "
#~ "длины разделителя**. Система анализирует весь"
#~ " выведенный текст, находит самую длинную"
#~ " строку и использует её длину для "
#~ "отрисовки верхней и нижней разделительных "
#~ "линий. Это создает аккуратный и "
#~ "визуально согласованный интерфейс, где вывод"
#~ " команды \"обернут\" в рамку, идеально "
#~ "подогнанную под его содержимое."
#~ msgstr ""
#~ msgid ""
#~ "Главный побочный эффект этого механизма "
#~ "проявляется при использовании функций, которые"
#~ " одновременно ожидают ввод от пользователя"
#~ " и выводят текст-приглашение. Классический "
#~ "пример — стандартная функция ``input()``."
#~ msgstr ""
#~ msgid ""
#~ "При включенном перехвате ``stdout`` "
#~ "текст-приглашение ``\"Введите ваше имя: \"``"
#~ " **не будет выведен в консоль "
#~ "немедленно**. Он попадет в буфер, и "
#~ "пользователь увидит только мигающий курсор,"
#~ " ожидающий ввода. Текст приглашения будет"
#~ " выведен только после того, как "
#~ "выполнение всего обработчика завершится, "
#~ "вместе с остальным буферизованным выводом. "
#~ "Это может сбить пользователя с толку "
#~ "и является пограничным случаем, требующим "
#~ "внимания при разработке."
#~ msgstr ""
#~ msgid ""
#~ "Чтобы решить проблему с ``input()`` и"
#~ " другими подобными функциями, в "
#~ "конструкторе класса ``Router`` предусмотрен "
#~ "специальный аргумент:"
#~ msgstr ""
#~ msgid ""
#~ "Если при создании роутера установить "
#~ "``disable_redirect_stdout=True``, то для всех "
#~ "команд этого роутера механизм перехвата "
#~ "``stdout`` будет отключен."
#~ msgstr ""
#~ msgid ""
#~ "В этом случае ``input()`` будет работать"
#~ " как обычно, и пользователь сразу "
#~ "увидит приглашение \"Как вас зовут?\"."
#~ msgstr ""
#~ msgid ""
#~ "``Argenta`` поддерживает два типа "
#~ "разделительных линий, которые можно настроить"
#~ " при инициализации ``App``:"
#~ msgstr ""
#~ msgid ""
#~ "Это поведение по умолчанию. Длина линии"
#~ " динамически подстраивается под самый "
#~ "длинный выведенный текст."
#~ msgstr ""
#~ msgid ""
#~ "Требует включенного перехвата ``stdout`` (т.е."
#~ " ``disable_redirect_stdout=False`` на роутере)."
#~ msgstr ""
#~ msgid ""
#~ "Линия имеет фиксированную длину (по "
#~ "умолчанию 25 символов), которую можно "
#~ "настроить через аргумент `length`."
#~ msgstr ""
#~ msgid ""
#~ "Используется автоматически для роутеров, где"
#~ " ``disable_redirect_stdout=True``, так как без"
#~ " перехвата вывода невозможно определить "
#~ "необходимую динамическую длину."
#~ msgstr ""
#~ msgid ""
#~ "Вы можете глобально задать тип "
#~ "разделительной линии для всего приложения "
#~ "через аргумент ``dividing_line`` в "
#~ "конструкторе ``App``."
#~ msgstr ""
#~ msgid ""
#~ "Таким образом, для создания интерактивных "
#~ "команд, требующих ввода от пользователя, "
#~ "всегда отключайте перехват ``stdout`` на "
#~ "соответствующем роутере. Для всех остальных"
#~ " команд можно оставить поведение по "
#~ "умолчанию."
#~ msgstr ""
+40 -34
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-03 19:01+0300\n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -26,87 +26,93 @@ msgstr ""
#: ../../root/testing.rst:4
msgid ""
"В этом разделе описаны практики тестирования приложений на основе "
"``Argenta``. Примеры основаны на фактическом публичном API: ``App``, "
"``Router``, ``Command``, ``Orchestrator``, DI через ``dishka`` и "
"интеграцию в ``argenta.di.integration``."
"``Argenta``. Примеры основаны на фактическом публичном API."
msgstr ""
#: ../../root/testing.rst:7
msgid "Модульное тестирование хендлеров"
msgid "Модульное тестирование обработчиков"
msgstr ""
#: ../../root/testing.rst:9
msgid ""
"Обработчики в Argenta — обычные функции. Их удобно тестировать как чистые"
" функции, не поднимая весь цикл приложения. Рекомендуются ``unittest`` "
"или ``pytest``."
"Обработчики в ``Argenta`` — обычные функции. Их удобно тестировать как "
"чистые функции, не поднимая весь цикл приложения. Рекомендуются "
"``unittest`` или ``pytest``."
msgstr ""
#: ../../root/testing.rst:11
msgid "Пример с ``unittest`` для простого хендлера без DI:"
msgstr ""
#: ../../root/testing.rst:18
msgid "Тестирование с внедрением зависимостей (DI)"
#: ../../root/testing.rst:11 ../../root/testing.rst:24
#: ../../root/testing.rst:37 ../../root/testing.rst:53
msgid "**Пример использования:**"
msgstr ""
#: ../../root/testing.rst:20
msgid ""
"Если хендлеру нужны зависимости, используйте ``dishka`` и интеграцию "
"Argenta:"
msgid "Тестирование с внедрением зависимостей (DI)"
msgstr ""
#: ../../root/testing.rst:27
#: ../../root/testing.rst:22
msgid ""
"Если обработчику нужны зависимости, используйте ``dishka`` и интеграцию "
"``Argenta``:"
msgstr ""
#: ../../root/testing.rst:33
msgid "Интеграционное тестирование приложения"
msgstr ""
#: ../../root/testing.rst:29
#: ../../root/testing.rst:35
msgid ""
"Для более высокого уровня тестов собирайте ``App`` и ``Router`` и "
"вызывайте хендлеры через парсинг команд, обходя бесконечный цикл ввода. "
"Это даёт близкое к реальности поведение без необходимости симулировать "
"``stdin``."
"вызывайте обработчики через парсинг команд, обходя бесконечный цикл "
"ввода. Это даёт близкое к реальности поведение без необходимости "
"симулировать ``stdin``."
msgstr ""
#: ../../root/testing.rst:36
msgid "E2E-тестирование цикла (опционально)"
#: ../../root/testing.rst:46
msgid "E2E-тестирование цикла"
msgstr ""
#: ../../root/testing.rst:38
#: ../../root/testing.rst:48
msgid ""
"Полный запуск цикла ``start_polling`` можно покрывать через подпроцесс с "
"передачей строк во ``stdin``. Это тяжелее и обычно не требуется. Если всё"
" же необходимо — вынесите конфигурацию в функцию ``main()`` и запускайте "
"модуль в подпроцессе с подготовленным вводом/выводом."
"передачей строк в ``stdin``. Это тяжелее и обычно не требуется. Если всё "
"же необходимо — пример ниже."
msgstr ""
#: ../../root/testing.rst:41
#: ../../root/testing.rst:51
msgid ""
"Обязательно передавайте строковый триггер команды выхода последним "
"элементом в списке, который передаёте в контекстном менеджере при патче "
"``input`` как аргумент ``side_effects``, иначе тестируемое приложение "
"будет ожидать ввода следующей команды и не сможет корректно завершиться."
msgstr ""
#: ../../root/testing.rst:62
msgid "Советы по тестированию"
msgstr ""
#: ../../root/testing.rst:43
#: ../../root/testing.rst:64
msgid "**Изолируйте тесты**: Каждый тест должен быть независимым от других."
msgstr ""
#: ../../root/testing.rst:44
#: ../../root/testing.rst:65
msgid ""
"**Моки для внешних интеграций**: БД, HTTP-клиенты и т.п. подменяйте "
"заглушками и провайдерами ``dishka``."
msgstr ""
#: ../../root/testing.rst:45
#: ../../root/testing.rst:66
msgid ""
"**Покрывайте ошибочные сценарии**: Некорректные флаги, неизвестные "
"команды, пустой ввод."
msgstr ""
#: ../../root/testing.rst:46
#: ../../root/testing.rst:67
msgid ""
"**Минимизируйте зависимость от форматирования**: Сравнивайте ключевые "
"фрагменты вывода, а не весь блок целиком."
msgstr ""
#: ../../root/testing.rst:47
#: ../../root/testing.rst:68
msgid "**Измеряйте покрытие**: Используйте ``pytest-cov``."
msgstr ""
-2
View File
@@ -38,8 +38,6 @@ ArgParser
До инициализации ``Orchestrator``, в конструктор которого был передан экземпляр ``ArgParser``, атрибут ``parsed_argspace`` будет содержать пустой ``ArgSpace``.
Парсинг и валидация аргументов происходят при инициализации ``Orchestrator``, поэтому использовать ``parsed_argspace`` **целесообразно только после** этого.
-----
-----
+2 -1
View File
@@ -88,7 +88,7 @@ BooleanArgument
python app.py --verbose
python app.py --debug --no-cache
python app.py # без аргументов
python app.py # without arguments
-----
@@ -121,6 +121,7 @@ InputArgument
**Атрибуты:**
.. py:attribute:: name
:no-index:
Имя аргумента, указанное при создании ``ValueArgument`` или ``BooleanArgument``.