@@ -12,7 +12,7 @@ msgid ""
1212msgstr ""
1313"Project-Id-Version : Python 3.15\n "
1414"Report-Msgid-Bugs-To : \n "
15- "POT-Creation-Date : 2026-08-17 14:20 +0000\n "
15+ "POT-Creation-Date : 2026-08-19 14:25 +0000\n "
1616"PO-Revision-Date : 2025-09-16 00:00+0000\n "
1717"Last-Translator : Dmitry Luschan, 2026\n "
1818"Language-Team : Russian (https://app.transifex.com/python-doc/teams/5390/ "
@@ -853,9 +853,16 @@ msgid ""
853853"`asyncio`) associate each task with a context which becomes the current "
854854"context whenever the task starts or resumes execution."
855855msgstr ""
856+ ":term:`Контекст` (объект :class:`contextvars.Context`), который в данный "
857+ "момент используется объектами :class:`~contextvars.ContextVar` для доступа "
858+ "(получения и изменения) к значениям :term:`переменных контекста <context "
859+ "variable>`. У каждого потока есть собственный текущий контекст. Фреймворки "
860+ "для выполнения асинхронных задач (см. :mod:`asyncio`) связывают каждую "
861+ "задачу с контекстом, который становится текущим контекстом всякий раз, когда "
862+ "задача начинает или возобновляет выполнение."
856863
857864msgid "cyclic isolate"
858- msgstr ""
865+ msgstr "циклический изолят "
859866
860867msgid ""
861868"A subgroup of one or more objects that reference each other in a reference "
@@ -864,9 +871,14 @@ msgid ""
864871"these groups and break the reference cycles so that the memory can be "
865872"reclaimed."
866873msgstr ""
874+ "Подгруппа из одного или нескольких объектов, которые ссылаются друг на "
875+ "друга, образуя цикл ссылок, но на которые не ссылаются объекты за пределами "
876+ "этой группы. Задача :term:`сборщика циклического мусора <garbage "
877+ "collection>` — обнаруживать такие группы и разрывать циклы ссылок, чтобы "
878+ "занимаемая ими память могла быть освобождена."
867879
868880msgid "data race"
869- msgstr ""
881+ msgstr "гонка данных "
870882
871883msgid ""
872884"A situation where multiple threads access the same memory location "
@@ -878,9 +890,19 @@ msgid ""
878890"only happen in native code, but that :term:`native code` might be exposed in "
879891"a Python API. See also :term:`race condition` and :term:`thread-safe`."
880892msgstr ""
893+ "Ситуация, при которой несколько потоков одновременно обращаются к одной и "
894+ "той же области памяти, причём как минимум одно из обращений выполняет "
895+ "запись, а потоки не используют синхронизацию для управления доступом к этой "
896+ "области памяти. Гонки данных приводят к :term:`недетерминированному` "
897+ "поведению и могут вызвать повреждение данных. Правильное использование :term:"
898+ "`блокировок <lock>` и других :term:`примитивов синхронизации "
899+ "<synchronization primitive>` предотвращает гонки данных. Обратите внимание, "
900+ "что гонки данных могут возникать только в нативном коде, однако :term:"
901+ "`нативный код` может быть доступен через API Python. См. также :term:"
902+ "`состояние гонки` и :term:`потокобезопасный`."
881903
882904msgid "deadlock"
883- msgstr ""
905+ msgstr "взаимная блокировка "
884906
885907msgid ""
886908"A situation in which two or more tasks (threads, processes, or coroutines) "
@@ -893,20 +915,35 @@ msgid ""
893915"`locks <lock>` in a consistent order. See also :term:`lock` and :term:"
894916"`reentrant`."
895917msgstr ""
918+ "Ситуация, при которой две или более задачи (потоки, процессы или "
919+ "сопрограммы) бесконечно ждут друг от друга освобождения ресурсов или "
920+ "завершения действий, не позволяя ни одной из них продолжить выполнение. "
921+ "Например, если поток A удерживает блокировку 1 и ждёт блокировку 2, а поток "
922+ "B удерживает блокировку 2 и ждёт блокировку 1, оба потока будут ждать "
923+ "бесконечно. В Python взаимные блокировки часто возникают из-за получения "
924+ "нескольких блокировок в конфликтующем порядке или из-за циклических "
925+ "зависимостей между join и await. Взаимных блокировок можно избежать, всегда "
926+ "получая несколько :term:`блокировок <lock>` в одном и том же порядке. См. "
927+ "также :term:`блокировка` и :term:`реентерабельность`."
896928
897929msgid "decorator"
898- msgstr ""
930+ msgstr "декоратор "
899931
900932msgid ""
901933"A function returning another function, usually applied as a function "
902934"transformation using the ``@wrapper`` syntax. Common examples for "
903935"decorators are :deco:`classmethod` and :deco:`staticmethod`."
904936msgstr ""
937+ "Функция, возвращающая другую функцию; обычно применяется для преобразования "
938+ "функции с помощью синтаксиса ``@wrapper``. Типичные примеры декораторов — :"
939+ "deco:`classmethod` и :deco:`staticmethod`."
905940
906941msgid ""
907942"The decorator syntax is merely syntactic sugar, the following two function "
908943"definitions are semantically equivalent::"
909944msgstr ""
945+ "Синтаксис декораторов является лишь синтаксическим сахаром: следующие два "
946+ "определения функций семантически эквивалентны::"
910947
911948msgid ""
912949"def f(arg):\n"
@@ -917,15 +954,25 @@ msgid ""
917954"def f(arg):\n"
918955" ..."
919956msgstr ""
957+ "def f(arg):\n"
958+ " ...\n"
959+ "f = staticmethod(f)\n"
960+ "\n"
961+ "@staticmethod\n"
962+ "def f(arg):\n"
963+ " ..."
920964
921965msgid ""
922966"The same concept exists for classes, but is less commonly used there. See "
923967"the documentation for :ref:`function definitions <function>` and :ref:`class "
924968"definitions <class>` for more about decorators."
925969msgstr ""
970+ "Тот же принцип применяется и к классам, но используется реже. Подробнее о "
971+ "декораторах см. документацию по :ref:`определениям функций <function>` и :"
972+ "ref:`определениям классов <class>`."
926973
927974msgid "descriptor"
928- msgstr ""
975+ msgstr "дескриптор "
929976
930977msgid ""
931978"Any object which defines the methods :meth:`~object.__get__`, :meth:`~object."
@@ -938,23 +985,38 @@ msgid ""
938985"basis for many features including functions, methods, properties, class "
939986"methods, static methods, and reference to super classes."
940987msgstr ""
988+ "Любой объект, определяющий методы :meth:`~object.__get__`, :meth:`~object."
989+ "__set__` или :meth:`~object.__delete__`. Когда атрибут класса является "
990+ "дескриптором, при обращении к этому атрибуту срабатывает специальный "
991+ "механизм связывания. Обычно выражение *a.b* для получения, изменения или "
992+ "удаления атрибута ищет объект с именем *b* в словаре класса *a*, но если *b* "
993+ "является дескриптором, вызывается соответствующий метод дескриптора. "
994+ "Понимание дескрипторов является ключом к глубокому пониманию Python, "
995+ "поскольку они лежат в основе многих возможностей языка, включая функции, "
996+ "методы, свойства, методы класса, статические методы и обращение к "
997+ "суперклассам."
941998
942999msgid ""
9431000"For more information about descriptors' methods, see :ref:`descriptors` or "
9441001"the :ref:`Descriptor How To Guide <descriptorhowto>`."
9451002msgstr ""
1003+ "Подробнее о методах дескрипторов см. раздел :ref:`descriptors` или :ref:"
1004+ "`Практическое руководство по дескрипторам <descriptorhowto>`."
9461005
9471006msgid "dictionary"
948- msgstr ""
1007+ msgstr "словарь "
9491008
9501009msgid ""
9511010"An associative array, where arbitrary keys are mapped to values. The keys "
9521011"can be any object with :meth:`~object.__hash__` and :meth:`~object.__eq__` "
9531012"methods. Called a hash in Perl."
9541013msgstr ""
1014+ "Ассоциативный массив, в котором произвольные ключи сопоставляются со "
1015+ "значениями. Ключами могут быть любые объекты, имеющие методы :meth:`~object."
1016+ "__hash__` и :meth:`~object.__eq__`. В Perl называется хешем."
9551017
9561018msgid "dictionary comprehension"
957- msgstr ""
1019+ msgstr "включение словаря "
9581020
9591021msgid ""
9601022"A compact way to process all or part of the elements in an iterable and "
@@ -2378,13 +2440,16 @@ msgid "See also :term:`namespace package`."
23782440msgstr ""
23792441
23802442msgid "reentrant"
2381- msgstr ""
2443+ msgstr "реентерабельность "
23822444
23832445msgid ""
23842446"A property of a function or :term:`lock` that allows it to be called or "
23852447"acquired multiple times by the same thread without causing errors or a :term:"
23862448"`deadlock`."
23872449msgstr ""
2450+ "Свойство функции или :term:`блокировки`, позволяющее одному и тому же потоку "
2451+ "многократно вызывать функцию или захватывать блокировку без возникновения "
2452+ "ошибок или :term:`взаимной блокировки`."
23882453
23892454msgid ""
23902455"For functions, reentrancy means the function can be safely called again "
@@ -2393,16 +2458,26 @@ msgid ""
23932458"functions may be :term:`non-deterministic` if they're called reentrantly in "
23942459"a multithreaded program."
23952460msgstr ""
2461+ "Для функций это означает, что её можно безопасно вызвать снова до завершения "
2462+ "предыдущего вызова. Это важно, когда функции могут вызывать себя рекурсивно "
2463+ "или когда они вызываются из обработчиков сигналов. Потоконебезопасные "
2464+ "функции могут вести себя :term:`недетерминированно`, если в многопоточной "
2465+ "программе их вызывают реентерабельно."
23962466
23972467msgid ""
23982468"For locks, Python's :class:`threading.RLock` (reentrant lock) is reentrant, "
23992469"meaning a thread that already holds the lock can acquire it again without "
24002470"blocking. In contrast, :class:`threading.Lock` is not reentrant - "
24012471"attempting to acquire it twice from the same thread will cause a deadlock."
24022472msgstr ""
2473+ "Для блокировок в Python :class:`threading.RLock` (реентерабельная "
2474+ "блокировка) является реентерабельной — поток, уже владеющий блокировкой, "
2475+ "может снова захватить её без блокировки. В отличие от неё, :class:`threading."
2476+ "Lock` не является реентерабельной — попытка дважды захватить её из одного и "
2477+ "того же потока приведёт к взаимной блокировке."
24032478
24042479msgid "See also :term:`lock` and :term:`deadlock`."
2405- msgstr ""
2480+ msgstr "См. также :term:`блокировка` и :term:`взаимная блокировка`. "
24062481
24072482msgid "REPL"
24082483msgstr ""
0 commit comments