Skip to content

Commit 74be28a

Browse files
author
GitHub Action's update-translation job
committed
Update translation from Transifex
1 parent 1e31d34 commit 74be28a

4 files changed

Lines changed: 166 additions & 14 deletions

File tree

glossary.po

Lines changed: 85 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ msgid ""
1212
msgstr ""
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."
855855
msgstr ""
856+
":term:`Контекст` (объект :class:`contextvars.Context`), который в данный "
857+
"момент используется объектами :class:`~contextvars.ContextVar` для доступа "
858+
"(получения и изменения) к значениям :term:`переменных контекста <context "
859+
"variable>`. У каждого потока есть собственный текущий контекст. Фреймворки "
860+
"для выполнения асинхронных задач (см. :mod:`asyncio`) связывают каждую "
861+
"задачу с контекстом, который становится текущим контекстом всякий раз, когда "
862+
"задача начинает или возобновляет выполнение."
856863

857864
msgid "cyclic isolate"
858-
msgstr ""
865+
msgstr "циклический изолят"
859866

860867
msgid ""
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."
866873
msgstr ""
874+
"Подгруппа из одного или нескольких объектов, которые ссылаются друг на "
875+
"друга, образуя цикл ссылок, но на которые не ссылаются объекты за пределами "
876+
"этой группы. Задача :term:`сборщика циклического мусора <garbage "
877+
"collection>` — обнаруживать такие группы и разрывать циклы ссылок, чтобы "
878+
"занимаемая ими память могла быть освобождена."
867879

868880
msgid "data race"
869-
msgstr ""
881+
msgstr "гонка данных"
870882

871883
msgid ""
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`."
880892
msgstr ""
893+
"Ситуация, при которой несколько потоков одновременно обращаются к одной и "
894+
"той же области памяти, причём как минимум одно из обращений выполняет "
895+
"запись, а потоки не используют синхронизацию для управления доступом к этой "
896+
"области памяти. Гонки данных приводят к :term:`недетерминированному` "
897+
"поведению и могут вызвать повреждение данных. Правильное использование :term:"
898+
"`блокировок <lock>` и других :term:`примитивов синхронизации "
899+
"<synchronization primitive>` предотвращает гонки данных. Обратите внимание, "
900+
"что гонки данных могут возникать только в нативном коде, однако :term:"
901+
"`нативный код` может быть доступен через API Python. См. также :term:"
902+
"`состояние гонки` и :term:`потокобезопасный`."
881903

882904
msgid "deadlock"
883-
msgstr ""
905+
msgstr "взаимная блокировка"
884906

885907
msgid ""
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`."
895917
msgstr ""
918+
"Ситуация, при которой две или более задачи (потоки, процессы или "
919+
"сопрограммы) бесконечно ждут друг от друга освобождения ресурсов или "
920+
"завершения действий, не позволяя ни одной из них продолжить выполнение. "
921+
"Например, если поток A удерживает блокировку 1 и ждёт блокировку 2, а поток "
922+
"B удерживает блокировку 2 и ждёт блокировку 1, оба потока будут ждать "
923+
"бесконечно. В Python взаимные блокировки часто возникают из-за получения "
924+
"нескольких блокировок в конфликтующем порядке или из-за циклических "
925+
"зависимостей между join и await. Взаимных блокировок можно избежать, всегда "
926+
"получая несколько :term:`блокировок <lock>` в одном и том же порядке. См. "
927+
"также :term:`блокировка` и :term:`реентерабельность`."
896928

897929
msgid "decorator"
898-
msgstr ""
930+
msgstr "декоратор"
899931

900932
msgid ""
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`."
904936
msgstr ""
937+
"Функция, возвращающая другую функцию; обычно применяется для преобразования "
938+
"функции с помощью синтаксиса ``@wrapper``. Типичные примеры декораторов — :"
939+
"deco:`classmethod` и :deco:`staticmethod`."
905940

906941
msgid ""
907942
"The decorator syntax is merely syntactic sugar, the following two function "
908943
"definitions are semantically equivalent::"
909944
msgstr ""
945+
"Синтаксис декораторов является лишь синтаксическим сахаром: следующие два "
946+
"определения функций семантически эквивалентны::"
910947

911948
msgid ""
912949
"def f(arg):\n"
@@ -917,15 +954,25 @@ msgid ""
917954
"def f(arg):\n"
918955
" ..."
919956
msgstr ""
957+
"def f(arg):\n"
958+
" ...\n"
959+
"f = staticmethod(f)\n"
960+
"\n"
961+
"@staticmethod\n"
962+
"def f(arg):\n"
963+
" ..."
920964

921965
msgid ""
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."
925969
msgstr ""
970+
"Тот же принцип применяется и к классам, но используется реже. Подробнее о "
971+
"декораторах см. документацию по :ref:`определениям функций <function>` и :"
972+
"ref:`определениям классов <class>`."
926973

927974
msgid "descriptor"
928-
msgstr ""
975+
msgstr "дескриптор"
929976

930977
msgid ""
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."
940987
msgstr ""
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

942999
msgid ""
9431000
"For more information about descriptors' methods, see :ref:`descriptors` or "
9441001
"the :ref:`Descriptor How To Guide <descriptorhowto>`."
9451002
msgstr ""
1003+
"Подробнее о методах дескрипторов см. раздел :ref:`descriptors` или :ref:"
1004+
"`Практическое руководство по дескрипторам <descriptorhowto>`."
9461005

9471006
msgid "dictionary"
948-
msgstr ""
1007+
msgstr "словарь"
9491008

9501009
msgid ""
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."
9541013
msgstr ""
1014+
"Ассоциативный массив, в котором произвольные ключи сопоставляются со "
1015+
"значениями. Ключами могут быть любые объекты, имеющие методы :meth:`~object."
1016+
"__hash__` и :meth:`~object.__eq__`. В Perl называется хешем."
9551017

9561018
msgid "dictionary comprehension"
957-
msgstr ""
1019+
msgstr "включение словаря"
9581020

9591021
msgid ""
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`."
23782440
msgstr ""
23792441

23802442
msgid "reentrant"
2381-
msgstr ""
2443+
msgstr "реентерабельность"
23822444

23832445
msgid ""
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`."
23872449
msgstr ""
2450+
"Свойство функции или :term:`блокировки`, позволяющее одному и тому же потоку "
2451+
"многократно вызывать функцию или захватывать блокировку без возникновения "
2452+
"ошибок или :term:`взаимной блокировки`."
23882453

23892454
msgid ""
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."
23952460
msgstr ""
2461+
"Для функций это означает, что её можно безопасно вызвать снова до завершения "
2462+
"предыдущего вызова. Это важно, когда функции могут вызывать себя рекурсивно "
2463+
"или когда они вызываются из обработчиков сигналов. Потоконебезопасные "
2464+
"функции могут вести себя :term:`недетерминированно`, если в многопоточной "
2465+
"программе их вызывают реентерабельно."
23962466

23972467
msgid ""
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."
24022472
msgstr ""
2473+
"Для блокировок в Python :class:`threading.RLock` (реентерабельная "
2474+
"блокировка) является реентерабельной — поток, уже владеющий блокировкой, "
2475+
"может снова захватить её без блокировки. В отличие от неё, :class:`threading."
2476+
"Lock` не является реентерабельной — попытка дважды захватить её из одного и "
2477+
"того же потока приведёт к взаимной блокировке."
24032478

24042479
msgid "See also :term:`lock` and :term:`deadlock`."
2405-
msgstr ""
2480+
msgstr "См. также :term:`блокировка` и :term:`взаимная блокировка`."
24062481

24072482
msgid "REPL"
24082483
msgstr ""

library/json.po

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ msgid ""
1212
msgstr ""
1313
"Project-Id-Version: Python 3.15\n"
1414
"Report-Msgid-Bugs-To: \n"
15-
"POT-Creation-Date: 2026-08-11 14:51+0000\n"
15+
"POT-Creation-Date: 2026-08-19 14:25+0000\n"
1616
"PO-Revision-Date: 2025-09-16 00:01+0000\n"
1717
"Last-Translator: Dmitry Luschan, 2025\n"
1818
"Language-Team: Russian (https://app.transifex.com/python-doc/teams/5390/"
@@ -567,6 +567,9 @@ msgstr ""
567567
msgid "Supports the following objects and types by default:"
568568
msgstr ""
569569

570+
msgid "dict, frozendict"
571+
msgstr ""
572+
570573
msgid "list, tuple"
571574
msgstr ""
572575

@@ -579,6 +582,9 @@ msgstr ""
579582
msgid "Added support for int- and float-derived Enum classes."
580583
msgstr ""
581584

585+
msgid "Added support for :class:`frozendict`."
586+
msgstr ""
587+
582588
msgid ""
583589
"To extend this to recognize other objects, subclass and implement a :meth:"
584590
"`~JSONEncoder.default` method with another method that returns a "

library/urllib.request.po

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.15\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2026-08-11 14:51+0000\n"
14+
"POT-Creation-Date: 2026-08-19 14:25+0000\n"
1515
"PO-Revision-Date: 2025-09-16 00:02+0000\n"
1616
"Last-Translator: python-doc bot, 2025\n"
1717
"Language-Team: Russian (https://app.transifex.com/python-doc/teams/5390/"
@@ -1016,7 +1016,14 @@ msgid ""
10161016
"*uri* can be either a single URI, or a sequence of URIs. *realm*, *user* and "
10171017
"*passwd* must be strings. This causes ``(user, passwd)`` to be used as "
10181018
"authentication tokens when authentication for *realm* and a super-URI of any "
1019-
"of the given URIs is given."
1019+
"of the given URIs is given. If a URI includes a scheme, its credentials only "
1020+
"match authentication URIs with the same scheme or no scheme. A URI without a "
1021+
"scheme matches authentication URIs with any scheme."
1022+
msgstr ""
1023+
1024+
msgid ""
1025+
"Authentication credentials for URIs with a scheme are now scoped by that "
1026+
"scheme."
10201027
msgstr ""
10211028

10221029
msgid ""

whatsnew/changelog.po

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.15\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2026-08-17 14:20+0000\n"
14+
"POT-Creation-Date: 2026-08-19 14:25+0000\n"
1515
"PO-Revision-Date: 2025-09-16 00:02+0000\n"
1616
"Last-Translator: python-doc bot, 2026\n"
1717
"Language-Team: Russian (https://app.transifex.com/python-doc/teams/5390/"
@@ -49,9 +49,40 @@ msgid ""
4949
"version 2.8.3 for the fix to :cve:`2026-72522`."
5050
msgstr ""
5151

52+
msgid ""
53+
":gh:`155292`: Change the :mod:`stringprep` module and :mod:`encodings.idna` "
54+
"codec to not consider Unicode codepoint attributes beyond those defined in :"
55+
"rfc:`3454`."
56+
msgstr ""
57+
58+
msgid ""
59+
":gh:`155694`: Fix :cve:`2026-15806` by scoping :class:`~urllib.request."
60+
"HTTPPasswordMgr` credentials to the URL scheme, preventing credentials "
61+
"stored for an HTTPS URL from being used for a matching HTTP URL, while URIs "
62+
"without a scheme continue to match any scheme."
63+
msgstr ""
64+
5265
msgid "Library"
5366
msgstr ""
5467

68+
msgid ""
69+
":gh:`155869`: Fix :meth:`!reorganize` in :mod:`dbm.dumb` failing to persist "
70+
"updated value offsets, which could cause data loss after reopening the "
71+
"database."
72+
msgstr ""
73+
74+
msgid ""
75+
":gh:`155702`: Fix :class:`sqlite3.Blob` slice assignment with a step. It "
76+
"patched the bytes object read from the blob, which for a single byte is an "
77+
"immortal singleton, so that the value of that byte was changed in the whole "
78+
"process."
79+
msgstr ""
80+
81+
msgid ""
82+
":gh:`155519`: Avoid a data-race in free-threaded builds when reading and "
83+
"writing context variables from different threads."
84+
msgstr ""
85+
5586
msgid ""
5687
":gh:`155009`: Fix :class:`argparse.ArgumentParser` to preserve the program "
5788
"name from ``sys.argv[0]`` when a named module is executed as the main "
@@ -114,6 +145,39 @@ msgid ""
114145
"whole context it iterated over."
115146
msgstr ""
116147

148+
msgid ""
149+
":gh:`155400`: Fix a deadlock in the free-threaded build between two threads "
150+
"assigning to a special method of the same class. While applying the type "
151+
"slot updates with the world stopped, only the type lock was prevented from "
152+
"being released; the type dict mutex could still be released and re-acquired, "
153+
"in the wrong order, if the thread blocked on the stop-the-world mutex."
154+
msgstr ""
155+
156+
msgid ""
157+
":gh:`154196`: Improve :exc:`AttributeError` messages from unresolved lazy "
158+
"imports. Patch by Bartosz Sławecki."
159+
msgstr ""
160+
161+
msgid ""
162+
":gh:`151377`: Fix races in free-threaded builds when updating type slots for "
163+
"newly created classes and when removing entries from a base type's "
164+
"subclasses dictionary."
165+
msgstr ""
166+
167+
msgid ""
168+
":gh:`148817`: Fold large constant list and set literals used as the iterable "
169+
"of a :keyword:`for` loop or ``in``/``not in`` test into a constant :class:"
170+
"`tuple` or :class:`frozenset`, restoring an optimization previously done by "
171+
"the AST optimizer that was lost when constant folding moved to the CFG."
172+
msgstr ""
173+
174+
msgid ""
175+
":gh:`85260`: :func:`compile` now raises :exc:`ValueError` instead of "
176+
"crashing on a debug build if an identifier field of an AST node (such as the "
177+
"name of a function, a class, an imported module or a caught exception) is "
178+
"``\"None\"``, ``\"True\"`` or ``\"False\"``."
179+
msgstr ""
180+
117181
msgid "Python 3.15.0 release candidate 1"
118182
msgstr ""
119183

0 commit comments

Comments
 (0)