This commit is contained in:
2025-10-27 11:59:03 +03:00
parent fc8597504f
commit 7b40fff4c5
16 changed files with 1691 additions and 22 deletions
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-15 16:09+0300\n"
"POT-Creation-Date: 2025-10-27 11:56+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -20,6 +20,101 @@ msgstr ""
"Generated-By: Babel 2.17.0\n"
#: ../../root/api/app/autocompleter.rst:4
msgid "Autocompleter"
msgid "AutoCompleter"
msgstr ""
#: ../../root/api/app/autocompleter.rst:6
msgid ""
"Объект ``AutoCompleter`` является компонентом ``Argenta``, отвечающим за "
"интерактивное автодополнение команд. Его основная задача — улучшить опыт "
"взаимодействия пользователя с командной строкой, предоставляя подсказки и"
" автоматически завершая ввод на основе ранее введенных команд. Это "
"значительно ускоряет работу и снижает вероятность опечаток."
msgstr ""
#: ../../root/api/app/autocompleter.rst:8
msgid ""
"``AutoCompleter`` использует ``pyreadline3`` для имплементации ``readline"
" GNU`` на ``Windows`` для управления историей команд и реализации логики "
"автодополнения."
msgstr ""
#: ../../root/api/app/autocompleter.rst:13
msgid "Инициализация"
msgstr ""
#: ../../root/api/app/autocompleter.rst:20
msgid "Создает и настраивает экземпляр ``AutoCompleter``."
msgstr ""
#: ../../root/api/app/autocompleter.rst:22
msgid ""
"``history_filename``: Имя файла для сохранения и загрузки истории команд."
" Если указано, история будет персистентной между сессиями приложения. "
"Если **None**, история будет храниться только в памяти текущей сессии."
msgstr ""
#: ../../root/api/app/autocompleter.rst:23
msgid ""
"``autocomplete_button``: Название клавиши, которая активирует "
"автодополнение. По умолчанию используется клавиша **\"tab\"**."
msgstr ""
#: ../../root/api/app/autocompleter.rst:28
msgid "Назначение и возможности"
msgstr ""
#: ../../root/api/app/autocompleter.rst:30
msgid "``AutoCompleter`` обладает следующими возможностями:"
msgstr ""
#: ../../root/api/app/autocompleter.rst:32
msgid ""
"**Автодополнение по истории**: Основная логика автодополнения основана на"
" истории команд, которые пользователь вводил ранее. Когда пользователь "
"начинает вводить команду и нажимает клавишу автодополнения (по умолчанию "
"**Tab**), система ищет в истории все команды, начинающиеся с введенного "
"текста."
msgstr ""
#: ../../root/api/app/autocompleter.rst:34
msgid ""
"**Завершение по общему префиксу**: Если найдено несколько команд с общим "
"префиксом, автодокомплитер подставит только общую часть. Например, если в"
" истории есть команды ``show_users`` и ``show_profile``, при вводе "
"``sho`` и нажатии **Tab** будет подставлено ``show_``."
msgstr ""
#: ../../root/api/app/autocompleter.rst:36
msgid ""
"**Персистентная история**: При указании параметра ``history_filename`` в "
"конструкторе, вся история команд сохраняется в файл при выходе из "
"приложения и загружается при следующем запуске. Это делает автодополнение"
" со временем все более \"умным\" и персонализированным."
msgstr ""
#: ../../root/api/app/autocompleter.rst:38
msgid ""
"**Очистка истории**: При сохранении истории ``AutoCompleter`` "
"автоматически удаляет дубликаты и команды, которые больше не "
"зарегистрированы в приложении, поддерживая актуальность и чистоту файла "
"истории."
msgstr ""
#: ../../root/api/app/autocompleter.rst:40
msgid ""
"**Настройка клавиши активации**: Вы можете изменить клавишу, отвечающую "
"за автодополнение, через параметр ``autocomplete_button``."
msgstr ""
#: ../../root/api/app/autocompleter.rst:45
msgid "Пример использования"
msgstr ""
#: ../../root/api/app/autocompleter.rst:47
msgid "``AutoCompleter`` передается как аргумент при инициализации `App`."
msgstr ""
#~ msgid "Autocompleter"
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-15 16:09+0300\n"
"POT-Creation-Date: 2025-10-27 11:56+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -20,6 +20,140 @@ msgstr ""
"Generated-By: Babel 2.17.0\n"
#: ../../root/api/app/dividing_lines.rst:4
msgid "DividingLines"
msgid "Dividing Lines"
msgstr ""
#: ../../root/api/app/dividing_lines.rst:6
msgid ""
"Разделительные линии в ``Argenta`` играют важную роль в визуальном "
"оформлении консольного интерфейса. Они используются для структурирования "
"вывода, отделения блоков информации друг от друга (например, вывода "
"команды от следующего приглашения к вводу). Библиотека предлагает два "
"подхода к управлению разделительными линиями: статический и динамический,"
" каждый из которых имеет свои преимущества и сценарии использования."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:12
msgid "Класс ``StaticDividingLine``"
msgstr ""
#: ../../root/api/app/dividing_lines.rst:14
msgid ""
"``StaticDividingLine`` — это класс, который создает разделительную линию "
"**фиксированной** длины. Длина и символ-заполнитель задаются при "
"инициализации объекта. Этот тип линии полезен, когда вам нужен "
"предсказуемый и унифицированный внешний вид интерфейса, независимо от "
"содержимого вывода."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:22
msgid "Создает экземпляр статической разделительной линии."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:24
msgid ""
"``unit_part``: Символ, который будет использоваться для построения линии."
" Учитывается только первый символ строки. По умолчанию: ``-``."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:25
msgid ""
"``length``: Целое число, определяющее фиксированную длину линии в "
"символах. Является keyword-only аргументом. По умолчанию: ``25``."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:30
msgid "Класс ``DynamicDividingLine``"
msgstr ""
#: ../../root/api/app/dividing_lines.rst:32
msgid ""
"``DynamicDividingLine`` представляет собой более \"умный\" подход. Этот "
"класс создает линию, длина которой **динамически** подстраивается под "
"самую длинную строку, выведенную в консоль, в рамках выполнения одной "
"команды. Это достигается за счет механизма перехвата `stdout`. В "
"результате разделительные линии всегда идеально обрамляют выводимый "
"контент, что выглядит очень аккуратно."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:39
msgid "Создает экземпляр динамической разделительной линии."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:41
msgid ""
"``unit_part``: Символ, который будет использоваться для построения линии."
" По умолчанию: ``-``."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:43
msgid ""
"Длина для этой линии не задается при инициализации, так как она "
"вычисляется автоматически во время выполнения."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:46
msgid ""
"Обязательно почитайте про нюансы использования динамических линий и "
"перехвата ``stdout`` в :ref:`этом разделе<root_redirect_stdout>`."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:51
msgid "Назначение и использование"
msgstr ""
#: ../../root/api/app/dividing_lines.rst:53
msgid ""
"Выбор между статической и динамической линией зависит от ваших "
"потребностей в конкретном приложении или даже для конкретного "
"``Router``-а."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:55
msgid "**StaticDividingLine** идеально подходит, если:"
msgstr ""
#: ../../root/api/app/dividing_lines.rst:57
msgid "Вам нужен строгий, консистентный дизайн."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:58
msgid ""
"Вы используете роутеры с отключенным перехватом ``stdout`` "
"(``disable_redirect_stdout=True``), так как в этом случае динамическое "
"вычисление длины невозможно."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:60
msgid ""
"**DynamicDividingLine** (используется по умолчанию) является "
"предпочтительным выбором, если:"
msgstr ""
#: ../../root/api/app/dividing_lines.rst:62
msgid "Вы хотите, чтобы интерфейс выглядел аккуратно и адаптивно."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:63
msgid ""
"Вывод ваших команд имеет разную длину, и вы хотите, чтобы рамки всегда "
"соответствовали контенту."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:64
msgid "В ваших хэндлерах нет ожидающих ``io`` операций."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:66
msgid ""
"Тип разделительной линии для всего приложения задается при инициализации "
"``App`` через параметр ``dividing_line``."
msgstr ""
#: ../../root/api/app/dividing_lines.rst:71
msgid "Пример конфигурации"
msgstr ""
#~ msgid "DividingLines"
#~ msgstr ""
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-15 16:09+0300\n"
"POT-Creation-Date: 2025-10-27 11:56+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -19,7 +19,227 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n"
#: ../../root/api/app/index.rst:2
#: ../../root/api/app/index.rst:4
msgid "App"
msgstr ""
#: ../../root/api/app/index.rst:6
msgid ""
"Объект ``App`` является центральной сущностью библиотеки ``Argenta``. Он "
"выступает в роли ядра вашего консольного приложения, отвечая за его "
"конфигурацию, управление жизненным циклом, обработку команд и "
"взаимодействие с пользователем. ``App`` координирует работу всех "
"остальных компонентов, таких как роутеры, обработчики команд и системные "
"сообщения."
msgstr ""
#: ../../root/api/app/index.rst:11
msgid "Инициализация"
msgstr ""
#: ../../root/api/app/index.rst:38
msgid "Создает и настраивает экземпляр приложения ``Argenta``."
msgstr ""
#: ../../root/api/app/index.rst:40
msgid ""
"``prompt``: Строка-приглашение, которая отображается перед вводом каждой"
" команды. По умолчанию: **\"What do you want to do?\\\\n\\\\n\"**."
msgstr ""
#: ../../root/api/app/index.rst:41
msgid ""
"``initial_message``: Приветственное сообщение, которое выводится при "
"запуске приложения."
msgstr ""
#: ../../root/api/app/index.rst:42
msgid ""
"``farewell_message``: Прощальное сообщение при завершении работы "
"приложения."
msgstr ""
#: ../../root/api/app/index.rst:43
msgid ""
"``exit_command``: Сущность команды, которая будет маркирована как команда"
" для выхода из приложения."
msgstr ""
#: ../../root/api/app/index.rst:44
msgid ""
"``system_router_title``: Заголовок для системного роутера, который "
"содержит команду выхода и другие системные команды."
msgstr ""
#: ../../root/api/app/index.rst:45
msgid ""
"``ignore_command_register``: Если **True** (по умолчанию), регистр "
"введенных команд будет игнорироваться при поиске обработчика."
msgstr ""
#: ../../root/api/app/index.rst:46
msgid ""
"``dividing_line``: Объект, управляющий стилем разделительной линии. Может"
" быть **StaticDividingLine** или **DynamicDividingLine**."
msgstr ""
#: ../../root/api/app/index.rst:47
msgid ""
"``repeat_command_groups``: Если **True** (по умолчанию), описание "
"доступных команд будет выводиться перед каждым вводом."
msgstr ""
#: ../../root/api/app/index.rst:48
msgid ""
"``override_system_messages``: Если **True** (по умолчанию), стандартное "
"форматирование системных сообщений (цвета, ASCII-арт) будет отключено."
msgstr ""
#: ../../root/api/app/index.rst:49
msgid "``autocompleter``: Объект, отвечающий за логику автодополнения команд."
msgstr ""
#: ../../root/api/app/index.rst:50
msgid ""
"``print_func``: Функция, используемая для вывода всех системных "
"сообщений. По умолчанию используется ``rich.console.Console().print``."
msgstr ""
#: ../../root/api/app/index.rst:55
msgid "Основные методы"
msgstr ""
#: ../../root/api/app/index.rst:59
msgid ""
"Регистрирует один ``Router`` в приложении. Все команды, определенные в "
"этом роутере, становятся доступными для вызова."
msgstr ""
#: ../../root/api/app/index.rst
msgid "Parameters"
msgstr ""
#: ../../root/api/app/index.rst:61
msgid "Объект роутера, который нужно зарегистрировать."
msgstr ""
#: ../../root/api/app/index.rst:65
msgid ""
"Регистрирует несколько роутеров одновременно. Является удобной оберткой "
"над ``include_router``."
msgstr ""
#: ../../root/api/app/index.rst:67
msgid "Последовательность объектов ``Router`` для регистрации."
msgstr ""
#: ../../root/api/app/index.rst:71
msgid ""
"Добавляет дополнительное текстовое сообщение, которое будет выведено на "
"экран при запуске приложения, сразу после `initial_message`."
msgstr ""
#: ../../root/api/app/index.rst:73
msgid "Строка с сообщением."
msgstr ""
#: ../../root/api/app/index.rst:78
msgid "Методы установки обработчиков"
msgstr ""
#: ../../root/api/app/index.rst:80
msgid ""
"``App`` позволяет гибко настраивать реакцию на различные события, такие "
"как ошибки ввода или ввод неизвестной команды."
msgstr ""
#: ../../root/api/app/index.rst:83
msgid ""
"Подробнее о исключениях и их обработке в соответствующем :ref:`разделе "
"документации <root_error_handling>`."
msgstr ""
#: ../../root/api/app/index.rst:89
msgid ""
"Устанавливает пользовательский шаблон для форматирования строки, "
"описывающей доступную команду (триггер + описание)."
msgstr ""
#: ../../root/api/app/index.rst:91
msgid "``DescriptionMessageGenerator`` -> ``Callable[[str, str], str]``"
msgstr ""
#: ../../root/api/app/index.rst:93
msgid ""
"Где первый аргумент - это триггер команды, а второй - ее описание, "
"возвращает строку, которая является форматированной строкой."
msgstr ""
#: ../../root/api/app/index.rst:99
msgid ""
"Устанавливает обработчик, который вызывается при некорректном синтаксисе "
"флагов в введенной команде."
msgstr ""
#: ../../root/api/app/index.rst:101 ../../root/api/app/index.rst:111
msgid "``NonStandardBehaviorHandler[str]`` -> ``Callable[[str], None]``"
msgstr ""
#: ../../root/api/app/index.rst:103 ../../root/api/app/index.rst:113
msgid ""
"Где первый и единственный аргумент - это необработанная строка "
"пользовательского ввода."
msgstr ""
#: ../../root/api/app/index.rst:109
msgid ""
"Устанавливает обработчик для ситуации, когда пользователь вводит один и "
"тот же флаг несколько раз."
msgstr ""
#: ../../root/api/app/index.rst:119
msgid ""
"Устанавливает обработчик, который срабатывает, если введенная команда не "
"была найдена ни в одном из зарегистрированных роутеров."
msgstr ""
#: ../../root/api/app/index.rst:121
msgid ""
"``NonStandardBehaviorHandler[InputCommand]`` -> "
"``Callable[[InputCommand], None]``"
msgstr ""
#: ../../root/api/app/index.rst:123
msgid ""
"Где первый и единственный аргумент - это распаршенный в объект "
"InputCommand ввод пользователя."
msgstr ""
#: ../../root/api/app/index.rst:129
msgid ""
"Устанавливает обработчик для случая, когда пользователь отправляет пустую"
" строку вместо команды."
msgstr ""
#: ../../root/api/app/index.rst:131
msgid "``EmptyCommandHandler`` -> ``Callable[[], None]``"
msgstr ""
#: ../../root/api/app/index.rst:133
msgid "Не принимает и не возвращает ничего."
msgstr ""
#: ../../root/api/app/index.rst:139
msgid ""
"Позволяет переопределить стандартное поведение при вызове команды выхода."
" По умолчанию просто выводится ``farewell_message``."
msgstr ""
#: ../../root/api/app/index.rst:141
msgid "``NonStandardBehaviorHandler[Response]`` -> ``Callable[[Response], None]``"
msgstr ""
#: ../../root/api/app/index.rst:143
msgid "Где первый и единственный аргумент - это объект ответа, ``Response``."
msgstr ""