Update documentation and code snippets

This commit is contained in:
2025-12-03 14:30:33 +03:00
parent 2a0ec209c3
commit 52139e5405
14 changed files with 484 additions and 200 deletions
@@ -3,7 +3,6 @@
# This file is distributed under the same license as the Argenta package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
@@ -30,14 +29,17 @@ msgid ""
"подсказки и завершая ввод на основе истории команд, что ускоряет работу и"
" снижает вероятность опечаток."
msgstr ""
"``AutoCompleter`` is a component responsible for interactive command autocompletion. "
"It improves user experience by offering suggestions and completing input based on "
"command history, which speeds up work and reduces the likelihood of typos."
#: ../../root/api/app/autocompleter.rst:11
msgid "Инициализация"
msgstr ""
msgstr "Initialization"
#: ../../root/api/app/autocompleter.rst:18
msgid "Создаёт и настраивает экземпляр ``AutoCompleter``."
msgstr ""
msgstr "Creates and configures an ``AutoCompleter`` instance."
#: ../../root/api/app/autocompleter.rst:20
msgid ""
@@ -45,20 +47,24 @@ msgid ""
"указано, история будет сохраняться между сессиями. При значении ``None`` "
"история хранится только в контексте сессии."
msgstr ""
"``history_filename``: Filename for saving command history. If specified, history "
"will be saved between sessions. When set to ``None``, history is stored only within "
"the session context."
#: ../../root/api/app/autocompleter.rst:21
msgid ""
"``autocomplete_button``: Клавиша, активирующая автодополнение. По "
"умолчанию — **Tab**."
msgstr ""
"``autocomplete_button``: Key that activates autocompletion. Defaults to **Tab**."
#: ../../root/api/app/autocompleter.rst:26
msgid "Назначение и возможности"
msgstr ""
msgstr "Purpose and Features"
#: ../../root/api/app/autocompleter.rst:28
msgid "Основные возможности ``AutoCompleter``:"
msgstr ""
msgstr "Main features of ``AutoCompleter``:"
#: ../../root/api/app/autocompleter.rst:30
msgid ""
@@ -66,6 +72,8 @@ msgid ""
"умолчанию **Tab**) система ищет в истории команды, начинающиеся с уже "
"введённого текста."
msgstr ""
"**History-based autocompletion**: When the autocompletion key is pressed (by default **Tab**), "
"the system searches history for commands starting with the already entered text."
#: ../../root/api/app/autocompleter.rst:32
msgid ""
@@ -74,6 +82,9 @@ msgid ""
"``show_profile`` при вводе ``sho`` и нажатии **Tab** ввод дополнится до "
"``show_``."
msgstr ""
"**Common prefix**: If multiple commands with a common prefix are found, only the common "
"part will be inserted. For example, for commands ``show_users`` and ``show_profile``, "
"when entering ``sho`` and pressing **Tab**, the input will be completed to ``show_``."
#: ../../root/api/app/autocompleter.rst:34
msgid ""
@@ -81,24 +92,29 @@ msgid ""
"сохраняется в файл при выходе и загружается при следующем запуске. Это "
"делает автодополнение со временем «умнее»."
msgstr ""
"**Persistent history**: If ``history_filename`` is specified, command history is saved "
"to a file on exit and loaded on the next startup. This makes autocompletion \"smarter\" over time."
#: ../../root/api/app/autocompleter.rst:36
msgid ""
"**Очистка истории**: При сохранении ``AutoCompleter`` удаляет дубликаты и"
" несуществующие команды, поддерживая историю в актуальном состоянии."
msgstr ""
"**History cleanup**: When saving, ``AutoCompleter`` removes duplicates and non-existent "
"commands, keeping the history up to date."
#: ../../root/api/app/autocompleter.rst:38
msgid ""
"**Настройка клавиши**: Клавишу автодополнения можно изменить с помощью "
"параметра ``autocomplete_button``."
msgstr ""
"**Key customization**: The autocompletion key can be changed using the ``autocomplete_button`` parameter."
#: ../../root/api/app/autocompleter.rst:43
msgid "Пример использования"
msgstr ""
msgstr "Usage Example"
#: ../../root/api/app/autocompleter.rst:45
msgid "``AutoCompleter`` передаётся как аргумент при инициализации `App`."
msgstr ""
msgstr "``AutoCompleter`` is passed as an argument when initializing `App`."
@@ -21,7 +21,7 @@ msgstr ""
#: ../../root/api/app/dividing_lines.rst:4
msgid "Dividing Lines"
msgstr ""
msgstr "Dividing Lines"
#: ../../root/api/app/dividing_lines.rst:6
msgid ""
@@ -29,10 +29,12 @@ msgid ""
"структурирования вывода и отделения блоков информации друг от друга. "
"Библиотека предлагает два типа линий: статическую и динамическую."
msgstr ""
"Dividing lines in ``Argenta`` are used for visual structuring of output and separating "
"information blocks from each other. The library offers two types of lines: static and dynamic."
#: ../../root/api/app/dividing_lines.rst:11
msgid "``StaticDividingLine``"
msgstr ""
msgstr "``StaticDividingLine``"
#: ../../root/api/app/dividing_lines.rst:13
msgid ""
@@ -40,24 +42,28 @@ msgid ""
"длины. Этот тип линии полезен для создания предсказуемого и "
"унифицированного интерфейса."
msgstr ""
"``StaticDividingLine`` creates a dividing line of **fixed** length. This type of line "
"is useful for creating a predictable and unified interface."
#: ../../root/api/app/dividing_lines.rst:21
msgid "Создаёт экземпляр статической разделительной линии."
msgstr ""
msgstr "Creates a static dividing line instance."
#: ../../root/api/app/dividing_lines.rst:23
msgid ""
"``unit_part``: Символ для построения линии (учитывается только первый "
"символ). По умолчанию: ``-``."
msgstr ""
"``unit_part``: Character for building the line (only the first character is considered). "
"Defaults to: ``-``."
#: ../../root/api/app/dividing_lines.rst:24
msgid "``length``: Фиксированная длина линии. По умолчанию: ``25``."
msgstr ""
msgstr "``length``: Fixed line length. Defaults to: ``25``."
#: ../../root/api/app/dividing_lines.rst:29
msgid "``DynamicDividingLine``"
msgstr ""
msgstr "``DynamicDividingLine``"
#: ../../root/api/app/dividing_lines.rst:31
msgid ""
@@ -66,40 +72,45 @@ msgid ""
"перехвата ``stdout``, в результате чего разделители идеально обрамляют "
"выводимый контент."
msgstr ""
"``DynamicDividingLine`` creates a line whose length **dynamically** adjusts to the longest "
"line in the command output. This requires capturing ``stdout``, resulting in dividers that "
"perfectly frame the output content."
#: ../../root/api/app/dividing_lines.rst:38
msgid "Создаёт экземпляр динамической разделительной линии."
msgstr ""
msgstr "Creates a dynamic dividing line instance."
#: ../../root/api/app/dividing_lines.rst:40
msgid "``unit_part``: Символ для построения линии. По умолчанию: ``-``."
msgstr ""
msgstr "``unit_part``: Character for building the line. Defaults to: ``-``."
#: ../../root/api/app/dividing_lines.rst:42
msgid "Длина вычисляется автоматически и не задаётся при инициализации."
msgstr ""
msgstr "Length is calculated automatically and is not set during initialization."
#: ../../root/api/app/dividing_lines.rst:45
msgid ""
"Обязательно почитайте про нюансы использования динамических линий и "
"перехвата ``stdout`` в :ref:`этом разделе<root_redirect_stdout>`."
msgstr ""
"Be sure to read about the nuances of using dynamic lines and capturing ``stdout`` "
"in :ref:`this section<root_redirect_stdout>`."
#: ../../root/api/app/dividing_lines.rst:50
msgid "Назначение и использование"
msgstr ""
msgstr "Purpose and Usage"
#: ../../root/api/app/dividing_lines.rst:52
msgid "Выбор между статической и динамической линией зависит от ваших задач."
msgstr ""
msgstr "The choice between static and dynamic lines depends on your needs."
#: ../../root/api/app/dividing_lines.rst:54
msgid "**StaticDividingLine** идеально подходит, если:"
msgstr ""
msgstr "**StaticDividingLine** is ideal if:"
#: ../../root/api/app/dividing_lines.rst:56
msgid "Вам нужен строгий и консистентный дизайн."
msgstr ""
msgstr "You need a strict and consistent design."
#: ../../root/api/app/dividing_lines.rst:57
msgid ""
@@ -107,30 +118,34 @@ msgid ""
"(``disable_redirect_stdout=True``), где динамическое вычисление длины "
"невозможно."
msgstr ""
"You are using routers with disabled ``stdout`` capture (``disable_redirect_stdout=True``), "
"where dynamic length calculation is not possible."
#: ../../root/api/app/dividing_lines.rst:59
msgid ""
"**DynamicDividingLine** (поведение по умолчанию) — предпочтительный "
"выбор, если:"
msgstr ""
msgstr "**DynamicDividingLine** (default behavior) is the preferred choice if:"
#: ../../root/api/app/dividing_lines.rst:61
msgid "Вы хотите, чтобы интерфейс был адаптивным."
msgstr ""
msgstr "You want the interface to be adaptive."
#: ../../root/api/app/dividing_lines.rst:62
msgid "Вывод ваших команд имеет разную длину."
msgstr ""
msgstr "Your command output has varying lengths."
#: ../../root/api/app/dividing_lines.rst:63
msgid ""
"В ваших обработчиках нет интерактивных операций ввода (например, "
"``input()``)."
msgstr ""
msgstr "Your handlers do not have interactive input operations (e.g., ``input()``)."
#: ../../root/api/app/dividing_lines.rst:65
msgid ""
"Тип разделителя для всего приложения задаётся при инициализации ``App`` "
"через параметр ``dividing_line``."
msgstr ""
"The divider type for the entire application is set during ``App`` initialization "
"via the ``dividing_line`` parameter."
@@ -3,7 +3,6 @@
# This file is distributed under the same license as the Argenta package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
@@ -30,180 +29,199 @@ msgid ""
"взаимодействие с пользователем, координируя работу всех компонентов: "
"роутеров, обработчиков и системных сообщений."
msgstr ""
"The ``App`` object is the core of your console application. It handles "
"configuration, lifecycle management, command processing, and user interaction, "
"coordinating the work of all components: routers, handlers, and system messages."
#: ../../root/api/app/index.rst:11
msgid "Инициализация"
msgstr ""
msgstr "Initialization"
#: ../../root/api/app/index.rst:38
msgid "Создаёт и настраивает экземпляр приложения."
msgstr ""
msgstr "Creates and configures an application instance."
#: ../../root/api/app/index.rst:40
msgid "``prompt``: Приглашение к вводу, отображаемое перед каждой командой."
msgstr ""
msgstr "``prompt``: Input prompt displayed before each command."
#: ../../root/api/app/index.rst:41
msgid "``initial_message``: Сообщение, выводимое при запуске приложения."
msgstr ""
msgstr "``initial_message``: Message displayed when the application starts."
#: ../../root/api/app/index.rst:42
msgid "``farewell_message``: Сообщение, выводимое при выходе из приложения."
msgstr ""
msgstr "``farewell_message``: Message displayed when exiting the application."
#: ../../root/api/app/index.rst:43
msgid ""
"``exit_command``: Команда, которая маркируется как триггер для выхода из "
"приложения."
msgstr ""
"``exit_command``: Command that is marked as a trigger for exiting the application."
#: ../../root/api/app/index.rst:44
msgid ""
"``system_router_title``: Заголовок для системного роутера (содержит "
"команду выхода)."
msgstr ""
"``system_router_title``: Title for the system router (contains the exit command)."
#: ../../root/api/app/index.rst:45
msgid ""
"``ignore_command_register``: Если ``True``, регистр вводимых команд "
"игнорируется при поиске обработчика."
msgstr ""
"``ignore_command_register``: If ``True``, command case is ignored when searching for a handler."
#: ../../root/api/app/index.rst:46
msgid ""
"``dividing_line``: Тип разделительной линии (``StaticDividingLine`` или "
"``DynamicDividingLine``)."
msgstr ""
"``dividing_line``: Type of dividing line (``StaticDividingLine`` or ``DynamicDividingLine``)."
#: ../../root/api/app/index.rst:47
msgid ""
"``repeat_command_groups_printing``: Если ``True``, список доступных "
"команд выводится перед каждым вводом."
msgstr ""
"``repeat_command_groups_printing``: If ``True``, the list of available commands is displayed before each input."
#: ../../root/api/app/index.rst:48
msgid ""
"``override_system_messages``: Если ``True``, стандартное форматирование "
"(цвета, ASCII-арт) отключается."
msgstr ""
"``override_system_messages``: If ``True``, standard formatting (colors, ASCII art) is disabled."
#: ../../root/api/app/index.rst:49
msgid ""
"``autocompleter``: Экземпляр класса :ref:`AutoCompleter "
"<root_api_app_autocompleter>`, отвечающий за автодополнение команд."
msgstr ""
"``autocompleter``: Instance of the :ref:`AutoCompleter <root_api_app_autocompleter>` "
"class responsible for command autocompletion."
#: ../../root/api/app/index.rst:50
msgid ""
"``print_func``: Функция для вывода всех системных сообщений (по умолчанию"
" ``rich.Console().print``)."
msgstr ""
"``print_func``: Function for outputting all system messages (defaults to ``rich.Console().print``)."
#: ../../root/api/app/index.rst:55
msgid "Основные методы"
msgstr ""
msgstr "Main Methods"
#: ../../root/api/app/index.rst:59
msgid ""
"Регистрирует роутер в приложении. Все команды из этого роутера становятся"
" доступными для вызова."
msgstr ""
"Registers a router in the application. All commands from this router become available for invocation."
#: ../../root/api/app/index.rst
msgid "Parameters"
msgstr ""
msgstr "Parameters"
#: ../../root/api/app/index.rst:61
msgid "Экземпляр ``Router`` для регистрации."
msgstr ""
msgstr "``Router`` instance to register."
#: ../../root/api/app/index.rst:65
msgid "Регистрирует несколько роутеров одновременно."
msgstr ""
msgstr "Registers multiple routers simultaneously."
#: ../../root/api/app/index.rst:67
msgid "Последовательность экземпляров ``Router`` для регистрации."
msgstr ""
msgstr "Sequence of ``Router`` instances to register."
#: ../../root/api/app/index.rst:71
msgid ""
"Добавляет текстовое сообщение, которое выводится при запуске приложения "
"после ``initial_message``."
msgstr ""
"Adds a text message that is displayed when the application starts after ``initial_message``."
#: ../../root/api/app/index.rst:73
msgid "Строка с сообщением."
msgstr ""
msgstr "String with the message."
#: ../../root/api/app/index.rst:76
msgid ""
"Для вывода стандартных сообщений можно использовать готовые шаблоны из "
":ref:`PredefinedMessages <root_api_predefined_messages>`."
msgstr ""
"For outputting standard messages, you can use ready-made templates from "
":ref:`PredefinedMessages <root_api_predefined_messages>`."
#: ../../root/api/app/index.rst:81
msgid "Методы установки обработчиков"
msgstr ""
msgstr "Handler Setup Methods"
#: ../../root/api/app/index.rst:83
msgid ""
"``App`` позволяет настраивать реакцию на различные события, такие как "
"ошибки ввода или неизвестные команды."
msgstr ""
"``App`` allows you to configure responses to various events, such as input errors or unknown commands."
#: ../../root/api/app/index.rst:86
msgid ""
"Подробнее о исключениях и их обработке в соответствующем :ref:`разделе "
"документации <root_error_handling>`."
msgstr ""
"For more details on exceptions and their handling, see the corresponding "
":ref:`documentation section <root_error_handling>`."
#: ../../root/api/app/index.rst:92
msgid "Устанавливает шаблон для форматирования описания команды."
msgstr ""
msgstr "Sets the template for formatting command descriptions."
#: ../../root/api/app/index.rst:94
msgid "Обработчик принимает триггер команды (``str``) и её описание (``str``)."
msgstr ""
msgstr "The handler accepts the command trigger (``str``) and its description (``str``)."
#: ../../root/api/app/index.rst:100
msgid "Устанавливает обработчик при некорректном введённом синтаксисе флагов."
msgstr ""
msgstr "Sets the handler for incorrect flag syntax input."
#: ../../root/api/app/index.rst:102 ../../root/api/app/index.rst:110
msgid "Обработчик принимает строку, введённую пользователем."
msgstr ""
msgstr "The handler accepts the string entered by the user."
#: ../../root/api/app/index.rst:108
msgid "Устанавливает обработчик при повторяющихся флагах в введённой команде."
msgstr ""
msgstr "Sets the handler for duplicate flags in the entered command."
#: ../../root/api/app/index.rst:116
msgid "Устанавливает обработчик при вводе неизвестной команды."
msgstr ""
msgstr "Sets the handler for entering an unknown command."
#: ../../root/api/app/index.rst:118
msgid "Обработчик принимает объект ``InputCommand`` - объект введённой команды."
msgstr ""
msgstr "The handler accepts an ``InputCommand`` object - the entered command object."
#: ../../root/api/app/index.rst:124
msgid "Устанавливает обработчик при вводе пустой строки."
msgstr ""
msgstr "Sets the handler for entering an empty string."
#: ../../root/api/app/index.rst:126
msgid "Обработчик не принимает аргументов."
msgstr ""
msgstr "The handler accepts no arguments."
#: ../../root/api/app/index.rst:132
msgid "Переопределяет стандартное поведение при вызове команды выхода."
msgstr ""
msgstr "Overrides the default behavior when the exit command is invoked."
#: ../../root/api/app/index.rst:134
msgid "Обработчик принимает объект ``Response``."
msgstr ""
msgstr "The handler accepts a ``Response`` object."
#: ../../root/api/app/index.rst:147
msgid "PredefinedMessages"
msgstr ""
msgstr "PredefinedMessages"
#: ../../root/api/app/index.rst:149
msgid ""
@@ -212,32 +230,35 @@ msgid ""
"``rich`` и предназначены для вывода стандартной информации, такой как "
"подсказки по использованию."
msgstr ""
"``PredefinedMessages`` is a container containing a set of ready-to-use messages. "
"They are formatted using ``rich`` syntax and are intended for displaying standard "
"information, such as usage hints."
#: ../../root/api/app/index.rst:151
msgid "Реккомендуется использовать их при старте приложения."
msgstr ""
msgstr "It is recommended to use them when starting the application."
#: ../../root/api/app/index.rst:178
msgid "Строка: ``[b dim]Usage[/b dim]: [i]<command> <[green]flags[/green]>[/i]``"
msgstr ""
msgstr "String: ``[b dim]Usage[/b dim]: [i]<command> <[green]flags[/green]>[/i]``"
#: ../../root/api/app/index.rst:180
msgid "Отображается как: ``Usage: <command> <flags>``"
msgstr ""
msgstr "Displayed as: ``Usage: <command> <flags>``"
#: ../../root/api/app/index.rst:184
msgid "Строка: ``[b dim]Help[/b dim]: [i]<command>[/i] [b red]--help[/b red]``"
msgstr ""
msgstr "String: ``[b dim]Help[/b dim]: [i]<command>[/i] [b red]--help[/b red]``"
#: ../../root/api/app/index.rst:186
msgid "Отображается как: ``Help: <command> --help``"
msgstr ""
msgstr "Displayed as: ``Help: <command> --help``"
#: ../../root/api/app/index.rst:190
msgid "Строка: ``[b dim]Autocomplete[/b dim]: [i]<part>[/i] [bold]<tab>``"
msgstr ""
msgstr "String: ``[b dim]Autocomplete[/b dim]: [i]<part>[/i] [bold]<tab>``"
#: ../../root/api/app/index.rst:192
msgid "Отображается как: ``Autocomplete: <part> <tab>``"
msgstr ""
msgstr "Displayed as: ``Autocomplete: <part> <tab>``"