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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -19,197 +19,144 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.17.0\n"
#: ../../index.rst:38 #: ../../index.rst:43
msgid "Контент:" msgid "Контент:"
msgstr "Content:" msgstr "Content:"
#: ../../index.rst:48 #: ../../index.rst:53
msgid "Продвинутое использование:" msgid "Продвинутое использование:"
msgstr "" msgstr "Advanced usage:"
#: ../../index.rst:56 #: ../../index.rst:61
msgid "Для разработчиков:" msgid "Для разработчиков:"
msgstr "For developers:" msgstr "For developers:"
#: ../../index.rst:63 #: ../../index.rst:68
msgid "GitHub" msgid "GitHub"
msgstr "" msgstr ""
#: ../../index.rst:63 #: ../../index.rst:68
msgid "PyPI" msgid "PyPI"
msgstr "" msgstr ""
#: ../../index.rst:63 #: ../../index.rst:68
msgid "Ссылки проекта:" msgid "Ссылки проекта:"
msgstr "Project Links:" msgstr "Project links:"
#: ../../index.rst:7 #: ../../index.rst:7
msgid "Argenta" msgid "Argenta"
msgstr "" msgstr ""
#: ../../index.rst:9 #: ../../index.rst:10
msgid "Что это и зачем?"
msgstr "What is it and why?"
#: ../../index.rst:12
msgid "" msgid ""
"**Библиотека для построения модульных CLI-приложений с простым и приятным" "**Библиотека для построения модульных CLI-приложений с простым и приятным"
" API.**" " API.**"
msgstr "" msgstr "**A library for building modular CLI applications with a simple and pleasant API.**"
"Python library for building modular CLI applications with simple and "
"agreeable API."
#: ../../index.rst:11 #: ../../index.rst:14
msgid "" msgid ""
"Если у вас есть функциональность, которую вы хотите предоставить в виде " "Если у вас есть функциональность, которую вы хотите предоставить в виде "
"CLI-приложения, Argenta поможет вам в этом. Основная цель библиотеки — " "CLI-приложения, Argenta поможет вам в этом. Основная цель библиотеки — "
"дать разработчикам возможность сосредоточиться на реализации своих идей, " "дать разработчикам возможность сосредоточиться на реализации своих идей, "
"предоставляя для этого удобные абстракции." "предоставляя для этого удобные абстракции."
msgstr "" msgstr ""
"If you have functionality that you want to provide as a CLI application, "
#: ../../index.rst:14 "Argenta will help you with that. The main goal of the library is to enable "
msgid "Пример приложения" "developers to focus on implementing their ideas by providing convenient abstractions."
msgstr ""
#: ../../index.rst:17 #: ../../index.rst:17
msgid "App example"
msgstr ""
#: ../../index.rst:20
msgid "" msgid ""
"Argenta предназначена для создания приложений, работающих в собственном " "Argenta предназначена для создания приложений, работающих в собственном "
"контексте (scope). Это означает, что при запуске пользователь входит в " "контексте (scope). Это означает, что при запуске пользователь входит в "
"интерактивную сессию, где ему доступна вся реализованная вами " "интерактивную сессию, где ему доступна вся реализованная вами "
"функциональность." "функциональность."
msgstr "" 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 "" msgid ""
"Один из ключевых принципов библиотеки — цикличность. После выполнения " "Один из ключевых принципов библиотеки — цикличность. После выполнения "
"команды пользователь остаётся в интерактивной сессии, в отличие от таких " "команды пользователь остаётся в интерактивной сессии, в отличие от таких "
"библиотек, как ``argparse``, ``click`` и ``typer``. Выход из сессии " "библиотек, как ``argparse``, ``click`` и ``typer``. Выход из сессии "
"контролируется самим пользователем." "контролируется пользователем."
msgstr ""
#: ../../index.rst:21
msgid "**Ключевые особенности:**"
msgstr ""
#: ../../index.rst:23
msgid ""
"**Интерактивные сессии**. В отличие от традиционных CLI-инструментов, "
"Argenta создаёт циклические сессии, позволяя пользователю выполнять "
"команды последовательно, не перезапуская приложение."
msgstr "" 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 #: ../../index.rst:24
msgid "" msgid "**Ключевые особенности:**"
"**Декларативный синтаксис**. Команды и их обработчики объявляются с " msgstr "**Key features:**"
"помощью простых декораторов, что делает код чистым и интуитивно понятным."
msgstr ""
#: ../../index.rst:25
msgid ""
"**Встроенное внедрение зависимостей (DI)**. Благодаря интеграции с "
"`dishka <https://dishka.readthedocs.io/en/stable/>`_, вы можете легко "
"внедрять сервисы (например, подключения к БД) прямо в обработчики команд,"
" что упрощает их тестирование и переиспользование."
msgstr ""
#: ../../index.rst:26 #: ../../index.rst:26
msgid "" msgid ""
"**Автоматическая валидация и парсинг**. Библиотека берёт на себя " "**Интерактивные сессии**: В отличие от традиционных CLI-инструментов, "
"обработку флагов и аргументов командной строки, включая их парсинг, " "``Argenta`` создаёт циклические сессии, позволяя пользователю выполнять "
"валидацию и преобразование типов." "команды последовательно, не перезапуская приложение."
msgstr "" msgstr ""
"**Interactive sessions**: Unlike traditional CLI tools, ``Argenta`` creates "
"cyclical sessions, allowing users to execute commands sequentially without "
"restarting the application."
#: ../../index.rst:27 #: ../../index.rst:27
msgid "" msgid ""
"**Гибкая настройка**. Вы можете легко кастомизировать системные " "**Декларативный синтаксис**: Команды и их обработчики объявляются с "
"сообщения, форматирование вывода и даже перенаправлять стандартный вывод " "помощью простых декораторов, что делает код чистым и интуитивно понятным."
"(stdout) в свои обработчики."
msgstr "" 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 #: ../../index.rst:30
msgid "Архитектура и жизненный цикл" msgid ""
"**Гибкая настройка**: Вы можете легко кастомизировать системные "
"сообщения, форматирование вывода и т.д."
msgstr "" 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 "" msgid ""
"Следующая диаграмма иллюстрирует, как компоненты Argenta взаимодействуют " "Следующая диаграмма иллюстрирует, как компоненты Argenta взаимодействуют "
"друг с другом, обрабатывая ввод пользователя." "друг с другом, обрабатывая ввод пользователя."
msgstr "" 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" msgid "Request Lifecycle Diagram"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -31,50 +31,43 @@ msgid ""
" снижает вероятность опечаток." " снижает вероятность опечаток."
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:8 #: ../../root/api/app/autocompleter.rst:11
msgid ""
"``AutoCompleter`` использует ``pyreadline3`` для реализации "
"функциональности `GNU readline` в `Windows`, что позволяет управлять "
"историей команд и автодополнением."
msgstr ""
#: ../../root/api/app/autocompleter.rst:13
msgid "Инициализация" msgid "Инициализация"
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:20 #: ../../root/api/app/autocompleter.rst:18
msgid "Создаёт и настраивает экземпляр ``AutoCompleter``." msgid "Создаёт и настраивает экземпляр ``AutoCompleter``."
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:22 #: ../../root/api/app/autocompleter.rst:20
msgid "" msgid ""
"``history_filename``: Имя файла для сохранения истории команд. Если " "``history_filename``: Имя файла для сохранения истории команд. Если "
"указано, история будет сохраняться между сессиями. При значении `None` " "указано, история будет сохраняться между сессиями. При значении ``None`` "
"история хранится только в памяти." "история хранится только в контексте сессии."
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:23 #: ../../root/api/app/autocompleter.rst:21
msgid "" msgid ""
"``autocomplete_button``: Клавиша, активирующая автодополнение. По " "``autocomplete_button``: Клавиша, активирующая автодополнение. По "
"умолчанию — **Tab**." "умолчанию — **Tab**."
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:28 #: ../../root/api/app/autocompleter.rst:26
msgid "Назначение и возможности" msgid "Назначение и возможности"
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:30 #: ../../root/api/app/autocompleter.rst:28
msgid "Основные возможности ``AutoCompleter``:" msgid "Основные возможности ``AutoCompleter``:"
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:32 #: ../../root/api/app/autocompleter.rst:30
msgid "" msgid ""
"**Автодополнение по истории**: При нажатии клавиши автодополнения (по " "**Автодополнение по истории**: При нажатии клавиши автодополнения (по "
"умолчанию **Tab**) система ищет в истории команды, начинающиеся с уже " "умолчанию **Tab**) система ищет в истории команды, начинающиеся с уже "
"введённого текста." "введённого текста."
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:34 #: ../../root/api/app/autocompleter.rst:32
msgid "" msgid ""
"**Общий префикс**: Если найдено несколько команд с общим префиксом, будет" "**Общий префикс**: Если найдено несколько команд с общим префиксом, будет"
" подставлена только общая часть. Например, для команд ``show_users`` и " " подставлена только общая часть. Например, для команд ``show_users`` и "
@@ -82,123 +75,30 @@ msgid ""
"``show_``." "``show_``."
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:36 #: ../../root/api/app/autocompleter.rst:34
msgid "" msgid ""
"**Постоянная история**: Если указан ``history_filename``, история команд " "**Постоянная история**: Если указан ``history_filename``, история команд "
"сохраняется в файл при выходе и загружается при следующем запуске. Это " "сохраняется в файл при выходе и загружается при следующем запуске. Это "
"делает автодополнение со временем «умнее»." "делает автодополнение со временем «умнее»."
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:38 #: ../../root/api/app/autocompleter.rst:36
msgid "" msgid ""
"**Очистка истории**: При сохранении ``AutoCompleter`` удаляет дубликаты и" "**Очистка истории**: При сохранении ``AutoCompleter`` удаляет дубликаты и"
" более не существующие команды, поддерживая историю в актуальном " " несуществующие команды, поддерживая историю в актуальном состоянии."
"состоянии."
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:40 #: ../../root/api/app/autocompleter.rst:38
msgid "" msgid ""
"**Настройка клавиши**: Клавишу автодополнения можно изменить с помощью " "**Настройка клавиши**: Клавишу автодополнения можно изменить с помощью "
"параметра ``autocomplete_button``." "параметра ``autocomplete_button``."
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:45 #: ../../root/api/app/autocompleter.rst:43
msgid "Пример использования" msgid "Пример использования"
msgstr "" msgstr ""
#: ../../root/api/app/autocompleter.rst:47 #: ../../root/api/app/autocompleter.rst:45
msgid "``AutoCompleter`` передаётся как аргумент при инициализации `App`." msgid "``AutoCompleter`` передаётся как аргумент при инициализации `App`."
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -31,7 +31,7 @@ msgid ""
msgstr "" msgstr ""
#: ../../root/api/app/dividing_lines.rst:11 #: ../../root/api/app/dividing_lines.rst:11
msgid "Класс ``StaticDividingLine``" msgid "``StaticDividingLine``"
msgstr "" msgstr ""
#: ../../root/api/app/dividing_lines.rst:13 #: ../../root/api/app/dividing_lines.rst:13
@@ -52,20 +52,18 @@ msgid ""
msgstr "" msgstr ""
#: ../../root/api/app/dividing_lines.rst:24 #: ../../root/api/app/dividing_lines.rst:24
msgid "" msgid "``length``: Фиксированная длина линии. По умолчанию: ``25``."
"``length``: Фиксированная длина линии (keyword-only аргумент). По "
"умолчанию: ``25``."
msgstr "" msgstr ""
#: ../../root/api/app/dividing_lines.rst:29 #: ../../root/api/app/dividing_lines.rst:29
msgid "Класс ``DynamicDividingLine``" msgid "``DynamicDividingLine``"
msgstr "" msgstr ""
#: ../../root/api/app/dividing_lines.rst:31 #: ../../root/api/app/dividing_lines.rst:31
msgid "" msgid ""
"``DynamicDividingLine`` создаёт линию, длина которой **динамически** " "``DynamicDividingLine`` создаёт линию, длина которой **динамически** "
"подстраивается под самую длинную строку в выводе команды. Это требует " "подстраивается под самую длинную строку в выводе команды. Это требует "
"перехвата `stdout`, в результате чего разделители идеально обрамляют " "перехвата ``stdout``, в результате чего разделители идеально обрамляют "
"выводимый контент." "выводимый контент."
msgstr "" msgstr ""
@@ -136,120 +134,3 @@ msgid ""
"через параметр ``dividing_line``." "через параметр ``dividing_line``."
msgstr "" 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 ""
+31 -219
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -52,7 +52,9 @@ msgid "``farewell_message``: Сообщение, выводимое при вы
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:43 #: ../../root/api/app/index.rst:43
msgid "``exit_command``: Команда, используемая для выхода из приложения." msgid ""
"``exit_command``: Команда, которая маркируется как триггер для выхода из "
"приложения."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:44 #: ../../root/api/app/index.rst:44
@@ -63,20 +65,20 @@ msgstr ""
#: ../../root/api/app/index.rst:45 #: ../../root/api/app/index.rst:45
msgid "" msgid ""
"``ignore_command_register``: Если ``True``, регистр команд игнорируется " "``ignore_command_register``: Если ``True``, регистр вводимых команд "
"при поиске обработчика." "игнорируется при поиске обработчика."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:46 #: ../../root/api/app/index.rst:46
msgid "" msgid ""
"``dividing_line``: Стиль разделительной линии (``StaticDividingLine`` или" "``dividing_line``: Тип разделительной линии (``StaticDividingLine`` или "
"``DynamicDividingLine``)." "``DynamicDividingLine``)."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:47 #: ../../root/api/app/index.rst:47
msgid "" msgid ""
"``repeat_command_groups_printing``: Если ``True``, список доступных команд " "``repeat_command_groups_printing``: Если ``True``, список доступных "
"выводится перед каждым вводом." "команд выводится перед каждым вводом."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:48 #: ../../root/api/app/index.rst:48
@@ -86,13 +88,15 @@ msgid ""
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:49 #: ../../root/api/app/index.rst:49
msgid "``autocompleter``: Объект, отвечающий за автодополнение команд." msgid ""
"``autocompleter``: Экземпляр класса :ref:`AutoCompleter "
"<root_api_app_autocompleter>`, отвечающий за автодополнение команд."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:50 #: ../../root/api/app/index.rst:50
msgid "" msgid ""
"``print_func``: Функция для вывода всех системных сообщений (по умолчанию" "``print_func``: Функция для вывода всех системных сообщений (по умолчанию"
" ``rich.print``)." " ``rich.Console().print``)."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:55 #: ../../root/api/app/index.rst:55
@@ -124,7 +128,7 @@ msgstr ""
#: ../../root/api/app/index.rst:71 #: ../../root/api/app/index.rst:71
msgid "" msgid ""
"Добавляет текстовое сообщение, которое выводится при запуске приложения " "Добавляет текстовое сообщение, которое выводится при запуске приложения "
"после `initial_message`." "после ``initial_message``."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:73 #: ../../root/api/app/index.rst:73
@@ -154,17 +158,15 @@ msgid ""
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:92 #: ../../root/api/app/index.rst:92
msgid "Устанавливает шаблон для форматирования строки описания команды." msgid "Устанавливает шаблон для форматирования описания команды."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:94 #: ../../root/api/app/index.rst:94
msgid "" msgid "Обработчик принимает триггер команды (``str``) и её описание (``str``)."
"Обработчик принимает триггер команды (``str``) и её описание (``str``), а"
" возвращает отформатированную строку."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:100 #: ../../root/api/app/index.rst:100
msgid "Устанавливает обработчик для некорректного синтаксиса флагов." msgid "Устанавливает обработчик при некорректном введённом синтаксисе флагов."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:102 ../../root/api/app/index.rst:110 #: ../../root/api/app/index.rst:102 ../../root/api/app/index.rst:110
@@ -172,19 +174,19 @@ msgid "Обработчик принимает строку, введённую
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:108 #: ../../root/api/app/index.rst:108
msgid "Устанавливает обработчик для повторяющихся флагов в команде." msgid "Устанавливает обработчик при повторяющихся флагах в введённой команде."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:116 #: ../../root/api/app/index.rst:116
msgid "Устанавливает обработчик для неизвестной команды." msgid "Устанавливает обработчик при вводе неизвестной команды."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:118 #: ../../root/api/app/index.rst:118
msgid "Обработчик принимает объект ``InputCommand``." msgid "Обработчик принимает объект ``InputCommand`` - объект введённой команды."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:124 #: ../../root/api/app/index.rst:124
msgid "Устанавливает обработчик для пустого ввода." msgid "Устанавливает обработчик при вводе пустой строки."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:126 #: ../../root/api/app/index.rst:126
@@ -205,227 +207,37 @@ msgstr ""
#: ../../root/api/app/index.rst:149 #: ../../root/api/app/index.rst:149
msgid "" msgid ""
"`PredefinedMessages` — это перечисление (Enum), содержащее набор готовых " "``PredefinedMessages`` — это контейнер, содержащий набор готовых к "
"к использованию строковых сообщений. Они отформатированы с использованием" "использованию сообщений. Они отформатированы с использованием синтаксиса "
" синтаксиса `rich` и предназначены для вывода стандартной информации, " "``rich`` и предназначены для вывода стандартной информации, такой как "
"такой как подсказки по использованию." "подсказки по использованию."
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:151 #: ../../root/api/app/index.rst:151
msgid "Реккомендуется использовать их при старте приложения." msgid "Реккомендуется использовать их при старте приложения."
msgstr "" 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]``" msgid "Строка: ``[b dim]Usage[/b dim]: [i]<command> <[green]flags[/green]>[/i]``"
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:179 #: ../../root/api/app/index.rst:180
msgid "Отображается как: ``Usage: <command> <flags>``" msgid "Отображается как: ``Usage: <command> <flags>``"
msgstr "" 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]``" msgid "Строка: ``[b dim]Help[/b dim]: [i]<command>[/i] [b red]--help[/b red]``"
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:185 #: ../../root/api/app/index.rst:186
msgid "Отображается как: ``Help: <command> --help``" msgid "Отображается как: ``Help: <command> --help``"
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:189 #: ../../root/api/app/index.rst:190
msgid "Строка: ``[b dim]Autocomplete[/b dim]: [i]<part>[/i] [bold]<tab>``" msgid "Строка: ``[b dim]Autocomplete[/b dim]: [i]<part>[/i] [bold]<tab>``"
msgstr "" msgstr ""
#: ../../root/api/app/index.rst:191 #: ../../root/api/app/index.rst:192
msgid "Отображается как: ``Autocomplete: <part> <tab>``" msgid "Отображается как: ``Autocomplete: <part> <tab>``"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -25,77 +25,70 @@ msgstr ""
#: ../../root/api/bridge.rst:6 #: ../../root/api/bridge.rst:6
msgid "" msgid ""
"`DataBridge` — это сущность, предоставляющая временное хранилище данных, " "``DataBridge`` — это сущность, предоставляющая временное хранилище "
"которое существует в рамках одной сессии приложения (от запуска до " "данных, которое существует в рамках одной сессии приложения (от запуска "
"выхода). Она предназначена для обмена данными между вызовами разных " "до выхода). Она предназначена для обмена данными между обработчиками."
"команд."
msgstr "" msgstr ""
#: ../../root/api/bridge.rst:8 #: ../../root/api/bridge.rst:8
msgid "" msgid "Основной способ получения доступа к ``DataBridge`` — через ``di``."
"Основной способ получения доступа к `DataBridge` — через систему "
"внедрения зависимостей (DI)."
msgstr ""
#: ../../root/api/bridge.rst:19
msgid "**Практический пример: Аутентификация**"
msgstr "" msgstr ""
#: ../../root/api/bridge.rst:21 #: ../../root/api/bridge.rst:21
msgid "**Практический пример: Аутентификация**"
msgstr ""
#: ../../root/api/bridge.rst:23
msgid "" msgid ""
"Рассмотрим пример, где команда `login` сохраняет токен аутентификации, а " "Рассмотрим пример, где команда `login` сохраняет токен аутентификации, а "
"команда `get-profile` использует его." "команда `get-profile` использует его."
msgstr "" msgstr ""
#: ../../root/api/bridge.rst:27
msgid "**Как это работает:**"
msgstr ""
#: ../../root/api/bridge.rst:29 #: ../../root/api/bridge.rst:29
msgid "" msgid "**Как это работает:**"
"При вызове обработчика `dishka` автоматически внедряет экземпляр "
"`DataBridge`."
msgstr ""
#: ../../root/api/bridge.rst:30
msgid ""
"Команда ``login --username <имя>`` вызывает `login_handler`, который "
"через внедрённый `data_bridge` сохраняет токен."
msgstr "" msgstr ""
#: ../../root/api/bridge.rst:31 #: ../../root/api/bridge.rst:31
msgid "" msgid ""
"Команда `get-profile` вызывает `get_profile_handler`, который так же " "При вызове обработчика ``dishka`` автоматически внедряет экземпляр "
"получает `data_bridge` и извлекает из него токен." "``DataBridge``."
msgstr "" msgstr ""
#: ../../root/api/bridge.rst:34 #: ../../root/api/bridge.rst:32
msgid "API класса"
msgstr ""
#: ../../root/api/bridge.rst:40
msgid "" 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 "" msgstr ""
#: ../../root/api/bridge.rst:44 #: ../../root/api/bridge.rst:46
msgid "Обновляет хранилище данными из словаря." msgid "Обновляет хранилище данными из словаря."
msgstr "" msgstr ""
#: ../../root/api/bridge.rst:48 #: ../../root/api/bridge.rst:50
msgid "Возвращает все данные из хранилища." msgid "Возвращает все данные из хранилища."
msgstr "" msgstr ""
#: ../../root/api/bridge.rst:52 #: ../../root/api/bridge.rst:54
msgid "Возвращает значение по ключу или `None`, если ключ не найден." msgid "Возвращает значение по ключу или ``None``, если ключ не найден."
msgstr "" msgstr ""
#: ../../root/api/bridge.rst:56 #: ../../root/api/bridge.rst:58
msgid "Удаляет значение по ключу. Вызывает `KeyError`, если ключ не найден." msgid "Удаляет значение по ключу. Вызывает ``KeyError``, если ключ не найден."
msgstr "" msgstr ""
#: ../../root/api/bridge.rst:60 #: ../../root/api/bridge.rst:62
msgid "Полностью очищает хранилище." msgid "Полностью очищает хранилище."
msgstr "" msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -27,8 +27,6 @@ msgstr ""
msgid "" msgid ""
"``Flag`` — это сущность, описывающая флаг команды. Её основная задача — " "``Flag`` — это сущность, описывающая флаг команды. Её основная задача — "
"определить параметры флага, включая его имя, префикс и правила валидации." "определить параметры флага, включая его имя, префикс и правила валидации."
" `Flag` используется при создании команд и предоставляет механизм для "
"проверки значений, введённых пользователем."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:10 #: ../../root/api/command/flag.rst:10
@@ -46,7 +44,7 @@ msgstr ""
#: ../../root/api/command/flag.rst:14 #: ../../root/api/command/flag.rst:14
msgid "" msgid ""
":ref:`Общая информация <root_flags>` о флагах и их использовании в " ":ref:`Общая информация <root_flags>` о флагах и их использовании в "
"приложении ``Argenta``" "``Argenta``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:19 #: ../../root/api/command/flag.rst:19
@@ -68,8 +66,8 @@ msgstr ""
#: ../../root/api/command/flag.rst:34 #: ../../root/api/command/flag.rst:34
msgid "" msgid ""
"``possible_values``: Правила валидации значения. Может быть списком " "``possible_values``: Правила валидации значения. Может быть списком "
"строк, регулярным выражением или значением из `PossibleValues`. По " "строк, регулярным выражением или значением из ``PossibleValues``. По "
"умолчанию `PossibleValues.ALL`." "умолчанию ``PossibleValues.ALL``, то есть любое значение допустимо."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:36 #: ../../root/api/command/flag.rst:36
@@ -85,258 +83,232 @@ msgid "Префикс флага. Один из: ``\"-\"``, ``\"--\"``, ``\"---\
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:48 #: ../../root/api/command/flag.rst:48
msgid "Определяет допустимые значения для флага:" msgid "Допустимые значения для флага."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:50 #: ../../root/api/command/flag.rst:50 ../../root/api/command/flag.rst:93
msgid "Список строк: флаг принимает только значения из этого списка." #: ../../root/api/command/flag.rst:113 ../../root/api/command/flag.rst:136
msgstr "" #: ../../root/api/command/flag.rst:253
#: ../../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
msgid "**Пример использования:**" msgid "**Пример использования:**"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:64 #: ../../root/api/command/flag.rst:59
msgid "Свойства" msgid "Свойства"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:67 #: ../../root/api/command/flag.rst:62
msgid "string_entity" msgid "string_entity"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:75 #: ../../root/api/command/flag.rst:70
msgid "Возвращает строковое представление флага в формате `prefix + name`." msgid "Возвращает строковое представление флага в формате ``prefix + name``."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst #: ../../root/api/command/flag.rst
msgid "return" msgid "return"
msgstr "" 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 "Строковое представление флага" msgid "Строковое представление флага"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:79 #: ../../root/api/command/flag.rst:74
msgid "" msgid ""
"Это свойство объединяет префикс и имя в единую строку, которая " "Это свойство объединяет префикс и имя в единую строку, которая "
"представляет флаг так, как он выглядел бы в командной строке." "представляет флаг так, как он выглядел бы в командной строке."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:90 #: ../../root/api/command/flag.rst:79
msgid "Магические методы" msgid "Магические методы"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:93 #: ../../root/api/command/flag.rst:82
msgid "__str__" msgid "__str__"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:100 #: ../../root/api/command/flag.rst:89
msgid "Возвращает строковое представление флага (аналогично `string_entity`)." msgid "Возвращает строковое представление флага (аналогично ``string_entity``)."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:113 #: ../../root/api/command/flag.rst:102
msgid "__repr__" msgid "__repr__"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:120 #: ../../root/api/command/flag.rst:109
msgid "Возвращает отладочное представление объекта." msgid "Возвращает отладочное представление объекта."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:122 #: ../../root/api/command/flag.rst:111
msgid "Строка в формате `Flag<prefix=..., name=...>`." msgid "Строка в формате ``Flag<prefix=..., name=...>``."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:133 #: ../../root/api/command/flag.rst:122
msgid "__eq__" msgid "__eq__"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:140 #: ../../root/api/command/flag.rst:129
msgid "" msgid ""
"Сравнивает два флага на равенство по их строковому представлению " "Сравнивает два флага на равенство по их строковому представлению "
"(`string_entity`)." "(``string_entity``)."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst #: ../../root/api/command/flag.rst
msgid "param other" msgid "param other"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:142 #: ../../root/api/command/flag.rst:131
msgid "Объект для сравнения" msgid "Объект для сравнения"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:143 #: ../../root/api/command/flag.rst:132
msgid "``True``, если флаги равны, иначе ``False``" msgid "**True**, если флаги равны, иначе **False**"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst #: ../../root/api/command/flag.rst:134
msgid "raises NotImplementedError" msgid "Два флага считаются равными, если их ``string_entity`` идентичны."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:144 #: ../../root/api/command/flag.rst:147
msgid "Если `other` не является экземпляром `Flag`."
msgstr ""
#: ../../root/api/command/flag.rst:146
msgid "Два флага считаются равными, если их `string_entity` идентичны."
msgstr ""
#: ../../root/api/command/flag.rst:159
msgid "PredefinedFlags" msgid "PredefinedFlags"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:161 #: ../../root/api/command/flag.rst:149
msgid "``argenta.command.PredefinedFlags``" msgid "``argenta.command.PredefinedFlags``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:163 #: ../../root/api/command/flag.rst:151
msgid "" msgid ""
"Класс `PredefinedFlags` предоставляет набор готовых флагов для " "Класс ``PredefinedFlags`` предоставляет набор готовых флагов для "
"использования в приложениях без их ручного создания. Эти флаги покрывают " "использования в приложениях без их ручного создания. Эти флаги покрывают "
"наиболее распространённые сценарии и следуют общепринятым соглашениям." "распространённые сценарии."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:165 #: ../../root/api/command/flag.rst:153
msgid "" msgid ""
"Все предопределённые флаги являются атрибутами класса и представляют " "Все предопределённые флаги являются атрибутами класса и представляют "
"собой готовые экземпляры `Flag`." "собой готовые экземпляры ``Flag``."
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:170 #: ../../root/api/command/flag.rst:158
msgid "Информационные флаги" msgid "Информационные флаги"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:175 #: ../../root/api/command/flag.rst:163
msgid "Флаг для отображения справки: ``--help``" msgid "Флаг для отображения справки: ``--help``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:177 #: ../../root/api/command/flag.rst:165
msgid "``name``: ``\"help\"``" msgid "``name``: ``\"help\"``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:178 ../../root/api/command/flag.rst:194 #: ../../root/api/command/flag.rst:166 ../../root/api/command/flag.rst:182
#: ../../root/api/command/flag.rst:236 ../../root/api/command/flag.rst:252 #: ../../root/api/command/flag.rst:224 ../../root/api/command/flag.rst:240
msgid "``prefix``: ``\"--\"`` (по умолчанию)" msgid "``prefix``: ``\"--\"`` (по умолчанию)"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:179 ../../root/api/command/flag.rst:187 #: ../../root/api/command/flag.rst:167 ../../root/api/command/flag.rst:175
#: ../../root/api/command/flag.rst:195 ../../root/api/command/flag.rst:203 #: ../../root/api/command/flag.rst:183 ../../root/api/command/flag.rst:191
#: ../../root/api/command/flag.rst:216 ../../root/api/command/flag.rst:224 #: ../../root/api/command/flag.rst:204 ../../root/api/command/flag.rst:212
msgid "``possible_values``: ``PossibleValues.NEITHER``" msgid "``possible_values``: ``PossibleValues.NEITHER``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:183 #: ../../root/api/command/flag.rst:171
msgid "Короткая версия флага справки: ``-H``" msgid "Короткая версия флага справки: ``-H``"
msgstr "" 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\"``" msgid "``name``: ``\"H\"``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:186 ../../root/api/command/flag.rst:202 #: ../../root/api/command/flag.rst:174 ../../root/api/command/flag.rst:190
#: ../../root/api/command/flag.rst:223 ../../root/api/command/flag.rst:244 #: ../../root/api/command/flag.rst:211 ../../root/api/command/flag.rst:232
#: ../../root/api/command/flag.rst:260 #: ../../root/api/command/flag.rst:248
msgid "``prefix``: ``\"-\"``" msgid "``prefix``: ``\"-\"``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:191 #: ../../root/api/command/flag.rst:179
msgid "Флаг для отображения информации: ``--info``" msgid "Флаг для отображения информации: ``--info``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:193 #: ../../root/api/command/flag.rst:181
msgid "``name``: ``\"info\"``" msgid "``name``: ``\"info\"``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:199 #: ../../root/api/command/flag.rst:187
msgid "Короткая версия флага информации: ``-I``" msgid "Короткая версия флага информации: ``-I``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:201 #: ../../root/api/command/flag.rst:189
msgid "``name``: ``\"I\"``" msgid "``name``: ``\"I\"``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:208 #: ../../root/api/command/flag.rst:196
msgid "Флаги выбора" msgid "Флаги выбора"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:212 #: ../../root/api/command/flag.rst:200
msgid "Флаг для выбора всех элементов: ``--all``" msgid "Флаг для выбора всех элементов: ``--all``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:214 #: ../../root/api/command/flag.rst:202
msgid "``name``: ``\"all\"``" msgid "``name``: ``\"all\"``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:215 #: ../../root/api/command/flag.rst:203
msgid "``prefix``: ``\"--\"``" msgid "``prefix``: ``\"--\"``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:220 #: ../../root/api/command/flag.rst:208
msgid "Короткая версия флага выбора всех элементов: ``-A``" msgid "Короткая версия флага выбора всех элементов: ``-A``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:222 #: ../../root/api/command/flag.rst:210
msgid "``name``: ``\"A\"``" msgid "``name``: ``\"A\"``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:229 #: ../../root/api/command/flag.rst:217
msgid "Сетевые флаги" msgid "Сетевые флаги"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:233 #: ../../root/api/command/flag.rst:221
msgid "Флаг для указания IP-адреса хоста: ``--host``" msgid "Флаг для указания IP-адреса хоста: ``--host``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:235 #: ../../root/api/command/flag.rst:223
msgid "``name``: ``\"host\"``" msgid "``name``: ``\"host\"``"
msgstr "" 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 #, python-brace-format
msgid "" msgid ""
"``possible_values``: Регулярное выражение для валидации IPv4: " "``possible_values``: Регулярное выражение для валидации IPv4: "
"``r\"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$\"``" "``r\"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$\"``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:241 #: ../../root/api/command/flag.rst:229
msgid "Короткая версия флага хоста: ``-H``" msgid "Короткая версия флага хоста: ``-H``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:249 #: ../../root/api/command/flag.rst:237
msgid "Флаг для указания порта: ``--port``" msgid "Флаг для указания порта: ``--port``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:251 #: ../../root/api/command/flag.rst:239
msgid "``name``: ``\"port\"``" msgid "``name``: ``\"port\"``"
msgstr "" 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 #, python-brace-format
msgid "" msgid ""
"``possible_values``: Регулярное выражение для валидации порта: " "``possible_values``: Регулярное выражение для валидации порта: "
"``r\"^\\d{1,5}$\"``" "``r\"^\\d{1,5}$\"``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:257 #: ../../root/api/command/flag.rst:245
msgid "Короткая версия флага порта: ``-P``" msgid "Короткая версия флага порта: ``-P``"
msgstr "" msgstr ""
#: ../../root/api/command/flag.rst:259 #: ../../root/api/command/flag.rst:247
msgid "``name``: ``\"P\"``" msgid "``name``: ``\"P\"``"
msgstr "" msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -25,77 +25,66 @@ msgstr ""
#: ../../root/api/command/flags.rst:6 #: ../../root/api/command/flags.rst:6
msgid "" msgid ""
"`Flags` — это коллекция флагов команды. Её основная задача — группировать" "``Flags`` — это коллекция флагов команды. Её основная задача — "
" и управлять набором флагов, зарегистрированных для конкретной команды. " "группировать и управлять набором флагов, зарегистрированных для "
"`Flags` служит контейнером, который позволяет удобно добавлять, " "конкретной команды. ``Flags`` служит контейнером, который позволяет "
"извлекать, итерировать флаги и проверять их наличие." "удобно добавлять, извлекать, итерировать флаги и проверять их наличие."
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:8 #: ../../root/api/command/flags.rst:10
msgid ""
"`Flags` наследуется от базового класса `BaseFlags` и специализируется на "
"работе с объектами типа `Flag`. Этот класс используется при создании "
"команд с несколькими флагами и предоставляет интерфейс для управления "
"ими."
msgstr ""
#: ../../root/api/command/flags.rst:12
msgid "" msgid ""
"Документация по отдельным флагам (:ref:`Flag <root_api_command_flag>`, " "Документация по отдельным флагам (:ref:`Flag <root_api_command_flag>`, "
":ref:`InputFlag <root_api_command_input_flag>`)" ":ref:`InputFlag <root_api_command_input_flag>`)"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:14 #: ../../root/api/command/flags.rst:12
msgid "" msgid ""
"Документация по :ref:`InputFlags <root_api_command_input_flags>` — " "Документация по :ref:`InputFlags <root_api_command_input_flags>` — "
"коллекция обработанных флагов, введённых пользователем." "коллекция обработанных флагов, введённых пользователем."
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:16 #: ../../root/api/command/flags.rst:14
msgid "" msgid ""
":ref:`Общая информация <root_flags>` о флагах и их использовании в " ":ref:`Общая информация <root_flags>` о флагах и их использовании в "
"приложении ``Argenta``" "приложении ``Argenta``"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:21 #: ../../root/api/command/flags.rst:19
msgid "Инициализация" msgid "Инициализация"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:28 #: ../../root/api/command/flags.rst:26
msgid "Создаёт новую коллекцию флагов." msgid "Создаёт новую коллекцию флагов."
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:30 #: ../../root/api/command/flags.rst:28
msgid "" msgid ""
"``flags``: Необязательный список флагов типа `Flag` для инициализации " "``flags``: Необязательный список флагов типа ``Flag`` для инициализации "
"коллекции. Если не указан, создаётся пустая коллекция." "коллекции. Если не указан, создаётся пустая коллекция."
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:32 #: ../../root/api/command/flags.rst:30
msgid "**Атрибуты:**" msgid "**Атрибуты:**"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:37 #: ../../root/api/command/flags.rst:35
msgid "" msgid "Список всех зарегистрированных флагов типа ``Flag``."
"Список всех зарегистрированных флагов типа `Flag`. Пуст, если флаги не "
"были переданы при инициализации."
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:39 ../../root/api/command/flags.rst:65 #: ../../root/api/command/flags.rst:37 ../../root/api/command/flags.rst:63
#: ../../root/api/command/flags.rst:88 ../../root/api/command/flags.rst:111 #: ../../root/api/command/flags.rst:86 ../../root/api/command/flags.rst:109
#: ../../root/api/command/flags.rst:134 ../../root/api/command/flags.rst:155
msgid "**Пример использования:**" msgid "**Пример использования:**"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:48 #: ../../root/api/command/flags.rst:46
msgid "Методы" msgid "Методы"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:51 #: ../../root/api/command/flags.rst:49
msgid "add_flag" msgid "add_flag"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:58 #: ../../root/api/command/flags.rst:56
msgid "Добавляет флаг в коллекцию." msgid "Добавляет флаг в коллекцию."
msgstr "" msgstr ""
@@ -103,29 +92,27 @@ msgstr ""
msgid "param flag" msgid "param flag"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:60 #: ../../root/api/command/flags.rst:58
msgid "Флаг типа `Flag` для добавления." msgid "Флаг типа ``Flag`` для добавления."
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst #: ../../root/api/command/flags.rst
msgid "return" msgid "return"
msgstr "" 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." msgid "None."
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:63 #: ../../root/api/command/flags.rst:61
msgid "" msgid "Используется для динамического расширения набора флагов."
"Метод добавляет флаг в конец списка `flags`. Используется для "
"динамического расширения набора флагов."
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:74 #: ../../root/api/command/flags.rst:72
msgid "add_flags" msgid "add_flags"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:81 #: ../../root/api/command/flags.rst:79
msgid "Добавляет в коллекцию список флагов." msgid "Добавляет в коллекцию список флагов."
msgstr "" msgstr ""
@@ -133,21 +120,21 @@ msgstr ""
msgid "param flags" msgid "param flags"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:83 #: ../../root/api/command/flags.rst:81
msgid "Список флагов типа `Flag` для добавления." msgid "Список флагов типа ``Flag`` для добавления."
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:86 #: ../../root/api/command/flags.rst:84
msgid "" msgid ""
"Метод расширяет коллекцию, добавляя в неё все флаги из переданного " "Метод расширяет коллекцию, добавляя в неё все флаги из переданного "
"списка. Эффективен для пакетного добавления." "списка. Эффективен для пакетного добавления."
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:97 #: ../../root/api/command/flags.rst:95
msgid "get_flag_by_name" msgid "get_flag_by_name"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:104 #: ../../root/api/command/flags.rst:102
msgid "Возвращает флаг по имени." msgid "Возвращает флаг по имени."
msgstr "" msgstr ""
@@ -155,62 +142,17 @@ msgstr ""
msgid "param name" msgid "param name"
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:106 #: ../../root/api/command/flags.rst:104
msgid "Имя искомого флага." msgid "Имя искомого флага."
msgstr "" msgstr ""
#: ../../root/api/command/flags.rst:105
msgid "Объект ``Flag`` или ``None``, если флаг не найден."
msgstr ""
#: ../../root/api/command/flags.rst:107 #: ../../root/api/command/flags.rst:107
msgid "Объект `Flag` или `None`, если флаг не найден."
msgstr ""
#: ../../root/api/command/flags.rst:109
msgid "" msgid ""
"Метод выполняет поиск по списку `flags` и возвращает первый флаг с " "Метод возвращает флаг с соответствующим именем. Если флаг не найден, "
"соответствующим именем. Если флаг не найден, возвращается `None`." "возвращается ``None``."
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -26,9 +26,8 @@ msgstr ""
#: ../../root/api/command/index.rst:6 #: ../../root/api/command/index.rst:6
msgid "" msgid ""
"``Command`` — это основная единица функциональности в приложении. Каждая " "``Command`` — это основная единица функциональности в приложении. Каждая "
"команда определяет действие, которое пользователь может выполнить, введя " "команда связывает хэндлер с триггером, введя который он будет вызван для "
"соответствующий триггер. Команды регистрируются в роутерах и формируют " "обработки."
"интерфейс взаимодействия с приложением."
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:8 #: ../../root/api/command/index.rst:8
@@ -60,14 +59,14 @@ msgstr ""
#: ../../root/api/command/index.rst:27 #: ../../root/api/command/index.rst:27
msgid "" msgid ""
"``flags``: Набор флагов для настройки поведения. Может быть одиночным " "``flags``: Набор флагов для настройки поведения. Может быть одиночным "
"объектом `Flag` или коллекцией `Flags`." "объектом ``Flag`` или коллекцией ``Flags``."
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:28 #: ../../root/api/command/index.rst:28
msgid "``aliases``: Список строковых псевдонимов для основного триггера." msgid "``aliases``: Список строковых псевдонимов для основного триггера."
msgstr "" 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 "**Атрибуты:**" msgid "**Атрибуты:**"
msgstr "" msgstr ""
@@ -85,8 +84,9 @@ msgstr ""
#: ../../root/api/command/index.rst:42 #: ../../root/api/command/index.rst:42
msgid "" msgid ""
"Объект `Flags`, содержащий все зарегистрированные флаги. Автоматически " "Объект ``Flags``, содержащий все зарегистрированные флаги. Если был "
"конвертируется из одиночного `Flag` в коллекцию при инициализации." "передан ``Flag``, то автоматически конвертируется из одиночного в "
"коллекцию при инициализации."
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:46 #: ../../root/api/command/index.rst:46
@@ -108,9 +108,7 @@ msgid "Регистрация команд"
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:61 #: ../../root/api/command/index.rst:61
msgid "" msgid "Команды передаются в качестве аргумента в декоратор ``@router.command()``."
"Команды регистрируются в роутерах с помощью декоратора "
"``@router.command()``, после чего становятся доступными для вызова."
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:63 #: ../../root/api/command/index.rst:63
@@ -135,19 +133,19 @@ msgstr ""
msgid "**Пример с псевдонимами:**" msgid "**Пример с псевдонимами:**"
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:97 #: ../../root/api/command/index.rst:85
msgid "Теперь пользователь может вызвать команду любым из способов:" msgid "Теперь пользователь может вызвать команду любым из способов:"
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:106 #: ../../root/api/command/index.rst:94
msgid "Все эти варианты выполнят одну и ту же функцию ``handle_shutdown``." msgid "Все эти варианты вызовут один и тот же хэндлер ``handle_shutdown``."
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:113 #: ../../root/api/command/index.rst:101
msgid "InputCommand" msgid "InputCommand"
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:115 #: ../../root/api/command/index.rst:103
msgid "" msgid ""
"``InputCommand`` представляет собой обработанную команду, введённую " "``InputCommand`` представляет собой обработанную команду, введённую "
"пользователем. Этот внутренний класс создаётся автоматически при " "пользователем. Этот внутренний класс создаётся автоматически при "
@@ -155,39 +153,17 @@ msgid ""
"создании пользовательского обработчика для неизвестных команд." "создании пользовательского обработчика для неизвестных команд."
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:118 #: ../../root/api/command/index.rst:106
msgid "" msgid ""
"Подробнее о пользовательских обработчиках исключений см. :ref:`здесь " "Подробнее о пользовательских обработчиках исключений см. :ref:`здесь "
"<root_error_handling>`." "<root_error_handling_unknown_command>`."
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:120 #: ../../root/api/command/index.rst:113
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
msgid "Строковый триггер, введённый пользователем." msgid "Строковый триггер, введённый пользователем."
msgstr "" msgstr ""
#: ../../root/api/command/index.rst:135 #: ../../root/api/command/index.rst:118
msgid "" msgid "Объект ``InputFlags``, содержащий все введённые и распаршенные флаги."
"Объект `InputFlags`, содержащий все переданные с командой флаги. "
"Автоматически конвертируется из одиночного `InputFlag` в коллекцию."
msgstr "" msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -25,7 +25,7 @@ msgstr ""
#: ../../root/api/command/input_flag.rst:6 #: ../../root/api/command/input_flag.rst:6
msgid "" msgid ""
"Объект `InputFlag` представляет собой флаг, введённый пользователем. Он " "Объект ``InputFlag`` представляет собой флаг, введённый пользователем. Он"
" создаётся в результате обработки пользовательского ввода и содержит " " создаётся в результате обработки пользовательского ввода и содержит "
"информацию о распознанном флаге: его имя, префикс, значение и статус " "информацию о распознанном флаге: его имя, префикс, значение и статус "
"валидации." "валидации."
@@ -44,124 +44,93 @@ msgid ""
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:17 #: ../../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 "" msgid ""
"Экземпляры этого класса не предназначены для прямого создания. Они " "Экземпляры этого класса не предназначены для прямого создания. Они "
"содержатся в объекте :ref:`Response <root_api_response>`." "содержатся в объекте :ref:`Response <root_api_response>`."
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:39 #: ../../root/api/command/input_flag.rst:19
msgid "**Атрибуты:**" msgid "**Атрибуты:**"
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:44 #: ../../root/api/command/input_flag.rst:24
msgid "Имя введённого флага." msgid "Имя введённого флага."
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:49 #: ../../root/api/command/input_flag.rst:29
msgid "Префикс флага: ``-``, ``--`` или ``---``." msgid "Префикс флага: ``-``, ``--`` или ``---``."
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:53 #: ../../root/api/command/input_flag.rst:33
msgid "Значение, переданное с флагом. Может быть `None` для флагов без значений." msgid "Значение, переданное с флагом. Может быть `None` для флагов без значений."
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:58 #: ../../root/api/command/input_flag.rst:38
msgid "" msgid ""
"Статус валидации флага: `ValidationStatus.VALID`, " "Статус валидации флага: ``ValidationStatus.VALID``, "
"`ValidationStatus.INVALID` или `ValidationStatus.UNDEFINED`." "``ValidationStatus.INVALID`` или ``ValidationStatus.UNDEFINED``."
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:60 #: ../../root/api/command/input_flag.rst:43
#: ../../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
msgid "Свойства" msgid "Свойства"
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:72 #: ../../root/api/command/input_flag.rst:46
msgid "string_entity" msgid "string_entity"
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:80 #: ../../root/api/command/input_flag.rst:54
msgid "Возвращает строковое представление флага в формате `prefix + name`." msgid "Возвращает строковое представление флага в формате ``prefix + name``."
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst #: ../../root/api/command/input_flag.rst
msgid "return" msgid "return"
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:82 #: ../../root/api/command/input_flag.rst:56
msgid "Строковое представление флага" msgid "Строковое представление флага"
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:84 #: ../../root/api/command/input_flag.rst:61
msgid ""
"Это свойство объединяет префикс и имя в строку, представляющую флаг так, "
"как он был введён в командной строке."
msgstr ""
#: ../../root/api/command/input_flag.rst:95
msgid "Магические методы" msgid "Магические методы"
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:98 #: ../../root/api/command/input_flag.rst:64
msgid "__str__" msgid "__str__"
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:105 #: ../../root/api/command/input_flag.rst:71
msgid "Возвращает строковое представление флага вместе с его значением." msgid "Возвращает строковое представление флага вместе с его значением."
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:107 #: ../../root/api/command/input_flag.rst:73
msgid "Строка в формате `флаг значение`." msgid "Строка в формате ``флаг значение``."
msgstr "" 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__" msgid "__repr__"
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:125 #: ../../root/api/command/input_flag.rst:91
msgid "Возвращает отладочное представление объекта." msgid "Возвращает отладочное представление объекта."
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:127 #: ../../root/api/command/input_flag.rst:93
msgid "Строка в формате `InputFlag<prefix=..., name=..., value=..., status=...>`." msgid ""
"Строка в формате ``InputFlag<prefix=..., name=..., value=..., "
"status=...>``."
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:138 #: ../../root/api/command/input_flag.rst:104
msgid "__eq__" msgid "__eq__"
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:145 #: ../../root/api/command/input_flag.rst:111
msgid "Сравнивает два введённых флага на равенство по имени." msgid "Сравнивает два введённых флага на равенство по имени."
msgstr "" msgstr ""
@@ -169,23 +138,15 @@ msgstr ""
msgid "param other" msgid "param other"
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:147 #: ../../root/api/command/input_flag.rst:113
msgid "Объект для сравнения." msgid "Объект для сравнения."
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst:148 #: ../../root/api/command/input_flag.rst:114
msgid "`True`, если имена флагов совпадают, иначе `False`." msgid "**True**, если имена флагов совпадают, иначе **False**."
msgstr "" msgstr ""
#: ../../root/api/command/input_flag.rst #: ../../root/api/command/input_flag.rst:116
msgid "raises NotImplementedError"
msgstr ""
#: ../../root/api/command/input_flag.rst:149
msgid "Если `other` не является экземпляром `InputFlag`."
msgstr ""
#: ../../root/api/command/input_flag.rst:151
msgid "Два введённых флага считаются равными, если их имена совпадают." msgid "Два введённых флага считаются равными, если их имена совпадают."
msgstr "" msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -25,105 +25,93 @@ msgstr ""
#: ../../root/api/command/input_flags.rst:6 #: ../../root/api/command/input_flags.rst:6
msgid "" msgid ""
"`InputFlags` — это коллекция флагов, введённых пользователем. Её основная" "``InputFlags`` — это коллекция флагов, введённых пользователем. Её "
" задача — группировать и управлять набором флагов, переданных вместе с " "основная задача — группировать и управлять набором флагов, переданных "
"командой. `InputFlags` служит контейнером, который позволяет удобно " "вместе с командой. ``InputFlags`` служит контейнером, который позволяет "
"извлекать, итерировать и проверять наличие флагов, а также работать с их " "удобно извлекать, итерировать и проверять наличие флагов, а также "
"значениями и статусами валидации." "работать с их значениями и статусами валидации."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:8 #: ../../root/api/command/input_flags.rst:10
msgid ""
"`InputFlags` наследуется от `BaseFlags` и специализируется на работе с "
"объектами типа `InputFlag`. Этот класс создаётся автоматически при "
"обработке пользовательского ввода и передаётся в обработчики команд через"
" объект `Response`."
msgstr ""
#: ../../root/api/command/input_flags.rst:12
msgid "" msgid ""
"Документация по отдельным флагам (:ref:`Flag <root_api_command_flag>`, " "Документация по отдельным флагам (:ref:`Flag <root_api_command_flag>`, "
":ref:`InputFlag <root_api_command_input_flag>`)" ":ref:`InputFlag <root_api_command_input_flag>`)"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:14 #: ../../root/api/command/input_flags.rst:12
msgid "" msgid ""
"Документация по :ref:`InputFlags <root_api_command_input_flags>` — " "Документация по :ref:`InputFlags <root_api_command_input_flags>` — "
"коллекция обработанных флагов, введённых пользователем." "коллекция обработанных флагов, введённых пользователем."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:16 #: ../../root/api/command/input_flags.rst:14
msgid "" msgid ""
"Документация по :ref:`Response <root_api_response>` — объект ответа, " "Документация по :ref:`Response <root_api_response>` — объект ответа, "
"содержащий ``InputFlags``" "содержащий ``InputFlags``"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:18 #: ../../root/api/command/input_flags.rst:16
msgid "" msgid ""
":ref:`Общая информация <root_flags>` о флагах и их использовании в " ":ref:`Общая информация <root_flags>` о флагах и их использовании в "
"приложении ``Argenta``" "приложении ``Argenta``"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:23 #: ../../root/api/command/input_flags.rst:21
msgid "Инициализация" msgid "Инициализация"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:30 #: ../../root/api/command/input_flags.rst:28
msgid "Создаёт новую коллекцию введённых флагов." msgid "Создаёт новую коллекцию введённых флагов."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:32 #: ../../root/api/command/input_flags.rst:30
msgid "" msgid ""
"``flags``: Необязательный список флагов типа `InputFlag` для " "``flags``: Необязательный список флагов типа ``InputFlag`` для "
"инициализации коллекции. Если не указан, создаётся пустая коллекция." "инициализации коллекции. Если не указан, создаётся пустая коллекция."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:35 #: ../../root/api/command/input_flags.rst:33
msgid "" msgid ""
"Экземпляры этого класса обычно не создаются напрямую. Они автоматически " "Экземпляры этого класса обычно не создаются напрямую. Они автоматически "
"формируются системой при обработке пользовательского ввода и доступны " "формируются системой при обработке пользовательского ввода и доступны "
"через атрибут `input_flags` объекта `Response`." "через атрибут ``input_flags`` объекта ``Response``."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:37 #: ../../root/api/command/input_flags.rst:35
msgid "**Атрибуты:**" msgid "**Атрибуты:**"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:42 #: ../../root/api/command/input_flags.rst:40
msgid "" msgid ""
"Список всех введённых флагов типа `InputFlag`. Пуст, если флаги не были " "Список всех введённых флагов типа ``InputFlag``. Пуст, если флаги не были"
" переданы при инициализации или пользователь не ввёл их с командой." " переданы при инициализации или пользователь не ввёл их с командой."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:44 #: ../../root/api/command/input_flags.rst:42
#: ../../root/api/command/input_flags.rst:70 #: ../../root/api/command/input_flags.rst:68
#: ../../root/api/command/input_flags.rst:96 #: ../../root/api/command/input_flags.rst:94
#: ../../root/api/command/input_flags.rst:119 #: ../../root/api/command/input_flags.rst:117
#: ../../root/api/command/input_flags.rst:144 #: ../../root/api/command/input_flags.rst:131
#: ../../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
msgid "**Пример использования:**" msgid "**Пример использования:**"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:53 #: ../../root/api/command/input_flags.rst:51
msgid "Методы" msgid "Методы"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:56 #: ../../root/api/command/input_flags.rst:54
msgid "get_flag_by_name" msgid "get_flag_by_name"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:63 #: ../../root/api/command/input_flags.rst:61
msgid "Возвращает введённый флаг по имени." msgid "Возвращает флаг по имени."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst #: ../../root/api/command/input_flags.rst
msgid "param name" msgid "param name"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:65 #: ../../root/api/command/input_flags.rst:63
msgid "Имя искомого флага (без префикса)." msgid "Имя искомого флага (без префикса)."
msgstr "" msgstr ""
@@ -131,21 +119,21 @@ msgstr ""
msgid "return" msgid "return"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:64
msgid "Объект ``InputFlag`` или ``None``, если флаг не найден."
msgstr ""
#: ../../root/api/command/input_flags.rst:66 #: ../../root/api/command/input_flags.rst:66
msgid "Объект `InputFlag` или `None`, если флаг не найден."
msgstr ""
#: ../../root/api/command/input_flags.rst:68
msgid "" msgid ""
"Метод выполняет поиск по списку `flags` и возвращает первый флаг с " "Метод возвращает первый флаг с соответствующим именем (без учёта "
"соответствующим именем (без учёта префикса)." "префикса)."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:79 #: ../../root/api/command/input_flags.rst:77
msgid "add_flag" msgid "add_flag"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:86 #: ../../root/api/command/input_flags.rst:84
msgid "Добавляет введённый флаг в коллекцию." msgid "Добавляет введённый флаг в коллекцию."
msgstr "" msgstr ""
@@ -153,33 +141,33 @@ msgstr ""
msgid "param flag" msgid "param flag"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:88 #: ../../root/api/command/input_flags.rst:86
msgid "Флаг типа `InputFlag` для добавления." msgid "Флаг типа ``InputFlag`` для добавления."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:89 #: ../../root/api/command/input_flags.rst:87
#: ../../root/api/command/input_flags.rst:115 #: ../../root/api/command/input_flags.rst:113
msgid "None." msgid "None."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:91 #: ../../root/api/command/input_flags.rst:89
msgid "" msgid ""
"Метод добавляет флаг в конец списка `flags`. Используется для " "Метод добавляет флаг в конец списка ``flags``. Используется для "
"динамического расширения коллекции." "динамического расширения коллекции."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:94 #: ../../root/api/command/input_flags.rst:92
msgid "" msgid ""
"Этот метод используется редко, так как `InputFlags` обычно создаётся " "Этот метод используется редко, так как `InputFlags` обычно создаётся "
"автоматически. Однако он может быть полезен для тестирования или ручного " "автоматически. Однако он может быть полезен для тестирования или ручного "
"создания коллекций." "создания коллекций."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:105 #: ../../root/api/command/input_flags.rst:103
msgid "add_flags" msgid "add_flags"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:112 #: ../../root/api/command/input_flags.rst:110
msgid "Добавляет в коллекцию список введённых флагов." msgid "Добавляет в коллекцию список введённых флагов."
msgstr "" msgstr ""
@@ -187,160 +175,21 @@ msgstr ""
msgid "param flags" msgid "param flags"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:114 #: ../../root/api/command/input_flags.rst:112
msgid "Список флагов типа `InputFlag` для добавления." msgid "Список флагов типа ``InputFlag`` для добавления."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:117 #: ../../root/api/command/input_flags.rst:115
msgid "" msgid ""
"Метод расширяет коллекцию, добавляя в неё все флаги из переданного " "Метод расширяет коллекцию, добавляя в неё все флаги из переданного "
"списка. Эффективен для пакетного добавления." "списка. Эффективен для пакетного добавления."
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:128 #: ../../root/api/command/input_flags.rst:126
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
msgid "Практические примеры" msgid "Практические примеры"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:249 #: ../../root/api/command/input_flags.rst:129
msgid "Обработка всех флагов с проверкой статусов" msgid "Обработка всех флагов с проверкой статусов"
msgstr "" msgstr ""
#: ../../root/api/command/input_flags.rst:251
msgid ""
"Пример демонстрирует итерацию по всем введённым флагам с проверкой их "
"статусов валидации:"
msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -25,39 +25,39 @@ msgstr ""
#: ../../root/api/command/possible_values.rst:7 #: ../../root/api/command/possible_values.rst:7
msgid "" msgid ""
"`PossibleValues` — это перечисление (`Enum`), которое определяет " "``PossibleValues`` — это перечисление (``Enum``), которое определяет "
"специальные режимы валидации для значений флагов. Его задача — " "специальные режимы валидации для значений флагов. ``PossibleValues`` "
"предоставить стандартные константы для управления поведением флагов. " "используется в параметре ``possible_values`` класса ``Flag``, чтобы "
"`PossibleValues` используется в параметре `possible_values` класса " "указать, может ли флаг принимать значения и какие ограничения на них "
"`Flag`, чтобы указать, может ли флаг принимать значения и какие " "накладываются."
"ограничения на них накладываются."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:9 #: ../../root/api/command/possible_values.rst:9
msgid "" msgid ""
"`PossibleValues` наследуется от `Enum` и содержит два основных значения: " "``PossibleValues`` содержит два основных значения: ``NEITHER`` (для "
"`NEITHER` (для флагов без значений) и `ALL` (для флагов, принимающих " "флагов, которые не могут принимать значения) и ``ALL`` (для флагов, "
"любые значения). Это перечисление используется вместе со списками строк и" "принимающих любые значения). Это перечисление используется вместе со "
" регулярными выражениями для создания гибкой системы валидации." "списками строк и регулярными выражениями для создания гибкой системы "
"валидации."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:12 #: ../../root/api/command/possible_values.rst:12
msgid "" msgid ""
"Результат валидации доступен через атрибут `status` у экземпляра " "Результат валидации доступен через атрибут ``status`` у экземпляра "
"`InputFlag`. Подробнее см. :ref:`здесь <root_api_command_input_flag>`." "``InputFlag``. Подробнее см. :ref:`здесь <root_api_command_input_flag>`."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:16 #: ../../root/api/command/possible_values.rst:16
msgid "" msgid ""
"Документация по :ref:`Flag <root_api_command_flag>` — класс флага, " "Документация по :ref:`Flag <root_api_command_flag>` — класс флага, "
"использующий `PossibleValues`." "использующий ``PossibleValues``."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:18 #: ../../root/api/command/possible_values.rst:18
msgid "" msgid ""
"Документация по :ref:`PredefinedFlags " "Документация по :ref:`ValidationStatus "
"<root_api_command_flag_predefined_flags>` — готовые флаги с примерами " "<root_api_command_validation_status>` — результат валидации ввёденного "
"использования `PossibleValues`." "флага."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:20 #: ../../root/api/command/possible_values.rst:20
@@ -67,129 +67,102 @@ msgid ""
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:25 #: ../../root/api/command/possible_values.rst:25
msgid "Значения enum"
msgstr ""
#: ../../root/api/command/possible_values.rst:28
msgid "NEITHER" msgid "NEITHER"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:35 #: ../../root/api/command/possible_values.rst:32
msgid "Указывает, что флаг **не должен** иметь значения." msgid "Указывает, что флаг **не должен** иметь значения."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:37 #: ../../root/api/command/possible_values.rst:34
msgid "" msgid ""
"Флаги с этим значением работают как булевы переключатели: их наличие в " "Флаги с этим значением работают как булевы переключатели: их наличие в "
"командной строке само по себе является информацией. Попытка передать " "командной строке само по себе является информацией. Попытка передать "
"такому флагу значение приведёт к ошибке валидации." "такому флагу значение приведёт к ошибке валидации."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:39 #: ../../root/api/command/possible_values.rst:36
msgid "**Примеры флагов с** ``NEITHER``:" msgid "**Примеры флагов с** ``NEITHER``:"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:41 #: ../../root/api/command/possible_values.rst:38
msgid "``--help`` — флаг справки" msgid "``--help`` — флаг справки"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:42 #: ../../root/api/command/possible_values.rst:39
msgid "``--verbose`` — флаг подробного вывода" msgid "``--verbose`` — флаг подробного вывода"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:43 #: ../../root/api/command/possible_values.rst:40
msgid "``--force`` — флаг принудительного выполнения" msgid "``--force`` — флаг принудительного выполнения"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:44 #: ../../root/api/command/possible_values.rst:41
msgid "``-A`` / ``--all`` — флаг выбора всех элементов" msgid "``-A`` / ``--all`` — флаг выбора всех элементов"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:46 #: ../../root/api/command/possible_values.rst:43
#: ../../root/api/command/possible_values.rst:73 #: ../../root/api/command/possible_values.rst:68
msgid "**Пример использования:**" msgid "**Пример использования:**"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:55 #: ../../root/api/command/possible_values.rst:52
msgid "ALL" msgid "ALL"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:62 #: ../../root/api/command/possible_values.rst:59
msgid "Указывает, что флаг может принимать **любое** значение." msgid "Указывает, что флаг может принимать **любое** значение."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:64 #: ../../root/api/command/possible_values.rst:61
msgid "" msgid ""
"Флаги с этим значением универсальны и не накладывают ограничений на " "Флаги с этим значением универсальны и не накладывают ограничений на "
"передаваемые данные. Валидация всегда будет успешной." "передаваемые данные. Валидация всегда будет успешной."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:66 #: ../../root/api/command/possible_values.rst:63
msgid "**Примеры флагов с** ``ALL``:" msgid "**Примеры флагов с** ``ALL``:"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:68 #: ../../root/api/command/possible_values.rst:65
msgid "``--output`` — путь к выходному файлу"
msgstr ""
#: ../../root/api/command/possible_values.rst:69
msgid "``--message`` — произвольное текстовое сообщение" msgid "``--message`` — произвольное текстовое сообщение"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:70 #: ../../root/api/command/possible_values.rst:66
msgid "``--name`` — произвольное имя" msgid "``--name`` — произвольное имя"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:71 #: ../../root/api/command/possible_values.rst:77
msgid "``--data`` — произвольные данные"
msgstr ""
#: ../../root/api/command/possible_values.rst:82
msgid "Использование в Flag"
msgstr ""
#: ../../root/api/command/possible_values.rst:85
msgid "Параметр possible_values" msgid "Параметр possible_values"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:87 #: ../../root/api/command/possible_values.rst:79
msgid "" msgid ""
"`PossibleValues` используется как один из возможных типов для параметра " "``PossibleValues`` используется как один из возможных типов для параметра"
"`possible_values` при создании экземпляра `Flag`." " ``possible_values`` при создании экземпляра ``Flag``."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:89 #: ../../root/api/command/possible_values.rst:81
msgid "**Доступные типы для** `possible_values`:" msgid "**Доступные типы для** ``possible_values``:"
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:91 #: ../../root/api/command/possible_values.rst:83
msgid "`PossibleValues.NEITHER`: флаг без значения." msgid "``PossibleValues.NEITHER``: флаг без значения."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:92 #: ../../root/api/command/possible_values.rst:84
msgid "`PossibleValues.ALL`: флаг с любым значением (по умолчанию)." msgid "``PossibleValues.ALL``: флаг с любым значением (по умолчанию)."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:93 #: ../../root/api/command/possible_values.rst:85
msgid "`list[str]`: флаг с ограниченным набором значений." msgid "``list[str]``: флаг с ограниченным набором значений."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:94 #: ../../root/api/command/possible_values.rst:86
msgid "`Pattern[str]`: флаг со значением, проверяемым по регулярному выражению." msgid "``Pattern[str]``: флаг со значением, проверяемым по регулярному выражению."
msgstr "" msgstr ""
#: ../../root/api/command/possible_values.rst:96 #: ../../root/api/command/possible_values.rst:88
msgid "**Пример комбинированного использования:**" msgid "**Пример комбинированного использования:**"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -25,30 +25,28 @@ msgstr ""
#: ../../root/api/command/validation_status.rst:6 #: ../../root/api/command/validation_status.rst:6
msgid "" msgid ""
"`ValidationStatus` — это перечисление (`Enum`), которое определяет " "``ValidationStatus`` — это перечисление, которое определяет состояние "
"состояние валидации флага. Его задача — предоставить стандартные " "валидации флага. Его задача — предоставить стандартные константы для "
"константы для отображения результата проверки. `ValidationStatus` " "отображения результата проверки. ``ValidationStatus`` используется в "
"используется в атрибуте `status` класса `InputFlag`, чтобы сообщить, " "атрибуте ``status`` класса ``InputFlag``."
"прошла ли валидация успешно."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:8 #: ../../root/api/command/validation_status.rst:8
msgid "" msgid ""
"`ValidationStatus` наследуется от `Enum` и содержит три значения: `VALID`" "``ValidationStatus`` содержит три значения: **VALID** (корректный флаг), "
" (корректный флаг), `INVALID` (некорректный) и `UNDEFINED` " "**INVALID** (некорректный) и **UNDEFINED** (незарегистрированный)."
"(незарегистрированный)."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:12 #: ../../root/api/command/validation_status.rst:12
msgid "" msgid ""
"Статус валидации устанавливается автоматически при создании экземпляра " "Статус валидации устанавливается автоматически при создании экземпляра "
"`InputFlag` на основе правил, заданных в соответствующем `Flag`." "``InputFlag`` на основе правил, заданных в соответствующем ``Flag``."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:16 #: ../../root/api/command/validation_status.rst:16
msgid "" msgid ""
"Документация по :ref:`InputFlag <root_api_command_input_flag>` — класс " "Документация по :ref:`InputFlag <root_api_command_input_flag>` — класс "
"введённого флага, использующий `ValidationStatus`." "введённого флага, использующий ``ValidationStatus``."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:18 #: ../../root/api/command/validation_status.rst:18
@@ -64,111 +62,87 @@ msgid ""
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:25 #: ../../root/api/command/validation_status.rst:25
msgid "Значения enum"
msgstr ""
#: ../../root/api/command/validation_status.rst:28
msgid "VALID" msgid "VALID"
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:35 #: ../../root/api/command/validation_status.rst:32
msgid "Указывает, что флаг и его значение **прошли** валидацию." msgid "Указывает, что флаг и его значение **прошли** валидацию."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:37 #: ../../root/api/command/validation_status.rst:34
msgid "" msgid ""
"Флаги с этим статусом соответствуют правилам, заданным в " "Флаги с этим статусом соответствуют правилам, заданным в "
"`possible_values` соответствующего `Flag`. Их можно безопасно " "``possible_values`` соответствующего ``Flag``. Их можно безопасно "
"использовать в логике приложения без дополнительных проверок." "использовать в логике приложения без дополнительных проверок."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:39 #: ../../root/api/command/validation_status.rst:36
msgid "**Условия получения статуса** ``VALID``:" msgid "**Условия получения статуса** ``VALID``:"
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:41 #: ../../root/api/command/validation_status.rst:38
msgid "Флаг с `PossibleValues.NEITHER` передан без значения." msgid "Флаг с ``PossibleValues.NEITHER`` передан без значения."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:42 #: ../../root/api/command/validation_status.rst:39
msgid "Флаг с `PossibleValues.ALL` передан с любым значением или без него." msgid "Флаг с ``PossibleValues.ALL`` передан с любым значением или без него."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:43 #: ../../root/api/command/validation_status.rst:40
msgid "Значение флага входит в список разрешённых." msgid "Значение флага входит в список разрешённых."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:44 #: ../../root/api/command/validation_status.rst:41
msgid "Значение флага соответствует регулярному выражению." msgid "Значение флага соответствует регулярному выражению."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:46 #: ../../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" msgid "INVALID"
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:62 #: ../../root/api/command/validation_status.rst:53
msgid "Указывает, что флаг или его значение **не прошли** валидацию." msgid "Указывает, что флаг или его значение **не прошли** валидацию."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:64 #: ../../root/api/command/validation_status.rst:55
msgid "" msgid ""
"Флаги с этим статусом нарушают правила, заданные в `possible_values` " "Флаги с этим статусом нарушают правила, заданные в ``possible_values`` "
"соответствующего `Flag`. Их следует обрабатывать как ошибочные." "соответствующего ``Flag``. Их следует обрабатывать как ошибочные."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:66 #: ../../root/api/command/validation_status.rst:57
msgid "**Условия получения статуса** ``INVALID``:" msgid "**Условия получения статуса** ``INVALID``:"
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:68 #: ../../root/api/command/validation_status.rst:59
msgid "Флаг с `PossibleValues.NEITHER` передан со значением." msgid "Флаг с ``PossibleValues.NEITHER`` передан со значением."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:69 #: ../../root/api/command/validation_status.rst:60
msgid "Значение флага не входит в список разрешённых." msgid "Значение флага не входит в список разрешённых."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:70 #: ../../root/api/command/validation_status.rst:61
msgid "Значение флага не соответствует регулярному выражению." msgid "Значение флага не соответствует регулярному выражению."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:71 #: ../../root/api/command/validation_status.rst:62
msgid "Флаг требует значение, но передан без него." msgid "Флаг требует значение, но передан без него."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:82 #: ../../root/api/command/validation_status.rst:67
msgid "UNDEFINED" msgid "UNDEFINED"
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:89 #: ../../root/api/command/validation_status.rst:74
msgid "Указывает, что введённый флаг не был зарегистрирован в команде." msgid "Указывает, что введённый флаг не был зарегистрирован в команде."
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:91 #: ../../root/api/command/validation_status.rst:76
msgid "**Условия получения статуса** ``UNDEFINED``:" msgid "**Условия получения статуса** ``UNDEFINED``:"
msgstr "" msgstr ""
#: ../../root/api/command/validation_status.rst:93 #: ../../root/api/command/validation_status.rst:78
msgid "Введённый флаг не найден среди зарегистрированных для данной команды." msgid "Введённый флаг не найден среди зарегистрированных для данной команды."
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -70,151 +70,119 @@ msgstr ""
msgid "Основные компоненты" msgid "Основные компоненты"
msgstr "" msgstr ""
#: ../../root/api/index.rst:34 #: ../../root/api/index.rst:32
msgid ":ref:`App <root_api_app_index>` — Основной класс приложения."
msgstr ""
#: ../../root/api/index.rst:35
msgid "" msgid ""
":ref:`Orchestrator <root_api_orchestrator_index>` — Класс для управления " ":ref:`App <root_api_app_index>` — Объект приложения, который отвечает за "
"жизненным циклом." "логику роутинга, настройки, валидации и т.д."
msgstr "" 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 "" msgid ""
":ref:`Router <root_api_router>` — Класс для группировки и регистрации " ":ref:`Router <root_api_router>` — Класс для группировки и регистрации "
"команд." "команд."
msgstr "" msgstr ""
#: ../../root/api/index.rst:37 #: ../../root/api/index.rst:35
msgid ":ref:`Command <root_api_command_index>` — Класс для создания команд." msgid ""
":ref:`Command <root_api_command_index>` — Класс для создания команд при "
"инициализации хэндлеров."
msgstr "" msgstr ""
#: ../../root/api/index.rst:38 #: ../../root/api/index.rst:36
msgid "" msgid ""
":ref:`Response <root_api_response>` — Объект ответа, передаваемый в " ":ref:`Response <root_api_response>` — Объект ответа, передаваемый в "
"обработчики." "обработчики."
msgstr "" msgstr ""
#: ../../root/api/index.rst:41 #: ../../root/api/index.rst:39
msgid "Команды и флаги" msgid "Команды и флаги"
msgstr "" msgstr ""
#: ../../root/api/index.rst:54 #: ../../root/api/index.rst:52
msgid ":ref:`Flag <root_api_command_flag>` — Класс для описания флага." msgid ":ref:`Flag <root_api_command_flag>` — Класс для описания флага."
msgstr "" msgstr ""
#: ../../root/api/index.rst:55 #: ../../root/api/index.rst:53
msgid ":ref:`Flags <root_api_command_flags>` — Коллекция для регистрации флагов." msgid ":ref:`Flags <root_api_command_flags>` — Коллекция для регистрации флагов."
msgstr "" msgstr ""
#: ../../root/api/index.rst:56 #: ../../root/api/index.rst:54
msgid "" msgid ""
":ref:`InputFlag <root_api_command_input_flag>` — Класс для введённого " ":ref:`InputFlag <root_api_command_input_flag>` — Класс для введённого "
"пользователем флага." "пользователем флага."
msgstr "" msgstr ""
#: ../../root/api/index.rst:57 #: ../../root/api/index.rst:55
msgid "" msgid ""
":ref:`InputFlags <root_api_command_input_flags>` — Коллекция введённых " ":ref:`InputFlags <root_api_command_input_flags>` — Коллекция введённых "
"флагов." "флагов."
msgstr "" msgstr ""
#: ../../root/api/index.rst:58 #: ../../root/api/index.rst:56
msgid "" msgid ""
":ref:`PossibleValues <root_api_command_possible_values>` — Правила " ":ref:`PossibleValues <root_api_command_possible_values>` — Правила "
"валидации значений флагов." "валидации значений флага."
msgstr "" msgstr ""
#: ../../root/api/index.rst:59 #: ../../root/api/index.rst:57
msgid "" msgid ""
":ref:`ValidationStatus <root_api_command_validation_status>` — Статусы " ":ref:`ValidationStatus <root_api_command_validation_status>` — Статусы "
"валидации флагов." "валидации флагов."
msgstr "" msgstr ""
#: ../../root/api/index.rst:60 #: ../../root/api/index.rst:58
msgid "``PredefinedFlags`` — Готовые наборы флагов (например, ``--help``)." msgid ""
":ref:`PredefinedFlags <root_api_command_flag_predefined_flags>` — "
"Коллекция предопределённых флагов."
msgstr "" msgstr ""
#: ../../root/api/index.rst:63 #: ../../root/api/index.rst:61
msgid "Настройка приложения" msgid "Настройка приложения"
msgstr "" 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 #: ../../root/api/index.rst:73
msgid "" msgid ""
":ref:`AutoCompleter <root_api_app_autocompleter>` — Базовый класс для " ":ref:`DynamicDividingLine <root_api_app_dividing_lines>` — Динамическая "
"автодополнения." "разделительная линия для оформления вывода."
msgstr "" msgstr ""
#: ../../root/api/index.rst:74 #: ../../root/api/index.rst:74
msgid "" msgid ""
":ref:`StaticDividingLine <root_api_app_dividing_lines>` — Статическая " ":ref:`PredefinedMessages <root_api_predefined_messages>` — Готовые "
"разделительная линия." "сообщения для вывода при старте приложения."
msgstr "" msgstr ""
#: ../../root/api/index.rst:75 #: ../../root/api/index.rst:77
msgid ""
":ref:`DynamicDividingLine <root_api_app_dividing_lines>` — Динамическая "
"разделительная линия."
msgstr ""
#: ../../root/api/index.rst:76
msgid "``PredefinedMessages`` — Готовые системные сообщения."
msgstr ""
#: ../../root/api/index.rst:79
msgid "Внедрение зависимостей" msgid "Внедрение зависимостей"
msgstr "" msgstr ""
#: ../../root/api/index.rst:87 #: ../../root/api/index.rst:85
msgid "" msgid ""
":ref:`FromDishka <root_dependency_injection>` — Маркер для внедрения " ":ref:`FromDishka <root_dependency_injection>` — Маркер аргумента функции "
"зависимостей." "как зависимости, которая должна быть инжектирована."
msgstr "" msgstr ""
#: ../../root/api/index.rst:88 #: ../../root/api/index.rst:86
msgid "" msgid ""
":ref:`inject <root_dependency_injection>` — Декоратор для асинхронного " ":ref:`inject <root_dependency_injection>` — Декоратор для инжектирования "
"внедрения." "зависимостей, указанных в сигнатуре."
msgstr "" msgstr ""
#~ msgid "Публичный API"
#~ msgstr ""
#~ msgid ""
#~ "В данном разделе приводятся сведения о"
#~ " публичной части интерфейса библиотеки:"
#~ msgstr ""
#~ msgid ""
#~ "Классы и функции, предназначенные для "
#~ "прямой интеграции в сторонние приложения."
#~ msgstr ""
#~ msgid ""
#~ "Советы по совместимости, ограничения и "
#~ "поддерживаемые сценарии использования."
#~ msgstr ""
#~ msgid ""
#~ "Примеры типовой интеграции, подробные "
#~ "сигнатуры методов и описание возвращаемых "
#~ "сущностей."
#~ msgstr ""
#~ msgid ""
#~ "Гарантии стабильности API, поддержка и "
#~ "обратная совместимость между версиями."
#~ msgstr ""
#~ msgid ""
#~ "Интерфейсы, не указанные в этом разделе,"
#~ " считаются внутренними и не подлежат "
#~ "использованию вне самой библиотеки. При "
#~ "разработке собственных решений рекомендуем "
#~ "обращаться именно к описанным здесь "
#~ "компонентам — это даст стабильность и"
#~ " гарантии на будущее развитие ваших "
#~ "продуктов с использованием ``Argenta``."
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -58,35 +58,35 @@ msgstr ""
msgid "``epilog``: Дополнительная информация для отображения в конце справки." msgid "``epilog``: Дополнительная информация для отображения в конце справки."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:29 #: ../../root/api/orchestrator/argparser.rst:31
msgid "Основные методы и атрибуты" msgid "Атрибуты"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:33 #: ../../root/api/orchestrator/argparser.rst:35
msgid "" msgid ""
"Экземпляр ``ArgSpace``, содержащий все обработанные аргументы командной " "Экземпляр ``ArgSpace``, содержащий все обработанные аргументы командной "
"строки. Подробнее см. :ref:`здесь <root_api_orchestrator_argspace>`." "строки. Подробнее см. :ref:`здесь <root_api_orchestrator_argspace>`."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:36 #: ../../root/api/orchestrator/argparser.rst:38
msgid "" msgid ""
"До инициализации ``Orchestrator``, в конструктор которого был передан " "До инициализации ``Orchestrator``, в конструктор которого был передан "
"экземпляр ``ArgParser``, атрибут ``parsed_argspace`` будет содержать " "экземпляр ``ArgParser``, атрибут ``parsed_argspace`` будет содержать "
"пустой ``ArgSpace``." "пустой ``ArgSpace``."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:38 #: ../../root/api/orchestrator/argparser.rst:40
msgid "" msgid ""
"Парсинг и валидация аргументов происходят при инициализации " "Парсинг и валидация аргументов происходят при инициализации "
"``Orchestrator``, поэтому использовать ``parsed_argspace`` " "``Orchestrator``, поэтому использовать ``parsed_argspace`` "
"**целесообразно только после** этого." "**целесообразно только после** этого."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:43 #: ../../root/api/orchestrator/argparser.rst:45
msgid "Лучшие практики" msgid "Лучшие практики"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:45 #: ../../root/api/orchestrator/argparser.rst:47
msgid "" msgid ""
"Использовать атрибут ``parsed_argspace`` рекомендуется только на этапе " "Использовать атрибут ``parsed_argspace`` рекомендуется только на этапе "
"настройки приложения. В обработчиках лучшей практикой является получение " "настройки приложения. В обработчиках лучшей практикой является получение "
@@ -94,115 +94,41 @@ msgid ""
"<root_dependency_injection>`." "<root_dependency_injection>`."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:48 #: ../../root/api/orchestrator/argparser.rst:49
msgid "Пример использования" msgid "**Пример использования:**"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:55 #: ../../root/api/orchestrator/argparser.rst:56
msgid "Обработка ошибок" msgid "Обработка ошибок"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:58 #: ../../root/api/orchestrator/argparser.rst:59
msgid "" msgid ""
"Про типы аргументов подробнее в :ref:`Arguments " "Про типы аргументов подробнее в :ref:`Arguments "
"<root_api_orchestrator_arguments>`" "<root_api_orchestrator_arguments>`"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:60 #: ../../root/api/orchestrator/argparser.rst:61
msgid "" msgid ""
"При работе с аргументами командной строки стандартный ``ArgumentParser`` " "При работе с аргументами командной строки стандартный ``ArgumentParser`` "
"автоматически обрабатывает следующие ситуации:" "автоматически обрабатывает следующие ситуации:"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:62 #: ../../root/api/orchestrator/argparser.rst:63
msgid "**Отсутствие обязательного аргумента:**" msgid "**Отсутствие обязательного аргумента:**"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:70 #: ../../root/api/orchestrator/argparser.rst:71
msgid "**Недопустимое значение из списка choices:**" msgid "**Недопустимое значение из списка possible_values:**"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:78 #: ../../root/api/orchestrator/argparser.rst:79
msgid "**Использование устаревшего аргумента:**" msgid "**Использование устаревшего аргумента:**"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argparser.rst:80 #: ../../root/api/orchestrator/argparser.rst:81
msgid "" msgid ""
"При использовании аргумента с ``is_deprecated=True`` выводится " "При использовании аргумента с ``is_deprecated=True`` выводится "
"предупреждение, но выполнение продолжается:" "предупреждение, но выполнение продолжается:"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -33,43 +33,36 @@ msgstr ""
#: ../../root/api/orchestrator/argspace.rst:8 #: ../../root/api/orchestrator/argspace.rst:8
msgid "" msgid ""
"``ArgSpace`` создаётся автоматически после обработки аргументов с помощью" "``ArgSpace`` создаётся автоматически после обработки аргументов с помощью"
" `ArgParser` и содержит коллекцию объектов `InputArgument`." " ``ArgParser`` и содержит коллекцию объектов ``InputArgument``."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:13 #: ../../root/api/orchestrator/argspace.rst:13
msgid "Инициализация" msgid "Инициализация"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:20 #: ../../root/api/orchestrator/argspace.rst:15
msgid "Создаёт новое пространство аргументов."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:22
msgid "" msgid ""
"``all_arguments``: Список обработанных аргументов в виде объектов " "Создание экземпляров класса ``ArgSpace`` происходит под `капотом`, вам не"
"`InputArgument`. Каждый элемент содержит имя, значение и тип исходного " " нужно создавать их вручную."
"аргумента."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:24 #: ../../root/api/orchestrator/argspace.rst:17
msgid "**Атрибуты:**" msgid "**Атрибуты:**"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:28 #: ../../root/api/orchestrator/argspace.rst:21
msgid "" msgid "Список всех обработанных аргументов типа ``InputArgument``."
"Список всех обработанных аргументов типа `InputArgument`, включая "
"значения по умолчанию для не указанных параметров."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:33 #: ../../root/api/orchestrator/argspace.rst:26
msgid "Методы" msgid "Методы"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:36 #: ../../root/api/orchestrator/argspace.rst:29
msgid "get_by_name" msgid "get_by_name"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:43 #: ../../root/api/orchestrator/argspace.rst:36
msgid "Возвращает аргумент по имени." msgid "Возвращает аргумент по имени."
msgstr "" msgstr ""
@@ -77,7 +70,7 @@ msgstr ""
msgid "param name" msgid "param name"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:45 #: ../../root/api/orchestrator/argspace.rst:38
msgid "Имя искомого аргумента." msgid "Имя искомого аргумента."
msgstr "" msgstr ""
@@ -85,26 +78,21 @@ msgstr ""
msgid "return" msgid "return"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:46 #: ../../root/api/orchestrator/argspace.rst:39
msgid "Объект `InputArgument` или `None`, если аргумент не найден." msgid "Объект ``InputArgument`` или ``None``, если аргумент не найден."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:48 #: ../../root/api/orchestrator/argspace.rst:41
msgid "" #: ../../root/api/orchestrator/argspace.rst:63
"Метод выполняет линейный поиск по списку `all_arguments`. Если аргумент " #: ../../root/api/orchestrator/argspace.rst:90
"не найден, возвращается `None`."
msgstr ""
#: ../../root/api/orchestrator/argspace.rst:50
#: ../../root/api/orchestrator/argspace.rst:86
msgid "**Пример использования:**" msgid "**Пример использования:**"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:72 #: ../../root/api/orchestrator/argspace.rst:49
msgid "get_by_type" msgid "get_by_type"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:79 #: ../../root/api/orchestrator/argspace.rst:56
msgid "Возвращает все аргументы определённого типа." msgid "Возвращает все аргументы определённого типа."
msgstr "" msgstr ""
@@ -112,145 +100,52 @@ msgstr ""
msgid "param arg_type" msgid "param arg_type"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:81 #: ../../root/api/orchestrator/argspace.rst:58
msgid "Тип аргумента (`BooleanArgument` или `ValueArgument`)." msgid "Тип аргумента (``BooleanArgument`` или ``ValueArgument``)."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:82 #: ../../root/api/orchestrator/argspace.rst:59
msgid "Список аргументов указанного типа или пустой список." msgid "Список аргументов указанного типа или пустой список."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:84 #: ../../root/api/orchestrator/argspace.rst:61
msgid "" msgid ""
"Метод фильтрует `all_arguments` по атрибуту `founder_class` и возвращает " "Метод фильтрует ``all_arguments`` по атрибуту ``founder_class`` и "
"аргументы, созданные из указанного типа." "возвращает аргументы, созданные из указанного типа."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:94 #: ../../root/api/orchestrator/argspace.rst:71
msgid "InputArgument" msgid "InputArgument"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:97 #: ../../root/api/orchestrator/argspace.rst:74
msgid "" msgid ""
"Документация по ``InputArgument`` находится :ref:`здесь " "Документация по ``InputArgument`` находится :ref:`здесь "
"<root_api_orchestrator_arguments_inputargument>`." "<root_api_orchestrator_arguments_inputargument>`."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:102 #: ../../root/api/orchestrator/argspace.rst:79
msgid "Примеры испольования" msgid "Примеры использования"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:104 #: ../../root/api/orchestrator/argspace.rst:81
msgid "" msgid ""
"`ArgSpace` используется для доступа к значениям аргументов после запуска " "``ArgSpace`` используется для доступа к значениям аргументов после "
"приложения. Типичный сценарий включает обработку аргументов через " "запуска приложения. Типичный сценарий включает обработку аргументов через"
"`ArgParser` и последующее извлечение значений из `ArgSpace`." " ``ArgParser`` и последующее извлечение значений из ``ArgSpace``."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:106 #: ../../root/api/orchestrator/argspace.rst:83
msgid "**Полный пример:**" msgid "**Полный пример:**"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:111 #: ../../root/api/orchestrator/argspace.rst:88
msgid "" msgid ""
"Доступ к аргументам из обработчиков осуществляется с помощью DI. " "Доступ к аргументам из обработчиков осуществляется с помощью ``di``. "
"Подробнее см. :ref:`здесь <root_dependency_injection>`." "Подробнее см. :ref:`здесь <root_dependency_injection>`."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/argspace.rst:116 #: ../../root/api/orchestrator/argspace.rst:95
msgid "**Запуск приложения:**" msgid "**Запуск приложения:**"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -32,8 +32,8 @@ msgstr ""
#: ../../root/api/orchestrator/arguments.rst:8 #: ../../root/api/orchestrator/arguments.rst:8
msgid "" msgid ""
"Аргументы регистрируются в `ArgParser` и после обработки становятся " "Аргументы регистрируются в ``ArgParser`` и после обработки становятся "
"доступными в объекте `ArgSpace`." "доступными в объекте ``ArgSpace``."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:13 #: ../../root/api/orchestrator/arguments.rst:13
@@ -41,12 +41,10 @@ msgid "ValueArgument"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:15 #: ../../root/api/orchestrator/arguments.rst:15
msgid "" msgid "Класс для аргументов, требующих передачи значения."
"Класс для аргументов, требующих передачи значения. Используется для "
"параметров конфигурации, которым необходимо указать значение при запуске."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:30 #: ../../root/api/orchestrator/arguments.rst:31
msgid "Создаёт аргумент командной строки, требующий значения." msgid "Создаёт аргумент командной строки, требующий значения."
msgstr "" msgstr ""
@@ -54,9 +52,9 @@ msgstr ""
msgid "param name" msgid "param name"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:32 #: ../../root/api/orchestrator/arguments.rst:33
#: ../../root/api/orchestrator/arguments.rst:100 #: ../../root/api/orchestrator/arguments.rst:74
#: ../../root/api/orchestrator/arguments.rst:165 #: ../../root/api/orchestrator/arguments.rst:117
msgid "Имя аргумента" msgid "Имя аргумента"
msgstr "" msgstr ""
@@ -64,8 +62,8 @@ msgstr ""
msgid "param prefix" msgid "param prefix"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:33 #: ../../root/api/orchestrator/arguments.rst:34
#: ../../root/api/orchestrator/arguments.rst:101 #: ../../root/api/orchestrator/arguments.rst:75
msgid "Префикс (по умолчанию ``--``)" msgid "Префикс (по умолчанию ``--``)"
msgstr "" msgstr ""
@@ -73,8 +71,8 @@ msgstr ""
msgid "param help" msgid "param help"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:34 #: ../../root/api/orchestrator/arguments.rst:35
#: ../../root/api/orchestrator/arguments.rst:102 #: ../../root/api/orchestrator/arguments.rst:76
msgid "Сообщение для справки (``--help``)" msgid "Сообщение для справки (``--help``)"
msgstr "" msgstr ""
@@ -82,15 +80,15 @@ msgstr ""
msgid "param possible_values" msgid "param possible_values"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:35 #: ../../root/api/orchestrator/arguments.rst:36
msgid "Список допустимых значений (передаётся в `choices` `ArgumentParser`)" msgid "Список допустимых значений"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst #: ../../root/api/orchestrator/arguments.rst
msgid "param default" msgid "param default"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:36 #: ../../root/api/orchestrator/arguments.rst:37
msgid "Значение по умолчанию, если аргумент не передан" msgid "Значение по умолчанию, если аргумент не передан"
msgstr "" msgstr ""
@@ -98,62 +96,69 @@ msgstr ""
msgid "param is_required" msgid "param is_required"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:37 #: ../../root/api/orchestrator/arguments.rst:38
msgid "Если ``True``, аргумент становится обязательным" msgid ""
"Если ``True``, аргумент становится обязательным. Если не передать при "
"запуске, приложение не запустится"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst #: ../../root/api/orchestrator/arguments.rst
msgid "param is_deprecated" msgid "param is_deprecated"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:38 #: ../../root/api/orchestrator/arguments.rst:39
#: ../../root/api/orchestrator/arguments.rst:103 msgid ""
msgid "Если ``True``, помечает аргумент как устаревший" "Если ``True``, помечает аргумент как устаревший. Если передать при "
"запуске, будет выведено предупреждение в консоль"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:40 #: ../../root/api/orchestrator/arguments.rst:41
#: ../../root/api/orchestrator/arguments.rst:105 #: ../../root/api/orchestrator/arguments.rst:79
msgid "**Пример использования:**" msgid "**Пример использования:**"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:74 #: ../../root/api/orchestrator/arguments.rst:47
#: ../../root/api/orchestrator/arguments.rst:134 #: ../../root/api/orchestrator/arguments.rst:85
msgid "**Запуск приложения:**" msgid "**Запуск приложения:**"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:84 #: ../../root/api/orchestrator/arguments.rst:57
msgid "BooleanArgument" msgid "BooleanArgument"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:86 #: ../../root/api/orchestrator/arguments.rst:59
msgid "" msgid ""
"Класс для булевых аргументов, не требующих значения. Их наличие при " "Класс для булевых аргументов, не требующих значения. Их наличие при "
"запуске устанавливает значение в `True`, отсутствие — в `False`." "запуске устанавливает значение в **True**, отсутствие — в **False**."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:98 #: ../../root/api/orchestrator/arguments.rst:72
msgid "Создаёт булев аргумент командной строки без значения." msgid "Создаёт булев аргумент командной строки без значения."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:147 #: ../../root/api/orchestrator/arguments.rst:77
msgid "Если ``True``, помечает аргумент как устаревший"
msgstr ""
#: ../../root/api/orchestrator/arguments.rst:98
msgid "InputArgument" msgid "InputArgument"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:150 #: ../../root/api/orchestrator/arguments.rst:101
msgid "" msgid ""
"``InputArgument`` напрямую связан с контейнером ``ArgSpace`` и является " "``InputArgument`` напрямую связан с контейнером ``ArgSpace`` и является "
"его наполнителем. Подробнее о нём см. :ref:`здесь " "его наполнителем. Подробнее о нём см. :ref:`здесь "
"<root_api_orchestrator_argspace>`." "<root_api_orchestrator_argspace>`."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:152 #: ../../root/api/orchestrator/arguments.rst:103
msgid "" msgid ""
"Представляет собой обработанный аргумент командной строки. Этот класс " "Представляет собой обработанный аргумент командной строки. Этот класс "
"используется внутри `ArgSpace` для хранения значений, полученных после " "используется внутри ``ArgSpace`` для хранения значений, полученных после "
"парсинга." "парсинга."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:163 #: ../../root/api/orchestrator/arguments.rst:115
msgid "Создаёт экземпляр обработанного входного аргумента." msgid "Создаёт экземпляр обработанного входного аргумента."
msgstr "" msgstr ""
@@ -161,191 +166,47 @@ msgstr ""
msgid "param value" msgid "param value"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:166 #: ../../root/api/orchestrator/arguments.rst:118
msgid "" msgid ""
"Значение аргумента. Для `BooleanArgument` — `True`, если флаг передан; " "Значение аргумента. Для ``BooleanArgument``**True**, если аргумент "
"для `ValueArgument` — строка со значением" "передан, и **False**, если нет; для ``ValueArgument``введённая строка"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst #: ../../root/api/orchestrator/arguments.rst
msgid "param founder_class" msgid "param founder_class"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:167 #: ../../root/api/orchestrator/arguments.rst:119
msgid "" msgid ""
"Класс-родитель, из которого был создан аргумент (`BooleanArgument` или " "Класс-родитель, из которого был создан аргумент (``BooleanArgument`` или "
"`ValueArgument`)" "``ValueArgument``)"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:169 #: ../../root/api/orchestrator/arguments.rst:121
msgid "**Атрибуты:**" msgid "**Атрибуты:**"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:174 #: ../../root/api/orchestrator/arguments.rst:125
msgid "" msgid ""
"Имя аргумента, указанное при создании `ValueArgument` или " "Имя аргумента, указанное при создании ``ValueArgument`` или "
"`BooleanArgument`." "``BooleanArgument``."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:178 #: ../../root/api/orchestrator/arguments.rst:129
msgid "Значение аргумента. Тип зависит от исходного класса:" msgid "Значение аргумента. Тип зависит от исходного класса:"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:180 #: ../../root/api/orchestrator/arguments.rst:131
msgid "Для `BooleanArgument`: `True`, если флаг был передан." msgid "Для ``BooleanArgument``: **True**, если аргумент был передан"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:181 #: ../../root/api/orchestrator/arguments.rst:132
msgid "" msgid ""
"Для `ValueArgument`: строка с переданным значением или значением по " "Для ``ValueArgument``: строка с переданным значением или значением по "
"умолчанию" "умолчанию"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/arguments.rst:185 #: ../../root/api/orchestrator/arguments.rst:136
msgid "" msgid "Ссылка на класс-родитель. Используется для определения типа и фильтрации."
"Ссылка на класс-родитель. Используется для определения типа и фильтрации "
"в методе `get_by_type()`."
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -25,16 +25,15 @@ msgstr ""
#: ../../root/api/orchestrator/index.rst:6 #: ../../root/api/orchestrator/index.rst:6
msgid "" msgid ""
"``Orchestrator`` — это высокоуровневый компонент, который управляет " "``Orchestrator`` — это высокоуровневый компонент, который конфигурирует и"
"жизненным циклом приложения. Его главная задача — инициализация и " " оркестрирует приложение, парсер командной строки, ``di`` и остальные "
"конфигурация окружения, включая внедрение зависимостей (DI), парсинг " "компоненты, находящиеся по иерархии на уровне с ``App``."
"аргументов командной строки и запуск основного цикла `App`."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/index.rst:8 #: ../../root/api/orchestrator/index.rst:8
msgid "" msgid ""
"В то время как `App` отвечает за логику интерактивной сессии (ввод " "В то время как ``App`` отвечает за логику интерактивной сессии (ввод "
"команд, маршрутизация), `Orchestrator` подготавливает окружение для его " "команд, маршрутизация), ``Orchestrator`` подготавливает окружение для его"
" работы и служит точкой входа в приложение." " работы и служит точкой входа в приложение."
msgstr "" msgstr ""
@@ -48,7 +47,7 @@ msgstr ""
#: ../../root/api/orchestrator/index.rst:30 #: ../../root/api/orchestrator/index.rst:30
msgid "" msgid ""
"``arg_parser``: Экземпляр `ArgParser`, отвечающий за парсинг аргументов " "``arg_parser``: Экземпляр ``ArgParser``, отвечающий за парсинг аргументов"
" командной строки при запуске скрипта (не путать с командами в " " командной строки при запуске скрипта (не путать с командами в "
"интерактивном режиме)." "интерактивном режиме)."
msgstr "" msgstr ""
@@ -56,13 +55,13 @@ msgstr ""
#: ../../root/api/orchestrator/index.rst:31 #: ../../root/api/orchestrator/index.rst:31
msgid "" msgid ""
"``custom_providers``: Список пользовательских провайдеров " "``custom_providers``: Список пользовательских провайдеров "
"`dishka.Provider` для добавления ваших сервисов (например, подключений к " "``dishka.Provider`` для добавления ваших сервисов (например, подключений "
"БД или API-клиентов) в DI-контейнер." "к БД или API-клиентов) в DI-контейнер."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/index.rst:32 #: ../../root/api/orchestrator/index.rst:32
msgid "" msgid ""
"``auto_inject_handlers``: Если `True` (по умолчанию), `dishka` " "``auto_inject_handlers``: Если **True** (по умолчанию), ``dishka`` "
"автоматически внедрит зависимости в обработчики команд, инспектируя их " "автоматически внедрит зависимости в обработчики команд, инспектируя их "
"сигнатуры." "сигнатуры."
msgstr "" msgstr ""
@@ -73,159 +72,36 @@ msgstr ""
#: ../../root/api/orchestrator/index.rst:41 #: ../../root/api/orchestrator/index.rst:41
msgid "" msgid ""
"Это главный метод, который запускает приложение. Он выполняет следующие " "Это главный метод, который запускает приложение. Он запускает бесконечный"
"шаги:" " цикл ввода -> вывода."
msgstr ""
#: ../../root/api/orchestrator/index.rst:43
msgid ""
"**Настройка DI**: Создаёт DI-контейнер на основе системного провайдера "
"(предоставляет `ArgParser`) и пользовательских `custom_providers`."
msgstr ""
#: ../../root/api/orchestrator/index.rst:44
msgid ""
"**Запуск основного цикла**: Запускает бесконечный цикл ожидания и "
"обработки пользовательского ввода."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/index.rst #: ../../root/api/orchestrator/index.rst
msgid "Parameters" msgid "Parameters"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/index.rst:46 #: ../../root/api/orchestrator/index.rst:43
msgid "Экземпляр `App`, который будет запущен." msgid "Экземпляр ``App``, который будет запущен."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/index.rst:51 #: ../../root/api/orchestrator/index.rst:48
msgid "Назначение и использование" msgid "Назначение и использование"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/index.rst:53 #: ../../root/api/orchestrator/index.rst:50
msgid "" msgid ""
"``Orchestrator`` абстрагирует сложность, связанную с настройкой DI и " "``Orchestrator`` абстрагирует сложность, связанную с настройкой ``di`` и "
"парсингом стартовых аргументов. Типичный сценарий использования выглядит " "парсингом стартовых аргументов."
"так:"
msgstr "" msgstr ""
#: ../../root/api/orchestrator/index.rst:55 #: ../../root/api/orchestrator/index.rst:52
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
msgid "" msgid ""
"Такой подход разделяет ответственности: `App` отвечает за логику " "Такой подход разделяет ответственности: ``App`` отвечает за логику "
"интерактивной сессии, а `Orchestrator` — за подготовку и запуск " "интерактивной сессии, а ``Orchestrator`` — за подготовку окружения и "
"окружения." "запуск приложения."
msgstr "" msgstr ""
#: ../../root/api/orchestrator/index.rst:62 #: ../../root/api/orchestrator/index.rst:54
msgid "Пример использования" msgid "**Пример использования:**"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -25,7 +25,7 @@ msgstr ""
#: ../../root/api/response.rst:6 #: ../../root/api/response.rst:6
msgid "" msgid ""
"`Response` — это объект, который передаётся в обработчик команды. Он " "``Response`` — это объект, который передаётся в обработчик команды. Он "
"создаётся автоматически при обработке пользовательского ввода и содержит " "создаётся автоматически при обработке пользовательского ввода и содержит "
"статус валидации, введённые флаги." "статус валидации, введённые флаги."
msgstr "" msgstr ""
@@ -52,114 +52,111 @@ msgstr ""
msgid "Инициализация" msgid "Инициализация"
msgstr "" msgstr ""
#: ../../root/api/response.rst:31 #: ../../root/api/response.rst:30
msgid "Создаёт новый объект ответа." msgid "Создаёт новый объект ответа."
msgstr "" msgstr ""
#: ../../root/api/response.rst:32
msgid ""
"``status``: Общий статус валидации флагов из перечисления "
"``ResponseStatus``."
msgstr ""
#: ../../root/api/response.rst:33 #: ../../root/api/response.rst:33
msgid "" msgid ""
"``status``: Общий статус валидации флагов из перечисления " "``input_flags``: Коллекция введённых флагов (``InputFlags``). По "
"`ResponseStatus`." "умолчанию — пустая."
msgstr "" msgstr ""
#: ../../root/api/response.rst:34 #: ../../root/api/response.rst:36
msgid ""
"``input_flags``: Коллекция введённых флагов (`InputFlags`). По умолчанию "
"— пустая."
msgstr ""
#: ../../root/api/response.rst:37
msgid "" msgid ""
"Экземпляры этого класса не предназначены для прямого создания. Они " "Экземпляры этого класса не предназначены для прямого создания. Они "
"автоматически формируются системой и передаются в обработчик команды в " "автоматически формируются системой и передаются в обработчик команды в "
"качестве первого обязательного аргумента." "качестве первого обязательного аргумента."
msgstr "" msgstr ""
#: ../../root/api/response.rst:39 #: ../../root/api/response.rst:38
msgid "**Атрибуты:**" msgid "**Атрибуты:**"
msgstr "" msgstr ""
#: ../../root/api/response.rst:44 #: ../../root/api/response.rst:43
msgid "" msgid ""
"Общий статус валидации всех флагов команды (`ResponseStatus`). Указывает," "Общий статус валидации всех флагов команды (``ResponseStatus``). "
" были ли среди введённых флагов некорректные или незарегистрированные." "Указывает, были ли среди введённых флагов некорректные или "
"незарегистрированные."
msgstr "" msgstr ""
#: ../../root/api/response.rst:49 #: ../../root/api/response.rst:48
msgid "" msgid ""
"Коллекция всех флагов, переданных с командой (`InputFlags`). Содержит все" "Коллекция всех флагов, переданных с командой (``InputFlags``). Содержит "
" обработанные флаги с их значениями и статусами валидации." "все обработанные флаги с их значениями и статусами валидации."
msgstr "" msgstr ""
#: ../../root/api/response.rst:51 #: ../../root/api/response.rst:50
msgid "**Пример использования:**" msgid "**Пример использования:**"
msgstr "" msgstr ""
#: ../../root/api/response.rst:60 #: ../../root/api/response.rst:59
msgid "Работа с флагами" msgid "Работа с флагами"
msgstr "" msgstr ""
#: ../../root/api/response.rst:62 #: ../../root/api/response.rst:61
msgid "" msgid ""
"`Response` предоставляет доступ к введённым флагам через атрибут " "``Response`` предоставляет доступ к введённым флагам через атрибут "
"`input_flags`. Вы можете проверять их наличие, получать значения и " "``input_flags``. Вы можете проверять их наличие, получать значения и "
"статусы валидации." "статусы валидации."
msgstr "" msgstr ""
#: ../../root/api/response.rst:64 #: ../../root/api/response.rst:63
msgid "**Пример работы с флагами:**" msgid "**Пример работы с флагами:**"
msgstr "" msgstr ""
#: ../../root/api/response.rst:75 #: ../../root/api/response.rst:74
msgid "ResponseStatus" msgid "ResponseStatus"
msgstr "" msgstr ""
#: ../../root/api/response.rst:77 #: ../../root/api/response.rst:76
msgid "" msgid ""
"`ResponseStatus` — это перечисление (`Enum`), которое определяет общий " "``ResponseStatus`` — это перечисление, которое определяет общий статус "
"статус валидации всех флагов команды. Используется в атрибуте `status` " "валидации всех флагов команды. Используется в атрибуте ``status`` объекта"
"объекта `Response`." " ``Response``."
msgstr "" msgstr ""
#: ../../root/api/response.rst:80 #: ../../root/api/response.rst:79
msgid "Значения enum"
msgstr ""
#: ../../root/api/response.rst:83
msgid "ALL_FLAGS_VALID" msgid "ALL_FLAGS_VALID"
msgstr "" msgstr ""
#: ../../root/api/response.rst:90 #: ../../root/api/response.rst:86
msgid "" msgid ""
"Все введённые флаги прошли валидацию. Нет ни некорректных, ни " "Все введённые флаги прошли валидацию. Нет ни некорректных, ни "
"незарегистрированных флагов." "незарегистрированных флагов."
msgstr "" msgstr ""
#: ../../root/api/response.rst:93 #: ../../root/api/response.rst:89
msgid "UNDEFINED_FLAGS" msgid "UNDEFINED_FLAGS"
msgstr "" msgstr ""
#: ../../root/api/response.rst:100 #: ../../root/api/response.rst:96
msgid "" msgid ""
"Среди введённых флагов есть незарегистрированные, но нет флагов с " "Среди введённых флагов есть незарегистрированные, но нет флагов с "
"некорректными значениями." "некорректными значениями."
msgstr "" msgstr ""
#: ../../root/api/response.rst:103 #: ../../root/api/response.rst:99
msgid "INVALID_VALUE_FLAGS" msgid "INVALID_VALUE_FLAGS"
msgstr "" msgstr ""
#: ../../root/api/response.rst:110 #: ../../root/api/response.rst:106
msgid "" msgid ""
"Среди введённых флагов есть флаги с некорректными значениями, но нет " "Среди введённых флагов есть флаги с некорректными значениями, но нет "
"незарегистрированных." "незарегистрированных."
msgstr "" msgstr ""
#: ../../root/api/response.rst:113 #: ../../root/api/response.rst:109
msgid "UNDEFINED_AND_INVALID_FLAGS" msgid "UNDEFINED_AND_INVALID_FLAGS"
msgstr "" msgstr ""
#: ../../root/api/response.rst:120 #: ../../root/api/response.rst:116
msgid "" msgid ""
"Среди введённых флагов есть как незарегистрированные, так и флаги с " "Среди введённых флагов есть как незарегистрированные, так и флаги с "
"некорректными значениями." "некорректными значениями."
+16 -123
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -91,7 +91,7 @@ msgid "**Пример использования:**"
msgstr "" msgstr ""
#: ../../root/api/router.rst:48 #: ../../root/api/router.rst:48
msgid "Системный роутер по умолчанию" msgid "Системный роутер"
msgstr "" msgstr ""
#: ../../root/api/router.rst:50 #: ../../root/api/router.rst:50
@@ -100,165 +100,58 @@ msgid ""
"автоматически подключается к каждому приложению." "автоматически подключается к каждому приложению."
msgstr "" msgstr ""
#: ../../root/api/router.rst:54 #: ../../root/api/router.rst:55
msgid "" msgid ""
"Предопределённый экземпляр ``Router`` с базовыми системными командами (по" "Предопределённый экземпляр ``Router`` с базовыми системными командами (по"
" умолчанию — команда выхода). Имеет заголовок **«System points:»**, " " умолчанию — команда выхода). Имеет заголовок **«System points:»**, "
"который можно переопределить в ``App``." "который можно переопределить в ``App``."
msgstr "" msgstr ""
#: ../../root/api/router.rst:56 #: ../../root/api/router.rst:57
msgid "" msgid ""
"Вы можете добавлять свои команды в этот роутер. Для этого импортируйте " "Вы можете добавлять свои команды в этот роутер. Для этого импортируйте "
"``argenta.router.defaults.system_router`` и используйте его декоратор " "``argenta.router.defaults.system_router`` и используйте его декоратор "
"``@command``." "``@command``."
msgstr "" msgstr ""
#: ../../root/api/router.rst:61 #: ../../root/api/router.rst:62
msgid "Возможные исключения" msgid "Возможные исключения"
msgstr "" msgstr ""
#: ../../root/api/router.rst:63 #: ../../root/api/router.rst:64
msgid "" msgid ""
"При регистрации команд и флагов в ``Router`` могут возникнуть следующие " "При регистрации команд и флагов в ``Router`` могут возникнуть следующие "
"исключения:" "исключения:"
msgstr "" msgstr ""
#: ../../root/api/router.rst:67 #: ../../root/api/router.rst:68
msgid "" msgid ""
"Выбрасывается, если триггер команды в ``Command`` содержит пробелы. " "Выбрасывается, если триггер команды в ``Command`` содержит пробелы. "
"Триггеры должны быть одним словом." "Триггеры должны быть одним словом."
msgstr "" msgstr ""
#: ../../root/api/router.rst:69 #: ../../root/api/router.rst:70
msgid "" msgid "**Неправильно:** ``Command(\"add user\")``"
"**Неправильно:** ``Command(\"add user\")`` **Правильно:** ``Command"
"(\"add-user\")``"
msgstr "" msgstr ""
#: ../../root/api/router.rst:74 #: ../../root/api/router.rst:72
msgid "**Правильно:** ``Command(\"add-user\")``"
msgstr ""
#: ../../root/api/router.rst:76
msgid "" msgid ""
"Возникает, если при определении флагов для команды были использованы " "Возникает, если при определении флагов для команды были использованы "
"дублирующиеся имена. Имена флагов в рамках одной команды должны быть " "дублирующиеся имена. Имена флагов в рамках одной команды должны быть "
"уникальны." "уникальны."
msgstr "" msgstr ""
#: ../../root/api/router.rst:76 #: ../../root/api/router.rst:78
msgid "**Пример, вызывающий исключение:**" msgid "**Пример, вызывающий исключение:**"
msgstr "" msgstr ""
#: ../../root/api/router.rst:88 #: ../../root/api/router.rst:90
msgid "" msgid ""
"Возникает, если обработчик команды не принимает обязательный аргумент " "Возникает, если обработчик команды не принимает обязательный аргумент "
"``Response``." "``Response``."
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -21,82 +21,93 @@ msgstr ""
#: ../../root/code_of_conduct.rst:4 #: ../../root/code_of_conduct.rst:4
msgid "Правила сообщества" msgid "Правила сообщества"
msgstr "" msgstr "Community Guidelines"
#: ../../root/code_of_conduct.rst:7 #: ../../root/code_of_conduct.rst:7
msgid "Наше обязательство" msgid "Наше обязательство"
msgstr "" msgstr "Our Pledge"
#: ../../root/code_of_conduct.rst:9 #: ../../root/code_of_conduct.rst:9
msgid "" msgid ""
"В целях создания открытой и гостеприимной атмосферы мы, как участники и " "В целях создания открытой и гостеприимной атмосферы мы, как участники и "
"мейнтейнеры, обязуемся сделать участие в нашем проекте и сообществе " "мейнтейнеры, обязуемся сделать участие в нашем проекте и сообществе "
"свободным от преследований для всех, независимо от возраста, " "свободным от преследований для всех, независимо от возраста, "
"телосложения, инвалидности, этнической принадлежности, гендерной " "телосложения, инвалидности, этнической принадлежности, уровня опыта, "
"идентичности и самовыражения, уровня опыта, образования, " "образования, социально-экономического статуса, национальности, внешности,"
"социально-экономического статуса, национальности, внешности, расы, " " расы или религии."
"религии или сексуальной идентичности и ориентации."
msgstr "" 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 #: ../../root/code_of_conduct.rst:14
msgid "Наши стандарты" msgid "Наши стандарты"
msgstr "" msgstr "Our Standards"
#: ../../root/code_of_conduct.rst:16 #: ../../root/code_of_conduct.rst:16
msgid "Примеры поведения, которые способствуют созданию позитивной среды:" msgid "Примеры поведения, которые способствуют созданию позитивной среды:"
msgstr "" msgstr "Examples of behavior that contributes to creating a positive environment:"
#: ../../root/code_of_conduct.rst:18 #: ../../root/code_of_conduct.rst:18
msgid "Проявление эмпатии и доброты по отношению к другим." msgid "Проявление эмпатии и доброты по отношению к другим."
msgstr "" msgstr "Demonstrating empathy and kindness toward other people."
#: ../../root/code_of_conduct.rst:19 #: ../../root/code_of_conduct.rst:19
msgid "Уважение к различным мнениям, точкам зрения и опыту." msgid "Уважение к различным мнениям, точкам зрения и опыту."
msgstr "" msgstr "Being respectful of differing opinions, viewpoints, and experiences."
#: ../../root/code_of_conduct.rst:20 #: ../../root/code_of_conduct.rst:20
msgid "Предоставление и тактичное принятие конструктивной обратной связи." msgid "Предоставление и тактичное принятие конструктивной обратной связи."
msgstr "" msgstr "Giving and gracefully accepting constructive feedback."
#: ../../root/code_of_conduct.rst:21 #: ../../root/code_of_conduct.rst:21
msgid "" msgid ""
"Принятие ответственности и извинения перед теми, кого затронули наши " "Принятие ответственности и извинения перед теми, кого затронули наши "
"ошибки, а также извлечение уроков из этого опыта." "ошибки, а также извлечение уроков из этого опыта."
msgstr "" msgstr ""
"Accepting responsibility and apologizing to those affected by our mistakes, "
"and learning from the experience."
#: ../../root/code_of_conduct.rst:22 #: ../../root/code_of_conduct.rst:22
msgid "Фокус на том, что лучше для всего сообщества." msgid "Фокус на том, что лучше для всего сообщества."
msgstr "" msgstr "Focusing on what is best for the overall community."
#: ../../root/code_of_conduct.rst:24 #: ../../root/code_of_conduct.rst:24
msgid "Примеры недопустимого поведения включают:" msgid "Примеры недопустимого поведения включают:"
msgstr "" msgstr "Examples of unacceptable behavior include:"
#: ../../root/code_of_conduct.rst:26 #: ../../root/code_of_conduct.rst:26
msgid "" msgid ""
"Троллинг, оскорбительные или уничижительные комментарии, а также личные " "Троллинг, оскорбительные или уничижительные комментарии, а также личные "
"или политические нападки." "или политические нападки."
msgstr "" msgstr ""
"Trolling, insulting or derogatory comments, and personal or political attacks."
#: ../../root/code_of_conduct.rst:27 #: ../../root/code_of_conduct.rst:27
msgid "Публичное или частное преследование." msgid "Публичное или частное преследование."
msgstr "" msgstr "Public or private harassment."
#: ../../root/code_of_conduct.rst:28 #: ../../root/code_of_conduct.rst:28
msgid "" msgid ""
"Публикация личной информации других лиц (например, физического или " "Публикация личной информации других лиц (например, физического или "
"электронного адреса) без их явного разрешения." "электронного адреса) без их явного разрешения."
msgstr "" msgstr ""
"Publishing others' private information, such as a physical or email address, "
"without their explicit permission."
#: ../../root/code_of_conduct.rst:29 #: ../../root/code_of_conduct.rst:29
msgid "" msgid ""
"Любое другое поведение, которое можно обоснованно считать неуместным в " "Любое другое поведение, которое можно обоснованно считать неуместным в "
"профессиональной среде." "профессиональной среде."
msgstr "" msgstr ""
"Other conduct which could reasonably be considered inappropriate in a "
"professional setting."
#: ../../root/code_of_conduct.rst:34 #: ../../root/code_of_conduct.rst:34
msgid "Наши обязанности" msgid "Наши обязанности"
msgstr "" msgstr "Our Responsibilities"
#: ../../root/code_of_conduct.rst:36 #: ../../root/code_of_conduct.rst:36
msgid "" msgid ""
@@ -104,6 +115,9 @@ msgid ""
"соблюдения стандартов приемлемого поведения и предпримут справедливые " "соблюдения стандартов приемлемого поведения и предпримут справедливые "
"корректирующие действия в ответ на любые случаи неприемлемого поведения." "корректирующие действия в ответ на любые случаи неприемлемого поведения."
msgstr "" 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 #: ../../root/code_of_conduct.rst:38
msgid "" msgid ""
@@ -113,10 +127,14 @@ msgid ""
"временно или навсегда блокировать любого участника за поведение, которое " "временно или навсегда блокировать любого участника за поведение, которое "
"они сочтут неуместным, угрожающим, оскорбительным или вредным." "они сочтут неуместным, угрожающим, оскорбительным или вредным."
msgstr "" 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 #: ../../root/code_of_conduct.rst:43
msgid "Сфера применения" msgid "Сфера применения"
msgstr "" msgstr "Scope"
#: ../../root/code_of_conduct.rst:45 #: ../../root/code_of_conduct.rst:45
msgid "" msgid ""
@@ -127,10 +145,15 @@ msgid ""
"аккаунт в социальных сетях или выступление в качестве назначенного " "аккаунт в социальных сетях или выступление в качестве назначенного "
"представителя на онлайн- или офлайн-мероприятии." "представителя на онлайн- или офлайн-мероприятии."
msgstr "" 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 #: ../../root/code_of_conduct.rst:50
msgid "Обеспечение соблюдения" msgid "Обеспечение соблюдения"
msgstr "" msgstr "Enforcement"
#: ../../root/code_of_conduct.rst:52 #: ../../root/code_of_conduct.rst:52
msgid "" msgid ""
@@ -139,14 +162,17 @@ msgid ""
"kolo.is.main@gmail.com. Все жалобы будут рассмотрены и расследованы " "kolo.is.main@gmail.com. Все жалобы будут рассмотрены и расследованы "
"оперативно и справедливо." "оперативно и справедливо."
msgstr "" 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 #: ../../root/code_of_conduct.rst:54
msgid "Команда проекта обязуется уважать частную жизнь и безопасность заявителя." msgid "Команда проекта обязуется уважать частную жизнь и безопасность заявителя."
msgstr "" msgstr "The project team is obligated to respect the privacy and security of the reporter."
#: ../../root/code_of_conduct.rst:59 #: ../../root/code_of_conduct.rst:59
msgid "Атрибуция" msgid "Атрибуция"
msgstr "" msgstr "Attribution"
#: ../../root/code_of_conduct.rst:61 #: ../../root/code_of_conduct.rst:61
msgid "" msgid ""
@@ -156,102 +182,9 @@ msgid ""
"conduct/code_of_conduct.md>`__ и `2.0 <https://www.contributor-" "conduct/code_of_conduct.md>`__ и `2.0 <https://www.contributor-"
"covenant.org/version/2/0/code_of_conduct/code_of_conduct.md>`__." "covenant.org/version/2/0/code_of_conduct/code_of_conduct.md>`__."
msgstr "" msgstr ""
"This Code of Conduct is adapted from the `Contributor Covenant "
#~ msgid "" "<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>`__."
#~ "в нашем проекте и сообществе свободным"
#~ " от преследований для всех, независимо "
#~ "от возраста, телосложения, инвалидности, "
#~ "этнической принадлежности, половых характеристик,"
#~ " уровня опыта, образования, "
#~ "социально-экономического статуса, национальности, "
#~ "внешности, расы и религии."
#~ 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 ""
File diff suppressed because it is too large Load Diff
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -21,80 +21,86 @@ msgstr ""
#: ../../root/dependency_injection.rst:4 #: ../../root/dependency_injection.rst:4
msgid "Внедрение зависимостей" msgid "Внедрение зависимостей"
msgstr "Dependency Injection" msgstr ""
#: ../../root/dependency_injection.rst:6 #: ../../root/dependency_injection.rst:6
msgid "" msgid ""
"Внедрение зависимостей (Dependency Injection, DI) — это паттерн " "Внедрение зависимостей (Dependency Injection, DI) — это паттерн "
"проектирования, который помогает писать слабосвязанный, легко тестируемый" "проектирования, который помогает писать слабосвязанный, легко тестируемый"
" и расширяемый код. Вместо того чтобы обработчики сами создавали нужные " " и расширяемый код. Вместо того чтобы обработчики сами создавали нужные "
"им объекты (зависимости), они лишь объявляют их в качестве аргументов. В " "им объекты (зависимости), они получают их извне."
"момент вызова ``Argenta`` автоматически \"внедряет\" эти зависимости."
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:8 #: ../../root/dependency_injection.rst:8
msgid "" msgid ""
"``Argenta`` использует библиотеку ``dishka`` для реализации DI, что " "``Argenta`` использует библиотеку ``dishka`` для реализации DI, что "
"позволяет декларативно объявлять зависимости прямо в сигнатурах ваших " "позволяет декларативно объявлять зависимости прямо в сигнатурах ваших "
"обработчиков. Подробнее о `DI`, `IoC` и API для создания провайдеров " "обработчиков. Подробнее о **DI**, **IoC** и API для создания провайдеров "
"можно прочитать в `официальной документации dishka " "можно прочитать в `официальной документации dishka "
"<https://dishka.readthedocs.io/en/stable/di_intro.html>`_." "<https://dishka.readthedocs.io/en/stable/di_intro.html>`_."
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:12 #: ../../root/dependency_injection.rst:14
msgid "Основная идея" msgid "Основная идея"
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:14 #: ../../root/dependency_injection.rst:16
msgid "" msgid ""
"Представьте, что вашему обработчику для работы нужен доступ к базе " "Представьте, что вашему обработчику для работы нужен доступ к базе "
"данных. Вместо импорта и инициализации соединения внутри функции, вы " "данных. Вместо импорта и инициализации соединения внутри функции, вы "
"просто объявляете его как аргумент с аннотацией типа:" "просто объявляете его как аргумент с аннотацией типа:"
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:17 #: ../../root/dependency_injection.rst:19
msgid "" msgid ""
"``argenta.di.FromDishka`` является псевдонимом для ``dishka.FromDishka``," "``argenta.di.FromDishka`` является алиасом для ``dishka.FromDishka``, и "
" и они полностью взаимозаменяемы." "они полностью взаимозаменяемы."
msgstr "" 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 "" msgid ""
"``Argenta`` с помощью ``dishka`` разрешит зависимость по типу " "``Argenta`` с помощью ``dishka`` разрешит зависимость по типу "
"``Connection`` и внедрит её. Но прежде чем использовать зависимость, её " "``Connection`` и внедрит её. Но прежде чем использовать зависимость, её "
"необходимо объявить в провайдере." "необходимо объявить в провайдере:"
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:29 #: ../../root/dependency_injection.rst:35
msgid "После создания провайдера его необходимо зарегистрировать в оркестраторе." msgid "После создания провайдера его необходимо зарегистрировать в оркестраторе:"
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:36 #: ../../root/dependency_injection.rst:46
msgid "Как это работает?" msgid "Как это работает?"
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:38 #: ../../root/dependency_injection.rst:48
msgid "В основе DI в Argenta лежат **провайдеры** и **контейнер**." msgid "В основе DI в Argenta лежат **провайдеры** и **контейнер**."
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:40 #: ../../root/dependency_injection.rst:50
msgid "" msgid ""
"**Провайдер (Provider)** — это \"рецепт\", который объясняет, как " "**Провайдер (``Provider``)** — это \"рецепт\", который объясняет, как "
"создавать и настраивать ту или иную зависимость (например, подключение к " "создавать и настраивать ту или иную зависимость (например, подключение к "
"БД, API-клиент или любой другой сервис)." "БД, API-клиент или любой другой сервис)."
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:41 #: ../../root/dependency_injection.rst:51
msgid "" msgid ""
"**Контейнер (IoC Container)** — это \"фабрика\", которая хранит все " "**Контейнер (IoC Container)** — это \"фабрика\", которая хранит все "
"рецепты (провайдеры) и по запросу создаёт и выдаёт готовые зависимости." "рецепты (провайдеры) и по запросу создаёт и выдаёт готовые зависимости."
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:44 #: ../../root/dependency_injection.rst:56
msgid "Встроенные провайдеры" msgid "Встроенные провайдеры"
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:46 #: ../../root/dependency_injection.rst:58
msgid "" msgid ""
"``Argenta`` поставляется со встроенным провайдером, который даёт доступ к" "``Argenta`` поставляется со встроенным провайдером, который даёт доступ к"
" важным системным зависимостям без дополнительной настройки. Например, вы" " важным системным зависимостям без дополнительной настройки. Например, вы"
@@ -102,110 +108,24 @@ msgid ""
"командной строки, переданные при запуске приложения." "командной строки, переданные при запуске приложения."
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:48 #: ../../root/dependency_injection.rst:69
msgid "" msgid "Обмен данными между обработчиками"
"Пример получения объекта ``ArgSpace`` и вывода в консоль значения "
"аргумента `type`:"
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:55 #: ../../root/dependency_injection.rst:71
msgid "Обмен данными между хендлерами"
msgstr ""
#: ../../root/dependency_injection.rst:57
msgid "" msgid ""
"Помимо DI, обработчики могут обмениваться данными в рамках сессии через " "Помимо DI, обработчики могут обмениваться данными в рамках сессии через "
"**объект контекста**. В ``Argenta`` эту роль выполняет объект " "**объект контекста**. В ``Argenta`` эту роль выполняет объект "
"``Response``." "``DataBridge``."
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:59 #: ../../root/dependency_injection.rst:73
msgid "" msgid ""
"Каждый обработчик может записывать в него данные, а также читать, " "Каждый обработчик может записывать в него данные, а также читать, "
"обновлять и удалять их." "обновлять и удалять их."
msgstr "" msgstr ""
#: ../../root/dependency_injection.rst:63 #: ../../root/dependency_injection.rst:76
msgid "Подробнее об этом можно прочитать в разделе :ref:`root_api_response`." msgid "Подробнее об этом можно прочитать в разделе :ref:`root_api_bridge`."
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -20,43 +20,40 @@ msgstr ""
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.17.0\n"
#: ../../root/error_handling.rst:4 #: ../../root/error_handling.rst:4
#, fuzzy msgid "Обработка ошибок"
msgid "Стандартная обработка ошибок"
msgstr "Errors handling"
#: ../../root/error_handling.rst:7
msgid "О разделе"
msgstr "" msgstr ""
#: ../../root/error_handling.rst:9 #: ../../root/error_handling.rst:6
msgid "" msgid ""
"Argenta выбрасывает исключения в пограничных случаях, связанных с " "``Argenta`` выбрасывает исключения в пограничных случаях, связанных с "
"пользовательским вводом. По умолчанию они обрабатываются системными " "пользовательским вводом. По умолчанию они обрабатываются системными "
"хэндлерами, но вы можете их переопределить. Это делается с помощью " "обработчиками, но вы можете их переопределить. Это делается с помощью "
"сеттеров экземпляра ``App`` вида ``.set_*_handler()``. Подробнее о каждом" "сеттеров экземпляра ``App`` вида ``.set_*_handler()``. Подробнее о каждом"
" из них рассказано :ref:`ниже <possible_errors>`." " из них рассказано :ref:`ниже <possible_errors>`."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:13 #: ../../root/error_handling.rst:10
msgid "" msgid ""
"Ни одно исключение не остаётся необработанным, так как для каждого случая" "Ни одно исключение не остаётся необработанным, так как для каждого случая"
" предусмотрен стандартный хэндлер. Поэтому переопределение является " " предусмотрен стандартный обработчик. Поэтому переопределение является "
"опциональным." "опциональным."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:15 #: ../../root/error_handling.rst:12 ../../root/error_handling.rst:37
msgid "Пример переопределения обработчика для пустой команды:" #: ../../root/error_handling.rst:61 ../../root/error_handling.rst:82
#: ../../root/error_handling.rst:105 ../../root/error_handling.rst:126
msgid "**Пример использования:**"
msgstr "" msgstr ""
#: ../../root/error_handling.rst:25 #: ../../root/error_handling.rst:22
msgid "Возможные исключения и нестандартное поведение" msgid "Возможные исключения и нестандартное поведение"
msgstr "" msgstr ""
#: ../../root/error_handling.rst:28 #: ../../root/error_handling.rst:25
msgid "``UnprocessedInputFlagException``: Некорректный синтаксис флагов" msgid "``UnprocessedInputFlagException``: Некорректный синтаксис флагов"
msgstr "" msgstr ""
#: ../../root/error_handling.rst:30 #: ../../root/error_handling.rst:27
msgid "" msgid ""
"Это исключение выбрасывается, когда парсер не может обработать команду " "Это исключение выбрасывается, когда парсер не может обработать команду "
"из-за некорректного синтаксиса. Чаще всего это связано с ошибкой в " "из-за некорректного синтаксиса. Чаще всего это связано с ошибкой в "
@@ -64,12 +61,12 @@ msgid ""
"<root_flags>`." "<root_flags>`."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:32 ../../root/error_handling.rst:56 #: ../../root/error_handling.rst:29 ../../root/error_handling.rst:53
#: ../../root/error_handling.rst:77 ../../root/error_handling.rst:98 #: ../../root/error_handling.rst:74 ../../root/error_handling.rst:97
msgid "Стандартный хэндлер выводит в консоль" msgid "Стандартный обработчик выводит в консоль:"
msgstr "" msgstr ""
#: ../../root/error_handling.rst:38 #: ../../root/error_handling.rst:35
msgid "" msgid ""
"Для переопределения используется сеттер " "Для переопределения используется сеттер "
"``.set_incorrect_input_syntax_handler()``. Он принимает на вход " "``.set_incorrect_input_syntax_handler()``. Он принимает на вход "
@@ -77,17 +74,11 @@ msgid ""
"аргумент — это строка с необработанной командой." "аргумент — это строка с необработанной командой."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:40 #: ../../root/error_handling.rst:46
msgid ""
"Пример кода, переопределяющего хэндлер ввода команды с некорректным "
"синтаксисом:"
msgstr ""
#: ../../root/error_handling.rst:49
msgid "``RepeatedInputFlagsException``: Повторяющиеся флаги в команде" msgid "``RepeatedInputFlagsException``: Повторяющиеся флаги в команде"
msgstr "" msgstr ""
#: ../../root/error_handling.rst:51 #: ../../root/error_handling.rst:48
msgid "" msgid ""
"Исключение выбрасывается, если пользователь ввёл команду с повторяющимися" "Исключение выбрасывается, если пользователь ввёл команду с повторяющимися"
" флагами. Два флага (:ref:`InputFlag <root_api_command_input_flag>`) " " флагами. Два флага (:ref:`InputFlag <root_api_command_input_flag>`) "
@@ -95,13 +86,13 @@ msgid ""
"их синтаксисе — в разделе :ref:`Flags <root_flags>`." "их синтаксисе — в разделе :ref:`Flags <root_flags>`."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:54 #: ../../root/error_handling.rst:51
msgid "" msgid ""
"Сравнение на равенство у регистрируемых флагов(Flag) происходит иначе, " "Сравнение на равенство у регистрируемых флагов (``Flag``) происходит "
"подробнее в :ref:`Flag <root_flags>`." "иначе, подробнее в :ref:`Flag <root_flags>`."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:62 #: ../../root/error_handling.rst:59
msgid "" msgid ""
"Для переопределения используется сеттер " "Для переопределения используется сеттер "
"``.set_repeated_input_flags_handler()``. Он принимает на вход обработчик " "``.set_repeated_input_flags_handler()``. Он принимает на вход обработчик "
@@ -109,46 +100,36 @@ msgid ""
"строка с необработанной командой." "строка с необработанной командой."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:64 #: ../../root/error_handling.rst:70
msgid ""
"Пример кода, переопределяющего хэндлер ввода команды с повторяющимися "
"флагами:"
msgstr ""
#: ../../root/error_handling.rst:73
msgid "``EmptyInputCommandException``: Введена пустая команда" msgid "``EmptyInputCommandException``: Введена пустая команда"
msgstr "" msgstr ""
#: ../../root/error_handling.rst:75 #: ../../root/error_handling.rst:72
msgid "" msgid ""
"Исключение выбрасывается, если пользователь ввёл пустую строку или " "Исключение выбрасывается, если пользователь ввёл пустую строку или "
"строку, состоящую только из пробельных символов (``\\n``, ``\\t``, пробел" "строку, состоящую только из пробельных символов (``\\n``, ``\\t``, пробел"
" и т.д.)." " и т.д.)."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:83 #: ../../root/error_handling.rst:80
msgid "" msgid ""
"Для переопределения используется сеттер ``.set_empty_command_handler()``." "Для переопределения используется сеттер ``.set_empty_command_handler()``."
" Он принимает на вход обработчик с сигнатурой ``Callable[[], None]`` (без" " Он принимает на вход обработчик с сигнатурой ``Callable[[], None]`` (без"
" аргументов)." " аргументов)."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:85 #: ../../root/error_handling.rst:93
msgid "Пример кода, переопределяющего хэндлер ввода пустой команды:"
msgstr ""
#: ../../root/error_handling.rst:94
msgid "Обработка неизвестной команды" msgid "Обработка неизвестной команды"
msgstr "" msgstr ""
#: ../../root/error_handling.rst:96 #: ../../root/error_handling.rst:95
msgid "" msgid ""
"Это поведение активируется, когда пользователь вводит команду, которая не" "Это поведение активируется, когда пользователь вводит команду, которая не"
" зарегистрирована ни в одном из роутеров и не является псевдонимом " " зарегистрирована ни в одном из роутеров и не является псевдонимом "
"(alias) для существующей команды." "(alias) для существующей команды."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:104 #: ../../root/error_handling.rst:103
msgid "" msgid ""
"Для переопределения используется сеттер " "Для переопределения используется сеттер "
"``.set_unknown_command_handler()``. Он принимает на вход обработчик с " "``.set_unknown_command_handler()``. Он принимает на вход обработчик с "
@@ -156,469 +137,26 @@ msgid ""
":ref:`InputCommand <root_api_command_input_command>`." ":ref:`InputCommand <root_api_command_input_command>`."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:106 #: ../../root/error_handling.rst:114
msgid "Пример кода, переопределяющего хэндлер ввода неизвестной команды:"
msgstr ""
#: ../../root/error_handling.rst:115
msgid "Выход из приложения" msgid "Выход из приложения"
msgstr "" msgstr ""
#: ../../root/error_handling.rst:117 #: ../../root/error_handling.rst:116
msgid "" msgid ""
"Это поведение активируется, когда пользователь вводит команду, помеченную" "Это поведение активируется, когда пользователь вводит команду, помеченную"
" как команда выхода." " как команда выхода."
msgstr "" msgstr ""
#: ../../root/error_handling.rst:119 #: ../../root/error_handling.rst:118
msgid "Стандартный хэндлер выводит в консоль текст и завершает работу приложения." msgid ""
"Стандартный обработчик выводит в консоль текст и завершает работу "
"приложения:"
msgstr "" msgstr ""
#: ../../root/error_handling.rst:125 #: ../../root/error_handling.rst:124
msgid "" msgid ""
"Для переопределения используется сеттер ``.set_exit_command_handler()``. " "Для переопределения используется сеттер ``.set_exit_command_handler()``. "
"Он принимает на вход обработчик с сигнатурой ``Callable[[Response], " "Он принимает на вход обработчик с сигнатурой ``Callable[[Response], "
"None]``, где аргумент — объект :ref:`Response <root_api_response>`." "None]``, где аргумент — объект :ref:`Response <root_api_response>`."
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -25,36 +25,140 @@ msgstr ""
#: ../../root/flags.rst:6 #: ../../root/flags.rst:6
msgid "" msgid ""
"Флаги (или параметры) — это специальные аргументы, которые пользователь " "Флаги — это специальные параметры, которые пользователь может добавлять к"
"может добавлять к командам для управления их поведением." " командам для управления их поведением."
msgstr "" msgstr ""
#: ../../root/flags.rst:11 #: ../../root/flags.rst:9
msgid "Синтаксис флагов" msgid "Зачем нужны флаги в командах"
msgstr "" msgstr ""
#: ../../root/flags.rst:13 #: ../../root/flags.rst:12
msgid "Общий синтаксис выглядит так:" msgid "Управление поведением команды"
msgstr ""
#: ../../root/flags.rst:14
msgid ""
"Основная цель флагов — предоставить способ изменить логику работы команды"
" без её переработки. Команда может работать в нескольких режимах: "
"стандартном, подробном, отладочном или упрощённом. Флаги переключают эти "
"режимы по требованию пользователя, оставляя основную функциональность "
"неизменной."
msgstr ""
#: ../../root/flags.rst:17
msgid "Опциональность и удобство"
msgstr "" msgstr ""
#: ../../root/flags.rst:19 #: ../../root/flags.rst:19
msgid "" 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 "" msgstr ""
#: ../../root/flags.rst:24 #: ../../root/flags.rst:62
msgid "Два типа флагов" msgid "Два типа флагов"
msgstr "" msgstr ""
#: ../../root/flags.rst:26 #: ../../root/flags.rst:64
msgid "" msgid ""
"Флаги бывают двух основных видов: без значений (переключатели) и со " "Флаги бывают двух основных видов: без значений (переключатели) и со "
"значениями. ``Argenta`` позволяет регистрировать и вводить флаги обоих " "значениями. ``Argenta`` позволяет регистрировать и вводить флаги обоих "
"типов в любой последовательности для одной команды." "типов в любой последовательности для одной команды."
msgstr "" msgstr ""
#: ../../root/flags.rst:29 #: ../../root/flags.rst:67
msgid "" msgid ""
"Ошибки валидации не выбрасывают исключений. Вместо этого у каждого " "Ошибки валидации не выбрасывают исключений. Вместо этого у каждого "
"объекта :ref:`InputFlag <root_api_command_input_flag>` есть атрибут " "объекта :ref:`InputFlag <root_api_command_input_flag>` есть атрибут "
@@ -63,114 +167,145 @@ msgid ""
" <root_api_command_flag>`." " <root_api_command_flag>`."
msgstr "" msgstr ""
#: ../../root/flags.rst:31 #: ../../root/flags.rst:69
msgid "" msgid ""
"При регистрации флага можно задать правила валидации для его значения. По" "При регистрации флага можно задать правила валидации для его значения. По"
" умолчанию любое значение считается корректным. Валидацию можно настроить" " умолчанию любое значение считается корректным. Валидацию можно настроить"
" несколькими способами:" " несколькими способами:"
msgstr "" msgstr ""
#: ../../root/flags.rst:36 #: ../../root/flags.rst:74
msgid "Ограничение по списку возможных значений" msgid "Флаги против аргументов"
msgstr "" msgstr ""
#: ../../root/flags.rst:38 #: ../../root/flags.rst:76
msgid "Вы можете заранее определить список допустимых значений для флага."
msgstr ""
#: ../../root/flags.rst:40
msgid "" msgid ""
"Предположим, у вас есть флаг ``--format``, который может принимать только" "В контексте Argenta флаги и аргументы относятся к разным уровням "
" значения ``json`` или ``xml``." "взаимодействия с приложением и имеют принципиально разные сферы действия."
msgstr "" msgstr ""
#: ../../root/flags.rst:54 #: ../../root/flags.rst:79
msgid "Проверка с помощью регулярных выражений" msgid "Определение и назначение"
msgstr "" msgstr ""
#: ../../root/flags.rst:56 #: ../../root/flags.rst:81
msgid "" msgid ""
"Для более сложных проверок можно использовать регулярные выражения. Это " "**Аргументы** — это параметры, передаваемые при запуске приложения один "
"полезно, когда значение должно соответствовать определённому формату " "раз при инициализации. Они определяют глобальное состояние и конфигурацию"
"(например, email-адрес, дата или номер телефона)." " приложения на протяжении всей его работы, например адрес базы данных, "
"уровень логирования или режим работы."
msgstr "" msgstr ""
#: ../../root/flags.rst:58 #: ../../root/flags.rst:83
msgid "" msgid ""
"Допустим, флаг ``--email`` должен принимать только корректные " "API и более подробное описание в разделах :ref:`ArgParser "
"email-адреса." "<root_api_orchestrator_argparser>` и :ref:`Arguments "
"<root_api_orchestrator_arguments>`."
msgstr "" msgstr ""
#: ../../root/flags.rst:69 #: ../../root/flags.rst:85
msgid "" msgid ""
"Встроенная валидация избавляет от необходимости писать проверки вручную и" "**Флаги** — это параметры командных операций, доступные в рамках "
" делает код более декларативным." "интерактивной сессии при вводе каждой новой команды. Они позволяют "
"модифицировать поведение конкретной команды без перезагрузки приложения."
msgstr "" msgstr ""
#~ msgid "Флаги" #: ../../root/flags.rst:87
#~ msgstr "" msgid ""
"API и более подробное описание в разделе :ref:`Flag "
"<root_api_command_flag>`."
msgstr ""
#~ msgid "" #: ../../root/flags.rst:92
#~ "Флаги (или параметры) — это специальные" msgid "Ключевые различия"
#~ " аргументы, которые конечный юзер может " msgstr ""
#~ "добавлять к командам, чтобы управлять их"
#~ " поведением."
#~ msgstr ""
#~ msgid "Обобщённый синтаксис выглядит так:" #: ../../root/flags.rst:94
#~ msgstr "" msgid "**Время жизни и область действия**"
msgstr ""
#~ msgid "" #: ../../root/flags.rst:95
#~ "То есть, у флага обязательно должен " msgid ""
#~ "быть префикс, который может быть одним," "Аргументы передаются один раз при запуске приложения и сохраняют действие"
#~ " двум или трем минусам. После " " на весь период работы (скоуп **APP**). Флаги наоборот локальны и живут в"
#~ "префикса следует имя флага, без пробела," " рамках скоупа **REQUEST**."
#~ " после, через пробел, идёт значение " msgstr ""
#~ "флага, если оно есть."
#~ msgstr ""
#~ msgid "" #: ../../root/flags.rst:97
#~ "Флаги бывают двух основных видов: без" msgid "**Частота изменения**"
#~ " значений (переключатели) и со значениями." msgstr ""
#~ " ``Argenta`` позволяет регистрировать и "
#~ "вводить флаги обоих типов в любой "
#~ "последовательности для одной команды."
#~ msgstr ""
#~ msgid "" #: ../../root/flags.rst:98
#~ "Ошибки валидации значений являются пассивными," msgid ""
#~ " их не нужно обрабатывать явно. У " "Для изменения аргументов необходимо перезапустить приложение. Флаги можно"
#~ "каждого инстанса :ref:`InputFlag " " менять между каждым вводом команды без остановки приложения."
#~ "<root_api_command_input_flag>` есть поле ``status``," msgstr ""
#~ " по которому можно определить результат "
#~ "валидации флага. **Конкретная реализация и "
#~ "описание API вы можете найти в "
#~ "разделе** :ref:`Flag <root_api_command_flag>`."
#~ msgstr ""
#~ msgid "" #: ../../root/flags.rst:100
#~ "При регистрации флага вы можете указать" msgid "**Уровень конфигурации**"
#~ " допустимые для него значения, по " msgstr ""
#~ "умолчанию любое введённое значение для "
#~ "флага будет валидным. Допустимые значения "
#~ "можно указать различными способами:"
#~ msgstr ""
#~ msgid "**Пример:**" #: ../../root/flags.rst:101
#~ msgstr "" msgid ""
"Аргументы управляют глобальной конфигурацией приложения и его окружением."
" Флаги управляют поведением отдельных команд и операций пользователя."
msgstr ""
#~ msgid "" #: ../../root/flags.rst:103
#~ "Для более сложных проверок вы можете " msgid "**Использование**"
#~ "использовать регулярные выражения. Это " msgstr ""
#~ "особенно полезно, когда значение должно "
#~ "соответствовать определённому формату, например, "
#~ "быть email-адресом, датой или номером "
#~ "телефона."
#~ msgstr ""
#~ msgid "" #: ../../root/flags.rst:104
#~ "Встроенная валидация избавляет вас от " msgid ""
#~ "необходимости писать ручные проверки и " "Аргументы задают начальное состояние системы: что подключить, как "
#~ "делает ваш код более декларативным." "работать. Флаги управляют тактикой выполнения команд: как её выполнить, с"
#~ msgstr "" " какими изменениями."
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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -20,9 +20,8 @@ msgstr ""
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.17.0\n"
#: ../../root/overriding_formatting.rst:4 #: ../../root/overriding_formatting.rst:4
#, fuzzy msgid "Форматирование вывода"
msgid "Управление форматированием вывода" msgstr ""
msgstr "Overriding formatting"
#: ../../root/overriding_formatting.rst:6 #: ../../root/overriding_formatting.rst:6
msgid "" msgid ""
@@ -32,43 +31,34 @@ msgid ""
"визуальное восприятие информации." "визуальное восприятие информации."
msgstr "" msgstr ""
#: ../../root/overriding_formatting.rst:8 #: ../../root/overriding_formatting.rst:11
msgid "" msgid "Управление стандартным форматированием"
"Системные сообщения выводятся с помощью метода ``print`` объекта "
"``rich.console.Console``, который имеет интерфейс, совместимый со "
"встроенной функцией ``print``."
msgstr "" msgstr ""
#: ../../root/overriding_formatting.rst:13 #: ../../root/overriding_formatting.rst:13
#, fuzzy
msgid "Управление стандартным форматированием"
msgstr "Overriding formatting"
#: ../../root/overriding_formatting.rst:15
msgid "" msgid ""
"При создании экземпляра ``App`` можно использовать параметр " "При создании экземпляра ``App`` можно использовать параметр "
"``override_system_messages: bool`` (по умолчанию ``False``), который " "``override_system_messages: bool`` (по умолчанию ``False``), который "
"позволяет отключать стандартное форматирование." "позволяет отключать стандартное форматирование."
msgstr "" msgstr ""
#: ../../root/overriding_formatting.rst:17 #: ../../root/overriding_formatting.rst:15
msgid "" msgid ""
"Если установить его в ``True``, стилизация текста и ASCII-арт будут " "Если установить его в ``True``, стилизация текста и ASCII-арт будут "
"отключены, а системные сообщения — выводиться в «сыром» виде." "отключены, а системные сообщения — выводиться в «сыром» виде."
msgstr "" msgstr ""
#: ../../root/overriding_formatting.rst:22 #: ../../root/overriding_formatting.rst:20
msgid "Приветственное и прощальное сообщения" msgid "Приветственное и прощальное сообщения"
msgstr "" msgstr ""
#: ../../root/overriding_formatting.rst:24 #: ../../root/overriding_formatting.rst:22
msgid "" msgid ""
"Приветственное (``initial_message``) и прощальное (``farewell_message``) " "Приветственное (``initial_message``) и прощальное (``farewell_message``) "
"сообщения по умолчанию выводятся в виде ASCII-графики с помощью " "сообщения по умолчанию выводятся в виде ASCII-графики."
"библиотеки ``art`` (а именно, функции ``text2art``)."
msgstr "" msgstr ""
#: ../../root/overriding_formatting.rst:27 #: ../../root/overriding_formatting.rst:25
msgid "" msgid ""
"Библиотека ``art`` ориентирована на работу с ASCII-символами и **не " "Библиотека ``art`` ориентирована на работу с ASCII-символами и **не "
"поддерживает кириллицу**. Это приводит к искажению символов русского и " "поддерживает кириллицу**. Это приводит к искажению символов русского и "
@@ -78,112 +68,30 @@ msgid ""
"символы." "символы."
msgstr "" msgstr ""
#: ../../root/overriding_formatting.rst:32 #: ../../root/overriding_formatting.rst:30
msgid "Кастомизация вывода" msgid "Кастомизация вывода"
msgstr "" msgstr ""
#: ../../root/overriding_formatting.rst:32
msgid ""
"Для полной замены логики вывода текста в конструкторе ``App`` "
"предусмотрен параметр ``print_func``."
msgstr ""
#: ../../root/overriding_formatting.rst:34 #: ../../root/overriding_formatting.rst:34
msgid "" msgid ""
"Для полной замены логики вывода в конструкторе ``App`` предусмотрен "
"параметр ``print_func``."
msgstr ""
#: ../../root/overriding_formatting.rst:36
msgid ""
"**print_func**: ``Callable[[str], None]`` Этот параметр позволяет " "**print_func**: ``Callable[[str], None]`` Этот параметр позволяет "
"передать любую вызываемую сущность (например, функцию), которая будет " "передать любую вызываемую сущность (например, функцию), которая будет "
"использоваться для вывода всех системных сообщений. По умолчанию это " "использоваться для вывода всех системных сообщений. По умолчанию это "
"обёртка над ``rich.console.Console().print``. Вы можете передать сюда " "``rich.console.Console().print``. Вы можете передать сюда свою функцию, "
"свою функцию, чтобы, например, логировать вывод в файл или отправлять его" "чтобы, например, логировать вывод в файл или отправлять его по сети."
" по сети."
msgstr "" msgstr ""
#: ../../root/overriding_formatting.rst:40 #: ../../root/overriding_formatting.rst:38
msgid "Пример использования" msgid ""
"При переопределении функции вывода вам следует убедиться, что она "
"поддерживает разметку ``rich``, иначе системные сообщения будут "
"выводиться в сыром виде, в этом случае рекомендуется переопределить "
"стандартное форматирование с помощью ``override_system_messages=True``."
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -21,7 +21,7 @@ msgstr ""
#: ../../root/quickstart.rst:4 #: ../../root/quickstart.rst:4
msgid "Быстрый старт" msgid "Быстрый старт"
msgstr "Quick Start" msgstr ""
#: ../../root/quickstart.rst:6 #: ../../root/quickstart.rst:6
msgid "" msgid ""
@@ -31,8 +31,8 @@ msgstr ""
#: ../../root/quickstart.rst:8 #: ../../root/quickstart.rst:8
msgid "" msgid ""
"**Простой пример**: Быстрое знакомство с основными компонентами, такими " "**Простой пример**: Минимальное приложение, быстрое знакомство с "
"как `App`, `Command` и `Router`." "основными компонентами."
msgstr "" msgstr ""
#: ../../root/quickstart.rst:9 #: ../../root/quickstart.rst:9
@@ -45,142 +45,81 @@ msgstr ""
msgid "Простой пример" msgid "Простой пример"
msgstr "" msgstr ""
#: ../../root/quickstart.rst:14 #: ../../root/quickstart.rst:14 ../../root/quickstart.rst:38
msgid "**Установка**"
msgstr ""
#: ../../root/quickstart.rst:20
msgid "" msgid ""
"Этот пример демонстрирует абсолютный минимум, необходимый для создания и " "Этот пример демонстрирует абсолютный минимум, необходимый для создания и "
"запуска приложения. Вы можете скопировать этот код, запустить его и сразу" "запуска приложения. Вы можете скопировать этот код, запустить его и сразу"
" увидеть результат." " увидеть результат."
msgstr "" msgstr ""
#: ../../root/quickstart.rst:20 ../../root/quickstart.rst:68 #: ../../root/quickstart.rst:26 ../../root/quickstart.rst:76
msgid "**Результат**" msgid "**Результат**"
msgstr "" msgstr ""
#: ../../root/quickstart.rst:22 #: ../../root/quickstart.rst:28
msgid "Simple App Example" msgid "Simple App Example"
msgstr "" msgstr ""
#: ../../root/quickstart.rst:26 #: ../../root/quickstart.rst:34
msgid "Более сложный пример: Менеджер задач" msgid "Более сложный пример: Менеджер задач"
msgstr "" msgstr ""
#: ../../root/quickstart.rst:28 #: ../../root/quickstart.rst:36
msgid "" msgid ""
"В этом руководстве мы создадим простое, но полнофункциональное " "В этом руководстве мы создадим простое, но полнофункциональное "
"CLI-приложение «Менеджер задач», которое продемонстрирует ключевые " "CLI-приложение «Менеджер задач», которое продемонстрирует ключевые "
"возможности Argenta." "возможности Argenta."
msgstr "" msgstr ""
#: ../../root/quickstart.rst:30 #: ../../root/quickstart.rst:44
msgid "**Установка**"
msgstr ""
#: ../../root/quickstart.rst:36
msgid "**Определение моделей данных и репозитория**" msgid "**Определение моделей данных и репозитория**"
msgstr "" msgstr ""
#: ../../root/quickstart.rst:38
msgid ""
"Сначала определим модели данных для задачи и репозиторий для их хранения."
" Это будет наша \"бизнес-логика\"."
msgstr ""
#: ../../root/quickstart.rst:44
msgid "**Создание провайдера для DI**"
msgstr ""
#: ../../root/quickstart.rst:46 #: ../../root/quickstart.rst:46
msgid "" msgid "Сначала определим модели данных для задачи и репозиторий для их хранения."
"Чтобы Argenta могла внедрять `TaskRepository` в наши обработчики, мы "
"создадим провайдер для `dishka`."
msgstr "" msgstr ""
#: ../../root/quickstart.rst:52 #: ../../root/quickstart.rst:52
msgid "**Создание обработчиков команд**" msgid "**Создание провайдера для DI**"
msgstr "" msgstr ""
#: ../../root/quickstart.rst:54 #: ../../root/quickstart.rst:54
msgid "" msgid ""
"Теперь создадим обработчики для команд `add-task` и `list-tasks`. " "Чтобы Argenta могла внедрять ``TaskRepository`` в наши обработчики, мы "
"Обратите внимание, как мы используем флаги и внедряем `TaskRepository`." "создадим провайдер для ``dishka``."
msgstr "" msgstr ""
#: ../../root/quickstart.rst:60 #: ../../root/quickstart.rst:60
msgid "**Сборка и запуск приложения**" msgid "**Создание обработчиков команд**"
msgstr "" msgstr ""
#: ../../root/quickstart.rst:62 #: ../../root/quickstart.rst:62
msgid "" msgid ""
"Наконец, соберем все вместе: создадим экземпляр `App`, подключим роутер и" "Теперь создадим обработчики для команд ``add-task`` и ``list-tasks``. "
" провайдер, а затем запустим приложение." "Обратите внимание, как мы используем флаги и внедряем ``TaskRepository``."
msgstr ""
#: ../../root/quickstart.rst:68
msgid "**Сборка и запуск приложения**"
msgstr "" msgstr ""
#: ../../root/quickstart.rst:70 #: ../../root/quickstart.rst:70
msgid "" msgid ""
"Теперь вы можете запустить `main.py` и взаимодействовать с вашим новым " "Наконец, соберем все вместе: создадим экземпляр ``App``, подключим роутер"
" и провайдер, а затем запустим приложение."
msgstr ""
#: ../../root/quickstart.rst:78
msgid ""
"Теперь вы можете запустить ``main.py`` и взаимодействовать с вашим новым "
"CLI-приложением." "CLI-приложением."
msgstr "" msgstr ""
#: ../../root/quickstart.rst:72 #: ../../root/quickstart.rst:80
msgid "Task Manager Example" msgid "Task Manager Example"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -20,9 +20,8 @@ msgstr ""
"Generated-By: Babel 2.17.0\n" "Generated-By: Babel 2.17.0\n"
#: ../../root/redirect_stdout.rst:4 #: ../../root/redirect_stdout.rst:4
#, fuzzy
msgid "Переопределение стандартного вывода" msgid "Переопределение стандартного вывода"
msgstr "Redirect stdout" msgstr ""
#: ../../root/redirect_stdout.rst:6 #: ../../root/redirect_stdout.rst:6
msgid "" msgid ""
@@ -51,7 +50,7 @@ msgid "Пример приложения с динамической разде
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:17 #: ../../root/redirect_stdout.rst:17
msgid "Пример приложения с динамической разделительной линией" msgid "Example of an application with a dynamic dividing line"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:20 #: ../../root/redirect_stdout.rst:20
@@ -65,7 +64,7 @@ msgid "То же приложение с статической линией:"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:24 #: ../../root/redirect_stdout.rst:24
msgid "Пример приложения с статической разделительной линией" msgid "Example of an application with a static dividing line"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:27 #: ../../root/redirect_stdout.rst:27
@@ -80,19 +79,17 @@ msgstr ""
#: ../../root/redirect_stdout.rst:34 #: ../../root/redirect_stdout.rst:34
msgid "" msgid ""
"Главный побочный эффект этого механизма проявляется при использовании " "Побочный эффект этого механизма проявляется при использовании функций, "
"функций, которые одновременно ожидают ввод от пользователя и выводят " "которые последовательно выводят текст в консоль и ожидают ввод от "
"приглашение в консоль. Классический пример — стандартная функция " "пользователя. Классический пример — стандартная функция ``input()``."
"``input()``."
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:44 #: ../../root/redirect_stdout.rst:44
msgid "" msgid ""
"При включённом перехвате ``stdout`` текст-приглашение (например, " "При включённом перехвате ``stdout`` текст (например, ``\"Введите ваше "
"``\"Введите ваше имя: \"``) **не будет выведен в консоль немедленно**. Он" "имя: \"``) **не будет выведен в консоль немедленно**. Он попадёт в буфер "
" попадёт в буфер, и пользователь увидит только мигающий курсор. Текст " "и отобразится лишь после завершения работы обработчика вместе с остальным"
"приглашения отобразится лишь после завершения работы обработчика вместе с" " выводом. Это может сбить пользователя с толку."
" остальным выводом. Это может сбить пользователя с толку."
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:49 #: ../../root/redirect_stdout.rst:49
@@ -115,241 +112,129 @@ msgid ""
"механизм перехвата ``stdout`` будет отключён для всех его обработчиков." "механизм перехвата ``stdout`` будет отключён для всех его обработчиков."
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:61 #: ../../root/redirect_stdout.rst:57 ../../root/redirect_stdout.rst:87
msgid "**Пример использования:**"
msgstr ""
#: ../../root/redirect_stdout.rst:63
msgid "" msgid ""
"В этом случае ``input()`` будет работать как обычно, и пользователь сразу" "В этом случае ``input()`` будет работать как обычно, и пользователь сразу"
" увидит приглашение к вводу." " увидит приглашение к вводу."
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:66 #: ../../root/redirect_stdout.rst:68
msgid "Типы разделительных линий" msgid "Типы разделительных линий"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:68 #: ../../root/redirect_stdout.rst:70
msgid "" msgid ""
"``Argenta`` поддерживает два типа разделителей, которые настраиваются при" "``Argenta`` поддерживает два типа разделителей, которые настраиваются при"
" инициализации ``App``:" " инициализации ``App``:"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:70 #: ../../root/redirect_stdout.rst:72
msgid "**DynamicDividingLine()**" msgid "**``DynamicDividingLine()``**"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:71 #: ../../root/redirect_stdout.rst:73
msgid "" msgid ""
"Поведение по умолчанию. Длина линии динамически подстраивается под самый " "Поведение по умолчанию. Длина линии динамически подстраивается под самый "
"длинный текст в выводе." "длинный текст в выводе."
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:72 #: ../../root/redirect_stdout.rst:74
msgid "" msgid ""
"Требует включённого перехвата ``stdout`` " "Требует включённого перехвата ``stdout`` "
"(``disable_redirect_stdout=False`` в роутере)." "(``disable_redirect_stdout=False`` в роутере)."
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:74 #: ../../root/redirect_stdout.rst:76
msgid "**StaticDividingLine(length: int = 25)**" msgid "**``StaticDividingLine(length: int = 25)``**"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:75 #: ../../root/redirect_stdout.rst:77
msgid "" msgid ""
"Линия имеет фиксированную длину (по умолчанию 25 символов), которую можно" "Линия имеет фиксированную длину (по умолчанию 25 символов), которую можно"
" задать через аргумент `length`." " задать через аргумент ``length``."
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:76 #: ../../root/redirect_stdout.rst:78
msgid "" msgid ""
"Используется принудительно для роутеров с " "Используется принудительно для роутеров с "
"``disable_redirect_stdout=True``, так как без перехвата вывода невозможно" "``disable_redirect_stdout=True``, так как без перехвата вывода невозможно"
" определить динамическую длину." " определить динамическую длину."
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:79 #: ../../root/redirect_stdout.rst:83
msgid "Настройка разделительной линии в `App`" msgid "Настройка разделительной линии в ``App``"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:81 #: ../../root/redirect_stdout.rst:85
msgid "" msgid ""
"Вы можете глобально задать тип разделителя для всего приложения через " "Вы можете глобально задать тип разделителя для всего приложения через "
"аргумент ``dividing_line`` в конструкторе ``App``." "аргумент ``dividing_line`` в конструкторе ``App``."
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:90 #: ../../root/redirect_stdout.rst:96
msgid "Итоговое поведение" msgid "Итоговое поведение"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:96 #: ../../root/redirect_stdout.rst:102
msgid "``disable_redirect_stdout`` на ``Router``" msgid "``disable_redirect_stdout`` на ``Router``"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:97 #: ../../root/redirect_stdout.rst:103
msgid "Тип линии в ``App``" msgid "Тип линии в ``App``"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:98 #: ../../root/redirect_stdout.rst:104
msgid "Фактическое поведение" msgid "Фактическое поведение"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:99 #: ../../root/redirect_stdout.rst:105
msgid "``input()`` работает корректно?" msgid "``input()`` работает корректно?"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:100 ../../root/redirect_stdout.rst:104 #: ../../root/redirect_stdout.rst:106 ../../root/redirect_stdout.rst:110
msgid "``False`` (по умолчанию)" msgid "``False`` (по умолчанию)"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:101 ../../root/redirect_stdout.rst:109 #: ../../root/redirect_stdout.rst:107 ../../root/redirect_stdout.rst:115
msgid "``DynamicDividingLine``" msgid "``DynamicDividingLine``"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:102 #: ../../root/redirect_stdout.rst:108
msgid "Динамическая линия, длина по содержимому" msgid "Динамическая линия, длина по содержимому"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:103 ../../root/redirect_stdout.rst:107 #: ../../root/redirect_stdout.rst:109 ../../root/redirect_stdout.rst:113
msgid "Нет" msgid "Нет"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:105 ../../root/redirect_stdout.rst:113 #: ../../root/redirect_stdout.rst:111 ../../root/redirect_stdout.rst:119
msgid "``StaticDividingLine``" msgid "``StaticDividingLine``"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:106 ../../root/redirect_stdout.rst:114 #: ../../root/redirect_stdout.rst:112 ../../root/redirect_stdout.rst:120
msgid "Статическая линия указанной длины" msgid "Статическая линия указанной длины"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:108 ../../root/redirect_stdout.rst:112 #: ../../root/redirect_stdout.rst:114 ../../root/redirect_stdout.rst:118
msgid "``True``" msgid "``True``"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:110 #: ../../root/redirect_stdout.rst:116
msgid "**Принудительно статическая линия** (длина по умолч.)" msgid "**Принудительно статическая линия** (длина по умолч.)"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:111 ../../root/redirect_stdout.rst:115 #: ../../root/redirect_stdout.rst:117 ../../root/redirect_stdout.rst:121
msgid "Да" msgid "Да"
msgstr "" msgstr ""
#: ../../root/redirect_stdout.rst:117 #: ../../root/redirect_stdout.rst:123
msgid "" msgid ""
"Таким образом, для интерактивных команд, требующих ввода от пользователя," "Таким образом, для интерактивных команд, требующих ввода от пользователя,"
" отключайте перехват ``stdout`` на уровне роутера. Для всех остальных " " отключайте перехват ``stdout`` на уровне роутера. Для всех остальных "
"команд можно оставить поведение по умолчанию." "команд можно оставить поведение по умолчанию."
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Argenta \n" "Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -26,87 +26,93 @@ msgstr ""
#: ../../root/testing.rst:4 #: ../../root/testing.rst:4
msgid "" msgid ""
"В этом разделе описаны практики тестирования приложений на основе " "В этом разделе описаны практики тестирования приложений на основе "
"``Argenta``. Примеры основаны на фактическом публичном API: ``App``, " "``Argenta``. Примеры основаны на фактическом публичном API."
"``Router``, ``Command``, ``Orchestrator``, DI через ``dishka`` и "
"интеграцию в ``argenta.di.integration``."
msgstr "" msgstr ""
#: ../../root/testing.rst:7 #: ../../root/testing.rst:7
msgid "Модульное тестирование хендлеров" msgid "Модульное тестирование обработчиков"
msgstr "" msgstr ""
#: ../../root/testing.rst:9 #: ../../root/testing.rst:9
msgid "" msgid ""
"Обработчики в Argenta — обычные функции. Их удобно тестировать как чистые" "Обработчики в ``Argenta`` — обычные функции. Их удобно тестировать как "
" функции, не поднимая весь цикл приложения. Рекомендуются ``unittest`` " "чистые функции, не поднимая весь цикл приложения. Рекомендуются "
"или ``pytest``." "``unittest`` или ``pytest``."
msgstr "" msgstr ""
#: ../../root/testing.rst:11 #: ../../root/testing.rst:11 ../../root/testing.rst:24
msgid "Пример с ``unittest`` для простого хендлера без DI:" #: ../../root/testing.rst:37 ../../root/testing.rst:53
msgstr "" msgid "**Пример использования:**"
#: ../../root/testing.rst:18
msgid "Тестирование с внедрением зависимостей (DI)"
msgstr "" msgstr ""
#: ../../root/testing.rst:20 #: ../../root/testing.rst:20
msgid "" msgid "Тестирование с внедрением зависимостей (DI)"
"Если хендлеру нужны зависимости, используйте ``dishka`` и интеграцию "
"Argenta:"
msgstr "" msgstr ""
#: ../../root/testing.rst:27 #: ../../root/testing.rst:22
msgid ""
"Если обработчику нужны зависимости, используйте ``dishka`` и интеграцию "
"``Argenta``:"
msgstr ""
#: ../../root/testing.rst:33
msgid "Интеграционное тестирование приложения" msgid "Интеграционное тестирование приложения"
msgstr "" msgstr ""
#: ../../root/testing.rst:29 #: ../../root/testing.rst:35
msgid "" msgid ""
"Для более высокого уровня тестов собирайте ``App`` и ``Router`` и " "Для более высокого уровня тестов собирайте ``App`` и ``Router`` и "
"вызывайте хендлеры через парсинг команд, обходя бесконечный цикл ввода. " "вызывайте обработчики через парсинг команд, обходя бесконечный цикл "
"Это даёт близкое к реальности поведение без необходимости симулировать " "ввода. Это даёт близкое к реальности поведение без необходимости "
"``stdin``." "симулировать ``stdin``."
msgstr "" msgstr ""
#: ../../root/testing.rst:36 #: ../../root/testing.rst:46
msgid "E2E-тестирование цикла (опционально)" msgid "E2E-тестирование цикла"
msgstr "" msgstr ""
#: ../../root/testing.rst:38 #: ../../root/testing.rst:48
msgid "" msgid ""
"Полный запуск цикла ``start_polling`` можно покрывать через подпроцесс с " "Полный запуск цикла ``start_polling`` можно покрывать через подпроцесс с "
"передачей строк во ``stdin``. Это тяжелее и обычно не требуется. Если всё" "передачей строк в ``stdin``. Это тяжелее и обычно не требуется. Если всё "
" же необходимо — вынесите конфигурацию в функцию ``main()`` и запускайте " "же необходимо — пример ниже."
"модуль в подпроцессе с подготовленным вводом/выводом."
msgstr "" msgstr ""
#: ../../root/testing.rst:41 #: ../../root/testing.rst:51
msgid ""
"Обязательно передавайте строковый триггер команды выхода последним "
"элементом в списке, который передаёте в контекстном менеджере при патче "
"``input`` как аргумент ``side_effects``, иначе тестируемое приложение "
"будет ожидать ввода следующей команды и не сможет корректно завершиться."
msgstr ""
#: ../../root/testing.rst:62
msgid "Советы по тестированию" msgid "Советы по тестированию"
msgstr "" msgstr ""
#: ../../root/testing.rst:43 #: ../../root/testing.rst:64
msgid "**Изолируйте тесты**: Каждый тест должен быть независимым от других." msgid "**Изолируйте тесты**: Каждый тест должен быть независимым от других."
msgstr "" msgstr ""
#: ../../root/testing.rst:44 #: ../../root/testing.rst:65
msgid "" msgid ""
"**Моки для внешних интеграций**: БД, HTTP-клиенты и т.п. подменяйте " "**Моки для внешних интеграций**: БД, HTTP-клиенты и т.п. подменяйте "
"заглушками и провайдерами ``dishka``." "заглушками и провайдерами ``dishka``."
msgstr "" msgstr ""
#: ../../root/testing.rst:45 #: ../../root/testing.rst:66
msgid "" msgid ""
"**Покрывайте ошибочные сценарии**: Некорректные флаги, неизвестные " "**Покрывайте ошибочные сценарии**: Некорректные флаги, неизвестные "
"команды, пустой ввод." "команды, пустой ввод."
msgstr "" msgstr ""
#: ../../root/testing.rst:46 #: ../../root/testing.rst:67
msgid "" msgid ""
"**Минимизируйте зависимость от форматирования**: Сравнивайте ключевые " "**Минимизируйте зависимость от форматирования**: Сравнивайте ключевые "
"фрагменты вывода, а не весь блок целиком." "фрагменты вывода, а не весь блок целиком."
msgstr "" msgstr ""
#: ../../root/testing.rst:47 #: ../../root/testing.rst:68
msgid "**Измеряйте покрытие**: Используйте ``pytest-cov``." msgid "**Измеряйте покрытие**: Используйте ``pytest-cov``."
msgstr "" msgstr ""
-2
View File
@@ -41,8 +41,6 @@ ArgParser
----- -----
-----
Лучшие практики Лучшие практики
--------------- ---------------
+2 -1
View File
@@ -88,7 +88,7 @@ BooleanArgument
python app.py --verbose python app.py --verbose
python app.py --debug --no-cache python app.py --debug --no-cache
python app.py # без аргументов python app.py # without arguments
----- -----
@@ -121,6 +121,7 @@ InputArgument
**Атрибуты:** **Атрибуты:**
.. py:attribute:: name .. py:attribute:: name
:no-index:
Имя аргумента, указанное при создании ``ValueArgument`` или ``BooleanArgument``. Имя аргумента, указанное при создании ``ValueArgument`` или ``BooleanArgument``.