# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025, kolo
# This file is distributed under the same license as the Argenta package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-02 22:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n"

#: ../../root/redirect_stdout.rst:4
msgid "Переопределение стандартного вывода"
msgstr "Overriding Standard Output"

#: ../../root/redirect_stdout.rst:6
msgid ""
"``Argenta`` предоставляет гибкие механизмы для форматирования вывода, "
"включая динамические разделительные линии. Это достигается за счёт "
"перехвата стандартного потока вывода (``stdout``), что накладывает "
"некоторые особенности."
msgstr ""
"``Argenta`` provides flexible mechanisms for output formatting, including dynamic "
"dividing lines. This is achieved by intercepting the standard output stream "
"(``stdout``), which imposes certain specifics."

#: ../../root/redirect_stdout.rst:11
msgid "Механизм перехвата ``stdout``"
msgstr "``stdout`` Interception Mechanism"

#: ../../root/redirect_stdout.rst:13
msgid ""
"По умолчанию ``Argenta`` перехватывает весь текст, выводимый в ``stdout``"
" внутри обработчика команды. Это необходимо для реализации **динамических"
" разделителей**: система анализирует вывод, находит самую длинную строку "
"и использует её для отрисовки верхней и нижней границ. Такой подход "
"создаёт аккуратный интерфейс, где вывод команды «обёрнут» в рамку, "
"подогнанную под его содержимое."
msgstr ""
"By default, ``Argenta`` intercepts all text output to ``stdout`` inside a command "
"handler. This is necessary to implement **dynamic dividers**: the system analyzes "
"the output, finds the longest line, and uses it to draw the top and bottom borders. "
"This approach creates a neat interface where the command output is \"wrapped\" in a "
"frame fitted to its content."

#: ../../root/redirect_stdout.rst:15
msgid "Пример приложения с динамической разделительной линией:"
msgstr "Example of an application with a dynamic dividing line:"

#: ../../root/redirect_stdout.rst:17
msgid "Example of an application with a dynamic dividing line"
msgstr ""

#: ../../root/redirect_stdout.rst:20
msgid ""
"Как вы можете заметить разделительная линия ровно той же длины, что и "
"самая длинная строка в выводе."
msgstr ""
"As you can notice, the dividing line is exactly the same length as the longest line "
"in the output."

#: ../../root/redirect_stdout.rst:22
msgid "То же приложение с статической линией:"
msgstr "The same application with a static line:"

#: ../../root/redirect_stdout.rst:24
msgid "Example of an application with a static dividing line"
msgstr ""

#: ../../root/redirect_stdout.rst:27
msgid ""
"В этом примере разделительная линия имеет фиксированную длину (по "
"умолчанию 25 символов)."
msgstr "In this example, the dividing line has a fixed length (25 characters by default)."

#: ../../root/redirect_stdout.rst:32
msgid "Побочные эффекты перехвата ``stdout``"
msgstr "Side Effects of ``stdout`` Interception"

#: ../../root/redirect_stdout.rst:34
msgid ""
"Побочный эффект этого механизма проявляется при использовании функций, "
"которые последовательно выводят текст в консоль и ожидают ввод от "
"пользователя. Классический пример — стандартная функция ``input()``."
msgstr ""
"A side effect of this mechanism manifests when using functions that sequentially "
"output text to the console and expect user input. A classic example is the standard "
"``input()`` function."

#: ../../root/redirect_stdout.rst:44
msgid ""
"При включённом перехвате ``stdout`` текст (например, ``\"Введите ваше "
"имя: \"``) **не будет выведен в консоль немедленно**. Он попадёт в буфер "
"и отобразится лишь после завершения работы обработчика вместе с остальным"
" выводом. Это может сбить пользователя с толку."
msgstr ""
"With ``stdout`` interception enabled, text (for example, ``\"Enter your name: \"``) "
"**will not be output to the console immediately**. It will go into a buffer and "
"appear only after the handler finishes, along with the rest of the output. This can "
"confuse the user."

#: ../../root/redirect_stdout.rst:49
msgid "Отключение перехвата ``stdout`` с помощью ``disable_redirect_stdout``"
msgstr "Disabling ``stdout`` Interception with ``disable_redirect_stdout``"

#: ../../root/redirect_stdout.rst:51
msgid ""
"Чтобы решить эту проблему, в конструкторе ``Router`` предусмотрен "
"специальный аргумент:"
msgstr "To solve this problem, the ``Router`` constructor provides a special argument:"

#: ../../root/redirect_stdout.rst:53
msgid "**disable_redirect_stdout** (``bool``, по умолчанию ``False``)"
msgstr "**disable_redirect_stdout** (``bool``, default ``False``)"

#: ../../root/redirect_stdout.rst:55
msgid ""
"Если при создании роутера установить ``disable_redirect_stdout=True``, "
"механизм перехвата ``stdout`` будет отключён для всех его обработчиков."
msgstr ""
"If you set ``disable_redirect_stdout=True`` when creating a router, the ``stdout`` "
"interception mechanism will be disabled for all its handlers."

#: ../../root/redirect_stdout.rst:57 ../../root/redirect_stdout.rst:87
msgid "**Пример использования:**"
msgstr "**Usage example:**"

#: ../../root/redirect_stdout.rst:63
msgid ""
"В этом случае ``input()`` будет работать как обычно, и пользователь сразу"
" увидит приглашение к вводу."
msgstr ""
"In this case, ``input()`` will work as usual, and the user will immediately see the "
"input prompt."

#: ../../root/redirect_stdout.rst:68
msgid "Типы разделительных линий"
msgstr "Types of Dividing Lines"

#: ../../root/redirect_stdout.rst:70
msgid ""
"``Argenta`` поддерживает два типа разделителей, которые настраиваются при"
" инициализации ``App``:"
msgstr ""
"``Argenta`` supports two types of dividers, which are configured during ``App`` "
"initialization:"

#: ../../root/redirect_stdout.rst:72
msgid "**``DynamicDividingLine()``**"
msgstr ""

#: ../../root/redirect_stdout.rst:73
msgid ""
"Поведение по умолчанию. Длина линии динамически подстраивается под самый "
"длинный текст в выводе."
msgstr ""
"Default behavior. The line length dynamically adjusts to the longest text in the output."

#: ../../root/redirect_stdout.rst:74
msgid ""
"Требует включённого перехвата ``stdout`` "
"(``disable_redirect_stdout=False`` в роутере)."
msgstr ""
"Requires enabled ``stdout`` interception (``disable_redirect_stdout=False`` in the router)."

#: ../../root/redirect_stdout.rst:76
msgid "**``StaticDividingLine(length: int = 25)``**"
msgstr ""

#: ../../root/redirect_stdout.rst:77
msgid ""
"Линия имеет фиксированную длину (по умолчанию 25 символов), которую можно"
" задать через аргумент ``length``."
msgstr ""
"The line has a fixed length (25 characters by default), which can be set via the "
"``length`` argument."

#: ../../root/redirect_stdout.rst:78
msgid ""
"Используется принудительно для роутеров с "
"``disable_redirect_stdout=True``, так как без перехвата вывода невозможно"
" определить динамическую длину."
msgstr ""
"Used forcibly for routers with ``disable_redirect_stdout=True``, as it is "
"impossible to determine dynamic length without output interception."

#: ../../root/redirect_stdout.rst:83
msgid "Настройка разделительной линии в ``App``"
msgstr "Configuring the Dividing Line in ``App``"

#: ../../root/redirect_stdout.rst:85
msgid ""
"Вы можете глобально задать тип разделителя для всего приложения через "
"аргумент ``dividing_line`` в конструкторе ``App``."
msgstr ""
"You can globally set the divider type for the entire application via the "
"``dividing_line`` argument in the ``App`` constructor."

#: ../../root/redirect_stdout.rst:96
msgid "Итоговое поведение"
msgstr "Resulting Behavior"

#: ../../root/redirect_stdout.rst:102
msgid "``disable_redirect_stdout`` на ``Router``"
msgstr "``disable_redirect_stdout`` on ``Router``"

#: ../../root/redirect_stdout.rst:103
msgid "Тип линии в ``App``"
msgstr "Line type in ``App``"

#: ../../root/redirect_stdout.rst:104
msgid "Фактическое поведение"
msgstr "Actual behavior"

#: ../../root/redirect_stdout.rst:105
msgid "``input()`` работает корректно?"
msgstr "Does ``input()`` work correctly?"

#: ../../root/redirect_stdout.rst:106 ../../root/redirect_stdout.rst:110
msgid "``False`` (по умолчанию)"
msgstr "``False`` (default)"

#: ../../root/redirect_stdout.rst:107 ../../root/redirect_stdout.rst:115
msgid "``DynamicDividingLine``"
msgstr ""

#: ../../root/redirect_stdout.rst:108
msgid "Динамическая линия, длина по содержимому"
msgstr "Dynamic line, length by content"

#: ../../root/redirect_stdout.rst:109 ../../root/redirect_stdout.rst:113
msgid "Нет"
msgstr "No"

#: ../../root/redirect_stdout.rst:111 ../../root/redirect_stdout.rst:119
msgid "``StaticDividingLine``"
msgstr ""

#: ../../root/redirect_stdout.rst:112 ../../root/redirect_stdout.rst:120
msgid "Статическая линия указанной длины"
msgstr "Static line of specified length"

#: ../../root/redirect_stdout.rst:114 ../../root/redirect_stdout.rst:118
msgid "``True``"
msgstr ""

#: ../../root/redirect_stdout.rst:116
msgid "**Принудительно статическая линия** (длина по умолч.)"
msgstr "**Forcibly static line** (default length)"

#: ../../root/redirect_stdout.rst:117 ../../root/redirect_stdout.rst:121
msgid "Да"
msgstr "Yes"

#: ../../root/redirect_stdout.rst:123
msgid ""
"Таким образом, для интерактивных команд, требующих ввода от пользователя,"
" отключайте перехват ``stdout`` на уровне роутера. Для всех остальных "
"команд можно оставить поведение по умолчанию."
msgstr ""
"Thus, for interactive commands that require user input, disable ``stdout`` "
"interception at the router level. For all other commands, you can leave the default "
"behavior."

