From 2800a7ffc2ec37e9ac0ad1e42b7ee1a8dc9a71f2 Mon Sep 17 00:00:00 2001 From: kolo Date: Tue, 2 Dec 2025 22:59:58 +0300 Subject: [PATCH] Update documentation and code snippets --- docs/locales/en/LC_MESSAGES/index.po | 205 ++-- .../LC_MESSAGES/root/api/app/autocompleter.po | 134 +-- .../root/api/app/dividing_lines.po | 129 +-- .../en/LC_MESSAGES/root/api/app/index.po | 252 +---- .../locales/en/LC_MESSAGES/root/api/bridge.po | 73 +- .../en/LC_MESSAGES/root/api/command/flag.po | 168 ++-- .../en/LC_MESSAGES/root/api/command/flags.po | 136 +-- .../en/LC_MESSAGES/root/api/command/index.po | 62 +- .../root/api/command/input_flag.po | 113 +-- .../root/api/command/input_flags.po | 255 +---- .../root/api/command/possible_values.po | 121 +-- .../root/api/command/validation_status.po | 92 +- docs/locales/en/LC_MESSAGES/root/api/index.po | 136 +-- .../root/api/orchestrator/argparser.po | 110 +-- .../root/api/orchestrator/argspace.po | 179 +--- .../root/api/orchestrator/arguments.po | 253 ++--- .../root/api/orchestrator/index.po | 176 +--- .../en/LC_MESSAGES/root/api/response.po | 81 +- .../locales/en/LC_MESSAGES/root/api/router.po | 139 +-- .../en/LC_MESSAGES/root/code_of_conduct.po | 169 +--- .../en/LC_MESSAGES/root/contributing.po | 923 ++++++------------ .../LC_MESSAGES/root/dependency_injection.po | 148 +-- .../en/LC_MESSAGES/root/error_handling.po | 536 +--------- docs/locales/en/LC_MESSAGES/root/flags.po | 313 ++++-- .../LC_MESSAGES/root/overriding_formatting.po | 142 +-- .../locales/en/LC_MESSAGES/root/quickstart.po | 127 +-- .../en/LC_MESSAGES/root/redirect_stdout.po | 205 +--- docs/locales/en/LC_MESSAGES/root/testing.po | 74 +- docs/root/api/orchestrator/argparser.rst | 2 - docs/root/api/orchestrator/arguments.rst | 3 +- 30 files changed, 1494 insertions(+), 3962 deletions(-) diff --git a/docs/locales/en/LC_MESSAGES/index.po b/docs/locales/en/LC_MESSAGES/index.po index 25655d4..d7a3288 100644 --- a/docs/locales/en/LC_MESSAGES/index.po +++ b/docs/locales/en/LC_MESSAGES/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -19,197 +19,144 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.17.0\n" -#: ../../index.rst:38 +#: ../../index.rst:43 msgid "Контент:" msgstr "Content:" -#: ../../index.rst:48 +#: ../../index.rst:53 msgid "Продвинутое использование:" -msgstr "" +msgstr "Advanced usage:" -#: ../../index.rst:56 +#: ../../index.rst:61 msgid "Для разработчиков:" msgstr "For developers:" -#: ../../index.rst:63 +#: ../../index.rst:68 msgid "GitHub" msgstr "" -#: ../../index.rst:63 +#: ../../index.rst:68 msgid "PyPI" msgstr "" -#: ../../index.rst:63 +#: ../../index.rst:68 msgid "Ссылки проекта:" -msgstr "Project Links:" +msgstr "Project links:" #: ../../index.rst:7 msgid "Argenta" msgstr "" -#: ../../index.rst:9 +#: ../../index.rst:10 +msgid "Что это и зачем?" +msgstr "What is it and why?" + +#: ../../index.rst:12 msgid "" "**Библиотека для построения модульных CLI-приложений с простым и приятным" " API.**" -msgstr "" -"Python library for building modular CLI applications with simple and " -"agreeable API." +msgstr "**A library for building modular CLI applications with a simple and pleasant API.**" -#: ../../index.rst:11 +#: ../../index.rst:14 msgid "" "Если у вас есть функциональность, которую вы хотите предоставить в виде " "CLI-приложения, Argenta поможет вам в этом. Основная цель библиотеки — " "дать разработчикам возможность сосредоточиться на реализации своих идей, " "предоставляя для этого удобные абстракции." msgstr "" - -#: ../../index.rst:14 -msgid "Пример приложения" -msgstr "" +"If you have functionality that you want to provide as a CLI application, " +"Argenta will help you with that. The main goal of the library is to enable " +"developers to focus on implementing their ideas by providing convenient abstractions." #: ../../index.rst:17 +msgid "App example" +msgstr "" + +#: ../../index.rst:20 msgid "" "Argenta предназначена для создания приложений, работающих в собственном " "контексте (scope). Это означает, что при запуске пользователь входит в " "интерактивную сессию, где ему доступна вся реализованная вами " "функциональность." msgstr "" +"Argenta is designed for creating applications that work in their own context " +"(scope). This means that when launched, the user enters an interactive session " +"where all the functionality you've implemented is available." -#: ../../index.rst:19 +#: ../../index.rst:22 msgid "" "Один из ключевых принципов библиотеки — цикличность. После выполнения " "команды пользователь остаётся в интерактивной сессии, в отличие от таких " "библиотек, как ``argparse``, ``click`` и ``typer``. Выход из сессии " -"контролируется самим пользователем." -msgstr "" - -#: ../../index.rst:21 -msgid "**Ключевые особенности:**" -msgstr "" - -#: ../../index.rst:23 -msgid "" -"**Интерактивные сессии**. В отличие от традиционных CLI-инструментов, " -"Argenta создаёт циклические сессии, позволяя пользователю выполнять " -"команды последовательно, не перезапуская приложение." +"контролируется пользователем." msgstr "" +"One of the key principles of the library is cyclicity. After executing a command, " +"the user remains in the interactive session, unlike libraries such as ``argparse``, " +"``click``, and ``typer``. Exiting the session is controlled by the user." #: ../../index.rst:24 -msgid "" -"**Декларативный синтаксис**. Команды и их обработчики объявляются с " -"помощью простых декораторов, что делает код чистым и интуитивно понятным." -msgstr "" - -#: ../../index.rst:25 -msgid "" -"**Встроенное внедрение зависимостей (DI)**. Благодаря интеграции с " -"`dishka `_, вы можете легко " -"внедрять сервисы (например, подключения к БД) прямо в обработчики команд," -" что упрощает их тестирование и переиспользование." -msgstr "" +msgid "**Ключевые особенности:**" +msgstr "**Key features:**" #: ../../index.rst:26 msgid "" -"**Автоматическая валидация и парсинг**. Библиотека берёт на себя " -"обработку флагов и аргументов командной строки, включая их парсинг, " -"валидацию и преобразование типов." +"**Интерактивные сессии**: В отличие от традиционных CLI-инструментов, " +"``Argenta`` создаёт циклические сессии, позволяя пользователю выполнять " +"команды последовательно, не перезапуская приложение." msgstr "" +"**Interactive sessions**: Unlike traditional CLI tools, ``Argenta`` creates " +"cyclical sessions, allowing users to execute commands sequentially without " +"restarting the application." #: ../../index.rst:27 msgid "" -"**Гибкая настройка**. Вы можете легко кастомизировать системные " -"сообщения, форматирование вывода и даже перенаправлять стандартный вывод " -"(stdout) в свои обработчики." +"**Декларативный синтаксис**: Команды и их обработчики объявляются с " +"помощью простых декораторов, что делает код чистым и интуитивно понятным." msgstr "" +"**Declarative syntax**: Commands and their handlers are declared using simple " +"decorators, making the code clean and intuitive." + +#: ../../index.rst:28 +msgid "" +"**Нативный DI**: Благодаря интеграции с `dishka " +"`_, вы можете легко внедрять " +"зависимости прямо в обработчики команд, что упрощает их тестирование и " +"переиспользование." +msgstr "" +"**Native DI**: Thanks to integration with `dishka " +"`_, you can easily inject " +"dependencies directly into command handlers, simplifying their testing and reuse." + +#: ../../index.rst:29 +msgid "" +"**Автоматическая валидация и парсинг**: Библиотека берёт на себя " +"обработку флагов и аргументов командной строки, включая их парсинг, " +"валидацию и преобразование типов." +msgstr "" +"**Automatic validation and parsing**: The library handles command-line flags " +"and arguments, including their parsing, validation, and type conversion." #: ../../index.rst:30 -msgid "Архитектура и жизненный цикл" +msgid "" +"**Гибкая настройка**: Вы можете легко кастомизировать системные " +"сообщения, форматирование вывода и т.д." msgstr "" +"**Flexible configuration**: You can easily customize system messages, " +"output formatting, and more." -#: ../../index.rst:32 +#: ../../index.rst:35 +msgid "Архитектура и жизненный цикл" +msgstr "Architecture and lifecycle" + +#: ../../index.rst:37 msgid "" "Следующая диаграмма иллюстрирует, как компоненты Argenta взаимодействуют " "друг с другом, обрабатывая ввод пользователя." msgstr "" +"The following diagram illustrates how Argenta components interact with each " +"other while processing user input." -#: ../../index.rst:34 +#: ../../index.rst:39 msgid "Request Lifecycle Diagram" msgstr "" -#~ msgid "" -#~ "У вас есть некая функциональность и " -#~ "вы хотите распространять её в виде " -#~ "CLI? Argenta поможет вам. Основная цель" -#~ " библиотеки дать возможность разработчикам " -#~ "сфокусироваться на реализации своих идей, " -#~ "предоставляя для этого удобные абстракциию." -#~ msgstr "" - -#~ msgid "" -#~ "Argenta нужна для создания приложений, " -#~ "которым необходим свой скоуп, то есть:" -#~ " при запуске приложения юзер входит в" -#~ " абстрагированный скоуп, в котором у " -#~ "него есть доступ к созданной " -#~ "функциональности." -#~ msgstr "" - -#~ msgid "" -#~ "Один из основных принципов библиотеки " -#~ "это цикличность, это значит, что после" -#~ " ввода юзером команды он не выходит" -#~ " из скоупа, в этом основное отличие" -#~ " от таких библиотек, как ``argparse``, " -#~ "``click`` и ``typer``. Выход из скоупа" -#~ " контролируется самим юзером." -#~ msgstr "" - -#~ msgid "" -#~ "**Обработчики**. Объекты представления приложения," -#~ " непосредственные обработчики введённых команд." -#~ " Создание обработчиков максимально декларативно" -#~ msgstr "" - -#~ msgid "" -#~ "**Маршрутизаторы**. Объекты маршрутизации, которые" -#~ " регистрируют обработчиков, позволяя создавать" -#~ " кастомные настройки для групп " -#~ "обработчиков, а также семантически их " -#~ "разделять." -#~ msgstr "" - -#~ msgid "" -#~ "**Приложение**. Объект управления жизненным " -#~ "циклом приложения, подключения созданных " -#~ "маршрутизаторов, конфигурирования различных " -#~ "вторичных утилит, таких как автокомплит, " -#~ "логирование и т.д." -#~ msgstr "" - -#~ msgid "" -#~ "**Оркестратор**. Объект *оркестрации*, который " -#~ "конфигурирует, запускает и управляет всеми " -#~ "остальными компонентами программы." -#~ msgstr "" - -#~ msgid "" -#~ "**Внедрение зависимостей**. ``Argenta`` нативно " -#~ "поддерживает ``dishka`` и предоставляет " -#~ "возможность инжектирования зависимостей в " -#~ "хэндлерах, резолвя тайпхинты, подробнее_." -#~ msgstr "" - -#~ msgid "" -#~ "**Поддержка флагов**. Библиотека поддерживает " -#~ "определение флагов, введённых вместе с " -#~ "командой, ``Argenta`` сама парсит и " -#~ "валидирует их, отдавая понятные сущности." -#~ msgstr "" - -#~ msgid "" -#~ "**Поддержка аргументов**. Осуществленна поддержка" -#~ " аргументов командной строки, позволяя " -#~ "пользователю передавать различные параметры " -#~ "при запуске приложения." -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/app/autocompleter.po b/docs/locales/en/LC_MESSAGES/root/api/app/autocompleter.po index 8cade02..577ce68 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/app/autocompleter.po +++ b/docs/locales/en/LC_MESSAGES/root/api/app/autocompleter.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -31,50 +31,43 @@ msgid "" " снижает вероятность опечаток." msgstr "" -#: ../../root/api/app/autocompleter.rst:8 -msgid "" -"``AutoCompleter`` использует ``pyreadline3`` для реализации " -"функциональности `GNU readline` в `Windows`, что позволяет управлять " -"историей команд и автодополнением." -msgstr "" - -#: ../../root/api/app/autocompleter.rst:13 +#: ../../root/api/app/autocompleter.rst:11 msgid "Инициализация" msgstr "" -#: ../../root/api/app/autocompleter.rst:20 +#: ../../root/api/app/autocompleter.rst:18 msgid "Создаёт и настраивает экземпляр ``AutoCompleter``." msgstr "" -#: ../../root/api/app/autocompleter.rst:22 +#: ../../root/api/app/autocompleter.rst:20 msgid "" "``history_filename``: Имя файла для сохранения истории команд. Если " -"указано, история будет сохраняться между сессиями. При значении `None` " -"история хранится только в памяти." +"указано, история будет сохраняться между сессиями. При значении ``None`` " +"история хранится только в контексте сессии." msgstr "" -#: ../../root/api/app/autocompleter.rst:23 +#: ../../root/api/app/autocompleter.rst:21 msgid "" "``autocomplete_button``: Клавиша, активирующая автодополнение. По " "умолчанию — **Tab**." msgstr "" -#: ../../root/api/app/autocompleter.rst:28 +#: ../../root/api/app/autocompleter.rst:26 msgid "Назначение и возможности" msgstr "" -#: ../../root/api/app/autocompleter.rst:30 +#: ../../root/api/app/autocompleter.rst:28 msgid "Основные возможности ``AutoCompleter``:" msgstr "" -#: ../../root/api/app/autocompleter.rst:32 +#: ../../root/api/app/autocompleter.rst:30 msgid "" "**Автодополнение по истории**: При нажатии клавиши автодополнения (по " "умолчанию **Tab**) система ищет в истории команды, начинающиеся с уже " "введённого текста." msgstr "" -#: ../../root/api/app/autocompleter.rst:34 +#: ../../root/api/app/autocompleter.rst:32 msgid "" "**Общий префикс**: Если найдено несколько команд с общим префиксом, будет" " подставлена только общая часть. Например, для команд ``show_users`` и " @@ -82,123 +75,30 @@ msgid "" "``show_``." msgstr "" -#: ../../root/api/app/autocompleter.rst:36 +#: ../../root/api/app/autocompleter.rst:34 msgid "" "**Постоянная история**: Если указан ``history_filename``, история команд " "сохраняется в файл при выходе и загружается при следующем запуске. Это " "делает автодополнение со временем «умнее»." msgstr "" -#: ../../root/api/app/autocompleter.rst:38 +#: ../../root/api/app/autocompleter.rst:36 msgid "" "**Очистка истории**: При сохранении ``AutoCompleter`` удаляет дубликаты и" -" более не существующие команды, поддерживая историю в актуальном " -"состоянии." +" несуществующие команды, поддерживая историю в актуальном состоянии." msgstr "" -#: ../../root/api/app/autocompleter.rst:40 +#: ../../root/api/app/autocompleter.rst:38 msgid "" "**Настройка клавиши**: Клавишу автодополнения можно изменить с помощью " "параметра ``autocomplete_button``." msgstr "" -#: ../../root/api/app/autocompleter.rst:45 +#: ../../root/api/app/autocompleter.rst:43 msgid "Пример использования" msgstr "" -#: ../../root/api/app/autocompleter.rst:47 +#: ../../root/api/app/autocompleter.rst:45 msgid "``AutoCompleter`` передаётся как аргумент при инициализации `App`." msgstr "" -#~ msgid "Autocompleter" -#~ msgstr "" - -#~ msgid "" -#~ "Объект ``AutoCompleter`` является компонентом " -#~ "``Argenta``, отвечающим за интерактивное " -#~ "автодополнение команд. Его основная задача " -#~ "— улучшить опыт взаимодействия пользователя" -#~ " с командной строкой, предоставляя " -#~ "подсказки и автоматически завершая ввод " -#~ "на основе ранее введенных команд. Это" -#~ " значительно ускоряет работу и снижает " -#~ "вероятность опечаток." -#~ msgstr "" - -#~ msgid "" -#~ "``AutoCompleter`` использует ``pyreadline3`` для " -#~ "имплементации ``readline GNU`` на ``Windows``" -#~ " для управления историей команд и " -#~ "реализации логики автодополнения." -#~ msgstr "" - -#~ msgid "Создает и настраивает экземпляр ``AutoCompleter``." -#~ msgstr "" - -#~ msgid "" -#~ "``history_filename``: Имя файла для сохранения" -#~ " и загрузки истории команд. Если " -#~ "указано, история будет персистентной между " -#~ "сессиями приложения. Если **None**, история" -#~ " будет храниться только в памяти " -#~ "текущей сессии." -#~ msgstr "" - -#~ msgid "" -#~ "``autocomplete_button``: Название клавиши, которая" -#~ " активирует автодополнение. По умолчанию " -#~ "используется клавиша **\"tab\"**." -#~ msgstr "" - -#~ msgid "``AutoCompleter`` обладает следующими возможностями:" -#~ msgstr "" - -#~ msgid "" -#~ "**Автодополнение по истории**: Основная логика" -#~ " автодополнения основана на истории команд," -#~ " которые пользователь вводил ранее. Когда" -#~ " пользователь начинает вводить команду и" -#~ " нажимает клавишу автодополнения (по " -#~ "умолчанию **Tab**), система ищет в " -#~ "истории все команды, начинающиеся с " -#~ "введенного текста." -#~ msgstr "" - -#~ msgid "" -#~ "**Завершение по общему префиксу**: Если " -#~ "найдено несколько команд с общим " -#~ "префиксом, автодокомплитер подставит только " -#~ "общую часть. Например, если в истории" -#~ " есть команды ``show_users`` и " -#~ "``show_profile``, при вводе ``sho`` и " -#~ "нажатии **Tab** будет подставлено ``show_``." -#~ msgstr "" - -#~ msgid "" -#~ "**Персистентная история**: При указании " -#~ "параметра ``history_filename`` в конструкторе, " -#~ "вся история команд сохраняется в файл" -#~ " при выходе из приложения и " -#~ "загружается при следующем запуске. Это " -#~ "делает автодополнение со временем все " -#~ "более \"умным\" и персонализированным." -#~ msgstr "" - -#~ msgid "" -#~ "**Очистка истории**: При сохранении истории" -#~ " ``AutoCompleter`` автоматически удаляет " -#~ "дубликаты и команды, которые больше не" -#~ " зарегистрированы в приложении, поддерживая " -#~ "актуальность и чистоту файла истории." -#~ msgstr "" - -#~ msgid "" -#~ "**Настройка клавиши активации**: Вы можете " -#~ "изменить клавишу, отвечающую за " -#~ "автодополнение, через параметр " -#~ "``autocomplete_button``." -#~ msgstr "" - -#~ msgid "``AutoCompleter`` передается как аргумент при инициализации `App`." -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/app/dividing_lines.po b/docs/locales/en/LC_MESSAGES/root/api/app/dividing_lines.po index 54e81bc..fdceb2a 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/app/dividing_lines.po +++ b/docs/locales/en/LC_MESSAGES/root/api/app/dividing_lines.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -31,7 +31,7 @@ msgid "" msgstr "" #: ../../root/api/app/dividing_lines.rst:11 -msgid "Класс ``StaticDividingLine``" +msgid "``StaticDividingLine``" msgstr "" #: ../../root/api/app/dividing_lines.rst:13 @@ -52,20 +52,18 @@ msgid "" msgstr "" #: ../../root/api/app/dividing_lines.rst:24 -msgid "" -"``length``: Фиксированная длина линии (keyword-only аргумент). По " -"умолчанию: ``25``." +msgid "``length``: Фиксированная длина линии. По умолчанию: ``25``." msgstr "" #: ../../root/api/app/dividing_lines.rst:29 -msgid "Класс ``DynamicDividingLine``" +msgid "``DynamicDividingLine``" msgstr "" #: ../../root/api/app/dividing_lines.rst:31 msgid "" "``DynamicDividingLine`` создаёт линию, длина которой **динамически** " "подстраивается под самую длинную строку в выводе команды. Это требует " -"перехвата `stdout`, в результате чего разделители идеально обрамляют " +"перехвата ``stdout``, в результате чего разделители идеально обрамляют " "выводимый контент." msgstr "" @@ -136,120 +134,3 @@ msgid "" "через параметр ``dividing_line``." msgstr "" -#: ../../root/api/app/dividing_lines.rst:70 -msgid "Пример конфигурации" -msgstr "" - -#~ msgid "DividingLines" -#~ msgstr "" - -#~ msgid "" -#~ "Разделительные линии в ``Argenta`` играют " -#~ "важную роль в визуальном оформлении " -#~ "консольного интерфейса. Они используются для" -#~ " структурирования вывода, отделения блоков " -#~ "информации друг от друга (например, " -#~ "вывода команды от следующего приглашения " -#~ "к вводу). Библиотека предлагает два " -#~ "подхода к управлению разделительными линиями:" -#~ " статический и динамический, каждый из " -#~ "которых имеет свои преимущества и " -#~ "сценарии использования." -#~ msgstr "" - -#~ msgid "" -#~ "``StaticDividingLine`` — это класс, который" -#~ " создает разделительную линию **фиксированной**" -#~ " длины. Длина и символ-заполнитель задаются" -#~ " при инициализации объекта. Этот тип " -#~ "линии полезен, когда вам нужен " -#~ "предсказуемый и унифицированный внешний вид" -#~ " интерфейса, независимо от содержимого " -#~ "вывода." -#~ msgstr "" - -#~ msgid "Создает экземпляр статической разделительной линии." -#~ msgstr "" - -#~ msgid "" -#~ "``unit_part``: Символ, который будет " -#~ "использоваться для построения линии. " -#~ "Учитывается только первый символ строки. " -#~ "По умолчанию: ``-``." -#~ msgstr "" - -#~ msgid "" -#~ "``length``: Целое число, определяющее " -#~ "фиксированную длину линии в символах. " -#~ "Является keyword-only аргументом. По " -#~ "умолчанию: ``25``." -#~ msgstr "" - -#~ msgid "" -#~ "``DynamicDividingLine`` представляет собой более " -#~ "\"умный\" подход. Этот класс создает " -#~ "линию, длина которой **динамически** " -#~ "подстраивается под самую длинную строку, " -#~ "выведенную в консоль, в рамках " -#~ "выполнения одной команды. Это достигается " -#~ "за счет механизма перехвата `stdout`. В" -#~ " результате разделительные линии всегда " -#~ "идеально обрамляют выводимый контент, что " -#~ "выглядит очень аккуратно." -#~ msgstr "" - -#~ msgid "Создает экземпляр динамической разделительной линии." -#~ msgstr "" - -#~ msgid "" -#~ "``unit_part``: Символ, который будет " -#~ "использоваться для построения линии. По " -#~ "умолчанию: ``-``." -#~ msgstr "" - -#~ msgid "" -#~ "Длина для этой линии не задается " -#~ "при инициализации, так как она " -#~ "вычисляется автоматически во время выполнения." -#~ msgstr "" - -#~ msgid "" -#~ "Выбор между статической и динамической " -#~ "линией зависит от ваших потребностей в" -#~ " конкретном приложении или даже для " -#~ "конкретного ``Router``-а." -#~ msgstr "" - -#~ msgid "Вам нужен строгий, консистентный дизайн." -#~ msgstr "" - -#~ msgid "" -#~ "Вы используете роутеры с отключенным " -#~ "перехватом ``stdout`` (``disable_redirect_stdout=True``)," -#~ " так как в этом случае динамическое" -#~ " вычисление длины невозможно." -#~ msgstr "" - -#~ msgid "" -#~ "**DynamicDividingLine** (используется по умолчанию)" -#~ " является предпочтительным выбором, если:" -#~ msgstr "" - -#~ msgid "Вы хотите, чтобы интерфейс выглядел аккуратно и адаптивно." -#~ msgstr "" - -#~ msgid "" -#~ "Вывод ваших команд имеет разную длину," -#~ " и вы хотите, чтобы рамки всегда " -#~ "соответствовали контенту." -#~ msgstr "" - -#~ msgid "В ваших хэндлерах нет ожидающих ``io`` операций." -#~ msgstr "" - -#~ msgid "" -#~ "Тип разделительной линии для всего " -#~ "приложения задается при инициализации ``App``" -#~ " через параметр ``dividing_line``." -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/app/index.po b/docs/locales/en/LC_MESSAGES/root/api/app/index.po index cfa12e3..9b752ef 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/app/index.po +++ b/docs/locales/en/LC_MESSAGES/root/api/app/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -52,7 +52,9 @@ msgid "``farewell_message``: Сообщение, выводимое при вы msgstr "" #: ../../root/api/app/index.rst:43 -msgid "``exit_command``: Команда, используемая для выхода из приложения." +msgid "" +"``exit_command``: Команда, которая маркируется как триггер для выхода из " +"приложения." msgstr "" #: ../../root/api/app/index.rst:44 @@ -63,20 +65,20 @@ msgstr "" #: ../../root/api/app/index.rst:45 msgid "" -"``ignore_command_register``: Если ``True``, регистр команд игнорируется " -"при поиске обработчика." +"``ignore_command_register``: Если ``True``, регистр вводимых команд " +"игнорируется при поиске обработчика." msgstr "" #: ../../root/api/app/index.rst:46 msgid "" -"``dividing_line``: Стиль разделительной линии (``StaticDividingLine`` или" -" ``DynamicDividingLine``)." +"``dividing_line``: Тип разделительной линии (``StaticDividingLine`` или " +"``DynamicDividingLine``)." msgstr "" #: ../../root/api/app/index.rst:47 msgid "" -"``repeat_command_groups_printing``: Если ``True``, список доступных команд " -"выводится перед каждым вводом." +"``repeat_command_groups_printing``: Если ``True``, список доступных " +"команд выводится перед каждым вводом." msgstr "" #: ../../root/api/app/index.rst:48 @@ -86,13 +88,15 @@ msgid "" msgstr "" #: ../../root/api/app/index.rst:49 -msgid "``autocompleter``: Объект, отвечающий за автодополнение команд." +msgid "" +"``autocompleter``: Экземпляр класса :ref:`AutoCompleter " +"`, отвечающий за автодополнение команд." msgstr "" #: ../../root/api/app/index.rst:50 msgid "" "``print_func``: Функция для вывода всех системных сообщений (по умолчанию" -" ``rich.print``)." +" ``rich.Console().print``)." msgstr "" #: ../../root/api/app/index.rst:55 @@ -124,7 +128,7 @@ msgstr "" #: ../../root/api/app/index.rst:71 msgid "" "Добавляет текстовое сообщение, которое выводится при запуске приложения " -"после `initial_message`." +"после ``initial_message``." msgstr "" #: ../../root/api/app/index.rst:73 @@ -154,17 +158,15 @@ msgid "" msgstr "" #: ../../root/api/app/index.rst:92 -msgid "Устанавливает шаблон для форматирования строки описания команды." +msgid "Устанавливает шаблон для форматирования описания команды." msgstr "" #: ../../root/api/app/index.rst:94 -msgid "" -"Обработчик принимает триггер команды (``str``) и её описание (``str``), а" -" возвращает отформатированную строку." +msgid "Обработчик принимает триггер команды (``str``) и её описание (``str``)." msgstr "" #: ../../root/api/app/index.rst:100 -msgid "Устанавливает обработчик для некорректного синтаксиса флагов." +msgid "Устанавливает обработчик при некорректном введённом синтаксисе флагов." msgstr "" #: ../../root/api/app/index.rst:102 ../../root/api/app/index.rst:110 @@ -172,19 +174,19 @@ msgid "Обработчик принимает строку, введённую msgstr "" #: ../../root/api/app/index.rst:108 -msgid "Устанавливает обработчик для повторяющихся флагов в команде." +msgid "Устанавливает обработчик при повторяющихся флагах в введённой команде." msgstr "" #: ../../root/api/app/index.rst:116 -msgid "Устанавливает обработчик для неизвестной команды." +msgid "Устанавливает обработчик при вводе неизвестной команды." msgstr "" #: ../../root/api/app/index.rst:118 -msgid "Обработчик принимает объект ``InputCommand``." +msgid "Обработчик принимает объект ``InputCommand`` - объект введённой команды." msgstr "" #: ../../root/api/app/index.rst:124 -msgid "Устанавливает обработчик для пустого ввода." +msgid "Устанавливает обработчик при вводе пустой строки." msgstr "" #: ../../root/api/app/index.rst:126 @@ -205,227 +207,37 @@ msgstr "" #: ../../root/api/app/index.rst:149 msgid "" -"`PredefinedMessages` — это перечисление (Enum), содержащее набор готовых " -"к использованию строковых сообщений. Они отформатированы с использованием" -" синтаксиса `rich` и предназначены для вывода стандартной информации, " -"такой как подсказки по использованию." +"``PredefinedMessages`` — это контейнер, содержащий набор готовых к " +"использованию сообщений. Они отформатированы с использованием синтаксиса " +"``rich`` и предназначены для вывода стандартной информации, такой как " +"подсказки по использованию." msgstr "" #: ../../root/api/app/index.rst:151 msgid "Реккомендуется использовать их при старте приложения." msgstr "" -#: ../../root/api/app/index.rst:177 +#: ../../root/api/app/index.rst:178 msgid "Строка: ``[b dim]Usage[/b dim]: [i] <[green]flags[/green]>[/i]``" msgstr "" -#: ../../root/api/app/index.rst:179 +#: ../../root/api/app/index.rst:180 msgid "Отображается как: ``Usage: ``" msgstr "" -#: ../../root/api/app/index.rst:183 +#: ../../root/api/app/index.rst:184 msgid "Строка: ``[b dim]Help[/b dim]: [i][/i] [b red]--help[/b red]``" msgstr "" -#: ../../root/api/app/index.rst:185 +#: ../../root/api/app/index.rst:186 msgid "Отображается как: ``Help: --help``" msgstr "" -#: ../../root/api/app/index.rst:189 +#: ../../root/api/app/index.rst:190 msgid "Строка: ``[b dim]Autocomplete[/b dim]: [i][/i] [bold]``" msgstr "" -#: ../../root/api/app/index.rst:191 +#: ../../root/api/app/index.rst:192 msgid "Отображается как: ``Autocomplete: ``" 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 "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/bridge.po b/docs/locales/en/LC_MESSAGES/root/api/bridge.po index 52c5878..bada621 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/bridge.po +++ b/docs/locales/en/LC_MESSAGES/root/api/bridge.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -25,77 +25,70 @@ msgstr "" #: ../../root/api/bridge.rst:6 msgid "" -"`DataBridge` — это сущность, предоставляющая временное хранилище данных, " -"которое существует в рамках одной сессии приложения (от запуска до " -"выхода). Она предназначена для обмена данными между вызовами разных " -"команд." +"``DataBridge`` — это сущность, предоставляющая временное хранилище " +"данных, которое существует в рамках одной сессии приложения (от запуска " +"до выхода). Она предназначена для обмена данными между обработчиками." msgstr "" #: ../../root/api/bridge.rst:8 -msgid "" -"Основной способ получения доступа к `DataBridge` — через систему " -"внедрения зависимостей (DI)." -msgstr "" - -#: ../../root/api/bridge.rst:19 -msgid "**Практический пример: Аутентификация**" +msgid "Основной способ получения доступа к ``DataBridge`` — через ``di``." msgstr "" #: ../../root/api/bridge.rst:21 +msgid "**Практический пример: Аутентификация**" +msgstr "" + +#: ../../root/api/bridge.rst:23 msgid "" "Рассмотрим пример, где команда `login` сохраняет токен аутентификации, а " "команда `get-profile` использует его." msgstr "" -#: ../../root/api/bridge.rst:27 -msgid "**Как это работает:**" -msgstr "" - #: ../../root/api/bridge.rst:29 -msgid "" -"При вызове обработчика `dishka` автоматически внедряет экземпляр " -"`DataBridge`." -msgstr "" - -#: ../../root/api/bridge.rst:30 -msgid "" -"Команда ``login --username <имя>`` вызывает `login_handler`, который " -"через внедрённый `data_bridge` сохраняет токен." +msgid "**Как это работает:**" msgstr "" #: ../../root/api/bridge.rst:31 msgid "" -"Команда `get-profile` вызывает `get_profile_handler`, который так же " -"получает `data_bridge` и извлекает из него токен." +"При вызове обработчика ``dishka`` автоматически внедряет экземпляр " +"``DataBridge``." msgstr "" -#: ../../root/api/bridge.rst:34 -msgid "API класса" -msgstr "" - -#: ../../root/api/bridge.rst:40 +#: ../../root/api/bridge.rst:32 msgid "" -"Инициализирует хранилище. При использовании через DI вызывается " +"Команда ``login --username <имя>`` вызывает ``login_handler``, который " +"через внедрённый ``data_bridge`` сохраняет токен." +msgstr "" + +#: ../../root/api/bridge.rst:33 +msgid "" +"Команда ``get-profile`` вызывает ``get_profile_handler``, который так же " +"получает ``data_bridge`` и извлекает из него токен." +msgstr "" + +#: ../../root/api/bridge.rst:42 +msgid "" +"Инициализирует хранилище. При использовании через ``di`` вызывается " "автоматически." msgstr "" -#: ../../root/api/bridge.rst:44 +#: ../../root/api/bridge.rst:46 msgid "Обновляет хранилище данными из словаря." msgstr "" -#: ../../root/api/bridge.rst:48 +#: ../../root/api/bridge.rst:50 msgid "Возвращает все данные из хранилища." msgstr "" -#: ../../root/api/bridge.rst:52 -msgid "Возвращает значение по ключу или `None`, если ключ не найден." +#: ../../root/api/bridge.rst:54 +msgid "Возвращает значение по ключу или ``None``, если ключ не найден." msgstr "" -#: ../../root/api/bridge.rst:56 -msgid "Удаляет значение по ключу. Вызывает `KeyError`, если ключ не найден." +#: ../../root/api/bridge.rst:58 +msgid "Удаляет значение по ключу. Вызывает ``KeyError``, если ключ не найден." msgstr "" -#: ../../root/api/bridge.rst:60 +#: ../../root/api/bridge.rst:62 msgid "Полностью очищает хранилище." msgstr "" diff --git a/docs/locales/en/LC_MESSAGES/root/api/command/flag.po b/docs/locales/en/LC_MESSAGES/root/api/command/flag.po index 4fd9c96..348f205 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/command/flag.po +++ b/docs/locales/en/LC_MESSAGES/root/api/command/flag.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -27,8 +27,6 @@ msgstr "" msgid "" "``Flag`` — это сущность, описывающая флаг команды. Её основная задача — " "определить параметры флага, включая его имя, префикс и правила валидации." -" `Flag` используется при создании команд и предоставляет механизм для " -"проверки значений, введённых пользователем." msgstr "" #: ../../root/api/command/flag.rst:10 @@ -46,7 +44,7 @@ msgstr "" #: ../../root/api/command/flag.rst:14 msgid "" ":ref:`Общая информация ` о флагах и их использовании в " -"приложении ``Argenta``" +"``Argenta``" msgstr "" #: ../../root/api/command/flag.rst:19 @@ -68,8 +66,8 @@ msgstr "" #: ../../root/api/command/flag.rst:34 msgid "" "``possible_values``: Правила валидации значения. Может быть списком " -"строк, регулярным выражением или значением из `PossibleValues`. По " -"умолчанию `PossibleValues.ALL`." +"строк, регулярным выражением или значением из ``PossibleValues``. По " +"умолчанию ``PossibleValues.ALL``, то есть любое значение допустимо." msgstr "" #: ../../root/api/command/flag.rst:36 @@ -85,258 +83,232 @@ msgid "Префикс флага. Один из: ``\"-\"``, ``\"--\"``, ``\"---\ msgstr "" #: ../../root/api/command/flag.rst:48 -msgid "Определяет допустимые значения для флага:" +msgid "Допустимые значения для флага." msgstr "" -#: ../../root/api/command/flag.rst:50 -msgid "Список строк: флаг принимает только значения из этого списка." -msgstr "" - -#: ../../root/api/command/flag.rst:51 -msgid "" -"Регулярное выражение (`Pattern[str]`): значение проверяется на " -"соответствие паттерну." -msgstr "" - -#: ../../root/api/command/flag.rst:52 -msgid "`PossibleValues.ALL`: флаг принимает любое значение." -msgstr "" - -#: ../../root/api/command/flag.rst:53 -msgid "`PossibleValues.NEITHER`: флаг не должен иметь значения." -msgstr "" - -#: ../../root/api/command/flag.rst:55 ../../root/api/command/flag.rst:81 -#: ../../root/api/command/flag.rst:104 ../../root/api/command/flag.rst:124 -#: ../../root/api/command/flag.rst:148 ../../root/api/command/flag.rst:265 +#: ../../root/api/command/flag.rst:50 ../../root/api/command/flag.rst:93 +#: ../../root/api/command/flag.rst:113 ../../root/api/command/flag.rst:136 +#: ../../root/api/command/flag.rst:253 msgid "**Пример использования:**" msgstr "" -#: ../../root/api/command/flag.rst:64 +#: ../../root/api/command/flag.rst:59 msgid "Свойства" msgstr "" -#: ../../root/api/command/flag.rst:67 +#: ../../root/api/command/flag.rst:62 msgid "string_entity" msgstr "" -#: ../../root/api/command/flag.rst:75 -msgid "Возвращает строковое представление флага в формате `prefix + name`." +#: ../../root/api/command/flag.rst:70 +msgid "Возвращает строковое представление флага в формате ``prefix + name``." msgstr "" #: ../../root/api/command/flag.rst msgid "return" msgstr "" -#: ../../root/api/command/flag.rst:77 ../../root/api/command/flag.rst:102 +#: ../../root/api/command/flag.rst:72 ../../root/api/command/flag.rst:91 msgid "Строковое представление флага" msgstr "" -#: ../../root/api/command/flag.rst:79 +#: ../../root/api/command/flag.rst:74 msgid "" "Это свойство объединяет префикс и имя в единую строку, которая " "представляет флаг так, как он выглядел бы в командной строке." msgstr "" -#: ../../root/api/command/flag.rst:90 +#: ../../root/api/command/flag.rst:79 msgid "Магические методы" msgstr "" -#: ../../root/api/command/flag.rst:93 +#: ../../root/api/command/flag.rst:82 msgid "__str__" msgstr "" -#: ../../root/api/command/flag.rst:100 -msgid "Возвращает строковое представление флага (аналогично `string_entity`)." +#: ../../root/api/command/flag.rst:89 +msgid "Возвращает строковое представление флага (аналогично ``string_entity``)." msgstr "" -#: ../../root/api/command/flag.rst:113 +#: ../../root/api/command/flag.rst:102 msgid "__repr__" msgstr "" -#: ../../root/api/command/flag.rst:120 +#: ../../root/api/command/flag.rst:109 msgid "Возвращает отладочное представление объекта." msgstr "" -#: ../../root/api/command/flag.rst:122 -msgid "Строка в формате `Flag`." +#: ../../root/api/command/flag.rst:111 +msgid "Строка в формате ``Flag``." msgstr "" -#: ../../root/api/command/flag.rst:133 +#: ../../root/api/command/flag.rst:122 msgid "__eq__" msgstr "" -#: ../../root/api/command/flag.rst:140 +#: ../../root/api/command/flag.rst:129 msgid "" "Сравнивает два флага на равенство по их строковому представлению " -"(`string_entity`)." +"(``string_entity``)." msgstr "" #: ../../root/api/command/flag.rst msgid "param other" msgstr "" -#: ../../root/api/command/flag.rst:142 +#: ../../root/api/command/flag.rst:131 msgid "Объект для сравнения" msgstr "" -#: ../../root/api/command/flag.rst:143 -msgid "``True``, если флаги равны, иначе ``False``" +#: ../../root/api/command/flag.rst:132 +msgid "**True**, если флаги равны, иначе **False**" msgstr "" -#: ../../root/api/command/flag.rst -msgid "raises NotImplementedError" +#: ../../root/api/command/flag.rst:134 +msgid "Два флага считаются равными, если их ``string_entity`` идентичны." msgstr "" -#: ../../root/api/command/flag.rst:144 -msgid "Если `other` не является экземпляром `Flag`." -msgstr "" - -#: ../../root/api/command/flag.rst:146 -msgid "Два флага считаются равными, если их `string_entity` идентичны." -msgstr "" - -#: ../../root/api/command/flag.rst:159 +#: ../../root/api/command/flag.rst:147 msgid "PredefinedFlags" msgstr "" -#: ../../root/api/command/flag.rst:161 +#: ../../root/api/command/flag.rst:149 msgid "``argenta.command.PredefinedFlags``" msgstr "" -#: ../../root/api/command/flag.rst:163 +#: ../../root/api/command/flag.rst:151 msgid "" -"Класс `PredefinedFlags` предоставляет набор готовых флагов для " +"Класс ``PredefinedFlags`` предоставляет набор готовых флагов для " "использования в приложениях без их ручного создания. Эти флаги покрывают " -"наиболее распространённые сценарии и следуют общепринятым соглашениям." +"распространённые сценарии." msgstr "" -#: ../../root/api/command/flag.rst:165 +#: ../../root/api/command/flag.rst:153 msgid "" "Все предопределённые флаги являются атрибутами класса и представляют " -"собой готовые экземпляры `Flag`." +"собой готовые экземпляры ``Flag``." msgstr "" -#: ../../root/api/command/flag.rst:170 +#: ../../root/api/command/flag.rst:158 msgid "Информационные флаги" msgstr "" -#: ../../root/api/command/flag.rst:175 +#: ../../root/api/command/flag.rst:163 msgid "Флаг для отображения справки: ``--help``" msgstr "" -#: ../../root/api/command/flag.rst:177 +#: ../../root/api/command/flag.rst:165 msgid "``name``: ``\"help\"``" msgstr "" -#: ../../root/api/command/flag.rst:178 ../../root/api/command/flag.rst:194 -#: ../../root/api/command/flag.rst:236 ../../root/api/command/flag.rst:252 +#: ../../root/api/command/flag.rst:166 ../../root/api/command/flag.rst:182 +#: ../../root/api/command/flag.rst:224 ../../root/api/command/flag.rst:240 msgid "``prefix``: ``\"--\"`` (по умолчанию)" msgstr "" -#: ../../root/api/command/flag.rst:179 ../../root/api/command/flag.rst:187 -#: ../../root/api/command/flag.rst:195 ../../root/api/command/flag.rst:203 -#: ../../root/api/command/flag.rst:216 ../../root/api/command/flag.rst:224 +#: ../../root/api/command/flag.rst:167 ../../root/api/command/flag.rst:175 +#: ../../root/api/command/flag.rst:183 ../../root/api/command/flag.rst:191 +#: ../../root/api/command/flag.rst:204 ../../root/api/command/flag.rst:212 msgid "``possible_values``: ``PossibleValues.NEITHER``" msgstr "" -#: ../../root/api/command/flag.rst:183 +#: ../../root/api/command/flag.rst:171 msgid "Короткая версия флага справки: ``-H``" msgstr "" -#: ../../root/api/command/flag.rst:185 ../../root/api/command/flag.rst:243 +#: ../../root/api/command/flag.rst:173 ../../root/api/command/flag.rst:231 msgid "``name``: ``\"H\"``" msgstr "" -#: ../../root/api/command/flag.rst:186 ../../root/api/command/flag.rst:202 -#: ../../root/api/command/flag.rst:223 ../../root/api/command/flag.rst:244 -#: ../../root/api/command/flag.rst:260 +#: ../../root/api/command/flag.rst:174 ../../root/api/command/flag.rst:190 +#: ../../root/api/command/flag.rst:211 ../../root/api/command/flag.rst:232 +#: ../../root/api/command/flag.rst:248 msgid "``prefix``: ``\"-\"``" msgstr "" -#: ../../root/api/command/flag.rst:191 +#: ../../root/api/command/flag.rst:179 msgid "Флаг для отображения информации: ``--info``" msgstr "" -#: ../../root/api/command/flag.rst:193 +#: ../../root/api/command/flag.rst:181 msgid "``name``: ``\"info\"``" msgstr "" -#: ../../root/api/command/flag.rst:199 +#: ../../root/api/command/flag.rst:187 msgid "Короткая версия флага информации: ``-I``" msgstr "" -#: ../../root/api/command/flag.rst:201 +#: ../../root/api/command/flag.rst:189 msgid "``name``: ``\"I\"``" msgstr "" -#: ../../root/api/command/flag.rst:208 +#: ../../root/api/command/flag.rst:196 msgid "Флаги выбора" msgstr "" -#: ../../root/api/command/flag.rst:212 +#: ../../root/api/command/flag.rst:200 msgid "Флаг для выбора всех элементов: ``--all``" msgstr "" -#: ../../root/api/command/flag.rst:214 +#: ../../root/api/command/flag.rst:202 msgid "``name``: ``\"all\"``" msgstr "" -#: ../../root/api/command/flag.rst:215 +#: ../../root/api/command/flag.rst:203 msgid "``prefix``: ``\"--\"``" msgstr "" -#: ../../root/api/command/flag.rst:220 +#: ../../root/api/command/flag.rst:208 msgid "Короткая версия флага выбора всех элементов: ``-A``" msgstr "" -#: ../../root/api/command/flag.rst:222 +#: ../../root/api/command/flag.rst:210 msgid "``name``: ``\"A\"``" msgstr "" -#: ../../root/api/command/flag.rst:229 +#: ../../root/api/command/flag.rst:217 msgid "Сетевые флаги" msgstr "" -#: ../../root/api/command/flag.rst:233 +#: ../../root/api/command/flag.rst:221 msgid "Флаг для указания IP-адреса хоста: ``--host``" msgstr "" -#: ../../root/api/command/flag.rst:235 +#: ../../root/api/command/flag.rst:223 msgid "``name``: ``\"host\"``" msgstr "" -#: ../../root/api/command/flag.rst:237 ../../root/api/command/flag.rst:245 +#: ../../root/api/command/flag.rst:225 ../../root/api/command/flag.rst:233 #, python-brace-format msgid "" "``possible_values``: Регулярное выражение для валидации IPv4: " "``r\"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$\"``" msgstr "" -#: ../../root/api/command/flag.rst:241 +#: ../../root/api/command/flag.rst:229 msgid "Короткая версия флага хоста: ``-H``" msgstr "" -#: ../../root/api/command/flag.rst:249 +#: ../../root/api/command/flag.rst:237 msgid "Флаг для указания порта: ``--port``" msgstr "" -#: ../../root/api/command/flag.rst:251 +#: ../../root/api/command/flag.rst:239 msgid "``name``: ``\"port\"``" msgstr "" -#: ../../root/api/command/flag.rst:253 ../../root/api/command/flag.rst:261 +#: ../../root/api/command/flag.rst:241 ../../root/api/command/flag.rst:249 #, python-brace-format msgid "" "``possible_values``: Регулярное выражение для валидации порта: " "``r\"^\\d{1,5}$\"``" msgstr "" -#: ../../root/api/command/flag.rst:257 +#: ../../root/api/command/flag.rst:245 msgid "Короткая версия флага порта: ``-P``" msgstr "" -#: ../../root/api/command/flag.rst:259 +#: ../../root/api/command/flag.rst:247 msgid "``name``: ``\"P\"``" msgstr "" diff --git a/docs/locales/en/LC_MESSAGES/root/api/command/flags.po b/docs/locales/en/LC_MESSAGES/root/api/command/flags.po index 0cf3df3..4354c15 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/command/flags.po +++ b/docs/locales/en/LC_MESSAGES/root/api/command/flags.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -25,77 +25,66 @@ msgstr "" #: ../../root/api/command/flags.rst:6 msgid "" -"`Flags` — это коллекция флагов команды. Её основная задача — группировать" -" и управлять набором флагов, зарегистрированных для конкретной команды. " -"`Flags` служит контейнером, который позволяет удобно добавлять, " -"извлекать, итерировать флаги и проверять их наличие." +"``Flags`` — это коллекция флагов команды. Её основная задача — " +"группировать и управлять набором флагов, зарегистрированных для " +"конкретной команды. ``Flags`` служит контейнером, который позволяет " +"удобно добавлять, извлекать, итерировать флаги и проверять их наличие." msgstr "" -#: ../../root/api/command/flags.rst:8 -msgid "" -"`Flags` наследуется от базового класса `BaseFlags` и специализируется на " -"работе с объектами типа `Flag`. Этот класс используется при создании " -"команд с несколькими флагами и предоставляет интерфейс для управления " -"ими." -msgstr "" - -#: ../../root/api/command/flags.rst:12 +#: ../../root/api/command/flags.rst:10 msgid "" "Документация по отдельным флагам (:ref:`Flag `, " ":ref:`InputFlag `)" msgstr "" -#: ../../root/api/command/flags.rst:14 +#: ../../root/api/command/flags.rst:12 msgid "" "Документация по :ref:`InputFlags ` — " "коллекция обработанных флагов, введённых пользователем." msgstr "" -#: ../../root/api/command/flags.rst:16 +#: ../../root/api/command/flags.rst:14 msgid "" ":ref:`Общая информация ` о флагах и их использовании в " "приложении ``Argenta``" msgstr "" -#: ../../root/api/command/flags.rst:21 +#: ../../root/api/command/flags.rst:19 msgid "Инициализация" msgstr "" -#: ../../root/api/command/flags.rst:28 +#: ../../root/api/command/flags.rst:26 msgid "Создаёт новую коллекцию флагов." msgstr "" -#: ../../root/api/command/flags.rst:30 +#: ../../root/api/command/flags.rst:28 msgid "" -"``flags``: Необязательный список флагов типа `Flag` для инициализации " +"``flags``: Необязательный список флагов типа ``Flag`` для инициализации " "коллекции. Если не указан, создаётся пустая коллекция." msgstr "" -#: ../../root/api/command/flags.rst:32 +#: ../../root/api/command/flags.rst:30 msgid "**Атрибуты:**" msgstr "" -#: ../../root/api/command/flags.rst:37 -msgid "" -"Список всех зарегистрированных флагов типа `Flag`. Пуст, если флаги не " -"были переданы при инициализации." +#: ../../root/api/command/flags.rst:35 +msgid "Список всех зарегистрированных флагов типа ``Flag``." msgstr "" -#: ../../root/api/command/flags.rst:39 ../../root/api/command/flags.rst:65 -#: ../../root/api/command/flags.rst:88 ../../root/api/command/flags.rst:111 -#: ../../root/api/command/flags.rst:134 ../../root/api/command/flags.rst:155 +#: ../../root/api/command/flags.rst:37 ../../root/api/command/flags.rst:63 +#: ../../root/api/command/flags.rst:86 ../../root/api/command/flags.rst:109 msgid "**Пример использования:**" msgstr "" -#: ../../root/api/command/flags.rst:48 +#: ../../root/api/command/flags.rst:46 msgid "Методы" msgstr "" -#: ../../root/api/command/flags.rst:51 +#: ../../root/api/command/flags.rst:49 msgid "add_flag" msgstr "" -#: ../../root/api/command/flags.rst:58 +#: ../../root/api/command/flags.rst:56 msgid "Добавляет флаг в коллекцию." msgstr "" @@ -103,29 +92,27 @@ msgstr "" msgid "param flag" msgstr "" -#: ../../root/api/command/flags.rst:60 -msgid "Флаг типа `Flag` для добавления." +#: ../../root/api/command/flags.rst:58 +msgid "Флаг типа ``Flag`` для добавления." msgstr "" #: ../../root/api/command/flags.rst msgid "return" msgstr "" -#: ../../root/api/command/flags.rst:61 ../../root/api/command/flags.rst:84 +#: ../../root/api/command/flags.rst:59 ../../root/api/command/flags.rst:82 msgid "None." msgstr "" -#: ../../root/api/command/flags.rst:63 -msgid "" -"Метод добавляет флаг в конец списка `flags`. Используется для " -"динамического расширения набора флагов." +#: ../../root/api/command/flags.rst:61 +msgid "Используется для динамического расширения набора флагов." msgstr "" -#: ../../root/api/command/flags.rst:74 +#: ../../root/api/command/flags.rst:72 msgid "add_flags" msgstr "" -#: ../../root/api/command/flags.rst:81 +#: ../../root/api/command/flags.rst:79 msgid "Добавляет в коллекцию список флагов." msgstr "" @@ -133,21 +120,21 @@ msgstr "" msgid "param flags" msgstr "" -#: ../../root/api/command/flags.rst:83 -msgid "Список флагов типа `Flag` для добавления." +#: ../../root/api/command/flags.rst:81 +msgid "Список флагов типа ``Flag`` для добавления." msgstr "" -#: ../../root/api/command/flags.rst:86 +#: ../../root/api/command/flags.rst:84 msgid "" "Метод расширяет коллекцию, добавляя в неё все флаги из переданного " "списка. Эффективен для пакетного добавления." msgstr "" -#: ../../root/api/command/flags.rst:97 +#: ../../root/api/command/flags.rst:95 msgid "get_flag_by_name" msgstr "" -#: ../../root/api/command/flags.rst:104 +#: ../../root/api/command/flags.rst:102 msgid "Возвращает флаг по имени." msgstr "" @@ -155,62 +142,17 @@ msgstr "" msgid "param name" msgstr "" -#: ../../root/api/command/flags.rst:106 +#: ../../root/api/command/flags.rst:104 msgid "Имя искомого флага." msgstr "" +#: ../../root/api/command/flags.rst:105 +msgid "Объект ``Flag`` или ``None``, если флаг не найден." +msgstr "" + #: ../../root/api/command/flags.rst:107 -msgid "Объект `Flag` или `None`, если флаг не найден." -msgstr "" - -#: ../../root/api/command/flags.rst:109 msgid "" -"Метод выполняет поиск по списку `flags` и возвращает первый флаг с " -"соответствующим именем. Если флаг не найден, возвращается `None`." +"Метод возвращает флаг с соответствующим именем. Если флаг не найден, " +"возвращается ``None``." msgstr "" -#: ../../root/api/command/flags.rst:120 -msgid "Магические методы" -msgstr "" - -#: ../../root/api/command/flags.rst:123 -msgid "__iter__" -msgstr "" - -#: ../../root/api/command/flags.rst:130 -msgid "Делает коллекцию итерируемой для использования в циклах." -msgstr "" - -#: ../../root/api/command/flags.rst:132 -msgid "Итератор по списку флагов." -msgstr "" - -#: ../../root/api/command/flags.rst:143 -msgid "__getitem__" -msgstr "" - -#: ../../root/api/command/flags.rst:150 -msgid "Позволяет получать флаг по индексу." -msgstr "" - -#: ../../root/api/command/flags.rst -msgid "param flag_index" -msgstr "" - -#: ../../root/api/command/flags.rst:152 -msgid "Индекс флага в списке." -msgstr "" - -#: ../../root/api/command/flags.rst:153 -msgid "Флаг по указанному индексу." -msgstr "" - -#~ msgid "Flag" -#~ msgstr "" - -#~ msgid "InputFlags" -#~ msgstr "" - -#~ msgid "InputFlag" -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/command/index.po b/docs/locales/en/LC_MESSAGES/root/api/command/index.po index aeadacb..d0a14ba 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/command/index.po +++ b/docs/locales/en/LC_MESSAGES/root/api/command/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -26,9 +26,8 @@ msgstr "" #: ../../root/api/command/index.rst:6 msgid "" "``Command`` — это основная единица функциональности в приложении. Каждая " -"команда определяет действие, которое пользователь может выполнить, введя " -"соответствующий триггер. Команды регистрируются в роутерах и формируют " -"интерфейс взаимодействия с приложением." +"команда связывает хэндлер с триггером, введя который он будет вызван для " +"обработки." msgstr "" #: ../../root/api/command/index.rst:8 @@ -60,14 +59,14 @@ msgstr "" #: ../../root/api/command/index.rst:27 msgid "" "``flags``: Набор флагов для настройки поведения. Может быть одиночным " -"объектом `Flag` или коллекцией `Flags`." +"объектом ``Flag`` или коллекцией ``Flags``." msgstr "" #: ../../root/api/command/index.rst:28 msgid "``aliases``: Список строковых псевдонимов для основного триггера." msgstr "" -#: ../../root/api/command/index.rst:30 ../../root/api/command/index.rst:125 +#: ../../root/api/command/index.rst:30 ../../root/api/command/index.rst:108 msgid "**Атрибуты:**" msgstr "" @@ -85,8 +84,9 @@ msgstr "" #: ../../root/api/command/index.rst:42 msgid "" -"Объект `Flags`, содержащий все зарегистрированные флаги. Автоматически " -"конвертируется из одиночного `Flag` в коллекцию при инициализации." +"Объект ``Flags``, содержащий все зарегистрированные флаги. Если был " +"передан ``Flag``, то автоматически конвертируется из одиночного в " +"коллекцию при инициализации." msgstr "" #: ../../root/api/command/index.rst:46 @@ -108,9 +108,7 @@ msgid "Регистрация команд" msgstr "" #: ../../root/api/command/index.rst:61 -msgid "" -"Команды регистрируются в роутерах с помощью декоратора " -"``@router.command()``, после чего становятся доступными для вызова." +msgid "Команды передаются в качестве аргумента в декоратор ``@router.command()``." msgstr "" #: ../../root/api/command/index.rst:63 @@ -135,19 +133,19 @@ msgstr "" msgid "**Пример с псевдонимами:**" msgstr "" -#: ../../root/api/command/index.rst:97 +#: ../../root/api/command/index.rst:85 msgid "Теперь пользователь может вызвать команду любым из способов:" msgstr "" -#: ../../root/api/command/index.rst:106 -msgid "Все эти варианты выполнят одну и ту же функцию ``handle_shutdown``." +#: ../../root/api/command/index.rst:94 +msgid "Все эти варианты вызовут один и тот же хэндлер ``handle_shutdown``." msgstr "" -#: ../../root/api/command/index.rst:113 +#: ../../root/api/command/index.rst:101 msgid "InputCommand" msgstr "" -#: ../../root/api/command/index.rst:115 +#: ../../root/api/command/index.rst:103 msgid "" "``InputCommand`` представляет собой обработанную команду, введённую " "пользователем. Этот внутренний класс создаётся автоматически при " @@ -155,39 +153,17 @@ msgid "" "создании пользовательского обработчика для неизвестных команд." msgstr "" -#: ../../root/api/command/index.rst:118 +#: ../../root/api/command/index.rst:106 msgid "" "Подробнее о пользовательских обработчиках исключений см. :ref:`здесь " -"`." +"`." msgstr "" -#: ../../root/api/command/index.rst:120 -msgid "Создаёт экземпляр обработанной команды." -msgstr "" - -#: ../../root/api/command/index.rst -msgid "param trigger" -msgstr "" - -#: ../../root/api/command/index.rst:122 -msgid "Триггер команды, извлечённый из пользовательского ввода." -msgstr "" - -#: ../../root/api/command/index.rst -msgid "param input_flags" -msgstr "" - -#: ../../root/api/command/index.rst:123 -msgid "Флаги, переданные пользователем." -msgstr "" - -#: ../../root/api/command/index.rst:130 +#: ../../root/api/command/index.rst:113 msgid "Строковый триггер, введённый пользователем." msgstr "" -#: ../../root/api/command/index.rst:135 -msgid "" -"Объект `InputFlags`, содержащий все переданные с командой флаги. " -"Автоматически конвертируется из одиночного `InputFlag` в коллекцию." +#: ../../root/api/command/index.rst:118 +msgid "Объект ``InputFlags``, содержащий все введённые и распаршенные флаги." msgstr "" diff --git a/docs/locales/en/LC_MESSAGES/root/api/command/input_flag.po b/docs/locales/en/LC_MESSAGES/root/api/command/input_flag.po index a546a80..de4f40d 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/command/input_flag.po +++ b/docs/locales/en/LC_MESSAGES/root/api/command/input_flag.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -25,8 +25,8 @@ msgstr "" #: ../../root/api/command/input_flag.rst:6 msgid "" -"Объект `InputFlag` представляет собой флаг, введённый пользователем. Он " -"создаётся в результате обработки пользовательского ввода и содержит " +"Объект ``InputFlag`` представляет собой флаг, введённый пользователем. Он" +" создаётся в результате обработки пользовательского ввода и содержит " "информацию о распознанном флаге: его имя, префикс, значение и статус " "валидации." msgstr "" @@ -44,124 +44,93 @@ msgid "" msgstr "" #: ../../root/api/command/input_flag.rst:17 -msgid "Инициализация" -msgstr "" - -#: ../../root/api/command/input_flag.rst:29 -msgid "Создаёт новый объект введённого флага." -msgstr "" - -#: ../../root/api/command/input_flag.rst:31 -msgid "``name``: Имя введённого флага." -msgstr "" - -#: ../../root/api/command/input_flag.rst:32 -msgid "``prefix``: Префикс флага (``-``, ``--``, ``---``). По умолчанию ``--``." -msgstr "" - -#: ../../root/api/command/input_flag.rst:33 -msgid "``input_value``: Значение, переданное с флагом. Может быть `None`." -msgstr "" - -#: ../../root/api/command/input_flag.rst:34 -msgid "``status``: Статус валидации из перечисления `ValidationStatus`." -msgstr "" - -#: ../../root/api/command/input_flag.rst:37 msgid "" "Экземпляры этого класса не предназначены для прямого создания. Они " "содержатся в объекте :ref:`Response `." msgstr "" -#: ../../root/api/command/input_flag.rst:39 +#: ../../root/api/command/input_flag.rst:19 msgid "**Атрибуты:**" msgstr "" -#: ../../root/api/command/input_flag.rst:44 +#: ../../root/api/command/input_flag.rst:24 msgid "Имя введённого флага." msgstr "" -#: ../../root/api/command/input_flag.rst:49 +#: ../../root/api/command/input_flag.rst:29 msgid "Префикс флага: ``-``, ``--`` или ``---``." msgstr "" -#: ../../root/api/command/input_flag.rst:53 +#: ../../root/api/command/input_flag.rst:33 msgid "Значение, переданное с флагом. Может быть `None` для флагов без значений." msgstr "" -#: ../../root/api/command/input_flag.rst:58 +#: ../../root/api/command/input_flag.rst:38 msgid "" -"Статус валидации флага: `ValidationStatus.VALID`, " -"`ValidationStatus.INVALID` или `ValidationStatus.UNDEFINED`." +"Статус валидации флага: ``ValidationStatus.VALID``, " +"``ValidationStatus.INVALID`` или ``ValidationStatus.UNDEFINED``." msgstr "" -#: ../../root/api/command/input_flag.rst:60 -#: ../../root/api/command/input_flag.rst:86 -#: ../../root/api/command/input_flag.rst:109 -#: ../../root/api/command/input_flag.rst:129 -#: ../../root/api/command/input_flag.rst:153 -msgid "**Пример использования:**" -msgstr "" - -#: ../../root/api/command/input_flag.rst:69 +#: ../../root/api/command/input_flag.rst:43 msgid "Свойства" msgstr "" -#: ../../root/api/command/input_flag.rst:72 +#: ../../root/api/command/input_flag.rst:46 msgid "string_entity" msgstr "" -#: ../../root/api/command/input_flag.rst:80 -msgid "Возвращает строковое представление флага в формате `prefix + name`." +#: ../../root/api/command/input_flag.rst:54 +msgid "Возвращает строковое представление флага в формате ``prefix + name``." msgstr "" #: ../../root/api/command/input_flag.rst msgid "return" msgstr "" -#: ../../root/api/command/input_flag.rst:82 +#: ../../root/api/command/input_flag.rst:56 msgid "Строковое представление флага" msgstr "" -#: ../../root/api/command/input_flag.rst:84 -msgid "" -"Это свойство объединяет префикс и имя в строку, представляющую флаг так, " -"как он был введён в командной строке." -msgstr "" - -#: ../../root/api/command/input_flag.rst:95 +#: ../../root/api/command/input_flag.rst:61 msgid "Магические методы" msgstr "" -#: ../../root/api/command/input_flag.rst:98 +#: ../../root/api/command/input_flag.rst:64 msgid "__str__" msgstr "" -#: ../../root/api/command/input_flag.rst:105 +#: ../../root/api/command/input_flag.rst:71 msgid "Возвращает строковое представление флага вместе с его значением." msgstr "" -#: ../../root/api/command/input_flag.rst:107 -msgid "Строка в формате `флаг значение`." +#: ../../root/api/command/input_flag.rst:73 +msgid "Строка в формате ``флаг значение``." msgstr "" -#: ../../root/api/command/input_flag.rst:118 +#: ../../root/api/command/input_flag.rst:75 +#: ../../root/api/command/input_flag.rst:95 +msgid "**Пример использования:**" +msgstr "" + +#: ../../root/api/command/input_flag.rst:84 msgid "__repr__" msgstr "" -#: ../../root/api/command/input_flag.rst:125 +#: ../../root/api/command/input_flag.rst:91 msgid "Возвращает отладочное представление объекта." msgstr "" -#: ../../root/api/command/input_flag.rst:127 -msgid "Строка в формате `InputFlag`." +#: ../../root/api/command/input_flag.rst:93 +msgid "" +"Строка в формате ``InputFlag``." msgstr "" -#: ../../root/api/command/input_flag.rst:138 +#: ../../root/api/command/input_flag.rst:104 msgid "__eq__" msgstr "" -#: ../../root/api/command/input_flag.rst:145 +#: ../../root/api/command/input_flag.rst:111 msgid "Сравнивает два введённых флага на равенство по имени." msgstr "" @@ -169,23 +138,15 @@ msgstr "" msgid "param other" msgstr "" -#: ../../root/api/command/input_flag.rst:147 +#: ../../root/api/command/input_flag.rst:113 msgid "Объект для сравнения." msgstr "" -#: ../../root/api/command/input_flag.rst:148 -msgid "`True`, если имена флагов совпадают, иначе `False`." +#: ../../root/api/command/input_flag.rst:114 +msgid "**True**, если имена флагов совпадают, иначе **False**." msgstr "" -#: ../../root/api/command/input_flag.rst -msgid "raises NotImplementedError" -msgstr "" - -#: ../../root/api/command/input_flag.rst:149 -msgid "Если `other` не является экземпляром `InputFlag`." -msgstr "" - -#: ../../root/api/command/input_flag.rst:151 +#: ../../root/api/command/input_flag.rst:116 msgid "Два введённых флага считаются равными, если их имена совпадают." msgstr "" diff --git a/docs/locales/en/LC_MESSAGES/root/api/command/input_flags.po b/docs/locales/en/LC_MESSAGES/root/api/command/input_flags.po index e109b76..77d1178 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/command/input_flags.po +++ b/docs/locales/en/LC_MESSAGES/root/api/command/input_flags.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -25,105 +25,93 @@ msgstr "" #: ../../root/api/command/input_flags.rst:6 msgid "" -"`InputFlags` — это коллекция флагов, введённых пользователем. Её основная" -" задача — группировать и управлять набором флагов, переданных вместе с " -"командой. `InputFlags` служит контейнером, который позволяет удобно " -"извлекать, итерировать и проверять наличие флагов, а также работать с их " -"значениями и статусами валидации." +"``InputFlags`` — это коллекция флагов, введённых пользователем. Её " +"основная задача — группировать и управлять набором флагов, переданных " +"вместе с командой. ``InputFlags`` служит контейнером, который позволяет " +"удобно извлекать, итерировать и проверять наличие флагов, а также " +"работать с их значениями и статусами валидации." msgstr "" -#: ../../root/api/command/input_flags.rst:8 -msgid "" -"`InputFlags` наследуется от `BaseFlags` и специализируется на работе с " -"объектами типа `InputFlag`. Этот класс создаётся автоматически при " -"обработке пользовательского ввода и передаётся в обработчики команд через" -" объект `Response`." -msgstr "" - -#: ../../root/api/command/input_flags.rst:12 +#: ../../root/api/command/input_flags.rst:10 msgid "" "Документация по отдельным флагам (:ref:`Flag `, " ":ref:`InputFlag `)" msgstr "" -#: ../../root/api/command/input_flags.rst:14 +#: ../../root/api/command/input_flags.rst:12 msgid "" "Документация по :ref:`InputFlags ` — " "коллекция обработанных флагов, введённых пользователем." msgstr "" -#: ../../root/api/command/input_flags.rst:16 +#: ../../root/api/command/input_flags.rst:14 msgid "" "Документация по :ref:`Response ` — объект ответа, " "содержащий ``InputFlags``" msgstr "" -#: ../../root/api/command/input_flags.rst:18 +#: ../../root/api/command/input_flags.rst:16 msgid "" ":ref:`Общая информация ` о флагах и их использовании в " "приложении ``Argenta``" msgstr "" -#: ../../root/api/command/input_flags.rst:23 +#: ../../root/api/command/input_flags.rst:21 msgid "Инициализация" msgstr "" -#: ../../root/api/command/input_flags.rst:30 +#: ../../root/api/command/input_flags.rst:28 msgid "Создаёт новую коллекцию введённых флагов." msgstr "" -#: ../../root/api/command/input_flags.rst:32 +#: ../../root/api/command/input_flags.rst:30 msgid "" -"``flags``: Необязательный список флагов типа `InputFlag` для " +"``flags``: Необязательный список флагов типа ``InputFlag`` для " "инициализации коллекции. Если не указан, создаётся пустая коллекция." msgstr "" -#: ../../root/api/command/input_flags.rst:35 +#: ../../root/api/command/input_flags.rst:33 msgid "" "Экземпляры этого класса обычно не создаются напрямую. Они автоматически " "формируются системой при обработке пользовательского ввода и доступны " -"через атрибут `input_flags` объекта `Response`." +"через атрибут ``input_flags`` объекта ``Response``." msgstr "" -#: ../../root/api/command/input_flags.rst:37 +#: ../../root/api/command/input_flags.rst:35 msgid "**Атрибуты:**" msgstr "" -#: ../../root/api/command/input_flags.rst:42 +#: ../../root/api/command/input_flags.rst:40 msgid "" -"Список всех введённых флагов типа `InputFlag`. Пуст, если флаги не были " -"переданы при инициализации или пользователь не ввёл их с командой." +"Список всех введённых флагов типа ``InputFlag``. Пуст, если флаги не были" +" переданы при инициализации или пользователь не ввёл их с командой." msgstr "" -#: ../../root/api/command/input_flags.rst:44 -#: ../../root/api/command/input_flags.rst:70 -#: ../../root/api/command/input_flags.rst:96 -#: ../../root/api/command/input_flags.rst:119 -#: ../../root/api/command/input_flags.rst:144 -#: ../../root/api/command/input_flags.rst:167 -#: ../../root/api/command/input_flags.rst:189 -#: ../../root/api/command/input_flags.rst:213 -#: ../../root/api/command/input_flags.rst:237 +#: ../../root/api/command/input_flags.rst:42 +#: ../../root/api/command/input_flags.rst:68 +#: ../../root/api/command/input_flags.rst:94 +#: ../../root/api/command/input_flags.rst:117 +#: ../../root/api/command/input_flags.rst:131 msgid "**Пример использования:**" msgstr "" -#: ../../root/api/command/input_flags.rst:53 +#: ../../root/api/command/input_flags.rst:51 msgid "Методы" msgstr "" -#: ../../root/api/command/input_flags.rst:56 +#: ../../root/api/command/input_flags.rst:54 msgid "get_flag_by_name" msgstr "" -#: ../../root/api/command/input_flags.rst:63 -msgid "Возвращает введённый флаг по имени." +#: ../../root/api/command/input_flags.rst:61 +msgid "Возвращает флаг по имени." msgstr "" #: ../../root/api/command/input_flags.rst msgid "param name" msgstr "" -#: ../../root/api/command/input_flags.rst:65 +#: ../../root/api/command/input_flags.rst:63 msgid "Имя искомого флага (без префикса)." msgstr "" @@ -131,21 +119,21 @@ msgstr "" msgid "return" msgstr "" +#: ../../root/api/command/input_flags.rst:64 +msgid "Объект ``InputFlag`` или ``None``, если флаг не найден." +msgstr "" + #: ../../root/api/command/input_flags.rst:66 -msgid "Объект `InputFlag` или `None`, если флаг не найден." -msgstr "" - -#: ../../root/api/command/input_flags.rst:68 msgid "" -"Метод выполняет поиск по списку `flags` и возвращает первый флаг с " -"соответствующим именем (без учёта префикса)." +"Метод возвращает первый флаг с соответствующим именем (без учёта " +"префикса)." msgstr "" -#: ../../root/api/command/input_flags.rst:79 +#: ../../root/api/command/input_flags.rst:77 msgid "add_flag" msgstr "" -#: ../../root/api/command/input_flags.rst:86 +#: ../../root/api/command/input_flags.rst:84 msgid "Добавляет введённый флаг в коллекцию." msgstr "" @@ -153,33 +141,33 @@ msgstr "" msgid "param flag" msgstr "" -#: ../../root/api/command/input_flags.rst:88 -msgid "Флаг типа `InputFlag` для добавления." +#: ../../root/api/command/input_flags.rst:86 +msgid "Флаг типа ``InputFlag`` для добавления." msgstr "" -#: ../../root/api/command/input_flags.rst:89 -#: ../../root/api/command/input_flags.rst:115 +#: ../../root/api/command/input_flags.rst:87 +#: ../../root/api/command/input_flags.rst:113 msgid "None." msgstr "" -#: ../../root/api/command/input_flags.rst:91 +#: ../../root/api/command/input_flags.rst:89 msgid "" -"Метод добавляет флаг в конец списка `flags`. Используется для " +"Метод добавляет флаг в конец списка ``flags``. Используется для " "динамического расширения коллекции." msgstr "" -#: ../../root/api/command/input_flags.rst:94 +#: ../../root/api/command/input_flags.rst:92 msgid "" "Этот метод используется редко, так как `InputFlags` обычно создаётся " "автоматически. Однако он может быть полезен для тестирования или ручного " "создания коллекций." msgstr "" -#: ../../root/api/command/input_flags.rst:105 +#: ../../root/api/command/input_flags.rst:103 msgid "add_flags" msgstr "" -#: ../../root/api/command/input_flags.rst:112 +#: ../../root/api/command/input_flags.rst:110 msgid "Добавляет в коллекцию список введённых флагов." msgstr "" @@ -187,160 +175,21 @@ msgstr "" msgid "param flags" msgstr "" -#: ../../root/api/command/input_flags.rst:114 -msgid "Список флагов типа `InputFlag` для добавления." +#: ../../root/api/command/input_flags.rst:112 +msgid "Список флагов типа ``InputFlag`` для добавления." msgstr "" -#: ../../root/api/command/input_flags.rst:117 +#: ../../root/api/command/input_flags.rst:115 msgid "" "Метод расширяет коллекцию, добавляя в неё все флаги из переданного " "списка. Эффективен для пакетного добавления." msgstr "" -#: ../../root/api/command/input_flags.rst:128 -msgid "Магические методы" -msgstr "" - -#: ../../root/api/command/input_flags.rst:131 -msgid "__iter__" -msgstr "" - -#: ../../root/api/command/input_flags.rst:138 -msgid "Делает коллекцию итерируемой для использования в циклах." -msgstr "" - -#: ../../root/api/command/input_flags.rst:140 -msgid "Итератор по списку введённых флагов." -msgstr "" - -#: ../../root/api/command/input_flags.rst:142 -msgid "" -"Позволяет перебирать все введённые флаги, что полезно для проверки их " -"статусов или пакетной обработки." -msgstr "" - -#: ../../root/api/command/input_flags.rst:153 -msgid "__getitem__" -msgstr "" - -#: ../../root/api/command/input_flags.rst:160 -msgid "Позволяет получать введённый флаг по индексу." -msgstr "" - -#: ../../root/api/command/input_flags.rst -msgid "param flag_index" -msgstr "" - -#: ../../root/api/command/input_flags.rst:162 -msgid "Индекс флага в списке." -msgstr "" - -#: ../../root/api/command/input_flags.rst:163 -msgid "Флаг по указанному индексу." -msgstr "" - -#: ../../root/api/command/input_flags.rst:165 -msgid "" -"Позволяет обращаться к флагам по их позиции, что может быть полезно для " -"их обработки в определённом порядке." -msgstr "" - -#: ../../root/api/command/input_flags.rst:176 -msgid "__bool__" -msgstr "" - -#: ../../root/api/command/input_flags.rst:183 -msgid "Определяет, содержит ли коллекция флаги." -msgstr "" - -#: ../../root/api/command/input_flags.rst:185 -msgid "`True`, если в коллекции есть хотя бы один флаг, иначе `False`." -msgstr "" - -#: ../../root/api/command/input_flags.rst:187 -msgid "Позволяет проверять наличие флагов в команде для условной логики." -msgstr "" - -#: ../../root/api/command/input_flags.rst:198 -msgid "__eq__" -msgstr "" - -#: ../../root/api/command/input_flags.rst:205 -msgid "Сравнивает две коллекции введённых флагов на равенство." -msgstr "" - -#: ../../root/api/command/input_flags.rst -msgid "param other" -msgstr "" - -#: ../../root/api/command/input_flags.rst:207 -msgid "Объект для сравнения." -msgstr "" - -#: ../../root/api/command/input_flags.rst:208 -msgid "`True`, если коллекции равны, иначе `False`." -msgstr "" - -#: ../../root/api/command/input_flags.rst -msgid "raises NotImplementedError" -msgstr "" - -#: ../../root/api/command/input_flags.rst:209 -msgid "Если `other` не является экземпляром `InputFlags`." -msgstr "" - -#: ../../root/api/command/input_flags.rst:211 -msgid "" -"Две коллекции считаются равными, если они содержат одинаковое количество " -"флагов и все соответствующие флаги равны (сравнение по имени, см. " -"`InputFlag.__eq__`)." -msgstr "" - -#: ../../root/api/command/input_flags.rst:222 -msgid "__contains__" -msgstr "" - -#: ../../root/api/command/input_flags.rst:229 -msgid "Проверяет, содержится ли введённый флаг в коллекции." -msgstr "" - -#: ../../root/api/command/input_flags.rst -msgid "param ingressable_item" -msgstr "" - -#: ../../root/api/command/input_flags.rst:231 -msgid "Объект `InputFlag` для проверки." -msgstr "" - -#: ../../root/api/command/input_flags.rst:232 -msgid "`True`, если флаг найден, иначе `False`." -msgstr "" - -#: ../../root/api/command/input_flags.rst -msgid "raises TypeError" -msgstr "" - -#: ../../root/api/command/input_flags.rst:233 -msgid "Если `ingressable_item` не является экземпляром `InputFlag`." -msgstr "" - -#: ../../root/api/command/input_flags.rst:235 -msgid "" -"Позволяет использовать оператор `in` для проверки наличия флага в " -"коллекции." -msgstr "" - -#: ../../root/api/command/input_flags.rst:246 +#: ../../root/api/command/input_flags.rst:126 msgid "Практические примеры" msgstr "" -#: ../../root/api/command/input_flags.rst:249 +#: ../../root/api/command/input_flags.rst:129 msgid "Обработка всех флагов с проверкой статусов" msgstr "" -#: ../../root/api/command/input_flags.rst:251 -msgid "" -"Пример демонстрирует итерацию по всем введённым флагам с проверкой их " -"статусов валидации:" -msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/command/possible_values.po b/docs/locales/en/LC_MESSAGES/root/api/command/possible_values.po index 77a7501..52313fa 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/command/possible_values.po +++ b/docs/locales/en/LC_MESSAGES/root/api/command/possible_values.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -25,39 +25,39 @@ msgstr "" #: ../../root/api/command/possible_values.rst:7 msgid "" -"`PossibleValues` — это перечисление (`Enum`), которое определяет " -"специальные режимы валидации для значений флагов. Его задача — " -"предоставить стандартные константы для управления поведением флагов. " -"`PossibleValues` используется в параметре `possible_values` класса " -"`Flag`, чтобы указать, может ли флаг принимать значения и какие " -"ограничения на них накладываются." +"``PossibleValues`` — это перечисление (``Enum``), которое определяет " +"специальные режимы валидации для значений флагов. ``PossibleValues`` " +"используется в параметре ``possible_values`` класса ``Flag``, чтобы " +"указать, может ли флаг принимать значения и какие ограничения на них " +"накладываются." msgstr "" #: ../../root/api/command/possible_values.rst:9 msgid "" -"`PossibleValues` наследуется от `Enum` и содержит два основных значения: " -"`NEITHER` (для флагов без значений) и `ALL` (для флагов, принимающих " -"любые значения). Это перечисление используется вместе со списками строк и" -" регулярными выражениями для создания гибкой системы валидации." +"``PossibleValues`` содержит два основных значения: ``NEITHER`` (для " +"флагов, которые не могут принимать значения) и ``ALL`` (для флагов, " +"принимающих любые значения). Это перечисление используется вместе со " +"списками строк и регулярными выражениями для создания гибкой системы " +"валидации." msgstr "" #: ../../root/api/command/possible_values.rst:12 msgid "" -"Результат валидации доступен через атрибут `status` у экземпляра " -"`InputFlag`. Подробнее см. :ref:`здесь `." +"Результат валидации доступен через атрибут ``status`` у экземпляра " +"``InputFlag``. Подробнее см. :ref:`здесь `." msgstr "" #: ../../root/api/command/possible_values.rst:16 msgid "" "Документация по :ref:`Flag ` — класс флага, " -"использующий `PossibleValues`." +"использующий ``PossibleValues``." msgstr "" #: ../../root/api/command/possible_values.rst:18 msgid "" -"Документация по :ref:`PredefinedFlags " -"` — готовые флаги с примерами " -"использования `PossibleValues`." +"Документация по :ref:`ValidationStatus " +"` — результат валидации ввёденного " +"флага." msgstr "" #: ../../root/api/command/possible_values.rst:20 @@ -67,129 +67,102 @@ msgid "" msgstr "" #: ../../root/api/command/possible_values.rst:25 -msgid "Значения enum" -msgstr "" - -#: ../../root/api/command/possible_values.rst:28 msgid "NEITHER" msgstr "" -#: ../../root/api/command/possible_values.rst:35 +#: ../../root/api/command/possible_values.rst:32 msgid "Указывает, что флаг **не должен** иметь значения." msgstr "" -#: ../../root/api/command/possible_values.rst:37 +#: ../../root/api/command/possible_values.rst:34 msgid "" "Флаги с этим значением работают как булевы переключатели: их наличие в " "командной строке само по себе является информацией. Попытка передать " "такому флагу значение приведёт к ошибке валидации." msgstr "" -#: ../../root/api/command/possible_values.rst:39 +#: ../../root/api/command/possible_values.rst:36 msgid "**Примеры флагов с** ``NEITHER``:" msgstr "" -#: ../../root/api/command/possible_values.rst:41 +#: ../../root/api/command/possible_values.rst:38 msgid "``--help`` — флаг справки" msgstr "" -#: ../../root/api/command/possible_values.rst:42 +#: ../../root/api/command/possible_values.rst:39 msgid "``--verbose`` — флаг подробного вывода" msgstr "" -#: ../../root/api/command/possible_values.rst:43 +#: ../../root/api/command/possible_values.rst:40 msgid "``--force`` — флаг принудительного выполнения" msgstr "" -#: ../../root/api/command/possible_values.rst:44 +#: ../../root/api/command/possible_values.rst:41 msgid "``-A`` / ``--all`` — флаг выбора всех элементов" msgstr "" -#: ../../root/api/command/possible_values.rst:46 -#: ../../root/api/command/possible_values.rst:73 +#: ../../root/api/command/possible_values.rst:43 +#: ../../root/api/command/possible_values.rst:68 msgid "**Пример использования:**" msgstr "" -#: ../../root/api/command/possible_values.rst:55 +#: ../../root/api/command/possible_values.rst:52 msgid "ALL" msgstr "" -#: ../../root/api/command/possible_values.rst:62 +#: ../../root/api/command/possible_values.rst:59 msgid "Указывает, что флаг может принимать **любое** значение." msgstr "" -#: ../../root/api/command/possible_values.rst:64 +#: ../../root/api/command/possible_values.rst:61 msgid "" "Флаги с этим значением универсальны и не накладывают ограничений на " "передаваемые данные. Валидация всегда будет успешной." msgstr "" -#: ../../root/api/command/possible_values.rst:66 +#: ../../root/api/command/possible_values.rst:63 msgid "**Примеры флагов с** ``ALL``:" msgstr "" -#: ../../root/api/command/possible_values.rst:68 -msgid "``--output`` — путь к выходному файлу" -msgstr "" - -#: ../../root/api/command/possible_values.rst:69 +#: ../../root/api/command/possible_values.rst:65 msgid "``--message`` — произвольное текстовое сообщение" msgstr "" -#: ../../root/api/command/possible_values.rst:70 +#: ../../root/api/command/possible_values.rst:66 msgid "``--name`` — произвольное имя" msgstr "" -#: ../../root/api/command/possible_values.rst:71 -msgid "``--data`` — произвольные данные" -msgstr "" - -#: ../../root/api/command/possible_values.rst:82 -msgid "Использование в Flag" -msgstr "" - -#: ../../root/api/command/possible_values.rst:85 +#: ../../root/api/command/possible_values.rst:77 msgid "Параметр possible_values" msgstr "" -#: ../../root/api/command/possible_values.rst:87 +#: ../../root/api/command/possible_values.rst:79 msgid "" -"`PossibleValues` используется как один из возможных типов для параметра " -"`possible_values` при создании экземпляра `Flag`." +"``PossibleValues`` используется как один из возможных типов для параметра" +" ``possible_values`` при создании экземпляра ``Flag``." msgstr "" -#: ../../root/api/command/possible_values.rst:89 -msgid "**Доступные типы для** `possible_values`:" +#: ../../root/api/command/possible_values.rst:81 +msgid "**Доступные типы для** ``possible_values``:" msgstr "" -#: ../../root/api/command/possible_values.rst:91 -msgid "`PossibleValues.NEITHER`: флаг без значения." +#: ../../root/api/command/possible_values.rst:83 +msgid "``PossibleValues.NEITHER``: флаг без значения." msgstr "" -#: ../../root/api/command/possible_values.rst:92 -msgid "`PossibleValues.ALL`: флаг с любым значением (по умолчанию)." +#: ../../root/api/command/possible_values.rst:84 +msgid "``PossibleValues.ALL``: флаг с любым значением (по умолчанию)." msgstr "" -#: ../../root/api/command/possible_values.rst:93 -msgid "`list[str]`: флаг с ограниченным набором значений." +#: ../../root/api/command/possible_values.rst:85 +msgid "``list[str]``: флаг с ограниченным набором значений." msgstr "" -#: ../../root/api/command/possible_values.rst:94 -msgid "`Pattern[str]`: флаг со значением, проверяемым по регулярному выражению." +#: ../../root/api/command/possible_values.rst:86 +msgid "``Pattern[str]``: флаг со значением, проверяемым по регулярному выражению." msgstr "" -#: ../../root/api/command/possible_values.rst:96 +#: ../../root/api/command/possible_values.rst:88 msgid "**Пример комбинированного использования:**" msgstr "" -#: ../../root/api/command/possible_values.rst:105 -msgid "Использование в PredefinedFlags" -msgstr "" - -#: ../../root/api/command/possible_values.rst:107 -msgid "Многие предопределённые флаги используют `PossibleValues.NEITHER`:" -msgstr "" - -#~ msgid "mda" -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/command/validation_status.po b/docs/locales/en/LC_MESSAGES/root/api/command/validation_status.po index a026d04..7cccbf4 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/command/validation_status.po +++ b/docs/locales/en/LC_MESSAGES/root/api/command/validation_status.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -25,30 +25,28 @@ msgstr "" #: ../../root/api/command/validation_status.rst:6 msgid "" -"`ValidationStatus` — это перечисление (`Enum`), которое определяет " -"состояние валидации флага. Его задача — предоставить стандартные " -"константы для отображения результата проверки. `ValidationStatus` " -"используется в атрибуте `status` класса `InputFlag`, чтобы сообщить, " -"прошла ли валидация успешно." +"``ValidationStatus`` — это перечисление, которое определяет состояние " +"валидации флага. Его задача — предоставить стандартные константы для " +"отображения результата проверки. ``ValidationStatus`` используется в " +"атрибуте ``status`` класса ``InputFlag``." msgstr "" #: ../../root/api/command/validation_status.rst:8 msgid "" -"`ValidationStatus` наследуется от `Enum` и содержит три значения: `VALID`" -" (корректный флаг), `INVALID` (некорректный) и `UNDEFINED` " -"(незарегистрированный)." +"``ValidationStatus`` содержит три значения: **VALID** (корректный флаг), " +"**INVALID** (некорректный) и **UNDEFINED** (незарегистрированный)." msgstr "" #: ../../root/api/command/validation_status.rst:12 msgid "" "Статус валидации устанавливается автоматически при создании экземпляра " -"`InputFlag` на основе правил, заданных в соответствующем `Flag`." +"``InputFlag`` на основе правил, заданных в соответствующем ``Flag``." msgstr "" #: ../../root/api/command/validation_status.rst:16 msgid "" "Документация по :ref:`InputFlag ` — класс " -"введённого флага, использующий `ValidationStatus`." +"введённого флага, использующий ``ValidationStatus``." msgstr "" #: ../../root/api/command/validation_status.rst:18 @@ -64,111 +62,87 @@ msgid "" msgstr "" #: ../../root/api/command/validation_status.rst:25 -msgid "Значения enum" -msgstr "" - -#: ../../root/api/command/validation_status.rst:28 msgid "VALID" msgstr "" -#: ../../root/api/command/validation_status.rst:35 +#: ../../root/api/command/validation_status.rst:32 msgid "Указывает, что флаг и его значение **прошли** валидацию." msgstr "" -#: ../../root/api/command/validation_status.rst:37 +#: ../../root/api/command/validation_status.rst:34 msgid "" "Флаги с этим статусом соответствуют правилам, заданным в " -"`possible_values` соответствующего `Flag`. Их можно безопасно " +"``possible_values`` соответствующего ``Flag``. Их можно безопасно " "использовать в логике приложения без дополнительных проверок." msgstr "" -#: ../../root/api/command/validation_status.rst:39 +#: ../../root/api/command/validation_status.rst:36 msgid "**Условия получения статуса** ``VALID``:" msgstr "" -#: ../../root/api/command/validation_status.rst:41 -msgid "Флаг с `PossibleValues.NEITHER` передан без значения." +#: ../../root/api/command/validation_status.rst:38 +msgid "Флаг с ``PossibleValues.NEITHER`` передан без значения." msgstr "" -#: ../../root/api/command/validation_status.rst:42 -msgid "Флаг с `PossibleValues.ALL` передан с любым значением или без него." +#: ../../root/api/command/validation_status.rst:39 +msgid "Флаг с ``PossibleValues.ALL`` передан с любым значением или без него." msgstr "" -#: ../../root/api/command/validation_status.rst:43 +#: ../../root/api/command/validation_status.rst:40 msgid "Значение флага входит в список разрешённых." msgstr "" -#: ../../root/api/command/validation_status.rst:44 +#: ../../root/api/command/validation_status.rst:41 msgid "Значение флага соответствует регулярному выражению." msgstr "" #: ../../root/api/command/validation_status.rst:46 -#: ../../root/api/command/validation_status.rst:73 -msgid "**Пример использования:**" -msgstr "" - -#: ../../root/api/command/validation_status.rst:55 msgid "INVALID" msgstr "" -#: ../../root/api/command/validation_status.rst:62 +#: ../../root/api/command/validation_status.rst:53 msgid "Указывает, что флаг или его значение **не прошли** валидацию." msgstr "" -#: ../../root/api/command/validation_status.rst:64 +#: ../../root/api/command/validation_status.rst:55 msgid "" -"Флаги с этим статусом нарушают правила, заданные в `possible_values` " -"соответствующего `Flag`. Их следует обрабатывать как ошибочные." +"Флаги с этим статусом нарушают правила, заданные в ``possible_values`` " +"соответствующего ``Flag``. Их следует обрабатывать как ошибочные." msgstr "" -#: ../../root/api/command/validation_status.rst:66 +#: ../../root/api/command/validation_status.rst:57 msgid "**Условия получения статуса** ``INVALID``:" msgstr "" -#: ../../root/api/command/validation_status.rst:68 -msgid "Флаг с `PossibleValues.NEITHER` передан со значением." +#: ../../root/api/command/validation_status.rst:59 +msgid "Флаг с ``PossibleValues.NEITHER`` передан со значением." msgstr "" -#: ../../root/api/command/validation_status.rst:69 +#: ../../root/api/command/validation_status.rst:60 msgid "Значение флага не входит в список разрешённых." msgstr "" -#: ../../root/api/command/validation_status.rst:70 +#: ../../root/api/command/validation_status.rst:61 msgid "Значение флага не соответствует регулярному выражению." msgstr "" -#: ../../root/api/command/validation_status.rst:71 +#: ../../root/api/command/validation_status.rst:62 msgid "Флаг требует значение, но передан без него." msgstr "" -#: ../../root/api/command/validation_status.rst:82 +#: ../../root/api/command/validation_status.rst:67 msgid "UNDEFINED" msgstr "" -#: ../../root/api/command/validation_status.rst:89 +#: ../../root/api/command/validation_status.rst:74 msgid "Указывает, что введённый флаг не был зарегистрирован в команде." msgstr "" -#: ../../root/api/command/validation_status.rst:91 +#: ../../root/api/command/validation_status.rst:76 msgid "**Условия получения статуса** ``UNDEFINED``:" msgstr "" -#: ../../root/api/command/validation_status.rst:93 +#: ../../root/api/command/validation_status.rst:78 msgid "Введённый флаг не найден среди зарегистрированных для данной команды." msgstr "" -#: ../../root/api/command/validation_status.rst:99 -msgid "Практические примеры" -msgstr "" - -#: ../../root/api/command/validation_status.rst:102 -msgid "Комплексный пример валидации" -msgstr "" - -#: ../../root/api/command/validation_status.rst:104 -msgid "Пример демонстрирует использование всех статусов в реальном сценарии." -msgstr "" - -#~ msgid "case" -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/index.po b/docs/locales/en/LC_MESSAGES/root/api/index.po index ae85bae..55b3de5 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/index.po +++ b/docs/locales/en/LC_MESSAGES/root/api/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -70,151 +70,119 @@ msgstr "" msgid "Основные компоненты" msgstr "" -#: ../../root/api/index.rst:34 -msgid ":ref:`App ` — Основной класс приложения." -msgstr "" - -#: ../../root/api/index.rst:35 +#: ../../root/api/index.rst:32 msgid "" -":ref:`Orchestrator ` — Класс для управления " -"жизненным циклом." +":ref:`App ` — Объект приложения, который отвечает за " +"логику роутинга, настройки, валидации и т.д." msgstr "" -#: ../../root/api/index.rst:36 +#: ../../root/api/index.rst:33 +msgid "" +":ref:`Orchestrator ` — Класс для " +"конфигурирования и запуска всего приложения." +msgstr "" + +#: ../../root/api/index.rst:34 msgid "" ":ref:`Router ` — Класс для группировки и регистрации " "команд." msgstr "" -#: ../../root/api/index.rst:37 -msgid ":ref:`Command ` — Класс для создания команд." +#: ../../root/api/index.rst:35 +msgid "" +":ref:`Command ` — Класс для создания команд при " +"инициализации хэндлеров." msgstr "" -#: ../../root/api/index.rst:38 +#: ../../root/api/index.rst:36 msgid "" ":ref:`Response ` — Объект ответа, передаваемый в " "обработчики." msgstr "" -#: ../../root/api/index.rst:41 +#: ../../root/api/index.rst:39 msgid "Команды и флаги" msgstr "" -#: ../../root/api/index.rst:54 +#: ../../root/api/index.rst:52 msgid ":ref:`Flag ` — Класс для описания флага." msgstr "" -#: ../../root/api/index.rst:55 +#: ../../root/api/index.rst:53 msgid ":ref:`Flags ` — Коллекция для регистрации флагов." msgstr "" -#: ../../root/api/index.rst:56 +#: ../../root/api/index.rst:54 msgid "" ":ref:`InputFlag ` — Класс для введённого " "пользователем флага." msgstr "" -#: ../../root/api/index.rst:57 +#: ../../root/api/index.rst:55 msgid "" ":ref:`InputFlags ` — Коллекция введённых " "флагов." msgstr "" -#: ../../root/api/index.rst:58 +#: ../../root/api/index.rst:56 msgid "" ":ref:`PossibleValues ` — Правила " -"валидации значений флагов." +"валидации значений флага." msgstr "" -#: ../../root/api/index.rst:59 +#: ../../root/api/index.rst:57 msgid "" ":ref:`ValidationStatus ` — Статусы " "валидации флагов." msgstr "" -#: ../../root/api/index.rst:60 -msgid "``PredefinedFlags`` — Готовые наборы флагов (например, ``--help``)." +#: ../../root/api/index.rst:58 +msgid "" +":ref:`PredefinedFlags ` — " +"Коллекция предопределённых флагов." msgstr "" -#: ../../root/api/index.rst:63 +#: ../../root/api/index.rst:61 msgid "Настройка приложения" msgstr "" +#: ../../root/api/index.rst:71 +msgid "" +":ref:`AutoCompleter ` - Класс для настройки " +"автодополнения." +msgstr "" + +#: ../../root/api/index.rst:72 +msgid "" +":ref:`StaticDividingLine ` — Статическая " +"разделительная линия для оформления вывода." +msgstr "" + #: ../../root/api/index.rst:73 msgid "" -":ref:`AutoCompleter ` — Базовый класс для " -"автодополнения." +":ref:`DynamicDividingLine ` — Динамическая " +"разделительная линия для оформления вывода." msgstr "" #: ../../root/api/index.rst:74 msgid "" -":ref:`StaticDividingLine ` — Статическая " -"разделительная линия." +":ref:`PredefinedMessages ` — Готовые " +"сообщения для вывода при старте приложения." msgstr "" -#: ../../root/api/index.rst:75 -msgid "" -":ref:`DynamicDividingLine ` — Динамическая " -"разделительная линия." -msgstr "" - -#: ../../root/api/index.rst:76 -msgid "``PredefinedMessages`` — Готовые системные сообщения." -msgstr "" - -#: ../../root/api/index.rst:79 +#: ../../root/api/index.rst:77 msgid "Внедрение зависимостей" msgstr "" -#: ../../root/api/index.rst:87 +#: ../../root/api/index.rst:85 msgid "" -":ref:`FromDishka ` — Маркер для внедрения " -"зависимостей." +":ref:`FromDishka ` — Маркер аргумента функции " +"как зависимости, которая должна быть инжектирована." msgstr "" -#: ../../root/api/index.rst:88 +#: ../../root/api/index.rst:86 msgid "" -":ref:`inject ` — Декоратор для асинхронного " -"внедрения." +":ref:`inject ` — Декоратор для инжектирования " +"зависимостей, указанных в сигнатуре." msgstr "" -#~ msgid "Публичный API" -#~ msgstr "" - -#~ msgid "" -#~ "В данном разделе приводятся сведения о" -#~ " публичной части интерфейса библиотеки:" -#~ msgstr "" - -#~ msgid "" -#~ "Классы и функции, предназначенные для " -#~ "прямой интеграции в сторонние приложения." -#~ msgstr "" - -#~ msgid "" -#~ "Советы по совместимости, ограничения и " -#~ "поддерживаемые сценарии использования." -#~ msgstr "" - -#~ msgid "" -#~ "Примеры типовой интеграции, подробные " -#~ "сигнатуры методов и описание возвращаемых " -#~ "сущностей." -#~ msgstr "" - -#~ msgid "" -#~ "Гарантии стабильности API, поддержка и " -#~ "обратная совместимость между версиями." -#~ msgstr "" - -#~ msgid "" -#~ "Интерфейсы, не указанные в этом разделе," -#~ " считаются внутренними и не подлежат " -#~ "использованию вне самой библиотеки. При " -#~ "разработке собственных решений рекомендуем " -#~ "обращаться именно к описанным здесь " -#~ "компонентам — это даст стабильность и" -#~ " гарантии на будущее развитие ваших " -#~ "продуктов с использованием ``Argenta``." -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/orchestrator/argparser.po b/docs/locales/en/LC_MESSAGES/root/api/orchestrator/argparser.po index c09d61f..dc5fada 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/orchestrator/argparser.po +++ b/docs/locales/en/LC_MESSAGES/root/api/orchestrator/argparser.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:29+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -58,35 +58,35 @@ msgstr "" msgid "``epilog``: Дополнительная информация для отображения в конце справки." msgstr "" -#: ../../root/api/orchestrator/argparser.rst:29 -msgid "Основные методы и атрибуты" +#: ../../root/api/orchestrator/argparser.rst:31 +msgid "Атрибуты" msgstr "" -#: ../../root/api/orchestrator/argparser.rst:33 +#: ../../root/api/orchestrator/argparser.rst:35 msgid "" "Экземпляр ``ArgSpace``, содержащий все обработанные аргументы командной " "строки. Подробнее см. :ref:`здесь `." msgstr "" -#: ../../root/api/orchestrator/argparser.rst:36 +#: ../../root/api/orchestrator/argparser.rst:38 msgid "" "До инициализации ``Orchestrator``, в конструктор которого был передан " "экземпляр ``ArgParser``, атрибут ``parsed_argspace`` будет содержать " "пустой ``ArgSpace``." msgstr "" -#: ../../root/api/orchestrator/argparser.rst:38 +#: ../../root/api/orchestrator/argparser.rst:40 msgid "" "Парсинг и валидация аргументов происходят при инициализации " "``Orchestrator``, поэтому использовать ``parsed_argspace`` " "**целесообразно только после** этого." msgstr "" -#: ../../root/api/orchestrator/argparser.rst:43 +#: ../../root/api/orchestrator/argparser.rst:45 msgid "Лучшие практики" msgstr "" -#: ../../root/api/orchestrator/argparser.rst:45 +#: ../../root/api/orchestrator/argparser.rst:47 msgid "" "Использовать атрибут ``parsed_argspace`` рекомендуется только на этапе " "настройки приложения. В обработчиках лучшей практикой является получение " @@ -94,115 +94,41 @@ msgid "" "`." msgstr "" -#: ../../root/api/orchestrator/argparser.rst:48 -msgid "Пример использования" +#: ../../root/api/orchestrator/argparser.rst:49 +msgid "**Пример использования:**" msgstr "" -#: ../../root/api/orchestrator/argparser.rst:55 +#: ../../root/api/orchestrator/argparser.rst:56 msgid "Обработка ошибок" msgstr "" -#: ../../root/api/orchestrator/argparser.rst:58 +#: ../../root/api/orchestrator/argparser.rst:59 msgid "" "Про типы аргументов подробнее в :ref:`Arguments " "`" msgstr "" -#: ../../root/api/orchestrator/argparser.rst:60 +#: ../../root/api/orchestrator/argparser.rst:61 msgid "" "При работе с аргументами командной строки стандартный ``ArgumentParser`` " "автоматически обрабатывает следующие ситуации:" msgstr "" -#: ../../root/api/orchestrator/argparser.rst:62 +#: ../../root/api/orchestrator/argparser.rst:63 msgid "**Отсутствие обязательного аргумента:**" msgstr "" -#: ../../root/api/orchestrator/argparser.rst:70 -msgid "**Недопустимое значение из списка choices:**" +#: ../../root/api/orchestrator/argparser.rst:71 +msgid "**Недопустимое значение из списка possible_values:**" msgstr "" -#: ../../root/api/orchestrator/argparser.rst:78 +#: ../../root/api/orchestrator/argparser.rst:79 msgid "**Использование устаревшего аргумента:**" msgstr "" -#: ../../root/api/orchestrator/argparser.rst:80 +#: ../../root/api/orchestrator/argparser.rst:81 msgid "" "При использовании аргумента с ``is_deprecated=True`` выводится " "предупреждение, но выполнение продолжается:" msgstr "" -#~ msgid "Argparser" -#~ msgstr "" - -#~ msgid "nu" -#~ msgstr "" - -#~ msgid "" -#~ "Объект ``ArgParser`` в ``Argenta`` " -#~ "предназначен для разбора и обработки " -#~ "**аргументов командной строки**, которые " -#~ "передаются вашему приложению при его " -#~ "запуске. Важно не путать их с " -#~ "флагами команд, которые пользователь вводит" -#~ " в интерактивном режиме работы приложения." -#~ " ``ArgParser`` позволяет вашему приложению " -#~ "получать внешнюю конфигурацию в момент " -#~ "старта, например, путь к файлу настроек," -#~ " флаги для отладки или режим запуска." -#~ msgstr "" - -#~ msgid "Создает экземпляр парсера аргументов командной строки." -#~ msgstr "" - -#~ msgid "" -#~ "``processed_args``: Список аргументов, которые " -#~ "будут обрабатываться и парситься при " -#~ "запуске приложения, подробнее :ref:`тут " -#~ "`." -#~ msgstr "" - -#~ msgid "``name``: Имя приложения, которое будет отображаться в справке." -#~ msgstr "" - -#~ msgid "" -#~ "``description``: Описание приложения, которое " -#~ "будет отображаться в справке." -#~ msgstr "" - -#~ msgid "" -#~ "``epilog``: Дополнительная информация, которая " -#~ "будет отображаться в конце справки." -#~ msgstr "" - -#~ msgid "" -#~ "Экземпляр класса ``ArgSpace``, который " -#~ "содержит все обработанные аргументы командной" -#~ " строки, подробнее :ref:`тут " -#~ "`." -#~ msgstr "" - -#~ msgid "" -#~ "До инициализации инстанса ``Orchestrator``, " -#~ "которому в конструктор был передан " -#~ "соответствующий экземпляр ``ArgParser``, атрибут " -#~ "``parsed_argspace`` будет равен пустому " -#~ "``ArgSpace``." -#~ msgstr "" - -#~ msgid "" -#~ "Парсинг и валидация аргументов командной " -#~ "строки происходит при инициализации " -#~ "``Orchestrator``, соответственно использование " -#~ "атрибута ``parsed_argspace`` **целесообразно только" -#~ " после инициализации** ``Orchestrator``." -#~ msgstr "" - -#~ msgid "" -#~ "Использование атрибута ``parsed_argspace`` " -#~ "рекомендуется только на этапе настройки " -#~ "приложения, в хэндлерах лучшей практикой " -#~ "является получение ``ArgSpace`` через ``di``," -#~ " подробнее :ref:`тут `." -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/orchestrator/argspace.po b/docs/locales/en/LC_MESSAGES/root/api/orchestrator/argspace.po index 1e39b05..a224d59 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/orchestrator/argspace.po +++ b/docs/locales/en/LC_MESSAGES/root/api/orchestrator/argspace.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -33,43 +33,36 @@ msgstr "" #: ../../root/api/orchestrator/argspace.rst:8 msgid "" "``ArgSpace`` создаётся автоматически после обработки аргументов с помощью" -" `ArgParser` и содержит коллекцию объектов `InputArgument`." +" ``ArgParser`` и содержит коллекцию объектов ``InputArgument``." msgstr "" #: ../../root/api/orchestrator/argspace.rst:13 msgid "Инициализация" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:20 -msgid "Создаёт новое пространство аргументов." -msgstr "" - -#: ../../root/api/orchestrator/argspace.rst:22 +#: ../../root/api/orchestrator/argspace.rst:15 msgid "" -"``all_arguments``: Список обработанных аргументов в виде объектов " -"`InputArgument`. Каждый элемент содержит имя, значение и тип исходного " -"аргумента." +"Создание экземпляров класса ``ArgSpace`` происходит под `капотом`, вам не" +" нужно создавать их вручную." msgstr "" -#: ../../root/api/orchestrator/argspace.rst:24 +#: ../../root/api/orchestrator/argspace.rst:17 msgid "**Атрибуты:**" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:28 -msgid "" -"Список всех обработанных аргументов типа `InputArgument`, включая " -"значения по умолчанию для не указанных параметров." +#: ../../root/api/orchestrator/argspace.rst:21 +msgid "Список всех обработанных аргументов типа ``InputArgument``." msgstr "" -#: ../../root/api/orchestrator/argspace.rst:33 +#: ../../root/api/orchestrator/argspace.rst:26 msgid "Методы" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:36 +#: ../../root/api/orchestrator/argspace.rst:29 msgid "get_by_name" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:43 +#: ../../root/api/orchestrator/argspace.rst:36 msgid "Возвращает аргумент по имени." msgstr "" @@ -77,7 +70,7 @@ msgstr "" msgid "param name" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:45 +#: ../../root/api/orchestrator/argspace.rst:38 msgid "Имя искомого аргумента." msgstr "" @@ -85,26 +78,21 @@ msgstr "" msgid "return" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:46 -msgid "Объект `InputArgument` или `None`, если аргумент не найден." +#: ../../root/api/orchestrator/argspace.rst:39 +msgid "Объект ``InputArgument`` или ``None``, если аргумент не найден." msgstr "" -#: ../../root/api/orchestrator/argspace.rst:48 -msgid "" -"Метод выполняет линейный поиск по списку `all_arguments`. Если аргумент " -"не найден, возвращается `None`." -msgstr "" - -#: ../../root/api/orchestrator/argspace.rst:50 -#: ../../root/api/orchestrator/argspace.rst:86 +#: ../../root/api/orchestrator/argspace.rst:41 +#: ../../root/api/orchestrator/argspace.rst:63 +#: ../../root/api/orchestrator/argspace.rst:90 msgid "**Пример использования:**" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:72 +#: ../../root/api/orchestrator/argspace.rst:49 msgid "get_by_type" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:79 +#: ../../root/api/orchestrator/argspace.rst:56 msgid "Возвращает все аргументы определённого типа." msgstr "" @@ -112,145 +100,52 @@ msgstr "" msgid "param arg_type" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:81 -msgid "Тип аргумента (`BooleanArgument` или `ValueArgument`)." +#: ../../root/api/orchestrator/argspace.rst:58 +msgid "Тип аргумента (``BooleanArgument`` или ``ValueArgument``)." msgstr "" -#: ../../root/api/orchestrator/argspace.rst:82 +#: ../../root/api/orchestrator/argspace.rst:59 msgid "Список аргументов указанного типа или пустой список." msgstr "" -#: ../../root/api/orchestrator/argspace.rst:84 +#: ../../root/api/orchestrator/argspace.rst:61 msgid "" -"Метод фильтрует `all_arguments` по атрибуту `founder_class` и возвращает " -"аргументы, созданные из указанного типа." +"Метод фильтрует ``all_arguments`` по атрибуту ``founder_class`` и " +"возвращает аргументы, созданные из указанного типа." msgstr "" -#: ../../root/api/orchestrator/argspace.rst:94 +#: ../../root/api/orchestrator/argspace.rst:71 msgid "InputArgument" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:97 +#: ../../root/api/orchestrator/argspace.rst:74 msgid "" "Документация по ``InputArgument`` находится :ref:`здесь " "`." msgstr "" -#: ../../root/api/orchestrator/argspace.rst:102 -msgid "Примеры испольования" +#: ../../root/api/orchestrator/argspace.rst:79 +msgid "Примеры использования" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:104 +#: ../../root/api/orchestrator/argspace.rst:81 msgid "" -"`ArgSpace` используется для доступа к значениям аргументов после запуска " -"приложения. Типичный сценарий включает обработку аргументов через " -"`ArgParser` и последующее извлечение значений из `ArgSpace`." +"``ArgSpace`` используется для доступа к значениям аргументов после " +"запуска приложения. Типичный сценарий включает обработку аргументов через" +" ``ArgParser`` и последующее извлечение значений из ``ArgSpace``." msgstr "" -#: ../../root/api/orchestrator/argspace.rst:106 +#: ../../root/api/orchestrator/argspace.rst:83 msgid "**Полный пример:**" msgstr "" -#: ../../root/api/orchestrator/argspace.rst:111 +#: ../../root/api/orchestrator/argspace.rst:88 msgid "" -"Доступ к аргументам из обработчиков осуществляется с помощью DI. " +"Доступ к аргументам из обработчиков осуществляется с помощью ``di``. " "Подробнее см. :ref:`здесь `." msgstr "" -#: ../../root/api/orchestrator/argspace.rst:116 +#: ../../root/api/orchestrator/argspace.rst:95 msgid "**Запуск приложения:**" msgstr "" -#~ msgid "" -#~ "Объект ``ArgSpace`` является контейнером для" -#~ " хранения и управления распаршенными " -#~ "аргументами командной строки в приложении " -#~ "``Argenta``. Его основная задача — " -#~ "предоставить удобный интерфейс для доступа " -#~ "к значениям аргументов, переданных при " -#~ "запуске приложения." -#~ msgstr "" - -#~ msgid "" -#~ "``ArgSpace`` автоматически создается после " -#~ "парсинга аргументов через ``ArgParser`` и " -#~ "содержит коллекцию объектов ``InputArgument``, " -#~ "представляющих собой финальные значения всех" -#~ " переданных параметров командной строки." -#~ msgstr "" - -#~ msgid "Создает новое пространство аргументов." -#~ msgstr "" - -#~ msgid "" -#~ "``all_arguments`` : Список распаршенных " -#~ "аргументов в виде объектов ``InputArgument``." -#~ " Каждый элемент содержит имя, значение " -#~ "и тип исходного аргумента." -#~ msgstr "" - -#~ msgid "" -#~ "Список всех распаршенных аргументов типа " -#~ "``InputArgument``. Содержит все аргументы, " -#~ "переданные при запуске приложения, включая " -#~ "значения по умолчанию для не указанных" -#~ " параметров." -#~ msgstr "" - -#~ msgid "Возвращает аргумент по его имени." -#~ msgstr "" - -#~ msgid "Имя искомого аргумента" -#~ msgstr "" - -#~ msgid "" -#~ "Объект ``InputArgument`` с указанным именем" -#~ " или ``None``, если аргумент не " -#~ "найден" -#~ msgstr "" - -#~ msgid "" -#~ "Метод выполняет линейный поиск по списку" -#~ " ``all_arguments`` и возвращает аргумент с" -#~ " соответствующим именем. Если аргумент не" -#~ " найден, возвращается ``None``." -#~ msgstr "" - -#~ msgid "Получает все аргументы определенного типа." -#~ msgstr "" - -#~ msgid "Тип аргумента (``BooleanArgument`` или ``ValueArgument``)" -#~ msgstr "" - -#~ msgid "" -#~ "Список аргументов указанного типа или " -#~ "пустой список, если аргументы не найдены" -#~ msgstr "" - -#~ msgid "" -#~ "Метод фильтрует ``all_arguments`` по атрибуту" -#~ " ``founder_class`` каждого ``InputArgument`` и" -#~ " возвращает только те аргументы, которые" -#~ " были созданы из указанного типа." -#~ msgstr "" - -#~ msgid "" -#~ "Документация по ``InputArgument`` находится " -#~ ":ref:`тут `" -#~ msgstr "" - -#~ msgid "" -#~ "``ArgSpace`` используется для доступа к " -#~ "значениям аргументов после запуска приложения." -#~ " Типичный сценарий работы включает парсинг" -#~ " аргументов через ``ArgParser`` и " -#~ "последующее извлечение значений из " -#~ "``ArgSpace``." -#~ msgstr "" - -#~ msgid "" -#~ "Доступ к аргументам из хэндлеров " -#~ "осуществляется с помощью ``di``, подробнее " -#~ ":ref:`тут `." -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/orchestrator/arguments.po b/docs/locales/en/LC_MESSAGES/root/api/orchestrator/arguments.po index 973130b..2f57a04 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/orchestrator/arguments.po +++ b/docs/locales/en/LC_MESSAGES/root/api/orchestrator/arguments.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -32,8 +32,8 @@ msgstr "" #: ../../root/api/orchestrator/arguments.rst:8 msgid "" -"Аргументы регистрируются в `ArgParser` и после обработки становятся " -"доступными в объекте `ArgSpace`." +"Аргументы регистрируются в ``ArgParser`` и после обработки становятся " +"доступными в объекте ``ArgSpace``." msgstr "" #: ../../root/api/orchestrator/arguments.rst:13 @@ -41,12 +41,10 @@ msgid "ValueArgument" msgstr "" #: ../../root/api/orchestrator/arguments.rst:15 -msgid "" -"Класс для аргументов, требующих передачи значения. Используется для " -"параметров конфигурации, которым необходимо указать значение при запуске." +msgid "Класс для аргументов, требующих передачи значения." msgstr "" -#: ../../root/api/orchestrator/arguments.rst:30 +#: ../../root/api/orchestrator/arguments.rst:31 msgid "Создаёт аргумент командной строки, требующий значения." msgstr "" @@ -54,9 +52,9 @@ msgstr "" msgid "param name" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:32 -#: ../../root/api/orchestrator/arguments.rst:100 -#: ../../root/api/orchestrator/arguments.rst:165 +#: ../../root/api/orchestrator/arguments.rst:33 +#: ../../root/api/orchestrator/arguments.rst:74 +#: ../../root/api/orchestrator/arguments.rst:117 msgid "Имя аргумента" msgstr "" @@ -64,8 +62,8 @@ msgstr "" msgid "param prefix" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:33 -#: ../../root/api/orchestrator/arguments.rst:101 +#: ../../root/api/orchestrator/arguments.rst:34 +#: ../../root/api/orchestrator/arguments.rst:75 msgid "Префикс (по умолчанию ``--``)" msgstr "" @@ -73,8 +71,8 @@ msgstr "" msgid "param help" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:34 -#: ../../root/api/orchestrator/arguments.rst:102 +#: ../../root/api/orchestrator/arguments.rst:35 +#: ../../root/api/orchestrator/arguments.rst:76 msgid "Сообщение для справки (``--help``)" msgstr "" @@ -82,15 +80,15 @@ msgstr "" msgid "param possible_values" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:35 -msgid "Список допустимых значений (передаётся в `choices` `ArgumentParser`)" +#: ../../root/api/orchestrator/arguments.rst:36 +msgid "Список допустимых значений" msgstr "" #: ../../root/api/orchestrator/arguments.rst msgid "param default" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:36 +#: ../../root/api/orchestrator/arguments.rst:37 msgid "Значение по умолчанию, если аргумент не передан" msgstr "" @@ -98,62 +96,69 @@ msgstr "" msgid "param is_required" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:37 -msgid "Если ``True``, аргумент становится обязательным" +#: ../../root/api/orchestrator/arguments.rst:38 +msgid "" +"Если ``True``, аргумент становится обязательным. Если не передать при " +"запуске, приложение не запустится" msgstr "" #: ../../root/api/orchestrator/arguments.rst msgid "param is_deprecated" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:38 -#: ../../root/api/orchestrator/arguments.rst:103 -msgid "Если ``True``, помечает аргумент как устаревший" +#: ../../root/api/orchestrator/arguments.rst:39 +msgid "" +"Если ``True``, помечает аргумент как устаревший. Если передать при " +"запуске, будет выведено предупреждение в консоль" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:40 -#: ../../root/api/orchestrator/arguments.rst:105 +#: ../../root/api/orchestrator/arguments.rst:41 +#: ../../root/api/orchestrator/arguments.rst:79 msgid "**Пример использования:**" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:74 -#: ../../root/api/orchestrator/arguments.rst:134 +#: ../../root/api/orchestrator/arguments.rst:47 +#: ../../root/api/orchestrator/arguments.rst:85 msgid "**Запуск приложения:**" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:84 +#: ../../root/api/orchestrator/arguments.rst:57 msgid "BooleanArgument" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:86 +#: ../../root/api/orchestrator/arguments.rst:59 msgid "" "Класс для булевых аргументов, не требующих значения. Их наличие при " -"запуске устанавливает значение в `True`, отсутствие — в `False`." +"запуске устанавливает значение в **True**, отсутствие — в **False**." msgstr "" -#: ../../root/api/orchestrator/arguments.rst:98 +#: ../../root/api/orchestrator/arguments.rst:72 msgid "Создаёт булев аргумент командной строки без значения." msgstr "" -#: ../../root/api/orchestrator/arguments.rst:147 +#: ../../root/api/orchestrator/arguments.rst:77 +msgid "Если ``True``, помечает аргумент как устаревший" +msgstr "" + +#: ../../root/api/orchestrator/arguments.rst:98 msgid "InputArgument" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:150 +#: ../../root/api/orchestrator/arguments.rst:101 msgid "" "``InputArgument`` напрямую связан с контейнером ``ArgSpace`` и является " "его наполнителем. Подробнее о нём см. :ref:`здесь " "`." msgstr "" -#: ../../root/api/orchestrator/arguments.rst:152 +#: ../../root/api/orchestrator/arguments.rst:103 msgid "" "Представляет собой обработанный аргумент командной строки. Этот класс " -"используется внутри `ArgSpace` для хранения значений, полученных после " +"используется внутри ``ArgSpace`` для хранения значений, полученных после " "парсинга." msgstr "" -#: ../../root/api/orchestrator/arguments.rst:163 +#: ../../root/api/orchestrator/arguments.rst:115 msgid "Создаёт экземпляр обработанного входного аргумента." msgstr "" @@ -161,191 +166,47 @@ msgstr "" msgid "param value" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:166 +#: ../../root/api/orchestrator/arguments.rst:118 msgid "" -"Значение аргумента. Для `BooleanArgument` — `True`, если флаг передан; " -"для `ValueArgument` — строка со значением" +"Значение аргумента. Для ``BooleanArgument`` — **True**, если аргумент " +"передан, и **False**, если нет; для ``ValueArgument`` — введённая строка" msgstr "" #: ../../root/api/orchestrator/arguments.rst msgid "param founder_class" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:167 +#: ../../root/api/orchestrator/arguments.rst:119 msgid "" -"Класс-родитель, из которого был создан аргумент (`BooleanArgument` или " -"`ValueArgument`)" +"Класс-родитель, из которого был создан аргумент (``BooleanArgument`` или " +"``ValueArgument``)" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:169 +#: ../../root/api/orchestrator/arguments.rst:121 msgid "**Атрибуты:**" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:174 +#: ../../root/api/orchestrator/arguments.rst:125 msgid "" -"Имя аргумента, указанное при создании `ValueArgument` или " -"`BooleanArgument`." +"Имя аргумента, указанное при создании ``ValueArgument`` или " +"``BooleanArgument``." msgstr "" -#: ../../root/api/orchestrator/arguments.rst:178 +#: ../../root/api/orchestrator/arguments.rst:129 msgid "Значение аргумента. Тип зависит от исходного класса:" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:180 -msgid "Для `BooleanArgument`: `True`, если флаг был передан." +#: ../../root/api/orchestrator/arguments.rst:131 +msgid "Для ``BooleanArgument``: **True**, если аргумент был передан" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:181 +#: ../../root/api/orchestrator/arguments.rst:132 msgid "" -"Для `ValueArgument`: строка с переданным значением или значением по " +"Для ``ValueArgument``: строка с переданным значением или значением по " "умолчанию" msgstr "" -#: ../../root/api/orchestrator/arguments.rst:185 -msgid "" -"Ссылка на класс-родитель. Используется для определения типа и фильтрации " -"в методе `get_by_type()`." +#: ../../root/api/orchestrator/arguments.rst:136 +msgid "Ссылка на класс-родитель. Используется для определения типа и фильтрации." msgstr "" -#: ../../root/api/orchestrator/arguments.rst:187 -msgid "**Методы:**" -msgstr "" - -#: ../../root/api/orchestrator/arguments.rst:191 -msgid "Возвращает строковое представление в формате `InputArgument(name=value)`." -msgstr "" - -#: ../../root/api/orchestrator/arguments.rst:201 -msgid "Возвращает техническое представление объекта." -msgstr "" - -#~ msgid "prikol" -#~ msgstr "" - -#~ msgid "" -#~ "Модуль ``Arguments`` предоставляет набор " -#~ "классов для работы с аргументами " -#~ "командной строки при запуске приложения " -#~ "``Argenta``. Эти аргументы позволяют " -#~ "настраивать поведение приложения на этапе " -#~ "его старта, передавая различные параметры " -#~ "конфигурации через интерфейс командной строки." -#~ msgstr "" - -#~ msgid "" -#~ "Аргументы регистрируются в ``ArgParser`` и " -#~ "парсятся при запуске приложения, становясь " -#~ "доступными через объект ``ArgSpace``." -#~ msgstr "" - -#~ msgid "" -#~ "Класс для аргументов командной строки, " -#~ "требующих передачи значения. Используется для" -#~ " параметров конфигурации, которым необходимо " -#~ "указать конкретное значение при запуске " -#~ "приложения." -#~ msgstr "" - -#~ msgid "Создает аргумент командной строки, требующий значения." -#~ msgstr "" - -#~ msgid "Префикс аргумента, по умолчанию ``--``" -#~ msgstr "" - -#~ msgid "Сообщение справки, отображаемое при ``--help``" -#~ msgstr "" - -#~ msgid "" -#~ "Список допустимых значений для аргумента. " -#~ "Передается в параметр ``choices`` " -#~ "ArgumentParser" -#~ msgstr "" - -#~ msgid "" -#~ "Значение по умолчанию, используемое если " -#~ "аргумент не передан при запуске" -#~ msgstr "" - -#~ msgid "" -#~ "Обязатялен ли аргумент. Если ``True``, " -#~ "приложение не запустится без этого " -#~ "аргумента" -#~ msgstr "" - -#~ msgid "Является ли аргумент устаревшим" -#~ msgstr "" - -#~ msgid "" -#~ "Класс для булевых аргументов командной " -#~ "строки, которые не требуют передачи " -#~ "значения. Наличие или отсутствие аргумента " -#~ "при запуске определяет состояние распаршенных" -#~ " аргументов(``True`` при наличии и " -#~ "``False`` при отсутствии)." -#~ msgstr "" - -#~ msgid "Создает булевый аргумент командной строки без значения." -#~ msgstr "" - -#~ msgid "" -#~ "``InputArgument`` непосредственно связан и " -#~ "является наполнителем контейнера ``ArgSpace``, " -#~ "подробнее про него :ref:`тут " -#~ "`." -#~ 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 "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/orchestrator/index.po b/docs/locales/en/LC_MESSAGES/root/api/orchestrator/index.po index e1e781f..209843c 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/orchestrator/index.po +++ b/docs/locales/en/LC_MESSAGES/root/api/orchestrator/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -25,17 +25,16 @@ msgstr "" #: ../../root/api/orchestrator/index.rst:6 msgid "" -"``Orchestrator`` — это высокоуровневый компонент, который управляет " -"жизненным циклом приложения. Его главная задача — инициализация и " -"конфигурация окружения, включая внедрение зависимостей (DI), парсинг " -"аргументов командной строки и запуск основного цикла `App`." +"``Orchestrator`` — это высокоуровневый компонент, который конфигурирует и" +" оркестрирует приложение, парсер командной строки, ``di`` и остальные " +"компоненты, находящиеся по иерархии на уровне с ``App``." msgstr "" #: ../../root/api/orchestrator/index.rst:8 msgid "" -"В то время как `App` отвечает за логику интерактивной сессии (ввод " -"команд, маршрутизация), `Orchestrator` подготавливает окружение для его " -"работы и служит точкой входа в приложение." +"В то время как ``App`` отвечает за логику интерактивной сессии (ввод " +"команд, маршрутизация), ``Orchestrator`` подготавливает окружение для его" +" работы и служит точкой входа в приложение." msgstr "" #: ../../root/api/orchestrator/index.rst:13 @@ -48,21 +47,21 @@ msgstr "" #: ../../root/api/orchestrator/index.rst:30 msgid "" -"``arg_parser``: Экземпляр `ArgParser`, отвечающий за парсинг аргументов " -"командной строки при запуске скрипта (не путать с командами в " +"``arg_parser``: Экземпляр ``ArgParser``, отвечающий за парсинг аргументов" +" командной строки при запуске скрипта (не путать с командами в " "интерактивном режиме)." msgstr "" #: ../../root/api/orchestrator/index.rst:31 msgid "" "``custom_providers``: Список пользовательских провайдеров " -"`dishka.Provider` для добавления ваших сервисов (например, подключений к " -"БД или API-клиентов) в DI-контейнер." +"``dishka.Provider`` для добавления ваших сервисов (например, подключений " +"к БД или API-клиентов) в DI-контейнер." msgstr "" #: ../../root/api/orchestrator/index.rst:32 msgid "" -"``auto_inject_handlers``: Если `True` (по умолчанию), `dishka` " +"``auto_inject_handlers``: Если **True** (по умолчанию), ``dishka`` " "автоматически внедрит зависимости в обработчики команд, инспектируя их " "сигнатуры." msgstr "" @@ -73,159 +72,36 @@ msgstr "" #: ../../root/api/orchestrator/index.rst:41 msgid "" -"Это главный метод, который запускает приложение. Он выполняет следующие " -"шаги:" -msgstr "" - -#: ../../root/api/orchestrator/index.rst:43 -msgid "" -"**Настройка DI**: Создаёт DI-контейнер на основе системного провайдера " -"(предоставляет `ArgParser`) и пользовательских `custom_providers`." -msgstr "" - -#: ../../root/api/orchestrator/index.rst:44 -msgid "" -"**Запуск основного цикла**: Запускает бесконечный цикл ожидания и " -"обработки пользовательского ввода." +"Это главный метод, который запускает приложение. Он запускает бесконечный" +" цикл ввода -> вывода." msgstr "" #: ../../root/api/orchestrator/index.rst msgid "Parameters" msgstr "" -#: ../../root/api/orchestrator/index.rst:46 -msgid "Экземпляр `App`, который будет запущен." +#: ../../root/api/orchestrator/index.rst:43 +msgid "Экземпляр ``App``, который будет запущен." msgstr "" -#: ../../root/api/orchestrator/index.rst:51 +#: ../../root/api/orchestrator/index.rst:48 msgid "Назначение и использование" msgstr "" -#: ../../root/api/orchestrator/index.rst:53 +#: ../../root/api/orchestrator/index.rst:50 msgid "" -"``Orchestrator`` абстрагирует сложность, связанную с настройкой DI и " -"парсингом стартовых аргументов. Типичный сценарий использования выглядит " -"так:" +"``Orchestrator`` абстрагирует сложность, связанную с настройкой ``di`` и " +"парсингом стартовых аргументов." msgstr "" -#: ../../root/api/orchestrator/index.rst:55 -msgid "Создайте и настройте экземпляр `App` (добавьте роутеры)." -msgstr "" - -#: ../../root/api/orchestrator/index.rst:56 -msgid "Создайте экземпляр `Orchestrator`, передав в него DI-провайдеры." -msgstr "" - -#: ../../root/api/orchestrator/index.rst:57 -msgid "Вызовите `orchestrator.start_polling(app)`, чтобы запустить приложение." -msgstr "" - -#: ../../root/api/orchestrator/index.rst:59 +#: ../../root/api/orchestrator/index.rst:52 msgid "" -"Такой подход разделяет ответственности: `App` отвечает за логику " -"интерактивной сессии, а `Orchestrator` — за подготовку и запуск " -"окружения." +"Такой подход разделяет ответственности: ``App`` отвечает за логику " +"интерактивной сессии, а ``Orchestrator`` — за подготовку окружения и " +"запуск приложения." msgstr "" -#: ../../root/api/orchestrator/index.rst:62 -msgid "Пример использования" +#: ../../root/api/orchestrator/index.rst:54 +msgid "**Пример использования:**" msgstr "" -#~ msgid "" -#~ "Объект ``Orchestrator`` в ``Argenta`` " -#~ "представляет собой высокоуровневый компонент, " -#~ "который стоит над ``App`` и отвечает " -#~ "за \"оркестрацию\" всего приложения. Его " -#~ "главная задача — инициализация и " -#~ "конфигурация сложных систем, таких как " -#~ "внедрение зависимостей (``di``), парсинг " -#~ "аргументов командной строки при запуске, " -#~ "и запуск основного цикла приложения." -#~ msgstr "" - -#~ msgid "" -#~ "В то время как ``App`` отвечает за" -#~ " интерактивную сессию (ввод команд, " -#~ "роутинг), ``Orchestrator`` подготавливает окружение," -#~ " в котором ``App`` будет работать. Он" -#~ " является точкой входа для приложений." -#~ msgstr "" - -#~ msgid "Создает и конфигурирует экземпляр ``Orchestrator``." -#~ msgstr "" - -#~ msgid "" -#~ "``arg_parser``: Экземпляр " -#~ ":class:`argenta.orchestrator.argparser.ArgParser`, который " -#~ "отвечает за парсинг аргументов, переданных " -#~ "скрипту при запуске из командной строки" -#~ " (не путать с командами, вводимыми в" -#~ " интерактивном режиме)." -#~ msgstr "" - -#~ msgid "" -#~ "``custom_providers``: Список пользовательских " -#~ "провайдеров ``dishka.Provider``. Это основной " -#~ "механизм для добавления ваших собственных " -#~ "сервисов (например, подключений к базе " -#~ "данных, клиентов API) в контейнер " -#~ "внедрения зависимостей." -#~ msgstr "" - -#~ msgid "" -#~ "``auto_inject_handlers``: Если **True** (по " -#~ "умолчанию), ``dishka`` будет автоматически " -#~ "инспектировать сигнатуры обработчиков команд и" -#~ " внедрять в них требуемые зависимости " -#~ "из контейнера." -#~ msgstr "" - -#~ msgid "" -#~ "Это главный метод, который запускает все" -#~ " приложение. Он выполняет следующие шаги:" -#~ msgstr "" - -#~ msgid "" -#~ "**Настройка DI**: На основе системного " -#~ "провайдера (``SystemProvider``, который " -#~ "предоставляет ``ArgParser``) и списка " -#~ "``custom_providers`` создается ``ioc`` - " -#~ "контейнер и настраивается внедрение " -#~ "зависимостей." -#~ msgstr "" - -#~ msgid "" -#~ "Экземпляр класса :class:`~argenta.app.models.App`, " -#~ "который будет запущен." -#~ msgstr "" - -#~ msgid "" -#~ "``Orchestrator`` абстрагирует от вас всю " -#~ "сложность, связанную с настройкой внедрения" -#~ " зависимостей и парсингом стартовых " -#~ "аргументов. Типичный сценарий использования " -#~ "``Argenta`` выглядит следующим образом:" -#~ msgstr "" - -#~ msgid "Создать экземпляр ``App`` и настроить его (добавить роутеры)." -#~ msgstr "" - -#~ msgid "" -#~ "Создать экземпляр ``Orchestrator``, передав в" -#~ " него необходимые DI-провайдеры и, " -#~ "возможно, парсер аргументов." -#~ msgstr "" - -#~ msgid "" -#~ "Вызвать ``orchestrator.start_polling(app)``, чтобы " -#~ "запустить приложение." -#~ msgstr "" - -#~ msgid "" -#~ "Такой подход позволяет сохранить код " -#~ "чистым и разделяет ответственность: ``App``" -#~ " отвечает за логику интерактивной сессии," -#~ " а ``Orchestrator`` — за подготовку и" -#~ " запуск окружения." -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/api/response.po b/docs/locales/en/LC_MESSAGES/root/api/response.po index 8ce0e82..34fe5a3 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/response.po +++ b/docs/locales/en/LC_MESSAGES/root/api/response.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -25,7 +25,7 @@ msgstr "" #: ../../root/api/response.rst:6 msgid "" -"`Response` — это объект, который передаётся в обработчик команды. Он " +"``Response`` — это объект, который передаётся в обработчик команды. Он " "создаётся автоматически при обработке пользовательского ввода и содержит " "статус валидации, введённые флаги." msgstr "" @@ -52,114 +52,111 @@ msgstr "" msgid "Инициализация" msgstr "" -#: ../../root/api/response.rst:31 +#: ../../root/api/response.rst:30 msgid "Создаёт новый объект ответа." msgstr "" +#: ../../root/api/response.rst:32 +msgid "" +"``status``: Общий статус валидации флагов из перечисления " +"``ResponseStatus``." +msgstr "" + #: ../../root/api/response.rst:33 msgid "" -"``status``: Общий статус валидации флагов из перечисления " -"`ResponseStatus`." +"``input_flags``: Коллекция введённых флагов (``InputFlags``). По " +"умолчанию — пустая." msgstr "" -#: ../../root/api/response.rst:34 -msgid "" -"``input_flags``: Коллекция введённых флагов (`InputFlags`). По умолчанию " -"— пустая." -msgstr "" - -#: ../../root/api/response.rst:37 +#: ../../root/api/response.rst:36 msgid "" "Экземпляры этого класса не предназначены для прямого создания. Они " "автоматически формируются системой и передаются в обработчик команды в " "качестве первого обязательного аргумента." msgstr "" -#: ../../root/api/response.rst:39 +#: ../../root/api/response.rst:38 msgid "**Атрибуты:**" msgstr "" -#: ../../root/api/response.rst:44 +#: ../../root/api/response.rst:43 msgid "" -"Общий статус валидации всех флагов команды (`ResponseStatus`). Указывает," -" были ли среди введённых флагов некорректные или незарегистрированные." +"Общий статус валидации всех флагов команды (``ResponseStatus``). " +"Указывает, были ли среди введённых флагов некорректные или " +"незарегистрированные." msgstr "" -#: ../../root/api/response.rst:49 +#: ../../root/api/response.rst:48 msgid "" -"Коллекция всех флагов, переданных с командой (`InputFlags`). Содержит все" -" обработанные флаги с их значениями и статусами валидации." +"Коллекция всех флагов, переданных с командой (``InputFlags``). Содержит " +"все обработанные флаги с их значениями и статусами валидации." msgstr "" -#: ../../root/api/response.rst:51 +#: ../../root/api/response.rst:50 msgid "**Пример использования:**" msgstr "" -#: ../../root/api/response.rst:60 +#: ../../root/api/response.rst:59 msgid "Работа с флагами" msgstr "" -#: ../../root/api/response.rst:62 +#: ../../root/api/response.rst:61 msgid "" -"`Response` предоставляет доступ к введённым флагам через атрибут " -"`input_flags`. Вы можете проверять их наличие, получать значения и " +"``Response`` предоставляет доступ к введённым флагам через атрибут " +"``input_flags``. Вы можете проверять их наличие, получать значения и " "статусы валидации." msgstr "" -#: ../../root/api/response.rst:64 +#: ../../root/api/response.rst:63 msgid "**Пример работы с флагами:**" msgstr "" -#: ../../root/api/response.rst:75 +#: ../../root/api/response.rst:74 msgid "ResponseStatus" msgstr "" -#: ../../root/api/response.rst:77 +#: ../../root/api/response.rst:76 msgid "" -"`ResponseStatus` — это перечисление (`Enum`), которое определяет общий " -"статус валидации всех флагов команды. Используется в атрибуте `status` " -"объекта `Response`." +"``ResponseStatus`` — это перечисление, которое определяет общий статус " +"валидации всех флагов команды. Используется в атрибуте ``status`` объекта" +" ``Response``." msgstr "" -#: ../../root/api/response.rst:80 -msgid "Значения enum" -msgstr "" - -#: ../../root/api/response.rst:83 +#: ../../root/api/response.rst:79 msgid "ALL_FLAGS_VALID" msgstr "" -#: ../../root/api/response.rst:90 +#: ../../root/api/response.rst:86 msgid "" "Все введённые флаги прошли валидацию. Нет ни некорректных, ни " "незарегистрированных флагов." msgstr "" -#: ../../root/api/response.rst:93 +#: ../../root/api/response.rst:89 msgid "UNDEFINED_FLAGS" msgstr "" -#: ../../root/api/response.rst:100 +#: ../../root/api/response.rst:96 msgid "" "Среди введённых флагов есть незарегистрированные, но нет флагов с " "некорректными значениями." msgstr "" -#: ../../root/api/response.rst:103 +#: ../../root/api/response.rst:99 msgid "INVALID_VALUE_FLAGS" msgstr "" -#: ../../root/api/response.rst:110 +#: ../../root/api/response.rst:106 msgid "" "Среди введённых флагов есть флаги с некорректными значениями, но нет " "незарегистрированных." msgstr "" -#: ../../root/api/response.rst:113 +#: ../../root/api/response.rst:109 msgid "UNDEFINED_AND_INVALID_FLAGS" msgstr "" -#: ../../root/api/response.rst:120 +#: ../../root/api/response.rst:116 msgid "" "Среди введённых флагов есть как незарегистрированные, так и флаги с " "некорректными значениями." diff --git a/docs/locales/en/LC_MESSAGES/root/api/router.po b/docs/locales/en/LC_MESSAGES/root/api/router.po index 3fcccd1..e97ea65 100644 --- a/docs/locales/en/LC_MESSAGES/root/api/router.po +++ b/docs/locales/en/LC_MESSAGES/root/api/router.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -91,7 +91,7 @@ msgid "**Пример использования:**" msgstr "" #: ../../root/api/router.rst:48 -msgid "Системный роутер по умолчанию" +msgid "Системный роутер" msgstr "" #: ../../root/api/router.rst:50 @@ -100,165 +100,58 @@ msgid "" "автоматически подключается к каждому приложению." msgstr "" -#: ../../root/api/router.rst:54 +#: ../../root/api/router.rst:55 msgid "" "Предопределённый экземпляр ``Router`` с базовыми системными командами (по" " умолчанию — команда выхода). Имеет заголовок **«System points:»**, " "который можно переопределить в ``App``." msgstr "" -#: ../../root/api/router.rst:56 +#: ../../root/api/router.rst:57 msgid "" "Вы можете добавлять свои команды в этот роутер. Для этого импортируйте " "``argenta.router.defaults.system_router`` и используйте его декоратор " "``@command``." msgstr "" -#: ../../root/api/router.rst:61 +#: ../../root/api/router.rst:62 msgid "Возможные исключения" msgstr "" -#: ../../root/api/router.rst:63 +#: ../../root/api/router.rst:64 msgid "" "При регистрации команд и флагов в ``Router`` могут возникнуть следующие " "исключения:" msgstr "" -#: ../../root/api/router.rst:67 +#: ../../root/api/router.rst:68 msgid "" "Выбрасывается, если триггер команды в ``Command`` содержит пробелы. " "Триггеры должны быть одним словом." msgstr "" -#: ../../root/api/router.rst:69 -msgid "" -"**Неправильно:** ``Command(\"add user\")`` **Правильно:** ``Command" -"(\"add-user\")``" +#: ../../root/api/router.rst:70 +msgid "**Неправильно:** ``Command(\"add user\")``" msgstr "" -#: ../../root/api/router.rst:74 +#: ../../root/api/router.rst:72 +msgid "**Правильно:** ``Command(\"add-user\")``" +msgstr "" + +#: ../../root/api/router.rst:76 msgid "" "Возникает, если при определении флагов для команды были использованы " "дублирующиеся имена. Имена флагов в рамках одной команды должны быть " "уникальны." msgstr "" -#: ../../root/api/router.rst:76 +#: ../../root/api/router.rst:78 msgid "**Пример, вызывающий исключение:**" msgstr "" -#: ../../root/api/router.rst:88 +#: ../../root/api/router.rst:90 msgid "" "Возникает, если обработчик команды не принимает обязательный аргумент " "``Response``." msgstr "" -#~ msgid "" -#~ "Объект ``Router`` является фундаментальным " -#~ "строительным блоком для организации логики " -#~ "в приложении ``Argenta``. Его основная " -#~ "задача — группировать связанные команды " -#~ "и их обработчики. Каждый роутер " -#~ "представляет собой логический контейнер для" -#~ " определенного набора функциональности." -#~ msgstr "" - -#~ msgid "" -#~ "Например, в приложении для управления " -#~ "пользователями один роутер может отвечать " -#~ "за команды, связанные с аутентификацией " -#~ "(``login``, ``logout``), а другой — за" -#~ " операции с профилем (``profile show``, " -#~ "``profile edit``)." -#~ msgstr "" - -#~ msgid "Создает новый экземпляр маршрутизатора." -#~ msgstr "" - -#~ msgid "" -#~ "``title`` : Необязательный заголовок для " -#~ "группы команд, которые регистрируются в " -#~ "этом роутере. Этот заголовок будет " -#~ "отображаться в списке доступных команд, " -#~ "помогая пользователю ориентироваться." -#~ msgstr "" - -#~ msgid "" -#~ "``disable_redirect_stdout`` : Если установлено " -#~ "в ``True``, отключает механизм перехвата " -#~ "стандартного вывода (``stdout``) для всех " -#~ "команд этого роутера. Это необходимо для" -#~ " команд, которые требуют интерактивного " -#~ "ввода от пользователя (например, с " -#~ "помощью ``input()``). При отключении перехвата" -#~ " вывода автоматически используется статическая" -#~ " разделительная линия. Подробнее в " -#~ ":ref:`соответствующем разделе `" -#~ 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 "" - diff --git a/docs/locales/en/LC_MESSAGES/root/code_of_conduct.po b/docs/locales/en/LC_MESSAGES/root/code_of_conduct.po index 374802c..f757584 100644 --- a/docs/locales/en/LC_MESSAGES/root/code_of_conduct.po +++ b/docs/locales/en/LC_MESSAGES/root/code_of_conduct.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -21,82 +21,93 @@ msgstr "" #: ../../root/code_of_conduct.rst:4 msgid "Правила сообщества" -msgstr "" +msgstr "Community Guidelines" #: ../../root/code_of_conduct.rst:7 msgid "Наше обязательство" -msgstr "" +msgstr "Our Pledge" #: ../../root/code_of_conduct.rst:9 msgid "" "В целях создания открытой и гостеприимной атмосферы мы, как участники и " "мейнтейнеры, обязуемся сделать участие в нашем проекте и сообществе " "свободным от преследований для всех, независимо от возраста, " -"телосложения, инвалидности, этнической принадлежности, гендерной " -"идентичности и самовыражения, уровня опыта, образования, " -"социально-экономического статуса, национальности, внешности, расы, " -"религии или сексуальной идентичности и ориентации." +"телосложения, инвалидности, этнической принадлежности, уровня опыта, " +"образования, социально-экономического статуса, национальности, внешности," +" расы или религии." msgstr "" +"In the interest of fostering an open and welcoming environment, we as " +"contributors and maintainers pledge to make participation in our project and " +"community a harassment-free experience for everyone, regardless of age, body " +"size, disability, ethnicity, level of experience, education, socio-economic " +"status, nationality, personal appearance, race, or religion." #: ../../root/code_of_conduct.rst:14 msgid "Наши стандарты" -msgstr "" +msgstr "Our Standards" #: ../../root/code_of_conduct.rst:16 msgid "Примеры поведения, которые способствуют созданию позитивной среды:" -msgstr "" +msgstr "Examples of behavior that contributes to creating a positive environment:" #: ../../root/code_of_conduct.rst:18 msgid "Проявление эмпатии и доброты по отношению к другим." -msgstr "" +msgstr "Demonstrating empathy and kindness toward other people." #: ../../root/code_of_conduct.rst:19 msgid "Уважение к различным мнениям, точкам зрения и опыту." -msgstr "" +msgstr "Being respectful of differing opinions, viewpoints, and experiences." #: ../../root/code_of_conduct.rst:20 msgid "Предоставление и тактичное принятие конструктивной обратной связи." -msgstr "" +msgstr "Giving and gracefully accepting constructive feedback." #: ../../root/code_of_conduct.rst:21 msgid "" "Принятие ответственности и извинения перед теми, кого затронули наши " "ошибки, а также извлечение уроков из этого опыта." msgstr "" +"Accepting responsibility and apologizing to those affected by our mistakes, " +"and learning from the experience." #: ../../root/code_of_conduct.rst:22 msgid "Фокус на том, что лучше для всего сообщества." -msgstr "" +msgstr "Focusing on what is best for the overall community." #: ../../root/code_of_conduct.rst:24 msgid "Примеры недопустимого поведения включают:" -msgstr "" +msgstr "Examples of unacceptable behavior include:" #: ../../root/code_of_conduct.rst:26 msgid "" "Троллинг, оскорбительные или уничижительные комментарии, а также личные " "или политические нападки." msgstr "" +"Trolling, insulting or derogatory comments, and personal or political attacks." #: ../../root/code_of_conduct.rst:27 msgid "Публичное или частное преследование." -msgstr "" +msgstr "Public or private harassment." #: ../../root/code_of_conduct.rst:28 msgid "" "Публикация личной информации других лиц (например, физического или " "электронного адреса) без их явного разрешения." msgstr "" +"Publishing others' private information, such as a physical or email address, " +"without their explicit permission." #: ../../root/code_of_conduct.rst:29 msgid "" "Любое другое поведение, которое можно обоснованно считать неуместным в " "профессиональной среде." msgstr "" +"Other conduct which could reasonably be considered inappropriate in a " +"professional setting." #: ../../root/code_of_conduct.rst:34 msgid "Наши обязанности" -msgstr "" +msgstr "Our Responsibilities" #: ../../root/code_of_conduct.rst:36 msgid "" @@ -104,6 +115,9 @@ msgid "" "соблюдения стандартов приемлемого поведения и предпримут справедливые " "корректирующие действия в ответ на любые случаи неприемлемого поведения." msgstr "" +"Project maintainers are responsible for clarifying and enforcing standards of " +"acceptable behavior and will take appropriate and fair corrective action in " +"response to any instances of unacceptable behavior." #: ../../root/code_of_conduct.rst:38 msgid "" @@ -113,10 +127,14 @@ msgid "" "временно или навсегда блокировать любого участника за поведение, которое " "они сочтут неуместным, угрожающим, оскорбительным или вредным." msgstr "" +"Project maintainers have the right and responsibility to remove, edit, or reject " +"comments, commits, code, wiki edits, issues, and other contributions that are not " +"aligned with this Code of Conduct, and will ban temporarily or permanently any " +"contributor for behaviors that they deem inappropriate, threatening, offensive, or harmful." #: ../../root/code_of_conduct.rst:43 msgid "Сфера применения" -msgstr "" +msgstr "Scope" #: ../../root/code_of_conduct.rst:45 msgid "" @@ -127,10 +145,15 @@ msgid "" "аккаунт в социальных сетях или выступление в качестве назначенного " "представителя на онлайн- или офлайн-мероприятии." msgstr "" +"This Code of Conduct applies both within project spaces and in public spaces " +"when an individual is officially representing the community. Examples of " +"representing the community include using an official project email address, " +"posting via an official social media account, or acting as an appointed " +"representative at an online or offline event." #: ../../root/code_of_conduct.rst:50 msgid "Обеспечение соблюдения" -msgstr "" +msgstr "Enforcement" #: ../../root/code_of_conduct.rst:52 msgid "" @@ -139,14 +162,17 @@ msgid "" "kolo.is.main@gmail.com. Все жалобы будут рассмотрены и расследованы " "оперативно и справедливо." msgstr "" +"Instances of abusive, harassing, or otherwise unacceptable behavior may be " +"reported to the project team at kolo.is.main@gmail.com. All complaints will be " +"reviewed and investigated promptly and fairly." #: ../../root/code_of_conduct.rst:54 msgid "Команда проекта обязуется уважать частную жизнь и безопасность заявителя." -msgstr "" +msgstr "The project team is obligated to respect the privacy and security of the reporter." #: ../../root/code_of_conduct.rst:59 msgid "Атрибуция" -msgstr "" +msgstr "Attribution" #: ../../root/code_of_conduct.rst:61 msgid "" @@ -156,102 +182,9 @@ msgid "" "conduct/code_of_conduct.md>`__ и `2.0 `__." msgstr "" - -#~ msgid "" -#~ "В стремлении создать открытую и " -#~ "приветливую атмосферу, мы, как участники " -#~ "и мейнтейнеры, обязуемся сделать участие " -#~ "в нашем проекте и сообществе свободным" -#~ " от преследований для всех, независимо " -#~ "от возраста, телосложения, инвалидности, " -#~ "этнической принадлежности, половых характеристик," -#~ " уровня опыта, образования, " -#~ "социально-экономического статуса, национальности, " -#~ "внешности, расы и религии." -#~ msgstr "" - -#~ msgid "" -#~ "Примеры поведения, способствующего созданию " -#~ "позитивной среды для нашего сообщества, " -#~ "включают:" -#~ msgstr "" - -#~ msgid "Проявление эмпатии и доброты по отношению к другим людям." -#~ msgstr "" - -#~ msgid "Уважительное отношение к различным мнениям, точкам зрения и опыту." -#~ msgstr "" - -#~ msgid "" -#~ "Принятие ответственности, извинения перед " -#~ "теми, кого затронули наши ошибки, и " -#~ "извлечение уроков из этого опыта." -#~ msgstr "" - -#~ msgid "" -#~ "Сосредоточение на том, что лучше не " -#~ "только для нас как отдельных личностей," -#~ " но и для всего сообщества в " -#~ "целом." -#~ msgstr "" - -#~ msgid "" -#~ "Публикация личной информации других лиц, " -#~ "такой как физический или электронный " -#~ "адрес, без их явного разрешения." -#~ msgstr "" - -#~ msgid "" -#~ "Иное поведение, которое можно обоснованно " -#~ "считать неуместным в профессиональной среде." -#~ msgstr "" - -#~ msgid "" -#~ "Мейнтейнеры проекта несут ответственность за" -#~ " разъяснение и обеспечение соблюдения наших" -#~ " стандартов приемлемого поведения и " -#~ "предпримут соответствующие и справедливые " -#~ "корректирующие действия в ответ на любые" -#~ " случаи неприемлемого поведения." -#~ msgstr "" - -#~ msgid "" -#~ "Мейнтейнеры проекта имеют право и " -#~ "обязанность удалять, редактировать или " -#~ "отклонять комментарии, коммиты, код, правки" -#~ " в вики, задачи и другие вклады, " -#~ "которые не соответствуют настоящему Кодексу" -#~ " поведения, или временно либо навсегда " -#~ "заблокировать любого участника за другое " -#~ "поведение, которое они сочтут неуместным, " -#~ "угрожающим, оскорбительным или вредным." -#~ msgstr "" - -#~ msgid "" -#~ "Настоящий Кодекс поведения применяется во " -#~ "всех пространствах сообщества, а также " -#~ "когда человек официально представляет " -#~ "сообщество в публичных местах. Примеры " -#~ "представления нашего сообщества включают " -#~ "использование официального адреса электронной " -#~ "почты, публикации через официальный аккаунт" -#~ " в социальных сетях или выступление в" -#~ " качестве назначенного представителя на " -#~ "онлайн- или офлайн-мероприятии." -#~ msgstr "" - -#~ msgid "" -#~ "О случаях оскорбительного, преследовательского " -#~ "или иного неприемлемого поведения можно " -#~ "сообщить руководителям сообщества, ответственным " -#~ "за обеспечение правоприменения, по адресу " -#~ ". Все жалобы будут рассмотрены и " -#~ "расследованы оперативно и справедливо." -#~ msgstr "" - -#~ msgid "" -#~ "Все руководители сообщества обязаны уважать" -#~ " частную жизнь и безопасность заявителя " -#~ "любого инцидента." -#~ msgstr "" +"This Code of Conduct is adapted from the `Contributor Covenant " +"`__, version `1.4 `__ and `2.0 `__." diff --git a/docs/locales/en/LC_MESSAGES/root/contributing.po b/docs/locales/en/LC_MESSAGES/root/contributing.po index 44e4700..f4a4142 100644 --- a/docs/locales/en/LC_MESSAGES/root/contributing.po +++ b/docs/locales/en/LC_MESSAGES/root/contributing.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -21,11 +21,11 @@ msgstr "" #: ../../root/contributing.rst:4 msgid "Вклад в проект" -msgstr "Contributing" +msgstr "Contributing to the Project" #: ../../root/contributing.rst:8 msgid "Прежде всего, спасибо, что уделили время для внесения своего вклада! ❤️" -msgstr "" +msgstr "First of all, thank you for taking the time to contribute! ❤️" #: ../../root/contributing.rst:10 msgid "" @@ -34,1012 +34,685 @@ msgid "" "процесс более гладким для всех. Сообщество с нетерпением ждёт ваших идей!" " 🎉" msgstr "" +"We welcome and appreciate any contribution. Please read the relevant section " +"before getting started. This will make it easier for maintainers and make the " +"process smoother for everyone. The community is looking forward to your ideas! 🎉" #: ../../root/contributing.rst:14 msgid "" "Если вам нравится проект, но у вас нет времени на активный вклад, вы " "можете поддержать нас другими способами:" msgstr "" +"If you like the project but don't have time to actively contribute, you can " +"support us in other ways:" #: ../../root/contributing.rst:16 msgid "Поставить звезду на GitHub." -msgstr "" +msgstr "Star the project on GitHub." #: ../../root/contributing.rst:17 msgid "Написать о проекте в Twitter или других социальных сетях." -msgstr "" +msgstr "Write about the project on Twitter or other social media." #: ../../root/contributing.rst:18 msgid "Сослаться на проект в `README` вашего репозитория." -msgstr "" +msgstr "Reference the project in your repository's `README`." #: ../../root/contributing.rst:19 msgid "Упомянуть проект на митапах и рассказать о нём друзьям и коллегам." -msgstr "" +msgstr "Mention the project at meetups and tell your friends and colleagues about it." #: ../../root/contributing.rst:24 msgid "Содержание" -msgstr "" +msgstr "Contents" #: ../../root/contributing.rst:26 msgid "`Кодекс поведения`_" -msgstr "" +msgstr "`Code of Conduct`_" #: ../../root/contributing.rst:27 msgid "`У меня есть вопрос`_" -msgstr "" +msgstr "`I Have a Question`_" #: ../../root/contributing.rst:28 msgid "`Я хочу внести вклад`_" -msgstr "" +msgstr "`I Want to Contribute`_" #: ../../root/contributing.rst:29 msgid "`Сообщение об ошибках`_" -msgstr "" +msgstr "`Reporting Bugs`_" #: ../../root/contributing.rst:30 msgid "`Предложение улучшений`_" -msgstr "" +msgstr "`Suggesting Enhancements`_" #: ../../root/contributing.rst:31 msgid "`Ваш первый вклад в код`_" -msgstr "" +msgstr "`Your First Code Contribution`_" #: ../../root/contributing.rst:32 msgid "`Улучшение документации`_" -msgstr "" +msgstr "`Improving Documentation`_" #: ../../root/contributing.rst:33 msgid "`Руководства по стилю`_" -msgstr "" +msgstr "`Style Guides`_" #: ../../root/contributing.rst:34 -msgid "`Сообщения коммитов`_" -msgstr "" - -#: ../../root/contributing.rst:35 msgid "`Присоединяйтесь к команде проекта`_" -msgstr "" +msgstr "`Join the Project Team`_" -#: ../../root/contributing.rst:40 +#: ../../root/contributing.rst:39 msgid "Кодекс поведения" -msgstr "" +msgstr "Code of Conduct" -#: ../../root/contributing.rst:42 +#: ../../root/contributing.rst:41 msgid "" "Этот проект и все его участники руководствуются :ref:`Кодексом поведения " "Argenta `. Участвуя, вы обязуетесь соблюдать этот " "кодекс. Пожалуйста, сообщайте о недопустимом поведении." msgstr "" +"This project and all its participants are governed by the :ref:`Argenta Code of " +"Conduct `. By participating, you are expected to uphold " +"this code. Please report unacceptable behavior." -#: ../../root/contributing.rst:50 +#: ../../root/contributing.rst:49 msgid "У меня есть вопрос" -msgstr "" +msgstr "I Have a Question" -#: ../../root/contributing.rst:54 +#: ../../root/contributing.rst:53 msgid "" "Прежде чем задать вопрос, пожалуйста, ознакомьтесь с `документацией " "`_." msgstr "" +"Before asking a question, please check the `documentation " +"`_." -#: ../../root/contributing.rst:56 +#: ../../root/contributing.rst:55 msgid "" "Поищите ответ в существующих `Issues " "`_. Если вы нашли похожий " "вопрос, но всё ещё нуждаетесь в разъяснениях, можете написать в нём. " "Также рекомендуем поискать ответ в интернете." msgstr "" +"Search for an answer in existing `Issues " +"`_. If you found a similar question " +"but still need clarification, you can comment on it. We also recommend searching " +"the internet for an answer." -#: ../../root/contributing.rst:58 +#: ../../root/contributing.rst:57 msgid "" "Если ответа не нашлось, создайте новый `Issue " "`_ и предоставьте как " -"можно больше контекста, включая версии проекта и платформы (CPython, pip " -"и т.д.)." +"можно больше контекста, включая версии проекта и платформы." msgstr "" +"If you can't find an answer, create a new `Issue " +"`_ and provide as much context " +"as possible, including project and platform versions." -#: ../../root/contributing.rst:60 +#: ../../root/contributing.rst:59 msgid "Мы займемся вашей задачей как можно скорее." -msgstr "" +msgstr "We will address your issue as soon as possible." -#: ../../root/contributing.rst:67 +#: ../../root/contributing.rst:66 msgid "Я хочу внести вклад" -msgstr "" +msgstr "I Want to Contribute" -#: ../../root/contributing.rst:70 +#: ../../root/contributing.rst:69 msgid "Правовое уведомление" -msgstr "" +msgstr "Legal Notice" -#: ../../root/contributing.rst:73 +#: ../../root/contributing.rst:72 msgid "" "Внося вклад в этот проект, вы подтверждаете, что являетесь автором 100% " "контента, обладаете необходимыми правами на него и соглашаетесь, что он " "может распространяться под лицензией проекта." msgstr "" +"By contributing to this project, you confirm that you are the author of 100% of " +"the content, have the necessary rights to it, and agree that it may be distributed " +"under the project's license." -#: ../../root/contributing.rst:78 +#: ../../root/contributing.rst:77 msgid "Сообщение об ошибках" -msgstr "" +msgstr "Reporting Bugs" + +#: ../../root/contributing.rst:80 +msgid "Перед отправкой отчета об ошибке" +msgstr "Before Submitting a Bug Report" #: ../../root/contributing.rst:81 -msgid "Перед отправкой отчета об ошибке" -msgstr "" - -#: ../../root/contributing.rst:82 msgid "" "Хороший отчёт об ошибке не должен заставлять других вытягивать из вас " "дополнительную информацию. Пожалуйста, тщательно всё изучите, соберите " "информацию и подробно опишите проблему. Это поможет нам исправить её как " "можно быстрее." msgstr "" +"A good bug report shouldn't require others to extract additional information from " +"you. Please investigate thoroughly, gather information, and describe the problem " +"in detail. This will help us fix it as quickly as possible." -#: ../../root/contributing.rst:84 ../../root/contributing.rst:125 +#: ../../root/contributing.rst:83 ../../root/contributing.rst:124 msgid "Убедитесь, что вы используете последнюю версию." -msgstr "" +msgstr "Make sure you are using the latest version." -#: ../../root/contributing.rst:85 +#: ../../root/contributing.rst:84 msgid "" "Убедитесь, что проблема действительно является ошибкой, а не вызвана, " "например, использованием несовместимых версий окружения. Прочтите " "`документацию `_ и, если нужна поддержка," " загляните в раздел `У меня есть вопрос`_." msgstr "" +"Make sure the issue is actually a bug and not caused by, for example, using " +"incompatible environment versions. Read the `documentation " +"`_ and, if you need support, check out the " +"`I Have a Question`_ section." -#: ../../root/contributing.rst:86 +#: ../../root/contributing.rst:85 msgid "" "Проверьте, нет ли уже отчёта о вашей ошибке в `трекере " "`_." msgstr "" +"Check if there is already a report about your bug in the `tracker " +"`_." -#: ../../root/contributing.rst:87 +#: ../../root/contributing.rst:86 msgid "" "Также поищите в интернете (включая `Stack Overflow`), чтобы узнать, " "обсуждалась ли проблема за пределами `GitHub`." msgstr "" +"Also search the internet (including `Stack Overflow`) to see if the issue has " +"been discussed outside of `GitHub`." + +#: ../../root/contributing.rst:87 +msgid "Соберите информацию об ошибке:" +msgstr "Collect information about the bug:" #: ../../root/contributing.rst:88 -msgid "Соберите информацию об ошибке:" -msgstr "" +msgid "Трассировка стека." +msgstr "Stack trace." #: ../../root/contributing.rst:89 -msgid "Трассировка стека." -msgstr "" +msgid "ОС, платформа и версия (Windows, Linux, macOS, x86, ARM)." +msgstr "OS, platform, and version (Windows, Linux, macOS, x86, ARM)." #: ../../root/contributing.rst:90 -msgid "ОС, платформа и версия (Windows, Linux, macOS, x86, ARM)." -msgstr "" - -#: ../../root/contributing.rst:91 msgid "" "Версия интерпретатора, компилятора, SDK, среды выполнения, менеджера " "пакетов и т.д." msgstr "" +"Version of interpreter, compiler, SDK, runtime environment, package manager, etc." + +#: ../../root/contributing.rst:91 +msgid "Входные данные и полученный результат." +msgstr "Input data and output received." #: ../../root/contributing.rst:92 -msgid "Входные данные и полученный результат." -msgstr "" - -#: ../../root/contributing.rst:93 msgid "" "Можете ли вы надёжно воспроизвести проблему? Воспроизводится ли она на " "старых версиях?" msgstr "" +"Can you reliably reproduce the issue? Does it reproduce on older versions?" -#: ../../root/contributing.rst:96 +#: ../../root/contributing.rst:95 msgid "Как мне отправить хороший отчет об ошибке?" -msgstr "" +msgstr "How Do I Submit a Good Bug Report?" -#: ../../root/contributing.rst:99 +#: ../../root/contributing.rst:98 msgid "" "Никогда не сообщайте о проблемах безопасности, уязвимостях или ошибках с " "конфиденциальной информацией в публичном трекере. Для этого используйте " "электронную почту." msgstr "" +"Never report security issues, vulnerabilities, or bugs with sensitive information " +"in the public tracker. Use email for this purpose." -#: ../../root/contributing.rst:101 +#: ../../root/contributing.rst:100 msgid "" "Мы используем `GitHub Issues` для отслеживания ошибок. Если вы " "столкнулись с проблемой:" msgstr "" +"We use `GitHub Issues` to track bugs. If you encounter a problem:" -#: ../../root/contributing.rst:103 +#: ../../root/contributing.rst:102 msgid "" "Откройте новый `Issue " "`_. На этом этапе не " "нужно присваивать ему метки." msgstr "" +"Open a new `Issue `_. At this " +"stage, you don't need to assign labels to it." + +#: ../../root/contributing.rst:103 +msgid "Объясните ожидаемое и фактическое поведение." +msgstr "Explain the expected and actual behavior." #: ../../root/contributing.rst:104 -msgid "Объясните ожидаемое и фактическое поведение." -msgstr "" - -#: ../../root/contributing.rst:105 msgid "" "Предоставьте как можно больше контекста и опишите **шаги для " "воспроизведения**, чтобы проблему можно было воссоздать. Лучше всего " "изолировать её и создать минимальный тестовый пример." msgstr "" +"Provide as much context as possible and describe **reproduction steps** so the " +"issue can be recreated. It's best to isolate it and create a minimal test case." -#: ../../root/contributing.rst:106 +#: ../../root/contributing.rst:105 msgid "Предоставьте информацию, которую вы собрали в предыдущем разделе." -msgstr "" +msgstr "Provide the information you collected in the previous section." -#: ../../root/contributing.rst:108 +#: ../../root/contributing.rst:107 msgid "После того, как задача будет создана:" -msgstr "" +msgstr "Once the issue is created:" + +#: ../../root/contributing.rst:109 +msgid "Команда проекта присвоит задаче соответствующую метку." +msgstr "The project team will assign an appropriate label to the issue." #: ../../root/contributing.rst:110 -msgid "Команда проекта присвоит задаче соответствующую метку." -msgstr "" - -#: ../../root/contributing.rst:111 msgid "" "Член команды попытается воспроизвести проблему. Если шагов нет или они не" " приводят к результату, команда попросит вас предоставить их и пометит " "задачу как `needs-repro`. Такие задачи не будут рассматриваться до тех " "пор, пока проблема не будет воспроизведена." msgstr "" +"A team member will try to reproduce the issue. If there are no steps or they don't " +"lead to the result, the team will ask you to provide them and mark the issue as " +"`needs-repro`. Such issues will not be addressed until the problem is reproduced." -#: ../../root/contributing.rst:112 +#: ../../root/contributing.rst:111 msgid "" "Если проблема будет воспроизведена, она будет помечена как `needs-fix` " "(и, возможно, другими метками, например `critical`), после чего её сможет" " взять в работу :ref:`любой желающий <Ваш первый вклад в код>`." msgstr "" +"If the issue is reproduced, it will be marked as `needs-fix` (and possibly with " +"other labels, such as `critical`), after which :ref:`anyone willing ` can take it on." -#: ../../root/contributing.rst:119 +#: ../../root/contributing.rst:118 msgid "Предложение улучшений" -msgstr "" +msgstr "Suggesting Enhancements" -#: ../../root/contributing.rst:121 +#: ../../root/contributing.rst:120 msgid "" "Этот раздел поможет вам отправить предложение по улучшению `Argenta`, " "**включая как новые функции, так и незначительные улучшения**. Следование" " этим рекомендациям поможет мейнтейнерам и сообществу лучше понять вашу " "идею." msgstr "" +"This section will help you submit an enhancement suggestion for `Argenta`, " +"**including both new features and minor improvements**. Following these guidelines " +"will help maintainers and the community better understand your idea." -#: ../../root/contributing.rst:124 +#: ../../root/contributing.rst:123 msgid "Перед отправкой предложения по улучшению" -msgstr "" +msgstr "Before Submitting an Enhancement Suggestion" -#: ../../root/contributing.rst:126 +#: ../../root/contributing.rst:125 msgid "" "Внимательно прочтите `документацию `_ и " "убедитесь, что предлагаемая функциональность ещё не реализована " "(возможно, через конфигурацию)." msgstr "" +"Carefully read the `documentation `_ and make sure " +"the proposed functionality is not already implemented (perhaps through configuration)." -#: ../../root/contributing.rst:127 +#: ../../root/contributing.rst:126 msgid "" "Выполните `поиск `_, чтобы " "проверить, не предлагалось ли это улучшение ранее. Если да, добавьте " "комментарий к существующей задаче." msgstr "" +"Perform a `search `_ to check if this " +"enhancement has been suggested before. If so, add a comment to the existing issue." -#: ../../root/contributing.rst:128 +#: ../../root/contributing.rst:127 msgid "" "Определите, соответствует ли ваша идея масштабу и целям проекта. Вам " "предстоит убедительно доказать её пользу. Мы хотим видеть функции, " "которые будут полезны большинству пользователей. Если ваша идея " "ориентирована на узкий круг, рассмотрите возможность создания плагина." msgstr "" +"Determine if your idea fits the scope and goals of the project. You will need to " +"convincingly demonstrate its value. We want to see features that will be useful to " +"most users. If your idea targets a narrow audience, consider creating a plugin." + +#: ../../root/contributing.rst:130 +msgid "Как мне отправить хорошее предложение по улучшению?" +msgstr "How Do I Submit a Good Enhancement Suggestion?" #: ../../root/contributing.rst:131 -msgid "Как мне отправить хорошее предложение по улучшению?" -msgstr "" - -#: ../../root/contributing.rst:132 msgid "" "Предложения по улучшению отслеживаются в `GitHub Issues " "`_." msgstr "" +"Enhancement suggestions are tracked in `GitHub Issues " +"`_." -#: ../../root/contributing.rst:134 +#: ../../root/contributing.rst:133 msgid "" "Используйте **чёткий и описательный заголовок**, чтобы идентифицировать " "предложение." -msgstr "" +msgstr "Use a **clear and descriptive title** to identify the suggestion." + +#: ../../root/contributing.rst:134 +msgid "Предоставьте **пошаговое и подробное описание** предлагаемого улучшения." +msgstr "Provide a **step-by-step and detailed description** of the proposed enhancement." #: ../../root/contributing.rst:135 -msgid "Предоставьте **пошаговое и подробное описание** предлагаемого улучшения." -msgstr "" - -#: ../../root/contributing.rst:136 msgid "" "**Опишите текущее поведение** и **объясните, какое вы ожидали увидеть " "вместо этого** и почему. Здесь же можно указать, какие альтернативы вам " "не подходят." msgstr "" +"**Describe the current behavior** and **explain what you expected to see instead** " +"and why. You can also mention which alternatives don't work for you." -#: ../../root/contributing.rst:137 +#: ../../root/contributing.rst:136 msgid "" "**Приложите скриншоты или видео**, которые помогут продемонстрировать " "шаги или указать на часть, к которой относится предложение." msgstr "" +"**Attach screenshots or videos** that help demonstrate the steps or point to the " +"part the suggestion relates to." -#: ../../root/contributing.rst:138 +#: ../../root/contributing.rst:137 msgid "" "**Объясните, почему это улучшение будет полезно** большинству " "пользователей `Argenta`. Вы также можете указать на другие проекты, " "которые решили эту проблему и могут послужить источником вдохновения." msgstr "" +"**Explain why this enhancement would be useful** to most `Argenta` users. You can " +"also point to other projects that have solved this problem and could serve as " +"inspiration." -#: ../../root/contributing.rst:145 +#: ../../root/contributing.rst:144 msgid "Ваш первый вклад в код" -msgstr "" +msgstr "Your First Code Contribution" -#: ../../root/contributing.rst:147 +#: ../../root/contributing.rst:146 msgid "" "Не знаете, с чего начать? Посмотрите на задачи с метками `good first " "issue` и `help wanted` в нашем репозитории на `GitHub`. Они хорошо " "подходят для новичков." msgstr "" +"Don't know where to start? Look at issues labeled `good first issue` and `help " +"wanted` in our `GitHub` repository. They are well-suited for beginners." -#: ../../root/contributing.rst:149 +#: ../../root/contributing.rst:148 msgid "" "Чтобы начать, настройте локальное окружение для разработки, следуя этим " "шагам." -msgstr "" +msgstr "To get started, set up a local development environment by following these steps." + +#: ../../root/contributing.rst:150 +msgid "Сделайте форк репозитория ``Argenta`` на ``GitHub``." +msgstr "Fork the ``Argenta`` repository on ``GitHub``." #: ../../root/contributing.rst:151 -msgid "Сделайте форк репозитория ``Argenta`` на ``GitHub``." -msgstr "" - -#: ../../root/contributing.rst:152 msgid "Клонируйте ваш форк на локальную машину:" -msgstr "" +msgstr "Clone your fork to your local machine:" -#: ../../root/contributing.rst:159 +#: ../../root/contributing.rst:158 msgid "Создайте и активируйте виртуальное окружение." -msgstr "" +msgstr "Create and activate a virtual environment." -#: ../../root/contributing.rst:171 +#: ../../root/contributing.rst:170 msgid "Установите зависимости проекта, включая инструменты для разработки." -msgstr "" +msgstr "Install project dependencies, including development tools." -#: ../../root/contributing.rst:177 +#: ../../root/contributing.rst:176 msgid "" "Создайте новую ветку для вашей функции или исправления. Используйте " "описательное имя, например `fix/login-bug` или `feat/new-widget`." msgstr "" +"Create a new branch for your feature or fix. Use a descriptive name, such as " +"`fix/login-bug` or `feat/new-widget`." -#: ../../root/contributing.rst:183 +#: ../../root/contributing.rst:182 msgid "" "Внесите свои изменения. Напишите код и не забудьте добавить или обновить " "тесты." -msgstr "" +msgstr "Make your changes. Write code and don't forget to add or update tests." -#: ../../root/contributing.rst:184 +#: ../../root/contributing.rst:183 msgid "Запустите тесты, чтобы убедиться, что все работает корректно." -msgstr "" +msgstr "Run tests to make sure everything works correctly." -#: ../../root/contributing.rst:190 +#: ../../root/contributing.rst:189 msgid "" -"Сделайте коммит, следуя нашему руководству по стилю, и отправьте " -"изменения в ваш форк." +"Сделайте коммит, следуя :ref:`нашему руководству по стилю `, " +"и отправьте изменения в ваш форк." msgstr "" +"Commit following :ref:`our style guide ` and push the changes to your fork." -#: ../../root/contributing.rst:198 +#: ../../root/contributing.rst:197 msgid "" "Откройте `Pull Request` из вашей ветки в ветку `main` официального " "репозитория. Предоставьте чёткое описание проблемы и вашего решения. " "Укажите номер связанной задачи, если она есть." msgstr "" +"Open a `Pull Request` from your branch to the `main` branch of the official " +"repository. Provide a clear description of the problem and your solution. Include " +"the related issue number if there is one." -#: ../../root/contributing.rst:205 +#: ../../root/contributing.rst:204 msgid "Улучшение документации" -msgstr "" +msgstr "Improving Documentation" -#: ../../root/contributing.rst:207 +#: ../../root/contributing.rst:206 msgid "" "Хорошая документация крайне важна. Мы используем `Sphinx` для её " "генерации из исходных файлов в директории `docs/`. Мы приветствуем любые " "улучшения: от исправления опечатки до написания нового раздела." msgstr "" +"Good documentation is crucial. We use `Sphinx` to generate it from source files in " +"the `docs/` directory. We welcome any improvements: from fixing a typo to writing " +"a new section." -#: ../../root/contributing.rst:211 +#: ../../root/contributing.rst:210 msgid "Мы поддерживаем документацию на двух языках: русском и английском." -msgstr "" +msgstr "We maintain documentation in two languages: Russian and English." -#: ../../root/contributing.rst:213 +#: ../../root/contributing.rst:214 +msgid "" +"Для инкапсуляции различных команд, необходимых для настройки и запуска " +"проекта мы используем ``just``, он же фигурирует в различных примерах в " +"документации, поэтому рекомендуем вам `установить его " +"`_" +msgstr "" +"To encapsulate various commands needed for setting up and running the project, we " +"use ``just``, which also appears in various examples in the documentation, so we " +"recommend you `install it `_" + +#: ../../root/contributing.rst:216 msgid "" "Для улучшения документации вы можете следовать процессу, похожему на " "внесение вклада в код:" msgstr "" +"To improve documentation, you can follow a process similar to contributing code:" -#: ../../root/contributing.rst:215 +#: ../../root/contributing.rst:218 msgid "" "Убедитесь, что ваше окружение для разработки настроено, как описано в " "разделе `Ваш первый вклад в код`_." msgstr "" +"Make sure your development environment is set up as described in the `Your First " +"Code Contribution`_ section." -#: ../../root/contributing.rst:216 +#: ../../root/contributing.rst:219 msgid "Перейдите в директорию с документацией." -msgstr "" +msgstr "Navigate to the documentation directory." -#: ../../root/contributing.rst:222 +#: ../../root/contributing.rst:225 msgid "" "Внесите изменения в **русскую** версию документации (`docs/index.rst` " "и/или `docs/root/*`)." msgstr "" +"Make changes to the **Russian** version of the documentation (`docs/index.rst` " +"and/or `docs/root/*`)." -#: ../../root/contributing.rst:223 -msgid "Чтобы собрать документацию локально и увидеть изменения, выполните:" +#: ../../root/contributing.rst:226 +msgid "" +"Чтобы собрать документацию локально в режиме автоматического ребилда и " +"увидеть изменения, выполните:" msgstr "" +"To build the documentation locally in auto-rebuild mode and see the changes, run:" -#: ../../root/contributing.rst:229 +#: ../../root/contributing.rst:232 msgid "" "Откройте `127.0.0.1:8000` в браузере, чтобы просмотреть сгенерированную " "документацию." -msgstr "" +msgstr "Open `127.0.0.1:8000` in your browser to view the generated documentation." -#: ../../root/contributing.rst:230 +#: ../../root/contributing.rst:233 msgid "" "После завершения работы над русской версией необходимо создать английский" " перевод:" -msgstr "" +msgstr "After completing work on the Russian version, you need to create an English translation:" -#: ../../root/contributing.rst:236 +#: ../../root/contributing.rst:239 msgid "" "После обновления шаблона обновите файлы перевода, расположенные в " "`docs/locales/en/LC_MESSAGES/`." msgstr "" +"After updating the template, update the translation files located in " +"`docs/locales/en/LC_MESSAGES/`." -#: ../../root/contributing.rst:237 +#: ../../root/contributing.rst:240 msgid "" "Когда изменения будут готовы, сделайте коммит и откройте `Pull Request`. " "Используйте префикс `docs:` в сообщении коммита." msgstr "" +"When the changes are ready, commit and open a `Pull Request`. Use the `docs:` " +"prefix in the commit message." -#: ../../root/contributing.rst:244 +#: ../../root/contributing.rst:247 msgid "Руководства по стилю" -msgstr "" - -#: ../../root/contributing.rst:249 -msgid "Сообщения коммитов" -msgstr "" +msgstr "Style Guides" #: ../../root/contributing.rst:251 +msgid "**Сообщения коммитов**" +msgstr "**Commit Messages**" + +#: ../../root/contributing.rst:253 msgid "" "Мы следуем спецификации `Conventional Commits " "`_. Это делает историю " "проекта более читаемой и позволяет автоматически генерировать журнал " "изменений." msgstr "" +"We follow the `Conventional Commits `_ " +"specification. This makes the project history more readable and allows automatic " +"changelog generation." -#: ../../root/contributing.rst:253 +#: ../../root/contributing.rst:255 msgid "" "Каждое сообщение коммита состоит из **заголовка**, **тела** и **нижнего " "колонтитула**." -msgstr "" - -#: ../../root/contributing.rst:263 -msgid "``<тип>`` должен быть одним из следующих:" -msgstr "" +msgstr "Each commit message consists of a **header**, **body**, and **footer**." #: ../../root/contributing.rst:265 -msgid "**feat**: Новая функция для пользователя." -msgstr "" - -#: ../../root/contributing.rst:266 -msgid "**fix**: Исправление ошибки для пользователя." -msgstr "" +msgid "``<тип>`` должен быть одним из следующих:" +msgstr "```` must be one of the following:" #: ../../root/contributing.rst:267 -msgid "**docs**: Только изменения в документации." -msgstr "" +msgid "**feat**: Новая функция для пользователя." +msgstr "**feat**: A new feature for the user." #: ../../root/contributing.rst:268 +msgid "**fix**: Исправление ошибки для пользователя." +msgstr "**fix**: A bug fix for the user." + +#: ../../root/contributing.rst:269 +msgid "**docs**: Только изменения в документации." +msgstr "**docs**: Documentation changes only." + +#: ../../root/contributing.rst:270 msgid "" "**style**: Изменения, не влияющие на смысл кода (пробелы, форматирование " "и т.д.)." msgstr "" +"**style**: Changes that don't affect the meaning of the code (whitespace, " +"formatting, etc.)." -#: ../../root/contributing.rst:269 +#: ../../root/contributing.rst:271 msgid "" "**refactor**: Изменение кода, которое не исправляет ошибку и не добавляет" " новую функцию." msgstr "" - -#: ../../root/contributing.rst:270 -msgid "**perf**: Изменение кода, улучшающее производительность." -msgstr "" - -#: ../../root/contributing.rst:271 -msgid "**test**: Добавление недостающих тестов или исправление существующих." -msgstr "" +"**refactor**: A code change that neither fixes a bug nor adds a feature." #: ../../root/contributing.rst:272 +msgid "**perf**: Изменение кода, улучшающее производительность." +msgstr "**perf**: A code change that improves performance." + +#: ../../root/contributing.rst:273 +msgid "**test**: Добавление недостающих тестов или исправление существующих." +msgstr "**test**: Adding missing tests or correcting existing tests." + +#: ../../root/contributing.rst:274 msgid "" "**chore**: Изменения в процессе сборки или вспомогательных инструментах и" " библиотеках." msgstr "" +"**chore**: Changes to the build process or auxiliary tools and libraries." -#: ../../root/contributing.rst:275 +#: ../../root/contributing.rst:277 msgid "Примеры" -msgstr "" +msgstr "Examples" -#: ../../root/contributing.rst:276 +#: ../../root/contributing.rst:278 msgid "Простое исправление: ``fix: correct typo in user authentication flow``" -msgstr "" +msgstr "Simple fix: ``fix: correct typo in user authentication flow``" -#: ../../root/contributing.rst:279 +#: ../../root/contributing.rst:281 msgid "" "Новая функция с областью видимости: ``feat(api): add new endpoint for " "user profiles``" -msgstr "" - -#: ../../root/contributing.rst:287 -msgid "Присоединяйтесь к команде проекта" -msgstr "" +msgstr "New feature with scope: ``feat(api): add new endpoint for user profiles``" #: ../../root/contributing.rst:289 +msgid "Присоединяйтесь к команде проекта" +msgstr "Join the Project Team" + +#: ../../root/contributing.rst:291 msgid "" "Мы всегда ищем энтузиастов для присоединения к команде. Если вы являетесь" " постоянным участником и продемонстрировали глубокое понимание целей и " "архитектуры проекта, вы можете стать хорошим кандидатом на роль " "мейнтейнера." msgstr "" +"We are always looking for enthusiasts to join the team. If you are a regular " +"contributor and have demonstrated a deep understanding of the project's goals and " +"architecture, you may be a good candidate for a maintainer role." -#: ../../root/contributing.rst:291 +#: ../../root/contributing.rst:293 msgid "" "Активные члены сообщества могут стать членами команды. Обычно это " "включает:" -msgstr "" - -#: ../../root/contributing.rst:293 -msgid "Постоянный вклад в виде качественного кода и документации." -msgstr "" - -#: ../../root/contributing.rst:294 -msgid "Помощь другим пользователям с их вопросами и проблемами." -msgstr "" +msgstr "Active community members can become team members. This typically includes:" #: ../../root/contributing.rst:295 +msgid "Постоянный вклад в виде качественного кода и документации." +msgstr "Consistent contributions of quality code and documentation." + +#: ../../root/contributing.rst:296 +msgid "Помощь другим пользователям с их вопросами и проблемами." +msgstr "Helping other users with their questions and issues." + +#: ../../root/contributing.rst:297 msgid "" "Проверку `Pull Request`'ов от других участников с конструктивной обратной" " связью." -msgstr "" +msgstr "Reviewing `Pull Requests` from other contributors with constructive feedback." -#: ../../root/contributing.rst:297 +#: ../../root/contributing.rst:299 msgid "" "Если вы заинтересованы в том, чтобы стать постоянным членом команды, " "лучший способ — быть активным и полезным участником сообщества. " "Существующие мейнтейнеры заметят ваши усилия и могут связаться с вами." msgstr "" - -#~ msgid "" -#~ "``argenta`` открытый проект и мы рады" -#~ " новым разработчикам в нашем сообществе." -#~ msgstr "" - -#~ msgid "Getting started" -#~ msgstr "" - -#~ msgid "" -#~ "Мы приветствуем и ценим любые виды " -#~ "вклада. Пожалуйста, прочтите соответствующий " -#~ "раздел, прежде чем делать свой вклад." -#~ " Это значительно облегчит работу для " -#~ "нас, мейнтейнеров, и сделает процесс " -#~ "более гладким для всех участников. " -#~ "Сообщество с нетерпением ждет ваших " -#~ "вкладов. 🎉" -#~ msgstr "" - -#~ msgid "" -#~ "Если вам нравится проект, но у вас" -#~ " просто нет времени на вклад, это " -#~ "нормально. Есть и другие простые способы" -#~ " поддержать проект и выразить свою " -#~ "признательность, которым мы также будем " -#~ "очень рады:" -#~ msgstr "" - -#~ msgid "Поставить звезду проекту" -#~ msgstr "" - -#~ msgid "Написать о нем в ``Twitter``" -#~ msgstr "" - -#~ msgid "Ссылаться на этот проект в ``Readme`` вашего проекта" -#~ msgstr "" - -#~ msgid "" -#~ "Упомянуть проект на местных встречах и" -#~ " рассказать о нем друзьям/коллегам" -#~ msgstr "" - -#~ msgid "" -#~ "Если вы хотите задать вопрос, мы " -#~ "предполагаем, что вы уже ознакомились с" -#~ " доступной `Документацией " -#~ "`_." -#~ msgstr "" - -#~ msgid "" -#~ "Прежде чем задать вопрос, лучше всего" -#~ " поискать существующие `Issues " -#~ "`_, которые " -#~ "могут вам помочь. Если вы нашли " -#~ "подходящий ``issue``, но все еще " -#~ "нуждаетесь в разъяснениях, вы можете " -#~ "написать свой вопрос в этом ``issue``." -#~ " Также рекомендуется сначала поискать " -#~ "ответы в интернете." -#~ msgstr "" - -#~ msgid "" -#~ "Если после этого вы все еще " -#~ "чувствуете необходимость задать вопрос, мы " -#~ "рекомендуем следующее:" -#~ msgstr "" - -#~ msgid "" -#~ "Откройте новый `Issue " -#~ "`_." -#~ msgstr "" - -#~ msgid "Предоставьте как можно больше контекста о том, с чем вы столкнулись." -#~ msgstr "" - -#~ msgid "" -#~ "Укажите версии проекта и платформы " -#~ "(cpython, pip и т.д.), в зависимости " -#~ "от того, что кажется релевантным." -#~ msgstr "" - -#~ msgid "" -#~ "Внося вклад в этот проект, вы " -#~ "должны согласиться с тем, что вы " -#~ "являетесь автором 100% контента, что у" -#~ " вас есть необходимые права на этот" -#~ " контент, и что предоставленный вами " -#~ "контент может распространяться под лицензией" -#~ " проекта." -#~ msgstr "" - -#~ msgid "" -#~ "Хороший отчет об ошибке не должен " -#~ "заставлять других вытягивать из вас " -#~ "дополнительную информацию. Поэтому мы просим" -#~ " вас тщательно все изучить, собрать " -#~ "информацию и подробно описать проблему в" -#~ " своем отчете. Пожалуйста, выполните " -#~ "следующие шаги заранее, чтобы помочь нам" -#~ " исправить любую потенциальную ошибку как" -#~ " можно быстрее." -#~ msgstr "" - -#~ msgid "" -#~ "Определите, действительно ли ваша проблема " -#~ "является ошибкой, а не ошибкой с " -#~ "вашей стороны, например, из-за использования" -#~ " несовместимых компонентов/версий окружения " -#~ "(Убедитесь, что вы прочитали `документацию " -#~ "`_. Если вам нужна" -#~ " поддержка, возможно, стоит заглянуть в " -#~ "раздел `У меня есть вопрос`_)." -#~ msgstr "" - -#~ msgid "" -#~ "Чтобы увидеть, сталкивались ли другие " -#~ "пользователи (и, возможно, уже решили) с" -#~ " той же проблемой, проверьте, нет ли" -#~ " уже отчета о вашей ошибке в " -#~ "`трекере ошибок " -#~ "`_." -#~ msgstr "" - -#~ msgid "" -#~ "Также обязательно поищите в интернете " -#~ "(включая ``Stack Overflow``), чтобы узнать," -#~ " обсуждали ли проблему пользователи за " -#~ "пределами сообщества ``GitHub``." -#~ msgstr "" - -#~ msgid "Трассировка стека" -#~ msgstr "" - -#~ msgid "" -#~ "ОС, платформа и версия ``Windows``, " -#~ "``Linux``, ``macOS``, ``x86``, ``ARM``" -#~ msgstr "" - -#~ msgid "" -#~ "Версия интерпретатора, компилятора, SDK, среды" -#~ " выполнения, менеджера пакетов, в " -#~ "зависимости от того, что кажется " -#~ "релевантным." -#~ msgstr "" - -#~ msgid "Возможно, ваши входные данные и результат" -#~ msgstr "" - -#~ msgid "" -#~ "Можете ли вы надежно воспроизвести " -#~ "проблему? И можете ли вы воспроизвести" -#~ " ее на старых версиях?" -#~ msgstr "" - -#~ msgid "" -#~ "Никогда не сообщайте о проблемах " -#~ "безопасности, уязвимостях или ошибках, " -#~ "содержащих конфиденциальную информацию, в " -#~ "трекере задач или в других публичных " -#~ "местах. Конфиденциальные ошибки должны быть" -#~ " отправлены по электронной почте." -#~ msgstr "" - -#~ msgid "" -#~ "Мы используем ``Issues GitHub`` для " -#~ "отслеживания ошибок. Если вы столкнулись " -#~ "с проблемой в проекте:" -#~ msgstr "" - -#~ msgid "" -#~ "Откройте `Issue " -#~ "`_. (Поскольку" -#~ " на данном этапе мы не можем " -#~ "быть уверены, является ли это ошибкой," -#~ " мы просим вас пока не говорить " -#~ "об ошибке и не присваивать метку " -#~ "задаче.)" -#~ msgstr "" - -#~ msgid "Объясните поведение, которое вы ожидали, и фактическое поведение." -#~ msgstr "" - -#~ msgid "" -#~ "Пожалуйста, предоставьте как можно больше " -#~ "контекста и опишите *шаги для " -#~ "воспроизведения*, чтобы кто-то другой мог " -#~ "воссоздать проблему самостоятельно. Обычно это" -#~ " включает ваш код. Для хороших " -#~ "отчетов об ошибках следует изолировать " -#~ "проблему и создать сокращенный тестовый " -#~ "пример." -#~ msgstr "" - -#~ msgid "" -#~ "Член команды попытается воспроизвести проблему" -#~ " по вашим шагам. Если шагов для " -#~ "воспроизведения нет или нет очевидного " -#~ "способа воспроизвести проблему, команда " -#~ "попросит вас предоставить эти шаги и " -#~ "пометит задачу как `needs-repro`. Ошибки" -#~ " с меткой `needs-repro` не будут " -#~ "рассматриваться до тех пор, пока они " -#~ "не будут воспроизведены." -#~ msgstr "" - -#~ msgid "" -#~ "Если команда сможет воспроизвести проблему," -#~ " она будет помечена как `needs-fix`," -#~ " а также, возможно, другими метками " -#~ "(например, `critical`), и задача будет " -#~ "оставлена для :ref:`реализации кем-либо <Ваш" -#~ " первый вклад в код>`." -#~ msgstr "" - -#~ msgid "" -#~ "Этот раздел поможет вам отправить " -#~ "предложение по улучшению ``Argenta``, " -#~ "**включая совершенно новые функции и " -#~ "незначительные улучшения существующей " -#~ "функциональности**. Следование этим рекомендациям" -#~ " поможет мейнтейнерам и сообществу понять" -#~ " ваше предложение и найти связанные с" -#~ " ним предложения." -#~ msgstr "" - -#~ msgid "" -#~ "Внимательно прочтите `документацию " -#~ "`_ и выясните, не" -#~ " реализована ли уже данная " -#~ "функциональность, возможно, через индивидуальную " -#~ "конфигурацию." -#~ msgstr "" - -#~ msgid "" -#~ "Выполните `поиск " -#~ "`_, чтобы " -#~ "проверить, не было ли уже предложено " -#~ "данное улучшение. Если да, добавьте " -#~ "комментарий к существующей задаче вместо " -#~ "создания новой." -#~ msgstr "" - -#~ msgid "" -#~ "Определите, соответствует ли ваша идея " -#~ "масштабам и целям проекта. Вам предстоит" -#~ " убедительно доказать разработчикам проекта " -#~ "достоинства этой функции. Помните, что " -#~ "мы хотим видеть функции, которые будут" -#~ " полезны большинству наших пользователей, а" -#~ " не только небольшой их части. Если" -#~ " вы ориентируетесь только на меньшинство" -#~ " пользователей, рассмотрите возможность написания" -#~ " дополнения/плагина." -#~ msgstr "" - -#~ msgid "" -#~ "Предложения по улучшению отслеживаются как " -#~ "`Issues GitHub " -#~ "`_." -#~ msgstr "" - -#~ msgid "" -#~ "Используйте **четкий и описательный " -#~ "заголовок** для задачи, чтобы идентифицировать" -#~ " предложение." -#~ msgstr "" - -#~ msgid "" -#~ "Предоставьте **пошаговое описание предлагаемого " -#~ "улучшения** как можно подробнее." -#~ msgstr "" - -#~ msgid "" -#~ "**Опишите текущее поведение** и **объясните," -#~ " какое поведение вы ожидали увидеть " -#~ "вместо этого** и почему. На этом " -#~ "этапе вы также можете указать, какие " -#~ "альтернативы вам не подходят." -#~ msgstr "" - -#~ msgid "" -#~ "Вы можете **включить скриншоты или " -#~ "записи экрана**, которые помогут " -#~ "продемонстрировать шаги или указать на " -#~ "часть, к которой относится предложение." -#~ msgstr "" - -#~ msgid "" -#~ "**Объясните, почему это улучшение было " -#~ "бы полезно** большинству пользователей " -#~ "``Argenta``. Вы также можете указать на" -#~ " другие проекты, которые решили эту " -#~ "проблему лучше и которые могут послужить" -#~ " источником вдохновения." -#~ msgstr "" - -#~ msgid "" -#~ "Не знаете, с чего начать свой " -#~ "вклад в ``Argenta``? Вы можете начать" -#~ " с просмотра задач с метками ``good" -#~ " first issue`` и ``help wanted`` в" -#~ " нашем репозитории на ``GitHub``. Это " -#~ "задачи, которые хорошо подходят для " -#~ "новичков." -#~ msgstr "" - -#~ msgid "" -#~ "Чтобы начать вносить свой первый вклад" -#~ " в код, пожалуйста, выполните следующие " -#~ "шаги для настройки вашего локального " -#~ "окружения для разработки." -#~ msgstr "" - -#~ msgid "" -#~ "Создайте новую ветку для вашей новой " -#~ "функции или исправления ошибки. Используйте" -#~ " описательное имя, например ``fix/login-" -#~ "bug`` или ``feat/new-widget``." -#~ msgstr "" - -#~ msgid "" -#~ "Внесите свои изменения! Напишите код и" -#~ " не забудьте добавить или обновить " -#~ "тесты для ваших изменений." -#~ msgstr "" - -#~ msgid "" -#~ "Сделайте коммит ваших изменений, следуя " -#~ "нашему руководству по стилю сообщений " -#~ "коммитов, и отправьте их в ваш " -#~ "форк." -#~ msgstr "" - -#~ msgid "" -#~ "Откройте ``Pull Request`` из вашей ветки" -#~ " в ветку ``main`` официального репозитория" -#~ " ``Argenta``. Предоставьте четкое описание " -#~ "проблемы и вашего решения. Укажите номер" -#~ " связанной задачи, если это применимо." -#~ msgstr "" - -#~ msgid "" -#~ "Хорошая документация крайне важна для " -#~ "любого проекта. Мы используем ``Sphinx`` " -#~ "для генерации нашей документации из " -#~ "исходных файлов, расположенных в директории" -#~ " ``docs/``. Мы приветствуем любые " -#~ "улучшения, от исправления простой опечатки " -#~ "до написания целого нового раздела." -#~ msgstr "" - -#~ msgid "" -#~ "Внесите необходимые изменения в **русскую**" -#~ " версию документации - ``docs/index.rst`` " -#~ "и/или ``docs/root/*``" -#~ msgstr "" - -#~ msgid "" -#~ "Чтобы собрать документацию локально и " -#~ "увидеть ваши изменения, выполните:" -#~ msgstr "" - -#~ msgid "" -#~ "Откройте ``127.0.0.1:8000`` в вашем " -#~ "веб-браузере, чтобы просмотреть сгенерированную " -#~ "документацию." -#~ msgstr "" - -#~ msgid "" -#~ "После завершения работы над русской " -#~ "документацией необходимо создать английский " -#~ "перевод:" -#~ msgstr "" - -#~ msgid "" -#~ "После обновления шаблона перевода, обновите" -#~ " необходимые файлы перевода, расположенные " -#~ "по пути ``docs/locales/en/LC_MESSAGES``." -#~ msgstr "" - -#~ msgid "" -#~ "Когда вы будете довольны своими " -#~ "изменениями, сделайте коммит и откройте " -#~ "``Pull Request``. Используйте префикс " -#~ "``docs:`` в сообщении коммита." -#~ msgstr "" - -#~ msgid "" -#~ "Мы следуем спецификации `Conventional Commits" -#~ " `_ для " -#~ "наших сообщений коммитов. Это приводит к" -#~ " более читаемым сообщениям, которые легко" -#~ " отслеживать при просмотре истории проекта," -#~ " и позволяет автоматически генерировать " -#~ "журнал изменений." -#~ msgstr "" - -#~ msgid "" -#~ "Мы всегда ищем энтузиастов и преданных" -#~ " своему делу людей для присоединения " -#~ "к нашей команде проекта. Если вы " -#~ "являетесь постоянным участником и " -#~ "продемонстрировали глубокое понимание целей и" -#~ " архитектуры проекта, вы можете стать " -#~ "хорошим кандидатом на роль мейнтейнера." -#~ msgstr "" - -#~ msgid "" -#~ "Активные члены сообщества могут стать " -#~ "членами команды. Обычно это включает в" -#~ " себя:" -#~ msgstr "" - -#~ msgid "Постоянный вклад в виде высококачественного кода и документации." -#~ msgstr "" - -#~ msgid "Помощь другим пользователям, отвечая на вопросы и разбирая проблемы." -#~ msgstr "" - -#~ msgid "" -#~ "Проверку ``Pull Request`` от других " -#~ "участников с конструктивной обратной связью." -#~ msgstr "" - -#~ msgid "" -#~ "Если вы заинтересованы в том, чтобы " -#~ "стать постоянным членом команды, лучший " -#~ "способ начать — это быть активным " -#~ "и полезным членом сообщества. Существующие " -#~ "мейнтейнеры заметят ваши усилия и могут" -#~ " связаться с вами с приглашением " -#~ "присоединиться к команде." -#~ msgstr "" +"If you are interested in becoming a permanent team member, the best way is to be " +"an active and helpful community contributor. Existing maintainers will notice your " +"efforts and may reach out to you." diff --git a/docs/locales/en/LC_MESSAGES/root/dependency_injection.po b/docs/locales/en/LC_MESSAGES/root/dependency_injection.po index 7aaac6d..2689a88 100644 --- a/docs/locales/en/LC_MESSAGES/root/dependency_injection.po +++ b/docs/locales/en/LC_MESSAGES/root/dependency_injection.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -21,80 +21,86 @@ msgstr "" #: ../../root/dependency_injection.rst:4 msgid "Внедрение зависимостей" -msgstr "Dependency Injection" +msgstr "" #: ../../root/dependency_injection.rst:6 msgid "" "Внедрение зависимостей (Dependency Injection, DI) — это паттерн " "проектирования, который помогает писать слабосвязанный, легко тестируемый" " и расширяемый код. Вместо того чтобы обработчики сами создавали нужные " -"им объекты (зависимости), они лишь объявляют их в качестве аргументов. В " -"момент вызова ``Argenta`` автоматически \"внедряет\" эти зависимости." +"им объекты (зависимости), они получают их извне." msgstr "" #: ../../root/dependency_injection.rst:8 msgid "" "``Argenta`` использует библиотеку ``dishka`` для реализации DI, что " "позволяет декларативно объявлять зависимости прямо в сигнатурах ваших " -"обработчиков. Подробнее о `DI`, `IoC` и API для создания провайдеров " +"обработчиков. Подробнее о **DI**, **IoC** и API для создания провайдеров " "можно прочитать в `официальной документации dishka " "`_." msgstr "" -#: ../../root/dependency_injection.rst:12 +#: ../../root/dependency_injection.rst:14 msgid "Основная идея" msgstr "" -#: ../../root/dependency_injection.rst:14 +#: ../../root/dependency_injection.rst:16 msgid "" "Представьте, что вашему обработчику для работы нужен доступ к базе " "данных. Вместо импорта и инициализации соединения внутри функции, вы " "просто объявляете его как аргумент с аннотацией типа:" msgstr "" -#: ../../root/dependency_injection.rst:17 +#: ../../root/dependency_injection.rst:19 msgid "" -"``argenta.di.FromDishka`` является псевдонимом для ``dishka.FromDishka``," -" и они полностью взаимозаменяемы." +"``argenta.di.FromDishka`` является алиасом для ``dishka.FromDishka``, и " +"они полностью взаимозаменяемы." msgstr "" -#: ../../root/dependency_injection.rst:23 +#: ../../root/dependency_injection.rst:21 +#: ../../root/dependency_injection.rst:29 +#: ../../root/dependency_injection.rst:37 +#: ../../root/dependency_injection.rst:60 +msgid "**Пример использования:**" +msgstr "" + +#: ../../root/dependency_injection.rst:27 msgid "" "``Argenta`` с помощью ``dishka`` разрешит зависимость по типу " "``Connection`` и внедрит её. Но прежде чем использовать зависимость, её " -"необходимо объявить в провайдере." +"необходимо объявить в провайдере:" msgstr "" -#: ../../root/dependency_injection.rst:29 -msgid "После создания провайдера его необходимо зарегистрировать в оркестраторе." +#: ../../root/dependency_injection.rst:35 +msgid "После создания провайдера его необходимо зарегистрировать в оркестраторе:" msgstr "" -#: ../../root/dependency_injection.rst:36 +#: ../../root/dependency_injection.rst:46 msgid "Как это работает?" msgstr "" -#: ../../root/dependency_injection.rst:38 +#: ../../root/dependency_injection.rst:48 msgid "В основе DI в Argenta лежат **провайдеры** и **контейнер**." msgstr "" -#: ../../root/dependency_injection.rst:40 +#: ../../root/dependency_injection.rst:50 msgid "" -"**Провайдер (Provider)** — это \"рецепт\", который объясняет, как " +"**Провайдер (``Provider``)** — это \"рецепт\", который объясняет, как " "создавать и настраивать ту или иную зависимость (например, подключение к " "БД, API-клиент или любой другой сервис)." msgstr "" -#: ../../root/dependency_injection.rst:41 +#: ../../root/dependency_injection.rst:51 msgid "" "**Контейнер (IoC Container)** — это \"фабрика\", которая хранит все " "рецепты (провайдеры) и по запросу создаёт и выдаёт готовые зависимости." msgstr "" -#: ../../root/dependency_injection.rst:44 +#: ../../root/dependency_injection.rst:56 msgid "Встроенные провайдеры" msgstr "" -#: ../../root/dependency_injection.rst:46 +#: ../../root/dependency_injection.rst:58 msgid "" "``Argenta`` поставляется со встроенным провайдером, который даёт доступ к" " важным системным зависимостям без дополнительной настройки. Например, вы" @@ -102,110 +108,24 @@ msgid "" "командной строки, переданные при запуске приложения." msgstr "" -#: ../../root/dependency_injection.rst:48 -msgid "" -"Пример получения объекта ``ArgSpace`` и вывода в консоль значения " -"аргумента `type`:" +#: ../../root/dependency_injection.rst:69 +msgid "Обмен данными между обработчиками" msgstr "" -#: ../../root/dependency_injection.rst:55 -msgid "Обмен данными между хендлерами" -msgstr "" - -#: ../../root/dependency_injection.rst:57 +#: ../../root/dependency_injection.rst:71 msgid "" "Помимо DI, обработчики могут обмениваться данными в рамках сессии через " "**объект контекста**. В ``Argenta`` эту роль выполняет объект " -"``Response``." +"``DataBridge``." msgstr "" -#: ../../root/dependency_injection.rst:59 +#: ../../root/dependency_injection.rst:73 msgid "" "Каждый обработчик может записывать в него данные, а также читать, " "обновлять и удалять их." msgstr "" -#: ../../root/dependency_injection.rst:63 -msgid "Подробнее об этом можно прочитать в разделе :ref:`root_api_response`." +#: ../../root/dependency_injection.rst:76 +msgid "Подробнее об этом можно прочитать в разделе :ref:`root_api_bridge`." msgstr "" -#~ msgid "мда мда мда" -#~ msgstr "" - -#~ msgid "" -#~ "Внедрение зависимостей (Dependency Injection, " -#~ "DI) — это паттерн проектирования, " -#~ "который помогает писать слабосвязанный, легко" -#~ " тестируемый и расширяемый код. Вместо " -#~ "того чтобы хендлеры сами создавали " -#~ "нужные им объекты (зависимости) они лишь" -#~ " объявляют о необходимости в их " -#~ "получении, а ``Argenta`` \"внедряет\" их " -#~ "в хендлеры в момент вызова." -#~ msgstr "" - -#~ msgid "" -#~ "``Argenta`` использует популярную библиотеку " -#~ "``dishka`` для реализации DI, что " -#~ "позволяет вам декларативно объявлять " -#~ "зависимости прямо в сигнатурах ваших " -#~ "хендлеров. Более подробно про ``DI``, " -#~ "``IoC``, ``API`` создания провайдеров и " -#~ "другое вы можете прочитать тут_." -#~ msgstr "" - -#~ msgid "" -#~ "Представьте, что вашему хендлеру для " -#~ "работы нужен доступ к базе данных. " -#~ "Вместо того чтобы импортировать и " -#~ "инициализировать соединение внутри функции, вы" -#~ " просто объявляете его как аргумент с" -#~ " тайп-хинтом:" -#~ msgstr "" - -#~ msgid "" -#~ "``argenta.di.FromDishka`` это алиас к " -#~ "``dishka.FromDishka``, они полностью " -#~ "взаимозаменяемы." -#~ msgstr "" - -#~ msgid "" -#~ "``Argenta`` -> ``dishka`` зарезолвит тайпхинты" -#~ " и внедрит зависимость с возвращаемым " -#~ "типом ``Connection``, прежде чем использовать" -#~ " зависимость её нужно создать, для " -#~ "этого нужно создать соответствующий провайдер." -#~ msgstr "" - -#~ msgid "После создания провайдера, его нужно зарегистрировать в оркестраторе." -#~ msgstr "" - -#~ msgid "В основе DI в Argente лежат **провайдеры** и **контейнер**." -#~ msgstr "" - -#~ msgid "" -#~ "``Argenta`` поставляется с предопределённым " -#~ "провайдером, который даёт доступ к " -#~ "важным системным зависимостям без какой-либо" -#~ " настройки. К примеру вы можете " -#~ "получить объект ``ArgSpace``, который " -#~ "представляет из себя распаршенные аргументы" -#~ " командной строки при запуске приложения." -#~ msgstr "" - -#~ msgid "" -#~ "Краткий сэмпл кода, который получает " -#~ "объект ``ArgSpace`` и выводит в консоль" -#~ " аргумент с именем \"type\":" -#~ msgstr "" - -#~ msgid "" -#~ "Помимо DI, хендлеры могут общаться друг" -#~ " с другом в контексте приложения " -#~ "через **объект контекста** (в ``Argenta`` " -#~ "эту роль выполняет объект ``Response``)." -#~ msgstr "" - -#~ msgid "Каждый хендлер может записывать данные, читать, обновлять и удалять." -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/error_handling.po b/docs/locales/en/LC_MESSAGES/root/error_handling.po index 6f91bda..b3706cf 100644 --- a/docs/locales/en/LC_MESSAGES/root/error_handling.po +++ b/docs/locales/en/LC_MESSAGES/root/error_handling.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -20,43 +20,40 @@ msgstr "" "Generated-By: Babel 2.17.0\n" #: ../../root/error_handling.rst:4 -#, fuzzy -msgid "Стандартная обработка ошибок" -msgstr "Errors handling" - -#: ../../root/error_handling.rst:7 -msgid "О разделе" +msgid "Обработка ошибок" msgstr "" -#: ../../root/error_handling.rst:9 +#: ../../root/error_handling.rst:6 msgid "" -"Argenta выбрасывает исключения в пограничных случаях, связанных с " +"``Argenta`` выбрасывает исключения в пограничных случаях, связанных с " "пользовательским вводом. По умолчанию они обрабатываются системными " -"хэндлерами, но вы можете их переопределить. Это делается с помощью " +"обработчиками, но вы можете их переопределить. Это делается с помощью " "сеттеров экземпляра ``App`` вида ``.set_*_handler()``. Подробнее о каждом" " из них рассказано :ref:`ниже `." msgstr "" -#: ../../root/error_handling.rst:13 +#: ../../root/error_handling.rst:10 msgid "" "Ни одно исключение не остаётся необработанным, так как для каждого случая" -" предусмотрен стандартный хэндлер. Поэтому переопределение является " +" предусмотрен стандартный обработчик. Поэтому переопределение является " "опциональным." msgstr "" -#: ../../root/error_handling.rst:15 -msgid "Пример переопределения обработчика для пустой команды:" +#: ../../root/error_handling.rst:12 ../../root/error_handling.rst:37 +#: ../../root/error_handling.rst:61 ../../root/error_handling.rst:82 +#: ../../root/error_handling.rst:105 ../../root/error_handling.rst:126 +msgid "**Пример использования:**" msgstr "" -#: ../../root/error_handling.rst:25 +#: ../../root/error_handling.rst:22 msgid "Возможные исключения и нестандартное поведение" msgstr "" -#: ../../root/error_handling.rst:28 +#: ../../root/error_handling.rst:25 msgid "``UnprocessedInputFlagException``: Некорректный синтаксис флагов" msgstr "" -#: ../../root/error_handling.rst:30 +#: ../../root/error_handling.rst:27 msgid "" "Это исключение выбрасывается, когда парсер не может обработать команду " "из-за некорректного синтаксиса. Чаще всего это связано с ошибкой в " @@ -64,12 +61,12 @@ msgid "" "`." msgstr "" -#: ../../root/error_handling.rst:32 ../../root/error_handling.rst:56 -#: ../../root/error_handling.rst:77 ../../root/error_handling.rst:98 -msgid "Стандартный хэндлер выводит в консоль" +#: ../../root/error_handling.rst:29 ../../root/error_handling.rst:53 +#: ../../root/error_handling.rst:74 ../../root/error_handling.rst:97 +msgid "Стандартный обработчик выводит в консоль:" msgstr "" -#: ../../root/error_handling.rst:38 +#: ../../root/error_handling.rst:35 msgid "" "Для переопределения используется сеттер " "``.set_incorrect_input_syntax_handler()``. Он принимает на вход " @@ -77,17 +74,11 @@ msgid "" "аргумент — это строка с необработанной командой." msgstr "" -#: ../../root/error_handling.rst:40 -msgid "" -"Пример кода, переопределяющего хэндлер ввода команды с некорректным " -"синтаксисом:" -msgstr "" - -#: ../../root/error_handling.rst:49 +#: ../../root/error_handling.rst:46 msgid "``RepeatedInputFlagsException``: Повторяющиеся флаги в команде" msgstr "" -#: ../../root/error_handling.rst:51 +#: ../../root/error_handling.rst:48 msgid "" "Исключение выбрасывается, если пользователь ввёл команду с повторяющимися" " флагами. Два флага (:ref:`InputFlag `) " @@ -95,13 +86,13 @@ msgid "" "их синтаксисе — в разделе :ref:`Flags `." msgstr "" -#: ../../root/error_handling.rst:54 +#: ../../root/error_handling.rst:51 msgid "" -"Сравнение на равенство у регистрируемых флагов(Flag) происходит иначе, " -"подробнее в :ref:`Flag `." +"Сравнение на равенство у регистрируемых флагов (``Flag``) происходит " +"иначе, подробнее в :ref:`Flag `." msgstr "" -#: ../../root/error_handling.rst:62 +#: ../../root/error_handling.rst:59 msgid "" "Для переопределения используется сеттер " "``.set_repeated_input_flags_handler()``. Он принимает на вход обработчик " @@ -109,46 +100,36 @@ msgid "" "строка с необработанной командой." msgstr "" -#: ../../root/error_handling.rst:64 -msgid "" -"Пример кода, переопределяющего хэндлер ввода команды с повторяющимися " -"флагами:" -msgstr "" - -#: ../../root/error_handling.rst:73 +#: ../../root/error_handling.rst:70 msgid "``EmptyInputCommandException``: Введена пустая команда" msgstr "" -#: ../../root/error_handling.rst:75 +#: ../../root/error_handling.rst:72 msgid "" "Исключение выбрасывается, если пользователь ввёл пустую строку или " "строку, состоящую только из пробельных символов (``\\n``, ``\\t``, пробел" " и т.д.)." msgstr "" -#: ../../root/error_handling.rst:83 +#: ../../root/error_handling.rst:80 msgid "" "Для переопределения используется сеттер ``.set_empty_command_handler()``." " Он принимает на вход обработчик с сигнатурой ``Callable[[], None]`` (без" " аргументов)." msgstr "" -#: ../../root/error_handling.rst:85 -msgid "Пример кода, переопределяющего хэндлер ввода пустой команды:" -msgstr "" - -#: ../../root/error_handling.rst:94 +#: ../../root/error_handling.rst:93 msgid "Обработка неизвестной команды" msgstr "" -#: ../../root/error_handling.rst:96 +#: ../../root/error_handling.rst:95 msgid "" "Это поведение активируется, когда пользователь вводит команду, которая не" " зарегистрирована ни в одном из роутеров и не является псевдонимом " "(alias) для существующей команды." msgstr "" -#: ../../root/error_handling.rst:104 +#: ../../root/error_handling.rst:103 msgid "" "Для переопределения используется сеттер " "``.set_unknown_command_handler()``. Он принимает на вход обработчик с " @@ -156,469 +137,26 @@ msgid "" ":ref:`InputCommand `." msgstr "" -#: ../../root/error_handling.rst:106 -msgid "Пример кода, переопределяющего хэндлер ввода неизвестной команды:" -msgstr "" - -#: ../../root/error_handling.rst:115 +#: ../../root/error_handling.rst:114 msgid "Выход из приложения" msgstr "" -#: ../../root/error_handling.rst:117 +#: ../../root/error_handling.rst:116 msgid "" "Это поведение активируется, когда пользователь вводит команду, помеченную" " как команда выхода." msgstr "" -#: ../../root/error_handling.rst:119 -msgid "Стандартный хэндлер выводит в консоль текст и завершает работу приложения." +#: ../../root/error_handling.rst:118 +msgid "" +"Стандартный обработчик выводит в консоль текст и завершает работу " +"приложения:" msgstr "" -#: ../../root/error_handling.rst:125 +#: ../../root/error_handling.rst:124 msgid "" "Для переопределения используется сеттер ``.set_exit_command_handler()``. " "Он принимает на вход обработчик с сигнатурой ``Callable[[Response], " "None]``, где аргумент — объект :ref:`Response `." msgstr "" -#: ../../root/error_handling.rst:127 -msgid "Пример кода, переопределяющего хэндлер ввода команды выхода:" -msgstr "" - -#~ msgid "привет" -#~ msgstr "" - -#~ msgid "" -#~ "``Argenta`` в рантайме вызывает исключения " -#~ "в пограничных случаях. Подробнее о типах" -#~ " исключений :ref:`ниже `. Все" -#~ " исключения обрабатываются системными хэндлерами," -#~ " но у вас есть возможность их " -#~ "переопределить. Переопределение осуществляется с " -#~ "помощью сеттеров инстанса ``App`` - " -#~ "``.set_*_handler(_)``, где ``_`` - это " -#~ "протокол хэндлера нестандартного поведения, " -#~ "подробнее о каждом протоколе и " -#~ "соответствующем сеттере :ref:`ниже " -#~ "`" -#~ 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 `." -#~ msgstr "" - -#~ msgid "" -#~ "Исключение вызывается, когда пользователь " -#~ "вводит команду с повторяющимся флагом, " -#~ "флаг(:ref:`InputFlag `) считается " -#~ "повторяющимся, если введён флаг с таким" -#~ " же именем, именно именем, без " -#~ "префикса. Подробнее о флагах и их " -#~ "синтаксисе в :ref:`Flags `." -#~ msgstr "" - -#~ msgid "" -#~ "Для переопределения стандартного поведения " -#~ "используется сеттер ``.set_exit_command_handler(_: " -#~ "NonStandardBehaviorHandler[Response])``, протокол " -#~ "``NonStandardBehaviorHandler[Response]`` соответствует " -#~ "``Callable[[Response], None]``, то есть " -#~ "хэндлер должен быть вызываемым объектом, " -#~ "к примеру функция или лямбда, которая" -#~ " принимает обязательный аргумент типа " -#~ ":ref:`Response ` и ничего не " -#~ "возвращает." -#~ msgstr "" - -#~ msgid "" -#~ "``Argenta`` в рантайме вызывает исключения " -#~ "в пограничных случаях пользовательского ввода." -#~ " Все исключения обрабатываются системными " -#~ "хэндлерами, но у вас есть возможность" -#~ " их переопределить. Переопределение " -#~ "осуществляется с помощью сеттеров инстанса " -#~ "``App`` - ``.set_*_handler(_)``, где ``_`` " -#~ "- это протокол хэндлера нестандартного " -#~ "поведения, подробнее о каждом протоколе " -#~ "и соответствующем сеттере :ref:`ниже " -#~ "`" -#~ msgstr "" - -#~ msgid "" -#~ "Все исключения никогда не остаются " -#~ "необработанными, так как у них есть " -#~ "стандартные хэндлеры. Поэтому переопределение " -#~ "опционально." -#~ msgstr "" - -#~ msgid "Краткий сэмпл кода, переопределяющего хэндлер ввода пустой команды" -#~ msgstr "" - -#~ msgid "" -#~ "``UnprocessedInputFlagException``: Необрабатываемый ввод" -#~ " от пользователя" -#~ msgstr "" - -#~ msgid "" -#~ "Исключение вызывается, когда пользователь " -#~ "вводит команду с некорректным синтаксисом " -#~ "и как следствие парсер не может " -#~ "*распарсить* её. В большинстве случаев " -#~ "это означат, что проблема в синтаксисе" -#~ " введённых флагов команды, подробнее о " -#~ "флагах и их синтаксисе в :ref:`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 " -#~ "`) считается равной, " -#~ "если у них одинаковые имена. Подробнее" -#~ " о флагах и их синтаксисе в " -#~ ":ref:`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 ` и ничего " -#~ "не возвращает." -#~ msgstr "" - -#~ msgid "Сэмпл кода, переопределяющего хэндлер ввода неизвестной команды:" -#~ msgstr "" - -#~ msgid "``Поведение выхода из приложения``: Введена команда выхода" -#~ msgstr "" - -#~ msgid "" -#~ "Поведение триггерится, когда пользователь " -#~ "вводит команду, которая маркирована как " -#~ "команда завершения работы." -#~ msgstr "" - -#~ msgid "" -#~ "Дефолтный хэндлер выводит в консоль " -#~ "текст и завершает работу приложения." -#~ msgstr "" - -#~ msgid "" -#~ "Для переопределения стандартного поведения " -#~ "используется сеттер ``.set_exit_command_handler(_: " -#~ "NonStandardBehaviorHandler[Response])``, протокол " -#~ "``NonStandardBehaviorHandler[Response]`` соответствует " -#~ "``Callable[[Response], None]``, то есть " -#~ "хэндлер должен быть вызываемым объектом, " -#~ "к примеру функция или лямбда, которая" -#~ " принимает обязательный аргумент типа " -#~ ":ref:`Response ` и ничего " -#~ "не возвращает." -#~ msgstr "" - -#~ msgid "Сэмпл кода, переопределяющего хэндлер ввода команды выхода:" -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/flags.po b/docs/locales/en/LC_MESSAGES/root/flags.po index 587cc4a..843d67f 100644 --- a/docs/locales/en/LC_MESSAGES/root/flags.po +++ b/docs/locales/en/LC_MESSAGES/root/flags.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -25,36 +25,140 @@ msgstr "" #: ../../root/flags.rst:6 msgid "" -"Флаги (или параметры) — это специальные аргументы, которые пользователь " -"может добавлять к командам для управления их поведением." +"Флаги — это специальные параметры, которые пользователь может добавлять к" +" командам для управления их поведением." msgstr "" -#: ../../root/flags.rst:11 -msgid "Синтаксис флагов" +#: ../../root/flags.rst:9 +msgid "Зачем нужны флаги в командах" msgstr "" -#: ../../root/flags.rst:13 -msgid "Общий синтаксис выглядит так:" +#: ../../root/flags.rst:12 +msgid "Управление поведением команды" +msgstr "" + +#: ../../root/flags.rst:14 +msgid "" +"Основная цель флагов — предоставить способ изменить логику работы команды" +" без её переработки. Команда может работать в нескольких режимах: " +"стандартном, подробном, отладочном или упрощённом. Флаги переключают эти " +"режимы по требованию пользователя, оставляя основную функциональность " +"неизменной." +msgstr "" + +#: ../../root/flags.rst:17 +msgid "Опциональность и удобство" msgstr "" #: ../../root/flags.rst:19 msgid "" +"Флаги решают проблему обязательности параметров. Если все параметры " +"команды сделать обязательными, это затруднит использование команды. Флаги" +" же позволяют задать значения только необходимые в конкретной ситуации, " +"остальные используют значения по умолчанию." +msgstr "" + +#: ../../root/flags.rst:22 +msgid "Когда могут понадобиться флаги" +msgstr "" + +#: ../../root/flags.rst:24 +msgid "**Переключение режимов работы**" +msgstr "" + +#: ../../root/flags.rst:25 +msgid "" +"Команда выполняет развёртывание приложения обычно, но нужен режим без " +"фактического развёртывания (dry-run) для проверки. Флаг ``--dry-run`` " +"переключит режим работы." +msgstr "" + +#: ../../root/flags.rst:27 +msgid "**Настройка уровня детальности**" +msgstr "" + +#: ../../root/flags.rst:28 +msgid "" +"При отладке или анализе требуется больше информации о процессе выполнения" +" команды. Флаги ``--verbose`` или ``--debug`` предоставляют подробный " +"вывод." +msgstr "" + +#: ../../root/flags.rst:30 +msgid "**Управление поведением при ошибках**" +msgstr "" + +#: ../../root/flags.rst:31 +msgid "" +"По умолчанию команда может прерваться при первой ошибке. Флаг ``--force``" +" позволит продолжить работу, пропуская некритичные ошибки." +msgstr "" + +#: ../../root/flags.rst:33 +msgid "**Форматирование вывода**" +msgstr "" + +#: ../../root/flags.rst:34 +msgid "" +"Команда выводит данные текстом, но в некоторых сценариях нужен JSON или " +"CSV. Флаг ``--format=json`` переключит формат вывода." +msgstr "" + +#: ../../root/flags.rst:36 +msgid "**Комбинирование опций**" +msgstr "" + +#: ../../root/flags.rst:37 +msgid "" +"Часто нужна комбинация нескольких изменений: подробный вывод, dry-run " +"режим и JSON формат. Несколько флагов решают эту задачу одновременно." +msgstr "" + +#: ../../root/flags.rst:40 +msgid "Практическое значение" +msgstr "" + +#: ../../root/flags.rst:42 +msgid "" +"Флаги делают команды более предсказуемыми и контролируемыми. Пользователь" +" может начать с простого использования, а затем добавлять флаги по мере " +"необходимости. Это особенно важно при автоматизации задач в скриптах, где" +" гибкость интерфейса критична." +msgstr "" + +#: ../../root/flags.rst:44 +msgid "" +"Флаги также облегчают интеграцию команд в различные системы, так как " +"дополнительное поведение достигается без изменения структуры команды, а " +"только через передачу опциональных параметров." +msgstr "" + +#: ../../root/flags.rst:49 +msgid "Синтаксис флагов" +msgstr "" + +#: ../../root/flags.rst:51 +msgid "Общий синтаксис выглядит так:" +msgstr "" + +#: ../../root/flags.rst:57 +msgid "" "Флаг состоит из префикса (``-``, ``--`` или ``---``), имени и, " "опционально, значения, которое указывается через пробел." msgstr "" -#: ../../root/flags.rst:24 +#: ../../root/flags.rst:62 msgid "Два типа флагов" msgstr "" -#: ../../root/flags.rst:26 +#: ../../root/flags.rst:64 msgid "" "Флаги бывают двух основных видов: без значений (переключатели) и со " "значениями. ``Argenta`` позволяет регистрировать и вводить флаги обоих " "типов в любой последовательности для одной команды." msgstr "" -#: ../../root/flags.rst:29 +#: ../../root/flags.rst:67 msgid "" "Ошибки валидации не выбрасывают исключений. Вместо этого у каждого " "объекта :ref:`InputFlag ` есть атрибут " @@ -63,114 +167,145 @@ msgid "" " `." msgstr "" -#: ../../root/flags.rst:31 +#: ../../root/flags.rst:69 msgid "" "При регистрации флага можно задать правила валидации для его значения. По" " умолчанию любое значение считается корректным. Валидацию можно настроить" " несколькими способами:" msgstr "" -#: ../../root/flags.rst:36 -msgid "Ограничение по списку возможных значений" +#: ../../root/flags.rst:74 +msgid "Флаги против аргументов" msgstr "" -#: ../../root/flags.rst:38 -msgid "Вы можете заранее определить список допустимых значений для флага." -msgstr "" - -#: ../../root/flags.rst:40 +#: ../../root/flags.rst:76 msgid "" -"Предположим, у вас есть флаг ``--format``, который может принимать только" -" значения ``json`` или ``xml``." +"В контексте Argenta флаги и аргументы относятся к разным уровням " +"взаимодействия с приложением и имеют принципиально разные сферы действия." msgstr "" -#: ../../root/flags.rst:54 -msgid "Проверка с помощью регулярных выражений" +#: ../../root/flags.rst:79 +msgid "Определение и назначение" msgstr "" -#: ../../root/flags.rst:56 +#: ../../root/flags.rst:81 msgid "" -"Для более сложных проверок можно использовать регулярные выражения. Это " -"полезно, когда значение должно соответствовать определённому формату " -"(например, email-адрес, дата или номер телефона)." +"**Аргументы** — это параметры, передаваемые при запуске приложения один " +"раз при инициализации. Они определяют глобальное состояние и конфигурацию" +" приложения на протяжении всей его работы, например адрес базы данных, " +"уровень логирования или режим работы." msgstr "" -#: ../../root/flags.rst:58 +#: ../../root/flags.rst:83 msgid "" -"Допустим, флаг ``--email`` должен принимать только корректные " -"email-адреса." +"API и более подробное описание в разделах :ref:`ArgParser " +"` и :ref:`Arguments " +"`." msgstr "" -#: ../../root/flags.rst:69 +#: ../../root/flags.rst:85 msgid "" -"Встроенная валидация избавляет от необходимости писать проверки вручную и" -" делает код более декларативным." +"**Флаги** — это параметры командных операций, доступные в рамках " +"интерактивной сессии при вводе каждой новой команды. Они позволяют " +"модифицировать поведение конкретной команды без перезагрузки приложения." msgstr "" -#~ msgid "Флаги" -#~ msgstr "" +#: ../../root/flags.rst:87 +msgid "" +"API и более подробное описание в разделе :ref:`Flag " +"`." +msgstr "" -#~ msgid "" -#~ "Флаги (или параметры) — это специальные" -#~ " аргументы, которые конечный юзер может " -#~ "добавлять к командам, чтобы управлять их" -#~ " поведением." -#~ msgstr "" +#: ../../root/flags.rst:92 +msgid "Ключевые различия" +msgstr "" -#~ msgid "Обобщённый синтаксис выглядит так:" -#~ msgstr "" +#: ../../root/flags.rst:94 +msgid "**Время жизни и область действия**" +msgstr "" -#~ msgid "" -#~ "То есть, у флага обязательно должен " -#~ "быть префикс, который может быть одним," -#~ " двум или трем минусам. После " -#~ "префикса следует имя флага, без пробела," -#~ " после, через пробел, идёт значение " -#~ "флага, если оно есть." -#~ msgstr "" +#: ../../root/flags.rst:95 +msgid "" +"Аргументы передаются один раз при запуске приложения и сохраняют действие" +" на весь период работы (скоуп **APP**). Флаги наоборот локальны и живут в" +" рамках скоупа **REQUEST**." +msgstr "" -#~ msgid "" -#~ "Флаги бывают двух основных видов: без" -#~ " значений (переключатели) и со значениями." -#~ " ``Argenta`` позволяет регистрировать и " -#~ "вводить флаги обоих типов в любой " -#~ "последовательности для одной команды." -#~ msgstr "" +#: ../../root/flags.rst:97 +msgid "**Частота изменения**" +msgstr "" -#~ msgid "" -#~ "Ошибки валидации значений являются пассивными," -#~ " их не нужно обрабатывать явно. У " -#~ "каждого инстанса :ref:`InputFlag " -#~ "` есть поле ``status``," -#~ " по которому можно определить результат " -#~ "валидации флага. **Конкретная реализация и " -#~ "описание API вы можете найти в " -#~ "разделе** :ref:`Flag `." -#~ msgstr "" +#: ../../root/flags.rst:98 +msgid "" +"Для изменения аргументов необходимо перезапустить приложение. Флаги можно" +" менять между каждым вводом команды без остановки приложения." +msgstr "" -#~ msgid "" -#~ "При регистрации флага вы можете указать" -#~ " допустимые для него значения, по " -#~ "умолчанию любое введённое значение для " -#~ "флага будет валидным. Допустимые значения " -#~ "можно указать различными способами:" -#~ msgstr "" +#: ../../root/flags.rst:100 +msgid "**Уровень конфигурации**" +msgstr "" -#~ msgid "**Пример:**" -#~ msgstr "" +#: ../../root/flags.rst:101 +msgid "" +"Аргументы управляют глобальной конфигурацией приложения и его окружением." +" Флаги управляют поведением отдельных команд и операций пользователя." +msgstr "" -#~ msgid "" -#~ "Для более сложных проверок вы можете " -#~ "использовать регулярные выражения. Это " -#~ "особенно полезно, когда значение должно " -#~ "соответствовать определённому формату, например, " -#~ "быть email-адресом, датой или номером " -#~ "телефона." -#~ msgstr "" +#: ../../root/flags.rst:103 +msgid "**Использование**" +msgstr "" -#~ msgid "" -#~ "Встроенная валидация избавляет вас от " -#~ "необходимости писать ручные проверки и " -#~ "делает ваш код более декларативным." -#~ msgstr "" +#: ../../root/flags.rst:104 +msgid "" +"Аргументы задают начальное состояние системы: что подключить, как " +"работать. Флаги управляют тактикой выполнения команд: как её выполнить, с" +" какими изменениями." +msgstr "" + +#: ../../root/flags.rst:109 +msgid "Практические примеры в Argenta" +msgstr "" + +#: ../../root/flags.rst:111 +msgid "При запуске приложения Argenta передаются аргументы:" +msgstr "" + +#: ../../root/flags.rst:113 +msgid "Адрес подключения к базе данных" +msgstr "" + +#: ../../root/flags.rst:114 +msgid "Режим работы (production, development, testing)" +msgstr "" + +#: ../../root/flags.rst:115 +msgid "Уровень логирования" +msgstr "" + +#: ../../root/flags.rst:116 +msgid "Путь к конфигурационным файлам" +msgstr "" + +#: ../../root/flags.rst:118 +msgid "В интерактивной сессии для каждой команды указываются флаги:" +msgstr "" + +#: ../../root/flags.rst:120 +msgid "``deploy --verbose --dry-run`` — для текущей команды развёртывания" +msgstr "" + +#: ../../root/flags.rst:121 +msgid "``backup --compress --encrypted`` — для команды резервного копирования" +msgstr "" + +#: ../../root/flags.rst:122 +msgid "``test --parallel --coverage`` — для команды тестирования" +msgstr "" + +#: ../../root/flags.rst:124 +msgid "" +"Один пользователь может выполнить разные команды с разными флагами в " +"одной сессии приложения, без необходимости перезапуска с новыми " +"аргументами." +msgstr "" diff --git a/docs/locales/en/LC_MESSAGES/root/overriding_formatting.po b/docs/locales/en/LC_MESSAGES/root/overriding_formatting.po index 5fcf341..0584203 100644 --- a/docs/locales/en/LC_MESSAGES/root/overriding_formatting.po +++ b/docs/locales/en/LC_MESSAGES/root/overriding_formatting.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -20,9 +20,8 @@ msgstr "" "Generated-By: Babel 2.17.0\n" #: ../../root/overriding_formatting.rst:4 -#, fuzzy -msgid "Управление форматированием вывода" -msgstr "Overriding formatting" +msgid "Форматирование вывода" +msgstr "" #: ../../root/overriding_formatting.rst:6 msgid "" @@ -32,43 +31,34 @@ msgid "" "визуальное восприятие информации." msgstr "" -#: ../../root/overriding_formatting.rst:8 -msgid "" -"Системные сообщения выводятся с помощью метода ``print`` объекта " -"``rich.console.Console``, который имеет интерфейс, совместимый со " -"встроенной функцией ``print``." +#: ../../root/overriding_formatting.rst:11 +msgid "Управление стандартным форматированием" msgstr "" #: ../../root/overriding_formatting.rst:13 -#, fuzzy -msgid "Управление стандартным форматированием" -msgstr "Overriding formatting" - -#: ../../root/overriding_formatting.rst:15 msgid "" "При создании экземпляра ``App`` можно использовать параметр " "``override_system_messages: bool`` (по умолчанию ``False``), который " "позволяет отключать стандартное форматирование." msgstr "" -#: ../../root/overriding_formatting.rst:17 +#: ../../root/overriding_formatting.rst:15 msgid "" "Если установить его в ``True``, стилизация текста и ASCII-арт будут " "отключены, а системные сообщения — выводиться в «сыром» виде." msgstr "" -#: ../../root/overriding_formatting.rst:22 +#: ../../root/overriding_formatting.rst:20 msgid "Приветственное и прощальное сообщения" msgstr "" -#: ../../root/overriding_formatting.rst:24 +#: ../../root/overriding_formatting.rst:22 msgid "" "Приветственное (``initial_message``) и прощальное (``farewell_message``) " -"сообщения по умолчанию выводятся в виде ASCII-графики с помощью " -"библиотеки ``art`` (а именно, функции ``text2art``)." +"сообщения по умолчанию выводятся в виде ASCII-графики." msgstr "" -#: ../../root/overriding_formatting.rst:27 +#: ../../root/overriding_formatting.rst:25 msgid "" "Библиотека ``art`` ориентирована на работу с ASCII-символами и **не " "поддерживает кириллицу**. Это приводит к искажению символов русского и " @@ -78,112 +68,30 @@ msgid "" "символы." msgstr "" -#: ../../root/overriding_formatting.rst:32 +#: ../../root/overriding_formatting.rst:30 msgid "Кастомизация вывода" msgstr "" +#: ../../root/overriding_formatting.rst:32 +msgid "" +"Для полной замены логики вывода текста в конструкторе ``App`` " +"предусмотрен параметр ``print_func``." +msgstr "" + #: ../../root/overriding_formatting.rst:34 msgid "" -"Для полной замены логики вывода в конструкторе ``App`` предусмотрен " -"параметр ``print_func``." -msgstr "" - -#: ../../root/overriding_formatting.rst:36 -msgid "" "**print_func**: ``Callable[[str], None]`` Этот параметр позволяет " "передать любую вызываемую сущность (например, функцию), которая будет " "использоваться для вывода всех системных сообщений. По умолчанию это " -"обёртка над ``rich.console.Console().print``. Вы можете передать сюда " -"свою функцию, чтобы, например, логировать вывод в файл или отправлять его" -" по сети." +"``rich.console.Console().print``. Вы можете передать сюда свою функцию, " +"чтобы, например, логировать вывод в файл или отправлять его по сети." msgstr "" -#: ../../root/overriding_formatting.rst:40 -msgid "Пример использования" +#: ../../root/overriding_formatting.rst:38 +msgid "" +"При переопределении функции вывода вам следует убедиться, что она " +"поддерживает разметку ``rich``, иначе системные сообщения будут " +"выводиться в сыром виде, в этом случае рекомендуется переопределить " +"стандартное форматирование с помощью ``override_system_messages=True``." msgstr "" -#~ msgid "ндааааааааааааааа" -#~ msgstr "" - -#~ msgid "Стандартное форматирование" -#~ msgstr "Overriding formatting" - -#~ msgid "" -#~ "По умолчанию в ``Argenta`` используется " -#~ "библиотека ``rich`` для вывода текста с" -#~ " расширенным форматированием в консоли. " -#~ "``rich`` позволяет применять цвета, стили " -#~ "(жирный, курсив, подчеркнутый), составлять " -#~ "таблицы, выделять синтаксис кода и " -#~ "многое другое, что значительно улучшает " -#~ "визуальное восприятие текста." -#~ msgstr "" - -#~ msgid "" -#~ "Вывод системных сообщений производится с " -#~ "помощью метода ``print`` объекта ``Console``" -#~ " из библиотеки ``rich``, который обладает" -#~ " интерфейсом, совместимым со встроенной " -#~ "функцией ``print``." -#~ msgstr "" - -#~ msgid "" -#~ "При создании экземпляра класса ``App`` " -#~ "предусмотрен параметр ``override_system_messages`` " -#~ "типа ``bool`` (по умолчанию ``False``), " -#~ "который позволяет включать или отключать " -#~ "стандартное форматирование системных сообщений." -#~ msgstr "" - -#~ msgid "" -#~ "Если установить этот флаг в ``True``," -#~ " стандартное форматирование, применяемое по " -#~ "умолчанию (например, стилизация текста и " -#~ "ASCII-арт), будет отключено, и системные " -#~ "сообщения будут выводиться в \"сыром\" " -#~ "виде, без дополнительных стилей." -#~ msgstr "" - -#~ msgid "" -#~ "Приветственное (``initial_message``) и прощальное" -#~ " (``farewell_message``) сообщения по умолчанию" -#~ " формируются как ASCII-графика с помощью" -#~ " библиотеки ``art``. В частности, " -#~ "используется функция ``text2art``, которая " -#~ "преобразует обычный текст в стилизованное " -#~ "ASCII-арт изображение." -#~ msgstr "" - -#~ msgid "" -#~ "Библиотека ``art`` ориентирована на работу " -#~ "с ASCII-символами и **не поддерживает " -#~ "корректный вывод кириллицы**. Это приводит " -#~ "к искажению или некорректному отображению " -#~ "символов русского и других кириллических " -#~ "алфавитов. Если ваше приветственное сообщение" -#~ " содержит кириллицу, рекомендуется отключить " -#~ "стандартное форматирование с помощью " -#~ "``override_system_messages=True`` или использовать " -#~ "только латинские символы." -#~ msgstr "" - -#~ msgid "" -#~ "Для полной замены логики вывода " -#~ "сообщений в конструкторе ``App`` доступен " -#~ "параметр ``print_func``." -#~ msgstr "" - -#~ msgid "" -#~ "**print_func**: ``Printer`` - Протокол " -#~ "``Printer`` соответствует ``Callable[[str], None]``." -#~ " Этот параметр позволяет передать любую " -#~ "вызываемую сущность (например, функцию или " -#~ "лямбду), которая будет использоваться для " -#~ "вывода всех системных сообщений. По " -#~ "умолчанию это обертка вокруг " -#~ "``rich.console.Console().print``. Вы можете передать" -#~ " сюда свою функцию, чтобы, например, " -#~ "логировать вывод в файл или отправлять" -#~ " его по сети." -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/quickstart.po b/docs/locales/en/LC_MESSAGES/root/quickstart.po index 238b2d1..16b7bae 100644 --- a/docs/locales/en/LC_MESSAGES/root/quickstart.po +++ b/docs/locales/en/LC_MESSAGES/root/quickstart.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -21,7 +21,7 @@ msgstr "" #: ../../root/quickstart.rst:4 msgid "Быстрый старт" -msgstr "Quick Start" +msgstr "" #: ../../root/quickstart.rst:6 msgid "" @@ -31,8 +31,8 @@ msgstr "" #: ../../root/quickstart.rst:8 msgid "" -"**Простой пример**: Быстрое знакомство с основными компонентами, такими " -"как `App`, `Command` и `Router`." +"**Простой пример**: Минимальное приложение, быстрое знакомство с " +"основными компонентами." msgstr "" #: ../../root/quickstart.rst:9 @@ -45,142 +45,81 @@ msgstr "" msgid "Простой пример" msgstr "" -#: ../../root/quickstart.rst:14 +#: ../../root/quickstart.rst:14 ../../root/quickstart.rst:38 +msgid "**Установка**" +msgstr "" + +#: ../../root/quickstart.rst:20 msgid "" "Этот пример демонстрирует абсолютный минимум, необходимый для создания и " "запуска приложения. Вы можете скопировать этот код, запустить его и сразу" " увидеть результат." msgstr "" -#: ../../root/quickstart.rst:20 ../../root/quickstart.rst:68 +#: ../../root/quickstart.rst:26 ../../root/quickstart.rst:76 msgid "**Результат**" msgstr "" -#: ../../root/quickstart.rst:22 +#: ../../root/quickstart.rst:28 msgid "Simple App Example" msgstr "" -#: ../../root/quickstart.rst:26 +#: ../../root/quickstart.rst:34 msgid "Более сложный пример: Менеджер задач" msgstr "" -#: ../../root/quickstart.rst:28 +#: ../../root/quickstart.rst:36 msgid "" "В этом руководстве мы создадим простое, но полнофункциональное " "CLI-приложение «Менеджер задач», которое продемонстрирует ключевые " "возможности Argenta." msgstr "" -#: ../../root/quickstart.rst:30 -msgid "**Установка**" -msgstr "" - -#: ../../root/quickstart.rst:36 +#: ../../root/quickstart.rst:44 msgid "**Определение моделей данных и репозитория**" msgstr "" -#: ../../root/quickstart.rst:38 -msgid "" -"Сначала определим модели данных для задачи и репозиторий для их хранения." -" Это будет наша \"бизнес-логика\"." -msgstr "" - -#: ../../root/quickstart.rst:44 -msgid "**Создание провайдера для DI**" -msgstr "" - #: ../../root/quickstart.rst:46 -msgid "" -"Чтобы Argenta могла внедрять `TaskRepository` в наши обработчики, мы " -"создадим провайдер для `dishka`." +msgid "Сначала определим модели данных для задачи и репозиторий для их хранения." msgstr "" #: ../../root/quickstart.rst:52 -msgid "**Создание обработчиков команд**" +msgid "**Создание провайдера для DI**" msgstr "" #: ../../root/quickstart.rst:54 msgid "" -"Теперь создадим обработчики для команд `add-task` и `list-tasks`. " -"Обратите внимание, как мы используем флаги и внедряем `TaskRepository`." +"Чтобы Argenta могла внедрять ``TaskRepository`` в наши обработчики, мы " +"создадим провайдер для ``dishka``." msgstr "" #: ../../root/quickstart.rst:60 -msgid "**Сборка и запуск приложения**" +msgid "**Создание обработчиков команд**" msgstr "" #: ../../root/quickstart.rst:62 msgid "" -"Наконец, соберем все вместе: создадим экземпляр `App`, подключим роутер и" -" провайдер, а затем запустим приложение." +"Теперь создадим обработчики для команд ``add-task`` и ``list-tasks``. " +"Обратите внимание, как мы используем флаги и внедряем ``TaskRepository``." +msgstr "" + +#: ../../root/quickstart.rst:68 +msgid "**Сборка и запуск приложения**" msgstr "" #: ../../root/quickstart.rst:70 msgid "" -"Теперь вы можете запустить `main.py` и взаимодействовать с вашим новым " +"Наконец, соберем все вместе: создадим экземпляр ``App``, подключим роутер" +" и провайдер, а затем запустим приложение." +msgstr "" + +#: ../../root/quickstart.rst:78 +msgid "" +"Теперь вы можете запустить ``main.py`` и взаимодействовать с вашим новым " "CLI-приложением." msgstr "" -#: ../../root/quickstart.rst:72 +#: ../../root/quickstart.rst:80 msgid "Task Manager Example" msgstr "" -#~ msgid "" -#~ "**Определение роутера и хэндлеров**, за " -#~ "регистрацию функции как обработчика отвечает" -#~ " декоратор ``@router.command``, хэндлер всегда" -#~ " должен принимать аргумент с типом " -#~ "``Response``, подробнее в :ref:`разделе " -#~ "`." -#~ msgstr "" - -#~ msgid "" -#~ "**Определение приложения и оркестратора**, для" -#~ " запуска приложения необходимо вызвать " -#~ "``.include_router()`` у созданного приложения " -#~ "и передать ему раннее созданный роутер," -#~ " после этого необходимо вызвать " -#~ "``.start_polling()`` у созданного оркестратора " -#~ "и передать ему созданное приложение." -#~ msgstr "" - -#~ msgid "**Запуск приложения**, запускаем приложение как обычный процесс." -#~ msgstr "" - -#~ msgid "" -#~ "**Определение роутера и хэндлеров**. За " -#~ "регистрацию функции как обработчика отвечает" -#~ " декоратор ``@router.command``, хэндлер всегда" -#~ " должен принимать аргумент с типом " -#~ "``Response``, подробнее в :ref:`разделе " -#~ "`." -#~ msgstr "" - -#~ msgid "**Установка** ``Argenta``" -#~ msgstr "" - -#~ msgid "" -#~ "**Определение роутера и хэндлеров**. За " -#~ "регистрацию функции как обработчика отвечает" -#~ " декоратор ``@router.command``, хэндлер всегда" -#~ " должен принимать аргумент с типом " -#~ "``Response``, подробнее в :ref:`разделе " -#~ "`." -#~ msgstr "" - -#~ msgid "" -#~ "**Определение приложения и оркестратора**. Для" -#~ " запуска приложения необходимо вызвать " -#~ "``.include_router()`` у созданного приложения " -#~ "и передать ему раннее созданный роутер," -#~ " после этого необходимо вызвать " -#~ "``.start_polling()`` у созданного оркестратора " -#~ "и передать ему созданное приложение." -#~ msgstr "" - -#~ msgid "**Запуск приложения**. Запускаем приложение как обычный скрипт." -#~ msgstr "" - -#~ msgid "Quickstart Example" -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/redirect_stdout.po b/docs/locales/en/LC_MESSAGES/root/redirect_stdout.po index a4a8857..cccebb2 100644 --- a/docs/locales/en/LC_MESSAGES/root/redirect_stdout.po +++ b/docs/locales/en/LC_MESSAGES/root/redirect_stdout.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -20,9 +20,8 @@ msgstr "" "Generated-By: Babel 2.17.0\n" #: ../../root/redirect_stdout.rst:4 -#, fuzzy msgid "Переопределение стандартного вывода" -msgstr "Redirect stdout" +msgstr "" #: ../../root/redirect_stdout.rst:6 msgid "" @@ -51,7 +50,7 @@ msgid "Пример приложения с динамической разде msgstr "" #: ../../root/redirect_stdout.rst:17 -msgid "Пример приложения с динамической разделительной линией" +msgid "Example of an application with a dynamic dividing line" msgstr "" #: ../../root/redirect_stdout.rst:20 @@ -65,7 +64,7 @@ msgid "То же приложение с статической линией:" msgstr "" #: ../../root/redirect_stdout.rst:24 -msgid "Пример приложения с статической разделительной линией" +msgid "Example of an application with a static dividing line" msgstr "" #: ../../root/redirect_stdout.rst:27 @@ -80,19 +79,17 @@ msgstr "" #: ../../root/redirect_stdout.rst:34 msgid "" -"Главный побочный эффект этого механизма проявляется при использовании " -"функций, которые одновременно ожидают ввод от пользователя и выводят " -"приглашение в консоль. Классический пример — стандартная функция " -"``input()``." +"Побочный эффект этого механизма проявляется при использовании функций, " +"которые последовательно выводят текст в консоль и ожидают ввод от " +"пользователя. Классический пример — стандартная функция ``input()``." msgstr "" #: ../../root/redirect_stdout.rst:44 msgid "" -"При включённом перехвате ``stdout`` текст-приглашение (например, " -"``\"Введите ваше имя: \"``) **не будет выведен в консоль немедленно**. Он" -" попадёт в буфер, и пользователь увидит только мигающий курсор. Текст " -"приглашения отобразится лишь после завершения работы обработчика вместе с" -" остальным выводом. Это может сбить пользователя с толку." +"При включённом перехвате ``stdout`` текст (например, ``\"Введите ваше " +"имя: \"``) **не будет выведен в консоль немедленно**. Он попадёт в буфер " +"и отобразится лишь после завершения работы обработчика вместе с остальным" +" выводом. Это может сбить пользователя с толку." msgstr "" #: ../../root/redirect_stdout.rst:49 @@ -115,241 +112,129 @@ msgid "" "механизм перехвата ``stdout`` будет отключён для всех его обработчиков." msgstr "" -#: ../../root/redirect_stdout.rst:61 +#: ../../root/redirect_stdout.rst:57 ../../root/redirect_stdout.rst:87 +msgid "**Пример использования:**" +msgstr "" + +#: ../../root/redirect_stdout.rst:63 msgid "" "В этом случае ``input()`` будет работать как обычно, и пользователь сразу" " увидит приглашение к вводу." msgstr "" -#: ../../root/redirect_stdout.rst:66 +#: ../../root/redirect_stdout.rst:68 msgid "Типы разделительных линий" msgstr "" -#: ../../root/redirect_stdout.rst:68 +#: ../../root/redirect_stdout.rst:70 msgid "" "``Argenta`` поддерживает два типа разделителей, которые настраиваются при" " инициализации ``App``:" msgstr "" -#: ../../root/redirect_stdout.rst:70 -msgid "**DynamicDividingLine()**" +#: ../../root/redirect_stdout.rst:72 +msgid "**``DynamicDividingLine()``**" msgstr "" -#: ../../root/redirect_stdout.rst:71 +#: ../../root/redirect_stdout.rst:73 msgid "" "Поведение по умолчанию. Длина линии динамически подстраивается под самый " "длинный текст в выводе." msgstr "" -#: ../../root/redirect_stdout.rst:72 +#: ../../root/redirect_stdout.rst:74 msgid "" "Требует включённого перехвата ``stdout`` " "(``disable_redirect_stdout=False`` в роутере)." msgstr "" -#: ../../root/redirect_stdout.rst:74 -msgid "**StaticDividingLine(length: int = 25)**" +#: ../../root/redirect_stdout.rst:76 +msgid "**``StaticDividingLine(length: int = 25)``**" msgstr "" -#: ../../root/redirect_stdout.rst:75 +#: ../../root/redirect_stdout.rst:77 msgid "" "Линия имеет фиксированную длину (по умолчанию 25 символов), которую можно" -" задать через аргумент `length`." +" задать через аргумент ``length``." msgstr "" -#: ../../root/redirect_stdout.rst:76 +#: ../../root/redirect_stdout.rst:78 msgid "" "Используется принудительно для роутеров с " "``disable_redirect_stdout=True``, так как без перехвата вывода невозможно" " определить динамическую длину." msgstr "" -#: ../../root/redirect_stdout.rst:79 -msgid "Настройка разделительной линии в `App`" +#: ../../root/redirect_stdout.rst:83 +msgid "Настройка разделительной линии в ``App``" msgstr "" -#: ../../root/redirect_stdout.rst:81 +#: ../../root/redirect_stdout.rst:85 msgid "" "Вы можете глобально задать тип разделителя для всего приложения через " "аргумент ``dividing_line`` в конструкторе ``App``." msgstr "" -#: ../../root/redirect_stdout.rst:90 +#: ../../root/redirect_stdout.rst:96 msgid "Итоговое поведение" msgstr "" -#: ../../root/redirect_stdout.rst:96 +#: ../../root/redirect_stdout.rst:102 msgid "``disable_redirect_stdout`` на ``Router``" msgstr "" -#: ../../root/redirect_stdout.rst:97 +#: ../../root/redirect_stdout.rst:103 msgid "Тип линии в ``App``" msgstr "" -#: ../../root/redirect_stdout.rst:98 +#: ../../root/redirect_stdout.rst:104 msgid "Фактическое поведение" msgstr "" -#: ../../root/redirect_stdout.rst:99 +#: ../../root/redirect_stdout.rst:105 msgid "``input()`` работает корректно?" msgstr "" -#: ../../root/redirect_stdout.rst:100 ../../root/redirect_stdout.rst:104 +#: ../../root/redirect_stdout.rst:106 ../../root/redirect_stdout.rst:110 msgid "``False`` (по умолчанию)" msgstr "" -#: ../../root/redirect_stdout.rst:101 ../../root/redirect_stdout.rst:109 +#: ../../root/redirect_stdout.rst:107 ../../root/redirect_stdout.rst:115 msgid "``DynamicDividingLine``" msgstr "" -#: ../../root/redirect_stdout.rst:102 +#: ../../root/redirect_stdout.rst:108 msgid "Динамическая линия, длина по содержимому" msgstr "" -#: ../../root/redirect_stdout.rst:103 ../../root/redirect_stdout.rst:107 +#: ../../root/redirect_stdout.rst:109 ../../root/redirect_stdout.rst:113 msgid "Нет" msgstr "" -#: ../../root/redirect_stdout.rst:105 ../../root/redirect_stdout.rst:113 +#: ../../root/redirect_stdout.rst:111 ../../root/redirect_stdout.rst:119 msgid "``StaticDividingLine``" msgstr "" -#: ../../root/redirect_stdout.rst:106 ../../root/redirect_stdout.rst:114 +#: ../../root/redirect_stdout.rst:112 ../../root/redirect_stdout.rst:120 msgid "Статическая линия указанной длины" msgstr "" -#: ../../root/redirect_stdout.rst:108 ../../root/redirect_stdout.rst:112 +#: ../../root/redirect_stdout.rst:114 ../../root/redirect_stdout.rst:118 msgid "``True``" msgstr "" -#: ../../root/redirect_stdout.rst:110 +#: ../../root/redirect_stdout.rst:116 msgid "**Принудительно статическая линия** (длина по умолч.)" msgstr "" -#: ../../root/redirect_stdout.rst:111 ../../root/redirect_stdout.rst:115 +#: ../../root/redirect_stdout.rst:117 ../../root/redirect_stdout.rst:121 msgid "Да" msgstr "" -#: ../../root/redirect_stdout.rst:117 +#: ../../root/redirect_stdout.rst:123 msgid "" "Таким образом, для интерактивных команд, требующих ввода от пользователя," " отключайте перехват ``stdout`` на уровне роутера. Для всех остальных " "команд можно оставить поведение по умолчанию." msgstr "" -#~ msgid "О разделе" -#~ msgstr "" - -#~ msgid "" -#~ "``Argenta`` предоставляет гибкие механизмы для" -#~ " управления форматированием вывода, включая " -#~ "использование динамических разделительных линий. " -#~ "Это достигается за счет перехвата " -#~ "стандартного потока вывода (``stdout``), что" -#~ " имеет свои особенности." -#~ msgstr "" - -#~ msgid "" -#~ "По умолчанию ``Argenta`` перехватывает весь" -#~ " текст, который выводится в ``stdout`` " -#~ "внутри обработчика команды (``handler``). Это" -#~ " делается для реализации **динамической " -#~ "длины разделителя**. Система анализирует весь" -#~ " выведенный текст, находит самую длинную" -#~ " строку и использует её длину для " -#~ "отрисовки верхней и нижней разделительных " -#~ "линий. Это создает аккуратный и " -#~ "визуально согласованный интерфейс, где вывод" -#~ " команды \"обернут\" в рамку, идеально " -#~ "подогнанную под его содержимое." -#~ msgstr "" - -#~ msgid "" -#~ "Главный побочный эффект этого механизма " -#~ "проявляется при использовании функций, которые" -#~ " одновременно ожидают ввод от пользователя" -#~ " и выводят текст-приглашение. Классический " -#~ "пример — стандартная функция ``input()``." -#~ msgstr "" - -#~ msgid "" -#~ "При включенном перехвате ``stdout`` " -#~ "текст-приглашение ``\"Введите ваше имя: \"``" -#~ " **не будет выведен в консоль " -#~ "немедленно**. Он попадет в буфер, и " -#~ "пользователь увидит только мигающий курсор," -#~ " ожидающий ввода. Текст приглашения будет" -#~ " выведен только после того, как " -#~ "выполнение всего обработчика завершится, " -#~ "вместе с остальным буферизованным выводом. " -#~ "Это может сбить пользователя с толку " -#~ "и является пограничным случаем, требующим " -#~ "внимания при разработке." -#~ msgstr "" - -#~ msgid "" -#~ "Чтобы решить проблему с ``input()`` и" -#~ " другими подобными функциями, в " -#~ "конструкторе класса ``Router`` предусмотрен " -#~ "специальный аргумент:" -#~ msgstr "" - -#~ msgid "" -#~ "Если при создании роутера установить " -#~ "``disable_redirect_stdout=True``, то для всех " -#~ "команд этого роутера механизм перехвата " -#~ "``stdout`` будет отключен." -#~ msgstr "" - -#~ msgid "" -#~ "В этом случае ``input()`` будет работать" -#~ " как обычно, и пользователь сразу " -#~ "увидит приглашение \"Как вас зовут?\"." -#~ msgstr "" - -#~ msgid "" -#~ "``Argenta`` поддерживает два типа " -#~ "разделительных линий, которые можно настроить" -#~ " при инициализации ``App``:" -#~ msgstr "" - -#~ msgid "" -#~ "Это поведение по умолчанию. Длина линии" -#~ " динамически подстраивается под самый " -#~ "длинный выведенный текст." -#~ msgstr "" - -#~ msgid "" -#~ "Требует включенного перехвата ``stdout`` (т.е." -#~ " ``disable_redirect_stdout=False`` на роутере)." -#~ msgstr "" - -#~ msgid "" -#~ "Линия имеет фиксированную длину (по " -#~ "умолчанию 25 символов), которую можно " -#~ "настроить через аргумент `length`." -#~ msgstr "" - -#~ msgid "" -#~ "Используется автоматически для роутеров, где" -#~ " ``disable_redirect_stdout=True``, так как без" -#~ " перехвата вывода невозможно определить " -#~ "необходимую динамическую длину." -#~ msgstr "" - -#~ msgid "" -#~ "Вы можете глобально задать тип " -#~ "разделительной линии для всего приложения " -#~ "через аргумент ``dividing_line`` в " -#~ "конструкторе ``App``." -#~ msgstr "" - -#~ msgid "" -#~ "Таким образом, для создания интерактивных " -#~ "команд, требующих ввода от пользователя, " -#~ "всегда отключайте перехват ``stdout`` на " -#~ "соответствующем роутере. Для всех остальных" -#~ " команд можно оставить поведение по " -#~ "умолчанию." -#~ msgstr "" - diff --git a/docs/locales/en/LC_MESSAGES/root/testing.po b/docs/locales/en/LC_MESSAGES/root/testing.po index b63c4ef..7b50212 100644 --- a/docs/locales/en/LC_MESSAGES/root/testing.po +++ b/docs/locales/en/LC_MESSAGES/root/testing.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 19:01+0300\n" +"POT-Creation-Date: 2025-12-02 22:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -26,87 +26,93 @@ msgstr "" #: ../../root/testing.rst:4 msgid "" "В этом разделе описаны практики тестирования приложений на основе " -"``Argenta``. Примеры основаны на фактическом публичном API: ``App``, " -"``Router``, ``Command``, ``Orchestrator``, DI через ``dishka`` и " -"интеграцию в ``argenta.di.integration``." +"``Argenta``. Примеры основаны на фактическом публичном API." msgstr "" #: ../../root/testing.rst:7 -msgid "Модульное тестирование хендлеров" +msgid "Модульное тестирование обработчиков" msgstr "" #: ../../root/testing.rst:9 msgid "" -"Обработчики в Argenta — обычные функции. Их удобно тестировать как чистые" -" функции, не поднимая весь цикл приложения. Рекомендуются ``unittest`` " -"или ``pytest``." +"Обработчики в ``Argenta`` — обычные функции. Их удобно тестировать как " +"чистые функции, не поднимая весь цикл приложения. Рекомендуются " +"``unittest`` или ``pytest``." msgstr "" -#: ../../root/testing.rst:11 -msgid "Пример с ``unittest`` для простого хендлера без DI:" -msgstr "" - -#: ../../root/testing.rst:18 -msgid "Тестирование с внедрением зависимостей (DI)" +#: ../../root/testing.rst:11 ../../root/testing.rst:24 +#: ../../root/testing.rst:37 ../../root/testing.rst:53 +msgid "**Пример использования:**" msgstr "" #: ../../root/testing.rst:20 -msgid "" -"Если хендлеру нужны зависимости, используйте ``dishka`` и интеграцию " -"Argenta:" +msgid "Тестирование с внедрением зависимостей (DI)" msgstr "" -#: ../../root/testing.rst:27 +#: ../../root/testing.rst:22 +msgid "" +"Если обработчику нужны зависимости, используйте ``dishka`` и интеграцию " +"``Argenta``:" +msgstr "" + +#: ../../root/testing.rst:33 msgid "Интеграционное тестирование приложения" msgstr "" -#: ../../root/testing.rst:29 +#: ../../root/testing.rst:35 msgid "" "Для более высокого уровня тестов собирайте ``App`` и ``Router`` и " -"вызывайте хендлеры через парсинг команд, обходя бесконечный цикл ввода. " -"Это даёт близкое к реальности поведение без необходимости симулировать " -"``stdin``." +"вызывайте обработчики через парсинг команд, обходя бесконечный цикл " +"ввода. Это даёт близкое к реальности поведение без необходимости " +"симулировать ``stdin``." msgstr "" -#: ../../root/testing.rst:36 -msgid "E2E-тестирование цикла (опционально)" +#: ../../root/testing.rst:46 +msgid "E2E-тестирование цикла" msgstr "" -#: ../../root/testing.rst:38 +#: ../../root/testing.rst:48 msgid "" "Полный запуск цикла ``start_polling`` можно покрывать через подпроцесс с " -"передачей строк во ``stdin``. Это тяжелее и обычно не требуется. Если всё" -" же необходимо — вынесите конфигурацию в функцию ``main()`` и запускайте " -"модуль в подпроцессе с подготовленным вводом/выводом." +"передачей строк в ``stdin``. Это тяжелее и обычно не требуется. Если всё " +"же необходимо — пример ниже." msgstr "" -#: ../../root/testing.rst:41 +#: ../../root/testing.rst:51 +msgid "" +"Обязательно передавайте строковый триггер команды выхода последним " +"элементом в списке, который передаёте в контекстном менеджере при патче " +"``input`` как аргумент ``side_effects``, иначе тестируемое приложение " +"будет ожидать ввода следующей команды и не сможет корректно завершиться." +msgstr "" + +#: ../../root/testing.rst:62 msgid "Советы по тестированию" msgstr "" -#: ../../root/testing.rst:43 +#: ../../root/testing.rst:64 msgid "**Изолируйте тесты**: Каждый тест должен быть независимым от других." msgstr "" -#: ../../root/testing.rst:44 +#: ../../root/testing.rst:65 msgid "" "**Моки для внешних интеграций**: БД, HTTP-клиенты и т.п. подменяйте " "заглушками и провайдерами ``dishka``." msgstr "" -#: ../../root/testing.rst:45 +#: ../../root/testing.rst:66 msgid "" "**Покрывайте ошибочные сценарии**: Некорректные флаги, неизвестные " "команды, пустой ввод." msgstr "" -#: ../../root/testing.rst:46 +#: ../../root/testing.rst:67 msgid "" "**Минимизируйте зависимость от форматирования**: Сравнивайте ключевые " "фрагменты вывода, а не весь блок целиком." msgstr "" -#: ../../root/testing.rst:47 +#: ../../root/testing.rst:68 msgid "**Измеряйте покрытие**: Используйте ``pytest-cov``." msgstr "" diff --git a/docs/root/api/orchestrator/argparser.rst b/docs/root/api/orchestrator/argparser.rst index 859ed48..60eb582 100644 --- a/docs/root/api/orchestrator/argparser.rst +++ b/docs/root/api/orchestrator/argparser.rst @@ -38,8 +38,6 @@ ArgParser До инициализации ``Orchestrator``, в конструктор которого был передан экземпляр ``ArgParser``, атрибут ``parsed_argspace`` будет содержать пустой ``ArgSpace``. Парсинг и валидация аргументов происходят при инициализации ``Orchestrator``, поэтому использовать ``parsed_argspace`` **целесообразно только после** этого. - ------ ----- diff --git a/docs/root/api/orchestrator/arguments.rst b/docs/root/api/orchestrator/arguments.rst index f060168..43467eb 100644 --- a/docs/root/api/orchestrator/arguments.rst +++ b/docs/root/api/orchestrator/arguments.rst @@ -88,7 +88,7 @@ BooleanArgument python app.py --verbose python app.py --debug --no-cache - python app.py # без аргументов + python app.py # without arguments ----- @@ -121,6 +121,7 @@ InputArgument **Атрибуты:** .. py:attribute:: name + :no-index: Имя аргумента, указанное при создании ``ValueArgument`` или ``BooleanArgument``.