# 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-08 19:48+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 "When to Disable stdout Interception"

#: ../../root/redirect_stdout.rst:13
msgid ""
"Отключайте перехват ``stdout`` (``disable_redirect_stdout=True`` в "
"``Router``), если ваши команды:"
msgstr ""
"Disable ``stdout`` interception (``disable_redirect_stdout=True`` in "
"``Router``) if your commands:"

#: ../../root/redirect_stdout.rst:15
msgid "✓ Используют ``input()`` для интерактивного ввода данных от пользователя"
msgstr "✓ Use ``input()`` for interactive user input"

#: ../../root/redirect_stdout.rst:17
msgid "✓ Используют прогресс-бары (``tqdm``, ``rich.progress``)"
msgstr "✓ Use progress bars (``tqdm``, ``rich.progress``)"

#: ../../root/redirect_stdout.rst:19
msgid "✓ Выводят данные в реальном времени (streaming, логи)"
msgstr "✓ Output data in real-time (streaming, logs)"

#: ../../root/redirect_stdout.rst:21
msgid "✓ Используют библиотеки, которые напрямую работают с ``stdout``"
msgstr "✓ Use libraries that work directly with ``stdout``"

#: ../../root/redirect_stdout.rst:23
msgid ""
"Для обычных команд с ``print()`` перехват можно оставить включённым — это"
" не влияет на их работу."
msgstr ""
"For regular commands with ``print()``, interception can be left enabled —"
" it does not affect their operation."

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

#: ../../root/redirect_stdout.rst:30
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:32
msgid "Пример приложения с динамической разделительной линией:"
msgstr "Example of an application with a dynamic dividing line:"

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

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

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

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

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

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

#: ../../root/redirect_stdout.rst:51
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:60
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:65
msgid "Отключение перехвата ``stdout`` с помощью ``disable_redirect_stdout``"
msgstr "Disabling ``stdout`` Interception with ``disable_redirect_stdout``"

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

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

#: ../../root/redirect_stdout.rst:71
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:73 ../../root/redirect_stdout.rst:103
msgid "**Пример использования:**"
msgstr "**Usage example:**"

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

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

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

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

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

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

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

#: ../../root/redirect_stdout.rst:93
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:94
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:99
msgid "Настройка разделительной линии в ``App``"
msgstr "Configuring the Dividing Line in ``App``"

#: ../../root/redirect_stdout.rst:101
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:112
msgid "Итоговое поведение"
msgstr "Resulting Behavior"

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

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

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

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

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

#: ../../root/redirect_stdout.rst:123 ../../root/redirect_stdout.rst:131
msgid "``DynamicDividingLine``"
msgstr "``DynamicDividingLine``"

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

#: ../../root/redirect_stdout.rst:125 ../../root/redirect_stdout.rst:129
msgid "Нет"
msgstr "No"

#: ../../root/redirect_stdout.rst:127 ../../root/redirect_stdout.rst:135
msgid "``StaticDividingLine``"
msgstr "``StaticDividingLine``"

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

#: ../../root/redirect_stdout.rst:130 ../../root/redirect_stdout.rst:134
msgid "``True``"
msgstr "``True``"

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

#: ../../root/redirect_stdout.rst:133 ../../root/redirect_stdout.rst:137
msgid "Да"
msgstr "Yes"

#: ../../root/redirect_stdout.rst:139
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."

