diff --git a/builtins/threadsafety.po b/builtins/threadsafety.po index 2b18ada5..f4fa5a7a 100644 --- a/builtins/threadsafety.po +++ b/builtins/threadsafety.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-09-23 06:17+0000\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -566,20 +566,15 @@ msgid "" msgstr "" #: ../../builtins/threadsafety.rst:410 -msgid ":meth:`set.update` and :meth:`set.union` lock both objects only when" -msgstr "" - -#: ../../builtins/threadsafety.rst:411 msgid "" -"the other operand is a :class:`set`, :class:`frozenset`, or :class:`dict`." +":meth:`set.update` and :meth:`set.union` lock both objects only when the " +"other operand is a :class:`set`, :class:`frozenset`, or :class:`dict`." msgstr "" #: ../../builtins/threadsafety.rst:412 -msgid ":meth:`set.intersection` and :meth:`set.difference` always try to lock" -msgstr "" - -#: ../../builtins/threadsafety.rst:413 -msgid "all objects." +msgid "" +":meth:`set.intersection` and :meth:`set.difference` always try to lock all " +"objects." msgstr "" #: ../../builtins/threadsafety.rst:415 @@ -593,20 +588,15 @@ msgid "" msgstr "" #: ../../builtins/threadsafety.rst:420 -msgid ":meth:`set.difference_update` and :meth:`set.intersection_update` try" -msgstr "" - -#: ../../builtins/threadsafety.rst:421 -msgid "to lock all objects one-by-one." +msgid "" +":meth:`set.difference_update` and :meth:`set.intersection_update` try to " +"lock all objects one-by-one." msgstr "" #: ../../builtins/threadsafety.rst:422 msgid "" -":meth:`set.symmetric_difference_update` only locks the arguments if it is" -msgstr "" - -#: ../../builtins/threadsafety.rst:423 -msgid "of type :class:`set`, :class:`frozenset`, or :class:`dict`." +":meth:`set.symmetric_difference_update` only locks the arguments if it is of " +"type :class:`set`, :class:`frozenset`, or :class:`dict`." msgstr "" #: ../../builtins/threadsafety.rst:425 diff --git a/c-api/exceptions.po b/c-api/exceptions.po index 8af1e613..489302e5 100644 --- a/c-api/exceptions.po +++ b/c-api/exceptions.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -1099,28 +1099,41 @@ msgstr "" #: ../../c-api/exceptions.rst:1019 msgid "" +"The check is based on the remaining C stack space of the current thread, not " +"on a count of calls, so it is unaffected by :c:func:`Py_SetRecursionLimit` " +"and :func:`sys.setrecursionlimit`." +msgstr "" + +#: ../../c-api/exceptions.rst:1023 +msgid "" "*where* should be a UTF-8 encoded string such as ``\" in instance check\"`` " "to be concatenated to the :exc:`RecursionError` message caused by the " "recursion depth limit." msgstr "" -#: ../../c-api/exceptions.rst:1024 +#: ../../c-api/exceptions.rst:1028 msgid "The :c:func:`PyUnstable_ThreadState_SetStackProtection` function." msgstr "" -#: ../../c-api/exceptions.rst:1026 ../../c-api/exceptions.rst:1034 +#: ../../c-api/exceptions.rst:1030 ../../c-api/exceptions.rst:1042 msgid "" "This function is now also available in the :ref:`limited API `." msgstr "" -#: ../../c-api/exceptions.rst:1031 +#: ../../c-api/exceptions.rst:1033 +msgid "" +"The check is based on the remaining C stack space. Previously, a separate " +"counter of C-level calls was used." +msgstr "" + +#: ../../c-api/exceptions.rst:1039 msgid "" "Ends a :c:func:`Py_EnterRecursiveCall`. Must be called once for each " "*successful* invocation of :c:func:`Py_EnterRecursiveCall`." msgstr "" -#: ../../c-api/exceptions.rst:1037 +#: ../../c-api/exceptions.rst:1045 msgid "" "Properly implementing :c:member:`~PyTypeObject.tp_repr` for container types " "requires special recursion handling. In addition to protecting the stack, :" @@ -1129,13 +1142,13 @@ msgid "" "Effectively, these are the C equivalent to :deco:`reprlib.recursive_repr`." msgstr "" -#: ../../c-api/exceptions.rst:1045 +#: ../../c-api/exceptions.rst:1053 msgid "" "Called at the beginning of the :c:member:`~PyTypeObject.tp_repr` " "implementation to detect cycles." msgstr "" -#: ../../c-api/exceptions.rst:1048 +#: ../../c-api/exceptions.rst:1056 msgid "" "If the object has already been processed, the function returns a positive " "integer. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " @@ -1143,301 +1156,301 @@ msgid "" "`dict` objects return ``{...}`` and :class:`list` objects return ``[...]``." msgstr "" -#: ../../c-api/exceptions.rst:1054 +#: ../../c-api/exceptions.rst:1062 msgid "" "The function will return a negative integer if the recursion limit is " "reached. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " "should typically return ``NULL``." msgstr "" -#: ../../c-api/exceptions.rst:1058 +#: ../../c-api/exceptions.rst:1066 msgid "" "Otherwise, the function returns zero and the :c:member:`~PyTypeObject." "tp_repr` implementation can continue normally." msgstr "" -#: ../../c-api/exceptions.rst:1063 +#: ../../c-api/exceptions.rst:1071 msgid "" "Ends a :c:func:`Py_ReprEnter`. Must be called once for each invocation of :" "c:func:`Py_ReprEnter` that returns zero." msgstr "" -#: ../../c-api/exceptions.rst:1068 +#: ../../c-api/exceptions.rst:1076 msgid "" "Get the recursion limit for the current interpreter. It can be set with :c:" "func:`Py_SetRecursionLimit`. The recursion limit prevents the Python " "interpreter stack from growing infinitely." msgstr "" -#: ../../c-api/exceptions.rst:1072 ../../c-api/exceptions.rst:1082 +#: ../../c-api/exceptions.rst:1080 ../../c-api/exceptions.rst:1090 msgid "" "This function cannot fail, and the caller must hold an :term:`attached " "thread state`." msgstr "" -#: ../../c-api/exceptions.rst:1076 +#: ../../c-api/exceptions.rst:1084 msgid ":py:func:`sys.getrecursionlimit`" msgstr "" -#: ../../c-api/exceptions.rst:1080 +#: ../../c-api/exceptions.rst:1088 msgid "Set the recursion limit for the current interpreter." msgstr "" -#: ../../c-api/exceptions.rst:1086 +#: ../../c-api/exceptions.rst:1094 msgid ":py:func:`sys.setrecursionlimit`" msgstr "" -#: ../../c-api/exceptions.rst:1091 +#: ../../c-api/exceptions.rst:1099 msgid "Exception and warning types" msgstr "" -#: ../../c-api/exceptions.rst:1093 +#: ../../c-api/exceptions.rst:1101 msgid "" "All standard Python exceptions and warning categories are available as " "global variables whose names are ``PyExc_`` followed by the Python exception " "name. These have the type :c:expr:`PyObject*`; they are all class objects." msgstr "" -#: ../../c-api/exceptions.rst:1097 +#: ../../c-api/exceptions.rst:1105 msgid "For completeness, here are all the variables:" msgstr "" -#: ../../c-api/exceptions.rst:1100 +#: ../../c-api/exceptions.rst:1108 msgid "Exception types" msgstr "" -#: ../../c-api/exceptions.rst:1107 ../../c-api/exceptions.rst:1253 -#: ../../c-api/exceptions.rst:1283 +#: ../../c-api/exceptions.rst:1115 ../../c-api/exceptions.rst:1261 +#: ../../c-api/exceptions.rst:1291 msgid "C name" msgstr "" -#: ../../c-api/exceptions.rst:1108 ../../c-api/exceptions.rst:1254 -#: ../../c-api/exceptions.rst:1284 +#: ../../c-api/exceptions.rst:1116 ../../c-api/exceptions.rst:1262 +#: ../../c-api/exceptions.rst:1292 msgid "Python name" msgstr "" -#: ../../c-api/exceptions.rst:1110 +#: ../../c-api/exceptions.rst:1118 msgid ":exc:`BaseException`" msgstr "" -#: ../../c-api/exceptions.rst:1112 +#: ../../c-api/exceptions.rst:1120 msgid ":exc:`BaseExceptionGroup`" msgstr "" -#: ../../c-api/exceptions.rst:1114 +#: ../../c-api/exceptions.rst:1122 msgid ":exc:`Exception`" msgstr "" -#: ../../c-api/exceptions.rst:1116 +#: ../../c-api/exceptions.rst:1124 msgid ":exc:`ArithmeticError`" msgstr "" -#: ../../c-api/exceptions.rst:1118 +#: ../../c-api/exceptions.rst:1126 msgid ":exc:`AssertionError`" msgstr "" -#: ../../c-api/exceptions.rst:1120 +#: ../../c-api/exceptions.rst:1128 msgid ":exc:`AttributeError`" msgstr "" -#: ../../c-api/exceptions.rst:1122 +#: ../../c-api/exceptions.rst:1130 msgid ":exc:`BlockingIOError`" msgstr "" -#: ../../c-api/exceptions.rst:1124 +#: ../../c-api/exceptions.rst:1132 msgid ":exc:`BrokenPipeError`" msgstr "" -#: ../../c-api/exceptions.rst:1126 +#: ../../c-api/exceptions.rst:1134 msgid ":exc:`BufferError`" msgstr "" -#: ../../c-api/exceptions.rst:1128 +#: ../../c-api/exceptions.rst:1136 msgid ":exc:`ChildProcessError`" msgstr "" -#: ../../c-api/exceptions.rst:1130 +#: ../../c-api/exceptions.rst:1138 msgid ":exc:`ConnectionAbortedError`" msgstr "" -#: ../../c-api/exceptions.rst:1132 +#: ../../c-api/exceptions.rst:1140 msgid ":exc:`ConnectionError`" msgstr "" -#: ../../c-api/exceptions.rst:1134 +#: ../../c-api/exceptions.rst:1142 msgid ":exc:`ConnectionRefusedError`" msgstr "" -#: ../../c-api/exceptions.rst:1136 +#: ../../c-api/exceptions.rst:1144 msgid ":exc:`ConnectionResetError`" msgstr "" -#: ../../c-api/exceptions.rst:1138 +#: ../../c-api/exceptions.rst:1146 msgid ":exc:`EOFError`" msgstr "" -#: ../../c-api/exceptions.rst:1140 +#: ../../c-api/exceptions.rst:1148 msgid ":exc:`FileExistsError`" msgstr "" -#: ../../c-api/exceptions.rst:1142 +#: ../../c-api/exceptions.rst:1150 msgid ":exc:`FileNotFoundError`" msgstr "" -#: ../../c-api/exceptions.rst:1144 +#: ../../c-api/exceptions.rst:1152 msgid ":exc:`FloatingPointError`" msgstr "" -#: ../../c-api/exceptions.rst:1146 +#: ../../c-api/exceptions.rst:1154 msgid ":exc:`GeneratorExit`" msgstr "" -#: ../../c-api/exceptions.rst:1148 +#: ../../c-api/exceptions.rst:1156 msgid ":exc:`ImportError`" msgstr "" -#: ../../c-api/exceptions.rst:1150 +#: ../../c-api/exceptions.rst:1158 msgid ":exc:`IndentationError`" msgstr "" -#: ../../c-api/exceptions.rst:1152 +#: ../../c-api/exceptions.rst:1160 msgid ":exc:`IndexError`" msgstr "" -#: ../../c-api/exceptions.rst:1154 +#: ../../c-api/exceptions.rst:1162 msgid ":exc:`InterruptedError`" msgstr "" -#: ../../c-api/exceptions.rst:1156 +#: ../../c-api/exceptions.rst:1164 msgid ":exc:`IsADirectoryError`" msgstr "" -#: ../../c-api/exceptions.rst:1158 +#: ../../c-api/exceptions.rst:1166 msgid ":exc:`KeyError`" msgstr "" -#: ../../c-api/exceptions.rst:1160 +#: ../../c-api/exceptions.rst:1168 msgid ":exc:`KeyboardInterrupt`" msgstr "" -#: ../../c-api/exceptions.rst:1162 +#: ../../c-api/exceptions.rst:1170 msgid ":exc:`LookupError`" msgstr "" -#: ../../c-api/exceptions.rst:1164 +#: ../../c-api/exceptions.rst:1172 msgid ":exc:`MemoryError`" msgstr "" -#: ../../c-api/exceptions.rst:1166 +#: ../../c-api/exceptions.rst:1174 msgid ":exc:`ModuleNotFoundError`" msgstr "" -#: ../../c-api/exceptions.rst:1168 +#: ../../c-api/exceptions.rst:1176 msgid ":exc:`NameError`" msgstr "" -#: ../../c-api/exceptions.rst:1170 +#: ../../c-api/exceptions.rst:1178 msgid ":exc:`NotADirectoryError`" msgstr "" -#: ../../c-api/exceptions.rst:1172 +#: ../../c-api/exceptions.rst:1180 msgid ":exc:`NotImplementedError`" msgstr "" -#: ../../c-api/exceptions.rst:1174 ../../c-api/exceptions.rst:1257 -#: ../../c-api/exceptions.rst:1260 ../../c-api/exceptions.rst:1263 +#: ../../c-api/exceptions.rst:1182 ../../c-api/exceptions.rst:1265 +#: ../../c-api/exceptions.rst:1268 ../../c-api/exceptions.rst:1271 msgid ":exc:`OSError`" msgstr "" -#: ../../c-api/exceptions.rst:1176 +#: ../../c-api/exceptions.rst:1184 msgid ":exc:`OverflowError`" msgstr "" -#: ../../c-api/exceptions.rst:1178 +#: ../../c-api/exceptions.rst:1186 msgid ":exc:`PermissionError`" msgstr "" -#: ../../c-api/exceptions.rst:1180 +#: ../../c-api/exceptions.rst:1188 msgid ":exc:`ProcessLookupError`" msgstr "" -#: ../../c-api/exceptions.rst:1182 +#: ../../c-api/exceptions.rst:1190 msgid ":exc:`PythonFinalizationError`" msgstr "" -#: ../../c-api/exceptions.rst:1184 +#: ../../c-api/exceptions.rst:1192 msgid ":exc:`RecursionError`" msgstr "" -#: ../../c-api/exceptions.rst:1186 +#: ../../c-api/exceptions.rst:1194 msgid ":exc:`ReferenceError`" msgstr "" -#: ../../c-api/exceptions.rst:1188 +#: ../../c-api/exceptions.rst:1196 msgid ":exc:`RuntimeError`" msgstr "" -#: ../../c-api/exceptions.rst:1190 +#: ../../c-api/exceptions.rst:1198 msgid ":exc:`StopAsyncIteration`" msgstr "" -#: ../../c-api/exceptions.rst:1192 +#: ../../c-api/exceptions.rst:1200 msgid ":exc:`StopIteration`" msgstr "" -#: ../../c-api/exceptions.rst:1194 +#: ../../c-api/exceptions.rst:1202 msgid ":exc:`SyntaxError`" msgstr "" -#: ../../c-api/exceptions.rst:1196 +#: ../../c-api/exceptions.rst:1204 msgid ":exc:`SystemError`" msgstr "" -#: ../../c-api/exceptions.rst:1198 +#: ../../c-api/exceptions.rst:1206 msgid ":exc:`SystemExit`" msgstr "" -#: ../../c-api/exceptions.rst:1200 +#: ../../c-api/exceptions.rst:1208 msgid ":exc:`TabError`" msgstr "" -#: ../../c-api/exceptions.rst:1202 +#: ../../c-api/exceptions.rst:1210 msgid ":exc:`TimeoutError`" msgstr "" -#: ../../c-api/exceptions.rst:1204 +#: ../../c-api/exceptions.rst:1212 msgid ":exc:`TypeError`" msgstr "" -#: ../../c-api/exceptions.rst:1206 +#: ../../c-api/exceptions.rst:1214 msgid ":exc:`UnboundLocalError`" msgstr "" -#: ../../c-api/exceptions.rst:1208 +#: ../../c-api/exceptions.rst:1216 msgid ":exc:`UnicodeDecodeError`" msgstr "" -#: ../../c-api/exceptions.rst:1210 +#: ../../c-api/exceptions.rst:1218 msgid ":exc:`UnicodeEncodeError`" msgstr "" -#: ../../c-api/exceptions.rst:1212 +#: ../../c-api/exceptions.rst:1220 msgid ":exc:`UnicodeError`" msgstr "" -#: ../../c-api/exceptions.rst:1214 +#: ../../c-api/exceptions.rst:1222 msgid ":exc:`UnicodeTranslateError`" msgstr "" -#: ../../c-api/exceptions.rst:1216 +#: ../../c-api/exceptions.rst:1224 msgid ":exc:`ValueError`" msgstr "" -#: ../../c-api/exceptions.rst:1218 +#: ../../c-api/exceptions.rst:1226 msgid ":exc:`ZeroDivisionError`" msgstr "" -#: ../../c-api/exceptions.rst:1220 +#: ../../c-api/exceptions.rst:1228 msgid "" ":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:" "`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:" @@ -1449,141 +1462,141 @@ msgid "" "`PyExc_TimeoutError` were introduced following :pep:`3151`." msgstr "" -#: ../../c-api/exceptions.rst:1230 +#: ../../c-api/exceptions.rst:1238 msgid ":c:data:`PyExc_StopAsyncIteration` and :c:data:`PyExc_RecursionError`." msgstr "" -#: ../../c-api/exceptions.rst:1233 +#: ../../c-api/exceptions.rst:1241 msgid ":c:data:`PyExc_ModuleNotFoundError`." msgstr "" -#: ../../c-api/exceptions.rst:1236 +#: ../../c-api/exceptions.rst:1244 msgid ":c:data:`PyExc_BaseExceptionGroup`." msgstr "" -#: ../../c-api/exceptions.rst:1241 +#: ../../c-api/exceptions.rst:1249 msgid "OSError aliases" msgstr "" -#: ../../c-api/exceptions.rst:1243 +#: ../../c-api/exceptions.rst:1251 msgid "The following are a compatibility aliases to :c:data:`PyExc_OSError`." msgstr "" -#: ../../c-api/exceptions.rst:1245 +#: ../../c-api/exceptions.rst:1253 msgid "These aliases used to be separate exception types." msgstr "" -#: ../../c-api/exceptions.rst:1255 +#: ../../c-api/exceptions.rst:1263 msgid "Notes" msgstr "" -#: ../../c-api/exceptions.rst:1264 +#: ../../c-api/exceptions.rst:1272 msgid "[win]_" msgstr "" -#: ../../c-api/exceptions.rst:1266 +#: ../../c-api/exceptions.rst:1274 msgid "Notes:" msgstr "" -#: ../../c-api/exceptions.rst:1269 +#: ../../c-api/exceptions.rst:1277 msgid "" ":c:var:`!PyExc_WindowsError` is only defined on Windows; protect code that " "uses this by testing that the preprocessor macro ``MS_WINDOWS`` is defined." msgstr "" -#: ../../c-api/exceptions.rst:1276 +#: ../../c-api/exceptions.rst:1284 msgid "Warning types" msgstr "" -#: ../../c-api/exceptions.rst:1286 +#: ../../c-api/exceptions.rst:1294 msgid ":exc:`Warning`" msgstr "" -#: ../../c-api/exceptions.rst:1288 +#: ../../c-api/exceptions.rst:1296 msgid ":exc:`BytesWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1290 +#: ../../c-api/exceptions.rst:1298 msgid ":exc:`DeprecationWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1292 +#: ../../c-api/exceptions.rst:1300 msgid ":exc:`EncodingWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1294 +#: ../../c-api/exceptions.rst:1302 msgid ":exc:`FutureWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1296 +#: ../../c-api/exceptions.rst:1304 msgid ":exc:`ImportWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1298 +#: ../../c-api/exceptions.rst:1306 msgid ":exc:`PendingDeprecationWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1300 +#: ../../c-api/exceptions.rst:1308 msgid ":exc:`ResourceWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1302 +#: ../../c-api/exceptions.rst:1310 msgid ":exc:`RuntimeWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1304 +#: ../../c-api/exceptions.rst:1312 msgid ":exc:`SyntaxWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1306 +#: ../../c-api/exceptions.rst:1314 msgid ":exc:`UnicodeWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1308 +#: ../../c-api/exceptions.rst:1316 msgid ":exc:`UserWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1310 +#: ../../c-api/exceptions.rst:1318 msgid ":c:data:`PyExc_ResourceWarning`." msgstr "" -#: ../../c-api/exceptions.rst:1313 +#: ../../c-api/exceptions.rst:1321 msgid ":c:data:`PyExc_EncodingWarning`." msgstr "" -#: ../../c-api/exceptions.rst:1318 +#: ../../c-api/exceptions.rst:1326 msgid "Tracebacks" msgstr "" -#: ../../c-api/exceptions.rst:1322 +#: ../../c-api/exceptions.rst:1330 msgid "" "Type object for traceback objects. This is available as :class:`types." "TracebackType` in the Python layer." msgstr "" -#: ../../c-api/exceptions.rst:1328 +#: ../../c-api/exceptions.rst:1336 msgid "" "Return true if *op* is a traceback object, false otherwise. This function " "does not account for subtypes." msgstr "" -#: ../../c-api/exceptions.rst:1334 +#: ../../c-api/exceptions.rst:1342 msgid "" "Replace the :attr:`~BaseException.__traceback__` attribute on the current " "exception with a new traceback prepending *f* to the existing chain." msgstr "" -#: ../../c-api/exceptions.rst:1337 +#: ../../c-api/exceptions.rst:1345 msgid "Calling this function without an exception set is undefined behavior." msgstr "" -#: ../../c-api/exceptions.rst:1339 ../../c-api/exceptions.rst:1347 +#: ../../c-api/exceptions.rst:1347 ../../c-api/exceptions.rst:1355 msgid "" "This function returns ``0`` on success, and returns ``-1`` with an exception " "set on failure." msgstr "" -#: ../../c-api/exceptions.rst:1345 +#: ../../c-api/exceptions.rst:1353 msgid "Write the traceback *tb* into the file *f*." msgstr "" diff --git a/c-api/marshal.po b/c-api/marshal.po index 44e30b9b..1341903c 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -51,7 +51,7 @@ msgid "" "native :c:expr:`long` type. *version* indicates the file format." msgstr "" -#: ../../c-api/marshal.rst:29 ../../c-api/marshal.rst:37 +#: ../../c-api/marshal.rst:29 ../../c-api/marshal.rst:43 msgid "" "This function can fail, in which case it sets the error indicator. Use :c:" "func:`PyErr_Occurred` to check for that." @@ -59,54 +59,72 @@ msgstr "" #: ../../c-api/marshal.rst:34 msgid "" +"In Python 3.15 and earlier, this function does not set the error indicator " +"if writing to *file* fails. The same caveat applies as for :c:func:" +"`PyMarshal_WriteObjectToFile`." +msgstr "" + +#: ../../c-api/marshal.rst:40 +msgid "" "Marshal a Python object, *value*, to *file*. *version* indicates the file " "format." msgstr "" -#: ../../c-api/marshal.rst:42 +#: ../../c-api/marshal.rst:48 +msgid "" +"In Python 3.15 and earlier, this function can write only part of the data to " +"*file* and return without setting the error indicator, for example if " +"*value* contains an object which cannot be marshalled or if writing to " +"*file* fails (see :gh:`155907`). Code which has to support these versions " +"cannot rely on :c:func:`PyErr_Occurred` alone to know that all the data was " +"written. It can use :c:func:`PyMarshal_WriteObjectToString` and write the " +"result itself, or validate what was written." +msgstr "" + +#: ../../c-api/marshal.rst:59 msgid "" "Return a bytes object containing the marshalled representation of *value*. " "*version* indicates the file format." msgstr "" -#: ../../c-api/marshal.rst:46 +#: ../../c-api/marshal.rst:63 msgid "The following functions allow marshalled values to be read back in." msgstr "" -#: ../../c-api/marshal.rst:51 +#: ../../c-api/marshal.rst:68 msgid "" "Return a C :c:expr:`long` from the data stream in a :c:expr:`FILE*` opened " "for reading. Only a 32-bit value can be read in using this function, " "regardless of the native size of :c:expr:`long`." msgstr "" -#: ../../c-api/marshal.rst:55 ../../c-api/marshal.rst:65 +#: ../../c-api/marshal.rst:72 ../../c-api/marshal.rst:82 msgid "" "On error, sets the appropriate exception (:exc:`EOFError`) and returns " "``-1``." msgstr "" -#: ../../c-api/marshal.rst:61 +#: ../../c-api/marshal.rst:78 msgid "" "Return a C :c:expr:`short` from the data stream in a :c:expr:`FILE*` opened " "for reading. Only a 16-bit value can be read in using this function, " "regardless of the native size of :c:expr:`short`." msgstr "" -#: ../../c-api/marshal.rst:71 +#: ../../c-api/marshal.rst:88 msgid "" "Return a Python object from the data stream in a :c:expr:`FILE*` opened for " "reading." msgstr "" -#: ../../c-api/marshal.rst:74 ../../c-api/marshal.rst:88 -#: ../../c-api/marshal.rst:97 +#: ../../c-api/marshal.rst:91 ../../c-api/marshal.rst:105 +#: ../../c-api/marshal.rst:114 msgid "" "On error, sets the appropriate exception (:exc:`EOFError`, :exc:`ValueError` " "or :exc:`TypeError`) and returns ``NULL``." msgstr "" -#: ../../c-api/marshal.rst:80 +#: ../../c-api/marshal.rst:97 msgid "" "Return a Python object from the data stream in a :c:expr:`FILE*` opened for " "reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function " @@ -117,7 +135,7 @@ msgid "" "anything else from the file." msgstr "" -#: ../../c-api/marshal.rst:94 +#: ../../c-api/marshal.rst:111 msgid "" "Return a Python object from the data stream in a byte buffer containing " "*len* bytes pointed to by *data*." diff --git a/c-api/slice.po b/c-api/slice.po index 335a864b..19a52f66 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -65,7 +65,7 @@ msgstr "" msgid "You probably do not want to use this function." msgstr "" -#: ../../c-api/slice.rst:44 ../../c-api/slice.rst:75 +#: ../../c-api/slice.rst:44 ../../c-api/slice.rst:76 msgid "" "The parameter type for the *slice* parameter was ``PySliceObject*`` before." msgstr "" @@ -76,21 +76,21 @@ msgid "" "stop, and step indices from the slice object *slice* assuming a sequence of " "length *length*, and store the length of the slice in *slicelength*. Out of " "bounds indices are clipped in a manner consistent with the handling of " -"normal slices." +"normal slices. *length* must not be negative." msgstr "" -#: ../../c-api/slice.rst:57 +#: ../../c-api/slice.rst:58 msgid "Return ``0`` on success and ``-1`` on error with an exception set." msgstr "" -#: ../../c-api/slice.rst:60 +#: ../../c-api/slice.rst:61 msgid "" "This function is considered not safe for resizable sequences. Its invocation " "should be replaced by a combination of :c:func:`PySlice_Unpack` and :c:func:" "`PySlice_AdjustIndices` where ::" msgstr "" -#: ../../c-api/slice.rst:64 +#: ../../c-api/slice.rst:65 msgid "" "if (PySlice_GetIndicesEx(slice, length, &start, &stop, &step, &slicelength) " "< 0) {\n" @@ -98,11 +98,11 @@ msgid "" "}" msgstr "" -#: ../../c-api/slice.rst:68 +#: ../../c-api/slice.rst:69 msgid "is replaced by ::" msgstr "" -#: ../../c-api/slice.rst:70 +#: ../../c-api/slice.rst:71 msgid "" "if (PySlice_Unpack(slice, &start, &stop, &step) < 0) {\n" " // return error\n" @@ -110,7 +110,7 @@ msgid "" "slicelength = PySlice_AdjustIndices(length, &start, &stop, step);" msgstr "" -#: ../../c-api/slice.rst:79 +#: ../../c-api/slice.rst:80 msgid "" "If ``Py_LIMITED_API`` is not set or set to the value between ``0x03050400`` " "and ``0x03060000`` (not including) or ``0x03060100`` or higher :c:func:`!" @@ -119,14 +119,14 @@ msgid "" "*stop* and *step* are evaluated more than once." msgstr "" -#: ../../c-api/slice.rst:86 +#: ../../c-api/slice.rst:87 msgid "" "If ``Py_LIMITED_API`` is set to the value less than ``0x03050400`` or " "between ``0x03060000`` and ``0x03060100`` (not including) :c:func:`!" "PySlice_GetIndicesEx` is a deprecated function." msgstr "" -#: ../../c-api/slice.rst:94 +#: ../../c-api/slice.rst:95 msgid "" "Extract the start, stop and step data members from a slice object as C " "integers. Silently reduce values larger than ``PY_SSIZE_T_MAX`` to " @@ -135,39 +135,45 @@ msgid "" "less than ``-PY_SSIZE_T_MAX`` to ``-PY_SSIZE_T_MAX``." msgstr "" -#: ../../c-api/slice.rst:100 +#: ../../c-api/slice.rst:101 msgid "Return ``-1`` with an exception set on error, ``0`` on success." msgstr "" -#: ../../c-api/slice.rst:107 +#: ../../c-api/slice.rst:108 msgid "" "Adjust start/end slice indices assuming a sequence of the specified length. " "Out of bounds indices are clipped in a manner consistent with the handling " "of normal slices." msgstr "" -#: ../../c-api/slice.rst:111 +#: ../../c-api/slice.rst:112 +msgid "" +"*length* must not be negative. *step* must not be zero and must not be less " +"than ``-PY_SSIZE_T_MAX``, as guaranteed by :c:func:`PySlice_Unpack`." +msgstr "" + +#: ../../c-api/slice.rst:116 msgid "" "Return the length of the slice. Always successful. Doesn't call Python " "code." msgstr "" -#: ../../c-api/slice.rst:118 +#: ../../c-api/slice.rst:123 msgid "Ellipsis Object" msgstr "" -#: ../../c-api/slice.rst:123 +#: ../../c-api/slice.rst:128 msgid "" "The type of Python :const:`Ellipsis` object. Same as :class:`types." "EllipsisType` in the Python layer." msgstr "" -#: ../../c-api/slice.rst:129 +#: ../../c-api/slice.rst:134 msgid "" "The Python ``Ellipsis`` object. This object has no methods. Like :c:data:" "`Py_None`, it is an :term:`immortal` singleton object." msgstr "" -#: ../../c-api/slice.rst:132 +#: ../../c-api/slice.rst:137 msgid ":c:data:`Py_Ellipsis` is immortal." msgstr "" diff --git a/c-api/unicode.po b/c-api/unicode.po index a22b5565..185f0781 100644 --- a/c-api/unicode.po +++ b/c-api/unicode.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -50,88 +50,96 @@ msgid "" "UTF-8 representation is created on demand and cached in the Unicode object." msgstr "" -#: ../../c-api/unicode.rst:23 +#: ../../c-api/unicode.rst:24 +msgid "" +"The internal buffer always includes an extra trailing null character for " +"compatibility with null terminated C strings. This extra character is not " +"counted in :c:func:`PyUnicode_GetLength` nor in the various *size* arguments " +"of the functions below." +msgstr "" + +#: ../../c-api/unicode.rst:30 msgid "" "The :c:type:`Py_UNICODE` representation has been removed since Python 3.12 " "with deprecated APIs. See :pep:`623` for more information." msgstr "" -#: ../../c-api/unicode.rst:29 +#: ../../c-api/unicode.rst:36 msgid "Unicode Type" msgstr "" -#: ../../c-api/unicode.rst:31 +#: ../../c-api/unicode.rst:38 msgid "" "These are the basic Unicode object types used for the Unicode implementation " "in Python:" msgstr "" -#: ../../c-api/unicode.rst:36 +#: ../../c-api/unicode.rst:43 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python Unicode type. " "It is exposed to Python code as :py:class:`str`." msgstr "" -#: ../../c-api/unicode.rst:42 +#: ../../c-api/unicode.rst:49 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python Unicode " "iterator type. It is used to iterate over Unicode string objects." msgstr "" -#: ../../c-api/unicode.rst:50 +#: ../../c-api/unicode.rst:57 msgid "" "These types are typedefs for unsigned integer types wide enough to contain " "characters of 32 bits, 16 bits and 8 bits, respectively. When dealing with " "single Unicode characters, use :c:type:`Py_UCS4`." msgstr "" -#: ../../c-api/unicode.rst:61 +#: ../../c-api/unicode.rst:68 msgid "" "These subtypes of :c:type:`PyObject` represent a Python Unicode object. In " "almost all cases, they shouldn't be used directly, since all API functions " "that deal with Unicode objects take and return :c:type:`PyObject` pointers." msgstr "" -#: ../../c-api/unicode.rst:68 +#: ../../c-api/unicode.rst:75 msgid "" "The structure of a particular object can be determined using the following " "macros. The macros cannot fail; their behavior is undefined if their " "argument is not a Python Unicode object." msgstr "" -#: ../../c-api/unicode.rst:77 +#: ../../c-api/unicode.rst:84 msgid "True if *o* uses the :c:struct:`PyCompactUnicodeObject` structure." msgstr "" -#: ../../c-api/unicode.rst:84 +#: ../../c-api/unicode.rst:91 msgid "True if *o* uses the :c:struct:`PyASCIIObject` structure." msgstr "" -#: ../../c-api/unicode.rst:89 +#: ../../c-api/unicode.rst:96 msgid "" "The following APIs are C macros and static inlined functions for fast checks " "and access to internal read-only data of Unicode objects:" msgstr "" -#: ../../c-api/unicode.rst:94 +#: ../../c-api/unicode.rst:101 msgid "" "Return true if the object *obj* is a Unicode object or an instance of a " "Unicode subtype. This function always succeeds." msgstr "" -#: ../../c-api/unicode.rst:100 +#: ../../c-api/unicode.rst:107 msgid "" "Return true if the object *obj* is a Unicode object, but not an instance of " "a subtype. This function always succeeds." msgstr "" -#: ../../c-api/unicode.rst:106 +#: ../../c-api/unicode.rst:113 msgid "" "Return the length of the Unicode string, in code points. *unicode* has to " "be a Unicode object in the \"canonical\" representation (not checked)." msgstr "" -#: ../../c-api/unicode.rst:116 +#: ../../c-api/unicode.rst:123 msgid "" "Return a pointer to the canonical representation cast to UCS1, UCS2 or UCS4 " "integer types for direct character access. No checks are performed if the " @@ -139,15 +147,15 @@ msgid "" "`PyUnicode_KIND` to select the right function." msgstr "" -#: ../../c-api/unicode.rst:128 +#: ../../c-api/unicode.rst:135 msgid "Return values of the :c:func:`PyUnicode_KIND` macro." msgstr "" -#: ../../c-api/unicode.rst:132 +#: ../../c-api/unicode.rst:139 msgid "``PyUnicode_WCHAR_KIND`` has been removed." msgstr "" -#: ../../c-api/unicode.rst:138 +#: ../../c-api/unicode.rst:145 msgid "" "Return one of the PyUnicode kind constants (see above) that indicate how " "many bytes per character this Unicode object uses to store its data. " @@ -155,18 +163,18 @@ msgid "" "(not checked)." msgstr "" -#: ../../c-api/unicode.rst:147 +#: ../../c-api/unicode.rst:154 msgid "" "Return a void pointer to the raw Unicode buffer. *unicode* has to be a " "Unicode object in the \"canonical\" representation (not checked)." msgstr "" -#: ../../c-api/unicode.rst:156 +#: ../../c-api/unicode.rst:163 msgid "" "Write the code point *value* to the given zero-based *index* in a string." msgstr "" -#: ../../c-api/unicode.rst:158 +#: ../../c-api/unicode.rst:165 msgid "" "The *kind* value and *data* pointer must have been obtained from a string " "using :c:func:`PyUnicode_KIND` and :c:func:`PyUnicode_DATA` respectively. " @@ -175,177 +183,183 @@ msgid "" "apply." msgstr "" -#: ../../c-api/unicode.rst:164 +#: ../../c-api/unicode.rst:171 msgid "" "The function performs no checks for any of its requirements, and is intended " "for usage in loops." msgstr "" -#: ../../c-api/unicode.rst:173 +#: ../../c-api/unicode.rst:179 msgid "" "Read a code point from a canonical representation *data* (as obtained with :" -"c:func:`PyUnicode_DATA`). No checks or ready calls are performed." +"c:func:`PyUnicode_DATA`). No checks are performed." +msgstr "" + +#: ../../c-api/unicode.rst:184 ../../c-api/unicode.rst:198 +msgid "" +"Accept reading the trailing null character at index :c:func:" +"`PyUnicode_GetLength`." msgstr "" -#: ../../c-api/unicode.rst:181 +#: ../../c-api/unicode.rst:192 msgid "" "Read a character from a Unicode object *unicode*, which must be in the " "\"canonical\" representation. This is less efficient than :c:func:" "`PyUnicode_READ` if you do multiple consecutive reads." msgstr "" -#: ../../c-api/unicode.rst:190 +#: ../../c-api/unicode.rst:206 msgid "" "Return the maximum code point that is suitable for creating another string " "based on *unicode*, which must be in the \"canonical\" representation. This " "is always an approximation but more efficient than iterating over the string." msgstr "" -#: ../../c-api/unicode.rst:199 +#: ../../c-api/unicode.rst:215 msgid "" "Return ``1`` if the string is a valid identifier according to the language " "definition, section :ref:`identifiers`. Return ``0`` otherwise." msgstr "" -#: ../../c-api/unicode.rst:202 +#: ../../c-api/unicode.rst:218 msgid "" "The function does not call :c:func:`Py_FatalError` anymore if the string is " "not ready." msgstr "" -#: ../../c-api/unicode.rst:209 +#: ../../c-api/unicode.rst:225 msgid "" "Return true if the string only contains ASCII characters. Equivalent to :py:" "meth:`str.isascii`." msgstr "" -#: ../../c-api/unicode.rst:216 +#: ../../c-api/unicode.rst:232 msgid "Unicode Character Properties" msgstr "" -#: ../../c-api/unicode.rst:218 +#: ../../c-api/unicode.rst:234 msgid "" "Unicode provides many different character properties. The most often needed " "ones are available through these macros which are mapped to C functions " "depending on the Python configuration." msgstr "" -#: ../../c-api/unicode.rst:225 +#: ../../c-api/unicode.rst:241 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a whitespace character." msgstr "" -#: ../../c-api/unicode.rst:230 +#: ../../c-api/unicode.rst:246 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a lowercase character." msgstr "" -#: ../../c-api/unicode.rst:235 +#: ../../c-api/unicode.rst:251 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is an uppercase character." msgstr "" -#: ../../c-api/unicode.rst:240 +#: ../../c-api/unicode.rst:256 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a titlecase character." msgstr "" -#: ../../c-api/unicode.rst:245 +#: ../../c-api/unicode.rst:261 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a linebreak character." msgstr "" -#: ../../c-api/unicode.rst:250 +#: ../../c-api/unicode.rst:266 msgid "Return ``1`` or ``0`` depending on whether *ch* is a decimal character." msgstr "" -#: ../../c-api/unicode.rst:255 +#: ../../c-api/unicode.rst:271 msgid "Return ``1`` or ``0`` depending on whether *ch* is a digit character." msgstr "" -#: ../../c-api/unicode.rst:260 +#: ../../c-api/unicode.rst:276 msgid "Return ``1`` or ``0`` depending on whether *ch* is a numeric character." msgstr "" -#: ../../c-api/unicode.rst:265 +#: ../../c-api/unicode.rst:281 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is an alphabetic character." msgstr "" -#: ../../c-api/unicode.rst:270 +#: ../../c-api/unicode.rst:286 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is an alphanumeric character." msgstr "" -#: ../../c-api/unicode.rst:275 +#: ../../c-api/unicode.rst:291 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a printable character, in " "the sense of :meth:`str.isprintable`." msgstr "" -#: ../../c-api/unicode.rst:279 +#: ../../c-api/unicode.rst:295 msgid "These APIs can be used for fast direct character conversions:" msgstr "" -#: ../../c-api/unicode.rst:284 +#: ../../c-api/unicode.rst:300 msgid "Return the character *ch* converted to lower case." msgstr "" -#: ../../c-api/unicode.rst:289 +#: ../../c-api/unicode.rst:305 msgid "Return the character *ch* converted to upper case." msgstr "" -#: ../../c-api/unicode.rst:294 +#: ../../c-api/unicode.rst:310 msgid "Return the character *ch* converted to title case." msgstr "" -#: ../../c-api/unicode.rst:299 +#: ../../c-api/unicode.rst:315 msgid "" "Return the character *ch* converted to a decimal positive integer. Return " "``-1`` if this is not possible. This function does not raise exceptions." msgstr "" -#: ../../c-api/unicode.rst:305 +#: ../../c-api/unicode.rst:321 msgid "" "Return the character *ch* converted to a single digit integer. Return ``-1`` " "if this is not possible. This function does not raise exceptions." msgstr "" -#: ../../c-api/unicode.rst:311 +#: ../../c-api/unicode.rst:327 msgid "" "Return the character *ch* converted to a double. Return ``-1.0`` if this is " "not possible. This function does not raise exceptions." msgstr "" -#: ../../c-api/unicode.rst:315 +#: ../../c-api/unicode.rst:331 msgid "These APIs can be used to work with surrogates:" msgstr "" -#: ../../c-api/unicode.rst:319 +#: ../../c-api/unicode.rst:335 msgid "Check if *ch* is a surrogate (``0xD800 <= ch <= 0xDFFF``)." msgstr "" -#: ../../c-api/unicode.rst:323 +#: ../../c-api/unicode.rst:339 msgid "Check if *ch* is a high surrogate (``0xD800 <= ch <= 0xDBFF``)." msgstr "" -#: ../../c-api/unicode.rst:327 +#: ../../c-api/unicode.rst:343 msgid "Check if *ch* is a low surrogate (``0xDC00 <= ch <= 0xDFFF``)." msgstr "" -#: ../../c-api/unicode.rst:331 +#: ../../c-api/unicode.rst:347 msgid "" "Return the high UTF-16 surrogate (``0xD800`` to ``0xDBFF``) for a Unicode " "code point in the range ``[0x10000; 0x10FFFF]``." msgstr "" -#: ../../c-api/unicode.rst:336 +#: ../../c-api/unicode.rst:352 msgid "" "Return the low UTF-16 surrogate (``0xDC00`` to ``0xDFFF``) for a Unicode " "code point in the range ``[0x10000; 0x10FFFF]``." msgstr "" -#: ../../c-api/unicode.rst:341 +#: ../../c-api/unicode.rst:357 msgid "" "Join two surrogate code points and return a single :c:type:`Py_UCS4` value. " "*high* and *low* are respectively the leading and trailing surrogates in a " @@ -353,28 +367,28 @@ msgid "" "must be in the range ``[0xDC00; 0xDFFF]``." msgstr "" -#: ../../c-api/unicode.rst:348 +#: ../../c-api/unicode.rst:364 msgid "Creating and accessing Unicode strings" msgstr "" -#: ../../c-api/unicode.rst:350 +#: ../../c-api/unicode.rst:366 msgid "" "To create Unicode objects and access their basic sequence properties, use " "these APIs:" msgstr "" -#: ../../c-api/unicode.rst:355 +#: ../../c-api/unicode.rst:371 msgid "" "Create a new Unicode object. *maxchar* should be the true maximum code " "point to be placed in the string. As an approximation, it can be rounded up " "to the nearest value in the sequence 127, 255, 65535, 1114111." msgstr "" -#: ../../c-api/unicode.rst:359 +#: ../../c-api/unicode.rst:375 msgid "On error, set an exception and return ``NULL``." msgstr "" -#: ../../c-api/unicode.rst:361 +#: ../../c-api/unicode.rst:377 msgid "" "After creation, the string can be filled by :c:func:`PyUnicode_WriteChar`, :" "c:func:`PyUnicode_CopyCharacters`, :c:func:`PyUnicode_Fill`, :c:func:" @@ -383,38 +397,38 @@ msgid "" "before it's filled with its final contents, a string:" msgstr "" -#: ../../c-api/unicode.rst:368 +#: ../../c-api/unicode.rst:384 msgid "must not be hashed," msgstr "" -#: ../../c-api/unicode.rst:369 +#: ../../c-api/unicode.rst:385 msgid "" "must not be :c:func:`converted to UTF-8 `, or " "another non-\"canonical\" representation," msgstr "" -#: ../../c-api/unicode.rst:371 +#: ../../c-api/unicode.rst:387 msgid "must not have its reference count changed," msgstr "" -#: ../../c-api/unicode.rst:372 +#: ../../c-api/unicode.rst:388 msgid "must not be shared with code that might do one of the above." msgstr "" -#: ../../c-api/unicode.rst:374 +#: ../../c-api/unicode.rst:390 msgid "" "This list is not exhaustive. Avoiding these uses is your responsibility; " "Python does not always check these requirements." msgstr "" -#: ../../c-api/unicode.rst:377 +#: ../../c-api/unicode.rst:393 msgid "" "To avoid accidentally exposing a partially-written string object, prefer " "using the :c:type:`PyUnicodeWriter` API, or one of the ``PyUnicode_From*`` " "functions below." msgstr "" -#: ../../c-api/unicode.rst:388 +#: ../../c-api/unicode.rst:404 msgid "" "Create a new Unicode object with the given *kind* (possible values are :c:" "macro:`PyUnicode_1BYTE_KIND` etc., as returned by :c:func:" @@ -422,7 +436,7 @@ msgid "" "1, 2 or 4 bytes per character, as given by the kind." msgstr "" -#: ../../c-api/unicode.rst:393 +#: ../../c-api/unicode.rst:409 msgid "" "If necessary, the input *buffer* is copied and transformed into the " "canonical representation. For example, if the *buffer* is a UCS4 string (:c:" @@ -430,7 +444,14 @@ msgid "" "range, it will be transformed into UCS1 (:c:macro:`PyUnicode_1BYTE_KIND`)." msgstr "" -#: ../../c-api/unicode.rst:404 +#: ../../c-api/unicode.rst:415 +msgid "" +"All characters must be in range [U+0000; U+10ffff]. If *kind* is :c:macro:" +"`PyUnicode_4BYTE_KIND` and the string contains invalid characters, the " +"behavior is undefined." +msgstr "" + +#: ../../c-api/unicode.rst:424 msgid "" "Create a Unicode object from the char buffer *str*. The bytes will be " "interpreted as being UTF-8 encoded. The buffer is copied into the new " @@ -438,29 +459,29 @@ msgid "" "data is not allowed." msgstr "" -#: ../../c-api/unicode.rst:410 +#: ../../c-api/unicode.rst:430 msgid "This function raises :exc:`SystemError` when:" msgstr "" -#: ../../c-api/unicode.rst:412 +#: ../../c-api/unicode.rst:432 msgid "*size* < 0," msgstr "" -#: ../../c-api/unicode.rst:413 +#: ../../c-api/unicode.rst:433 msgid "*str* is ``NULL`` and *size* > 0" msgstr "" -#: ../../c-api/unicode.rst:415 +#: ../../c-api/unicode.rst:435 msgid "*str* == ``NULL`` with *size* > 0 is not allowed anymore." msgstr "" -#: ../../c-api/unicode.rst:421 +#: ../../c-api/unicode.rst:441 msgid "" "Create a Unicode object from a UTF-8 encoded null-terminated char buffer " "*str*." msgstr "" -#: ../../c-api/unicode.rst:427 +#: ../../c-api/unicode.rst:447 msgid "" "Take a C :c:func:`printf`\\ -style *format* string and a variable number of " "arguments, calculate the size of the resulting Python Unicode string and " @@ -469,23 +490,23 @@ msgid "" "*format* ASCII-encoded string." msgstr "" -#: ../../c-api/unicode.rst:433 +#: ../../c-api/unicode.rst:453 msgid "" "A conversion specifier contains two or more characters and has the following " "components, which must occur in this order:" msgstr "" -#: ../../c-api/unicode.rst:436 +#: ../../c-api/unicode.rst:456 msgid "The ``'%'`` character, which marks the start of the specifier." msgstr "" -#: ../../c-api/unicode.rst:438 +#: ../../c-api/unicode.rst:458 msgid "" "Conversion flags (optional), which affect the result of some conversion " "types." msgstr "" -#: ../../c-api/unicode.rst:441 +#: ../../c-api/unicode.rst:461 msgid "" "Minimum field width (optional). If specified as an ``'*'`` (asterisk), the " "actual width is given in the next argument, which must be of type :c:expr:" @@ -493,7 +514,7 @@ msgid "" "optional precision." msgstr "" -#: ../../c-api/unicode.rst:446 +#: ../../c-api/unicode.rst:466 msgid "" "Precision (optional), given as a ``'.'`` (dot) followed by the precision. If " "specified as ``'*'`` (an asterisk), the actual precision is given in the " @@ -501,316 +522,316 @@ msgid "" "comes after the precision." msgstr "" -#: ../../c-api/unicode.rst:451 +#: ../../c-api/unicode.rst:471 msgid "Length modifier (optional)." msgstr "" -#: ../../c-api/unicode.rst:453 +#: ../../c-api/unicode.rst:473 msgid "Conversion type." msgstr "" -#: ../../c-api/unicode.rst:455 +#: ../../c-api/unicode.rst:475 msgid "The conversion flag characters are:" msgstr "" -#: ../../c-api/unicode.rst:460 +#: ../../c-api/unicode.rst:480 msgid "Flag" msgstr "" -#: ../../c-api/unicode.rst:460 +#: ../../c-api/unicode.rst:480 msgid "Meaning" msgstr "" -#: ../../c-api/unicode.rst:462 +#: ../../c-api/unicode.rst:482 msgid "``0``" msgstr "" -#: ../../c-api/unicode.rst:462 +#: ../../c-api/unicode.rst:482 msgid "The conversion will be zero padded for numeric values." msgstr "" -#: ../../c-api/unicode.rst:464 +#: ../../c-api/unicode.rst:484 msgid "``-``" msgstr "" -#: ../../c-api/unicode.rst:464 +#: ../../c-api/unicode.rst:484 msgid "" "The converted value is left adjusted (overrides the ``0`` flag if both are " "given)." msgstr "" -#: ../../c-api/unicode.rst:468 +#: ../../c-api/unicode.rst:488 msgid "" "The length modifiers for following integer conversions (``d``, ``i``, ``o``, " "``u``, ``x``, or ``X``) specify the type of the argument (:c:expr:`int` by " "default):" msgstr "" -#: ../../c-api/unicode.rst:475 +#: ../../c-api/unicode.rst:495 msgid "Modifier" msgstr "" -#: ../../c-api/unicode.rst:475 +#: ../../c-api/unicode.rst:495 msgid "Types" msgstr "" -#: ../../c-api/unicode.rst:477 +#: ../../c-api/unicode.rst:497 msgid "``l``" msgstr "" -#: ../../c-api/unicode.rst:477 +#: ../../c-api/unicode.rst:497 msgid ":c:expr:`long` or :c:expr:`unsigned long`" msgstr "" -#: ../../c-api/unicode.rst:479 +#: ../../c-api/unicode.rst:499 msgid "``ll``" msgstr "" -#: ../../c-api/unicode.rst:479 +#: ../../c-api/unicode.rst:499 msgid ":c:expr:`long long` or :c:expr:`unsigned long long`" msgstr "" -#: ../../c-api/unicode.rst:481 +#: ../../c-api/unicode.rst:501 msgid "``j``" msgstr "" -#: ../../c-api/unicode.rst:481 +#: ../../c-api/unicode.rst:501 msgid ":c:type:`intmax_t` or :c:type:`uintmax_t`" msgstr "" -#: ../../c-api/unicode.rst:483 +#: ../../c-api/unicode.rst:503 msgid "``z``" msgstr "" -#: ../../c-api/unicode.rst:483 +#: ../../c-api/unicode.rst:503 msgid ":c:type:`size_t` or :c:type:`ssize_t`" msgstr "" -#: ../../c-api/unicode.rst:485 +#: ../../c-api/unicode.rst:505 msgid "``t``" msgstr "" -#: ../../c-api/unicode.rst:485 +#: ../../c-api/unicode.rst:505 msgid ":c:type:`ptrdiff_t`" msgstr "" -#: ../../c-api/unicode.rst:488 +#: ../../c-api/unicode.rst:508 msgid "" "The length modifier ``l`` for following conversions ``s`` or ``V`` specify " "that the type of the argument is :c:expr:`const wchar_t*`." msgstr "" -#: ../../c-api/unicode.rst:491 +#: ../../c-api/unicode.rst:511 msgid "The conversion specifiers are:" msgstr "" -#: ../../c-api/unicode.rst:497 +#: ../../c-api/unicode.rst:517 msgid "Conversion Specifier" msgstr "" -#: ../../c-api/unicode.rst:498 +#: ../../c-api/unicode.rst:518 msgid "Type" msgstr "" -#: ../../c-api/unicode.rst:499 +#: ../../c-api/unicode.rst:519 msgid "Comment" msgstr "" -#: ../../c-api/unicode.rst:501 +#: ../../c-api/unicode.rst:521 msgid "``%``" msgstr "" -#: ../../c-api/unicode.rst:502 +#: ../../c-api/unicode.rst:522 msgid "*n/a*" msgstr "" -#: ../../c-api/unicode.rst:503 +#: ../../c-api/unicode.rst:523 msgid "The literal ``%`` character." msgstr "" -#: ../../c-api/unicode.rst:505 +#: ../../c-api/unicode.rst:525 msgid "``d``, ``i``" msgstr "" -#: ../../c-api/unicode.rst:506 ../../c-api/unicode.rst:510 -#: ../../c-api/unicode.rst:514 ../../c-api/unicode.rst:518 -#: ../../c-api/unicode.rst:522 +#: ../../c-api/unicode.rst:526 ../../c-api/unicode.rst:530 +#: ../../c-api/unicode.rst:534 ../../c-api/unicode.rst:538 +#: ../../c-api/unicode.rst:542 msgid "Specified by the length modifier" msgstr "" -#: ../../c-api/unicode.rst:507 +#: ../../c-api/unicode.rst:527 msgid "The decimal representation of a signed C integer." msgstr "" -#: ../../c-api/unicode.rst:509 +#: ../../c-api/unicode.rst:529 msgid "``u``" msgstr "" -#: ../../c-api/unicode.rst:511 +#: ../../c-api/unicode.rst:531 msgid "The decimal representation of an unsigned C integer." msgstr "" -#: ../../c-api/unicode.rst:513 +#: ../../c-api/unicode.rst:533 msgid "``o``" msgstr "" -#: ../../c-api/unicode.rst:515 +#: ../../c-api/unicode.rst:535 msgid "The octal representation of an unsigned C integer." msgstr "" -#: ../../c-api/unicode.rst:517 +#: ../../c-api/unicode.rst:537 msgid "``x``" msgstr "" -#: ../../c-api/unicode.rst:519 +#: ../../c-api/unicode.rst:539 msgid "The hexadecimal representation of an unsigned C integer (lowercase)." msgstr "" -#: ../../c-api/unicode.rst:521 +#: ../../c-api/unicode.rst:541 msgid "``X``" msgstr "" -#: ../../c-api/unicode.rst:523 +#: ../../c-api/unicode.rst:543 msgid "The hexadecimal representation of an unsigned C integer (uppercase)." msgstr "" -#: ../../c-api/unicode.rst:525 +#: ../../c-api/unicode.rst:545 msgid "``c``" msgstr "" -#: ../../c-api/unicode.rst:526 +#: ../../c-api/unicode.rst:546 msgid ":c:expr:`int`" msgstr "" -#: ../../c-api/unicode.rst:527 +#: ../../c-api/unicode.rst:547 msgid "A single character." msgstr "" -#: ../../c-api/unicode.rst:529 +#: ../../c-api/unicode.rst:549 msgid "``s``" msgstr "" -#: ../../c-api/unicode.rst:530 +#: ../../c-api/unicode.rst:550 msgid ":c:expr:`const char*` or :c:expr:`const wchar_t*`" msgstr "" -#: ../../c-api/unicode.rst:531 +#: ../../c-api/unicode.rst:551 msgid "A null-terminated C character array." msgstr "" -#: ../../c-api/unicode.rst:533 +#: ../../c-api/unicode.rst:553 msgid "``p``" msgstr "" -#: ../../c-api/unicode.rst:534 +#: ../../c-api/unicode.rst:554 msgid ":c:expr:`const void*`" msgstr "" -#: ../../c-api/unicode.rst:535 +#: ../../c-api/unicode.rst:555 msgid "" "The hex representation of a C pointer. Mostly equivalent to " "``printf(\"%p\")`` except that it is guaranteed to start with the literal " "``0x`` regardless of what the platform's ``printf`` yields." msgstr "" -#: ../../c-api/unicode.rst:540 +#: ../../c-api/unicode.rst:560 msgid "``A``" msgstr "" -#: ../../c-api/unicode.rst:541 ../../c-api/unicode.rst:545 -#: ../../c-api/unicode.rst:555 ../../c-api/unicode.rst:559 -#: ../../c-api/unicode.rst:563 ../../c-api/unicode.rst:568 +#: ../../c-api/unicode.rst:561 ../../c-api/unicode.rst:565 +#: ../../c-api/unicode.rst:575 ../../c-api/unicode.rst:579 +#: ../../c-api/unicode.rst:583 ../../c-api/unicode.rst:588 msgid ":c:expr:`PyObject*`" msgstr "" -#: ../../c-api/unicode.rst:542 +#: ../../c-api/unicode.rst:562 msgid "The result of calling :func:`ascii`." msgstr "" -#: ../../c-api/unicode.rst:544 +#: ../../c-api/unicode.rst:564 msgid "``U``" msgstr "" -#: ../../c-api/unicode.rst:546 +#: ../../c-api/unicode.rst:566 msgid "A Unicode object." msgstr "" -#: ../../c-api/unicode.rst:548 +#: ../../c-api/unicode.rst:568 msgid "``V``" msgstr "" -#: ../../c-api/unicode.rst:549 +#: ../../c-api/unicode.rst:569 msgid ":c:expr:`PyObject*`, :c:expr:`const char*` or :c:expr:`const wchar_t*`" msgstr "" -#: ../../c-api/unicode.rst:550 +#: ../../c-api/unicode.rst:570 msgid "" "A Unicode object (which may be ``NULL``) and a null-terminated C character " "array as a second parameter (which will be used, if the first parameter is " "``NULL``)." msgstr "" -#: ../../c-api/unicode.rst:554 +#: ../../c-api/unicode.rst:574 msgid "``S``" msgstr "" -#: ../../c-api/unicode.rst:556 +#: ../../c-api/unicode.rst:576 msgid "The result of calling :c:func:`PyObject_Str`." msgstr "" -#: ../../c-api/unicode.rst:558 +#: ../../c-api/unicode.rst:578 msgid "``R``" msgstr "" -#: ../../c-api/unicode.rst:560 +#: ../../c-api/unicode.rst:580 msgid "The result of calling :c:func:`PyObject_Repr`." msgstr "" -#: ../../c-api/unicode.rst:562 +#: ../../c-api/unicode.rst:582 msgid "``T``" msgstr "" -#: ../../c-api/unicode.rst:564 +#: ../../c-api/unicode.rst:584 msgid "" "Get the fully qualified name of an object type; call :c:func:" "`PyType_GetFullyQualifiedName`." msgstr "" -#: ../../c-api/unicode.rst:567 +#: ../../c-api/unicode.rst:587 msgid "``#T``" msgstr "" -#: ../../c-api/unicode.rst:569 +#: ../../c-api/unicode.rst:589 msgid "" "Similar to ``T`` format, but use a colon (``:``) as separator between the " "module name and the qualified name." msgstr "" -#: ../../c-api/unicode.rst:572 +#: ../../c-api/unicode.rst:592 msgid "``N``" msgstr "" -#: ../../c-api/unicode.rst:573 ../../c-api/unicode.rst:578 +#: ../../c-api/unicode.rst:593 ../../c-api/unicode.rst:598 msgid ":c:expr:`PyTypeObject*`" msgstr "" -#: ../../c-api/unicode.rst:574 +#: ../../c-api/unicode.rst:594 msgid "" "Get the fully qualified name of a type; call :c:func:" "`PyType_GetFullyQualifiedName`." msgstr "" -#: ../../c-api/unicode.rst:577 +#: ../../c-api/unicode.rst:597 msgid "``#N``" msgstr "" -#: ../../c-api/unicode.rst:579 +#: ../../c-api/unicode.rst:599 msgid "" "Similar to ``N`` format, but use a colon (``:``) as separator between the " "module name and the qualified name." msgstr "" -#: ../../c-api/unicode.rst:583 +#: ../../c-api/unicode.rst:603 msgid "" "The width formatter unit is number of characters rather than bytes. The " "precision formatter unit is number of bytes or :c:type:`wchar_t` items (if " @@ -820,28 +841,28 @@ msgid "" "``PyObject*`` argument is not ``NULL``)." msgstr "" -#: ../../c-api/unicode.rst:591 +#: ../../c-api/unicode.rst:611 msgid "" "Unlike to C :c:func:`printf` the ``0`` flag has effect even when a precision " "is given for integer conversions (``d``, ``i``, ``u``, ``o``, ``x``, or " "``X``)." msgstr "" -#: ../../c-api/unicode.rst:595 +#: ../../c-api/unicode.rst:615 msgid "Support for ``\"%lld\"`` and ``\"%llu\"`` added." msgstr "" -#: ../../c-api/unicode.rst:598 +#: ../../c-api/unicode.rst:618 msgid "Support for ``\"%li\"``, ``\"%lli\"`` and ``\"%zi\"`` added." msgstr "" -#: ../../c-api/unicode.rst:601 +#: ../../c-api/unicode.rst:621 msgid "" "Support width and precision formatter for ``\"%s\"``, ``\"%A\"``, " "``\"%U\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"`` added." msgstr "" -#: ../../c-api/unicode.rst:605 +#: ../../c-api/unicode.rst:625 msgid "" "Support for conversion specifiers ``o`` and ``X``. Support for length " "modifiers ``j`` and ``t``. Length modifiers are now applied to all integer " @@ -850,50 +871,50 @@ msgid "" "flag ``-``." msgstr "" -#: ../../c-api/unicode.rst:613 +#: ../../c-api/unicode.rst:633 msgid "" "An unrecognized format character now sets a :exc:`SystemError`. In previous " "versions it caused all the rest of the format string to be copied as-is to " "the result string, and any extra arguments discarded." msgstr "" -#: ../../c-api/unicode.rst:617 +#: ../../c-api/unicode.rst:637 msgid "Support for ``%T``, ``%#T``, ``%N`` and ``%#N`` formats added." msgstr "" -#: ../../c-api/unicode.rst:623 +#: ../../c-api/unicode.rst:643 msgid "" "Identical to :c:func:`PyUnicode_FromFormat` except that it takes exactly two " "arguments." msgstr "" -#: ../../c-api/unicode.rst:629 +#: ../../c-api/unicode.rst:649 msgid "" "Copy an instance of a Unicode subtype to a new true Unicode object if " "necessary. If *obj* is already a true Unicode object (not a subtype), return " "a new :term:`strong reference` to the object." msgstr "" -#: ../../c-api/unicode.rst:633 +#: ../../c-api/unicode.rst:653 msgid "" "Objects other than Unicode or its subtypes will cause a :exc:`TypeError`." msgstr "" -#: ../../c-api/unicode.rst:638 +#: ../../c-api/unicode.rst:658 msgid "Create a Unicode Object from the given Unicode code point *ordinal*." msgstr "" -#: ../../c-api/unicode.rst:640 +#: ../../c-api/unicode.rst:660 msgid "" "The ordinal must be in ``range(0x110000)``. A :exc:`ValueError` is raised in " "the case it is not." msgstr "" -#: ../../c-api/unicode.rst:647 +#: ../../c-api/unicode.rst:667 msgid "Decode an encoded object *obj* to a Unicode object." msgstr "" -#: ../../c-api/unicode.rst:649 +#: ../../c-api/unicode.rst:669 msgid "" ":class:`bytes`, :class:`bytearray` and other :term:`bytes-like objects " "` are decoded according to the given *encoding* and using " @@ -901,40 +922,40 @@ msgid "" "interface use the default values (see :ref:`builtincodecs` for details)." msgstr "" -#: ../../c-api/unicode.rst:655 +#: ../../c-api/unicode.rst:675 msgid "" "All other objects, including Unicode objects, cause a :exc:`TypeError` to be " "set." msgstr "" -#: ../../c-api/unicode.rst:658 +#: ../../c-api/unicode.rst:678 msgid "" "The API returns ``NULL`` if there was an error. The caller is responsible " "for decref'ing the returned objects." msgstr "" -#: ../../c-api/unicode.rst:664 +#: ../../c-api/unicode.rst:684 msgid "" "Append the string *right* to the end of *p_left*. *p_left* must point to a :" "term:`strong reference` to a Unicode object; :c:func:`!PyUnicode_Append` " "releases (\":term:`steals `\") this reference." msgstr "" -#: ../../c-api/unicode.rst:669 +#: ../../c-api/unicode.rst:689 msgid "On error, set *\\*p_left* to ``NULL`` and set an exception." msgstr "" -#: ../../c-api/unicode.rst:671 +#: ../../c-api/unicode.rst:691 msgid "On success, set *\\*p_left* to a new strong reference to the result." msgstr "" -#: ../../c-api/unicode.rst:676 +#: ../../c-api/unicode.rst:696 msgid "" "The function is similar to :c:func:`PyUnicode_Append`, with the only " "difference being that it decrements the reference count of *right* by one." msgstr "" -#: ../../c-api/unicode.rst:682 +#: ../../c-api/unicode.rst:702 msgid "" "Return a mapping suitable for decoding a custom single-byte encoding. Given " "a Unicode string *string* of up to 256 characters representing an encoding " @@ -943,27 +964,31 @@ msgid "" "return ``NULL`` on invalid input." msgstr "" -#: ../../c-api/unicode.rst:693 +#: ../../c-api/unicode.rst:713 msgid "" "Return the name of the default string encoding, ``\"utf-8\"``. See :func:" "`sys.getdefaultencoding`." msgstr "" -#: ../../c-api/unicode.rst:696 +#: ../../c-api/unicode.rst:716 msgid "" "The returned string does not need to be freed, and is valid until " "interpreter shutdown." msgstr "" -#: ../../c-api/unicode.rst:702 +#: ../../c-api/unicode.rst:722 msgid "Return the length of the Unicode object, in code points." msgstr "" -#: ../../c-api/unicode.rst:704 +#: ../../c-api/unicode.rst:724 msgid "On error, set an exception and return ``-1``." msgstr "" -#: ../../c-api/unicode.rst:715 +#: ../../c-api/unicode.rst:728 +msgid "The length does not count the trailing null character." +msgstr "" + +#: ../../c-api/unicode.rst:739 msgid "" "Copy characters from one Unicode object into another. This function " "performs character conversion when necessary and falls back to :c:func:`!" @@ -971,62 +996,62 @@ msgid "" "otherwise returns the number of copied characters." msgstr "" -#: ../../c-api/unicode.rst:720 ../../c-api/unicode.rst:750 -#: ../../c-api/unicode.rst:770 +#: ../../c-api/unicode.rst:744 ../../c-api/unicode.rst:774 +#: ../../c-api/unicode.rst:794 msgid "" "The string must not have been “used” yet. See :c:func:`PyUnicode_New` for " "details." msgstr "" -#: ../../c-api/unicode.rst:728 +#: ../../c-api/unicode.rst:752 msgid "" "Resize a Unicode object *\\*unicode* to the new *length* in code points." msgstr "" -#: ../../c-api/unicode.rst:730 +#: ../../c-api/unicode.rst:754 msgid "" "Try to resize the string in place (which is usually faster than allocating a " "new string and copying characters), or create a new string." msgstr "" -#: ../../c-api/unicode.rst:733 +#: ../../c-api/unicode.rst:757 msgid "" "*\\*unicode* is modified to point to the new (resized) object and ``0`` is " "returned on success. Otherwise, ``-1`` is returned and an exception is set, " "and *\\*unicode* is left untouched." msgstr "" -#: ../../c-api/unicode.rst:737 +#: ../../c-api/unicode.rst:761 msgid "" "The function doesn't check string content, the result may not be a string in " "canonical representation." msgstr "" -#: ../../c-api/unicode.rst:744 +#: ../../c-api/unicode.rst:768 msgid "" "Fill a string with a character: write *fill_char* into ``unicode[start:" "start+length]``." msgstr "" -#: ../../c-api/unicode.rst:747 +#: ../../c-api/unicode.rst:771 msgid "" "Fail if *fill_char* is bigger than the string maximum character, or if the " "string has more than 1 reference." msgstr "" -#: ../../c-api/unicode.rst:753 +#: ../../c-api/unicode.rst:777 msgid "" "Return the number of written characters, or return ``-1`` and raise an " "exception on error." msgstr "" -#: ../../c-api/unicode.rst:762 +#: ../../c-api/unicode.rst:786 msgid "" "Write a *character* to the string *unicode* at the zero-based *index*. " "Return ``0`` on success, ``-1`` on error with an exception set." msgstr "" -#: ../../c-api/unicode.rst:765 +#: ../../c-api/unicode.rst:789 msgid "" "This function checks that *unicode* is a Unicode object, that the index is " "not out of bounds, and that the object's reference count is one. See :c:func:" @@ -1034,25 +1059,31 @@ msgid "" "responsibility." msgstr "" -#: ../../c-api/unicode.rst:778 +#: ../../c-api/unicode.rst:802 msgid "" "Read a character from a string. This function checks that *unicode* is a " "Unicode object and the index is not out of bounds, in contrast to :c:func:" "`PyUnicode_READ_CHAR`, which performs no error checking." msgstr "" -#: ../../c-api/unicode.rst:782 +#: ../../c-api/unicode.rst:806 msgid "Return character on success, ``-1`` on error with an exception set." msgstr "" -#: ../../c-api/unicode.rst:790 +#: ../../c-api/unicode.rst:810 +msgid "" +"Do not accept reading the trailing null character at index :c:func:" +"`PyUnicode_GetLength`." +msgstr "" + +#: ../../c-api/unicode.rst:819 msgid "" "Return a substring of *unicode*, from character index *start* (included) to " "character index *end* (excluded). Negative indices are not supported. On " "error, set an exception and return ``NULL``." msgstr "" -#: ../../c-api/unicode.rst:800 +#: ../../c-api/unicode.rst:829 msgid "" "Copy the string *unicode* into a UCS4 buffer, including a null character, if " "*copy_null* is set. Returns ``NULL`` and sets an exception on error (in " @@ -1060,7 +1091,7 @@ msgid "" "*unicode*). *buffer* is returned on success." msgstr "" -#: ../../c-api/unicode.rst:810 +#: ../../c-api/unicode.rst:839 msgid "" "Copy the string *unicode* into a new UCS4 buffer that is allocated using :c:" "func:`PyMem_Malloc`. If this fails, ``NULL`` is returned with a :exc:" @@ -1068,17 +1099,17 @@ msgid "" "appended." msgstr "" -#: ../../c-api/unicode.rst:819 +#: ../../c-api/unicode.rst:848 msgid "Locale Encoding" msgstr "" -#: ../../c-api/unicode.rst:821 +#: ../../c-api/unicode.rst:850 msgid "" "The current locale encoding can be used to decode text from the operating " "system." msgstr "" -#: ../../c-api/unicode.rst:828 +#: ../../c-api/unicode.rst:857 msgid "" "Decode a string from UTF-8 on Android and VxWorks, or from the current " "locale encoding on other platforms. The supported error handlers are " @@ -1087,21 +1118,21 @@ msgid "" "null character but cannot contain embedded null characters." msgstr "" -#: ../../c-api/unicode.rst:835 +#: ../../c-api/unicode.rst:864 msgid "" "Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` to decode a string from the :" "term:`filesystem encoding and error handler`." msgstr "" -#: ../../c-api/unicode.rst:838 ../../c-api/unicode.rst:873 +#: ../../c-api/unicode.rst:867 ../../c-api/unicode.rst:902 msgid "This function ignores the :ref:`Python UTF-8 Mode `." msgstr "" -#: ../../c-api/unicode.rst:842 ../../c-api/unicode.rst:958 +#: ../../c-api/unicode.rst:871 ../../c-api/unicode.rst:987 msgid "The :c:func:`Py_DecodeLocale` function." msgstr "" -#: ../../c-api/unicode.rst:846 +#: ../../c-api/unicode.rst:875 msgid "" "The function now also uses the current locale encoding for the " "``surrogateescape`` error handler, except on Android. Previously, :c:func:" @@ -1109,13 +1140,13 @@ msgid "" "locale encoding was used for ``strict``." msgstr "" -#: ../../c-api/unicode.rst:855 +#: ../../c-api/unicode.rst:884 msgid "" "Similar to :c:func:`PyUnicode_DecodeLocaleAndSize`, but compute the string " "length using :c:func:`!strlen`." msgstr "" -#: ../../c-api/unicode.rst:863 +#: ../../c-api/unicode.rst:892 msgid "" "Encode a Unicode object to UTF-8 on Android and VxWorks, or to the current " "locale encoding on other platforms. The supported error handlers are " @@ -1124,17 +1155,17 @@ msgid "" "`bytes` object. *unicode* cannot contain embedded null characters." msgstr "" -#: ../../c-api/unicode.rst:870 +#: ../../c-api/unicode.rst:899 msgid "" "Use :c:func:`PyUnicode_EncodeFSDefault` to encode a string to the :term:" "`filesystem encoding and error handler`." msgstr "" -#: ../../c-api/unicode.rst:877 ../../c-api/unicode.rst:989 +#: ../../c-api/unicode.rst:906 ../../c-api/unicode.rst:1018 msgid "The :c:func:`Py_EncodeLocale` function." msgstr "" -#: ../../c-api/unicode.rst:881 +#: ../../c-api/unicode.rst:910 msgid "" "The function now also uses the current locale encoding for the " "``surrogateescape`` error handler, except on Android. Previously, :c:func:" @@ -1142,24 +1173,24 @@ msgid "" "locale encoding was used for ``strict``." msgstr "" -#: ../../c-api/unicode.rst:890 +#: ../../c-api/unicode.rst:919 msgid "File System Encoding" msgstr "" -#: ../../c-api/unicode.rst:892 +#: ../../c-api/unicode.rst:921 msgid "" "Functions encoding to and decoding from the :term:`filesystem encoding and " "error handler` (:pep:`383` and :pep:`529`)." msgstr "" -#: ../../c-api/unicode.rst:895 +#: ../../c-api/unicode.rst:924 msgid "" "To encode file names to :class:`bytes` during argument parsing, the " "``\"O&\"`` converter should be used, passing :c:func:`!" "PyUnicode_FSConverter` as the conversion function:" msgstr "" -#: ../../c-api/unicode.rst:901 +#: ../../c-api/unicode.rst:930 msgid "" ":ref:`PyArg_Parse\\* converter `: encode :class:`str` objects " "-- obtained directly or through the :class:`os.PathLike` interface -- to :" @@ -1172,24 +1203,24 @@ msgid "" "not allowed in the result. On failure, return ``0`` with an exception set." msgstr "" -#: ../../c-api/unicode.rst:913 +#: ../../c-api/unicode.rst:942 msgid "" "If *obj* is ``NULL``, the function releases a strong reference stored in the " "variable referred by *result* and returns ``1``." msgstr "" -#: ../../c-api/unicode.rst:918 ../../c-api/unicode.rst:945 +#: ../../c-api/unicode.rst:947 ../../c-api/unicode.rst:974 msgid "Accepts a :term:`path-like object`." msgstr "" -#: ../../c-api/unicode.rst:921 +#: ../../c-api/unicode.rst:950 msgid "" "To decode file names to :class:`str` during argument parsing, the ``\"O&\"`` " "converter should be used, passing :c:func:`!PyUnicode_FSDecoder` as the " "conversion function:" msgstr "" -#: ../../c-api/unicode.rst:927 +#: ../../c-api/unicode.rst:956 msgid "" ":ref:`PyArg_Parse\\* converter `: decode :class:`bytes` objects " "-- obtained either directly or indirectly through the :class:`os.PathLike` " @@ -1203,63 +1234,63 @@ msgid "" "result. On failure, return ``0`` with an exception set." msgstr "" -#: ../../c-api/unicode.rst:940 +#: ../../c-api/unicode.rst:969 msgid "" "If *obj* is ``NULL``, release the strong reference to the object referred to " "by *result* and return ``1``." msgstr "" -#: ../../c-api/unicode.rst:951 +#: ../../c-api/unicode.rst:980 msgid "Decode a string from the :term:`filesystem encoding and error handler`." msgstr "" -#: ../../c-api/unicode.rst:953 +#: ../../c-api/unicode.rst:982 msgid "" "If you need to decode a string from the current locale encoding, use :c:func:" "`PyUnicode_DecodeLocaleAndSize`." msgstr "" -#: ../../c-api/unicode.rst:960 ../../c-api/unicode.rst:973 -#: ../../c-api/unicode.rst:993 +#: ../../c-api/unicode.rst:989 ../../c-api/unicode.rst:1002 +#: ../../c-api/unicode.rst:1022 msgid "" "The :term:`filesystem error handler ` " "is now used." msgstr "" -#: ../../c-api/unicode.rst:967 +#: ../../c-api/unicode.rst:996 msgid "" "Decode a null-terminated string from the :term:`filesystem encoding and " "error handler`." msgstr "" -#: ../../c-api/unicode.rst:970 +#: ../../c-api/unicode.rst:999 msgid "" "If the string length is known, use :c:func:" "`PyUnicode_DecodeFSDefaultAndSize`." msgstr "" -#: ../../c-api/unicode.rst:980 +#: ../../c-api/unicode.rst:1009 msgid "" "Encode a Unicode object to the :term:`filesystem encoding and error " "handler`, and return :class:`bytes`. Note that the resulting :class:`bytes` " "object can contain null bytes." msgstr "" -#: ../../c-api/unicode.rst:984 +#: ../../c-api/unicode.rst:1013 msgid "" "If you need to encode a string to the current locale encoding, use :c:func:" "`PyUnicode_EncodeLocale`." msgstr "" -#: ../../c-api/unicode.rst:998 +#: ../../c-api/unicode.rst:1027 msgid "wchar_t Support" msgstr "" -#: ../../c-api/unicode.rst:1000 +#: ../../c-api/unicode.rst:1029 msgid ":c:type:`wchar_t` support for platforms which support it:" msgstr "" -#: ../../c-api/unicode.rst:1004 +#: ../../c-api/unicode.rst:1033 msgid "" "Create a Unicode object from the :c:type:`wchar_t` buffer *wstr* of the " "given *size*. Passing ``-1`` as the *size* indicates that the function must " @@ -1267,7 +1298,7 @@ msgid "" "failure." msgstr "" -#: ../../c-api/unicode.rst:1012 +#: ../../c-api/unicode.rst:1041 msgid "" "Copy the Unicode object contents into the :c:type:`wchar_t` buffer *wstr*. " "At most *size* :c:type:`wchar_t` characters are copied (excluding a possibly " @@ -1275,13 +1306,13 @@ msgid "" "`wchar_t` characters copied or ``-1`` in case of an error." msgstr "" -#: ../../c-api/unicode.rst:1017 +#: ../../c-api/unicode.rst:1046 msgid "" "When *wstr* is ``NULL``, instead return the *size* that would be required to " "store all of *unicode* including a terminating null." msgstr "" -#: ../../c-api/unicode.rst:1020 +#: ../../c-api/unicode.rst:1049 msgid "" "Note that the resulting :c:expr:`wchar_t*` string may or may not be null-" "terminated. It is the responsibility of the caller to make sure that the :c:" @@ -1291,7 +1322,7 @@ msgid "" "most C functions." msgstr "" -#: ../../c-api/unicode.rst:1030 +#: ../../c-api/unicode.rst:1059 msgid "" "Convert the Unicode object to a wide character string. The output string " "always ends with a null character. If *size* is not ``NULL``, write the " @@ -1302,37 +1333,37 @@ msgid "" "`wchar_t*` string contains null characters a :exc:`ValueError` is raised." msgstr "" -#: ../../c-api/unicode.rst:1038 +#: ../../c-api/unicode.rst:1067 msgid "" "Returns a buffer allocated by :c:macro:`PyMem_New` (use :c:func:`PyMem_Free` " "to free it) on success. On error, returns ``NULL`` and *\\*size* is " "undefined. Raises a :exc:`MemoryError` if memory allocation is failed." msgstr "" -#: ../../c-api/unicode.rst:1045 +#: ../../c-api/unicode.rst:1074 msgid "" "Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:expr:`wchar_t*` " "string contains null characters." msgstr "" -#: ../../c-api/unicode.rst:1053 +#: ../../c-api/unicode.rst:1082 msgid "Built-in Codecs" msgstr "" -#: ../../c-api/unicode.rst:1055 +#: ../../c-api/unicode.rst:1084 msgid "" "Python provides a set of built-in codecs which are written in C for speed. " "All of these codecs are directly usable via the following functions." msgstr "" -#: ../../c-api/unicode.rst:1058 +#: ../../c-api/unicode.rst:1087 msgid "" "Many of the following APIs take two arguments encoding and errors, and they " "have the same semantics as the ones of the built-in :func:`str` string " "object constructor." msgstr "" -#: ../../c-api/unicode.rst:1062 +#: ../../c-api/unicode.rst:1091 msgid "" "Setting encoding to ``NULL`` causes the default encoding to be used which is " "UTF-8. The file system calls should use :c:func:`PyUnicode_FSConverter` for " @@ -1340,42 +1371,42 @@ msgid "" "handler` internally." msgstr "" -#: ../../c-api/unicode.rst:1067 +#: ../../c-api/unicode.rst:1096 msgid "" "Error handling is set by errors which may also be set to ``NULL`` meaning to " "use the default handling defined for the codec. Default error handling for " "all built-in codecs is \"strict\" (:exc:`ValueError` is raised)." msgstr "" -#: ../../c-api/unicode.rst:1071 +#: ../../c-api/unicode.rst:1100 msgid "" "The codecs all use a similar interface. Only deviations from the following " "generic ones are documented for simplicity." msgstr "" -#: ../../c-api/unicode.rst:1076 +#: ../../c-api/unicode.rst:1105 msgid "Generic Codecs" msgstr "" -#: ../../c-api/unicode.rst:1078 +#: ../../c-api/unicode.rst:1107 msgid "The following macro is provided:" msgstr "" -#: ../../c-api/unicode.rst:1083 +#: ../../c-api/unicode.rst:1112 msgid "The Unicode code point ``U+FFFD`` (replacement character)." msgstr "" -#: ../../c-api/unicode.rst:1085 +#: ../../c-api/unicode.rst:1114 msgid "" "This Unicode character is used as the replacement character during decoding " "if the *errors* argument is set to \"replace\"." msgstr "" -#: ../../c-api/unicode.rst:1089 +#: ../../c-api/unicode.rst:1118 msgid "These are the generic codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1095 +#: ../../c-api/unicode.rst:1124 msgid "" "Create a Unicode object by decoding *size* bytes of the encoded string " "*str*. *encoding* and *errors* have the same meaning as the parameters of " @@ -1384,7 +1415,7 @@ msgid "" "was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1105 +#: ../../c-api/unicode.rst:1134 msgid "" "Encode a Unicode object and return the result as Python bytes object. " "*encoding* and *errors* have the same meaning as the parameters of the same " @@ -1393,21 +1424,21 @@ msgid "" "was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1113 +#: ../../c-api/unicode.rst:1142 msgid "UTF-8 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1115 +#: ../../c-api/unicode.rst:1144 msgid "These are the UTF-8 codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1120 +#: ../../c-api/unicode.rst:1149 msgid "" "Create a Unicode object by decoding *size* bytes of the UTF-8 encoded string " "*str*. Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1127 +#: ../../c-api/unicode.rst:1156 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF8`. If " "*consumed* is not ``NULL``, trailing incomplete UTF-8 byte sequences will " @@ -1415,20 +1446,20 @@ msgid "" "of bytes that have been decoded will be stored in *consumed*." msgstr "" -#: ../../c-api/unicode.rst:1135 +#: ../../c-api/unicode.rst:1164 msgid "" "Encode a Unicode object using UTF-8 and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1139 ../../c-api/unicode.rst:1154 +#: ../../c-api/unicode.rst:1168 ../../c-api/unicode.rst:1183 msgid "" "The function fails if the string contains surrogate code points (``U+D800`` " "- ``U+DFFF``)." msgstr "" -#: ../../c-api/unicode.rst:1145 +#: ../../c-api/unicode.rst:1174 msgid "" "Return a pointer to the UTF-8 encoding of the Unicode object, and store the " "size of the encoded representation (in bytes) in *size*. The *size* " @@ -1437,13 +1468,13 @@ msgid "" "regardless of whether there are any other null code points." msgstr "" -#: ../../c-api/unicode.rst:1151 +#: ../../c-api/unicode.rst:1180 msgid "" "On error, set an exception, set *size* to ``-1`` (if it's not NULL) and " "return ``NULL``." msgstr "" -#: ../../c-api/unicode.rst:1157 +#: ../../c-api/unicode.rst:1186 msgid "" "This caches the UTF-8 representation of the string in the Unicode object, " "and subsequent calls will return a pointer to the same buffer. The caller " @@ -1452,19 +1483,19 @@ msgid "" "collected." msgstr "" -#: ../../c-api/unicode.rst:1164 ../../c-api/unicode.rst:1186 +#: ../../c-api/unicode.rst:1193 ../../c-api/unicode.rst:1215 msgid "The return type is now ``const char *`` rather than ``char *``." msgstr "" -#: ../../c-api/unicode.rst:1167 +#: ../../c-api/unicode.rst:1196 msgid "This function is a part of the :ref:`limited API `." msgstr "" -#: ../../c-api/unicode.rst:1173 +#: ../../c-api/unicode.rst:1202 msgid "As :c:func:`PyUnicode_AsUTF8AndSize`, but does not store the size." msgstr "" -#: ../../c-api/unicode.rst:1177 +#: ../../c-api/unicode.rst:1206 msgid "" "This function does not have any special behavior for `null characters " "`_ embedded within *unicode*. " @@ -1474,35 +1505,35 @@ msgid "" "c:func:`PyUnicode_AsUTF8AndSize` instead." msgstr "" -#: ../../c-api/unicode.rst:1191 +#: ../../c-api/unicode.rst:1220 msgid "UTF-32 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1193 +#: ../../c-api/unicode.rst:1222 msgid "These are the UTF-32 codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1199 +#: ../../c-api/unicode.rst:1228 msgid "" "Decode *size* bytes from a UTF-32 encoded buffer string and return the " "corresponding Unicode object. *errors* (if non-``NULL``) defines the error " "handling. It defaults to \"strict\"." msgstr "" -#: ../../c-api/unicode.rst:1203 ../../c-api/unicode.rst:1253 +#: ../../c-api/unicode.rst:1232 ../../c-api/unicode.rst:1282 msgid "" "If *byteorder* is non-``NULL``, the decoder starts decoding using the given " "byte order::" msgstr "" -#: ../../c-api/unicode.rst:1206 ../../c-api/unicode.rst:1256 +#: ../../c-api/unicode.rst:1235 ../../c-api/unicode.rst:1285 msgid "" "*byteorder == -1: little endian\n" "*byteorder == 0: native order\n" "*byteorder == 1: big endian" msgstr "" -#: ../../c-api/unicode.rst:1210 +#: ../../c-api/unicode.rst:1239 msgid "" "If ``*byteorder`` is zero, and the first four bytes of the input data are a " "byte order mark (BOM), the decoder switches to this byte order and the BOM " @@ -1510,21 +1541,21 @@ msgid "" "``-1`` or ``1``, any byte order mark is copied to the output." msgstr "" -#: ../../c-api/unicode.rst:1215 +#: ../../c-api/unicode.rst:1244 msgid "" "After completion, *\\*byteorder* is set to the current byte order at the end " "of input data." msgstr "" -#: ../../c-api/unicode.rst:1218 ../../c-api/unicode.rst:1269 +#: ../../c-api/unicode.rst:1247 ../../c-api/unicode.rst:1298 msgid "If *byteorder* is ``NULL``, the codec starts in native order mode." msgstr "" -#: ../../c-api/unicode.rst:1220 ../../c-api/unicode.rst:1271 +#: ../../c-api/unicode.rst:1249 ../../c-api/unicode.rst:1300 msgid "Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1226 +#: ../../c-api/unicode.rst:1255 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF32`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF32Stateful` will not " @@ -1533,29 +1564,29 @@ msgid "" "number of bytes that have been decoded will be stored in *consumed*." msgstr "" -#: ../../c-api/unicode.rst:1235 +#: ../../c-api/unicode.rst:1264 msgid "" "Return a Python byte string using the UTF-32 encoding in native byte order. " "The string always starts with a BOM mark. Error handling is \"strict\". " "Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1241 +#: ../../c-api/unicode.rst:1270 msgid "UTF-16 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1243 +#: ../../c-api/unicode.rst:1272 msgid "These are the UTF-16 codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1249 +#: ../../c-api/unicode.rst:1278 msgid "" "Decode *size* bytes from a UTF-16 encoded buffer string and return the " "corresponding Unicode object. *errors* (if non-``NULL``) defines the error " "handling. It defaults to \"strict\"." msgstr "" -#: ../../c-api/unicode.rst:1260 +#: ../../c-api/unicode.rst:1289 msgid "" "If ``*byteorder`` is zero, and the first two bytes of the input data are a " "byte order mark (BOM), the decoder switches to this byte order and the BOM " @@ -1564,13 +1595,13 @@ msgid "" "result in either a ``\\ufeff`` or a ``\\ufffe`` character)." msgstr "" -#: ../../c-api/unicode.rst:1266 +#: ../../c-api/unicode.rst:1295 msgid "" "After completion, ``*byteorder`` is set to the current byte order at the end " "of input data." msgstr "" -#: ../../c-api/unicode.rst:1277 +#: ../../c-api/unicode.rst:1306 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF16`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF16Stateful` will not " @@ -1580,28 +1611,28 @@ msgid "" "*consumed*." msgstr "" -#: ../../c-api/unicode.rst:1286 +#: ../../c-api/unicode.rst:1315 msgid "" "Return a Python byte string using the UTF-16 encoding in native byte order. " "The string always starts with a BOM mark. Error handling is \"strict\". " "Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1292 +#: ../../c-api/unicode.rst:1321 msgid "UTF-7 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1294 +#: ../../c-api/unicode.rst:1323 msgid "These are the UTF-7 codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1299 +#: ../../c-api/unicode.rst:1328 msgid "" "Create a Unicode object by decoding *size* bytes of the UTF-7 encoded string " "*str*. Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1306 +#: ../../c-api/unicode.rst:1335 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF7`. If " "*consumed* is not ``NULL``, trailing incomplete UTF-7 base-64 sections will " @@ -1609,101 +1640,101 @@ msgid "" "of bytes that have been decoded will be stored in *consumed*." msgstr "" -#: ../../c-api/unicode.rst:1313 +#: ../../c-api/unicode.rst:1342 msgid "Unicode-Escape Codecs" msgstr "" -#: ../../c-api/unicode.rst:1315 +#: ../../c-api/unicode.rst:1344 msgid "These are the \"Unicode Escape\" codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1321 +#: ../../c-api/unicode.rst:1350 msgid "" "Create a Unicode object by decoding *size* bytes of the Unicode-Escape " "encoded string *str*. Return ``NULL`` if an exception was raised by the " "codec." msgstr "" -#: ../../c-api/unicode.rst:1327 +#: ../../c-api/unicode.rst:1356 msgid "" "Encode a Unicode object using Unicode-Escape and return the result as a " "bytes object. Error handling is \"strict\". Return ``NULL`` if an " "exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1333 +#: ../../c-api/unicode.rst:1362 msgid "Raw-Unicode-Escape Codecs" msgstr "" -#: ../../c-api/unicode.rst:1335 +#: ../../c-api/unicode.rst:1364 msgid "These are the \"Raw Unicode Escape\" codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1341 +#: ../../c-api/unicode.rst:1370 msgid "" "Create a Unicode object by decoding *size* bytes of the Raw-Unicode-Escape " "encoded string *str*. Return ``NULL`` if an exception was raised by the " "codec." msgstr "" -#: ../../c-api/unicode.rst:1347 +#: ../../c-api/unicode.rst:1376 msgid "" "Encode a Unicode object using Raw-Unicode-Escape and return the result as a " "bytes object. Error handling is \"strict\". Return ``NULL`` if an " "exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1353 +#: ../../c-api/unicode.rst:1382 msgid "Latin-1 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1355 +#: ../../c-api/unicode.rst:1384 msgid "" "These are the Latin-1 codec APIs: Latin-1 corresponds to the first 256 " "Unicode ordinals and only these are accepted by the codecs during encoding." msgstr "" -#: ../../c-api/unicode.rst:1361 +#: ../../c-api/unicode.rst:1390 msgid "" "Create a Unicode object by decoding *size* bytes of the Latin-1 encoded " "string *str*. Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1367 +#: ../../c-api/unicode.rst:1396 msgid "" "Encode a Unicode object using Latin-1 and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1373 +#: ../../c-api/unicode.rst:1402 msgid "ASCII Codecs" msgstr "" -#: ../../c-api/unicode.rst:1375 +#: ../../c-api/unicode.rst:1404 msgid "" "These are the ASCII codec APIs. Only 7-bit ASCII data is accepted. All " "other codes generate errors." msgstr "" -#: ../../c-api/unicode.rst:1381 +#: ../../c-api/unicode.rst:1410 msgid "" "Create a Unicode object by decoding *size* bytes of the ASCII encoded string " "*str*. Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1387 +#: ../../c-api/unicode.rst:1416 msgid "" "Encode a Unicode object using ASCII and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1393 +#: ../../c-api/unicode.rst:1422 msgid "Character Map Codecs" msgstr "" -#: ../../c-api/unicode.rst:1395 +#: ../../c-api/unicode.rst:1424 msgid "" "This codec is special in that it can be used to implement many different " "codecs (and this is in fact what was done to obtain most of the standard " @@ -1713,18 +1744,18 @@ msgid "" "sequences work well." msgstr "" -#: ../../c-api/unicode.rst:1401 +#: ../../c-api/unicode.rst:1430 msgid "These are the mapping codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1406 +#: ../../c-api/unicode.rst:1435 msgid "" "Create a Unicode object by decoding *size* bytes of the encoded string *str* " "using the given *mapping* object. Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1410 +#: ../../c-api/unicode.rst:1439 msgid "" "If *mapping* is ``NULL``, Latin-1 decoding will be applied. Else *mapping* " "must map bytes ordinals (integers in the range from 0 to 255) to Unicode " @@ -1734,14 +1765,14 @@ msgid "" "treated as undefined mappings and cause an error." msgstr "" -#: ../../c-api/unicode.rst:1421 +#: ../../c-api/unicode.rst:1450 msgid "" "Encode a Unicode object using the given *mapping* object and return the " "result as a bytes object. Error handling is \"strict\". Return ``NULL`` if " "an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1425 +#: ../../c-api/unicode.rst:1454 msgid "" "The *mapping* object must map Unicode ordinal integers to bytes objects, " "integers in the range from 0 to 255 or ``None``. Unmapped character " @@ -1749,41 +1780,41 @@ msgid "" "``None`` are treated as \"undefined mapping\" and cause an error." msgstr "" -#: ../../c-api/unicode.rst:1431 +#: ../../c-api/unicode.rst:1460 msgid "The following codec API is special in that maps Unicode to Unicode." msgstr "" -#: ../../c-api/unicode.rst:1435 +#: ../../c-api/unicode.rst:1464 msgid "" "Translate a string by applying a character mapping table to it and return " "the resulting Unicode object. Return ``NULL`` if an exception was raised by " "the codec." msgstr "" -#: ../../c-api/unicode.rst:1439 +#: ../../c-api/unicode.rst:1468 msgid "" "The mapping table must map Unicode ordinal integers to Unicode ordinal " "integers or ``None`` (causing deletion of the character)." msgstr "" -#: ../../c-api/unicode.rst:1442 +#: ../../c-api/unicode.rst:1471 msgid "" "Mapping tables need only provide the :meth:`~object.__getitem__` interface; " "dictionaries and sequences work well. Unmapped character ordinals (ones " "which cause a :exc:`LookupError`) are left untouched and are copied as-is." msgstr "" -#: ../../c-api/unicode.rst:1446 +#: ../../c-api/unicode.rst:1475 msgid "" "*errors* has the usual meaning for codecs. It may be ``NULL`` which " "indicates to use the default error handling." msgstr "" -#: ../../c-api/unicode.rst:1451 +#: ../../c-api/unicode.rst:1480 msgid "MBCS codecs for Windows" msgstr "" -#: ../../c-api/unicode.rst:1453 +#: ../../c-api/unicode.rst:1482 msgid "" "These are the MBCS codec APIs. They are currently only available on Windows " "and use the Win32 MBCS converters to implement the conversions. Note that " @@ -1791,13 +1822,13 @@ msgid "" "is defined by the user settings on the machine running the codec." msgstr "" -#: ../../c-api/unicode.rst:1460 +#: ../../c-api/unicode.rst:1489 msgid "" "Create a Unicode object by decoding *size* bytes of the MBCS encoded string " "*str*. Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1467 +#: ../../c-api/unicode.rst:1496 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeMBCS`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeMBCSStateful` will not " @@ -1805,46 +1836,46 @@ msgid "" "will be stored in *consumed*." msgstr "" -#: ../../c-api/unicode.rst:1476 +#: ../../c-api/unicode.rst:1505 msgid "" "Similar to :c:func:`PyUnicode_DecodeMBCSStateful`, except uses the code page " "specified by *code_page*." msgstr "" -#: ../../c-api/unicode.rst:1482 +#: ../../c-api/unicode.rst:1511 msgid "" "Encode a Unicode object using MBCS and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1489 +#: ../../c-api/unicode.rst:1518 msgid "" "Encode the Unicode object using the specified code page and return a Python " "bytes object. Return ``NULL`` if an exception was raised by the codec. Use :" "c:macro:`!CP_ACP` code page to get the MBCS encoder." msgstr "" -#: ../../c-api/unicode.rst:1499 +#: ../../c-api/unicode.rst:1528 msgid "Methods and Slot Functions" msgstr "" -#: ../../c-api/unicode.rst:1501 +#: ../../c-api/unicode.rst:1530 msgid "" "The following APIs are capable of handling Unicode objects and strings on " "input (we refer to them as strings in the descriptions) and return Unicode " "objects or integers as appropriate." msgstr "" -#: ../../c-api/unicode.rst:1505 +#: ../../c-api/unicode.rst:1534 msgid "They all return ``NULL`` or ``-1`` if an exception occurs." msgstr "" -#: ../../c-api/unicode.rst:1510 +#: ../../c-api/unicode.rst:1539 msgid "Concat two strings giving a new Unicode string." msgstr "" -#: ../../c-api/unicode.rst:1515 +#: ../../c-api/unicode.rst:1544 msgid "" "Split a string giving a list of Unicode strings. If *sep* is ``NULL``, " "splitting will be done at all whitespace substrings. Otherwise, splits " @@ -1853,33 +1884,33 @@ msgid "" "list." msgstr "" -#: ../../c-api/unicode.rst:1520 ../../c-api/unicode.rst:1530 -#: ../../c-api/unicode.rst:1551 ../../c-api/unicode.rst:1564 +#: ../../c-api/unicode.rst:1549 ../../c-api/unicode.rst:1559 +#: ../../c-api/unicode.rst:1580 ../../c-api/unicode.rst:1593 msgid "On error, return ``NULL`` with an exception set." msgstr "" -#: ../../c-api/unicode.rst:1522 +#: ../../c-api/unicode.rst:1551 msgid "Equivalent to :py:meth:`str.split`." msgstr "" -#: ../../c-api/unicode.rst:1527 +#: ../../c-api/unicode.rst:1556 msgid "" "Similar to :c:func:`PyUnicode_Split`, but splitting will be done beginning " "at the end of the string." msgstr "" -#: ../../c-api/unicode.rst:1532 +#: ../../c-api/unicode.rst:1561 msgid "Equivalent to :py:meth:`str.rsplit`." msgstr "" -#: ../../c-api/unicode.rst:1537 +#: ../../c-api/unicode.rst:1566 msgid "" "Split a Unicode string at line breaks, returning a list of Unicode strings. " "CRLF is considered to be one line break. If *keepends* is ``0``, the Line " "break characters are not included in the resulting strings." msgstr "" -#: ../../c-api/unicode.rst:1544 +#: ../../c-api/unicode.rst:1573 msgid "" "Split a Unicode string at the first occurrence of *sep*, and return a 3-" "tuple containing the part before the separator, the separator itself, and " @@ -1887,39 +1918,39 @@ msgid "" "tuple containing the string itself, followed by two empty strings." msgstr "" -#: ../../c-api/unicode.rst:1549 ../../c-api/unicode.rst:1562 +#: ../../c-api/unicode.rst:1578 ../../c-api/unicode.rst:1591 msgid "*sep* must not be empty." msgstr "" -#: ../../c-api/unicode.rst:1553 +#: ../../c-api/unicode.rst:1582 msgid "Equivalent to :py:meth:`str.partition`." msgstr "" -#: ../../c-api/unicode.rst:1558 +#: ../../c-api/unicode.rst:1587 msgid "" "Similar to :c:func:`PyUnicode_Partition`, but split a Unicode string at the " "last occurrence of *sep*. If the separator is not found, return a 3-tuple " "containing two empty strings, followed by the string itself." msgstr "" -#: ../../c-api/unicode.rst:1566 +#: ../../c-api/unicode.rst:1595 msgid "Equivalent to :py:meth:`str.rpartition`." msgstr "" -#: ../../c-api/unicode.rst:1571 +#: ../../c-api/unicode.rst:1600 msgid "" "Join a sequence of strings using the given *separator* and return the " "resulting Unicode string." msgstr "" -#: ../../c-api/unicode.rst:1578 +#: ../../c-api/unicode.rst:1607 msgid "" "Return ``1`` if *substr* matches ``unicode[start:end]`` at the given tail " "end (*direction* == ``-1`` means to do a prefix match, *direction* == ``1`` " "a suffix match), ``0`` otherwise. Return ``-1`` if an error occurred." msgstr "" -#: ../../c-api/unicode.rst:1586 +#: ../../c-api/unicode.rst:1615 msgid "" "Return the first position of *substr* in ``unicode[start:end]`` using the " "given *direction* (*direction* == ``1`` means to do a forward search, " @@ -1928,7 +1959,7 @@ msgid "" "``-2`` indicates that an error occurred and an exception has been set." msgstr "" -#: ../../c-api/unicode.rst:1596 +#: ../../c-api/unicode.rst:1625 msgid "" "Return the first position of the character *ch* in ``unicode[start:end]`` " "using the given *direction* (*direction* == ``1`` means to do a forward " @@ -1938,73 +1969,73 @@ msgid "" "set." msgstr "" -#: ../../c-api/unicode.rst:1604 +#: ../../c-api/unicode.rst:1633 msgid "" "*start* and *end* are now adjusted to behave like ``unicode[start:end]``." msgstr "" -#: ../../c-api/unicode.rst:1611 +#: ../../c-api/unicode.rst:1640 msgid "" "Return the number of non-overlapping occurrences of *substr* in " "``unicode[start:end]``. Return ``-1`` if an error occurred." msgstr "" -#: ../../c-api/unicode.rst:1618 +#: ../../c-api/unicode.rst:1647 msgid "" "Replace at most *maxcount* occurrences of *substr* in *unicode* with " "*replstr* and return the resulting Unicode object. *maxcount* == ``-1`` " "means replace all occurrences." msgstr "" -#: ../../c-api/unicode.rst:1625 +#: ../../c-api/unicode.rst:1654 msgid "" "Compare two strings and return ``-1``, ``0``, ``1`` for less than, equal, " "and greater than, respectively." msgstr "" -#: ../../c-api/unicode.rst:1628 +#: ../../c-api/unicode.rst:1657 msgid "" "This function returns ``-1`` upon failure, so one should call :c:func:" "`PyErr_Occurred` to check for errors." msgstr "" -#: ../../c-api/unicode.rst:1633 +#: ../../c-api/unicode.rst:1662 msgid "The :c:func:`PyUnicode_Equal` function." msgstr "" -#: ../../c-api/unicode.rst:1638 +#: ../../c-api/unicode.rst:1667 msgid "Test if two strings are equal:" msgstr "" -#: ../../c-api/unicode.rst:1640 +#: ../../c-api/unicode.rst:1669 msgid "Return ``1`` if *a* is equal to *b*." msgstr "" -#: ../../c-api/unicode.rst:1641 +#: ../../c-api/unicode.rst:1670 msgid "Return ``0`` if *a* is not equal to *b*." msgstr "" -#: ../../c-api/unicode.rst:1642 +#: ../../c-api/unicode.rst:1671 msgid "" "Set a :exc:`TypeError` exception and return ``-1`` if *a* or *b* is not a :" "class:`str` object." msgstr "" -#: ../../c-api/unicode.rst:1645 +#: ../../c-api/unicode.rst:1674 msgid "The function always succeeds if *a* and *b* are :class:`str` objects." msgstr "" -#: ../../c-api/unicode.rst:1647 +#: ../../c-api/unicode.rst:1676 msgid "" "The function works for :class:`str` subclasses, but does not honor custom " "``__eq__()`` method." msgstr "" -#: ../../c-api/unicode.rst:1652 +#: ../../c-api/unicode.rst:1681 msgid "The :c:func:`PyUnicode_Compare` function." msgstr "" -#: ../../c-api/unicode.rst:1659 +#: ../../c-api/unicode.rst:1688 msgid "" "Compare a Unicode object with a char buffer which is interpreted as being " "UTF-8 or ASCII encoded and return true (``1``) if they are equal, or false " @@ -2013,18 +2044,18 @@ msgid "" "is returned." msgstr "" -#: ../../c-api/unicode.rst:1666 ../../c-api/unicode.rst:1687 +#: ../../c-api/unicode.rst:1695 ../../c-api/unicode.rst:1716 msgid "This function does not raise exceptions." msgstr "" -#: ../../c-api/unicode.rst:1673 +#: ../../c-api/unicode.rst:1702 msgid "" "Similar to :c:func:`PyUnicode_EqualToUTF8AndSize`, but compute *string* " "length using :c:func:`!strlen`. If the Unicode object contains null " "characters, false (``0``) is returned." msgstr "" -#: ../../c-api/unicode.rst:1682 +#: ../../c-api/unicode.rst:1711 msgid "" "Compare a Unicode object, *unicode*, with *string* and return ``-1``, ``0``, " "``1`` for less than, equal, and greater than, respectively. It is best to " @@ -2032,47 +2063,47 @@ msgid "" "string as ISO-8859-1 if it contains non-ASCII characters." msgstr "" -#: ../../c-api/unicode.rst:1692 +#: ../../c-api/unicode.rst:1721 msgid "Rich compare two Unicode strings and return one of the following:" msgstr "" -#: ../../c-api/unicode.rst:1694 +#: ../../c-api/unicode.rst:1723 msgid "``NULL`` in case an exception was raised" msgstr "" -#: ../../c-api/unicode.rst:1695 +#: ../../c-api/unicode.rst:1724 msgid ":c:data:`Py_True` or :c:data:`Py_False` for successful comparisons" msgstr "" -#: ../../c-api/unicode.rst:1696 +#: ../../c-api/unicode.rst:1725 msgid ":c:data:`Py_NotImplemented` in case the type combination is unknown" msgstr "" -#: ../../c-api/unicode.rst:1698 +#: ../../c-api/unicode.rst:1727 msgid "" "Possible values for *op* are :c:macro:`Py_GT`, :c:macro:`Py_GE`, :c:macro:" "`Py_EQ`, :c:macro:`Py_NE`, :c:macro:`Py_LT`, and :c:macro:`Py_LE`." msgstr "" -#: ../../c-api/unicode.rst:1704 +#: ../../c-api/unicode.rst:1733 msgid "" "Return a new string object from *format* and *args*; this is analogous to " "``format % args``." msgstr "" -#: ../../c-api/unicode.rst:1710 +#: ../../c-api/unicode.rst:1739 msgid "" "Check whether *substr* is contained in *unicode* and return true or false " "accordingly." msgstr "" -#: ../../c-api/unicode.rst:1713 +#: ../../c-api/unicode.rst:1742 msgid "" "*substr* has to coerce to a one element Unicode string. ``-1`` is returned " "if there was an error." msgstr "" -#: ../../c-api/unicode.rst:1719 +#: ../../c-api/unicode.rst:1748 msgid "" "Intern the argument :c:expr:`*p_unicode` in place. The argument must be the " "address of a pointer variable pointing to a Python Unicode string object. " @@ -2083,7 +2114,7 @@ msgid "" "interns it." msgstr "" -#: ../../c-api/unicode.rst:1726 +#: ../../c-api/unicode.rst:1755 msgid "" "(Clarification: even though there is a lot of talk about references, think " "of this function as reference-neutral. You must own the object you pass in; " @@ -2091,39 +2122,39 @@ msgid "" "the result.)" msgstr "" -#: ../../c-api/unicode.rst:1731 +#: ../../c-api/unicode.rst:1760 msgid "" "This function never raises an exception. On error, it leaves its argument " "unchanged without interning it." msgstr "" -#: ../../c-api/unicode.rst:1734 +#: ../../c-api/unicode.rst:1763 msgid "" "Instances of subclasses of :py:class:`str` may not be interned, that is, :c:" "expr:`PyUnicode_CheckExact(*p_unicode)` must be true. If it is not, then -- " "as with any other error -- the argument is left unchanged." msgstr "" -#: ../../c-api/unicode.rst:1738 +#: ../../c-api/unicode.rst:1767 msgid "" "Note that interned strings are not “immortal”. You must keep a reference to " "the result to benefit from interning." msgstr "" -#: ../../c-api/unicode.rst:1744 +#: ../../c-api/unicode.rst:1773 msgid "" "A combination of :c:func:`PyUnicode_FromString` and :c:func:" "`PyUnicode_InternInPlace`, meant for statically allocated strings." msgstr "" -#: ../../c-api/unicode.rst:1747 +#: ../../c-api/unicode.rst:1776 msgid "" "Return a new (\"owned\") reference to either a new Unicode string object " "that has been interned, or an earlier interned string object with the same " "value." msgstr "" -#: ../../c-api/unicode.rst:1751 +#: ../../c-api/unicode.rst:1780 msgid "" "Python may keep a reference to the result, or make it :term:`immortal`, " "preventing it from being garbage-collected promptly. For interning an " @@ -2132,14 +2163,14 @@ msgid "" "`PyUnicode_InternInPlace` directly." msgstr "" -#: ../../c-api/unicode.rst:1760 +#: ../../c-api/unicode.rst:1789 msgid "" "Return a non-zero value if *str* is interned, zero if not. The *str* " "argument must be a string; this is not checked. This function always " "succeeds." msgstr "" -#: ../../c-api/unicode.rst:1766 +#: ../../c-api/unicode.rst:1795 msgid "" "A non-zero return value may carry additional information about *how* the " "string is interned. The meaning of such non-zero values, as well as each " @@ -2147,227 +2178,239 @@ msgid "" "versions." msgstr "" -#: ../../c-api/unicode.rst:1773 +#: ../../c-api/unicode.rst:1802 msgid "PyUnicodeWriter" msgstr "" -#: ../../c-api/unicode.rst:1775 +#: ../../c-api/unicode.rst:1804 msgid "" "The :c:type:`PyUnicodeWriter` API can be used to create a Python :class:" "`str` object." msgstr "" -#: ../../c-api/unicode.rst:1782 +#: ../../c-api/unicode.rst:1811 msgid "A Unicode writer instance." msgstr "" -#: ../../c-api/unicode.rst:1784 +#: ../../c-api/unicode.rst:1813 msgid "" "The instance must be destroyed by :c:func:`PyUnicodeWriter_Finish` on " "success, or :c:func:`PyUnicodeWriter_Discard` on error." msgstr "" -#: ../../c-api/unicode.rst:1789 +#: ../../c-api/unicode.rst:1816 +msgid "" +"The API is **not thread safe**. To share a writer with multiple threads, a " +"critical section or a lock is needed." +msgstr "" + +#: ../../c-api/unicode.rst:1821 msgid "Create a Unicode writer instance." msgstr "" -#: ../../c-api/unicode.rst:1791 +#: ../../c-api/unicode.rst:1823 msgid "*length* must be greater than or equal to ``0``." msgstr "" -#: ../../c-api/unicode.rst:1793 +#: ../../c-api/unicode.rst:1825 msgid "" "If *length* is greater than ``0``, preallocate an internal buffer of " "*length* characters." msgstr "" -#: ../../c-api/unicode.rst:1796 ../../c-api/unicode.rst:1802 +#: ../../c-api/unicode.rst:1828 ../../c-api/unicode.rst:1834 msgid "Set an exception and return ``NULL`` on error." msgstr "" -#: ../../c-api/unicode.rst:1800 +#: ../../c-api/unicode.rst:1832 msgid "" "Return the final Python :class:`str` object and destroy the writer instance." msgstr "" -#: ../../c-api/unicode.rst:1804 ../../c-api/unicode.rst:1812 +#: ../../c-api/unicode.rst:1836 ../../c-api/unicode.rst:1844 msgid "The writer instance is invalid after this call." msgstr "" -#: ../../c-api/unicode.rst:1808 +#: ../../c-api/unicode.rst:1840 msgid "Discard the internal Unicode buffer and destroy the writer instance." msgstr "" -#: ../../c-api/unicode.rst:1810 +#: ../../c-api/unicode.rst:1842 msgid "If *writer* is ``NULL``, no operation is performed." msgstr "" -#: ../../c-api/unicode.rst:1816 +#: ../../c-api/unicode.rst:1848 msgid "Write the single Unicode character *ch* into *writer*." msgstr "" -#: ../../c-api/unicode.rst:1818 ../../c-api/unicode.rst:1828 -#: ../../c-api/unicode.rst:1843 ../../c-api/unicode.rst:1853 -#: ../../c-api/unicode.rst:1862 ../../c-api/unicode.rst:1869 -#: ../../c-api/unicode.rst:1882 ../../c-api/unicode.rst:1897 -#: ../../c-api/unicode.rst:1904 ../../c-api/unicode.rst:1923 +#: ../../c-api/unicode.rst:1850 ../../c-api/unicode.rst:1860 +#: ../../c-api/unicode.rst:1875 ../../c-api/unicode.rst:1885 +#: ../../c-api/unicode.rst:1897 ../../c-api/unicode.rst:1904 +#: ../../c-api/unicode.rst:1917 ../../c-api/unicode.rst:1932 +#: ../../c-api/unicode.rst:1939 ../../c-api/unicode.rst:1958 msgid "" "On success, return ``0``. On error, set an exception, leave the writer " "unchanged, and return ``-1``." msgstr "" -#: ../../c-api/unicode.rst:1823 +#: ../../c-api/unicode.rst:1855 msgid "" "Decode the string *str* from UTF-8 in strict mode and write the output into " "*writer*." msgstr "" -#: ../../c-api/unicode.rst:1825 ../../c-api/unicode.rst:1837 -#: ../../c-api/unicode.rst:1912 +#: ../../c-api/unicode.rst:1857 ../../c-api/unicode.rst:1869 +#: ../../c-api/unicode.rst:1947 msgid "" "*size* is the string length in bytes. If *size* is equal to ``-1``, call " "``strlen(str)`` to get the string length." msgstr "" -#: ../../c-api/unicode.rst:1831 +#: ../../c-api/unicode.rst:1863 msgid "See also :c:func:`PyUnicodeWriter_DecodeUTF8Stateful`." msgstr "" -#: ../../c-api/unicode.rst:1835 +#: ../../c-api/unicode.rst:1867 msgid "Write the ASCII string *str* into *writer*." msgstr "" -#: ../../c-api/unicode.rst:1840 +#: ../../c-api/unicode.rst:1872 msgid "" "*str* must only contain ASCII characters. The behavior is undefined if *str* " "contains non-ASCII characters." msgstr "" -#: ../../c-api/unicode.rst:1848 +#: ../../c-api/unicode.rst:1880 msgid "Write the wide string *str* into *writer*." msgstr "" -#: ../../c-api/unicode.rst:1850 +#: ../../c-api/unicode.rst:1882 msgid "" "*size* is a number of wide characters. If *size* is equal to ``-1``, call " "``wcslen(str)`` to get the string length." msgstr "" -#: ../../c-api/unicode.rst:1858 -msgid "Writer the UCS4 string *str* into *writer*." +#: ../../c-api/unicode.rst:1890 +msgid "Write the UCS4 string *str* into *writer*." msgstr "" -#: ../../c-api/unicode.rst:1860 +#: ../../c-api/unicode.rst:1892 msgid "*size* is a number of UCS4 characters." msgstr "" -#: ../../c-api/unicode.rst:1867 +#: ../../c-api/unicode.rst:1894 +msgid "" +"All characters must be in range [U+0000; U+10ffff]. If the string contains " +"invalid characters, the behavior is undefined." +msgstr "" + +#: ../../c-api/unicode.rst:1902 msgid "" "Call :c:func:`PyObject_Str` on *obj* and write the output into *writer*." msgstr "" -#: ../../c-api/unicode.rst:1872 +#: ../../c-api/unicode.rst:1907 msgid "" "To write a :class:`str` subclass which overrides the :meth:`~object.__str__` " "method, :c:func:`PyUnicode_FromObject` can be used to get the original " "string." msgstr "" -#: ../../c-api/unicode.rst:1878 +#: ../../c-api/unicode.rst:1913 msgid "" "Call :c:func:`PyObject_Repr` on *obj* and write the output into *writer*." msgstr "" -#: ../../c-api/unicode.rst:1880 +#: ../../c-api/unicode.rst:1915 msgid "If *obj* is ``NULL``, write the string ``\"\"`` into *writer*." msgstr "" -#: ../../c-api/unicode.rst:1887 +#: ../../c-api/unicode.rst:1922 msgid "Added support for ``NULL``." msgstr "" -#: ../../c-api/unicode.rst:1891 +#: ../../c-api/unicode.rst:1926 msgid "Write the substring ``str[start:end]`` into *writer*." msgstr "" -#: ../../c-api/unicode.rst:1893 +#: ../../c-api/unicode.rst:1928 msgid "" "*str* must be Python :class:`str` object. *start* must be greater than or " "equal to 0, and less than or equal to *end*. *end* must be less than or " "equal to *str* length." msgstr "" -#: ../../c-api/unicode.rst:1902 +#: ../../c-api/unicode.rst:1937 msgid "" "Similar to :c:func:`PyUnicode_FromFormat`, but write the output directly " "into *writer*." msgstr "" -#: ../../c-api/unicode.rst:1909 +#: ../../c-api/unicode.rst:1944 msgid "" "Decode the string *str* from UTF-8 with *errors* error handler and write the " "output into *writer*." msgstr "" -#: ../../c-api/unicode.rst:1915 +#: ../../c-api/unicode.rst:1950 msgid "" "*errors* is an :ref:`error handler ` name, such as " "``\"replace\"``. If *errors* is ``NULL``, use the strict error handler." msgstr "" -#: ../../c-api/unicode.rst:1918 +#: ../../c-api/unicode.rst:1953 msgid "" "If *consumed* is not ``NULL``, set *\\*consumed* to the number of decoded " "bytes on success. If *consumed* is ``NULL``, treat trailing incomplete UTF-8 " "byte sequences as an error." msgstr "" -#: ../../c-api/unicode.rst:1926 +#: ../../c-api/unicode.rst:1961 msgid "See also :c:func:`PyUnicodeWriter_WriteUTF8`." msgstr "" -#: ../../c-api/unicode.rst:1929 +#: ../../c-api/unicode.rst:1964 msgid "Deprecated API" msgstr "" -#: ../../c-api/unicode.rst:1931 +#: ../../c-api/unicode.rst:1966 msgid "The following API is deprecated." msgstr "" -#: ../../c-api/unicode.rst:1935 +#: ../../c-api/unicode.rst:1970 msgid "" "This is a typedef of :c:type:`wchar_t`, which is a 16-bit type or 32-bit " "type depending on the platform. Please use :c:type:`wchar_t` directly " "instead." msgstr "" -#: ../../c-api/unicode.rst:1939 +#: ../../c-api/unicode.rst:1974 msgid "" "In previous versions, this was a 16-bit type or a 32-bit type depending on " "whether you selected a \"narrow\" or \"wide\" Unicode version of Python at " "build time." msgstr "" -#: ../../c-api/unicode.rst:1949 +#: ../../c-api/unicode.rst:1984 msgid "" "Do nothing and return ``0``. This API is kept only for backward " "compatibility, but there are no plans to remove it." msgstr "" -#: ../../c-api/unicode.rst:1955 +#: ../../c-api/unicode.rst:1990 msgid "" "This API does nothing since Python 3.12. Previously, this needed to be " "called for each string created using the old API (:c:func:`!" "PyUnicode_FromUnicode` or similar)." msgstr "" -#: ../../c-api/unicode.rst:1963 +#: ../../c-api/unicode.rst:1998 msgid "" "Do nothing and return ``1``. This API is kept only for backward " "compatibility, but there are no plans to remove it." msgstr "" -#: ../../c-api/unicode.rst:1969 +#: ../../c-api/unicode.rst:2004 msgid "" "This API does nothing since Python 3.12. Previously, this could be called to " "check if :c:func:`PyUnicode_READY` is necessary." diff --git a/cpython-src b/cpython-src index 24ddd48a..335c4c45 160000 --- a/cpython-src +++ b/cpython-src @@ -1 +1 @@ -Subproject commit 24ddd48a2a89e9f3de1245db9b86b6a80ae2d0d2 +Subproject commit 335c4c451fff8d442d0cab77dfac42b11cb25093 diff --git a/howto/remote_debugging.po b/howto/remote_debugging.po index 0f94ab93..ae2f8ef9 100644 --- a/howto/remote_debugging.po +++ b/howto/remote_debugging.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -48,7 +48,7 @@ msgid "" msgstr "" #: ../../howto/remote_debugging.rst:19 -msgid "Use the :option:`-X disable_remote_debug` command-line option." +msgid "Use the :option:`-X disable-remote-debug` command-line option." msgstr "" #: ../../howto/remote_debugging.rst:20 @@ -1137,7 +1137,7 @@ msgstr "" #: ../../howto/remote_debugging.rst:719 msgid "" "The environment variable :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` (and the " -"equivalent :option:`-X disable_remote_debug` flag) allows operators to " +"equivalent :option:`-X disable-remote-debug` flag) allows operators to " "disable the in-process side of the protocol as a **defence-in-depth** " "measure. This may be useful in hardened or sandboxed deployment " "environments where no debugging or profiling of the process is expected and " diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index 017ed567..3f5d3a82 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:17+0000\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -266,8 +266,8 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:183 -#: ../../library/asyncio-eventloop.rst:1397 -#: ../../library/asyncio-eventloop.rst:1859 +#: ../../library/asyncio-eventloop.rst:1401 +#: ../../library/asyncio-eventloop.rst:1863 msgid "Example::" msgstr "Beispiel::" @@ -632,8 +632,8 @@ msgid "The socket type will be :py:const:`~socket.SOCK_STREAM`." msgstr "" #: ../../library/asyncio-eventloop.rst:466 -#: ../../library/asyncio-eventloop.rst:1274 -#: ../../library/asyncio-eventloop.rst:1293 +#: ../../library/asyncio-eventloop.rst:1278 +#: ../../library/asyncio-eventloop.rst:1297 msgid "" "*protocol_factory* must be a callable returning an :ref:`asyncio protocol " "` implementation." @@ -677,7 +677,7 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:488 -#: ../../library/asyncio-eventloop.rst:621 +#: ../../library/asyncio-eventloop.rst:625 msgid "Other arguments:" msgstr "" @@ -743,8 +743,8 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:536 -#: ../../library/asyncio-eventloop.rst:658 -#: ../../library/asyncio-eventloop.rst:906 +#: ../../library/asyncio-eventloop.rst:662 +#: ../../library/asyncio-eventloop.rst:910 msgid "" "The *sock* argument transfers ownership of the socket to the transport " "created. To close the socket, call the transport's :meth:`~asyncio." @@ -759,7 +759,7 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:544 -#: ../../library/asyncio-eventloop.rst:1002 +#: ../../library/asyncio-eventloop.rst:1006 msgid "" "*ssl_handshake_timeout* is (for a TLS connection) the time in seconds to " "wait for the TLS handshake to complete before aborting the connection. " @@ -767,9 +767,9 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:548 -#: ../../library/asyncio-eventloop.rst:813 -#: ../../library/asyncio-eventloop.rst:917 -#: ../../library/asyncio-eventloop.rst:1006 +#: ../../library/asyncio-eventloop.rst:817 +#: ../../library/asyncio-eventloop.rst:921 +#: ../../library/asyncio-eventloop.rst:1010 msgid "" "*ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdown " "to complete before aborting the connection. ``30.0`` seconds if ``None`` " @@ -787,7 +787,7 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:562 -#: ../../library/asyncio-eventloop.rst:825 +#: ../../library/asyncio-eventloop.rst:829 msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." msgstr "" @@ -798,7 +798,7 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:571 -#: ../../library/asyncio-eventloop.rst:927 +#: ../../library/asyncio-eventloop.rst:931 msgid "Added the *ssl_handshake_timeout* parameter." msgstr "" @@ -822,11 +822,11 @@ msgid "For more information: https://datatracker.ietf.org/doc/html/rfc6555" msgstr "" #: ../../library/asyncio-eventloop.rst:590 -#: ../../library/asyncio-eventloop.rst:722 -#: ../../library/asyncio-eventloop.rst:839 -#: ../../library/asyncio-eventloop.rst:879 -#: ../../library/asyncio-eventloop.rst:931 -#: ../../library/asyncio-eventloop.rst:1014 +#: ../../library/asyncio-eventloop.rst:726 +#: ../../library/asyncio-eventloop.rst:843 +#: ../../library/asyncio-eventloop.rst:883 +#: ../../library/asyncio-eventloop.rst:935 +#: ../../library/asyncio-eventloop.rst:1018 msgid "Added the *ssl_shutdown_timeout* parameter." msgstr "" @@ -834,62 +834,68 @@ msgstr "" msgid "*all_errors* was added." msgstr "" -#: ../../library/asyncio-eventloop.rst:597 +#: ../../library/asyncio-eventloop.rst:595 +msgid "" +"Raises a ``ValueError`` if ``ssl.check_hostname`` is ``True`` and " +"``server_hostname`` is not supplied." +msgstr "" + +#: ../../library/asyncio-eventloop.rst:601 msgid "" "The :func:`open_connection` function is a high-level alternative API. It " "returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be " "used directly in async/await code." msgstr "" -#: ../../library/asyncio-eventloop.rst:608 +#: ../../library/asyncio-eventloop.rst:612 msgid "Create a datagram connection." msgstr "" -#: ../../library/asyncio-eventloop.rst:610 +#: ../../library/asyncio-eventloop.rst:614 msgid "" "The socket family can be either :py:const:`~socket.AF_INET`, :py:const:" "`~socket.AF_INET6`, or :py:const:`~socket.AF_UNIX`, depending on *host* (or " "the *family* argument, if provided)." msgstr "" -#: ../../library/asyncio-eventloop.rst:614 +#: ../../library/asyncio-eventloop.rst:618 msgid "The socket type will be :py:const:`~socket.SOCK_DGRAM`." msgstr "" -#: ../../library/asyncio-eventloop.rst:616 -#: ../../library/asyncio-eventloop.rst:749 -#: ../../library/asyncio-eventloop.rst:898 +#: ../../library/asyncio-eventloop.rst:620 +#: ../../library/asyncio-eventloop.rst:753 +#: ../../library/asyncio-eventloop.rst:902 msgid "" "*protocol_factory* must be a callable returning a :ref:`protocol ` implementation." msgstr "" -#: ../../library/asyncio-eventloop.rst:619 -#: ../../library/asyncio-eventloop.rst:704 +#: ../../library/asyncio-eventloop.rst:623 +#: ../../library/asyncio-eventloop.rst:708 msgid "A tuple of ``(transport, protocol)`` is returned on success." msgstr "" -#: ../../library/asyncio-eventloop.rst:623 +#: ../../library/asyncio-eventloop.rst:627 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket locally. The *local_host* and *local_port* are looked up using :" "meth:`getaddrinfo`." msgstr "" -#: ../../library/asyncio-eventloop.rst:629 +#: ../../library/asyncio-eventloop.rst:633 msgid "" "On Windows, when using the proactor event loop with ``local_addr=None``, an :" "exc:`OSError` with :attr:`!errno.WSAEINVAL` will be raised when running it." msgstr "" -#: ../../library/asyncio-eventloop.rst:633 +#: ../../library/asyncio-eventloop.rst:637 msgid "" "*remote_addr*, if given, is a ``(remote_host, remote_port)`` tuple used to " "connect the socket to a remote address. The *remote_host* and *remote_port* " "are looked up using :meth:`getaddrinfo`." msgstr "" -#: ../../library/asyncio-eventloop.rst:637 +#: ../../library/asyncio-eventloop.rst:641 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to :meth:`getaddrinfo` for *host* resolution. If " @@ -897,7 +903,7 @@ msgid "" "module constants." msgstr "" -#: ../../library/asyncio-eventloop.rst:642 +#: ../../library/asyncio-eventloop.rst:646 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " @@ -906,13 +912,13 @@ msgid "" "is not defined then this capability is unsupported." msgstr "" -#: ../../library/asyncio-eventloop.rst:648 +#: ../../library/asyncio-eventloop.rst:652 msgid "" "*allow_broadcast* tells the kernel to allow this endpoint to send messages " "to the broadcast address." msgstr "" -#: ../../library/asyncio-eventloop.rst:651 +#: ../../library/asyncio-eventloop.rst:655 msgid "" "*sock* can optionally be specified in order to use a preexisting, already " "connected, :class:`socket.socket` object to be used by the transport. If " @@ -920,37 +926,37 @@ msgid "" "`None`)." msgstr "" -#: ../../library/asyncio-eventloop.rst:662 +#: ../../library/asyncio-eventloop.rst:666 msgid "" "See :ref:`UDP echo client protocol ` and :" "ref:`UDP echo server protocol ` examples." msgstr "" -#: ../../library/asyncio-eventloop.rst:665 +#: ../../library/asyncio-eventloop.rst:669 msgid "" "The *family*, *proto*, *flags*, *reuse_address*, *reuse_port*, " "*allow_broadcast*, and *sock* parameters were added." msgstr "" -#: ../../library/asyncio-eventloop.rst:669 +#: ../../library/asyncio-eventloop.rst:673 msgid "Added support for Windows." msgstr "" -#: ../../library/asyncio-eventloop.rst:672 +#: ../../library/asyncio-eventloop.rst:676 msgid "" "The *reuse_address* parameter is no longer supported, as using :ref:`socket." "SO_REUSEADDR ` poses a significant security concern " "for UDP. Explicitly passing ``reuse_address=True`` will raise an exception." msgstr "" -#: ../../library/asyncio-eventloop.rst:678 +#: ../../library/asyncio-eventloop.rst:682 msgid "" "When multiple processes with differing UIDs assign sockets to an identical " "UDP socket address with ``SO_REUSEADDR``, incoming packets can become " "randomly distributed among the sockets." msgstr "" -#: ../../library/asyncio-eventloop.rst:682 +#: ../../library/asyncio-eventloop.rst:686 msgid "" "For supported platforms, *reuse_port* can be used as a replacement for " "similar functionality. With *reuse_port*, :ref:`socket.SO_REUSEPORT ` is set by default " "for all TCP connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:843 +#: ../../library/asyncio-eventloop.rst:847 msgid "" "The :func:`start_server` function is a higher-level alternative API that " "returns a pair of :class:`StreamReader` and :class:`StreamWriter` that can " "be used in an async/await code." msgstr "" -#: ../../library/asyncio-eventloop.rst:855 +#: ../../library/asyncio-eventloop.rst:859 msgid "" "Similar to :meth:`loop.create_server` but works with the :py:const:`~socket." "AF_UNIX` socket family." msgstr "" -#: ../../library/asyncio-eventloop.rst:858 +#: ../../library/asyncio-eventloop.rst:862 msgid "" "*path* is the name of a Unix domain socket, and is required, unless a *sock* " "argument is provided. Abstract Unix sockets, :class:`str`, :class:`bytes`, " "and :class:`~pathlib.Path` paths are supported." msgstr "" -#: ../../library/asyncio-eventloop.rst:863 +#: ../../library/asyncio-eventloop.rst:867 msgid "" "If *cleanup_socket* is true then the Unix socket will automatically be " "removed from the filesystem when the server is closed, unless the socket has " "been replaced after the server has been created." msgstr "" -#: ../../library/asyncio-eventloop.rst:867 +#: ../../library/asyncio-eventloop.rst:871 msgid "" "See the documentation of the :meth:`loop.create_server` method for " "information about arguments to this method." msgstr "" -#: ../../library/asyncio-eventloop.rst:874 +#: ../../library/asyncio-eventloop.rst:878 msgid "" "Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path* " "parameter can now be a :class:`~pathlib.Path` object." msgstr "" -#: ../../library/asyncio-eventloop.rst:883 +#: ../../library/asyncio-eventloop.rst:887 msgid "Added the *cleanup_socket* parameter." msgstr "" -#: ../../library/asyncio-eventloop.rst:891 +#: ../../library/asyncio-eventloop.rst:895 msgid "Wrap an already accepted connection into a transport/protocol pair." msgstr "" -#: ../../library/asyncio-eventloop.rst:893 +#: ../../library/asyncio-eventloop.rst:897 msgid "" "This method can be used by servers that accept connections outside of " "asyncio but that use asyncio to handle them." msgstr "" -#: ../../library/asyncio-eventloop.rst:896 -#: ../../library/asyncio-eventloop.rst:988 +#: ../../library/asyncio-eventloop.rst:900 +#: ../../library/asyncio-eventloop.rst:992 msgid "Parameters:" msgstr "" -#: ../../library/asyncio-eventloop.rst:901 +#: ../../library/asyncio-eventloop.rst:905 msgid "" "*sock* is a preexisting socket object returned from :meth:`socket.accept " "`." msgstr "" -#: ../../library/asyncio-eventloop.rst:910 +#: ../../library/asyncio-eventloop.rst:914 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " "accepted connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:913 +#: ../../library/asyncio-eventloop.rst:917 msgid "" "*ssl_handshake_timeout* is (for an SSL connection) the time in seconds to " "wait for the SSL handshake to complete before aborting the connection. " "``60.0`` seconds if ``None`` (default)." msgstr "" -#: ../../library/asyncio-eventloop.rst:921 +#: ../../library/asyncio-eventloop.rst:925 msgid "Returns a ``(transport, protocol)`` pair." msgstr "" -#: ../../library/asyncio-eventloop.rst:935 +#: ../../library/asyncio-eventloop.rst:939 msgid "Transferring files" msgstr "" -#: ../../library/asyncio-eventloop.rst:941 +#: ../../library/asyncio-eventloop.rst:945 msgid "" "Send a *file* over a *transport*. Return the total number of bytes sent." msgstr "" -#: ../../library/asyncio-eventloop.rst:944 +#: ../../library/asyncio-eventloop.rst:948 msgid "The method uses high-performance :meth:`os.sendfile` if available." msgstr "" -#: ../../library/asyncio-eventloop.rst:946 +#: ../../library/asyncio-eventloop.rst:950 msgid "*file* must be a regular file object opened in binary mode." msgstr "" -#: ../../library/asyncio-eventloop.rst:948 -#: ../../library/asyncio-eventloop.rst:1218 +#: ../../library/asyncio-eventloop.rst:952 +#: ../../library/asyncio-eventloop.rst:1222 msgid "" "*offset* tells from where to start reading the file. If specified, *count* " "is the total number of bytes to transmit as opposed to sending the file " @@ -1245,35 +1251,35 @@ msgid "" "obtain the actual number of bytes sent." msgstr "" -#: ../../library/asyncio-eventloop.rst:955 +#: ../../library/asyncio-eventloop.rst:959 msgid "" "*fallback* set to ``True`` makes asyncio to manually read and send the file " "when the platform does not support the sendfile system call (e.g. Windows or " "SSL socket on Unix)." msgstr "" -#: ../../library/asyncio-eventloop.rst:959 +#: ../../library/asyncio-eventloop.rst:963 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support the " "*sendfile* syscall and *fallback* is ``False``." msgstr "" -#: ../../library/asyncio-eventloop.rst:966 +#: ../../library/asyncio-eventloop.rst:970 msgid "TLS upgrade" msgstr "" -#: ../../library/asyncio-eventloop.rst:974 +#: ../../library/asyncio-eventloop.rst:978 msgid "Upgrade an existing transport-based connection to TLS." msgstr "" -#: ../../library/asyncio-eventloop.rst:976 +#: ../../library/asyncio-eventloop.rst:980 msgid "" "Create a TLS coder/decoder instance and insert it between the *transport* " "and the *protocol*. The coder/decoder implements both *transport*-facing " "protocol and *protocol*-facing transport." msgstr "" -#: ../../library/asyncio-eventloop.rst:980 +#: ../../library/asyncio-eventloop.rst:984 msgid "" "Return the created two-interface instance. After *await*, the *protocol* " "must stop using the original *transport* and communicate with the returned " @@ -1281,88 +1287,88 @@ msgid "" "exchanges extra TLS session packets with *transport*." msgstr "" -#: ../../library/asyncio-eventloop.rst:985 +#: ../../library/asyncio-eventloop.rst:989 msgid "" "In some situations (e.g. when the passed transport is already closing) this " "may return ``None``." msgstr "" -#: ../../library/asyncio-eventloop.rst:990 +#: ../../library/asyncio-eventloop.rst:994 msgid "" "*transport* and *protocol* instances that methods like :meth:`~loop." "create_server` and :meth:`~loop.create_connection` return." msgstr "" -#: ../../library/asyncio-eventloop.rst:994 +#: ../../library/asyncio-eventloop.rst:998 msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." msgstr "" -#: ../../library/asyncio-eventloop.rst:996 +#: ../../library/asyncio-eventloop.rst:1000 msgid "" "*server_side* pass ``True`` when a server-side connection is being upgraded " "(like the one created by :meth:`~loop.create_server`)." msgstr "" -#: ../../library/asyncio-eventloop.rst:999 +#: ../../library/asyncio-eventloop.rst:1003 msgid "" "*server_hostname*: sets or overrides the host name that the target server's " "certificate will be matched against." msgstr "" -#: ../../library/asyncio-eventloop.rst:1019 +#: ../../library/asyncio-eventloop.rst:1023 msgid "Watching file descriptors" msgstr "" -#: ../../library/asyncio-eventloop.rst:1023 +#: ../../library/asyncio-eventloop.rst:1027 msgid "" "Start monitoring the *fd* file descriptor for read availability and invoke " "*callback* with the specified arguments once *fd* is available for reading." msgstr "" -#: ../../library/asyncio-eventloop.rst:1027 -#: ../../library/asyncio-eventloop.rst:1041 +#: ../../library/asyncio-eventloop.rst:1031 +#: ../../library/asyncio-eventloop.rst:1045 msgid "" "Any preexisting callback registered for *fd* is cancelled and replaced by " "*callback*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1032 +#: ../../library/asyncio-eventloop.rst:1036 msgid "" "Stop monitoring the *fd* file descriptor for read availability. Returns " "``True`` if *fd* was previously being monitored for reads." msgstr "" -#: ../../library/asyncio-eventloop.rst:1037 +#: ../../library/asyncio-eventloop.rst:1041 msgid "" "Start monitoring the *fd* file descriptor for write availability and invoke " "*callback* with the specified arguments *args* once *fd* is available for " "writing." msgstr "" -#: ../../library/asyncio-eventloop.rst:1044 -#: ../../library/asyncio-eventloop.rst:1363 +#: ../../library/asyncio-eventloop.rst:1048 +#: ../../library/asyncio-eventloop.rst:1367 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *callback*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1049 +#: ../../library/asyncio-eventloop.rst:1053 msgid "" "Stop monitoring the *fd* file descriptor for write availability. Returns " "``True`` if *fd* was previously being monitored for writes." msgstr "" -#: ../../library/asyncio-eventloop.rst:1052 +#: ../../library/asyncio-eventloop.rst:1056 msgid "" "See also :ref:`Platform Support ` section for some " "limitations of these methods." msgstr "" -#: ../../library/asyncio-eventloop.rst:1057 +#: ../../library/asyncio-eventloop.rst:1061 msgid "Working with socket objects directly" msgstr "" -#: ../../library/asyncio-eventloop.rst:1059 +#: ../../library/asyncio-eventloop.rst:1063 msgid "" "In general, protocol implementations that use transport-based APIs such as :" "meth:`loop.create_connection` and :meth:`loop.create_server` are faster than " @@ -1371,72 +1377,72 @@ msgid "" "socket` objects directly is more convenient." msgstr "" -#: ../../library/asyncio-eventloop.rst:1069 +#: ../../library/asyncio-eventloop.rst:1073 msgid "" "Receive up to *nbytes* from *sock*. Asynchronous version of :meth:`socket." "recv() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1072 +#: ../../library/asyncio-eventloop.rst:1076 msgid "Return the received data as a bytes object." msgstr "" -#: ../../library/asyncio-eventloop.rst:1074 -#: ../../library/asyncio-eventloop.rst:1089 -#: ../../library/asyncio-eventloop.rst:1101 -#: ../../library/asyncio-eventloop.rst:1114 -#: ../../library/asyncio-eventloop.rst:1130 -#: ../../library/asyncio-eventloop.rst:1146 -#: ../../library/asyncio-eventloop.rst:1157 -#: ../../library/asyncio-eventloop.rst:1193 -#: ../../library/asyncio-eventloop.rst:1232 +#: ../../library/asyncio-eventloop.rst:1078 +#: ../../library/asyncio-eventloop.rst:1093 +#: ../../library/asyncio-eventloop.rst:1105 +#: ../../library/asyncio-eventloop.rst:1118 +#: ../../library/asyncio-eventloop.rst:1134 +#: ../../library/asyncio-eventloop.rst:1150 +#: ../../library/asyncio-eventloop.rst:1161 +#: ../../library/asyncio-eventloop.rst:1197 +#: ../../library/asyncio-eventloop.rst:1236 msgid "*sock* must be a non-blocking socket." msgstr "" -#: ../../library/asyncio-eventloop.rst:1076 +#: ../../library/asyncio-eventloop.rst:1080 msgid "" "Even though this method was always documented as a coroutine method, " "releases before Python 3.7 returned a :class:`Future`. Since Python 3.7 this " "is an ``async def`` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:1084 +#: ../../library/asyncio-eventloop.rst:1088 msgid "" "Receive data from *sock* into the *buf* buffer. Modeled after the blocking :" "meth:`socket.recv_into() ` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:1087 +#: ../../library/asyncio-eventloop.rst:1091 msgid "Return the number of bytes written to the buffer." msgstr "" -#: ../../library/asyncio-eventloop.rst:1096 +#: ../../library/asyncio-eventloop.rst:1100 msgid "" "Receive a datagram of up to *bufsize* from *sock*. Asynchronous version of :" "meth:`socket.recvfrom() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1099 +#: ../../library/asyncio-eventloop.rst:1103 msgid "Return a tuple of (received data, remote address)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1108 +#: ../../library/asyncio-eventloop.rst:1112 msgid "" "Receive a datagram of up to *nbytes* from *sock* into *buf*. Asynchronous " "version of :meth:`socket.recvfrom_into() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1112 +#: ../../library/asyncio-eventloop.rst:1116 msgid "Return a tuple of (number of bytes received, remote address)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1121 +#: ../../library/asyncio-eventloop.rst:1125 msgid "" "Send *data* to the *sock* socket. Asynchronous version of :meth:`socket." "sendall() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1124 +#: ../../library/asyncio-eventloop.rst:1128 msgid "" "This method continues to send to the socket until either all data in *data* " "has been sent or an error occurs. ``None`` is returned on success. On " @@ -1445,34 +1451,34 @@ msgid "" "the connection." msgstr "" -#: ../../library/asyncio-eventloop.rst:1132 -#: ../../library/asyncio-eventloop.rst:1195 +#: ../../library/asyncio-eventloop.rst:1136 +#: ../../library/asyncio-eventloop.rst:1199 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned a :class:`Future`. Since Python 3.7, this is an " "``async def`` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:1140 +#: ../../library/asyncio-eventloop.rst:1144 msgid "" "Send a datagram from *sock* to *address*. Asynchronous version of :meth:" "`socket.sendto() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1144 +#: ../../library/asyncio-eventloop.rst:1148 msgid "Return the number of bytes sent." msgstr "" -#: ../../library/asyncio-eventloop.rst:1153 +#: ../../library/asyncio-eventloop.rst:1157 msgid "Connect *sock* to a remote socket at *address*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1155 +#: ../../library/asyncio-eventloop.rst:1159 msgid "" "Asynchronous version of :meth:`socket.connect() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1159 +#: ../../library/asyncio-eventloop.rst:1163 msgid "" "With :class:`SelectorEventLoop`, *address* does not need to be resolved: " "for :const:`~socket.AF_INET` and :const:`~socket.AF_INET6` sockets, " @@ -1481,7 +1487,7 @@ msgid "" "resolve it if it is not." msgstr "" -#: ../../library/asyncio-eventloop.rst:1165 +#: ../../library/asyncio-eventloop.rst:1169 msgid "" ":class:`ProactorEventLoop`, the default event loop on Windows, does not " "resolve *address*. The host must already be a numeric IP address; passing a " @@ -1490,24 +1496,24 @@ msgid "" "the address on every platform." msgstr "" -#: ../../library/asyncio-eventloop.rst:1171 +#: ../../library/asyncio-eventloop.rst:1175 msgid "" "With :class:`SelectorEventLoop`, ``address`` no longer needs to be resolved." msgstr "" -#: ../../library/asyncio-eventloop.rst:1177 +#: ../../library/asyncio-eventloop.rst:1181 msgid "" ":meth:`loop.create_connection` and :func:`asyncio.open_connection() " "`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1184 +#: ../../library/asyncio-eventloop.rst:1188 msgid "" "Accept a connection. Modeled after the blocking :meth:`socket.accept() " "` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:1187 +#: ../../library/asyncio-eventloop.rst:1191 msgid "" "The socket must be bound to an address and listening for connections. The " "return value is a pair ``(conn, address)`` where *conn* is a *new* socket " @@ -1515,57 +1521,57 @@ msgid "" "the address bound to the socket on the other end of the connection." msgstr "" -#: ../../library/asyncio-eventloop.rst:1202 +#: ../../library/asyncio-eventloop.rst:1206 msgid ":meth:`loop.create_server` and :func:`start_server`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1208 +#: ../../library/asyncio-eventloop.rst:1212 msgid "" "Send a file using high-performance :mod:`os.sendfile` if possible. Return " "the total number of bytes sent." msgstr "" -#: ../../library/asyncio-eventloop.rst:1211 +#: ../../library/asyncio-eventloop.rst:1215 msgid "" "Asynchronous version of :meth:`socket.sendfile() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1213 +#: ../../library/asyncio-eventloop.rst:1217 msgid "" "*sock* must be a non-blocking :const:`socket.SOCK_STREAM` :class:`~socket." "socket`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1216 +#: ../../library/asyncio-eventloop.rst:1220 msgid "*file* must be a regular file object open in binary mode." msgstr "" -#: ../../library/asyncio-eventloop.rst:1225 +#: ../../library/asyncio-eventloop.rst:1229 msgid "" "*fallback*, when set to ``True``, makes asyncio manually read and send the " "file when the platform does not support the sendfile syscall (e.g. Windows " "or SSL socket on Unix)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1229 +#: ../../library/asyncio-eventloop.rst:1233 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support " "*sendfile* syscall and *fallback* is ``False``." msgstr "" -#: ../../library/asyncio-eventloop.rst:1238 +#: ../../library/asyncio-eventloop.rst:1242 msgid "DNS" msgstr "" -#: ../../library/asyncio-eventloop.rst:1244 +#: ../../library/asyncio-eventloop.rst:1248 msgid "Asynchronous version of :meth:`socket.getaddrinfo`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1249 +#: ../../library/asyncio-eventloop.rst:1253 msgid "Asynchronous version of :meth:`socket.getnameinfo`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1252 +#: ../../library/asyncio-eventloop.rst:1256 msgid "" "Both *getaddrinfo* and *getnameinfo* internally utilize their synchronous " "versions through the loop's default thread pool executor. When this executor " @@ -1575,7 +1581,7 @@ msgid "" "executor with a larger number of workers." msgstr "" -#: ../../library/asyncio-eventloop.rst:1259 +#: ../../library/asyncio-eventloop.rst:1263 msgid "" "Both *getaddrinfo* and *getnameinfo* methods were always documented to " "return a coroutine, but prior to Python 3.7 they were, in fact, returning :" @@ -1583,51 +1589,51 @@ msgid "" "coroutines." msgstr "" -#: ../../library/asyncio-eventloop.rst:1267 +#: ../../library/asyncio-eventloop.rst:1271 msgid "Working with pipes" msgstr "" -#: ../../library/asyncio-eventloop.rst:1272 +#: ../../library/asyncio-eventloop.rst:1276 msgid "Register the read end of *pipe* in the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1277 -#: ../../library/asyncio-eventloop.rst:1296 +#: ../../library/asyncio-eventloop.rst:1281 +#: ../../library/asyncio-eventloop.rst:1300 msgid "" "*pipe* is a :term:`file-like object `. See :ref:`Supported " "pipe objects ` for the objects supported as *pipe*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1281 +#: ../../library/asyncio-eventloop.rst:1285 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports the :class:" "`ReadTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1285 -#: ../../library/asyncio-eventloop.rst:1304 +#: ../../library/asyncio-eventloop.rst:1289 +#: ../../library/asyncio-eventloop.rst:1308 msgid "" "With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" "blocking mode." msgstr "" -#: ../../library/asyncio-eventloop.rst:1291 +#: ../../library/asyncio-eventloop.rst:1295 msgid "Register the write end of *pipe* in the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1300 +#: ../../library/asyncio-eventloop.rst:1304 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports :class:" "`WriteTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1310 +#: ../../library/asyncio-eventloop.rst:1314 msgid "Supported pipe objects" msgstr "" -#: ../../library/asyncio-eventloop.rst:1311 +#: ../../library/asyncio-eventloop.rst:1315 msgid "" "These methods only work with objects the operating system can poll for " "readiness or perform overlapped I/O on. Regular files on disk are **not** " @@ -1636,27 +1642,27 @@ msgid "" "blocking the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1317 +#: ../../library/asyncio-eventloop.rst:1321 msgid "" "On Unix, with :class:`SelectorEventLoop`, *pipe* must wrap one of the " "following:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1320 +#: ../../library/asyncio-eventloop.rst:1324 msgid "" "a pipe, such as an end of an :func:`os.pipe` pair or a FIFO created with :" "func:`os.mkfifo`;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1322 +#: ../../library/asyncio-eventloop.rst:1326 msgid "a socket;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1323 +#: ../../library/asyncio-eventloop.rst:1327 msgid "a character device, such as a terminal." msgstr "" -#: ../../library/asyncio-eventloop.rst:1325 +#: ../../library/asyncio-eventloop.rst:1329 msgid "" "On Windows, where only :class:`ProactorEventLoop` implements these methods, " "*pipe* must wrap a handle opened for overlapped I/O (that is, created with " @@ -1668,28 +1674,28 @@ msgid "" "therefore cannot be used with these methods." msgstr "" -#: ../../library/asyncio-eventloop.rst:1336 +#: ../../library/asyncio-eventloop.rst:1340 msgid "" ":class:`SelectorEventLoop` does not support the above methods on Windows. " "Use :class:`ProactorEventLoop` instead for Windows." msgstr "" -#: ../../library/asyncio-eventloop.rst:1341 +#: ../../library/asyncio-eventloop.rst:1345 msgid "" "The :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods." msgstr "" -#: ../../library/asyncio-eventloop.rst:1346 +#: ../../library/asyncio-eventloop.rst:1350 msgid "Unix signals" msgstr "" -#: ../../library/asyncio-eventloop.rst:1352 +#: ../../library/asyncio-eventloop.rst:1356 msgid "" "Set *callback* as the handler for the *signum* signal, passing *args* as " "positional arguments." msgstr "" -#: ../../library/asyncio-eventloop.rst:1355 +#: ../../library/asyncio-eventloop.rst:1359 msgid "" "The callback will be invoked by *loop*, along with other queued callbacks " "and runnable coroutines of that event loop. Unlike signal handlers " @@ -1697,42 +1703,42 @@ msgid "" "function is allowed to interact with the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1360 +#: ../../library/asyncio-eventloop.rst:1364 msgid "" "Raise :exc:`ValueError` if the signal number is invalid or uncatchable. " "Raise :exc:`RuntimeError` if there is a problem setting up the handler." msgstr "" -#: ../../library/asyncio-eventloop.rst:1366 +#: ../../library/asyncio-eventloop.rst:1370 msgid "" "Like :func:`signal.signal`, this function must be invoked in the main thread." msgstr "" -#: ../../library/asyncio-eventloop.rst:1371 +#: ../../library/asyncio-eventloop.rst:1375 msgid "Remove the handler for the *sig* signal." msgstr "" -#: ../../library/asyncio-eventloop.rst:1373 +#: ../../library/asyncio-eventloop.rst:1377 msgid "" "Return ``True`` if the signal handler was removed, or ``False`` if no " "handler was set for the given signal." msgstr "" -#: ../../library/asyncio-eventloop.rst:1380 +#: ../../library/asyncio-eventloop.rst:1384 msgid "The :mod:`signal` module." msgstr "" -#: ../../library/asyncio-eventloop.rst:1384 +#: ../../library/asyncio-eventloop.rst:1388 msgid "Executing code in thread or process pools" msgstr "" -#: ../../library/asyncio-eventloop.rst:1388 +#: ../../library/asyncio-eventloop.rst:1392 msgid "" "Arrange for *func* to be called in the specified executor passing *args* as " "positional arguments." msgstr "" -#: ../../library/asyncio-eventloop.rst:1391 +#: ../../library/asyncio-eventloop.rst:1395 msgid "" "The *executor* argument should be an :class:`concurrent.futures.Executor` " "instance. The default executor is used if *executor* is ``None``. The " @@ -1741,7 +1747,7 @@ msgid "" "and used by :func:`run_in_executor` if needed." msgstr "" -#: ../../library/asyncio-eventloop.rst:1399 +#: ../../library/asyncio-eventloop.rst:1403 msgid "" "import asyncio\n" "import concurrent.futures\n" @@ -1790,7 +1796,7 @@ msgid "" " asyncio.run(main())" msgstr "" -#: ../../library/asyncio-eventloop.rst:1445 +#: ../../library/asyncio-eventloop.rst:1449 msgid "" "Note that the entry point guard (``if __name__ == '__main__'``) is required " "for option 3 due to the peculiarities of :mod:`multiprocessing`, which is " @@ -1798,17 +1804,17 @@ msgid "" "importing of main module `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1450 +#: ../../library/asyncio-eventloop.rst:1454 msgid "This method returns a :class:`asyncio.Future` object." msgstr "" -#: ../../library/asyncio-eventloop.rst:1452 +#: ../../library/asyncio-eventloop.rst:1456 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1455 +#: ../../library/asyncio-eventloop.rst:1459 msgid "" ":meth:`loop.run_in_executor` no longer configures the ``max_workers`` of the " "thread pool executor it creates, instead leaving it up to the thread pool " @@ -1816,7 +1822,7 @@ msgid "" "default." msgstr "" -#: ../../library/asyncio-eventloop.rst:1464 +#: ../../library/asyncio-eventloop.rst:1468 msgid "" "Set *executor* as the default executor used by :meth:`run_in_executor`. " "*executor* must be an instance of :class:`~concurrent.futures." @@ -1824,25 +1830,25 @@ msgid "" "InterpreterPoolExecutor`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1469 +#: ../../library/asyncio-eventloop.rst:1473 msgid "" "*executor* must be an instance of :class:`~concurrent.futures." "ThreadPoolExecutor`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1475 +#: ../../library/asyncio-eventloop.rst:1479 msgid "Error handling API" msgstr "" -#: ../../library/asyncio-eventloop.rst:1477 +#: ../../library/asyncio-eventloop.rst:1481 msgid "Allows customizing how exceptions are handled in the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1481 +#: ../../library/asyncio-eventloop.rst:1485 msgid "Set *handler* as the new event loop exception handler." msgstr "" -#: ../../library/asyncio-eventloop.rst:1483 +#: ../../library/asyncio-eventloop.rst:1487 msgid "" "If *handler* is ``None``, the default exception handler will be set. " "Otherwise, *handler* must be a callable with the signature matching ``(loop, " @@ -1851,190 +1857,190 @@ msgid "" "(see :meth:`call_exception_handler` documentation for details about context)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1491 +#: ../../library/asyncio-eventloop.rst:1495 msgid "" "If the handler is called on behalf of a :class:`~asyncio.Task` or :class:" "`~asyncio.Handle`, it is run in the :class:`contextvars.Context` of that " "task or callback handle." msgstr "" -#: ../../library/asyncio-eventloop.rst:1497 +#: ../../library/asyncio-eventloop.rst:1501 msgid "" "The handler may be called in the :class:`~contextvars.Context` of the task " "or handle where the exception originated." msgstr "" -#: ../../library/asyncio-eventloop.rst:1502 +#: ../../library/asyncio-eventloop.rst:1506 msgid "" "Return the current exception handler, or ``None`` if no custom exception " "handler was set." msgstr "" -#: ../../library/asyncio-eventloop.rst:1509 +#: ../../library/asyncio-eventloop.rst:1513 msgid "Default exception handler." msgstr "" -#: ../../library/asyncio-eventloop.rst:1511 +#: ../../library/asyncio-eventloop.rst:1515 msgid "" "This is called when an exception occurs and no exception handler is set. " "This can be called by a custom exception handler that wants to defer to the " "default handler behavior." msgstr "" -#: ../../library/asyncio-eventloop.rst:1515 +#: ../../library/asyncio-eventloop.rst:1519 msgid "" "*context* parameter has the same meaning as in :meth:" "`call_exception_handler`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1520 +#: ../../library/asyncio-eventloop.rst:1524 msgid "Call the current event loop exception handler." msgstr "" -#: ../../library/asyncio-eventloop.rst:1522 +#: ../../library/asyncio-eventloop.rst:1526 msgid "" "*context* is a ``dict`` object containing the following keys (new keys may " "be introduced in future Python versions):" msgstr "" -#: ../../library/asyncio-eventloop.rst:1525 +#: ../../library/asyncio-eventloop.rst:1529 msgid "'message': Error message;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1526 +#: ../../library/asyncio-eventloop.rst:1530 msgid "'exception' (optional): Exception object;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1527 +#: ../../library/asyncio-eventloop.rst:1531 msgid "'future' (optional): :class:`asyncio.Future` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1528 +#: ../../library/asyncio-eventloop.rst:1532 msgid "'task' (optional): :class:`asyncio.Task` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1529 +#: ../../library/asyncio-eventloop.rst:1533 msgid "'handle' (optional): :class:`asyncio.Handle` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1530 +#: ../../library/asyncio-eventloop.rst:1534 msgid "'protocol' (optional): :ref:`Protocol ` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1531 +#: ../../library/asyncio-eventloop.rst:1535 msgid "'transport' (optional): :ref:`Transport ` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1532 +#: ../../library/asyncio-eventloop.rst:1536 msgid "'socket' (optional): :class:`socket.socket` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1533 +#: ../../library/asyncio-eventloop.rst:1537 msgid "'source_traceback' (optional): Traceback of the source;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1534 +#: ../../library/asyncio-eventloop.rst:1538 msgid "'handle_traceback' (optional): Traceback of the handle;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1535 +#: ../../library/asyncio-eventloop.rst:1539 msgid "'asyncgen' (optional): Asynchronous generator that caused" msgstr "" -#: ../../library/asyncio-eventloop.rst:1536 +#: ../../library/asyncio-eventloop.rst:1540 msgid "the exception." msgstr "" -#: ../../library/asyncio-eventloop.rst:1540 +#: ../../library/asyncio-eventloop.rst:1544 msgid "" "This method should not be overloaded in subclassed event loops. For custom " "exception handling, use the :meth:`set_exception_handler` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:1545 +#: ../../library/asyncio-eventloop.rst:1549 msgid "Enabling debug mode" msgstr "" -#: ../../library/asyncio-eventloop.rst:1549 +#: ../../library/asyncio-eventloop.rst:1553 msgid "Get the debug mode (:class:`bool`) of the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1551 +#: ../../library/asyncio-eventloop.rst:1555 msgid "" "The default value is ``True`` if the environment variable :envvar:" "`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise." msgstr "" -#: ../../library/asyncio-eventloop.rst:1557 +#: ../../library/asyncio-eventloop.rst:1561 msgid "Set the debug mode of the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1561 +#: ../../library/asyncio-eventloop.rst:1565 msgid "" "The new :ref:`Python Development Mode ` can now also be used to " "enable the debug mode." msgstr "" -#: ../../library/asyncio-eventloop.rst:1566 +#: ../../library/asyncio-eventloop.rst:1570 msgid "" "This attribute can be used to set the minimum execution duration in seconds " "that is considered \"slow\". When debug mode is enabled, \"slow\" callbacks " "are logged." msgstr "" -#: ../../library/asyncio-eventloop.rst:1570 +#: ../../library/asyncio-eventloop.rst:1574 msgid "Default value is 100 milliseconds." msgstr "" -#: ../../library/asyncio-eventloop.rst:1574 +#: ../../library/asyncio-eventloop.rst:1578 msgid "The :ref:`debug mode of asyncio `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1578 +#: ../../library/asyncio-eventloop.rst:1582 msgid "Running subprocesses" msgstr "" -#: ../../library/asyncio-eventloop.rst:1580 +#: ../../library/asyncio-eventloop.rst:1584 msgid "" "Methods described in this subsections are low-level. In regular async/await " "code consider using the high-level :func:`asyncio.create_subprocess_shell` " "and :func:`asyncio.create_subprocess_exec` convenience functions instead." msgstr "" -#: ../../library/asyncio-eventloop.rst:1587 +#: ../../library/asyncio-eventloop.rst:1591 msgid "" "On Windows, the default event loop :class:`ProactorEventLoop` supports " "subprocesses, whereas :class:`SelectorEventLoop` does not. See :ref:" "`Subprocess Support on Windows ` for details." msgstr "" -#: ../../library/asyncio-eventloop.rst:1599 +#: ../../library/asyncio-eventloop.rst:1603 msgid "" "Create a subprocess from one or more string arguments specified by *args*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1602 +#: ../../library/asyncio-eventloop.rst:1606 msgid "*args* must be a list of strings represented by:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1604 +#: ../../library/asyncio-eventloop.rst:1608 msgid ":class:`str`;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1605 +#: ../../library/asyncio-eventloop.rst:1609 msgid "" "or :class:`bytes`, encoded to the :ref:`filesystem encoding `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1608 +#: ../../library/asyncio-eventloop.rst:1612 msgid "" "The first string specifies the program executable, and the remaining strings " "specify the arguments. Together, string arguments form the ``argv`` of the " "program." msgstr "" -#: ../../library/asyncio-eventloop.rst:1612 +#: ../../library/asyncio-eventloop.rst:1616 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=False`` and the list of strings passed as the first " @@ -2042,85 +2048,85 @@ msgid "" "which is list of strings, *subprocess_exec* takes multiple string arguments." msgstr "" -#: ../../library/asyncio-eventloop.rst:1618 +#: ../../library/asyncio-eventloop.rst:1622 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`asyncio.SubprocessProtocol` class." msgstr "" -#: ../../library/asyncio-eventloop.rst:1621 +#: ../../library/asyncio-eventloop.rst:1625 msgid "Other parameters:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1623 +#: ../../library/asyncio-eventloop.rst:1627 msgid "*stdin* can be any of these:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1625 -#: ../../library/asyncio-eventloop.rst:1636 -#: ../../library/asyncio-eventloop.rst:1646 +#: ../../library/asyncio-eventloop.rst:1629 +#: ../../library/asyncio-eventloop.rst:1640 +#: ../../library/asyncio-eventloop.rst:1650 msgid "a file-like object" msgstr "" -#: ../../library/asyncio-eventloop.rst:1626 +#: ../../library/asyncio-eventloop.rst:1630 msgid "" "an existing file descriptor (a positive integer), for example those created " "with :meth:`os.pipe`" msgstr "" -#: ../../library/asyncio-eventloop.rst:1627 -#: ../../library/asyncio-eventloop.rst:1637 -#: ../../library/asyncio-eventloop.rst:1647 +#: ../../library/asyncio-eventloop.rst:1631 +#: ../../library/asyncio-eventloop.rst:1641 +#: ../../library/asyncio-eventloop.rst:1651 msgid "" "the :const:`subprocess.PIPE` constant (default) which will create a new pipe " "and connect it," msgstr "" -#: ../../library/asyncio-eventloop.rst:1629 -#: ../../library/asyncio-eventloop.rst:1639 -#: ../../library/asyncio-eventloop.rst:1649 +#: ../../library/asyncio-eventloop.rst:1633 +#: ../../library/asyncio-eventloop.rst:1643 +#: ../../library/asyncio-eventloop.rst:1653 msgid "" "the value ``None`` which will make the subprocess inherit the file " "descriptor from this process" msgstr "" -#: ../../library/asyncio-eventloop.rst:1631 -#: ../../library/asyncio-eventloop.rst:1641 -#: ../../library/asyncio-eventloop.rst:1651 +#: ../../library/asyncio-eventloop.rst:1635 +#: ../../library/asyncio-eventloop.rst:1645 +#: ../../library/asyncio-eventloop.rst:1655 msgid "" "the :const:`subprocess.DEVNULL` constant which indicates that the special :" "data:`os.devnull` file will be used" msgstr "" -#: ../../library/asyncio-eventloop.rst:1634 +#: ../../library/asyncio-eventloop.rst:1638 msgid "*stdout* can be any of these:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1644 +#: ../../library/asyncio-eventloop.rst:1648 msgid "*stderr* can be any of these:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1653 +#: ../../library/asyncio-eventloop.rst:1657 msgid "" "the :const:`subprocess.STDOUT` constant which will connect the standard " "error stream to the process' standard output stream" msgstr "" -#: ../../library/asyncio-eventloop.rst:1656 +#: ../../library/asyncio-eventloop.rst:1660 msgid "" "All other keyword arguments are passed to :class:`subprocess.Popen` without " "interpretation, except for *bufsize*, *universal_newlines*, *shell*, *text*, " "*encoding* and *errors*, which should not be specified at all." msgstr "" -#: ../../library/asyncio-eventloop.rst:1661 +#: ../../library/asyncio-eventloop.rst:1665 msgid "" "The ``asyncio`` subprocess API does not support decoding the streams as " "text. :func:`bytes.decode` can be used to convert the bytes returned from " "the stream to text." msgstr "" -#: ../../library/asyncio-eventloop.rst:1665 +#: ../../library/asyncio-eventloop.rst:1669 msgid "" "If a file-like object passed as *stdin*, *stdout* or *stderr* represents a " "pipe, then the other side of this pipe should be registered with :meth:" @@ -2128,59 +2134,59 @@ msgid "" "the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1670 +#: ../../library/asyncio-eventloop.rst:1674 msgid "" "See the constructor of the :class:`subprocess.Popen` class for documentation " "on other arguments." msgstr "" -#: ../../library/asyncio-eventloop.rst:1673 +#: ../../library/asyncio-eventloop.rst:1677 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`asyncio.SubprocessTransport` base class and *protocol* is an " "object instantiated by the *protocol_factory*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1677 -#: ../../library/asyncio-eventloop.rst:1703 +#: ../../library/asyncio-eventloop.rst:1681 +#: ../../library/asyncio-eventloop.rst:1707 msgid "" "If the transport is closed or is garbage collected, the child process is " "killed if it is still running." msgstr "" -#: ../../library/asyncio-eventloop.rst:1685 +#: ../../library/asyncio-eventloop.rst:1689 msgid "" "Create a subprocess from *cmd*, which can be a :class:`str` or a :class:" "`bytes` string encoded to the :ref:`filesystem encoding `, using the platform's \"shell\" syntax." msgstr "" -#: ../../library/asyncio-eventloop.rst:1690 +#: ../../library/asyncio-eventloop.rst:1694 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=True``." msgstr "" -#: ../../library/asyncio-eventloop.rst:1693 +#: ../../library/asyncio-eventloop.rst:1697 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`SubprocessProtocol` class." msgstr "" -#: ../../library/asyncio-eventloop.rst:1696 +#: ../../library/asyncio-eventloop.rst:1700 msgid "" "See :meth:`~loop.subprocess_exec` for more details about the remaining " "arguments." msgstr "" -#: ../../library/asyncio-eventloop.rst:1699 +#: ../../library/asyncio-eventloop.rst:1703 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`SubprocessTransport` base class and *protocol* is an object " "instantiated by the *protocol_factory*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1707 +#: ../../library/asyncio-eventloop.rst:1711 msgid "" "It is the application's responsibility to ensure that all whitespace and " "special characters are quoted appropriately to avoid `shell injection " @@ -2190,74 +2196,74 @@ msgid "" "used to construct shell commands." msgstr "" -#: ../../library/asyncio-eventloop.rst:1716 +#: ../../library/asyncio-eventloop.rst:1720 msgid "Callback handles" msgstr "" -#: ../../library/asyncio-eventloop.rst:1720 +#: ../../library/asyncio-eventloop.rst:1724 msgid "" "A callback wrapper object returned by :meth:`loop.call_soon`, :meth:`loop." "call_soon_threadsafe`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1725 +#: ../../library/asyncio-eventloop.rst:1729 msgid "" "Return the :class:`contextvars.Context` object associated with the handle." msgstr "" -#: ../../library/asyncio-eventloop.rst:1732 +#: ../../library/asyncio-eventloop.rst:1736 msgid "" "Cancel the callback. If the callback has already been canceled or executed, " "this method has no effect." msgstr "" -#: ../../library/asyncio-eventloop.rst:1737 +#: ../../library/asyncio-eventloop.rst:1741 msgid "Return ``True`` if the callback was cancelled." msgstr "" -#: ../../library/asyncio-eventloop.rst:1743 +#: ../../library/asyncio-eventloop.rst:1747 msgid "" "A callback wrapper object returned by :meth:`loop.call_later`, and :meth:" "`loop.call_at`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1746 +#: ../../library/asyncio-eventloop.rst:1750 msgid "This class is a subclass of :class:`Handle`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1750 +#: ../../library/asyncio-eventloop.rst:1754 msgid "Return a scheduled callback time as :class:`float` seconds." msgstr "" -#: ../../library/asyncio-eventloop.rst:1752 +#: ../../library/asyncio-eventloop.rst:1756 msgid "" "The time is an absolute timestamp, using the same time reference as :meth:" "`loop.time`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1759 +#: ../../library/asyncio-eventloop.rst:1763 msgid "Server objects" msgstr "" -#: ../../library/asyncio-eventloop.rst:1761 +#: ../../library/asyncio-eventloop.rst:1765 msgid "" "Server objects are created by :meth:`loop.create_server`, :meth:`loop." "create_unix_server`, :func:`start_server`, and :func:`start_unix_server` " "functions." msgstr "" -#: ../../library/asyncio-eventloop.rst:1765 +#: ../../library/asyncio-eventloop.rst:1769 msgid "Do not instantiate the :class:`Server` class directly." msgstr "" -#: ../../library/asyncio-eventloop.rst:1769 +#: ../../library/asyncio-eventloop.rst:1773 msgid "" "*Server* objects are asynchronous context managers. When used in an ``async " "with`` statement, it's guaranteed that the Server object is closed and not " "accepting new connections when the ``async with`` statement is completed::" msgstr "" -#: ../../library/asyncio-eventloop.rst:1774 +#: ../../library/asyncio-eventloop.rst:1778 msgid "" "srv = await loop.create_server(...)\n" "\n" @@ -2267,81 +2273,81 @@ msgid "" "# At this point, srv is closed and no longer accepts new connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:1782 +#: ../../library/asyncio-eventloop.rst:1786 msgid "Server object is an asynchronous context manager since Python 3.7." msgstr "" -#: ../../library/asyncio-eventloop.rst:1785 +#: ../../library/asyncio-eventloop.rst:1789 msgid "" "This class was exposed publicly as ``asyncio.Server`` in Python 3.9.11, " "3.10.3 and 3.11." msgstr "" -#: ../../library/asyncio-eventloop.rst:1790 +#: ../../library/asyncio-eventloop.rst:1794 msgid "" "Stop serving: close listening sockets and set the :attr:`sockets` attribute " "to ``None``." msgstr "" -#: ../../library/asyncio-eventloop.rst:1793 +#: ../../library/asyncio-eventloop.rst:1797 msgid "" "The sockets that represent existing incoming client connections are left " "open." msgstr "" -#: ../../library/asyncio-eventloop.rst:1796 +#: ../../library/asyncio-eventloop.rst:1800 msgid "" "The server is closed asynchronously; use the :meth:`wait_closed` coroutine " "to wait until the server is closed (and no more connections are active)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1802 +#: ../../library/asyncio-eventloop.rst:1806 msgid "Close all existing incoming client connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:1804 +#: ../../library/asyncio-eventloop.rst:1808 msgid "" "Calls :meth:`~asyncio.BaseTransport.close` on all associated transports." msgstr "" -#: ../../library/asyncio-eventloop.rst:1807 +#: ../../library/asyncio-eventloop.rst:1811 msgid "" ":meth:`close` should be called before :meth:`close_clients` when closing the " "server to avoid races with new clients connecting." msgstr "" -#: ../../library/asyncio-eventloop.rst:1814 +#: ../../library/asyncio-eventloop.rst:1818 msgid "" "Close all existing incoming client connections immediately, without waiting " "for pending operations to complete." msgstr "" -#: ../../library/asyncio-eventloop.rst:1817 +#: ../../library/asyncio-eventloop.rst:1821 msgid "" "Calls :meth:`~asyncio.WriteTransport.abort` on all associated transports." msgstr "" -#: ../../library/asyncio-eventloop.rst:1820 +#: ../../library/asyncio-eventloop.rst:1824 msgid "" ":meth:`close` should be called before :meth:`abort_clients` when closing the " "server to avoid races with new clients connecting." msgstr "" -#: ../../library/asyncio-eventloop.rst:1827 +#: ../../library/asyncio-eventloop.rst:1831 msgid "Return the event loop associated with the server object." msgstr "" -#: ../../library/asyncio-eventloop.rst:1834 +#: ../../library/asyncio-eventloop.rst:1838 msgid "Start accepting connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:1836 +#: ../../library/asyncio-eventloop.rst:1840 msgid "" "This method is idempotent, so it can be called when the server is already " "serving." msgstr "" -#: ../../library/asyncio-eventloop.rst:1839 +#: ../../library/asyncio-eventloop.rst:1843 msgid "" "The *start_serving* keyword-only parameter to :meth:`loop.create_server` " "and :meth:`asyncio.start_server` allows creating a Server object that is not " @@ -2350,19 +2356,19 @@ msgid "" "accepting connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:1851 +#: ../../library/asyncio-eventloop.rst:1855 msgid "" "Start accepting connections until the coroutine is cancelled. Cancellation " "of ``serve_forever`` task causes the server to be closed." msgstr "" -#: ../../library/asyncio-eventloop.rst:1855 +#: ../../library/asyncio-eventloop.rst:1859 msgid "" "This method can be called if the server is already accepting connections. " "Only one ``serve_forever`` task can exist per one *Server* object." msgstr "" -#: ../../library/asyncio-eventloop.rst:1861 +#: ../../library/asyncio-eventloop.rst:1865 msgid "" "async def client_connected(reader, writer):\n" " # Communicate with the client with\n" @@ -2377,63 +2383,63 @@ msgid "" "asyncio.run(main('127.0.0.1', 0))" msgstr "" -#: ../../library/asyncio-eventloop.rst:1877 +#: ../../library/asyncio-eventloop.rst:1881 msgid "Return ``True`` if the server is accepting new connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:1884 +#: ../../library/asyncio-eventloop.rst:1888 msgid "" "Wait until the :meth:`close` method completes and all active connections " "have finished." msgstr "" -#: ../../library/asyncio-eventloop.rst:1887 +#: ../../library/asyncio-eventloop.rst:1891 msgid "" "``wait_closed()`` now waits until the server is closed and all active " "connections have finished. Previously, it returned immediately if the " "server was already closed, even if connections were still active." msgstr "" -#: ../../library/asyncio-eventloop.rst:1895 +#: ../../library/asyncio-eventloop.rst:1899 msgid "" "List of socket-like objects, ``asyncio.trsock.TransportSocket``, which the " "server is listening on." msgstr "" -#: ../../library/asyncio-eventloop.rst:1898 +#: ../../library/asyncio-eventloop.rst:1902 msgid "" "Prior to Python 3.7 ``Server.sockets`` used to return an internal list of " "server sockets directly. In 3.7 a copy of that list is returned." msgstr "" -#: ../../library/asyncio-eventloop.rst:1908 +#: ../../library/asyncio-eventloop.rst:1912 msgid "Event loop implementations" msgstr "" -#: ../../library/asyncio-eventloop.rst:1910 +#: ../../library/asyncio-eventloop.rst:1914 msgid "" "asyncio ships with two different event loop implementations: :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1913 +#: ../../library/asyncio-eventloop.rst:1917 msgid "By default asyncio is configured to use :class:`EventLoop`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1918 +#: ../../library/asyncio-eventloop.rst:1922 msgid "" "A subclass of :class:`AbstractEventLoop` based on the :mod:`selectors` " "module." msgstr "" -#: ../../library/asyncio-eventloop.rst:1921 +#: ../../library/asyncio-eventloop.rst:1925 msgid "" "Uses the most efficient *selector* available for the given platform. It is " "also possible to manually configure the exact selector implementation to be " "used::" msgstr "" -#: ../../library/asyncio-eventloop.rst:1925 +#: ../../library/asyncio-eventloop.rst:1929 msgid "" "import asyncio\n" "import selectors\n" @@ -2446,45 +2452,45 @@ msgid "" "asyncio.run(main(), loop_factory=loop_factory)" msgstr "" -#: ../../library/asyncio-eventloop.rst:1940 +#: ../../library/asyncio-eventloop.rst:1944 msgid "" "A subclass of :class:`AbstractEventLoop` for Windows that uses \"I/O " "Completion Ports\" (IOCP)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1946 +#: ../../library/asyncio-eventloop.rst:1950 msgid "" "`MSDN documentation on I/O Completion Ports `_." msgstr "" -#: ../../library/asyncio-eventloop.rst:1951 +#: ../../library/asyncio-eventloop.rst:1955 msgid "" "An alias to the most efficient available subclass of :class:" "`AbstractEventLoop` for the given platform." msgstr "" -#: ../../library/asyncio-eventloop.rst:1954 +#: ../../library/asyncio-eventloop.rst:1958 msgid "" "It is an alias to :class:`SelectorEventLoop` on Unix and :class:" "`ProactorEventLoop` on Windows." msgstr "" -#: ../../library/asyncio-eventloop.rst:1960 +#: ../../library/asyncio-eventloop.rst:1964 msgid "Abstract base class for asyncio-compliant event loops." msgstr "" -#: ../../library/asyncio-eventloop.rst:1962 +#: ../../library/asyncio-eventloop.rst:1966 msgid "" "The :ref:`asyncio-event-loop-methods` section lists all methods that an " "alternative implementation of ``AbstractEventLoop`` should have defined." msgstr "" -#: ../../library/asyncio-eventloop.rst:1968 +#: ../../library/asyncio-eventloop.rst:1972 msgid "Examples" msgstr "Beispiele" -#: ../../library/asyncio-eventloop.rst:1970 +#: ../../library/asyncio-eventloop.rst:1974 msgid "" "Note that all examples in this section **purposefully** show how to use the " "low-level event loop APIs, such as :meth:`loop.run_forever` and :meth:`loop." @@ -2492,17 +2498,17 @@ msgid "" "consider using the high-level functions like :func:`asyncio.run`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1980 +#: ../../library/asyncio-eventloop.rst:1984 msgid "Hello World with call_soon()" msgstr "" -#: ../../library/asyncio-eventloop.rst:1982 +#: ../../library/asyncio-eventloop.rst:1986 msgid "" "An example using the :meth:`loop.call_soon` method to schedule a callback. " "The callback displays ``\"Hello World\"`` and then stops the event loop::" msgstr "" -#: ../../library/asyncio-eventloop.rst:1986 +#: ../../library/asyncio-eventloop.rst:1990 msgid "" "import asyncio\n" "\n" @@ -2523,24 +2529,24 @@ msgid "" " loop.close()" msgstr "" -#: ../../library/asyncio-eventloop.rst:2006 +#: ../../library/asyncio-eventloop.rst:2010 msgid "" "A similar :ref:`Hello World ` example created with a coroutine " "and the :func:`run` function." msgstr "" -#: ../../library/asyncio-eventloop.rst:2013 +#: ../../library/asyncio-eventloop.rst:2017 msgid "Display the current date with call_later()" msgstr "" -#: ../../library/asyncio-eventloop.rst:2015 +#: ../../library/asyncio-eventloop.rst:2019 msgid "" "An example of a callback displaying the current date every second. The " "callback uses the :meth:`loop.call_later` method to reschedule itself after " "5 seconds, and then stops the event loop::" msgstr "" -#: ../../library/asyncio-eventloop.rst:2019 +#: ../../library/asyncio-eventloop.rst:2023 msgid "" "import asyncio\n" "import datetime as dt\n" @@ -2565,23 +2571,23 @@ msgid "" " loop.close()" msgstr "" -#: ../../library/asyncio-eventloop.rst:2043 +#: ../../library/asyncio-eventloop.rst:2047 msgid "" "A similar :ref:`current date ` example created with a " "coroutine and the :func:`run` function." msgstr "" -#: ../../library/asyncio-eventloop.rst:2050 +#: ../../library/asyncio-eventloop.rst:2054 msgid "Watch a file descriptor for read events" msgstr "" -#: ../../library/asyncio-eventloop.rst:2052 +#: ../../library/asyncio-eventloop.rst:2056 msgid "" "Wait until a file descriptor received some data using the :meth:`loop." "add_reader` method and then close the event loop::" msgstr "" -#: ../../library/asyncio-eventloop.rst:2055 +#: ../../library/asyncio-eventloop.rst:2059 msgid "" "import asyncio\n" "from socket import socketpair\n" @@ -2617,33 +2623,33 @@ msgid "" " loop.close()" msgstr "" -#: ../../library/asyncio-eventloop.rst:2090 +#: ../../library/asyncio-eventloop.rst:2094 msgid "" "A similar :ref:`example ` using " "transports, protocols, and the :meth:`loop.create_connection` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:2094 +#: ../../library/asyncio-eventloop.rst:2098 msgid "" "Another similar :ref:`example ` " "using the high-level :func:`asyncio.open_connection` function and streams." msgstr "" -#: ../../library/asyncio-eventloop.rst:2102 +#: ../../library/asyncio-eventloop.rst:2106 msgid "Set signal handlers for SIGINT and SIGTERM" msgstr "" -#: ../../library/asyncio-eventloop.rst:2104 +#: ../../library/asyncio-eventloop.rst:2108 msgid "(This ``signal`` example only works on Unix.)" msgstr "" -#: ../../library/asyncio-eventloop.rst:2106 +#: ../../library/asyncio-eventloop.rst:2110 msgid "" "Register handlers for signals :const:`~signal.SIGINT` and :const:`~signal." "SIGTERM` using the :meth:`loop.add_signal_handler` method::" msgstr "" -#: ../../library/asyncio-eventloop.rst:2109 +#: ../../library/asyncio-eventloop.rst:2113 msgid "" "import asyncio\n" "import functools\n" diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index ea768633..660ddd86 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:17+0000\n" "Last-Translator: Jyst Breisgau, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -40,7 +40,7 @@ msgstr "" msgid "Here is an example of a TCP echo client written using asyncio streams::" msgstr "" -#: ../../library/asyncio-stream.rst:22 ../../library/asyncio-stream.rst:451 +#: ../../library/asyncio-stream.rst:22 ../../library/asyncio-stream.rst:455 msgid "" "import asyncio\n" "\n" @@ -480,50 +480,56 @@ msgid "" "(default)." msgstr "" -#: ../../library/asyncio-stream.rst:424 +#: ../../library/asyncio-stream.rst:421 +msgid "" +"Raises a ``ValueError`` if ``sslcontext.check_hostname`` is ``True`` and " +"``server_hostname`` is not supplied." +msgstr "" + +#: ../../library/asyncio-stream.rst:428 msgid "" "Return ``True`` if the stream is closed or in the process of being closed." msgstr "" -#: ../../library/asyncio-stream.rst:432 +#: ../../library/asyncio-stream.rst:436 msgid "Wait until the stream is closed." msgstr "" -#: ../../library/asyncio-stream.rst:434 +#: ../../library/asyncio-stream.rst:438 msgid "" "Should be called after :meth:`close` to wait until the underlying connection " "is closed, ensuring that all data has been flushed before e.g. exiting the " "program." msgstr "" -#: ../../library/asyncio-stream.rst:442 +#: ../../library/asyncio-stream.rst:446 msgid "Examples" msgstr "Beispiele" -#: ../../library/asyncio-stream.rst:447 +#: ../../library/asyncio-stream.rst:451 msgid "TCP echo client using streams" msgstr "" -#: ../../library/asyncio-stream.rst:449 +#: ../../library/asyncio-stream.rst:453 msgid "TCP echo client using the :func:`asyncio.open_connection` function::" msgstr "" -#: ../../library/asyncio-stream.rst:473 +#: ../../library/asyncio-stream.rst:477 msgid "" "The :ref:`TCP echo client protocol " "` example uses the low-level :meth:" "`loop.create_connection` method." msgstr "" -#: ../../library/asyncio-stream.rst:480 +#: ../../library/asyncio-stream.rst:484 msgid "TCP echo server using streams" msgstr "" -#: ../../library/asyncio-stream.rst:482 +#: ../../library/asyncio-stream.rst:486 msgid "TCP echo server using the :func:`asyncio.start_server` function::" msgstr "" -#: ../../library/asyncio-stream.rst:484 +#: ../../library/asyncio-stream.rst:488 msgid "" "import asyncio\n" "\n" @@ -555,23 +561,23 @@ msgid "" "asyncio.run(main())" msgstr "" -#: ../../library/asyncio-stream.rst:516 +#: ../../library/asyncio-stream.rst:520 msgid "" "The :ref:`TCP echo server protocol " "` example uses the :meth:`loop." "create_server` method." msgstr "" -#: ../../library/asyncio-stream.rst:521 +#: ../../library/asyncio-stream.rst:525 msgid "Get HTTP headers" msgstr "" -#: ../../library/asyncio-stream.rst:523 +#: ../../library/asyncio-stream.rst:527 msgid "" "Simple example querying HTTP headers of the URL passed on the command line::" msgstr "" -#: ../../library/asyncio-stream.rst:525 +#: ../../library/asyncio-stream.rst:529 msgid "" "import asyncio\n" "import urllib.parse\n" @@ -610,33 +616,33 @@ msgid "" "asyncio.run(print_http_headers(url))" msgstr "" -#: ../../library/asyncio-stream.rst:562 +#: ../../library/asyncio-stream.rst:566 msgid "Usage::" msgstr "" -#: ../../library/asyncio-stream.rst:564 +#: ../../library/asyncio-stream.rst:568 msgid "python example.py http://example.com/path/page.html" msgstr "" -#: ../../library/asyncio-stream.rst:566 +#: ../../library/asyncio-stream.rst:570 msgid "or with HTTPS::" msgstr "" -#: ../../library/asyncio-stream.rst:568 +#: ../../library/asyncio-stream.rst:572 msgid "python example.py https://example.com/path/page.html" msgstr "" -#: ../../library/asyncio-stream.rst:574 +#: ../../library/asyncio-stream.rst:578 msgid "Register an open socket to wait for data using streams" msgstr "" -#: ../../library/asyncio-stream.rst:576 +#: ../../library/asyncio-stream.rst:580 msgid "" "Coroutine waiting until a socket receives data using the :func:" "`open_connection` function::" msgstr "" -#: ../../library/asyncio-stream.rst:579 +#: ../../library/asyncio-stream.rst:583 msgid "" "import asyncio\n" "import socket\n" @@ -669,14 +675,14 @@ msgid "" "asyncio.run(wait_for_data())" msgstr "" -#: ../../library/asyncio-stream.rst:611 +#: ../../library/asyncio-stream.rst:615 msgid "" "The :ref:`register an open socket to wait for data using a protocol " "` example uses a low-level protocol and " "the :meth:`loop.create_connection` method." msgstr "" -#: ../../library/asyncio-stream.rst:615 +#: ../../library/asyncio-stream.rst:619 msgid "" "The :ref:`watch a file descriptor for read events " "` example uses the low-level :meth:`loop." diff --git a/library/calendar.po b/library/calendar.po index eea1d093..1a322c52 100644 --- a/library/calendar.po +++ b/library/calendar.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:17+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -196,10 +196,9 @@ msgstr "" #: ../../library/calendar.rst:171 msgid "" -"Return a single week in a string with no newline. If *w* is provided, it " -"specifies the width of the date columns, which are centered. Depends on the " -"first weekday as specified in the constructor or set by the :meth:" -"`setfirstweekday` method." +"Return a single week in a string with no newline. *width* specifies the " +"width of the date columns, which are centered. Depends on the first weekday " +"as specified in the constructor or set by the :meth:`setfirstweekday` method." msgstr "" #: ../../library/calendar.rst:179 diff --git a/library/concurrent.interpreters.po b/library/concurrent.interpreters.po index 57478a28..c2a23109 100644 --- a/library/concurrent.interpreters.po +++ b/library/concurrent.interpreters.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:17+0000\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -362,137 +362,188 @@ msgid "" "for it." msgstr "" -#: ../../library/concurrent.interpreters.rst:237 -msgid "Interpreter objects" +#: ../../library/concurrent.interpreters.rst:235 +msgid "" +"*maxsize* is an integer that sets the upperbound limit on the number of " +"items that can be placed in the queue. Insertion will be blocked once this " +"size has been reached, until queue items are consumed. If *maxsize* is less " +"than or equal to zero, the queue size is infinite." msgstr "" #: ../../library/concurrent.interpreters.rst:241 +msgid "Interpreter objects" +msgstr "" + +#: ../../library/concurrent.interpreters.rst:245 msgid "A single interpreter in the current process." msgstr "" -#: ../../library/concurrent.interpreters.rst:243 +#: ../../library/concurrent.interpreters.rst:247 msgid "" "Generally, :class:`Interpreter` shouldn't be called directly. Instead, use :" "func:`create` or one of the other module functions." msgstr "" -#: ../../library/concurrent.interpreters.rst:248 -#: ../../library/concurrent.interpreters.rst:254 -#: ../../library/concurrent.interpreters.rst:333 +#: ../../library/concurrent.interpreters.rst:252 +#: ../../library/concurrent.interpreters.rst:258 +#: ../../library/concurrent.interpreters.rst:339 msgid "(read-only)" msgstr "" -#: ../../library/concurrent.interpreters.rst:250 +#: ../../library/concurrent.interpreters.rst:254 msgid "The underlying interpreter's ID." msgstr "" -#: ../../library/concurrent.interpreters.rst:256 +#: ../../library/concurrent.interpreters.rst:260 msgid "A string describing where the interpreter came from." msgstr "" -#: ../../library/concurrent.interpreters.rst:260 +#: ../../library/concurrent.interpreters.rst:264 msgid "" "Return ``True`` if the interpreter is currently executing code in its :mod:`!" "__main__` module and ``False`` otherwise." msgstr "" -#: ../../library/concurrent.interpreters.rst:265 +#: ../../library/concurrent.interpreters.rst:269 msgid "Finalize and destroy the interpreter." msgstr "" -#: ../../library/concurrent.interpreters.rst:269 +#: ../../library/concurrent.interpreters.rst:273 msgid "Bind objects in the interpreter's :mod:`!__main__` module." msgstr "" -#: ../../library/concurrent.interpreters.rst:271 -#: ../../library/concurrent.interpreters.rst:328 +#: ../../library/concurrent.interpreters.rst:275 +#: ../../library/concurrent.interpreters.rst:334 msgid "" "Some objects are actually shared and some are copied efficiently, but most " "are copied via :mod:`pickle`. See :ref:`interp-object-sharing`." msgstr "" -#: ../../library/concurrent.interpreters.rst:276 +#: ../../library/concurrent.interpreters.rst:280 msgid "Run the given source code in the interpreter (in the current thread)." msgstr "" -#: ../../library/concurrent.interpreters.rst:280 +#: ../../library/concurrent.interpreters.rst:284 msgid "" "Return the result of running the given function in the interpreter (in the " "current thread)." msgstr "" -#: ../../library/concurrent.interpreters.rst:287 +#: ../../library/concurrent.interpreters.rst:291 msgid "Run the given function in the interpreter (in a new thread)." msgstr "" -#: ../../library/concurrent.interpreters.rst:290 +#: ../../library/concurrent.interpreters.rst:294 msgid "Exceptions" msgstr "Ausnahmen" -#: ../../library/concurrent.interpreters.rst:294 +#: ../../library/concurrent.interpreters.rst:298 msgid "" "This exception, a subclass of :exc:`Exception`, is raised when an " "interpreter-related error happens." msgstr "" -#: ../../library/concurrent.interpreters.rst:299 +#: ../../library/concurrent.interpreters.rst:303 msgid "" "This exception, a subclass of :exc:`InterpreterError`, is raised when the " "targeted interpreter no longer exists." msgstr "" -#: ../../library/concurrent.interpreters.rst:304 +#: ../../library/concurrent.interpreters.rst:308 msgid "" "This exception, a subclass of :exc:`InterpreterError`, is raised when the " "running code raised an uncaught exception." msgstr "" -#: ../../library/concurrent.interpreters.rst:309 +#: ../../library/concurrent.interpreters.rst:313 msgid "A basic snapshot of the exception raised in the other interpreter." msgstr "" -#: ../../library/concurrent.interpreters.rst:315 +#: ../../library/concurrent.interpreters.rst:319 msgid "" "This exception, a subclass of :exc:`TypeError`, is raised when an object " "cannot be sent to another interpreter." msgstr "" -#: ../../library/concurrent.interpreters.rst:320 +#: ../../library/concurrent.interpreters.rst:324 msgid "Communicating Between Interpreters" msgstr "" -#: ../../library/concurrent.interpreters.rst:324 +#: ../../library/concurrent.interpreters.rst:328 msgid "" -"A wrapper around a low-level, cross-interpreter queue, which implements the :" -"class:`queue.Queue` interface. The underlying queue can only be created " -"through :func:`create_queue`." +"A wrapper around a low-level, cross-interpreter queue, which implements all " +"the methods of :class:`queue.Queue` except for :meth:`~queue.Queue." +"task_done`, :meth:`~queue.Queue.join` and :meth:`~queue.Queue.shutdown`. " +"The underlying queue can only be created through :func:`create_queue`." msgstr "" -#: ../../library/concurrent.interpreters.rst:335 +#: ../../library/concurrent.interpreters.rst:341 msgid "The queue's ID." msgstr "" -#: ../../library/concurrent.interpreters.rst:340 +#: ../../library/concurrent.interpreters.rst:345 +msgid "Return the number of items in the queue." +msgstr "" + +#: ../../library/concurrent.interpreters.rst:349 +msgid "Return ``True`` if the queue is empty, ``False`` otherwise." +msgstr "" + +#: ../../library/concurrent.interpreters.rst:353 +msgid "Return ``True`` if the queue is full, ``False`` otherwise." +msgstr "" + +#: ../../library/concurrent.interpreters.rst:357 +msgid "" +"Put *obj* into the queue. If optional args *block* is true and *timeout* is " +"``None`` (the default), block if necessary until a free slot is available. " +"If *timeout* is a positive number, it blocks at most *timeout* seconds and " +"raises the :exc:`QueueFull` exception if no free slot was available within " +"that time. Otherwise (*block* is false), put an object on the queue if a " +"free slot is immediately available, else raise the :exc:`QueueFull` " +"exception (*timeout* is ignored in that case)." +msgstr "" + +#: ../../library/concurrent.interpreters.rst:368 +msgid "Equivalent to ``put(obj, block=False)``." +msgstr "" + +#: ../../library/concurrent.interpreters.rst:372 +msgid "" +"Remove and return an object from the queue. If optional args *block* is " +"true and *timeout* is ``None`` (the default), block if necessary until an " +"object is available. If *timeout* is a positive number, it blocks at most " +"*timeout* seconds and raises the :exc:`QueueEmpty` exception if no object " +"was available within that time. Otherwise (*block* is false), return an " +"object if one is immediately available, else raise the :exc:`QueueEmpty` " +"exception (*timeout* is ignored in that case)." +msgstr "" + +#: ../../library/concurrent.interpreters.rst:383 +msgid "Equivalent to ``get(block=False)``." +msgstr "" + +#: ../../library/concurrent.interpreters.rst:388 msgid "" -"This exception, a subclass of :exc:`queue.Empty`, is raised from :meth:`!" -"Queue.get` and :meth:`!Queue.get_nowait` when the queue is empty." +"This exception, a subclass of :exc:`queue.Empty`, is raised from :meth:" +"`Queue.get` and :meth:`Queue.get_nowait` when the queue is empty." msgstr "" -#: ../../library/concurrent.interpreters.rst:346 +#: ../../library/concurrent.interpreters.rst:394 msgid "" -"This exception, a subclass of :exc:`queue.Full`, is raised from :meth:`!" -"Queue.put` and :meth:`!Queue.put_nowait` when the queue is full." +"This exception, a subclass of :exc:`queue.Full`, is raised from :meth:`Queue." +"put` and :meth:`Queue.put_nowait` when the queue is full." msgstr "" -#: ../../library/concurrent.interpreters.rst:352 +#: ../../library/concurrent.interpreters.rst:400 msgid "Basic usage" msgstr "Grundlegende Verwendung" -#: ../../library/concurrent.interpreters.rst:354 +#: ../../library/concurrent.interpreters.rst:402 msgid "Creating an interpreter and running code in it::" msgstr "" -#: ../../library/concurrent.interpreters.rst:356 +#: ../../library/concurrent.interpreters.rst:404 msgid "" "from concurrent import interpreters\n" "\n" @@ -527,3 +578,22 @@ msgid "" "t = interp.call_in_thread(run)\n" "t.join()" msgstr "" + +#: ../../library/concurrent.interpreters.rst:437 +msgid "Communicating between interpreters with a queue::" +msgstr "" + +#: ../../library/concurrent.interpreters.rst:439 +msgid "" +"from concurrent import interpreters\n" +"\n" +"interp = interpreters.create()\n" +"queue = interpreters.create_queue()\n" +"\n" +"def worker(queue):\n" +" queue.put('spam!')\n" +"\n" +"t = interp.call_in_thread(worker, queue)\n" +"print(queue.get())\n" +"t.join()" +msgstr "" diff --git a/library/ctypes.po b/library/ctypes.po index cbb8e70b..6ed1014a 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:17+0000\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -347,7 +347,7 @@ msgid "" "learn more about :mod:`!ctypes` data types." msgstr "" -#: ../../library/ctypes.rst:228 ../../library/ctypes.rst:2554 +#: ../../library/ctypes.rst:228 ../../library/ctypes.rst:2558 msgid "Fundamental data types" msgstr "" @@ -2370,7 +2370,7 @@ msgid "" "If no library can be found, returns ``None``." msgstr "" -#: ../../library/ctypes.rst:1495 ../../library/ctypes.rst:2257 +#: ../../library/ctypes.rst:1495 ../../library/ctypes.rst:2261 msgid "The exact functionality is system dependent." msgstr "" @@ -2576,17 +2576,21 @@ msgid "" "ctypes` maintains a thread-local copy of the system's :data:`errno` " "variable; if you call foreign functions created with ``use_errno=True`` then " "the :data:`errno` value before the function call is swapped with the ctypes " -"private copy, the same happens immediately after the function call." +"private copy, the same happens immediately after the function call. This " +"mechanism only works for libraries that use the same C runtime library as " +"the interpreter itself. A library linked against a different C runtime (for " +"example, a different CRT on Windows) has its own :data:`errno`, which :mod:`!" +"ctypes` cannot observe." msgstr "" -#: ../../library/ctypes.rst:1631 +#: ../../library/ctypes.rst:1634 msgid "" "The function :func:`ctypes.get_errno` returns the value of the ctypes " "private copy, and the function :func:`ctypes.set_errno` changes the ctypes " "private copy to a new value and returns the former value." msgstr "" -#: ../../library/ctypes.rst:1635 +#: ../../library/ctypes.rst:1638 msgid "" "The *use_last_error* parameter, when set to true, enables the same mechanism " "for the Windows error code which is managed by the :func:`GetLastError` and :" @@ -2595,7 +2599,7 @@ msgid "" "private copy of the windows error code." msgstr "" -#: ../../library/ctypes.rst:1641 +#: ../../library/ctypes.rst:1644 msgid "" "The *winmode* parameter is used on Windows to specify how the library is " "loaded (since *mode* is ignored). It takes any value that is valid for the " @@ -2605,7 +2609,7 @@ msgid "" "ensure the correct library and dependencies are loaded." msgstr "" -#: ../../library/ctypes.rst:1648 +#: ../../library/ctypes.rst:1651 msgid "" "On Windows creating a :class:`CDLL` instance may fail even if the DLL name " "exists. When a dependent DLL of the loaded DLL is not found, a :exc:" @@ -2617,22 +2621,22 @@ msgid "" "determine which one is not found using Windows debugging and tracing tools." msgstr "" -#: ../../library/ctypes.rst:1660 +#: ../../library/ctypes.rst:1663 msgid "" "`Microsoft DUMPBIN tool `_ -- A tool to find DLL " "dependents." msgstr "" -#: ../../library/ctypes.rst:1663 +#: ../../library/ctypes.rst:1666 msgid "Added *winmode* parameter." msgstr "" -#: ../../library/ctypes.rst:1668 +#: ../../library/ctypes.rst:1671 msgid "The *name* parameter can now be a :term:`path-like object`." msgstr "" -#: ../../library/ctypes.rst:1670 +#: ../../library/ctypes.rst:1673 msgid "" "Instances of this class have no public methods. Functions exported by the " "shared library can be accessed as attributes or by index. Please note that " @@ -2641,7 +2645,7 @@ msgid "" "hand, accessing it through an index returns a new object each time::" msgstr "" -#: ../../library/ctypes.rst:1676 +#: ../../library/ctypes.rst:1679 msgid "" ">>> from ctypes import CDLL\n" ">>> libc = CDLL(\"libc.so.6\") # On Linux\n" @@ -2651,26 +2655,26 @@ msgid "" "False" msgstr "" -#: ../../library/ctypes.rst:1683 +#: ../../library/ctypes.rst:1686 msgid "" "The following public attributes are available. Their name starts with an " "underscore to not clash with exported function names:" msgstr "" -#: ../../library/ctypes.rst:1688 +#: ../../library/ctypes.rst:1691 msgid "The system handle used to access the library." msgstr "" -#: ../../library/ctypes.rst:1692 +#: ../../library/ctypes.rst:1695 msgid "The name of the library passed in the constructor." msgstr "" -#: ../../library/ctypes.rst:1696 ../../library/ctypes.rst:1713 -#: ../../library/ctypes.rst:1722 +#: ../../library/ctypes.rst:1699 ../../library/ctypes.rst:1716 +#: ../../library/ctypes.rst:1725 msgid "See :py:class:`~ctypes.CDLL`, the superclass, for common information." msgstr "" -#: ../../library/ctypes.rst:1698 +#: ../../library/ctypes.rst:1701 msgid "" "Functions in this library use the ``stdcall`` calling convention, and are " "assumed to return the windows specific :class:`HRESULT` code. :class:" @@ -2679,60 +2683,60 @@ msgid "" "value signals a failure, an :class:`OSError` is automatically raised." msgstr "" -#: ../../library/ctypes.rst:1704 ../../library/ctypes.rst:1718 -#: ../../library/ctypes.rst:1781 ../../library/ctypes.rst:1788 -#: ../../library/ctypes.rst:1961 ../../library/ctypes.rst:2013 -#: ../../library/ctypes.rst:2165 ../../library/ctypes.rst:2237 -#: ../../library/ctypes.rst:2246 ../../library/ctypes.rst:2273 -#: ../../library/ctypes.rst:2287 ../../library/ctypes.rst:2296 -#: ../../library/ctypes.rst:2305 ../../library/ctypes.rst:2320 -#: ../../library/ctypes.rst:2387 ../../library/ctypes.rst:2414 -#: ../../library/ctypes.rst:2846 ../../library/ctypes.rst:3269 +#: ../../library/ctypes.rst:1707 ../../library/ctypes.rst:1721 +#: ../../library/ctypes.rst:1784 ../../library/ctypes.rst:1791 +#: ../../library/ctypes.rst:1965 ../../library/ctypes.rst:2017 +#: ../../library/ctypes.rst:2169 ../../library/ctypes.rst:2241 +#: ../../library/ctypes.rst:2250 ../../library/ctypes.rst:2277 +#: ../../library/ctypes.rst:2291 ../../library/ctypes.rst:2300 +#: ../../library/ctypes.rst:2309 ../../library/ctypes.rst:2324 +#: ../../library/ctypes.rst:2391 ../../library/ctypes.rst:2418 +#: ../../library/ctypes.rst:2850 ../../library/ctypes.rst:3273 msgid "Availability" msgstr "" -#: ../../library/ctypes.rst:1706 +#: ../../library/ctypes.rst:1709 msgid "" ":exc:`WindowsError` used to be raised, which is now an alias of :exc:" "`OSError`." msgstr "" -#: ../../library/ctypes.rst:1715 +#: ../../library/ctypes.rst:1718 msgid "" "Functions in these libraries use the ``stdcall`` calling convention, and are " "assumed to return :c:expr:`int` by default." msgstr "" -#: ../../library/ctypes.rst:1724 +#: ../../library/ctypes.rst:1727 msgid "" "When functions in this library are called, the Python GIL is *not* released " "during the function call, and after the function execution the Python error " "flag is checked. If the error flag is set, a Python exception is raised." msgstr "" -#: ../../library/ctypes.rst:1729 +#: ../../library/ctypes.rst:1732 msgid "Thus, this is only useful to call Python C API functions directly." msgstr "" -#: ../../library/ctypes.rst:1734 +#: ../../library/ctypes.rst:1737 msgid "" "Flag to use as *mode* parameter. On platforms where this flag is not " "available, it is defined as the integer zero." msgstr "" -#: ../../library/ctypes.rst:1740 +#: ../../library/ctypes.rst:1743 msgid "" "Flag to use as *mode* parameter. On platforms where this is not available, " "it is the same as *RTLD_GLOBAL*." msgstr "" -#: ../../library/ctypes.rst:1746 +#: ../../library/ctypes.rst:1749 msgid "" "The default mode which is used to load shared libraries. On OSX 10.3, this " "is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*." msgstr "" -#: ../../library/ctypes.rst:1750 +#: ../../library/ctypes.rst:1753 msgid "" "Shared libraries can also be loaded by using one of the prefabricated " "objects, which are instances of the :class:`LibraryLoader` class, either by " @@ -2740,13 +2744,13 @@ msgid "" "library as attribute of the loader instance." msgstr "" -#: ../../library/ctypes.rst:1757 +#: ../../library/ctypes.rst:1760 msgid "" "Class which loads shared libraries. *dlltype* should be one of the :class:" "`CDLL`, :class:`PyDLL`, :class:`WinDLL`, or :class:`OleDLL` types." msgstr "" -#: ../../library/ctypes.rst:1760 +#: ../../library/ctypes.rst:1763 msgid "" ":meth:`!__getattr__` has special behavior: It allows loading a shared " "library by accessing it as attribute of a library loader instance. The " @@ -2754,39 +2758,39 @@ msgid "" "each time." msgstr "" -#: ../../library/ctypes.rst:1766 +#: ../../library/ctypes.rst:1769 msgid "" "Load a shared library into the process and return it. This method always " "returns a new instance of the library." msgstr "" -#: ../../library/ctypes.rst:1770 +#: ../../library/ctypes.rst:1773 msgid "These prefabricated library loaders are available:" msgstr "" -#: ../../library/ctypes.rst:1774 +#: ../../library/ctypes.rst:1777 msgid "Creates :class:`CDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1779 +#: ../../library/ctypes.rst:1782 msgid "Creates :class:`WinDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1786 +#: ../../library/ctypes.rst:1789 msgid "Creates :class:`OleDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1793 +#: ../../library/ctypes.rst:1796 msgid "Creates :class:`PyDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1796 +#: ../../library/ctypes.rst:1799 msgid "" "For accessing the C Python api directly, a ready-to-use Python shared " "library object is available:" msgstr "" -#: ../../library/ctypes.rst:1801 +#: ../../library/ctypes.rst:1804 msgid "" "An instance of :class:`PyDLL` that exposes Python C API functions as " "attributes. Note that all these functions are assumed to return C :c:expr:" @@ -2794,38 +2798,36 @@ msgid "" "correct :attr:`!restype` attribute to use these functions." msgstr "" -#: ../../library/ctypes.rst:1806 -msgid "" -"Note that if the Python interpreter is statically linked, this will be " -"``None``, as ``dlopen`` is not possible in this case." +#: ../../library/ctypes.rst:1811 +msgid "If the Python interpreter is statically linked, this may be ``None``." msgstr "" -#: ../../library/ctypes.rst:1809 ../../library/ctypes.rst:1811 +#: ../../library/ctypes.rst:1813 ../../library/ctypes.rst:1815 msgid "" "Loading a library through any of these objects raises an :ref:`auditing " "event ` ``ctypes.dlopen`` with string argument ``name``, the name " "used to load the library." msgstr "" -#: ../../library/ctypes.rst:1815 ../../library/ctypes.rst:1817 +#: ../../library/ctypes.rst:1819 ../../library/ctypes.rst:1821 msgid "" "Accessing a function on a loaded library raises an auditing event ``ctypes." "dlsym`` with arguments ``library`` (the library object) and ``name`` (the " "symbol's name as a string or integer)." msgstr "" -#: ../../library/ctypes.rst:1821 ../../library/ctypes.rst:1823 +#: ../../library/ctypes.rst:1825 ../../library/ctypes.rst:1827 msgid "" "In cases when only the library handle is available rather than the object, " "accessing a function raises an auditing event ``ctypes.dlsym/handle`` with " "arguments ``handle`` (the raw library handle) and ``name``." msgstr "" -#: ../../library/ctypes.rst:1830 +#: ../../library/ctypes.rst:1834 msgid "Foreign functions" msgstr "" -#: ../../library/ctypes.rst:1832 +#: ../../library/ctypes.rst:1836 msgid "" "As explained in the previous section, foreign functions can be accessed as " "attributes of loaded shared libraries. The function objects created in this " @@ -2834,13 +2836,13 @@ msgid "" "library loader." msgstr "" -#: ../../library/ctypes.rst:1837 +#: ../../library/ctypes.rst:1841 msgid "" "They are instances of a private local class :class:`!_FuncPtr` (not exposed " "in :mod:`!ctypes`) which inherits from the private :class:`_CFuncPtr` class:" msgstr "" -#: ../../library/ctypes.rst:1840 +#: ../../library/ctypes.rst:1844 msgid "" ">>> import ctypes\n" ">>> lib = ctypes.CDLL(None)\n" @@ -2850,29 +2852,29 @@ msgid "" "False" msgstr "" -#: ../../library/ctypes.rst:1851 +#: ../../library/ctypes.rst:1855 msgid "Base class for C callable foreign functions." msgstr "" -#: ../../library/ctypes.rst:1853 +#: ../../library/ctypes.rst:1857 msgid "" "Instances of foreign functions are also C compatible data types; they " "represent C function pointers." msgstr "" -#: ../../library/ctypes.rst:1856 +#: ../../library/ctypes.rst:1860 msgid "" "This behavior can be customized by assigning to special attributes of the " "foreign function object." msgstr "" -#: ../../library/ctypes.rst:1861 +#: ../../library/ctypes.rst:1865 msgid "" "Assign a ctypes type to specify the result type of the foreign function. Use " "``None`` for :c:expr:`void`, a function not returning anything." msgstr "" -#: ../../library/ctypes.rst:1864 +#: ../../library/ctypes.rst:1868 msgid "" "It is possible to assign a callable Python object that is not a ctypes type, " "in this case the function is assumed to return a C :c:expr:`int`, and the " @@ -2882,7 +2884,7 @@ msgid "" "callable to the :attr:`errcheck` attribute." msgstr "" -#: ../../library/ctypes.rst:1873 +#: ../../library/ctypes.rst:1877 msgid "" "Assign a tuple of ctypes types to specify the argument types that the " "function accepts. Functions using the ``stdcall`` calling convention can " @@ -2891,7 +2893,7 @@ msgid "" "unspecified arguments as well." msgstr "" -#: ../../library/ctypes.rst:1879 +#: ../../library/ctypes.rst:1883 msgid "" "When a foreign function is called, each actual argument is passed to the :" "meth:`~_CData.from_param` class method of the items in the :attr:`argtypes` " @@ -2901,7 +2903,7 @@ msgid "" "object using ctypes conversion rules." msgstr "" -#: ../../library/ctypes.rst:1886 +#: ../../library/ctypes.rst:1890 msgid "" "New: It is now possible to put items in argtypes which are not ctypes types, " "but each item must have a :meth:`~_CData.from_param` method which returns a " @@ -2909,38 +2911,38 @@ msgid "" "defining adapters that can adapt custom objects as function parameters." msgstr "" -#: ../../library/ctypes.rst:1893 +#: ../../library/ctypes.rst:1897 msgid "" "Assign a Python function or another callable to this attribute. The callable " "will be called with three or more arguments:" msgstr "" -#: ../../library/ctypes.rst:1900 +#: ../../library/ctypes.rst:1904 msgid "" "*result* is what the foreign function returns, as specified by the :attr:`!" "restype` attribute." msgstr "" -#: ../../library/ctypes.rst:1903 +#: ../../library/ctypes.rst:1907 msgid "" "*func* is the foreign function object itself, this allows reusing the same " "callable object to check or post process the results of several functions." msgstr "" -#: ../../library/ctypes.rst:1907 +#: ../../library/ctypes.rst:1911 msgid "" "*arguments* is a tuple containing the parameters originally passed to the " "function call, this allows specializing the behavior on the arguments used." msgstr "" -#: ../../library/ctypes.rst:1911 +#: ../../library/ctypes.rst:1915 msgid "" "The object that this function returns will be returned from the foreign " "function call, but it can also check the result value and raise an exception " "if the foreign function call failed." msgstr "" -#: ../../library/ctypes.rst:1916 ../../library/ctypes.rst:1918 +#: ../../library/ctypes.rst:1920 ../../library/ctypes.rst:1922 msgid "" "On Windows, when a foreign function call raises a system exception (for " "example, due to an access violation), it will be captured and replaced with " @@ -2949,18 +2951,18 @@ msgid "" "hook to replace the exception with its own." msgstr "" -#: ../../library/ctypes.rst:1924 ../../library/ctypes.rst:1926 +#: ../../library/ctypes.rst:1928 ../../library/ctypes.rst:1930 msgid "" "Some ways to invoke foreign function calls as well as some of the functions " "in this module may raise an auditing event ``ctypes.call_function`` with " "arguments ``function pointer`` and ``arguments``." msgstr "" -#: ../../library/ctypes.rst:1933 +#: ../../library/ctypes.rst:1937 msgid "Function prototypes" msgstr "" -#: ../../library/ctypes.rst:1935 +#: ../../library/ctypes.rst:1939 msgid "" "Foreign functions can also be created by instantiating function prototypes. " "Function prototypes are similar to function prototypes in C; they describe a " @@ -2971,7 +2973,7 @@ msgid "" "``@wrapper`` syntax. See :ref:`ctypes-callback-functions` for examples." msgstr "" -#: ../../library/ctypes.rst:1946 +#: ../../library/ctypes.rst:1950 msgid "" "The returned function prototype creates functions that use the standard C " "calling convention. The function will release the GIL during the call. If " @@ -2980,37 +2982,37 @@ msgid "" "after the call; *use_last_error* does the same for the Windows error code." msgstr "" -#: ../../library/ctypes.rst:1956 +#: ../../library/ctypes.rst:1960 msgid "" "The returned function prototype creates functions that use the ``stdcall`` " "calling convention. The function will release the GIL during the call. " "*use_errno* and *use_last_error* have the same meaning as above." msgstr "" -#: ../../library/ctypes.rst:1966 +#: ../../library/ctypes.rst:1970 msgid "" "The returned function prototype creates functions that use the Python " "calling convention. The function will *not* release the GIL during the call." msgstr "" -#: ../../library/ctypes.rst:1969 +#: ../../library/ctypes.rst:1973 msgid "" "Function prototypes created by these factory functions can be instantiated " "in different ways, depending on the type and number of the parameters in the " "call:" msgstr "" -#: ../../library/ctypes.rst:1976 +#: ../../library/ctypes.rst:1980 msgid "" "Returns a foreign function at the specified address which must be an integer." msgstr "" -#: ../../library/ctypes.rst:1983 +#: ../../library/ctypes.rst:1987 msgid "" "Create a C callable function (a callback function) from a Python *callable*." msgstr "" -#: ../../library/ctypes.rst:1990 +#: ../../library/ctypes.rst:1994 msgid "" "Returns a foreign function exported by a shared library. *func_spec* must be " "a 2-tuple ``(name_or_ordinal, library)``. The first item is the name of the " @@ -3018,7 +3020,7 @@ msgid "" "small integer. The second item is the shared library instance." msgstr "" -#: ../../library/ctypes.rst:2000 +#: ../../library/ctypes.rst:2004 msgid "" "Returns a foreign function that will call a COM method. *vtbl_index* is the " "index into the virtual function table, a small non-negative integer. *name* " @@ -3026,86 +3028,86 @@ msgid "" "identifier which is used in extended error reporting." msgstr "" -#: ../../library/ctypes.rst:2005 +#: ../../library/ctypes.rst:2009 msgid "" "If *iid* is not specified, an :exc:`OSError` is raised if the COM method " "call fails. If *iid* is specified, a :exc:`~ctypes.COMError` is raised " "instead." msgstr "" -#: ../../library/ctypes.rst:2009 +#: ../../library/ctypes.rst:2013 msgid "" "COM methods use a special calling convention: They require a pointer to the " "COM interface as first argument, in addition to those parameters that are " "specified in the :attr:`!argtypes` tuple." msgstr "" -#: ../../library/ctypes.rst:2016 +#: ../../library/ctypes.rst:2020 msgid "" "The optional *paramflags* parameter creates foreign function wrappers with " "much more functionality than the features described above." msgstr "" -#: ../../library/ctypes.rst:2019 +#: ../../library/ctypes.rst:2023 msgid "" "*paramflags* must be a tuple of the same length as :attr:`~_CFuncPtr." "argtypes`." msgstr "" -#: ../../library/ctypes.rst:2021 +#: ../../library/ctypes.rst:2025 msgid "" "Each item in this tuple contains further information about a parameter, it " "must be a tuple containing one, two, or three items." msgstr "" -#: ../../library/ctypes.rst:2024 +#: ../../library/ctypes.rst:2028 msgid "" "The first item is an integer containing a combination of direction flags for " "the parameter:" msgstr "" -#: ../../library/ctypes.rst:2027 +#: ../../library/ctypes.rst:2031 msgid "1" msgstr "" -#: ../../library/ctypes.rst:2028 +#: ../../library/ctypes.rst:2032 msgid "Specifies an input parameter to the function." msgstr "" -#: ../../library/ctypes.rst:2030 +#: ../../library/ctypes.rst:2034 msgid "2" msgstr "" -#: ../../library/ctypes.rst:2031 +#: ../../library/ctypes.rst:2035 msgid "Output parameter. The foreign function fills in a value." msgstr "" -#: ../../library/ctypes.rst:2033 +#: ../../library/ctypes.rst:2037 msgid "4" msgstr "4" -#: ../../library/ctypes.rst:2034 +#: ../../library/ctypes.rst:2038 msgid "Input parameter which defaults to the integer zero." msgstr "" -#: ../../library/ctypes.rst:2036 +#: ../../library/ctypes.rst:2040 msgid "" "The optional second item is the parameter name as string. If this is " "specified, the foreign function can be called with named parameters." msgstr "" -#: ../../library/ctypes.rst:2039 +#: ../../library/ctypes.rst:2043 msgid "The optional third item is the default value for this parameter." msgstr "" -#: ../../library/ctypes.rst:2042 +#: ../../library/ctypes.rst:2046 msgid "" "The following example demonstrates how to wrap the Windows ``MessageBoxW`` " "function so that it supports default parameters and named arguments. The C " "declaration from the windows header file is this::" msgstr "" -#: ../../library/ctypes.rst:2046 +#: ../../library/ctypes.rst:2050 msgid "" "WINUSERAPI int WINAPI\n" "MessageBoxW(\n" @@ -3115,11 +3117,11 @@ msgid "" " UINT uType);" msgstr "" -#: ../../library/ctypes.rst:2053 ../../library/ctypes.rst:2076 +#: ../../library/ctypes.rst:2057 ../../library/ctypes.rst:2080 msgid "Here is the wrapping with :mod:`!ctypes`::" msgstr "" -#: ../../library/ctypes.rst:2055 +#: ../../library/ctypes.rst:2059 msgid "" ">>> from ctypes import c_int, WINFUNCTYPE, windll\n" ">>> from ctypes.wintypes import HWND, LPCWSTR, UINT\n" @@ -3129,18 +3131,18 @@ msgid "" ">>> MessageBox = prototype((\"MessageBoxW\", windll.user32), paramflags)" msgstr "" -#: ../../library/ctypes.rst:2061 +#: ../../library/ctypes.rst:2065 msgid "The ``MessageBox`` foreign function can now be called in these ways::" msgstr "" -#: ../../library/ctypes.rst:2063 +#: ../../library/ctypes.rst:2067 msgid "" ">>> MessageBox()\n" ">>> MessageBox(text=\"Spam, spam, spam\")\n" ">>> MessageBox(flags=2, text=\"foo bar\")" msgstr "" -#: ../../library/ctypes.rst:2067 +#: ../../library/ctypes.rst:2071 msgid "" "A second example demonstrates output parameters. The win32 " "``GetWindowRect`` function retrieves the dimensions of a specified window by " @@ -3148,7 +3150,7 @@ msgid "" "the C declaration::" msgstr "" -#: ../../library/ctypes.rst:2071 +#: ../../library/ctypes.rst:2075 msgid "" "WINUSERAPI BOOL WINAPI\n" "GetWindowRect(\n" @@ -3156,7 +3158,7 @@ msgid "" " LPRECT lpRect);" msgstr "" -#: ../../library/ctypes.rst:2078 +#: ../../library/ctypes.rst:2082 msgid "" ">>> from ctypes import POINTER, WINFUNCTYPE, windll, WinError\n" ">>> from ctypes.wintypes import BOOL, HWND, RECT\n" @@ -3167,7 +3169,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:2085 +#: ../../library/ctypes.rst:2089 msgid "" "Functions with output parameters will automatically return the output " "parameter value if there is a single one, or a tuple containing the output " @@ -3175,7 +3177,7 @@ msgid "" "now returns a RECT instance, when called." msgstr "" -#: ../../library/ctypes.rst:2090 +#: ../../library/ctypes.rst:2094 msgid "" "Output parameters can be combined with the :attr:`~_CFuncPtr.errcheck` " "protocol to do further output processing and error checking. The win32 " @@ -3184,7 +3186,7 @@ msgid "" "exception when the api call failed::" msgstr "" -#: ../../library/ctypes.rst:2095 +#: ../../library/ctypes.rst:2099 msgid "" ">>> def errcheck(result, func, args):\n" "... if not result:\n" @@ -3195,7 +3197,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:2103 +#: ../../library/ctypes.rst:2107 msgid "" "If the :attr:`~_CFuncPtr.errcheck` function returns the argument tuple it " "receives unchanged, :mod:`!ctypes` continues the normal processing it does " @@ -3205,7 +3207,7 @@ msgid "" "take place::" msgstr "" -#: ../../library/ctypes.rst:2109 +#: ../../library/ctypes.rst:2113 msgid "" ">>> def errcheck(result, func, args):\n" "... if not result:\n" @@ -3217,62 +3219,62 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:2122 +#: ../../library/ctypes.rst:2126 msgid "Utility functions" msgstr "" -#: ../../library/ctypes.rst:2126 +#: ../../library/ctypes.rst:2130 msgid "" "Returns the address of the memory buffer as integer. *obj* must be an " "instance of a ctypes type." msgstr "" -#: ../../library/ctypes.rst:2129 +#: ../../library/ctypes.rst:2133 msgid "" "Raises an :ref:`auditing event ` ``ctypes.addressof`` with " "argument ``obj``." msgstr "" -#: ../../library/ctypes.rst:2134 +#: ../../library/ctypes.rst:2138 msgid "" "Returns the alignment requirements of a ctypes type. *obj_or_type* must be a " "ctypes type or instance." msgstr "" -#: ../../library/ctypes.rst:2140 +#: ../../library/ctypes.rst:2144 msgid "" "Returns a light-weight pointer to *obj*, which must be an instance of a " "ctypes type. *offset* defaults to zero, and must be an integer that will be " "added to the internal pointer value." msgstr "" -#: ../../library/ctypes.rst:2144 +#: ../../library/ctypes.rst:2148 msgid "``byref(obj, offset)`` corresponds to this C code::" msgstr "" -#: ../../library/ctypes.rst:2146 +#: ../../library/ctypes.rst:2150 msgid "(((char *)&obj) + offset)" msgstr "" -#: ../../library/ctypes.rst:2148 +#: ../../library/ctypes.rst:2152 msgid "" "The returned object can only be used as a foreign function call parameter. " "It behaves similar to ``pointer(obj)``, but the construction is a lot faster." msgstr "" -#: ../../library/ctypes.rst:2154 +#: ../../library/ctypes.rst:2158 msgid "" "Copies a COM pointer from *src* to *dst* and returns the Windows specific :c:" "type:`!HRESULT` value." msgstr "" -#: ../../library/ctypes.rst:2157 +#: ../../library/ctypes.rst:2161 msgid "" "If *src* is not ``NULL``, its ``AddRef`` method is called, incrementing the " "reference count." msgstr "" -#: ../../library/ctypes.rst:2160 +#: ../../library/ctypes.rst:2164 msgid "" "In contrast, the reference count of *dst* will not be decremented before " "assigning the new value. Unless *dst* is ``NULL``, the caller is responsible " @@ -3280,7 +3282,7 @@ msgid "" "necessary." msgstr "" -#: ../../library/ctypes.rst:2172 +#: ../../library/ctypes.rst:2176 msgid "" "This function is similar to the cast operator in C. It returns a new " "instance of *type* which points to the same memory block as *obj*. *type* " @@ -3288,47 +3290,47 @@ msgid "" "as a pointer." msgstr "" -#: ../../library/ctypes.rst:2181 +#: ../../library/ctypes.rst:2185 msgid "" "This function creates a mutable character buffer. The returned object is a " "ctypes array of :class:`c_char`." msgstr "" -#: ../../library/ctypes.rst:2184 +#: ../../library/ctypes.rst:2188 msgid "" "If *size* is given (and not ``None``), it must be an :class:`int`. It " "specifies the size of the returned array." msgstr "" -#: ../../library/ctypes.rst:2187 +#: ../../library/ctypes.rst:2191 msgid "" "If the *init* argument is given, it must be :class:`bytes`. It is used to " "initialize the array items. Bytes not initialized this way are set to zero " "(NUL)." msgstr "" -#: ../../library/ctypes.rst:2191 +#: ../../library/ctypes.rst:2195 msgid "" "If *size* is not given (or if it is ``None``), the buffer is made one " "element larger than *init*, effectively adding a NUL terminator." msgstr "" -#: ../../library/ctypes.rst:2194 +#: ../../library/ctypes.rst:2198 msgid "" "If both arguments are given, *size* must not be less than ``len(init)``." msgstr "" -#: ../../library/ctypes.rst:2198 +#: ../../library/ctypes.rst:2202 msgid "" "If *size* is equal to ``len(init)``, a NUL terminator is not added. Do not " "treat such a buffer as a C string." msgstr "" -#: ../../library/ctypes.rst:2201 +#: ../../library/ctypes.rst:2205 msgid "For example::" msgstr "Zum Beispiel::" -#: ../../library/ctypes.rst:2203 +#: ../../library/ctypes.rst:2207 msgid "" ">>> bytes(create_string_buffer(2))\n" "b'\\x00\\x00'\n" @@ -3344,45 +3346,45 @@ msgid "" "ValueError: byte string too long" msgstr "" -#: ../../library/ctypes.rst:2216 +#: ../../library/ctypes.rst:2220 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_string_buffer`` " "with arguments ``init``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2222 +#: ../../library/ctypes.rst:2226 msgid "" "This function creates a mutable unicode character buffer. The returned " "object is a ctypes array of :class:`c_wchar`." msgstr "" -#: ../../library/ctypes.rst:2225 +#: ../../library/ctypes.rst:2229 msgid "" "The function takes the same arguments as :func:`~create_string_buffer` " "except *init* must be a string and *size* counts :class:`c_wchar`." msgstr "" -#: ../../library/ctypes.rst:2228 +#: ../../library/ctypes.rst:2232 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_unicode_buffer`` " "with arguments ``init``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2233 +#: ../../library/ctypes.rst:2237 msgid "" "This function is a hook which allows implementing in-process COM servers " "with ctypes. It is called from the DllCanUnloadNow function that the " "_ctypes extension dll exports." msgstr "" -#: ../../library/ctypes.rst:2242 +#: ../../library/ctypes.rst:2246 msgid "" "This function is a hook which allows implementing in-process COM servers " "with ctypes. It is called from the DllGetClassObject function that the " "``_ctypes`` extension dll exports." msgstr "" -#: ../../library/ctypes.rst:2252 +#: ../../library/ctypes.rst:2256 msgid "" "Try to find a library and return a pathname. *name* is the library name " "without any prefix like ``lib``, suffix like ``.so``, ``.dylib`` or version " @@ -3390,25 +3392,25 @@ msgid "" "If no library can be found, returns ``None``." msgstr "" -#: ../../library/ctypes.rst:2259 +#: ../../library/ctypes.rst:2263 msgid "See :ref:`ctypes-finding-shared-libraries` for complete documentation." msgstr "" -#: ../../library/ctypes.rst:2265 +#: ../../library/ctypes.rst:2269 msgid "" "Returns the filename of the VC runtime library used by Python, and by the " "extension modules. If the name of the library cannot be determined, " "``None`` is returned." msgstr "" -#: ../../library/ctypes.rst:2269 +#: ../../library/ctypes.rst:2273 msgid "" "If you need to free memory, for example, allocated by an extension module " "with a call to the ``free(void *)``, it is important that you use the " "function in the same library that allocated the memory." msgstr "" -#: ../../library/ctypes.rst:2279 +#: ../../library/ctypes.rst:2283 msgid "" "Try to provide a list of paths of the shared libraries loaded into the " "current process. These paths are not normalized or processed in any way. " @@ -3416,72 +3418,72 @@ msgid "" "The exact functionality is system dependent." msgstr "" -#: ../../library/ctypes.rst:2284 +#: ../../library/ctypes.rst:2288 msgid "" "On most platforms, the first element of the list represents the current " "executable file. It may be an empty string." msgstr "" -#: ../../library/ctypes.rst:2292 +#: ../../library/ctypes.rst:2296 msgid "" "Returns a textual description of the error code *code*. If no error code is " "specified, the last error code is used by calling the Windows API function :" "func:`GetLastError`." msgstr "" -#: ../../library/ctypes.rst:2301 +#: ../../library/ctypes.rst:2305 msgid "" "Returns the last error code set by Windows in the calling thread. This " "function calls the Windows ``GetLastError()`` function directly, it does not " "return the ctypes-private copy of the error code." msgstr "" -#: ../../library/ctypes.rst:2310 +#: ../../library/ctypes.rst:2314 msgid "" "Returns the current value of the ctypes-private copy of the system :data:" "`errno` variable in the calling thread." msgstr "" -#: ../../library/ctypes.rst:2313 +#: ../../library/ctypes.rst:2317 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_errno`` with no " "arguments." msgstr "" -#: ../../library/ctypes.rst:2317 +#: ../../library/ctypes.rst:2321 msgid "" "Returns the current value of the ctypes-private copy of the system :data:`!" "LastError` variable in the calling thread." msgstr "" -#: ../../library/ctypes.rst:2322 +#: ../../library/ctypes.rst:2326 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_last_error`` with no " "arguments." msgstr "" -#: ../../library/ctypes.rst:2327 +#: ../../library/ctypes.rst:2331 msgid "" "Same as the standard C memmove library function: copies *count* bytes from " "*src* to *dst*. *dst* and *src* must be integers or ctypes instances that " "can be converted to pointers." msgstr "" -#: ../../library/ctypes.rst:2334 +#: ../../library/ctypes.rst:2338 msgid "" "Same as the standard C memset library function: fills the memory block at " "address *dst* with *count* bytes of value *c*. *dst* must be an integer " "specifying an address, or a ctypes instance." msgstr "" -#: ../../library/ctypes.rst:2341 +#: ../../library/ctypes.rst:2345 msgid "" "Create or return a ctypes pointer type. Pointer types are cached and reused " "internally, so calling this function repeatedly is cheap. *type* must be a " "ctypes type." msgstr "" -#: ../../library/ctypes.rst:2347 +#: ../../library/ctypes.rst:2351 msgid "" "The resulting pointer type is cached in the ``__pointer_type__`` attribute " "of *type*. It is possible to set this attribute before the first call to " @@ -3490,19 +3492,19 @@ msgid "" "relying on implementation details that may change in future Python versions." msgstr "" -#: ../../library/ctypes.rst:2358 +#: ../../library/ctypes.rst:2362 msgid "" "Create a new pointer instance, pointing to *obj*. The returned object is of " "the type ``POINTER(type(obj))``." msgstr "" -#: ../../library/ctypes.rst:2361 +#: ../../library/ctypes.rst:2365 msgid "" "Note: If you just want to pass a pointer to an object to a foreign function " "call, you should use ``byref(obj)`` which is much faster." msgstr "" -#: ../../library/ctypes.rst:2367 +#: ../../library/ctypes.rst:2371 msgid "" "This function resizes the internal memory buffer of *obj*, which must be an " "instance of a ctypes type. It is not possible to make the buffer smaller " @@ -3510,50 +3512,50 @@ msgid "" "but it is possible to enlarge the buffer." msgstr "" -#: ../../library/ctypes.rst:2375 +#: ../../library/ctypes.rst:2379 msgid "" "Set the current value of the ctypes-private copy of the system :data:`errno` " "variable in the calling thread to *value* and return the previous value." msgstr "" -#: ../../library/ctypes.rst:2378 +#: ../../library/ctypes.rst:2382 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_errno`` with " "argument ``errno``." msgstr "" -#: ../../library/ctypes.rst:2383 +#: ../../library/ctypes.rst:2387 msgid "" "Sets the current value of the ctypes-private copy of the system :data:`!" "LastError` variable in the calling thread to *value* and return the previous " "value." msgstr "" -#: ../../library/ctypes.rst:2389 +#: ../../library/ctypes.rst:2393 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_last_error`` with " "argument ``error``." msgstr "" -#: ../../library/ctypes.rst:2394 +#: ../../library/ctypes.rst:2398 msgid "" "Returns the size in bytes of a ctypes type or instance memory buffer. Does " "the same as the C ``sizeof`` operator." msgstr "" -#: ../../library/ctypes.rst:2400 +#: ../../library/ctypes.rst:2404 msgid "" "Return the byte string at *void \\*ptr*. If *size* is specified, it is used " "as size, otherwise the string is assumed to be zero-terminated." msgstr "" -#: ../../library/ctypes.rst:2404 +#: ../../library/ctypes.rst:2408 msgid "" "Raises an :ref:`auditing event ` ``ctypes.string_at`` with " "arguments ``ptr``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2409 +#: ../../library/ctypes.rst:2413 msgid "" "Creates an instance of :exc:`OSError`. If *code* is not specified, :func:" "`GetLastError` is called to determine the error code. If *descr* is not " @@ -3561,39 +3563,39 @@ msgid "" "error." msgstr "" -#: ../../library/ctypes.rst:2416 +#: ../../library/ctypes.rst:2420 msgid "" "An instance of :exc:`WindowsError` used to be created, which is now an alias " "of :exc:`OSError`." msgstr "" -#: ../../library/ctypes.rst:2423 +#: ../../library/ctypes.rst:2427 msgid "" "Return the wide-character string at *void \\*ptr*. If *size* is specified, " "it is used as the number of characters of the string, otherwise the string " "is assumed to be zero-terminated." msgstr "" -#: ../../library/ctypes.rst:2428 +#: ../../library/ctypes.rst:2432 msgid "" "Raises an :ref:`auditing event ` ``ctypes.wstring_at`` with " "arguments ``ptr``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2433 +#: ../../library/ctypes.rst:2437 msgid "" "Return a :class:`memoryview` object of length *size* that references memory " "starting at *void \\*ptr*." msgstr "" -#: ../../library/ctypes.rst:2436 +#: ../../library/ctypes.rst:2440 msgid "" "If *readonly* is true, the returned :class:`!memoryview` object can not be " "used to modify the underlying memory. (Changes made by other means will " "still be reflected in the returned object.)" msgstr "" -#: ../../library/ctypes.rst:2441 +#: ../../library/ctypes.rst:2445 msgid "" "This function is similar to :func:`string_at` with the key difference of not " "making a copy of the specified memory. It is a semantically equivalent (but " @@ -3603,17 +3605,17 @@ msgid "" "`~ctypes.byref` object.)" msgstr "" -#: ../../library/ctypes.rst:2448 +#: ../../library/ctypes.rst:2452 msgid "" "Raises an :ref:`auditing event ` ``ctypes.memoryview_at`` with " "arguments ``address``, ``size``, ``readonly``." msgstr "" -#: ../../library/ctypes.rst:2456 +#: ../../library/ctypes.rst:2460 msgid "Data types" msgstr "" -#: ../../library/ctypes.rst:2461 +#: ../../library/ctypes.rst:2465 msgid "" "This non-public class is the common base class of all ctypes data types. " "Among other things, all ctypes type instances contain a memory block that " @@ -3623,13 +3625,13 @@ msgid "" "alive in case the memory block contains pointers." msgstr "" -#: ../../library/ctypes.rst:2468 +#: ../../library/ctypes.rst:2472 msgid "" "Common methods of ctypes data types, these are all class methods (to be " "exact, they are methods of the :term:`metaclass`):" msgstr "" -#: ../../library/ctypes.rst:2473 +#: ../../library/ctypes.rst:2477 msgid "" "This method returns a ctypes instance that shares the buffer of the *source* " "object. The *source* object must support the writeable buffer interface. " @@ -3638,13 +3640,13 @@ msgid "" "exc:`ValueError` is raised." msgstr "" -#: ../../library/ctypes.rst:2479 ../../library/ctypes.rst:2489 +#: ../../library/ctypes.rst:2483 ../../library/ctypes.rst:2493 msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata/buffer`` with " "arguments ``pointer``, ``size``, ``offset``." msgstr "" -#: ../../library/ctypes.rst:2483 +#: ../../library/ctypes.rst:2487 msgid "" "This method creates a ctypes instance, copying the buffer from the *source* " "object buffer which must be readable. The optional *offset* parameter " @@ -3652,19 +3654,19 @@ msgid "" "If the source buffer is not large enough a :exc:`ValueError` is raised." msgstr "" -#: ../../library/ctypes.rst:2493 +#: ../../library/ctypes.rst:2497 msgid "" "This method returns a ctypes type instance using the memory specified by " "*address* which must be an integer." msgstr "" -#: ../../library/ctypes.rst:2496 ../../library/ctypes.rst:2498 +#: ../../library/ctypes.rst:2500 ../../library/ctypes.rst:2502 msgid "" "This method, and others that indirectly call this method, raises an :ref:" "`auditing event ` ``ctypes.cdata`` with argument ``address``." msgstr "" -#: ../../library/ctypes.rst:2504 +#: ../../library/ctypes.rst:2508 msgid "" "This method adapts *obj* to a ctypes type. It is called with the actual " "object used in a foreign function call when the type is present in the " @@ -3672,36 +3674,36 @@ msgid "" "object that can be used as a function call parameter." msgstr "" -#: ../../library/ctypes.rst:2509 +#: ../../library/ctypes.rst:2513 msgid "" "All ctypes data types have a default implementation of this classmethod that " "normally returns *obj* if that is an instance of the type. Some types " "accept other objects as well." msgstr "" -#: ../../library/ctypes.rst:2515 +#: ../../library/ctypes.rst:2519 msgid "" "This method returns a ctypes type instance exported by a shared library. " "*name* is the name of the symbol that exports the data, *library* is the " "loaded shared library." msgstr "" -#: ../../library/ctypes.rst:2519 +#: ../../library/ctypes.rst:2523 msgid "Common class variables of ctypes data types:" msgstr "" -#: ../../library/ctypes.rst:2523 +#: ../../library/ctypes.rst:2527 msgid "" "The pointer type that was created by calling :func:`POINTER` for " "corresponding ctypes data type. If a pointer type was not yet created, the " "attribute is missing." msgstr "" -#: ../../library/ctypes.rst:2529 +#: ../../library/ctypes.rst:2533 msgid "Common instance variables of ctypes data types:" msgstr "" -#: ../../library/ctypes.rst:2533 +#: ../../library/ctypes.rst:2537 msgid "" "Sometimes ctypes data instances do not own the memory block they contain, " "instead they share part of the memory block of a base object. The :attr:" @@ -3709,13 +3711,13 @@ msgid "" "block." msgstr "" -#: ../../library/ctypes.rst:2540 +#: ../../library/ctypes.rst:2544 msgid "" "This read-only variable is true when the ctypes data instance has allocated " "the memory block itself, false otherwise." msgstr "" -#: ../../library/ctypes.rst:2545 +#: ../../library/ctypes.rst:2549 msgid "" "This member is either ``None`` or a dictionary containing Python objects " "that need to be kept alive so that the memory block contents is kept valid. " @@ -3723,7 +3725,7 @@ msgid "" "dictionary." msgstr "" -#: ../../library/ctypes.rst:2558 +#: ../../library/ctypes.rst:2562 msgid "" "This non-public class is the base class of all fundamental ctypes data " "types. It is mentioned here because it contains the common attributes of the " @@ -3732,11 +3734,11 @@ msgid "" "types that are not and do not contain pointers can now be pickled." msgstr "" -#: ../../library/ctypes.rst:2564 +#: ../../library/ctypes.rst:2568 msgid "Instances have a single attribute:" msgstr "" -#: ../../library/ctypes.rst:2568 +#: ../../library/ctypes.rst:2572 msgid "" "This attribute contains the actual value of the instance. For integer and " "pointer types, it is an integer, for character types, it is a single " @@ -3744,7 +3746,7 @@ msgid "" "bytes object or string." msgstr "" -#: ../../library/ctypes.rst:2573 +#: ../../library/ctypes.rst:2577 msgid "" "When the ``value`` attribute is retrieved from a ctypes instance, usually a " "new object is returned each time. :mod:`!ctypes` does *not* implement " @@ -3752,17 +3754,17 @@ msgid "" "true for all other ctypes object instances." msgstr "" -#: ../../library/ctypes.rst:2578 +#: ../../library/ctypes.rst:2582 msgid "Each subclass has a class attribute:" msgstr "" -#: ../../library/ctypes.rst:2582 +#: ../../library/ctypes.rst:2586 msgid "" "Class attribute that contains an internal type code, as a single-character " "string. See :ref:`ctypes-fundamental-data-types` for a summary." msgstr "" -#: ../../library/ctypes.rst:2586 +#: ../../library/ctypes.rst:2590 msgid "" "Types marked \\* in the summary may be (or always are) aliases of a " "different :class:`_SimpleCData` subclass, and will not necessarily use the " @@ -3773,7 +3775,7 @@ msgid "" "code will be unused." msgstr "" -#: ../../library/ctypes.rst:2597 +#: ../../library/ctypes.rst:2601 msgid "" "The :mod:`array` and :ref:`struct ` modules, as well as " "third-party modules like `numpy >> class Color(Structure):\n" "... _fields_ = (\n" @@ -4356,100 +4358,100 @@ msgid "" "1" msgstr "" -#: ../../library/ctypes.rst:3099 +#: ../../library/ctypes.rst:3103 msgid "All attributes are read-only." msgstr "" -#: ../../library/ctypes.rst:3101 +#: ../../library/ctypes.rst:3105 msgid "" ":class:`!CField` objects are created via :attr:`~Structure._fields_`; do not " "instantiate the class directly." msgstr "" -#: ../../library/ctypes.rst:3106 +#: ../../library/ctypes.rst:3110 msgid "" "Previously, descriptors only had ``offset`` and ``size`` attributes and a " "readable string representation; the :class:`!CField` class was not available " "directly." msgstr "" -#: ../../library/ctypes.rst:3112 +#: ../../library/ctypes.rst:3116 msgid "Name of the field, as a string." msgstr "" -#: ../../library/ctypes.rst:3116 +#: ../../library/ctypes.rst:3120 msgid "Type of the field, as a :ref:`ctypes class `." msgstr "" -#: ../../library/ctypes.rst:3121 +#: ../../library/ctypes.rst:3125 msgid "Offset of the field, in bytes." msgstr "" -#: ../../library/ctypes.rst:3123 +#: ../../library/ctypes.rst:3127 msgid "" "For bitfields, this is the offset of the underlying byte-aligned *storage " "unit*; see :attr:`~CField.bit_offset`." msgstr "" -#: ../../library/ctypes.rst:3128 +#: ../../library/ctypes.rst:3132 msgid "Size of the field, in bytes." msgstr "" -#: ../../library/ctypes.rst:3130 +#: ../../library/ctypes.rst:3134 msgid "" "For bitfields, this is the size of the underlying *storage unit*. Typically, " "it has the same size as the bitfield's type." msgstr "" -#: ../../library/ctypes.rst:3135 +#: ../../library/ctypes.rst:3139 msgid "For non-bitfields, equivalent to :attr:`~CField.byte_size`." msgstr "" -#: ../../library/ctypes.rst:3137 +#: ../../library/ctypes.rst:3141 msgid "" "For bitfields, this contains a backwards-compatible bit-packed value that " "combines :attr:`~CField.bit_size` and :attr:`~CField.bit_offset`. Prefer " "using the explicit attributes instead." msgstr "" -#: ../../library/ctypes.rst:3144 +#: ../../library/ctypes.rst:3148 msgid "True if this is a bitfield." msgstr "" -#: ../../library/ctypes.rst:3149 +#: ../../library/ctypes.rst:3153 msgid "" "The location of a bitfield within its *storage unit*, that is, within :attr:" "`~CField.byte_size` bytes of memory starting at :attr:`~CField.byte_offset`." msgstr "" -#: ../../library/ctypes.rst:3153 +#: ../../library/ctypes.rst:3157 msgid "" "To get the field's value, read the storage unit as an integer, :ref:`shift " "left ` by :attr:`!bit_offset` and take the :attr:`!bit_size` least " "significant bits." msgstr "" -#: ../../library/ctypes.rst:3157 +#: ../../library/ctypes.rst:3161 msgid "" "For non-bitfields, :attr:`!bit_offset` is zero and :attr:`!bit_size` is " "equal to ``byte_size * 8``." msgstr "" -#: ../../library/ctypes.rst:3162 +#: ../../library/ctypes.rst:3166 msgid "" "True if this field is anonymous, that is, it contains nested sub-fields that " "should be merged into a containing structure or union." msgstr "" -#: ../../library/ctypes.rst:3169 +#: ../../library/ctypes.rst:3173 msgid "Arrays and pointers" msgstr "" -#: ../../library/ctypes.rst:3173 +#: ../../library/ctypes.rst:3177 msgid "Abstract base class for arrays." msgstr "" -#: ../../library/ctypes.rst:3175 +#: ../../library/ctypes.rst:3179 msgid "" "The recommended way to create concrete array types is by multiplying any :" "mod:`!ctypes` data type with a non-negative integer. Alternatively, you can " @@ -4459,48 +4461,48 @@ msgid "" "an :class:`Array`." msgstr "" -#: ../../library/ctypes.rst:3182 +#: ../../library/ctypes.rst:3186 msgid "Arrays are :ref:`generic ` over the type of their elements." msgstr "" -#: ../../library/ctypes.rst:3187 +#: ../../library/ctypes.rst:3191 msgid "" "A positive integer specifying the number of elements in the array. Out-of-" "range subscripts result in an :exc:`IndexError`. Will be returned by :func:" "`len`." msgstr "" -#: ../../library/ctypes.rst:3194 +#: ../../library/ctypes.rst:3198 msgid "Specifies the type of each element in the array." msgstr "" -#: ../../library/ctypes.rst:3197 +#: ../../library/ctypes.rst:3201 msgid "" "Array subclass constructors accept positional arguments, used to initialize " "the elements in order." msgstr "" -#: ../../library/ctypes.rst:3202 +#: ../../library/ctypes.rst:3206 msgid "" "Create an array. Equivalent to ``type * length``, where *type* is a :mod:`!" "ctypes` data type and *length* an integer." msgstr "" -#: ../../library/ctypes.rst:3206 +#: ../../library/ctypes.rst:3210 msgid "In favor of multiplication." msgstr "" -#: ../../library/ctypes.rst:3212 +#: ../../library/ctypes.rst:3216 msgid "Private, abstract base class for pointers." msgstr "" -#: ../../library/ctypes.rst:3214 +#: ../../library/ctypes.rst:3218 msgid "" "Concrete pointer types are created by calling :func:`POINTER` with the type " "that will be pointed to; this is done automatically by :func:`pointer`." msgstr "" -#: ../../library/ctypes.rst:3218 +#: ../../library/ctypes.rst:3222 msgid "" "If a pointer points to an array, its elements can be read and written using " "standard subscript and slice accesses. Pointer objects have no size, so :" @@ -4509,43 +4511,43 @@ msgid "" "probably crash with an access violation (if you're lucky)." msgstr "" -#: ../../library/ctypes.rst:3228 +#: ../../library/ctypes.rst:3232 msgid "Specifies the type pointed to." msgstr "" -#: ../../library/ctypes.rst:3232 +#: ../../library/ctypes.rst:3236 msgid "" "Returns the object to which to pointer points. Assigning to this attribute " "changes the pointer to point to the assigned object." msgstr "" -#: ../../library/ctypes.rst:3239 +#: ../../library/ctypes.rst:3243 msgid "Exceptions" msgstr "Ausnahmen" -#: ../../library/ctypes.rst:3243 +#: ../../library/ctypes.rst:3247 msgid "" "This exception is raised when a foreign function call cannot convert one of " "the passed arguments." msgstr "" -#: ../../library/ctypes.rst:3249 +#: ../../library/ctypes.rst:3253 msgid "This exception is raised when a COM method call failed." msgstr "" -#: ../../library/ctypes.rst:3253 +#: ../../library/ctypes.rst:3257 msgid "The integer value representing the error code." msgstr "" -#: ../../library/ctypes.rst:3257 +#: ../../library/ctypes.rst:3261 msgid "The error message." msgstr "" -#: ../../library/ctypes.rst:3261 +#: ../../library/ctypes.rst:3265 msgid "The 5-tuple ``(descr, source, helpfile, helpcontext, progid)``." msgstr "" -#: ../../library/ctypes.rst:3263 +#: ../../library/ctypes.rst:3267 msgid "" "*descr* is the textual description. *source* is the language-dependent " "``ProgID`` for the class or application that raised the error. *helpfile* " diff --git a/library/gzip.po b/library/gzip.po index 61b28871..2fd2c473 100644 --- a/library/gzip.po +++ b/library/gzip.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:17+0000\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -120,7 +120,7 @@ msgstr "" msgid "Added support for the ``'x'``, ``'xb'`` and ``'xt'`` modes." msgstr "" -#: ../../library/gzip.rst:61 ../../library/gzip.rst:175 +#: ../../library/gzip.rst:61 ../../library/gzip.rst:179 msgid "Accepts a :term:`path-like object`." msgstr "" @@ -184,17 +184,21 @@ msgstr "" #: ../../library/gzip.rst:105 msgid "" "The optional *mtime* argument is the timestamp requested by gzip. The time " -"is in Unix format, i.e., seconds since 00:00:00 UTC, January 1, 1970. If " -"*mtime* is omitted or ``None``, the current time is used. Use *mtime* = 0 to " -"generate a compressed stream that does not depend on creation time." +"is in Unix format, i.e., seconds since 00:00:00 UTC, January 1, 1970. Set " +"*mtime* to ``0`` to generate a compressed stream that does not depend on " +"creation time. If *mtime* is omitted or ``None``, the current time is used; " +"however, if the current time is outside the range 00:00:00 UTC, January 1, " +"1970 through 06:28:15 UTC, February 7, 2106, or explicitly passed *mtime* " +"argument is outside the range ``0`` to ``2**32-1``, then the value ``0`` is " +"used instead." msgstr "" -#: ../../library/gzip.rst:110 +#: ../../library/gzip.rst:114 msgid "" "See below for the :attr:`mtime` attribute that is set when decompressing." msgstr "" -#: ../../library/gzip.rst:112 +#: ../../library/gzip.rst:116 msgid "" "Calling a :class:`GzipFile` object's :meth:`!close` method does not close " "*fileobj*, since you might wish to append more material after the compressed " @@ -203,39 +207,39 @@ msgid "" "class:`io.BytesIO` object's :meth:`~io.BytesIO.getvalue` method." msgstr "" -#: ../../library/gzip.rst:118 +#: ../../library/gzip.rst:122 msgid "" ":class:`GzipFile` supports the :class:`io.BufferedIOBase` interface, " "including iteration and the :keyword:`with` statement. Only the :meth:`~io." "IOBase.truncate` method isn't implemented." msgstr "" -#: ../../library/gzip.rst:122 +#: ../../library/gzip.rst:126 msgid ":class:`GzipFile` also provides the following method and attribute:" msgstr "" -#: ../../library/gzip.rst:126 +#: ../../library/gzip.rst:130 msgid "" "Read *n* uncompressed bytes without advancing the file position. The number " "of bytes returned may be more or less than requested." msgstr "" -#: ../../library/gzip.rst:129 +#: ../../library/gzip.rst:133 msgid "" "While calling :meth:`peek` does not change the file position of the :class:" "`GzipFile`, it may change the position of the underlying file object (e.g. " "if the :class:`GzipFile` was constructed with the *fileobj* parameter)." msgstr "" -#: ../../library/gzip.rst:138 +#: ../../library/gzip.rst:142 msgid "``'rb'`` for reading and ``'wb'`` for writing." msgstr "" -#: ../../library/gzip.rst:140 +#: ../../library/gzip.rst:144 msgid "In previous versions it was an integer ``1`` or ``2``." msgstr "" -#: ../../library/gzip.rst:145 +#: ../../library/gzip.rst:149 msgid "" "When decompressing, this attribute is set to the last timestamp in the most " "recently read header. It is an integer, holding the number of seconds since " @@ -243,51 +247,51 @@ msgid "" "reading any headers is ``None``." msgstr "" -#: ../../library/gzip.rst:152 +#: ../../library/gzip.rst:156 msgid "" "The path to the gzip file on disk, as a :class:`str` or :class:`bytes`. " "Equivalent to the output of :func:`os.fspath` on the original input path, " "with no other normalization, resolution or expansion." msgstr "" -#: ../../library/gzip.rst:156 +#: ../../library/gzip.rst:160 msgid "" "Support for the :keyword:`with` statement was added, along with the *mtime* " "constructor argument and :attr:`mtime` attribute." msgstr "" -#: ../../library/gzip.rst:160 +#: ../../library/gzip.rst:164 msgid "Support for zero-padded and unseekable files was added." msgstr "" -#: ../../library/gzip.rst:163 +#: ../../library/gzip.rst:167 msgid "The :meth:`io.BufferedIOBase.read1` method is now implemented." msgstr "" -#: ../../library/gzip.rst:166 +#: ../../library/gzip.rst:170 msgid "Added support for the ``'x'`` and ``'xb'`` modes." msgstr "" -#: ../../library/gzip.rst:169 +#: ../../library/gzip.rst:173 msgid "" "Added support for writing arbitrary :term:`bytes-like objects `. The :meth:`~io.BufferedIOBase.read` method now accepts an argument " "of ``None``." msgstr "" -#: ../../library/gzip.rst:178 +#: ../../library/gzip.rst:182 msgid "" "Opening :class:`GzipFile` for writing without specifying the *mode* argument " "is deprecated." msgstr "" -#: ../../library/gzip.rst:182 +#: ../../library/gzip.rst:186 msgid "" "Remove the ``filename`` attribute, use the :attr:`~GzipFile.name` attribute " "instead." msgstr "" -#: ../../library/gzip.rst:189 +#: ../../library/gzip.rst:193 msgid "" "Compress the *data*, returning a :class:`bytes` object containing the " "compressed data. *compresslevel* and *mtime* have the same meaning as in " @@ -295,11 +299,11 @@ msgid "" "reproducible output." msgstr "" -#: ../../library/gzip.rst:195 +#: ../../library/gzip.rst:199 msgid "Added the *mtime* parameter for reproducible output." msgstr "" -#: ../../library/gzip.rst:197 +#: ../../library/gzip.rst:201 msgid "" "Speed is improved by compressing all data at once instead of in a streamed " "fashion. Calls with *mtime* set to ``0`` are delegated to :func:`zlib." @@ -308,19 +312,19 @@ msgid "" "underlying zlib implementation." msgstr "" -#: ../../library/gzip.rst:204 +#: ../../library/gzip.rst:208 msgid "" "The gzip header OS byte is guaranteed to be set to 255 when this function is " "used as was the case in 3.10 and earlier." msgstr "" -#: ../../library/gzip.rst:207 +#: ../../library/gzip.rst:211 msgid "" "The *mtime* parameter now defaults to 0 for reproducible output. For the " "previous behaviour of using the current time, pass ``None`` to *mtime*." msgstr "" -#: ../../library/gzip.rst:214 +#: ../../library/gzip.rst:218 msgid "" "Decompress the *data*, returning a :class:`bytes` object containing the " "uncompressed data. This function is capable of decompressing multi-member " @@ -329,32 +333,32 @@ msgid "" "*wbits* set to 31 is faster." msgstr "" -#: ../../library/gzip.rst:221 +#: ../../library/gzip.rst:225 msgid "" "Speed is improved by decompressing members at once in memory instead of in a " "streamed fashion." msgstr "" -#: ../../library/gzip.rst:228 +#: ../../library/gzip.rst:232 msgid "Examples of usage" msgstr "" -#: ../../library/gzip.rst:230 +#: ../../library/gzip.rst:234 msgid "Example of how to read a compressed file::" msgstr "" -#: ../../library/gzip.rst:232 +#: ../../library/gzip.rst:236 msgid "" "import gzip\n" "with gzip.open('/home/joe/file.txt.gz', 'rb') as f:\n" " file_content = f.read()" msgstr "" -#: ../../library/gzip.rst:236 +#: ../../library/gzip.rst:240 msgid "Example of how to create a compressed GZIP file::" msgstr "" -#: ../../library/gzip.rst:238 +#: ../../library/gzip.rst:242 msgid "" "import gzip\n" "content = b\"Lots of content here\"\n" @@ -362,11 +366,11 @@ msgid "" " f.write(content)" msgstr "" -#: ../../library/gzip.rst:243 +#: ../../library/gzip.rst:247 msgid "Example of how to GZIP compress an existing file::" msgstr "" -#: ../../library/gzip.rst:245 +#: ../../library/gzip.rst:249 msgid "" "import gzip\n" "import shutil\n" @@ -375,73 +379,73 @@ msgid "" " shutil.copyfileobj(f_in, f_out)" msgstr "" -#: ../../library/gzip.rst:251 +#: ../../library/gzip.rst:255 msgid "Example of how to GZIP compress a binary string::" msgstr "" -#: ../../library/gzip.rst:253 +#: ../../library/gzip.rst:257 msgid "" "import gzip\n" "s_in = b\"Lots of content here\"\n" "s_out = gzip.compress(s_in)" msgstr "" -#: ../../library/gzip.rst:259 +#: ../../library/gzip.rst:263 msgid "Module :mod:`zlib`" msgstr "" -#: ../../library/gzip.rst:260 +#: ../../library/gzip.rst:264 msgid "" "The basic data compression module needed to support the :program:`gzip` file " "format." msgstr "" -#: ../../library/gzip.rst:263 +#: ../../library/gzip.rst:267 msgid "" "In case gzip (de)compression is a bottleneck, the `python-isal`_ package " "speeds up (de)compression with a mostly compatible API." msgstr "" -#: ../../library/gzip.rst:273 +#: ../../library/gzip.rst:277 msgid "Command-line interface" msgstr "" -#: ../../library/gzip.rst:275 +#: ../../library/gzip.rst:279 msgid "" "The :mod:`!gzip` module provides a simple command line interface to compress " "or decompress files." msgstr "" -#: ../../library/gzip.rst:278 +#: ../../library/gzip.rst:282 msgid "Once executed the :mod:`!gzip` module keeps the input file(s)." msgstr "" -#: ../../library/gzip.rst:282 +#: ../../library/gzip.rst:286 msgid "" "Add a new command line interface with a usage. By default, when you will " "execute the CLI, the default compression level is 6." msgstr "" -#: ../../library/gzip.rst:286 +#: ../../library/gzip.rst:290 msgid "Command-line options" msgstr "" -#: ../../library/gzip.rst:290 +#: ../../library/gzip.rst:294 msgid "If *file* is not specified, read from :data:`sys.stdin`." msgstr "" -#: ../../library/gzip.rst:294 +#: ../../library/gzip.rst:298 msgid "Indicates the fastest compression method (less compression)." msgstr "" -#: ../../library/gzip.rst:298 +#: ../../library/gzip.rst:302 msgid "Indicates the slowest compression method (best compression)." msgstr "" -#: ../../library/gzip.rst:302 +#: ../../library/gzip.rst:306 msgid "Decompress the given file." msgstr "" -#: ../../library/gzip.rst:306 +#: ../../library/gzip.rst:310 msgid "Show the help message." msgstr "" diff --git a/library/http.client.po b/library/http.client.po index d8b5f3e8..4d8bc1b7 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:18+0000\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -426,10 +426,11 @@ msgstr "" #: ../../library/http.client.rst:364 msgid "" "The *headers* argument should be a mapping of extra HTTP headers to send " -"with the CONNECT request." +"with the CONNECT request. Non-string header values are converted to strings " +"via :func:`str`." msgstr "" -#: ../../library/http.client.rst:367 +#: ../../library/http.client.rst:368 msgid "" "As HTTP/1.1 is used for HTTP CONNECT tunnelling request, `as per the RFC " "`_, a HTTP " @@ -439,7 +440,7 @@ msgid "" "generated and transmitted automatically." msgstr "" -#: ../../library/http.client.rst:374 +#: ../../library/http.client.rst:375 msgid "" "For example, to tunnel through a HTTPS proxy server running locally on port " "8080, we would pass the address of the proxy to the :class:`HTTPSConnection` " @@ -447,7 +448,7 @@ msgid "" "the :meth:`~HTTPConnection.set_tunnel` method::" msgstr "" -#: ../../library/http.client.rst:379 +#: ../../library/http.client.rst:380 msgid "" ">>> import http.client\n" ">>> conn = http.client.HTTPSConnection(\"localhost\", 8080)\n" @@ -455,7 +456,7 @@ msgid "" ">>> conn.request(\"HEAD\",\"/index.html\")" msgstr "" -#: ../../library/http.client.rst:386 +#: ../../library/http.client.rst:387 msgid "" "HTTP CONNECT tunnelling requests use protocol HTTP/1.1, upgraded from " "protocol HTTP/1.0. ``Host:`` HTTP headers are mandatory for HTTP/1.1, so one " @@ -463,45 +464,45 @@ msgid "" "headers argument." msgstr "" -#: ../../library/http.client.rst:395 +#: ../../library/http.client.rst:396 msgid "" "Returns a dictionary with the headers of the response received from the " "proxy server to the CONNECT request." msgstr "" -#: ../../library/http.client.rst:398 +#: ../../library/http.client.rst:399 msgid "If the CONNECT request was not sent, the method returns ``None``." msgstr "" -#: ../../library/http.client.rst:405 +#: ../../library/http.client.rst:406 msgid "" "Connect to the server specified when the object was created. By default, " "this is called automatically when making a request if the client does not " "already have a connection." msgstr "" -#: ../../library/http.client.rst:409 +#: ../../library/http.client.rst:410 msgid "" "Raises an :ref:`auditing event ` ``http.client.connect`` with " "arguments ``self``, ``host``, ``port``." msgstr "" -#: ../../library/http.client.rst:414 +#: ../../library/http.client.rst:415 msgid "Close the connection to the server." msgstr "" -#: ../../library/http.client.rst:419 +#: ../../library/http.client.rst:420 msgid "Buffer size in bytes for sending a file-like message body." msgstr "" -#: ../../library/http.client.rst:424 +#: ../../library/http.client.rst:425 msgid "" "As an alternative to using the :meth:`~HTTPConnection.request` method " "described above, you can also send your request step by step, by using the " "four functions below." msgstr "" -#: ../../library/http.client.rst:431 +#: ../../library/http.client.rst:432 msgid "" "This should be the first call after the connection to the server has been " "made. It sends a line to the server consisting of the *method* string, the " @@ -511,7 +512,7 @@ msgid "" "with non-False values." msgstr "" -#: ../../library/http.client.rst:441 +#: ../../library/http.client.rst:442 msgid "" "Send an :rfc:`822`\\ -style header to the server. It sends a line to the " "server consisting of the header, a colon and a space, and the first " @@ -519,14 +520,14 @@ msgid "" "consisting of a tab and an argument." msgstr "" -#: ../../library/http.client.rst:449 +#: ../../library/http.client.rst:450 msgid "" "Send a blank line to the server, signalling the end of the headers. The " "optional *message_body* argument can be used to pass a message body " "associated with the request." msgstr "" -#: ../../library/http.client.rst:453 +#: ../../library/http.client.rst:454 msgid "" "If *encode_chunked* is ``True``, the result of each iteration of " "*message_body* will be chunk-encoded as specified in :rfc:`7230`, Section " @@ -539,7 +540,7 @@ msgid "" "the chunk-encoded data immediately after *message_body*." msgstr "" -#: ../../library/http.client.rst:464 +#: ../../library/http.client.rst:465 msgid "" "Due to the chunked encoding specification, empty chunks yielded by an " "iterator body will be ignored by the chunk-encoder. This is to avoid " @@ -547,50 +548,50 @@ msgid "" "malformed encoding." msgstr "" -#: ../../library/http.client.rst:469 +#: ../../library/http.client.rst:470 msgid "Added chunked encoding support and the *encode_chunked* parameter." msgstr "" -#: ../../library/http.client.rst:475 +#: ../../library/http.client.rst:476 msgid "" "Send data to the server. This should be used directly only after the :meth:" "`endheaders` method has been called and before :meth:`getresponse` is called." msgstr "" -#: ../../library/http.client.rst:479 +#: ../../library/http.client.rst:480 msgid "" "Raises an :ref:`auditing event ` ``http.client.send`` with " "arguments ``self``, ``data``." msgstr "" -#: ../../library/http.client.rst:485 +#: ../../library/http.client.rst:486 msgid "HTTPResponse Objects" msgstr "" -#: ../../library/http.client.rst:487 +#: ../../library/http.client.rst:488 msgid "" "An :class:`HTTPResponse` instance wraps the HTTP response from the server. " "It provides access to the request headers and the entity body. The response " "is an iterable object and can be used in a with statement." msgstr "" -#: ../../library/http.client.rst:492 +#: ../../library/http.client.rst:493 msgid "" "The :class:`io.BufferedIOBase` interface is now implemented and all of its " "reader operations are supported." msgstr "" -#: ../../library/http.client.rst:499 +#: ../../library/http.client.rst:500 msgid "Reads and returns the response body, or up to the next *amt* bytes." msgstr "" -#: ../../library/http.client.rst:503 +#: ../../library/http.client.rst:504 msgid "" "Reads up to the next len(b) bytes of the response body into the buffer *b*. " "Returns the number of bytes read." msgstr "" -#: ../../library/http.client.rst:510 +#: ../../library/http.client.rst:511 msgid "" "Return the value of the header *name*, or *default* if there is no header " "matching *name*. If there is more than one header with the name *name*, " @@ -598,77 +599,77 @@ msgid "" "than a single string, its elements are similarly returned joined by commas." msgstr "" -#: ../../library/http.client.rst:517 +#: ../../library/http.client.rst:518 msgid "Return a list of (header, value) tuples." msgstr "" -#: ../../library/http.client.rst:521 +#: ../../library/http.client.rst:522 msgid "Return the ``fileno`` of the underlying socket." msgstr "" -#: ../../library/http.client.rst:525 +#: ../../library/http.client.rst:526 msgid "" "A :class:`http.client.HTTPMessage` instance containing the response " "headers. :class:`http.client.HTTPMessage` is a subclass of :class:`email." "message.Message`." msgstr "" -#: ../../library/http.client.rst:531 +#: ../../library/http.client.rst:532 msgid "" "HTTP protocol version used by server. 10 for HTTP/1.0, 11 for HTTP/1.1." msgstr "" -#: ../../library/http.client.rst:535 +#: ../../library/http.client.rst:536 msgid "" "URL of the resource retrieved, commonly used to determine if a redirect was " "followed." msgstr "" -#: ../../library/http.client.rst:539 +#: ../../library/http.client.rst:540 msgid "" "Headers of the response in the form of an :class:`email.message." "EmailMessage` instance." msgstr "" -#: ../../library/http.client.rst:543 +#: ../../library/http.client.rst:544 msgid "Status code returned by server." msgstr "" -#: ../../library/http.client.rst:547 +#: ../../library/http.client.rst:548 msgid "Reason phrase returned by server." msgstr "" -#: ../../library/http.client.rst:551 +#: ../../library/http.client.rst:552 msgid "" "A debugging hook. If :attr:`debuglevel` is greater than zero, messages will " "be printed to stdout as the response is read and parsed." msgstr "" -#: ../../library/http.client.rst:556 +#: ../../library/http.client.rst:557 msgid "Is ``True`` if the stream is closed." msgstr "" -#: ../../library/http.client.rst:560 +#: ../../library/http.client.rst:561 msgid "Deprecated in favor of :attr:`~HTTPResponse.url`." msgstr "" -#: ../../library/http.client.rst:565 +#: ../../library/http.client.rst:566 msgid "Deprecated in favor of :attr:`~HTTPResponse.headers`." msgstr "" -#: ../../library/http.client.rst:570 +#: ../../library/http.client.rst:571 msgid "Deprecated in favor of :attr:`~HTTPResponse.status`." msgstr "" -#: ../../library/http.client.rst:574 +#: ../../library/http.client.rst:575 msgid "Examples" msgstr "Beispiele" -#: ../../library/http.client.rst:576 +#: ../../library/http.client.rst:577 msgid "Here is an example session that uses the ``GET`` method::" msgstr "" -#: ../../library/http.client.rst:578 +#: ../../library/http.client.rst:579 msgid "" ">>> import http.client\n" ">>> conn = http.client.HTTPSConnection(\"www.python.org\")\n" @@ -694,13 +695,13 @@ msgid "" ">>> conn.close()" msgstr "" -#: ../../library/http.client.rst:601 +#: ../../library/http.client.rst:602 msgid "" "Here is an example session that uses the ``HEAD`` method. Note that the " "``HEAD`` method never returns any data. ::" msgstr "" -#: ../../library/http.client.rst:604 +#: ../../library/http.client.rst:605 msgid "" ">>> import http.client\n" ">>> conn = http.client.HTTPSConnection(\"www.python.org\")\n" @@ -715,11 +716,11 @@ msgid "" "True" msgstr "" -#: ../../library/http.client.rst:616 +#: ../../library/http.client.rst:617 msgid "Here is an example session that uses the ``POST`` method::" msgstr "" -#: ../../library/http.client.rst:618 +#: ../../library/http.client.rst:619 msgid "" ">>> import http.client, urllib.parse\n" ">>> params = urllib.parse.urlencode({'@number': 12524, '@type': 'issue', " @@ -738,7 +739,7 @@ msgid "" ">>> conn.close()" msgstr "" -#: ../../library/http.client.rst:632 +#: ../../library/http.client.rst:633 msgid "" "Client side HTTP ``PUT`` requests are very similar to ``POST`` requests. The " "difference lies only on the server side where HTTP servers will allow " @@ -748,7 +749,7 @@ msgid "" "``PUT`` method::" msgstr "" -#: ../../library/http.client.rst:638 +#: ../../library/http.client.rst:639 msgid "" ">>> # This creates an HTTP request\n" ">>> # with the content of BODY as the enclosed representation\n" @@ -763,11 +764,11 @@ msgid "" "200, OK" msgstr "" -#: ../../library/http.client.rst:653 +#: ../../library/http.client.rst:654 msgid "HTTPMessage Objects" msgstr "" -#: ../../library/http.client.rst:657 +#: ../../library/http.client.rst:658 msgid "" "An :class:`http.client.HTTPMessage` instance holds the headers from an HTTP " "response. It is implemented using the :class:`email.message.Message` class." diff --git a/library/idle.po b/library/idle.po index e907c98b..f41663d4 100644 --- a/library/idle.po +++ b/library/idle.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:18+0000\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -1558,11 +1558,11 @@ msgid "" "mainloop call when running in standard Python." msgstr "" -#: ../../library/idle.rst:937 +#: ../../library/idle.rst:939 msgid "Running without a subprocess" msgstr "" -#: ../../library/idle.rst:939 +#: ../../library/idle.rst:941 msgid "" "By default, IDLE executes user code in a separate subprocess via a socket, " "which uses the internal loopback interface. This connection is not " @@ -1570,7 +1570,7 @@ msgid "" "firewall software complains anyway, you can ignore it." msgstr "" -#: ../../library/idle.rst:944 +#: ../../library/idle.rst:946 msgid "" "If the attempt to make the socket connection fails, Idle will notify you. " "Such failures are sometimes transient, but if persistent, the problem may be " @@ -1579,7 +1579,7 @@ msgid "" "command line switch." msgstr "" -#: ../../library/idle.rst:950 +#: ../../library/idle.rst:952 msgid "" "If IDLE is started with the -n command line switch it will run in a single " "process and will not create the subprocess which runs the RPC Python " @@ -1593,15 +1593,15 @@ msgid "" "at all possible." msgstr "" -#: ../../library/idle.rst:965 +#: ../../library/idle.rst:967 msgid "Help and Preferences" msgstr "" -#: ../../library/idle.rst:970 +#: ../../library/idle.rst:972 msgid "Help sources" msgstr "" -#: ../../library/idle.rst:972 +#: ../../library/idle.rst:974 msgid "" "Help menu entry \"IDLE Help\" displays a formatted html version of the IDLE " "chapter of the Library Reference. The result, in a read-only tkinter text " @@ -1611,7 +1611,7 @@ msgid "" "the opened box." msgstr "" -#: ../../library/idle.rst:980 +#: ../../library/idle.rst:982 msgid "" "Help menu entry \"Python Docs\" opens the extensive sources of help, " "including tutorials, available at ``docs.python.org/x.y``, where 'x.y' is " @@ -1620,17 +1620,17 @@ msgid "" "instead." msgstr "" -#: ../../library/idle.rst:986 +#: ../../library/idle.rst:988 msgid "" "Selected URLs can be added or removed from the help menu at any time using " "the General tab of the Configure IDLE dialog." msgstr "" -#: ../../library/idle.rst:992 +#: ../../library/idle.rst:994 msgid "Setting preferences" msgstr "" -#: ../../library/idle.rst:994 +#: ../../library/idle.rst:996 msgid "" "The font preferences, highlighting, keys, and general preferences can be " "changed via Configure IDLE on the Option menu. Non-default user settings are " @@ -1639,7 +1639,7 @@ msgid "" "or more of the files in ``.idlerc``." msgstr "" -#: ../../library/idle.rst:1000 +#: ../../library/idle.rst:1002 msgid "" "On the Font tab, see the text sample for the effect of font face and size on " "multiple characters in multiple languages. Edit the sample to add other " @@ -1648,7 +1648,7 @@ msgid "" "them to the top of the sample and try changing first size and then font." msgstr "" -#: ../../library/idle.rst:1007 +#: ../../library/idle.rst:1009 msgid "" "On the Highlights and Keys tab, select a built-in or custom color theme and " "key set. To use a newer built-in color theme or key set with older IDLEs, " @@ -1656,22 +1656,22 @@ msgid "" "IDLEs." msgstr "" -#: ../../library/idle.rst:1013 +#: ../../library/idle.rst:1015 msgid "IDLE on macOS" msgstr "" -#: ../../library/idle.rst:1015 +#: ../../library/idle.rst:1017 msgid "" "Under System Preferences: Dock, one can set \"Prefer tabs when opening " "documents\" to \"Always\". This setting is not compatible with the tk/" "tkinter GUI framework used by IDLE, and it breaks a few IDLE features." msgstr "" -#: ../../library/idle.rst:1020 +#: ../../library/idle.rst:1022 msgid "Extensions" msgstr "" -#: ../../library/idle.rst:1022 +#: ../../library/idle.rst:1024 msgid "" "IDLE contains an extension facility. Preferences for extensions can be " "changed with the Extensions tab of the preferences dialog. See the beginning " @@ -1680,21 +1680,21 @@ msgid "" "testing." msgstr "" -#: ../../library/idle.rst:1030 +#: ../../library/idle.rst:1032 msgid "idlelib --- implementation of IDLE application" msgstr "" -#: ../../library/idle.rst:1035 +#: ../../library/idle.rst:1037 msgid "**Source code:** :source:`Lib/idlelib`" msgstr "" -#: ../../library/idle.rst:1039 +#: ../../library/idle.rst:1041 msgid "" "The Lib/idlelib package implements the IDLE application. See the rest of " "this page for how to use IDLE." msgstr "" -#: ../../library/idle.rst:1042 +#: ../../library/idle.rst:1044 msgid "" "The files in idlelib are described in idlelib/README.txt. Access it either " "in idlelib or click Help => About IDLE on the IDLE menu. This file also " diff --git a/library/multiprocessing.po b/library/multiprocessing.po index a99079b0..dd2825cf 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:18+0000\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -250,35 +250,46 @@ msgstr "" #: ../../library/multiprocessing.rst:162 msgid "" "Available on POSIX platforms which support passing file descriptors over " -"Unix pipes such as Linux. The default on those." +"Unix pipes such as Linux. The default on those, unless there is no writable " +"temporary directory (see :func:`tempfile.gettempdir`), which the fork server " +"requires; *spawn* is the default in that case." msgstr "" -#: ../../library/multiprocessing.rst:165 +#: ../../library/multiprocessing.rst:167 msgid "This became the default start method on POSIX platforms." msgstr "" -#: ../../library/multiprocessing.rst:168 +#: ../../library/multiprocessing.rst:170 +msgid "" +"*spawn* is now the default start method when there is no writable temporary " +"directory, for example on a read-only file system. Previously *forkserver* " +"remained the default there and starting a process failed with an :exc:" +"`OSError`. The default is determined when it is first needed rather than " +"when :mod:`!multiprocessing` is imported. See :gh:`155717`." +msgstr "" + +#: ../../library/multiprocessing.rst:178 msgid "" "*spawn* added on all POSIX platforms, and *forkserver* added for some POSIX " "platforms. Child processes no longer inherit all of the parents inheritable " "handles on Windows." msgstr "" -#: ../../library/multiprocessing.rst:176 +#: ../../library/multiprocessing.rst:186 msgid "" "On macOS, the *spawn* start method is now the default. The *fork* start " "method should be considered unsafe as it can lead to crashes of the " "subprocess as macOS system libraries may start threads. See :issue:`33725`." msgstr "" -#: ../../library/multiprocessing.rst:182 +#: ../../library/multiprocessing.rst:192 msgid "" "On POSIX platforms the default start method was changed from *fork* to " "*forkserver* to retain the performance but avoid common multithreaded " "process incompatibilities. See :gh:`84559`." msgstr "" -#: ../../library/multiprocessing.rst:187 +#: ../../library/multiprocessing.rst:197 msgid "" "On POSIX using the *spawn* or *forkserver* start methods will also start a " "*resource tracker* process which tracks the unlinked named system resources " @@ -293,13 +304,13 @@ msgid "" "space in the main memory.)" msgstr "" -#: ../../library/multiprocessing.rst:200 +#: ../../library/multiprocessing.rst:210 msgid "" "To select a start method you use the :func:`set_start_method` in the ``if " "__name__ == '__main__'`` clause of the main module. For example::" msgstr "" -#: ../../library/multiprocessing.rst:204 +#: ../../library/multiprocessing.rst:214 msgid "" "import multiprocessing as mp\n" "\n" @@ -315,19 +326,19 @@ msgid "" " p.join()" msgstr "" -#: ../../library/multiprocessing.rst:217 +#: ../../library/multiprocessing.rst:227 msgid "" ":func:`set_start_method` should not be used more than once in the program." msgstr "" -#: ../../library/multiprocessing.rst:220 +#: ../../library/multiprocessing.rst:230 msgid "" "Alternatively, you can use :func:`get_context` to obtain a context object. " "Context objects have the same API as the multiprocessing module, and allow " "one to use multiple start methods in the same program. ::" msgstr "" -#: ../../library/multiprocessing.rst:225 +#: ../../library/multiprocessing.rst:235 msgid "" "import multiprocessing as mp\n" "\n" @@ -343,7 +354,7 @@ msgid "" " p.join()" msgstr "" -#: ../../library/multiprocessing.rst:238 +#: ../../library/multiprocessing.rst:248 msgid "" "Note that objects related to one context may not be compatible with " "processes for a different context. In particular, locks created using the " @@ -351,7 +362,7 @@ msgid "" "*forkserver* start methods." msgstr "" -#: ../../library/multiprocessing.rst:243 +#: ../../library/multiprocessing.rst:253 msgid "" "Libraries using :mod:`!multiprocessing` or :class:`~concurrent.futures." "ProcessPoolExecutor` should be designed to allow their users to provide " @@ -361,7 +372,7 @@ msgid "" "start method." msgstr "" -#: ../../library/multiprocessing.rst:252 +#: ../../library/multiprocessing.rst:262 msgid "" "The ``'spawn'`` and ``'forkserver'`` start methods generally cannot be used " "with \"frozen\" executables (i.e., binaries produced by packages like " @@ -369,27 +380,27 @@ msgid "" "method may work if code does not use threads." msgstr "" -#: ../../library/multiprocessing.rst:259 +#: ../../library/multiprocessing.rst:269 msgid "Exchanging objects between processes" msgstr "" -#: ../../library/multiprocessing.rst:261 +#: ../../library/multiprocessing.rst:271 msgid "" ":mod:`!multiprocessing` supports two types of communication channel between " "processes:" msgstr "" -#: ../../library/multiprocessing.rst:264 +#: ../../library/multiprocessing.rst:274 msgid "**Queues**" msgstr "" -#: ../../library/multiprocessing.rst:266 +#: ../../library/multiprocessing.rst:276 msgid "" "The :class:`Queue` class is a near clone of :class:`queue.Queue`. For " "example::" msgstr "" -#: ../../library/multiprocessing.rst:269 +#: ../../library/multiprocessing.rst:279 msgid "" "from multiprocessing import Process, Queue\n" "\n" @@ -404,23 +415,23 @@ msgid "" " p.join()" msgstr "" -#: ../../library/multiprocessing.rst:281 +#: ../../library/multiprocessing.rst:291 msgid "" "Queues are thread and process safe. Any object put into a :mod:`!" "multiprocessing` queue will be serialized." msgstr "" -#: ../../library/multiprocessing.rst:284 +#: ../../library/multiprocessing.rst:294 msgid "**Pipes**" msgstr "" -#: ../../library/multiprocessing.rst:286 +#: ../../library/multiprocessing.rst:296 msgid "" "The :func:`Pipe` function returns a pair of connection objects connected by " "a pipe which by default is duplex (two-way). For example::" msgstr "" -#: ../../library/multiprocessing.rst:289 +#: ../../library/multiprocessing.rst:299 msgid "" "from multiprocessing import Process, Pipe\n" "\n" @@ -436,7 +447,7 @@ msgid "" " p.join()" msgstr "" -#: ../../library/multiprocessing.rst:302 +#: ../../library/multiprocessing.rst:312 msgid "" "The two connection objects returned by :func:`Pipe` represent the two ends " "of the pipe. Each connection object has :meth:`~Connection.send` and :meth:" @@ -446,24 +457,24 @@ msgid "" "corruption from processes using different ends of the pipe at the same time." msgstr "" -#: ../../library/multiprocessing.rst:310 +#: ../../library/multiprocessing.rst:320 msgid "" "The :meth:`~Connection.send` method serializes the object and :meth:" "`~Connection.recv` re-creates the object." msgstr "" -#: ../../library/multiprocessing.rst:314 +#: ../../library/multiprocessing.rst:324 msgid "Synchronization between processes" msgstr "" -#: ../../library/multiprocessing.rst:316 +#: ../../library/multiprocessing.rst:326 msgid "" ":mod:`!multiprocessing` contains equivalents of all the synchronization " "primitives from :mod:`threading`. For instance one can use a lock to ensure " "that only one process prints to standard output at a time::" msgstr "" -#: ../../library/multiprocessing.rst:320 +#: ../../library/multiprocessing.rst:330 msgid "" "from multiprocessing import Process, Lock\n" "\n" @@ -481,40 +492,40 @@ msgid "" " Process(target=f, args=(lock, num)).start()" msgstr "" -#: ../../library/multiprocessing.rst:335 +#: ../../library/multiprocessing.rst:345 msgid "" "Without using the lock output from the different processes is liable to get " "all mixed up." msgstr "" -#: ../../library/multiprocessing.rst:340 +#: ../../library/multiprocessing.rst:350 msgid "Sharing state between processes" msgstr "" -#: ../../library/multiprocessing.rst:342 +#: ../../library/multiprocessing.rst:352 msgid "" "As mentioned above, when doing concurrent programming it is usually best to " "avoid using shared state as far as possible. This is particularly true when " "using multiple processes." msgstr "" -#: ../../library/multiprocessing.rst:346 +#: ../../library/multiprocessing.rst:356 msgid "" "However, if you really do need to use some shared data then :mod:`!" "multiprocessing` provides a couple of ways of doing so." msgstr "" -#: ../../library/multiprocessing.rst:349 +#: ../../library/multiprocessing.rst:359 msgid "**Shared memory**" msgstr "" -#: ../../library/multiprocessing.rst:351 +#: ../../library/multiprocessing.rst:361 msgid "" "Data can be stored in a shared memory map using :class:`Value` or :class:" "`Array`. For example, the following code ::" msgstr "" -#: ../../library/multiprocessing.rst:354 +#: ../../library/multiprocessing.rst:364 msgid "" "from multiprocessing import Process, Value, Array\n" "\n" @@ -535,17 +546,17 @@ msgid "" " print(arr[:])" msgstr "" -#: ../../library/multiprocessing.rst:372 ../../library/multiprocessing.rst:422 +#: ../../library/multiprocessing.rst:382 ../../library/multiprocessing.rst:432 msgid "will print ::" msgstr "" -#: ../../library/multiprocessing.rst:374 +#: ../../library/multiprocessing.rst:384 msgid "" "3.1415927\n" "[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]" msgstr "" -#: ../../library/multiprocessing.rst:377 +#: ../../library/multiprocessing.rst:387 msgid "" "The ``'d'`` and ``'i'`` arguments used when creating ``num`` and ``arr`` are " "typecodes of the kind used by the :mod:`array` module: ``'d'`` indicates a " @@ -553,25 +564,25 @@ msgid "" "objects will be process and thread-safe." msgstr "" -#: ../../library/multiprocessing.rst:382 +#: ../../library/multiprocessing.rst:392 msgid "" "For more flexibility in using shared memory one can use the :mod:" "`multiprocessing.sharedctypes` module which supports the creation of " "arbitrary ctypes objects allocated from shared memory." msgstr "" -#: ../../library/multiprocessing.rst:386 +#: ../../library/multiprocessing.rst:396 msgid "**Server process**" msgstr "" -#: ../../library/multiprocessing.rst:388 +#: ../../library/multiprocessing.rst:398 msgid "" "A manager object returned by :func:`Manager` controls a server process which " "holds Python objects and allows other processes to manipulate them using " "proxies." msgstr "" -#: ../../library/multiprocessing.rst:392 +#: ../../library/multiprocessing.rst:402 msgid "" "A manager returned by :func:`Manager` will support types :class:`list`, :" "class:`dict`, :class:`set`, :class:`~managers.Namespace`, :class:`Lock`, :" @@ -580,7 +591,7 @@ msgid "" "`Value` and :class:`Array`. For example, ::" msgstr "" -#: ../../library/multiprocessing.rst:398 +#: ../../library/multiprocessing.rst:408 msgid "" "from multiprocessing import Process, Manager\n" "\n" @@ -607,14 +618,14 @@ msgid "" " print(s)" msgstr "" -#: ../../library/multiprocessing.rst:424 +#: ../../library/multiprocessing.rst:434 msgid "" "{0.25: None, 1: '1', '2': 2}\n" "[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]\n" "{'a', 'b'}" msgstr "" -#: ../../library/multiprocessing.rst:428 +#: ../../library/multiprocessing.rst:438 msgid "" "Server process managers are more flexible than using shared memory objects " "because they can be made to support arbitrary object types. Also, a single " @@ -622,22 +633,22 @@ msgid "" "They are, however, slower than using shared memory." msgstr "" -#: ../../library/multiprocessing.rst:435 +#: ../../library/multiprocessing.rst:445 msgid "Using a pool of workers" msgstr "" -#: ../../library/multiprocessing.rst:437 +#: ../../library/multiprocessing.rst:447 msgid "" "The :class:`~multiprocessing.pool.Pool` class represents a pool of worker " "processes. It has methods which allows tasks to be offloaded to the worker " "processes in a few different ways." msgstr "" -#: ../../library/multiprocessing.rst:441 +#: ../../library/multiprocessing.rst:451 msgid "For example::" msgstr "Zum Beispiel::" -#: ../../library/multiprocessing.rst:443 +#: ../../library/multiprocessing.rst:453 msgid "" "from multiprocessing import Pool, TimeoutError\n" "import time\n" @@ -686,13 +697,13 @@ msgid "" " print(\"Now the pool is closed and no longer available\")" msgstr "" -#: ../../library/multiprocessing.rst:485 +#: ../../library/multiprocessing.rst:495 msgid "" "Note that the methods of a pool should only ever be used by the process " "which created it." msgstr "" -#: ../../library/multiprocessing.rst:490 +#: ../../library/multiprocessing.rst:500 msgid "" "Functionality within this package requires that the ``__main__`` module be " "importable by the children. This is covered in :ref:`multiprocessing-" @@ -701,7 +712,7 @@ msgid "" "work in the interactive interpreter. For example::" msgstr "" -#: ../../library/multiprocessing.rst:496 +#: ../../library/multiprocessing.rst:506 msgid "" ">>> from multiprocessing import Pool\n" ">>> p = Pool(5)\n" @@ -724,34 +735,34 @@ msgid "" "'_frozen_importlib.BuiltinImporter'>)>" msgstr "" -#: ../../library/multiprocessing.rst:513 +#: ../../library/multiprocessing.rst:523 msgid "" "(If you try this it will actually output three full tracebacks interleaved " "in a semi-random fashion, and then you may have to stop the parent process " "somehow.)" msgstr "" -#: ../../library/multiprocessing.rst:519 +#: ../../library/multiprocessing.rst:529 msgid "Reference" msgstr "" -#: ../../library/multiprocessing.rst:521 +#: ../../library/multiprocessing.rst:531 msgid "" "The :mod:`!multiprocessing` package mostly replicates the API of the :mod:" "`threading` module." msgstr "" -#: ../../library/multiprocessing.rst:527 +#: ../../library/multiprocessing.rst:537 msgid "Global start method" msgstr "" -#: ../../library/multiprocessing.rst:529 +#: ../../library/multiprocessing.rst:539 msgid "" "Python supports several ways to create and initialize a process. The global " "start method sets the default mechanism for creating a process." msgstr "" -#: ../../library/multiprocessing.rst:532 +#: ../../library/multiprocessing.rst:542 msgid "" "Several multiprocessing functions and methods that may also instantiate " "certain objects will implicitly set the global start method to the system's " @@ -761,18 +772,18 @@ msgid "" "methods, or creating these objects." msgstr "" -#: ../../library/multiprocessing.rst:541 +#: ../../library/multiprocessing.rst:551 msgid ":class:`Process` and exceptions" msgstr "" -#: ../../library/multiprocessing.rst:546 +#: ../../library/multiprocessing.rst:556 msgid "" "Process objects represent activity that is run in a separate process. The :" "class:`Process` class has equivalents of all the methods of :class:" "`threading.Thread`." msgstr "" -#: ../../library/multiprocessing.rst:550 +#: ../../library/multiprocessing.rst:560 msgid "" "The constructor should always be called with keyword arguments. *group* " "should always be ``None``; it exists solely for compatibility with :class:" @@ -786,21 +797,21 @@ msgid "" "creating process." msgstr "" -#: ../../library/multiprocessing.rst:561 +#: ../../library/multiprocessing.rst:571 msgid "" "By default, no arguments are passed to *target*. The *args* argument, which " "defaults to ``()``, can be used to specify a list or tuple of the arguments " "to pass to *target*." msgstr "" -#: ../../library/multiprocessing.rst:565 +#: ../../library/multiprocessing.rst:575 msgid "" "If a subclass overrides the constructor, it must make sure it invokes the " "base class constructor (``super().__init__()``) before doing anything else " "to the process." msgstr "" -#: ../../library/multiprocessing.rst:571 +#: ../../library/multiprocessing.rst:581 msgid "" "In general, all arguments to :class:`Process` must be picklable. This is " "frequently observed when trying to create a :class:`Process` or use a :class:" @@ -808,7 +819,7 @@ msgid "" "*target* function." msgstr "" -#: ../../library/multiprocessing.rst:576 +#: ../../library/multiprocessing.rst:586 msgid "" "Passing a callable object defined in the current REPL session causes the " "child process to die via an uncaught :exc:`AttributeError` exception when " @@ -816,11 +827,11 @@ msgid "" "order to be loaded during unpickling." msgstr "" -#: ../../library/multiprocessing.rst:581 +#: ../../library/multiprocessing.rst:591 msgid "Example of this uncatchable error from the child::" msgstr "" -#: ../../library/multiprocessing.rst:583 +#: ../../library/multiprocessing.rst:593 msgid "" ">>> import multiprocessing as mp\n" ">>> def knigit():\n" @@ -837,7 +848,7 @@ msgid "" "exitcode=1>" msgstr "" -#: ../../library/multiprocessing.rst:596 +#: ../../library/multiprocessing.rst:606 msgid "" "See :ref:`multiprocessing-programming-spawn`. While this restriction is not " "true if using the ``\"fork\"`` start method, as of Python ``3.14`` that is " @@ -845,15 +856,15 @@ msgid "" "methods`. See also :gh:`132898`." msgstr "" -#: ../../library/multiprocessing.rst:602 +#: ../../library/multiprocessing.rst:612 msgid "Added the *daemon* parameter." msgstr "" -#: ../../library/multiprocessing.rst:607 +#: ../../library/multiprocessing.rst:617 msgid "Method representing the process's activity." msgstr "" -#: ../../library/multiprocessing.rst:609 +#: ../../library/multiprocessing.rst:619 msgid "" "You may override this method in a subclass. The standard :meth:`run` method " "invokes the callable object passed to the object's constructor as the target " @@ -861,17 +872,17 @@ msgid "" "*args* and *kwargs* arguments, respectively." msgstr "" -#: ../../library/multiprocessing.rst:614 +#: ../../library/multiprocessing.rst:624 msgid "" "Using a list or tuple as the *args* argument passed to :class:`Process` " "achieves the same effect." msgstr "" -#: ../../library/multiprocessing.rst:617 +#: ../../library/multiprocessing.rst:627 msgid "Example::" msgstr "Beispiel::" -#: ../../library/multiprocessing.rst:619 +#: ../../library/multiprocessing.rst:629 msgid "" ">>> from multiprocessing import Process\n" ">>> p = Process(target=print, args=[1])\n" @@ -882,17 +893,17 @@ msgid "" "1" msgstr "" -#: ../../library/multiprocessing.rst:629 +#: ../../library/multiprocessing.rst:639 msgid "Start the process's activity." msgstr "" -#: ../../library/multiprocessing.rst:631 +#: ../../library/multiprocessing.rst:641 msgid "" "This must be called at most once per process object. It arranges for the " "object's :meth:`run` method to be invoked in a separate process." msgstr "" -#: ../../library/multiprocessing.rst:636 +#: ../../library/multiprocessing.rst:646 msgid "" "If the optional argument *timeout* is ``None`` (the default), the method " "blocks until the process whose :meth:`join` method is called terminates. If " @@ -902,23 +913,23 @@ msgid "" "terminated." msgstr "" -#: ../../library/multiprocessing.rst:643 +#: ../../library/multiprocessing.rst:653 msgid "A process can be joined many times." msgstr "" -#: ../../library/multiprocessing.rst:645 +#: ../../library/multiprocessing.rst:655 msgid "" "A process cannot join itself because this would cause a deadlock. It is an " "error to attempt to join a process before it has been started." msgstr "" -#: ../../library/multiprocessing.rst:650 +#: ../../library/multiprocessing.rst:660 msgid "" "The process's name. The name is a string used for identification purposes " "only. It has no semantics. Multiple processes may be given the same name." msgstr "" -#: ../../library/multiprocessing.rst:654 +#: ../../library/multiprocessing.rst:664 msgid "" "The initial name is set by the constructor. If no explicit name is provided " "to the constructor, a name of the form 'Process-N\\ :sub:`1`:N\\ :sub:" @@ -926,33 +937,33 @@ msgid "" "child of its parent." msgstr "" -#: ../../library/multiprocessing.rst:661 +#: ../../library/multiprocessing.rst:671 msgid "Return whether the process is alive." msgstr "" -#: ../../library/multiprocessing.rst:663 +#: ../../library/multiprocessing.rst:673 msgid "" "Roughly, a process object is alive from the moment the :meth:`start` method " "returns until the child process terminates." msgstr "" -#: ../../library/multiprocessing.rst:668 +#: ../../library/multiprocessing.rst:678 msgid "" "The process's daemon flag, a Boolean value. This must be set before :meth:" "`start` is called." msgstr "" -#: ../../library/multiprocessing.rst:671 +#: ../../library/multiprocessing.rst:681 msgid "The initial value is inherited from the creating process." msgstr "" -#: ../../library/multiprocessing.rst:673 +#: ../../library/multiprocessing.rst:683 msgid "" "When a process exits, it attempts to terminate all of its daemonic child " "processes." msgstr "" -#: ../../library/multiprocessing.rst:676 +#: ../../library/multiprocessing.rst:686 msgid "" "Note that a daemonic process is not allowed to create child processes. " "Otherwise a daemonic process would leave its children orphaned if it gets " @@ -961,85 +972,85 @@ msgid "" "(and not joined) if non-daemonic processes have exited." msgstr "" -#: ../../library/multiprocessing.rst:682 +#: ../../library/multiprocessing.rst:692 msgid "" "In addition to the :class:`threading.Thread` API, :class:`Process` objects " "also support the following attributes and methods:" msgstr "" -#: ../../library/multiprocessing.rst:687 +#: ../../library/multiprocessing.rst:697 msgid "" "Return the process ID. Before the process is spawned, this will be ``None``." msgstr "" -#: ../../library/multiprocessing.rst:692 +#: ../../library/multiprocessing.rst:702 msgid "" "The child's exit code. This will be ``None`` if the process has not yet " "terminated." msgstr "" -#: ../../library/multiprocessing.rst:695 +#: ../../library/multiprocessing.rst:705 msgid "" "If the child's :meth:`run` method returned normally, the exit code will be " "0. If it terminated via :func:`sys.exit` with an integer argument *N*, the " "exit code will be *N*." msgstr "" -#: ../../library/multiprocessing.rst:699 +#: ../../library/multiprocessing.rst:709 msgid "" "If the child terminated due to an exception not caught within :meth:`run`, " "the exit code will be 1. If it was terminated by signal *N*, the exit code " "will be the negative value *-N*." msgstr "" -#: ../../library/multiprocessing.rst:705 +#: ../../library/multiprocessing.rst:715 msgid "The process's authentication key (a byte string)." msgstr "" -#: ../../library/multiprocessing.rst:707 +#: ../../library/multiprocessing.rst:717 msgid "" "When :mod:`!multiprocessing` is initialized the main process is assigned a " "random string using :func:`os.urandom`." msgstr "" -#: ../../library/multiprocessing.rst:710 +#: ../../library/multiprocessing.rst:720 msgid "" "When a :class:`Process` object is created, it will inherit the " "authentication key of its parent process, although this may be changed by " "setting :attr:`authkey` to another byte string." msgstr "" -#: ../../library/multiprocessing.rst:714 +#: ../../library/multiprocessing.rst:724 msgid "See :ref:`multiprocessing-auth-keys`." msgstr "" -#: ../../library/multiprocessing.rst:718 +#: ../../library/multiprocessing.rst:728 msgid "" "A numeric handle of a system object which will become \"ready\" when the " "process ends." msgstr "" -#: ../../library/multiprocessing.rst:721 +#: ../../library/multiprocessing.rst:731 msgid "" "You can use this value if you want to wait on several events at once using :" "func:`multiprocessing.connection.wait`. Otherwise calling :meth:`join` is " "simpler." msgstr "" -#: ../../library/multiprocessing.rst:725 +#: ../../library/multiprocessing.rst:735 msgid "" "On Windows, this is an OS handle usable with the ``WaitForSingleObject`` and " "``WaitForMultipleObjects`` family of API calls. On POSIX, this is a file " "descriptor usable with primitives from the :mod:`select` module." msgstr "" -#: ../../library/multiprocessing.rst:733 +#: ../../library/multiprocessing.rst:743 msgid "" "Terminate the process. Works on POSIX using the :py:const:`~signal.SIGINT` " "signal. Behavior on Windows is undefined." msgstr "" -#: ../../library/multiprocessing.rst:736 +#: ../../library/multiprocessing.rst:746 msgid "" "By default, this terminates the child process by raising :exc:" "`KeyboardInterrupt`. This behavior can be altered by setting the respective " @@ -1047,13 +1058,13 @@ msgid "" "`~signal.SIGINT`." msgstr "" -#: ../../library/multiprocessing.rst:740 +#: ../../library/multiprocessing.rst:750 msgid "" "Note: if the child process catches and discards :exc:`KeyboardInterrupt`, " "the process will not be terminated." msgstr "" -#: ../../library/multiprocessing.rst:743 +#: ../../library/multiprocessing.rst:753 msgid "" "Note: the default behavior will also set :attr:`exitcode` to ``1`` as if an " "uncaught exception was raised in the child process. To have a different :" @@ -1061,20 +1072,20 @@ msgid "" "``exit(your_code)``." msgstr "" -#: ../../library/multiprocessing.rst:752 +#: ../../library/multiprocessing.rst:762 msgid "" "Terminate the process. On POSIX this is done using the :py:const:`~signal." "SIGTERM` signal; on Windows :c:func:`!TerminateProcess` is used. Note that " "exit handlers and finally clauses, etc., will not be executed." msgstr "" -#: ../../library/multiprocessing.rst:756 +#: ../../library/multiprocessing.rst:766 msgid "" "Note that descendant processes of the process will *not* be terminated -- " "they will simply become orphaned." msgstr "" -#: ../../library/multiprocessing.rst:761 +#: ../../library/multiprocessing.rst:771 msgid "" "If this method is used when the associated process is using a pipe or queue " "then the pipe or queue is liable to become corrupted and may become unusable " @@ -1083,11 +1094,11 @@ msgid "" "deadlock." msgstr "" -#: ../../library/multiprocessing.rst:769 +#: ../../library/multiprocessing.rst:779 msgid "Same as :meth:`terminate` but using the ``SIGKILL`` signal on POSIX." msgstr "" -#: ../../library/multiprocessing.rst:775 +#: ../../library/multiprocessing.rst:785 msgid "" "Close the :class:`Process` object, releasing all resources associated with " "it. :exc:`ValueError` is raised if the underlying process is still " @@ -1095,18 +1106,18 @@ msgid "" "attributes of the :class:`Process` object will raise :exc:`ValueError`." msgstr "" -#: ../../library/multiprocessing.rst:783 +#: ../../library/multiprocessing.rst:793 msgid "" "Note that the :meth:`start`, :meth:`join`, :meth:`is_alive`, :meth:" "`terminate` and :attr:`exitcode` methods should only be called by the " "process that created the process object." msgstr "" -#: ../../library/multiprocessing.rst:787 +#: ../../library/multiprocessing.rst:797 msgid "Example usage of some of the methods of :class:`Process`:" msgstr "" -#: ../../library/multiprocessing.rst:789 +#: ../../library/multiprocessing.rst:799 msgid "" ">>> import multiprocessing, time, signal\n" ">>> mp_context = multiprocessing.get_context('spawn')\n" @@ -1124,48 +1135,48 @@ msgid "" "True" msgstr "" -#: ../../library/multiprocessing.rst:808 +#: ../../library/multiprocessing.rst:818 msgid "The base class of all :mod:`!multiprocessing` exceptions." msgstr "" -#: ../../library/multiprocessing.rst:812 +#: ../../library/multiprocessing.rst:822 msgid "" "Exception raised by :meth:`Connection.recv_bytes_into` when the supplied " "buffer object is too small for the message read." msgstr "" -#: ../../library/multiprocessing.rst:815 +#: ../../library/multiprocessing.rst:825 msgid "" "If ``e`` is an instance of :exc:`BufferTooShort` then ``e.args[0]`` will " "give the message as a byte string." msgstr "" -#: ../../library/multiprocessing.rst:820 +#: ../../library/multiprocessing.rst:830 msgid "Raised when there is an authentication error." msgstr "" -#: ../../library/multiprocessing.rst:824 +#: ../../library/multiprocessing.rst:834 msgid "Raised by methods with a timeout when the timeout expires." msgstr "" -#: ../../library/multiprocessing.rst:827 +#: ../../library/multiprocessing.rst:837 msgid "Pipes and Queues" msgstr "" -#: ../../library/multiprocessing.rst:829 +#: ../../library/multiprocessing.rst:839 msgid "" "When using multiple processes, one generally uses message passing for " "communication between processes and avoids having to use any synchronization " "primitives like locks." msgstr "" -#: ../../library/multiprocessing.rst:833 +#: ../../library/multiprocessing.rst:843 msgid "" "For passing messages one can use :func:`Pipe` (for a connection between two " "processes) or a queue (which allows multiple producers and consumers)." msgstr "" -#: ../../library/multiprocessing.rst:836 +#: ../../library/multiprocessing.rst:846 msgid "" "The :class:`Queue`, :class:`SimpleQueue` and :class:`JoinableQueue` types " "are multi-producer, multi-consumer :abbr:`FIFO (first-in, first-out)` queues " @@ -1175,7 +1186,7 @@ msgid "" "Queue` class." msgstr "" -#: ../../library/multiprocessing.rst:843 +#: ../../library/multiprocessing.rst:853 msgid "" "If you use :class:`JoinableQueue` then you **must** call :meth:" "`JoinableQueue.task_done` for each task removed from the queue or else the " @@ -1183,7 +1194,7 @@ msgid "" "overflow, raising an exception." msgstr "" -#: ../../library/multiprocessing.rst:848 +#: ../../library/multiprocessing.rst:858 msgid "" "One difference from other Python queue implementations, is that :mod:`!" "multiprocessing` queues serializes all objects that are put into them using :" @@ -1191,20 +1202,20 @@ msgid "" "that does not share memory with the original object." msgstr "" -#: ../../library/multiprocessing.rst:853 +#: ../../library/multiprocessing.rst:863 msgid "" "Note that one can also create a shared queue by using a manager object -- " "see :ref:`multiprocessing-managers`." msgstr "" -#: ../../library/multiprocessing.rst:858 +#: ../../library/multiprocessing.rst:868 msgid "" ":mod:`!multiprocessing` uses the usual :exc:`queue.Empty` and :exc:`queue." "Full` exceptions to signal a timeout. They are not available in the :mod:`!" "multiprocessing` namespace so you need to import them from :mod:`queue`." msgstr "" -#: ../../library/multiprocessing.rst:865 +#: ../../library/multiprocessing.rst:875 msgid "" "When an object is put on a queue, the object is pickled and a background " "thread later flushes the pickled data to an underlying pipe. This has some " @@ -1213,14 +1224,14 @@ msgid "" "a queue created with a :ref:`manager `." msgstr "" -#: ../../library/multiprocessing.rst:872 +#: ../../library/multiprocessing.rst:882 msgid "" "After putting an object on an empty queue there may be an infinitesimal " "delay before the queue's :meth:`~Queue.empty` method returns :const:`False` " "and :meth:`~Queue.get_nowait` can return without raising :exc:`queue.Empty`." msgstr "" -#: ../../library/multiprocessing.rst:877 +#: ../../library/multiprocessing.rst:887 msgid "" "If multiple processes are enqueuing objects, it is possible for the objects " "to be received at the other end out-of-order. However, objects enqueued by " @@ -1228,7 +1239,7 @@ msgid "" "other." msgstr "" -#: ../../library/multiprocessing.rst:884 +#: ../../library/multiprocessing.rst:894 msgid "" "If a process is killed using :meth:`Process.terminate` or :func:`os.kill` " "while it is trying to use a :class:`Queue`, then the data in the queue is " @@ -1236,7 +1247,7 @@ msgid "" "exception when it tries to use the queue later on." msgstr "" -#: ../../library/multiprocessing.rst:891 +#: ../../library/multiprocessing.rst:901 msgid "" "As mentioned above, if a child process has put items on a queue (and it has " "not used :meth:`JoinableQueue.cancel_join_thread ` flag or :envvar:`PYTHON_CPU_COUNT` as this is merely a wrapper around " "the :mod:`os` cpu count APIs." msgstr "" -#: ../../library/multiprocessing.rst:1142 +#: ../../library/multiprocessing.rst:1152 msgid "" "Return the :class:`Process` object corresponding to the current process." msgstr "" -#: ../../library/multiprocessing.rst:1144 +#: ../../library/multiprocessing.rst:1154 msgid "An analogue of :func:`threading.current_thread`." msgstr "" -#: ../../library/multiprocessing.rst:1148 +#: ../../library/multiprocessing.rst:1158 msgid "" "Return the :class:`Process` object corresponding to the parent process of " "the :func:`current_process`. For the main process, ``parent_process`` will " "be ``None``." msgstr "" -#: ../../library/multiprocessing.rst:1156 +#: ../../library/multiprocessing.rst:1166 msgid "" "Add support for when a program which uses :mod:`!multiprocessing` has been " "frozen to produce an executable. (Has been tested with **py2exe**, " "**PyInstaller** and **cx_Freeze**.)" msgstr "" -#: ../../library/multiprocessing.rst:1160 +#: ../../library/multiprocessing.rst:1170 msgid "" "One needs to call this function straight after the ``if __name__ == " "'__main__'`` line of the main module. For example::" msgstr "" -#: ../../library/multiprocessing.rst:1163 +#: ../../library/multiprocessing.rst:1173 msgid "" "from multiprocessing import Process, freeze_support\n" "\n" @@ -1604,13 +1615,13 @@ msgid "" " Process(target=f).start()" msgstr "" -#: ../../library/multiprocessing.rst:1172 +#: ../../library/multiprocessing.rst:1182 msgid "" "If the ``freeze_support()`` line is omitted then trying to run the frozen " "executable will raise :exc:`RuntimeError`." msgstr "" -#: ../../library/multiprocessing.rst:1175 +#: ../../library/multiprocessing.rst:1185 msgid "" "Calling ``freeze_support()`` has no effect when the start method is not " "*spawn*. In addition, if the module is being run normally by the Python " @@ -1618,7 +1629,7 @@ msgid "" "no effect." msgstr "" -#: ../../library/multiprocessing.rst:1182 +#: ../../library/multiprocessing.rst:1192 msgid "" "Returns a list of the supported start methods, the first of which is the " "default. The possible start methods are ``'fork'``, ``'spawn'`` and " @@ -1626,13 +1637,13 @@ msgid "" "`multiprocessing-start-methods`." msgstr "" -#: ../../library/multiprocessing.rst:1191 +#: ../../library/multiprocessing.rst:1201 msgid "" "Return a context object which has the same attributes as the :mod:`!" "multiprocessing` module." msgstr "" -#: ../../library/multiprocessing.rst:1194 +#: ../../library/multiprocessing.rst:1204 msgid "" "If *method* is ``None`` then the default context is returned. Note that if " "the global start method has not been set, this will set it to the system " @@ -1642,54 +1653,54 @@ msgid "" "`multiprocessing-start-methods`." msgstr "" -#: ../../library/multiprocessing.rst:1205 +#: ../../library/multiprocessing.rst:1215 msgid "Return the name of start method used for starting processes." msgstr "" -#: ../../library/multiprocessing.rst:1207 +#: ../../library/multiprocessing.rst:1217 msgid "" "If the global start method is not set and *allow_none* is ``False``, the " "global start method is set to the default, and its name is returned. See :" "ref:`global-start-method` for more details." msgstr "" -#: ../../library/multiprocessing.rst:1211 +#: ../../library/multiprocessing.rst:1221 msgid "" "The return value can be ``'fork'``, ``'spawn'``, ``'forkserver'`` or " "``None``. See :ref:`multiprocessing-start-methods`." msgstr "" -#: ../../library/multiprocessing.rst:1218 +#: ../../library/multiprocessing.rst:1228 msgid "" "On macOS, the *spawn* start method is now the default. The *fork* start " "method should be considered unsafe as it can lead to crashes of the " "subprocess. See :issue:`33725`." msgstr "" -#: ../../library/multiprocessing.rst:1224 +#: ../../library/multiprocessing.rst:1234 msgid "" "Set the path of the Python interpreter to use when starting a child process. " "(By default :data:`sys.executable` is used). Embedders will probably need " "to do something like ::" msgstr "" -#: ../../library/multiprocessing.rst:1228 +#: ../../library/multiprocessing.rst:1238 msgid "set_executable(os.path.join(sys.exec_prefix, 'pythonw.exe'))" msgstr "" -#: ../../library/multiprocessing.rst:1230 +#: ../../library/multiprocessing.rst:1240 msgid "before they can create child processes." msgstr "" -#: ../../library/multiprocessing.rst:1232 +#: ../../library/multiprocessing.rst:1242 msgid "Now supported on POSIX when the ``'spawn'`` start method is used." msgstr "" -#: ../../library/multiprocessing.rst:1235 +#: ../../library/multiprocessing.rst:1245 msgid "Accepts a :term:`path-like object`." msgstr "" -#: ../../library/multiprocessing.rst:1240 +#: ../../library/multiprocessing.rst:1250 msgid "" "Set a list of module names for the forkserver main process to attempt to " "import so that their already imported state is inherited by forked " @@ -1698,19 +1709,19 @@ msgid "" "process." msgstr "" -#: ../../library/multiprocessing.rst:1246 +#: ../../library/multiprocessing.rst:1256 msgid "" "For this to work, it must be called before the forkserver process has been " "launched (before creating a :class:`Pool` or starting a :class:`Process`)." msgstr "" -#: ../../library/multiprocessing.rst:1249 +#: ../../library/multiprocessing.rst:1259 msgid "" "Only meaningful when using the ``'forkserver'`` start method. See :ref:" "`multiprocessing-start-methods`." msgstr "" -#: ../../library/multiprocessing.rst:1256 +#: ../../library/multiprocessing.rst:1266 msgid "" "Set the method which should be used to start child processes. The *method* " "argument can be ``'fork'``, ``'spawn'`` or ``'forkserver'``. Raises :exc:" @@ -1720,17 +1731,17 @@ msgid "" "then the context is set to the default context." msgstr "" -#: ../../library/multiprocessing.rst:1263 +#: ../../library/multiprocessing.rst:1273 msgid "" "Note that this should be called at most once, and it should be protected " "inside the ``if __name__ == '__main__'`` clause of the main module." msgstr "" -#: ../../library/multiprocessing.rst:1267 +#: ../../library/multiprocessing.rst:1277 msgid "See :ref:`multiprocessing-start-methods`." msgstr "" -#: ../../library/multiprocessing.rst:1273 +#: ../../library/multiprocessing.rst:1283 msgid "" ":mod:`!multiprocessing` contains no analogues of :func:`threading." "active_count`, :func:`threading.enumerate`, :func:`threading.settrace`, :" @@ -1738,75 +1749,75 @@ msgid "" "local`." msgstr "" -#: ../../library/multiprocessing.rst:1280 +#: ../../library/multiprocessing.rst:1290 msgid "Connection Objects" msgstr "" -#: ../../library/multiprocessing.rst:1284 +#: ../../library/multiprocessing.rst:1294 msgid "" "Connection objects allow the sending and receiving of picklable objects or " "strings. They can be thought of as message oriented connected sockets." msgstr "" -#: ../../library/multiprocessing.rst:1287 +#: ../../library/multiprocessing.rst:1297 msgid "" "Connection objects are usually created using :func:`Pipe ` -- see also :ref:`multiprocessing-listeners-clients`." msgstr "" -#: ../../library/multiprocessing.rst:1295 +#: ../../library/multiprocessing.rst:1305 msgid "" "Send an object to the other end of the connection which should be read " "using :meth:`recv`." msgstr "" -#: ../../library/multiprocessing.rst:1298 +#: ../../library/multiprocessing.rst:1308 msgid "" "The object must be picklable. Very large pickles (approximately 32 MiB+, " "though it depends on the OS) may raise a :exc:`ValueError` exception." msgstr "" -#: ../../library/multiprocessing.rst:1303 +#: ../../library/multiprocessing.rst:1313 msgid "" "Return an object sent from the other end of the connection using :meth:" "`send`. Blocks until there is something to receive. Raises :exc:`EOFError` " "if there is nothing left to receive and the other end was closed." msgstr "" -#: ../../library/multiprocessing.rst:1310 +#: ../../library/multiprocessing.rst:1320 msgid "Return the file descriptor or handle used by the connection." msgstr "" -#: ../../library/multiprocessing.rst:1314 +#: ../../library/multiprocessing.rst:1324 msgid "Close the connection." msgstr "" -#: ../../library/multiprocessing.rst:1316 +#: ../../library/multiprocessing.rst:1326 msgid "This is called automatically when the connection is garbage collected." msgstr "" -#: ../../library/multiprocessing.rst:1320 +#: ../../library/multiprocessing.rst:1330 msgid "Return whether there is any data available to be read." msgstr "" -#: ../../library/multiprocessing.rst:1322 +#: ../../library/multiprocessing.rst:1332 msgid "" "If *timeout* is not specified then it will return immediately. If *timeout* " "is a number then this specifies the maximum time in seconds to block. If " "*timeout* is ``None`` then an infinite timeout is used." msgstr "" -#: ../../library/multiprocessing.rst:1326 +#: ../../library/multiprocessing.rst:1336 msgid "" "Note that multiple connection objects may be polled at once by using :func:" "`multiprocessing.connection.wait`." msgstr "" -#: ../../library/multiprocessing.rst:1331 +#: ../../library/multiprocessing.rst:1341 msgid "Send byte data from a :term:`bytes-like object` as a complete message." msgstr "" -#: ../../library/multiprocessing.rst:1333 +#: ../../library/multiprocessing.rst:1343 msgid "" "If *offset* is given then data is read from that position in *buf*. If " "*size* is given then that many bytes will be read from *buf*. Very large " @@ -1814,7 +1825,7 @@ msgid "" "exc:`ValueError` exception" msgstr "" -#: ../../library/multiprocessing.rst:1340 +#: ../../library/multiprocessing.rst:1350 msgid "" "Return a complete message of byte data sent from the other end of the " "connection as a string. Blocks until there is something to receive. Raises :" @@ -1822,19 +1833,19 @@ msgid "" "closed." msgstr "" -#: ../../library/multiprocessing.rst:1345 +#: ../../library/multiprocessing.rst:1355 msgid "" "If *maxlength* is specified and the message is longer than *maxlength* then :" "exc:`OSError` is raised and the connection will no longer be readable." msgstr "" -#: ../../library/multiprocessing.rst:1349 +#: ../../library/multiprocessing.rst:1359 msgid "" "This function used to raise :exc:`IOError`, which is now an alias of :exc:" "`OSError`." msgstr "" -#: ../../library/multiprocessing.rst:1356 +#: ../../library/multiprocessing.rst:1366 msgid "" "Read into *buf* a complete message of byte data sent from the other end of " "the connection and return the number of bytes in the message. Blocks until " @@ -1842,38 +1853,38 @@ msgid "" "left to receive and the other end was closed." msgstr "" -#: ../../library/multiprocessing.rst:1362 +#: ../../library/multiprocessing.rst:1372 msgid "" "*buf* must be a writable :term:`bytes-like object`. If *offset* is given " "then the message will be written into the buffer from that position. Offset " "must be a non-negative integer less than the length of *buf* (in bytes)." msgstr "" -#: ../../library/multiprocessing.rst:1367 +#: ../../library/multiprocessing.rst:1377 msgid "" "If the buffer is too short then a :exc:`BufferTooShort` exception is raised " "and the complete message is available as ``e.args[0]`` where ``e`` is the " "exception instance." msgstr "" -#: ../../library/multiprocessing.rst:1371 +#: ../../library/multiprocessing.rst:1381 msgid "" "Connection objects themselves can now be transferred between processes " "using :meth:`Connection.send` and :meth:`Connection.recv`." msgstr "" -#: ../../library/multiprocessing.rst:1375 +#: ../../library/multiprocessing.rst:1385 msgid "" "Connection objects also now support the context management protocol -- see :" "ref:`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " "connection object, and :meth:`~contextmanager.__exit__` calls :meth:`close`." msgstr "" -#: ../../library/multiprocessing.rst:1379 +#: ../../library/multiprocessing.rst:1389 msgid "For example:" msgstr "Zum Beispiel:" -#: ../../library/multiprocessing.rst:1381 +#: ../../library/multiprocessing.rst:1391 msgid "" ">>> from multiprocessing import Pipe\n" ">>> a, b = Pipe()\n" @@ -1893,14 +1904,14 @@ msgid "" "array('i', [0, 1, 2, 3, 4, 0, 0, 0, 0, 0])" msgstr "" -#: ../../library/multiprocessing.rst:1404 +#: ../../library/multiprocessing.rst:1414 msgid "" "The :meth:`Connection.recv` method automatically unpickles the data it " "receives, which can be a security risk unless you can trust the process " "which sent the message." msgstr "" -#: ../../library/multiprocessing.rst:1408 +#: ../../library/multiprocessing.rst:1418 msgid "" "Therefore, unless the connection object was produced using :func:`Pipe` you " "should only use the :meth:`~Connection.recv` and :meth:`~Connection.send` " @@ -1908,80 +1919,80 @@ msgid "" "`multiprocessing-auth-keys`." msgstr "" -#: ../../library/multiprocessing.rst:1415 +#: ../../library/multiprocessing.rst:1425 msgid "" "If a process is killed while it is trying to read or write to a pipe then " "the data in the pipe is likely to become corrupted, because it may become " "impossible to be sure where the message boundaries lie." msgstr "" -#: ../../library/multiprocessing.rst:1421 +#: ../../library/multiprocessing.rst:1431 msgid "Synchronization primitives" msgstr "" -#: ../../library/multiprocessing.rst:1425 +#: ../../library/multiprocessing.rst:1435 msgid "" "Generally synchronization primitives are not as necessary in a multiprocess " "program as they are in a multithreaded program. See the documentation for :" "mod:`threading` module." msgstr "" -#: ../../library/multiprocessing.rst:1429 +#: ../../library/multiprocessing.rst:1439 msgid "" "Note that one can also create synchronization primitives by using a manager " "object -- see :ref:`multiprocessing-managers`." msgstr "" -#: ../../library/multiprocessing.rst:1434 +#: ../../library/multiprocessing.rst:1444 msgid "A barrier object: a clone of :class:`threading.Barrier`." msgstr "" -#: ../../library/multiprocessing.rst:1443 +#: ../../library/multiprocessing.rst:1453 msgid "" "A bounded semaphore object: a close analog of :class:`threading." "BoundedSemaphore`." msgstr "" -#: ../../library/multiprocessing.rst:1449 -#: ../../library/multiprocessing.rst:1621 +#: ../../library/multiprocessing.rst:1459 +#: ../../library/multiprocessing.rst:1631 msgid "" "A solitary difference from its close analog exists: its ``acquire`` method's " "first argument is named *block*, as is consistent with :meth:`Lock.acquire`." msgstr "" -#: ../../library/multiprocessing.rst:1454 -#: ../../library/multiprocessing.rst:1539 -#: ../../library/multiprocessing.rst:1609 -#: ../../library/multiprocessing.rst:1635 +#: ../../library/multiprocessing.rst:1464 +#: ../../library/multiprocessing.rst:1549 +#: ../../library/multiprocessing.rst:1619 +#: ../../library/multiprocessing.rst:1645 msgid "Return a boolean indicating whether this object is locked right now." msgstr "" -#: ../../library/multiprocessing.rst:1459 +#: ../../library/multiprocessing.rst:1469 msgid "" "On macOS, this is indistinguishable from :class:`Semaphore` because " "``sem_getvalue()`` is not implemented on that platform." msgstr "" -#: ../../library/multiprocessing.rst:1464 +#: ../../library/multiprocessing.rst:1474 msgid "A condition variable: an alias for :class:`threading.Condition`." msgstr "" -#: ../../library/multiprocessing.rst:1466 +#: ../../library/multiprocessing.rst:1476 msgid "" "If *lock* is specified then it should be a :class:`Lock` or :class:`RLock` " "object from :mod:`!multiprocessing`." msgstr "" -#: ../../library/multiprocessing.rst:1472 -#: ../../library/multiprocessing.rst:2070 +#: ../../library/multiprocessing.rst:1482 +#: ../../library/multiprocessing.rst:2080 msgid "The :meth:`~threading.Condition.wait_for` method was added." msgstr "" -#: ../../library/multiprocessing.rst:1477 +#: ../../library/multiprocessing.rst:1487 msgid "A clone of :class:`threading.Event`." msgstr "" -#: ../../library/multiprocessing.rst:1484 +#: ../../library/multiprocessing.rst:1494 msgid "" "A non-recursive lock object: a close analog of :class:`threading.Lock`. Once " "a process or thread has acquired a lock, subsequent attempts to acquire it " @@ -1992,25 +2003,25 @@ msgid "" "as noted." msgstr "" -#: ../../library/multiprocessing.rst:1492 +#: ../../library/multiprocessing.rst:1502 msgid "" "Note that :class:`Lock` is actually a factory function which returns an " "instance of ``multiprocessing.synchronize.Lock`` initialized with a default " "context." msgstr "" -#: ../../library/multiprocessing.rst:1499 +#: ../../library/multiprocessing.rst:1509 msgid "" ":class:`Lock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." msgstr "" -#: ../../library/multiprocessing.rst:1504 -#: ../../library/multiprocessing.rst:1565 +#: ../../library/multiprocessing.rst:1514 +#: ../../library/multiprocessing.rst:1575 msgid "Acquire a lock, blocking or non-blocking." msgstr "" -#: ../../library/multiprocessing.rst:1506 +#: ../../library/multiprocessing.rst:1516 msgid "" "With the *block* argument set to ``True`` (the default), the method call " "will block until the lock is in an unlocked state, then set it to locked and " @@ -2018,14 +2029,14 @@ msgid "" "that in :meth:`threading.Lock.acquire`." msgstr "" -#: ../../library/multiprocessing.rst:1511 +#: ../../library/multiprocessing.rst:1521 msgid "" "With the *block* argument set to ``False``, the method call does not block. " "If the lock is currently in a locked state, return ``False``; otherwise set " "the lock to a locked state and return ``True``." msgstr "" -#: ../../library/multiprocessing.rst:1515 +#: ../../library/multiprocessing.rst:1525 msgid "" "When invoked with a positive, floating-point value for *timeout*, block for " "at most the number of seconds specified by *timeout* as long as the lock can " @@ -2039,19 +2050,19 @@ msgid "" "acquired or ``False`` if the timeout period has elapsed." msgstr "" -#: ../../library/multiprocessing.rst:1530 +#: ../../library/multiprocessing.rst:1540 msgid "" "Release a lock. This can be called from any process or thread, not only the " "process or thread which originally acquired the lock." msgstr "" -#: ../../library/multiprocessing.rst:1533 +#: ../../library/multiprocessing.rst:1543 msgid "" "Behavior is the same as in :meth:`threading.Lock.release` except that when " "invoked on an unlocked lock, a :exc:`ValueError` is raised." msgstr "" -#: ../../library/multiprocessing.rst:1546 +#: ../../library/multiprocessing.rst:1556 msgid "" "A recursive lock object: a close analog of :class:`threading.RLock`. A " "recursive lock must be released by the process or thread that acquired it. " @@ -2060,20 +2071,20 @@ msgid "" "release it once for each time it has been acquired." msgstr "" -#: ../../library/multiprocessing.rst:1552 +#: ../../library/multiprocessing.rst:1562 msgid "" "Note that :class:`RLock` is actually a factory function which returns an " "instance of ``multiprocessing.synchronize.RLock`` initialized with a default " "context." msgstr "" -#: ../../library/multiprocessing.rst:1559 +#: ../../library/multiprocessing.rst:1569 msgid "" ":class:`RLock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." msgstr "" -#: ../../library/multiprocessing.rst:1567 +#: ../../library/multiprocessing.rst:1577 msgid "" "When invoked with the *block* argument set to ``True``, block until the lock " "is in an unlocked state (not owned by any process or thread) unless the lock " @@ -2086,7 +2097,7 @@ msgid "" "itself." msgstr "" -#: ../../library/multiprocessing.rst:1577 +#: ../../library/multiprocessing.rst:1587 msgid "" "When invoked with the *block* argument set to ``False``, do not block. If " "the lock has already been acquired (and thus is owned) by another process or " @@ -2097,14 +2108,14 @@ msgid "" "a return value of ``True``." msgstr "" -#: ../../library/multiprocessing.rst:1585 +#: ../../library/multiprocessing.rst:1595 msgid "" "Use and behaviors of the *timeout* argument are the same as in :meth:`Lock." "acquire`. Note that some of these behaviors of *timeout* differ from the " "implemented behaviors in :meth:`threading.RLock.acquire`." msgstr "" -#: ../../library/multiprocessing.rst:1592 +#: ../../library/multiprocessing.rst:1602 msgid "" "Release a lock, decrementing the recursion level. If after the decrement " "the recursion level is zero, reset the lock to unlocked (not owned by any " @@ -2114,7 +2125,7 @@ msgid "" "locked and owned by the calling process or thread." msgstr "" -#: ../../library/multiprocessing.rst:1600 +#: ../../library/multiprocessing.rst:1610 msgid "" "Only call this method when the calling process or thread owns the lock. An :" "exc:`AssertionError` is raised if this method is called by a process or " @@ -2123,21 +2134,21 @@ msgid "" "from the implemented behavior in :meth:`threading.RLock.release`." msgstr "" -#: ../../library/multiprocessing.rst:1616 +#: ../../library/multiprocessing.rst:1626 msgid "A semaphore object: a close analog of :class:`threading.Semaphore`." msgstr "" -#: ../../library/multiprocessing.rst:1627 +#: ../../library/multiprocessing.rst:1637 msgid "Return the current value of semaphore." msgstr "" -#: ../../library/multiprocessing.rst:1642 +#: ../../library/multiprocessing.rst:1652 msgid "" "On macOS, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with a " "timeout will emulate that function's behavior using a sleeping loop." msgstr "" -#: ../../library/multiprocessing.rst:1647 +#: ../../library/multiprocessing.rst:1657 msgid "" "Some of this package's functionality requires a functioning shared semaphore " "implementation on the host operating system. Without one, the :mod:" @@ -2146,32 +2157,32 @@ msgid "" "additional information." msgstr "" -#: ../../library/multiprocessing.rst:1655 +#: ../../library/multiprocessing.rst:1665 msgid "Shared :mod:`ctypes` Objects" msgstr "" -#: ../../library/multiprocessing.rst:1657 +#: ../../library/multiprocessing.rst:1667 msgid "" "It is possible to create shared objects using shared memory which can be " "inherited by child processes." msgstr "" -#: ../../library/multiprocessing.rst:1662 +#: ../../library/multiprocessing.rst:1672 msgid "" "Return a :mod:`ctypes` object allocated from shared memory. By default the " "return value is actually a synchronized wrapper for the object. The object " "itself can be accessed via the *value* attribute of a :class:`Value`." msgstr "" -#: ../../library/multiprocessing.rst:1666 -#: ../../library/multiprocessing.rst:1759 +#: ../../library/multiprocessing.rst:1676 +#: ../../library/multiprocessing.rst:1769 msgid "" "*typecode_or_type* determines the type of the returned object: it is either " "a ctypes type or a one character typecode of the kind used by the :mod:" "`array` module. *\\*args* is passed on to the constructor for the type." msgstr "" -#: ../../library/multiprocessing.rst:1670 +#: ../../library/multiprocessing.rst:1680 msgid "" "If *lock* is ``True`` (the default) then a new recursive lock object is " "created to synchronize access to the value. If *lock* is a :class:`Lock` " @@ -2181,40 +2192,40 @@ msgid "" "\"process-safe\"." msgstr "" -#: ../../library/multiprocessing.rst:1677 +#: ../../library/multiprocessing.rst:1687 msgid "" "Operations like ``+=`` which involve a read and write are not atomic. So " "if, for instance, you want to atomically increment a shared value it is " "insufficient to just do ::" msgstr "" -#: ../../library/multiprocessing.rst:1681 +#: ../../library/multiprocessing.rst:1691 msgid "counter.value += 1" msgstr "" -#: ../../library/multiprocessing.rst:1683 +#: ../../library/multiprocessing.rst:1693 msgid "" "Assuming the associated lock is recursive (which it is by default) you can " "instead do ::" msgstr "" -#: ../../library/multiprocessing.rst:1686 +#: ../../library/multiprocessing.rst:1696 msgid "" "with counter.get_lock():\n" " counter.value += 1" msgstr "" -#: ../../library/multiprocessing.rst:1689 +#: ../../library/multiprocessing.rst:1699 msgid "Note that *lock* is a keyword-only argument." msgstr "" -#: ../../library/multiprocessing.rst:1693 +#: ../../library/multiprocessing.rst:1703 msgid "" "Return a ctypes array allocated from shared memory. By default the return " "value is actually a synchronized wrapper for the array." msgstr "" -#: ../../library/multiprocessing.rst:1696 +#: ../../library/multiprocessing.rst:1706 msgid "" "*typecode_or_type* determines the type of the elements of the returned " "array: it is either a :ref:`ctypes type ` or " @@ -2227,7 +2238,7 @@ msgid "" "of the array." msgstr "" -#: ../../library/multiprocessing.rst:1706 +#: ../../library/multiprocessing.rst:1716 msgid "" "If *lock* is ``True`` (the default) then a new lock object is created to " "synchronize access to the value. If *lock* is a :class:`Lock` or :class:" @@ -2237,11 +2248,11 @@ msgid "" "safe\"." msgstr "" -#: ../../library/multiprocessing.rst:1713 +#: ../../library/multiprocessing.rst:1723 msgid "Note that *lock* is a keyword only argument." msgstr "" -#: ../../library/multiprocessing.rst:1715 +#: ../../library/multiprocessing.rst:1725 msgid "" "Note that an array of :data:`ctypes.c_char` has *value* and *raw* attributes " "which can both be used to store and retrieve byte strings. While *raw* " @@ -2250,18 +2261,18 @@ msgid "" "languages handle strings." msgstr "" -#: ../../library/multiprocessing.rst:1723 +#: ../../library/multiprocessing.rst:1733 msgid "The :mod:`!multiprocessing.sharedctypes` module" msgstr "" -#: ../../library/multiprocessing.rst:1728 +#: ../../library/multiprocessing.rst:1738 msgid "" "The :mod:`!multiprocessing.sharedctypes` module provides functions for " "allocating :mod:`ctypes` objects from shared memory which can be inherited " "by child processes." msgstr "" -#: ../../library/multiprocessing.rst:1734 +#: ../../library/multiprocessing.rst:1744 msgid "" "Although it is possible to store a pointer in shared memory remember that " "this will refer to a location in the address space of a specific process. " @@ -2270,11 +2281,11 @@ msgid "" "may cause a crash." msgstr "" -#: ../../library/multiprocessing.rst:1742 +#: ../../library/multiprocessing.rst:1752 msgid "Return a ctypes array allocated from shared memory." msgstr "" -#: ../../library/multiprocessing.rst:1744 +#: ../../library/multiprocessing.rst:1754 msgid "" "*typecode_or_type* determines the type of the elements of the returned " "array: it is either a ctypes type or a one character typecode of the kind " @@ -2284,40 +2295,40 @@ msgid "" "initialize the array and whose length determines the length of the array." msgstr "" -#: ../../library/multiprocessing.rst:1751 +#: ../../library/multiprocessing.rst:1761 msgid "" "Note that setting and getting an element is potentially non-atomic -- use :" "func:`Array` instead to make sure that access is automatically synchronized " "using a lock." msgstr "" -#: ../../library/multiprocessing.rst:1757 +#: ../../library/multiprocessing.rst:1767 msgid "Return a ctypes object allocated from shared memory." msgstr "" -#: ../../library/multiprocessing.rst:1763 +#: ../../library/multiprocessing.rst:1773 msgid "" "Note that setting and getting the value is potentially non-atomic -- use :" "func:`Value` instead to make sure that access is automatically synchronized " "using a lock." msgstr "" -#: ../../library/multiprocessing.rst:1767 +#: ../../library/multiprocessing.rst:1777 msgid "" "Note that an array of :data:`ctypes.c_char` has ``value`` and ``raw`` " "attributes which allow one to use it to store and retrieve strings -- see " "documentation for :mod:`ctypes`." msgstr "" -#: ../../library/multiprocessing.rst:1773 +#: ../../library/multiprocessing.rst:1783 msgid "" "The same as :func:`RawArray` except that depending on the value of *lock* a " "process-safe synchronization wrapper may be returned instead of a raw ctypes " "array." msgstr "" -#: ../../library/multiprocessing.rst:1777 -#: ../../library/multiprocessing.rst:1797 +#: ../../library/multiprocessing.rst:1787 +#: ../../library/multiprocessing.rst:1807 msgid "" "If *lock* is ``True`` (the default) then a new lock object is created to " "synchronize access to the value. If *lock* is a :class:`~multiprocessing." @@ -2327,128 +2338,128 @@ msgid "" "not necessarily be \"process-safe\"." msgstr "" -#: ../../library/multiprocessing.rst:1785 -#: ../../library/multiprocessing.rst:1804 -#: ../../library/multiprocessing.rst:1821 -#: ../../library/multiprocessing.rst:1942 +#: ../../library/multiprocessing.rst:1795 +#: ../../library/multiprocessing.rst:1814 +#: ../../library/multiprocessing.rst:1831 +#: ../../library/multiprocessing.rst:1952 msgid "" "*ctx* is a context object, or ``None`` (use the current context). If " "``None``, calling this may set the global start method. See :ref:`global-" "start-method` for more details." msgstr "" -#: ../../library/multiprocessing.rst:1789 -#: ../../library/multiprocessing.rst:1808 +#: ../../library/multiprocessing.rst:1799 +#: ../../library/multiprocessing.rst:1818 msgid "Note that *lock* and *ctx* are keyword-only parameters." msgstr "" -#: ../../library/multiprocessing.rst:1793 +#: ../../library/multiprocessing.rst:1803 msgid "" "The same as :func:`RawValue` except that depending on the value of *lock* a " "process-safe synchronization wrapper may be returned instead of a raw ctypes " "object." msgstr "" -#: ../../library/multiprocessing.rst:1812 +#: ../../library/multiprocessing.rst:1822 msgid "" "Return a ctypes object allocated from shared memory which is a copy of the " "ctypes object *obj*." msgstr "" -#: ../../library/multiprocessing.rst:1817 +#: ../../library/multiprocessing.rst:1827 msgid "" "Return a process-safe wrapper object for a ctypes object which uses *lock* " "to synchronize access. If *lock* is ``None`` (the default) then a :class:" "`multiprocessing.RLock` object is created automatically." msgstr "" -#: ../../library/multiprocessing.rst:1825 +#: ../../library/multiprocessing.rst:1835 msgid "" "A synchronized wrapper will have two methods in addition to those of the " "object it wraps: :meth:`get_obj` returns the wrapped object and :meth:" "`get_lock` returns the lock object used for synchronization." msgstr "" -#: ../../library/multiprocessing.rst:1829 +#: ../../library/multiprocessing.rst:1839 msgid "" "Note that accessing the ctypes object through the wrapper can be a lot " "slower than accessing the raw ctypes object." msgstr "" -#: ../../library/multiprocessing.rst:1832 +#: ../../library/multiprocessing.rst:1842 msgid "Synchronized objects support the :term:`context manager` protocol." msgstr "" -#: ../../library/multiprocessing.rst:1836 +#: ../../library/multiprocessing.rst:1846 msgid "" "The table below compares the syntax for creating shared ctypes objects from " "shared memory with the normal ctypes syntax. (In the table ``MyStruct`` is " "some subclass of :class:`ctypes.Structure`.)" msgstr "" -#: ../../library/multiprocessing.rst:1841 +#: ../../library/multiprocessing.rst:1851 msgid "ctypes" msgstr "" -#: ../../library/multiprocessing.rst:1841 +#: ../../library/multiprocessing.rst:1851 msgid "sharedctypes using type" msgstr "" -#: ../../library/multiprocessing.rst:1841 +#: ../../library/multiprocessing.rst:1851 msgid "sharedctypes using typecode" msgstr "" -#: ../../library/multiprocessing.rst:1843 +#: ../../library/multiprocessing.rst:1853 msgid "c_double(2.4)" msgstr "" -#: ../../library/multiprocessing.rst:1843 +#: ../../library/multiprocessing.rst:1853 msgid "RawValue(c_double, 2.4)" msgstr "" -#: ../../library/multiprocessing.rst:1843 +#: ../../library/multiprocessing.rst:1853 msgid "RawValue('d', 2.4)" msgstr "" -#: ../../library/multiprocessing.rst:1844 +#: ../../library/multiprocessing.rst:1854 msgid "MyStruct(4, 6)" msgstr "" -#: ../../library/multiprocessing.rst:1844 +#: ../../library/multiprocessing.rst:1854 msgid "RawValue(MyStruct, 4, 6)" msgstr "" -#: ../../library/multiprocessing.rst:1845 +#: ../../library/multiprocessing.rst:1855 msgid "(c_short * 7)()" msgstr "" -#: ../../library/multiprocessing.rst:1845 +#: ../../library/multiprocessing.rst:1855 msgid "RawArray(c_short, 7)" msgstr "" -#: ../../library/multiprocessing.rst:1845 +#: ../../library/multiprocessing.rst:1855 msgid "RawArray('h', 7)" msgstr "" -#: ../../library/multiprocessing.rst:1846 +#: ../../library/multiprocessing.rst:1856 msgid "(c_int * 3)(9, 2, 8)" msgstr "" -#: ../../library/multiprocessing.rst:1846 +#: ../../library/multiprocessing.rst:1856 msgid "RawArray(c_int, (9, 2, 8))" msgstr "" -#: ../../library/multiprocessing.rst:1846 +#: ../../library/multiprocessing.rst:1856 msgid "RawArray('i', (9, 2, 8))" msgstr "" -#: ../../library/multiprocessing.rst:1850 +#: ../../library/multiprocessing.rst:1860 msgid "" "Below is an example where a number of ctypes objects are modified by a child " "process::" msgstr "" -#: ../../library/multiprocessing.rst:1853 +#: ../../library/multiprocessing.rst:1863 msgid "" "from multiprocessing import Process, Lock\n" "from multiprocessing.sharedctypes import Value, Array\n" @@ -2483,11 +2494,11 @@ msgid "" " print([(a.x, a.y) for a in A])" msgstr "" -#: ../../library/multiprocessing.rst:1888 +#: ../../library/multiprocessing.rst:1898 msgid "The results printed are ::" msgstr "" -#: ../../library/multiprocessing.rst:1890 +#: ../../library/multiprocessing.rst:1900 msgid "" "49\n" "0.1111111111111111\n" @@ -2495,11 +2506,11 @@ msgid "" "[(3.515625, 39.0625), (33.0625, 4.0), (5.640625, 90.25)]" msgstr "" -#: ../../library/multiprocessing.rst:1901 +#: ../../library/multiprocessing.rst:1911 msgid "Managers" msgstr "" -#: ../../library/multiprocessing.rst:1903 +#: ../../library/multiprocessing.rst:1913 msgid "" "Managers provide a way to create data which can be shared between different " "processes, including sharing over a network between processes running on " @@ -2508,7 +2519,7 @@ msgid "" "proxies." msgstr "" -#: ../../library/multiprocessing.rst:1912 +#: ../../library/multiprocessing.rst:1922 msgid "" "Returns a started :class:`~multiprocessing.managers.SyncManager` object " "which can be used for sharing objects between processes. The returned " @@ -2516,31 +2527,31 @@ msgid "" "will create shared objects and return corresponding proxies." msgstr "" -#: ../../library/multiprocessing.rst:1920 +#: ../../library/multiprocessing.rst:1930 msgid "" "Manager processes will be shutdown as soon as they are garbage collected or " "their parent process exits. The manager classes are defined in the :mod:" "`multiprocessing.managers` module:" msgstr "" -#: ../../library/multiprocessing.rst:1926 +#: ../../library/multiprocessing.rst:1936 msgid "Create a BaseManager object." msgstr "" -#: ../../library/multiprocessing.rst:1928 +#: ../../library/multiprocessing.rst:1938 msgid "" "Once created one should call :meth:`start` or ``get_server()." "serve_forever()`` to ensure that the manager object refers to a started " "manager process." msgstr "" -#: ../../library/multiprocessing.rst:1931 +#: ../../library/multiprocessing.rst:1941 msgid "" "*address* is the address on which the manager process listens for new " "connections. If *address* is ``None`` then an arbitrary one is chosen." msgstr "" -#: ../../library/multiprocessing.rst:1934 +#: ../../library/multiprocessing.rst:1944 msgid "" "*authkey* is the authentication key which will be used to check the validity " "of incoming connections to the server process. If *authkey* is ``None`` " @@ -2548,13 +2559,13 @@ msgid "" "it must be a byte string." msgstr "" -#: ../../library/multiprocessing.rst:1939 +#: ../../library/multiprocessing.rst:1949 msgid "" "*serializer* must be ``'pickle'`` (use :mod:`pickle` serialization) or " "``'xmlrpclib'`` (use :mod:`xmlrpc.client` serialization)." msgstr "" -#: ../../library/multiprocessing.rst:1946 +#: ../../library/multiprocessing.rst:1956 msgid "" "*shutdown_timeout* is a timeout in seconds used to wait until the process " "used by the manager completes in the :meth:`shutdown` method. If the " @@ -2562,24 +2573,24 @@ msgid "" "also times out, the process is killed." msgstr "" -#: ../../library/multiprocessing.rst:1951 +#: ../../library/multiprocessing.rst:1961 msgid "Added the *shutdown_timeout* parameter." msgstr "" -#: ../../library/multiprocessing.rst:1956 +#: ../../library/multiprocessing.rst:1966 msgid "" "Start a subprocess to start the manager. If *initializer* is not ``None`` " "then the subprocess will call ``initializer(*initargs)`` when it starts." msgstr "" -#: ../../library/multiprocessing.rst:1961 +#: ../../library/multiprocessing.rst:1971 msgid "" "Returns a :class:`Server` object which represents the actual server under " "the control of the Manager. The :class:`Server` object supports the :meth:" "`serve_forever` method::" msgstr "" -#: ../../library/multiprocessing.rst:1965 +#: ../../library/multiprocessing.rst:1975 msgid "" ">>> from multiprocessing.managers import BaseManager\n" ">>> manager = BaseManager(address=('', 50000), authkey=b'abc')\n" @@ -2587,44 +2598,44 @@ msgid "" ">>> server.serve_forever()" msgstr "" -#: ../../library/multiprocessing.rst:1970 +#: ../../library/multiprocessing.rst:1980 msgid ":class:`Server` additionally has an :attr:`address` attribute." msgstr "" -#: ../../library/multiprocessing.rst:1974 +#: ../../library/multiprocessing.rst:1984 msgid "Connect a local manager object to a remote manager process::" msgstr "" -#: ../../library/multiprocessing.rst:1976 +#: ../../library/multiprocessing.rst:1986 msgid "" ">>> from multiprocessing.managers import BaseManager\n" ">>> m = BaseManager(address=('127.0.0.1', 50000), authkey=b'abc')\n" ">>> m.connect()" msgstr "" -#: ../../library/multiprocessing.rst:1982 +#: ../../library/multiprocessing.rst:1992 msgid "" "Stop the process used by the manager. This is only available if :meth:" "`start` has been used to start the server process." msgstr "" -#: ../../library/multiprocessing.rst:1985 +#: ../../library/multiprocessing.rst:1995 msgid "This can be called multiple times." msgstr "" -#: ../../library/multiprocessing.rst:1989 +#: ../../library/multiprocessing.rst:1999 msgid "" "A classmethod which can be used for registering a type or callable with the " "manager class." msgstr "" -#: ../../library/multiprocessing.rst:1992 +#: ../../library/multiprocessing.rst:2002 msgid "" "*typeid* is a \"type identifier\" which is used to identify a particular " "type of shared object. This must be a string." msgstr "" -#: ../../library/multiprocessing.rst:1995 +#: ../../library/multiprocessing.rst:2005 msgid "" "*callable* is a callable used for creating objects for this type " "identifier. If a manager instance will be connected to the server using " @@ -2632,14 +2643,14 @@ msgid "" "then this can be left as ``None``." msgstr "" -#: ../../library/multiprocessing.rst:2001 +#: ../../library/multiprocessing.rst:2011 msgid "" "*proxytype* is a subclass of :class:`BaseProxy` which is used to create " "proxies for shared objects with this *typeid*. If ``None`` then a proxy " "class is created automatically." msgstr "" -#: ../../library/multiprocessing.rst:2005 +#: ../../library/multiprocessing.rst:2015 msgid "" "*exposed* is used to specify a sequence of method names which proxies for " "this typeid should be allowed to access using :meth:`BaseProxy." @@ -2650,7 +2661,7 @@ msgid "" "method and whose name does not begin with ``'_'``.)" msgstr "" -#: ../../library/multiprocessing.rst:2014 +#: ../../library/multiprocessing.rst:2024 msgid "" "*method_to_typeid* is a mapping used to specify the return type of those " "exposed methods which should return a proxy. It maps method names to typeid " @@ -2660,22 +2671,22 @@ msgid "" "returned by the method will be copied by value." msgstr "" -#: ../../library/multiprocessing.rst:2021 +#: ../../library/multiprocessing.rst:2031 msgid "" "*create_method* determines whether a method should be created with name " "*typeid* which can be used to tell the server process to create a new shared " "object and return a proxy for it. By default it is ``True``." msgstr "" -#: ../../library/multiprocessing.rst:2025 +#: ../../library/multiprocessing.rst:2035 msgid ":class:`BaseManager` instances also have one read-only property:" msgstr "" -#: ../../library/multiprocessing.rst:2029 +#: ../../library/multiprocessing.rst:2039 msgid "The address used by the manager." msgstr "" -#: ../../library/multiprocessing.rst:2031 +#: ../../library/multiprocessing.rst:2041 msgid "" "Manager objects support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` starts the server " @@ -2683,129 +2694,129 @@ msgid "" "object. :meth:`~contextmanager.__exit__` calls :meth:`shutdown`." msgstr "" -#: ../../library/multiprocessing.rst:2037 +#: ../../library/multiprocessing.rst:2047 msgid "" "In previous versions :meth:`~contextmanager.__enter__` did not start the " "manager's server process if it was not already started." msgstr "" -#: ../../library/multiprocessing.rst:2042 +#: ../../library/multiprocessing.rst:2052 msgid "" "A subclass of :class:`BaseManager` which can be used for the synchronization " "of processes. Objects of this type are returned by :func:`multiprocessing." "Manager`." msgstr "" -#: ../../library/multiprocessing.rst:2046 +#: ../../library/multiprocessing.rst:2056 msgid "" "Its methods create and return :ref:`multiprocessing-proxy_objects` for a " "number of commonly used data types to be synchronized across processes. This " "notably includes shared lists and dictionaries." msgstr "" -#: ../../library/multiprocessing.rst:2052 +#: ../../library/multiprocessing.rst:2062 msgid "" "Create a shared :class:`threading.Barrier` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:2059 +#: ../../library/multiprocessing.rst:2069 msgid "" "Create a shared :class:`threading.BoundedSemaphore` object and return a " "proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:2064 +#: ../../library/multiprocessing.rst:2074 msgid "" "Create a shared :class:`threading.Condition` object and return a proxy for " "it." msgstr "" -#: ../../library/multiprocessing.rst:2067 +#: ../../library/multiprocessing.rst:2077 msgid "" "If *lock* is supplied then it should be a proxy for a :class:`threading." "Lock` or :class:`threading.RLock` object." msgstr "" -#: ../../library/multiprocessing.rst:2075 +#: ../../library/multiprocessing.rst:2085 msgid "" "Create a shared :class:`threading.Event` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:2079 +#: ../../library/multiprocessing.rst:2089 msgid "" "Create a shared :class:`threading.Lock` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:2083 +#: ../../library/multiprocessing.rst:2093 msgid "Create a shared :class:`Namespace` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:2087 +#: ../../library/multiprocessing.rst:2097 msgid "Create a shared :class:`queue.Queue` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:2091 +#: ../../library/multiprocessing.rst:2101 msgid "" "Create a shared :class:`threading.RLock` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:2095 +#: ../../library/multiprocessing.rst:2105 msgid "" "Create a shared :class:`threading.Semaphore` object and return a proxy for " "it." msgstr "" -#: ../../library/multiprocessing.rst:2100 +#: ../../library/multiprocessing.rst:2110 msgid "Create an array and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:2104 +#: ../../library/multiprocessing.rst:2114 msgid "" "Create an object with a writable ``value`` attribute and return a proxy for " "it." msgstr "" -#: ../../library/multiprocessing.rst:2111 +#: ../../library/multiprocessing.rst:2121 msgid "Create a shared :class:`dict` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:2116 +#: ../../library/multiprocessing.rst:2126 msgid "Create a shared :class:`list` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:2122 +#: ../../library/multiprocessing.rst:2132 msgid "Create a shared :class:`set` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:2124 +#: ../../library/multiprocessing.rst:2134 msgid ":class:`set` support was added." msgstr "" -#: ../../library/multiprocessing.rst:2127 +#: ../../library/multiprocessing.rst:2137 msgid "" "Shared objects are capable of being nested. For example, a shared container " "object such as a shared list can contain other shared objects which will all " "be managed and synchronized by the :class:`SyncManager`." msgstr "" -#: ../../library/multiprocessing.rst:2134 +#: ../../library/multiprocessing.rst:2144 msgid "A type that can register with :class:`SyncManager`." msgstr "" -#: ../../library/multiprocessing.rst:2136 +#: ../../library/multiprocessing.rst:2146 msgid "" "A namespace object has no public methods, but does have writable attributes. " "Its representation shows the values of its attributes." msgstr "" -#: ../../library/multiprocessing.rst:2139 +#: ../../library/multiprocessing.rst:2149 msgid "" "However, when using a proxy for a namespace object, an attribute beginning " "with ``'_'`` will be an attribute of the proxy and not an attribute of the " "referent:" msgstr "" -#: ../../library/multiprocessing.rst:2143 +#: ../../library/multiprocessing.rst:2153 msgid "" ">>> mp_context = multiprocessing.get_context('spawn')\n" ">>> manager = mp_context.Manager()\n" @@ -2817,18 +2828,18 @@ msgid "" "Namespace(x=10, y='hello')" msgstr "" -#: ../../library/multiprocessing.rst:2156 +#: ../../library/multiprocessing.rst:2166 msgid "Customized managers" msgstr "" -#: ../../library/multiprocessing.rst:2158 +#: ../../library/multiprocessing.rst:2168 msgid "" "To create one's own manager, one creates a subclass of :class:`BaseManager` " "and uses the :meth:`~BaseManager.register` classmethod to register new types " "or callables with the manager class. For example::" msgstr "" -#: ../../library/multiprocessing.rst:2162 +#: ../../library/multiprocessing.rst:2172 msgid "" "from multiprocessing.managers import BaseManager\n" "\n" @@ -2850,23 +2861,23 @@ msgid "" " print(maths.mul(7, 8)) # prints 56" msgstr "" -#: ../../library/multiprocessing.rst:2183 +#: ../../library/multiprocessing.rst:2193 msgid "Using a remote manager" msgstr "" -#: ../../library/multiprocessing.rst:2185 +#: ../../library/multiprocessing.rst:2195 msgid "" "It is possible to run a manager server on one machine and have clients use " "it from other machines (assuming that the firewalls involved allow it)." msgstr "" -#: ../../library/multiprocessing.rst:2188 +#: ../../library/multiprocessing.rst:2198 msgid "" "Running the following commands creates a server for a single shared queue " "which remote clients can access::" msgstr "" -#: ../../library/multiprocessing.rst:2191 +#: ../../library/multiprocessing.rst:2201 msgid "" ">>> from multiprocessing.managers import BaseManager\n" ">>> from queue import Queue\n" @@ -2878,11 +2889,11 @@ msgid "" ">>> s.serve_forever()" msgstr "" -#: ../../library/multiprocessing.rst:2200 +#: ../../library/multiprocessing.rst:2210 msgid "One client can access the server as follows::" msgstr "" -#: ../../library/multiprocessing.rst:2202 +#: ../../library/multiprocessing.rst:2212 msgid "" ">>> from multiprocessing.managers import BaseManager\n" ">>> class QueueManager(BaseManager): pass\n" @@ -2894,11 +2905,11 @@ msgid "" ">>> queue.put('hello')" msgstr "" -#: ../../library/multiprocessing.rst:2210 +#: ../../library/multiprocessing.rst:2220 msgid "Another client can also use it::" msgstr "" -#: ../../library/multiprocessing.rst:2212 +#: ../../library/multiprocessing.rst:2222 msgid "" ">>> from multiprocessing.managers import BaseManager\n" ">>> class QueueManager(BaseManager): pass\n" @@ -2911,13 +2922,13 @@ msgid "" "'hello'" msgstr "" -#: ../../library/multiprocessing.rst:2221 +#: ../../library/multiprocessing.rst:2231 msgid "" "Local processes can also access that queue, using the code from above on the " "client to access it remotely::" msgstr "" -#: ../../library/multiprocessing.rst:2224 +#: ../../library/multiprocessing.rst:2234 msgid "" ">>> from multiprocessing import Process, Queue\n" ">>> from multiprocessing.managers import BaseManager\n" @@ -2939,18 +2950,18 @@ msgid "" ">>> s.serve_forever()" msgstr "" -#: ../../library/multiprocessing.rst:2246 +#: ../../library/multiprocessing.rst:2256 msgid "Proxy Objects" msgstr "" -#: ../../library/multiprocessing.rst:2248 +#: ../../library/multiprocessing.rst:2258 msgid "" "A proxy is an object which *refers* to a shared object which lives " "(presumably) in a different process. The shared object is said to be the " "*referent* of the proxy. Multiple proxy objects may have the same referent." msgstr "" -#: ../../library/multiprocessing.rst:2252 +#: ../../library/multiprocessing.rst:2262 msgid "" "A proxy object has methods which invoke corresponding methods of its " "referent (although not every method of the referent will necessarily be " @@ -2958,7 +2969,7 @@ msgid "" "its referent can:" msgstr "" -#: ../../library/multiprocessing.rst:2256 +#: ../../library/multiprocessing.rst:2266 msgid "" ">>> mp_context = multiprocessing.get_context('spawn')\n" ">>> manager = mp_context.Manager()\n" @@ -2973,14 +2984,14 @@ msgid "" "[4, 9, 16]" msgstr "" -#: ../../library/multiprocessing.rst:2270 +#: ../../library/multiprocessing.rst:2280 msgid "" "Notice that applying :func:`str` to a proxy will return the representation " "of the referent, whereas applying :func:`repr` will return the " "representation of the proxy." msgstr "" -#: ../../library/multiprocessing.rst:2274 +#: ../../library/multiprocessing.rst:2284 msgid "" "An important feature of proxy objects is that they are picklable so they can " "be passed between processes. As such, a referent can contain :ref:" @@ -2988,7 +2999,7 @@ msgid "" "lists, dicts, and other :ref:`multiprocessing-proxy_objects`:" msgstr "" -#: ../../library/multiprocessing.rst:2279 +#: ../../library/multiprocessing.rst:2289 msgid "" ">>> a = manager.list()\n" ">>> b = manager.list()\n" @@ -3000,11 +3011,11 @@ msgid "" "['hello'] ['hello']" msgstr "" -#: ../../library/multiprocessing.rst:2290 +#: ../../library/multiprocessing.rst:2300 msgid "Similarly, dict and list proxies may be nested inside one another::" msgstr "" -#: ../../library/multiprocessing.rst:2292 +#: ../../library/multiprocessing.rst:2302 msgid "" ">>> l_outer = manager.list([ manager.dict() for i in range(2) ])\n" ">>> d_first_inner = l_outer[0]\n" @@ -3018,7 +3029,7 @@ msgid "" "{'c': 3, 'z': 26}" msgstr "" -#: ../../library/multiprocessing.rst:2303 +#: ../../library/multiprocessing.rst:2313 msgid "" "If standard (non-proxy) :class:`list` or :class:`dict` objects are contained " "in a referent, modifications to those mutable values will not be propagated " @@ -3029,7 +3040,7 @@ msgid "" "assign the modified value to the container proxy::" msgstr "" -#: ../../library/multiprocessing.rst:2311 +#: ../../library/multiprocessing.rst:2321 msgid "" "# create a list proxy and append a mutable object (a dictionary)\n" "lproxy = manager.list()\n" @@ -3043,67 +3054,67 @@ msgid "" "lproxy[0] = d" msgstr "" -#: ../../library/multiprocessing.rst:2322 +#: ../../library/multiprocessing.rst:2332 msgid "" "This approach is perhaps less convenient than employing nested :ref:" "`multiprocessing-proxy_objects` for most use cases but also demonstrates a " "level of control over the synchronization." msgstr "" -#: ../../library/multiprocessing.rst:2328 +#: ../../library/multiprocessing.rst:2338 msgid "" "The proxy types in :mod:`!multiprocessing` do nothing to support comparisons " "by value. So, for instance, we have:" msgstr "" -#: ../../library/multiprocessing.rst:2331 +#: ../../library/multiprocessing.rst:2341 msgid "" ">>> manager.list([1,2,3]) == [1,2,3]\n" "False" msgstr "" -#: ../../library/multiprocessing.rst:2336 +#: ../../library/multiprocessing.rst:2346 msgid "" "One should just use a copy of the referent instead when making comparisons." msgstr "" -#: ../../library/multiprocessing.rst:2340 +#: ../../library/multiprocessing.rst:2350 msgid "Proxy objects are instances of subclasses of :class:`BaseProxy`." msgstr "" -#: ../../library/multiprocessing.rst:2344 +#: ../../library/multiprocessing.rst:2354 msgid "Call and return the result of a method of the proxy's referent." msgstr "" -#: ../../library/multiprocessing.rst:2346 +#: ../../library/multiprocessing.rst:2356 msgid "" "If ``proxy`` is a proxy whose referent is ``obj`` then the expression ::" msgstr "" -#: ../../library/multiprocessing.rst:2348 +#: ../../library/multiprocessing.rst:2358 msgid "proxy._callmethod(methodname, args, kwds)" msgstr "" -#: ../../library/multiprocessing.rst:2350 +#: ../../library/multiprocessing.rst:2360 msgid "will evaluate the expression ::" msgstr "" -#: ../../library/multiprocessing.rst:2352 +#: ../../library/multiprocessing.rst:2362 msgid "getattr(obj, methodname)(*args, **kwds)" msgstr "" -#: ../../library/multiprocessing.rst:2354 +#: ../../library/multiprocessing.rst:2364 msgid "in the manager's process." msgstr "" -#: ../../library/multiprocessing.rst:2356 +#: ../../library/multiprocessing.rst:2366 msgid "" "The returned value will be a copy of the result of the call or a proxy to a " "new shared object -- see documentation for the *method_to_typeid* argument " "of :meth:`BaseManager.register`." msgstr "" -#: ../../library/multiprocessing.rst:2360 +#: ../../library/multiprocessing.rst:2370 msgid "" "If an exception is raised by the call, then is re-raised by :meth:" "`_callmethod`. If some other exception is raised in the manager's process " @@ -3111,17 +3122,17 @@ msgid "" "meth:`_callmethod`." msgstr "" -#: ../../library/multiprocessing.rst:2365 +#: ../../library/multiprocessing.rst:2375 msgid "" "Note in particular that an exception will be raised if *methodname* has not " "been *exposed*." msgstr "" -#: ../../library/multiprocessing.rst:2368 +#: ../../library/multiprocessing.rst:2378 msgid "An example of the usage of :meth:`_callmethod`:" msgstr "" -#: ../../library/multiprocessing.rst:2370 +#: ../../library/multiprocessing.rst:2380 msgid "" ">>> l = manager.list(range(10))\n" ">>> l._callmethod('__len__')\n" @@ -3134,69 +3145,69 @@ msgid "" "IndexError: list index out of range" msgstr "" -#: ../../library/multiprocessing.rst:2384 +#: ../../library/multiprocessing.rst:2394 msgid "Return a copy of the referent." msgstr "" -#: ../../library/multiprocessing.rst:2386 +#: ../../library/multiprocessing.rst:2396 msgid "If the referent is unpicklable then this will raise an exception." msgstr "" -#: ../../library/multiprocessing.rst:2390 +#: ../../library/multiprocessing.rst:2400 msgid "Return a representation of the proxy object." msgstr "" -#: ../../library/multiprocessing.rst:2394 +#: ../../library/multiprocessing.rst:2404 msgid "Return the representation of the referent." msgstr "" -#: ../../library/multiprocessing.rst:2398 +#: ../../library/multiprocessing.rst:2408 msgid "Cleanup" msgstr "" -#: ../../library/multiprocessing.rst:2400 +#: ../../library/multiprocessing.rst:2410 msgid "" "A proxy object uses a weakref callback so that when it gets garbage " "collected it deregisters itself from the manager which owns its referent." msgstr "" -#: ../../library/multiprocessing.rst:2403 +#: ../../library/multiprocessing.rst:2413 msgid "" "A shared object gets deleted from the manager process when there are no " "longer any proxies referring to it." msgstr "" -#: ../../library/multiprocessing.rst:2408 +#: ../../library/multiprocessing.rst:2418 msgid "Process Pools" msgstr "" -#: ../../library/multiprocessing.rst:2413 +#: ../../library/multiprocessing.rst:2423 msgid "" "One can create a pool of processes which will carry out tasks submitted to " "it with the :class:`Pool` class." msgstr "" -#: ../../library/multiprocessing.rst:2418 +#: ../../library/multiprocessing.rst:2428 msgid "" "A process pool object which controls a pool of worker processes to which " "jobs can be submitted. It supports asynchronous results with timeouts and " "callbacks and has a parallel map implementation." msgstr "" -#: ../../library/multiprocessing.rst:2422 +#: ../../library/multiprocessing.rst:2432 msgid "" "*processes* is the number of worker processes to use. If *processes* is " "``None`` then the number returned by :func:`os.process_cpu_count` is used." msgstr "" -#: ../../library/multiprocessing.rst:2425 -#: ../../library/multiprocessing.rst:3001 +#: ../../library/multiprocessing.rst:2435 +#: ../../library/multiprocessing.rst:3011 msgid "" "If *initializer* is not ``None`` then each worker process will call " "``initializer(*initargs)`` when it starts." msgstr "" -#: ../../library/multiprocessing.rst:2428 +#: ../../library/multiprocessing.rst:2438 msgid "" "*maxtasksperchild* is the number of tasks a worker process can complete " "before it will exit and be replaced with a fresh worker process, to enable " @@ -3204,7 +3215,7 @@ msgid "" "which means worker processes will live as long as the pool." msgstr "" -#: ../../library/multiprocessing.rst:2433 +#: ../../library/multiprocessing.rst:2443 msgid "" "*context* can be used to specify the context used for starting the worker " "processes. Usually a pool is created using the function :func:" @@ -3214,13 +3225,13 @@ msgid "" "method if it has not been set already. See the :func:`get_context` function." msgstr "" -#: ../../library/multiprocessing.rst:2441 +#: ../../library/multiprocessing.rst:2451 msgid "" "Note that the methods of the pool object should only be called by the " "process which created the pool." msgstr "" -#: ../../library/multiprocessing.rst:2445 +#: ../../library/multiprocessing.rst:2455 msgid "" ":class:`multiprocessing.pool` objects have internal resources that need to " "be properly managed (like any other resource) by using the pool as a context " @@ -3228,28 +3239,28 @@ msgid "" "to do this can lead to the process hanging on finalization." msgstr "" -#: ../../library/multiprocessing.rst:2450 +#: ../../library/multiprocessing.rst:2460 msgid "" "Note that it is **not correct** to rely on the garbage collector to destroy " "the pool as CPython does not assure that the finalizer of the pool will be " "called (see :meth:`object.__del__` for more information)." msgstr "" -#: ../../library/multiprocessing.rst:2454 +#: ../../library/multiprocessing.rst:2464 msgid "Added the *maxtasksperchild* parameter." msgstr "" -#: ../../library/multiprocessing.rst:2457 +#: ../../library/multiprocessing.rst:2467 msgid "Added the *context* parameter." msgstr "" -#: ../../library/multiprocessing.rst:2460 +#: ../../library/multiprocessing.rst:2470 msgid "" "*processes* uses :func:`os.process_cpu_count` by default, instead of :func:" "`os.cpu_count`." msgstr "" -#: ../../library/multiprocessing.rst:2466 +#: ../../library/multiprocessing.rst:2476 msgid "" "Worker processes within a :class:`Pool` typically live for the complete " "duration of the Pool's work queue. A frequent pattern found in other systems " @@ -3260,7 +3271,7 @@ msgid "" "the end user." msgstr "" -#: ../../library/multiprocessing.rst:2476 +#: ../../library/multiprocessing.rst:2486 msgid "" "Call *func* with arguments *args* and keyword arguments *kwds*. It blocks " "until the result is ready. Given this blocks, :meth:`apply_async` is better " @@ -3268,14 +3279,14 @@ msgid "" "executed in one of the workers of the pool." msgstr "" -#: ../../library/multiprocessing.rst:2483 +#: ../../library/multiprocessing.rst:2493 msgid "" "A variant of the :meth:`apply` method which returns a :class:" "`~multiprocessing.pool.AsyncResult` object." msgstr "" -#: ../../library/multiprocessing.rst:2486 -#: ../../library/multiprocessing.rst:2517 +#: ../../library/multiprocessing.rst:2496 +#: ../../library/multiprocessing.rst:2527 msgid "" "If *callback* is specified then it should be a callable which accepts a " "single argument. When the result becomes ready *callback* is applied to it, " @@ -3283,60 +3294,60 @@ msgid "" "applied instead." msgstr "" -#: ../../library/multiprocessing.rst:2491 -#: ../../library/multiprocessing.rst:2522 +#: ../../library/multiprocessing.rst:2501 +#: ../../library/multiprocessing.rst:2532 msgid "" "If *error_callback* is specified then it should be a callable which accepts " "a single argument. If the target function fails, then the *error_callback* " "is called with the exception instance." msgstr "" -#: ../../library/multiprocessing.rst:2495 -#: ../../library/multiprocessing.rst:2526 +#: ../../library/multiprocessing.rst:2505 +#: ../../library/multiprocessing.rst:2536 msgid "" "Callbacks should complete immediately since otherwise the thread which " "handles the results will get blocked." msgstr "" -#: ../../library/multiprocessing.rst:2500 +#: ../../library/multiprocessing.rst:2510 msgid "" "A parallel equivalent of the :func:`map` built-in function (it supports only " "one *iterable* argument though, for multiple iterables see :meth:`starmap`). " "It blocks until the result is ready." msgstr "" -#: ../../library/multiprocessing.rst:2504 +#: ../../library/multiprocessing.rst:2514 msgid "" "This method chops the iterable into a number of chunks which it submits to " "the process pool as separate tasks. The (approximate) size of these chunks " "can be specified by setting *chunksize* to a positive integer." msgstr "" -#: ../../library/multiprocessing.rst:2508 +#: ../../library/multiprocessing.rst:2518 msgid "" "Note that it may cause high memory usage for very long iterables. Consider " "using :meth:`imap` or :meth:`imap_unordered` with explicit *chunksize* " "option for better efficiency." msgstr "" -#: ../../library/multiprocessing.rst:2514 +#: ../../library/multiprocessing.rst:2524 msgid "" "A variant of the :meth:`.map` method which returns a :class:" "`~multiprocessing.pool.AsyncResult` object." msgstr "" -#: ../../library/multiprocessing.rst:2531 +#: ../../library/multiprocessing.rst:2541 msgid "An iterator-based version of :meth:`.map`." msgstr "" -#: ../../library/multiprocessing.rst:2533 +#: ../../library/multiprocessing.rst:2543 msgid "" "The *chunksize* argument is the same as the one used by the :meth:`.map` " "method. For very long iterables using a large value for *chunksize* can " "make the job complete **much** faster than using the default value of ``1``." msgstr "" -#: ../../library/multiprocessing.rst:2538 +#: ../../library/multiprocessing.rst:2548 msgid "" "Also if *chunksize* is ``1`` then the :meth:`!next` method of the iterator " "returned by the :meth:`imap` method has an optional *timeout* parameter: " @@ -3344,65 +3355,65 @@ msgid "" "result cannot be returned within *timeout* seconds." msgstr "" -#: ../../library/multiprocessing.rst:2545 +#: ../../library/multiprocessing.rst:2555 msgid "" "The same as :meth:`imap` except that the ordering of the results from the " "returned iterator should be considered arbitrary. (Only when there is only " "one worker process is the order guaranteed to be \"correct\".)" msgstr "" -#: ../../library/multiprocessing.rst:2551 +#: ../../library/multiprocessing.rst:2561 msgid "" "Like :meth:`~multiprocessing.pool.Pool.map` except that the elements of the " "*iterable* are expected to be iterables that are unpacked as arguments." msgstr "" -#: ../../library/multiprocessing.rst:2555 +#: ../../library/multiprocessing.rst:2565 msgid "" "Hence an *iterable* of ``[(1,2), (3, 4)]`` results in ``[func(1,2), " "func(3,4)]``." msgstr "" -#: ../../library/multiprocessing.rst:2562 +#: ../../library/multiprocessing.rst:2572 msgid "" "A combination of :meth:`starmap` and :meth:`map_async` that iterates over " "*iterable* of iterables and calls *func* with the iterables unpacked. " "Returns a result object." msgstr "" -#: ../../library/multiprocessing.rst:2570 +#: ../../library/multiprocessing.rst:2580 msgid "" "Prevents any more tasks from being submitted to the pool. Once all the " "tasks have been completed the worker processes will exit." msgstr "" -#: ../../library/multiprocessing.rst:2575 +#: ../../library/multiprocessing.rst:2585 msgid "" "Stops the worker processes immediately without completing outstanding work. " "When the pool object is garbage collected :meth:`terminate` will be called " "immediately." msgstr "" -#: ../../library/multiprocessing.rst:2581 +#: ../../library/multiprocessing.rst:2591 msgid "" "Wait for the worker processes to exit. One must call :meth:`close` or :meth:" "`terminate` before using :meth:`join`." msgstr "" -#: ../../library/multiprocessing.rst:2584 +#: ../../library/multiprocessing.rst:2594 msgid "" "Pool objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the pool " "object, and :meth:`~contextmanager.__exit__` calls :meth:`terminate`." msgstr "" -#: ../../library/multiprocessing.rst:2592 +#: ../../library/multiprocessing.rst:2602 msgid "" "The class of the result returned by :meth:`Pool.apply_async` and :meth:`Pool." "map_async`." msgstr "" -#: ../../library/multiprocessing.rst:2597 +#: ../../library/multiprocessing.rst:2607 msgid "" "Return the result when it arrives. If *timeout* is not ``None`` and the " "result does not arrive within *timeout* seconds then :exc:`multiprocessing." @@ -3410,31 +3421,31 @@ msgid "" "exception will be reraised by :meth:`get`." msgstr "" -#: ../../library/multiprocessing.rst:2604 +#: ../../library/multiprocessing.rst:2614 msgid "Wait until the result is available or until *timeout* seconds pass." msgstr "" -#: ../../library/multiprocessing.rst:2608 +#: ../../library/multiprocessing.rst:2618 msgid "Return whether the call has completed." msgstr "" -#: ../../library/multiprocessing.rst:2612 +#: ../../library/multiprocessing.rst:2622 msgid "" "Return whether the call completed without raising an exception. Will raise :" "exc:`ValueError` if the result is not ready." msgstr "" -#: ../../library/multiprocessing.rst:2615 +#: ../../library/multiprocessing.rst:2625 msgid "" "If the result is not ready, :exc:`ValueError` is raised instead of :exc:" "`AssertionError`." msgstr "" -#: ../../library/multiprocessing.rst:2619 +#: ../../library/multiprocessing.rst:2629 msgid "The following example demonstrates the use of a pool::" msgstr "" -#: ../../library/multiprocessing.rst:2621 +#: ../../library/multiprocessing.rst:2631 msgid "" "from multiprocessing import Pool\n" "import time\n" @@ -3462,17 +3473,17 @@ msgid "" "TimeoutError" msgstr "" -#: ../../library/multiprocessing.rst:2646 +#: ../../library/multiprocessing.rst:2656 msgid "Listeners and Clients" msgstr "" -#: ../../library/multiprocessing.rst:2651 +#: ../../library/multiprocessing.rst:2661 msgid "" "Usually message passing between processes is done using queues or by using :" "class:`~Connection` objects returned by :func:`~multiprocessing.Pipe`." msgstr "" -#: ../../library/multiprocessing.rst:2655 +#: ../../library/multiprocessing.rst:2665 msgid "" "However, the :mod:`!multiprocessing.connection` module allows some extra " "flexibility. It basically gives a high level message oriented API for " @@ -3481,46 +3492,46 @@ msgid "" "multiple connections at the same time." msgstr "" -#: ../../library/multiprocessing.rst:2664 +#: ../../library/multiprocessing.rst:2674 msgid "" "Send a randomly generated message to the other end of the connection and " "wait for a reply." msgstr "" -#: ../../library/multiprocessing.rst:2667 +#: ../../library/multiprocessing.rst:2677 msgid "" "If the reply matches the digest of the message using *authkey* as the key " "then a welcome message is sent to the other end of the connection. " "Otherwise :exc:`~multiprocessing.AuthenticationError` is raised." msgstr "" -#: ../../library/multiprocessing.rst:2673 +#: ../../library/multiprocessing.rst:2683 msgid "" "Receive a message, calculate the digest of the message using *authkey* as " "the key, and then send the digest back." msgstr "" -#: ../../library/multiprocessing.rst:2676 +#: ../../library/multiprocessing.rst:2686 msgid "" "If a welcome message is not received, then :exc:`~multiprocessing." "AuthenticationError` is raised." msgstr "" -#: ../../library/multiprocessing.rst:2681 +#: ../../library/multiprocessing.rst:2691 msgid "" "Attempt to set up a connection to the listener which is using address " "*address*, returning a :class:`~Connection`." msgstr "" -#: ../../library/multiprocessing.rst:2684 +#: ../../library/multiprocessing.rst:2694 msgid "" "The type of the connection is determined by *family* argument, but this can " "generally be omitted since it can usually be inferred from the format of " "*address*. (See :ref:`multiprocessing-address-formats`)" msgstr "" -#: ../../library/multiprocessing.rst:2688 -#: ../../library/multiprocessing.rst:2723 +#: ../../library/multiprocessing.rst:2698 +#: ../../library/multiprocessing.rst:2733 msgid "" "If *authkey* is given and not ``None``, it should be a byte string and will " "be used as the secret key for an HMAC-based authentication challenge. No " @@ -3529,26 +3540,26 @@ msgid "" "`multiprocessing-auth-keys`." msgstr "" -#: ../../library/multiprocessing.rst:2696 +#: ../../library/multiprocessing.rst:2706 msgid "" "A wrapper for a bound socket or Windows named pipe which is 'listening' for " "connections." msgstr "" -#: ../../library/multiprocessing.rst:2699 +#: ../../library/multiprocessing.rst:2709 msgid "" "*address* is the address to be used by the bound socket or named pipe of the " "listener object." msgstr "" -#: ../../library/multiprocessing.rst:2704 +#: ../../library/multiprocessing.rst:2714 msgid "" "If an address of '0.0.0.0' is used, the address will not be a connectable " "end point on Windows. If you require a connectable end-point, you should use " "'127.0.0.1'." msgstr "" -#: ../../library/multiprocessing.rst:2708 +#: ../../library/multiprocessing.rst:2718 msgid "" "*family* is the type of socket (or named pipe) to use. This can be one of " "the strings ``'AF_INET'`` (for a TCP socket), ``'AF_UNIX'`` (for a Unix " @@ -3562,49 +3573,49 @@ msgid "" "using :func:`tempfile.mkstemp`." msgstr "" -#: ../../library/multiprocessing.rst:2719 +#: ../../library/multiprocessing.rst:2729 msgid "" "If the listener object uses a socket then *backlog* (1 by default) is passed " "to the :meth:`~socket.socket.listen` method of the socket once it has been " "bound." msgstr "" -#: ../../library/multiprocessing.rst:2731 +#: ../../library/multiprocessing.rst:2741 msgid "" "Accept a connection on the bound socket or named pipe of the listener object " "and return a :class:`~Connection` object. If authentication is attempted and " "fails, then :exc:`~multiprocessing.AuthenticationError` is raised." msgstr "" -#: ../../library/multiprocessing.rst:2738 +#: ../../library/multiprocessing.rst:2748 msgid "" "Close the bound socket or named pipe of the listener object. This is called " "automatically when the listener is garbage collected. However it is " "advisable to call it explicitly." msgstr "" -#: ../../library/multiprocessing.rst:2742 +#: ../../library/multiprocessing.rst:2752 msgid "Listener objects have the following read-only properties:" msgstr "" -#: ../../library/multiprocessing.rst:2746 +#: ../../library/multiprocessing.rst:2756 msgid "The address which is being used by the Listener object." msgstr "" -#: ../../library/multiprocessing.rst:2750 +#: ../../library/multiprocessing.rst:2760 msgid "" "The address from which the last accepted connection came. If this is " "unavailable then it is ``None``." msgstr "" -#: ../../library/multiprocessing.rst:2753 +#: ../../library/multiprocessing.rst:2763 msgid "" "Listener objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " "listener object, and :meth:`~contextmanager.__exit__` calls :meth:`close`." msgstr "" -#: ../../library/multiprocessing.rst:2760 +#: ../../library/multiprocessing.rst:2770 msgid "" "Wait till an object in *object_list* is ready. Returns the list of those " "objects in *object_list* which are ready. If *timeout* is a float then the " @@ -3613,32 +3624,32 @@ msgid "" "zero timeout." msgstr "" -#: ../../library/multiprocessing.rst:2766 +#: ../../library/multiprocessing.rst:2776 msgid "" "For both POSIX and Windows, an object can appear in *object_list* if it is" msgstr "" -#: ../../library/multiprocessing.rst:2769 +#: ../../library/multiprocessing.rst:2779 msgid "a readable :class:`~multiprocessing.connection.Connection` object;" msgstr "" -#: ../../library/multiprocessing.rst:2770 +#: ../../library/multiprocessing.rst:2780 msgid "a connected and readable :class:`socket.socket` object; or" msgstr "" -#: ../../library/multiprocessing.rst:2771 +#: ../../library/multiprocessing.rst:2781 msgid "" "the :attr:`~multiprocessing.Process.sentinel` attribute of a :class:" "`~multiprocessing.Process` object." msgstr "" -#: ../../library/multiprocessing.rst:2774 +#: ../../library/multiprocessing.rst:2784 msgid "" "A connection or socket object is ready when there is data available to be " "read from it, or the other end has been closed." msgstr "" -#: ../../library/multiprocessing.rst:2777 +#: ../../library/multiprocessing.rst:2787 msgid "" "**POSIX**: ``wait(object_list, timeout)`` almost equivalent ``select." "select(object_list, [], [], timeout)``. The difference is that, if :func:" @@ -3646,7 +3657,7 @@ msgid "" "an error number of ``EINTR``, whereas :func:`wait` will not." msgstr "" -#: ../../library/multiprocessing.rst:2783 +#: ../../library/multiprocessing.rst:2793 msgid "" "**Windows**: An item in *object_list* must either be an integer handle which " "is waitable (according to the definition used by the documentation of the " @@ -3656,18 +3667,18 @@ msgid "" "handles.)" msgstr "" -#: ../../library/multiprocessing.rst:2793 +#: ../../library/multiprocessing.rst:2803 msgid "**Examples**" msgstr "" -#: ../../library/multiprocessing.rst:2795 +#: ../../library/multiprocessing.rst:2805 msgid "" "The following server code creates a listener which uses ``'secret " "password'`` as an authentication key. It then waits for a connection and " "sends some data to the client::" msgstr "" -#: ../../library/multiprocessing.rst:2799 +#: ../../library/multiprocessing.rst:2809 msgid "" "from multiprocessing.connection import Listener\n" "from array import array\n" @@ -3685,13 +3696,13 @@ msgid "" " conn.send_bytes(array('i', [42, 1729]))" msgstr "" -#: ../../library/multiprocessing.rst:2814 +#: ../../library/multiprocessing.rst:2824 msgid "" "The following code connects to the server and receives some data from the " "server::" msgstr "" -#: ../../library/multiprocessing.rst:2817 +#: ../../library/multiprocessing.rst:2827 msgid "" "from multiprocessing.connection import Client\n" "from array import array\n" @@ -3708,13 +3719,13 @@ msgid "" " print(arr) # => array('i', [42, 1729, 0, 0, 0])" msgstr "" -#: ../../library/multiprocessing.rst:2831 +#: ../../library/multiprocessing.rst:2841 msgid "" "The following code uses :func:`~multiprocessing.connection.wait` to wait for " "messages from multiple processes at once::" msgstr "" -#: ../../library/multiprocessing.rst:2834 +#: ../../library/multiprocessing.rst:2844 msgid "" "from multiprocessing import Process, Pipe, current_process\n" "from multiprocessing.connection import wait\n" @@ -3748,23 +3759,23 @@ msgid "" " print(msg)" msgstr "" -#: ../../library/multiprocessing.rst:2869 +#: ../../library/multiprocessing.rst:2879 msgid "Address Formats" msgstr "" -#: ../../library/multiprocessing.rst:2871 +#: ../../library/multiprocessing.rst:2881 msgid "" "An ``'AF_INET'`` address is a tuple of the form ``(hostname, port)`` where " "*hostname* is a string and *port* is an integer." msgstr "" -#: ../../library/multiprocessing.rst:2874 +#: ../../library/multiprocessing.rst:2884 msgid "" "An ``'AF_UNIX'`` address is a string representing a filename on the " "filesystem." msgstr "" -#: ../../library/multiprocessing.rst:2877 +#: ../../library/multiprocessing.rst:2887 msgid "" "An ``'AF_PIPE'`` address is a string of the form :samp:`r'\\\\\\\\\\\\.\\" "\\pipe\\\\\\\\{PipeName}'`. To use :func:`Client` to connect to a named " @@ -3773,17 +3784,17 @@ msgid "" "instead." msgstr "" -#: ../../library/multiprocessing.rst:2882 +#: ../../library/multiprocessing.rst:2892 msgid "" "Note that any string beginning with two backslashes is assumed by default to " "be an ``'AF_PIPE'`` address rather than an ``'AF_UNIX'`` address." msgstr "" -#: ../../library/multiprocessing.rst:2889 +#: ../../library/multiprocessing.rst:2899 msgid "Authentication keys" msgstr "" -#: ../../library/multiprocessing.rst:2891 +#: ../../library/multiprocessing.rst:2901 msgid "" "When one uses :meth:`Connection.recv `, the data received " "is automatically unpickled. Unfortunately unpickling data from an untrusted " @@ -3791,7 +3802,7 @@ msgid "" "use the :mod:`hmac` module to provide digest authentication." msgstr "" -#: ../../library/multiprocessing.rst:2897 +#: ../../library/multiprocessing.rst:2907 msgid "" "An authentication key is a byte string which can be thought of as a " "password: once a connection is established both ends will demand proof that " @@ -3799,7 +3810,7 @@ msgid "" "using the same key does **not** involve sending the key over the connection.)" msgstr "" -#: ../../library/multiprocessing.rst:2903 +#: ../../library/multiprocessing.rst:2913 msgid "" "If authentication is requested but no authentication key is specified then " "the return value of ``current_process().authkey`` is used (see :class:" @@ -3810,13 +3821,13 @@ msgid "" "setting up connections between themselves." msgstr "" -#: ../../library/multiprocessing.rst:2911 +#: ../../library/multiprocessing.rst:2921 msgid "" "Suitable authentication keys can also be generated by using :func:`os." "urandom`." msgstr "" -#: ../../library/multiprocessing.rst:2913 +#: ../../library/multiprocessing.rst:2923 msgid "" "This authentication protects :class:`Listener` and :func:`Client` " "connections, which are reachable by address. It is not applied to the " @@ -3829,11 +3840,11 @@ msgid "" "under a different user account or in a sandbox." msgstr "" -#: ../../library/multiprocessing.rst:2925 +#: ../../library/multiprocessing.rst:2935 msgid "Logging" msgstr "" -#: ../../library/multiprocessing.rst:2927 +#: ../../library/multiprocessing.rst:2937 msgid "" "Some support for logging is available. Note, however, that the :mod:" "`logging` package does not use process shared locks so it is possible " @@ -3841,27 +3852,27 @@ msgid "" "mixed up." msgstr "" -#: ../../library/multiprocessing.rst:2934 +#: ../../library/multiprocessing.rst:2944 msgid "" "Returns the logger used by :mod:`!multiprocessing`. If necessary, a new one " "will be created." msgstr "" -#: ../../library/multiprocessing.rst:2937 +#: ../../library/multiprocessing.rst:2947 msgid "" "When first created the logger has level :const:`logging.NOTSET` and no " "default handler. Messages sent to this logger will not by default propagate " "to the root logger." msgstr "" -#: ../../library/multiprocessing.rst:2941 +#: ../../library/multiprocessing.rst:2951 msgid "" "Note that on Windows child processes will only inherit the level of the " "parent process's logger -- any other customization of the logger will not be " "inherited." msgstr "" -#: ../../library/multiprocessing.rst:2948 +#: ../../library/multiprocessing.rst:2958 msgid "" "This function performs a call to :func:`get_logger` but in addition to " "returning the logger created by get_logger, it adds a handler which sends " @@ -3870,11 +3881,11 @@ msgid "" "``level`` argument." msgstr "" -#: ../../library/multiprocessing.rst:2954 +#: ../../library/multiprocessing.rst:2964 msgid "Below is an example session with logging turned on::" msgstr "" -#: ../../library/multiprocessing.rst:2956 +#: ../../library/multiprocessing.rst:2966 msgid "" ">>> import multiprocessing, logging\n" ">>> logger = multiprocessing.log_to_stderr()\n" @@ -3890,21 +3901,21 @@ msgid "" "[INFO/SyncManager-...] manager exiting with exitcode 0" msgstr "" -#: ../../library/multiprocessing.rst:2969 +#: ../../library/multiprocessing.rst:2979 msgid "For a full table of logging levels, see the :mod:`logging` module." msgstr "" -#: ../../library/multiprocessing.rst:2973 +#: ../../library/multiprocessing.rst:2983 msgid "The :mod:`!multiprocessing.dummy` module" msgstr "" -#: ../../library/multiprocessing.rst:2978 +#: ../../library/multiprocessing.rst:2988 msgid "" ":mod:`!multiprocessing.dummy` replicates the API of :mod:`!multiprocessing` " "but is no more than a wrapper around the :mod:`threading` module." msgstr "" -#: ../../library/multiprocessing.rst:2983 +#: ../../library/multiprocessing.rst:2993 msgid "" "In particular, the ``Pool`` function provided by :mod:`!multiprocessing." "dummy` returns an instance of :class:`ThreadPool`, which is a subclass of :" @@ -3912,7 +3923,7 @@ msgid "" "worker threads rather than worker processes." msgstr "" -#: ../../library/multiprocessing.rst:2991 +#: ../../library/multiprocessing.rst:3001 msgid "" "A thread pool object which controls a pool of worker threads to which jobs " "can be submitted. :class:`ThreadPool` instances are fully interface " @@ -3922,18 +3933,18 @@ msgid "" "pool.Pool.terminate` manually." msgstr "" -#: ../../library/multiprocessing.rst:2998 +#: ../../library/multiprocessing.rst:3008 msgid "" "*processes* is the number of worker threads to use. If *processes* is " "``None`` then the number returned by :func:`os.process_cpu_count` is used." msgstr "" -#: ../../library/multiprocessing.rst:3004 +#: ../../library/multiprocessing.rst:3014 msgid "" "Unlike :class:`Pool`, *maxtasksperchild* and *context* cannot be provided." msgstr "" -#: ../../library/multiprocessing.rst:3008 +#: ../../library/multiprocessing.rst:3018 msgid "" "A :class:`ThreadPool` shares the same interface as :class:`Pool`, which is " "designed around a pool of processes and predates the introduction of the :" @@ -3943,7 +3954,7 @@ msgid "" "is not understood by any other libraries." msgstr "" -#: ../../library/multiprocessing.rst:3015 +#: ../../library/multiprocessing.rst:3025 msgid "" "Users should generally prefer to use :class:`concurrent.futures." "ThreadPoolExecutor`, which has a simpler interface that was designed around " @@ -3952,69 +3963,69 @@ msgid "" "`asyncio`." msgstr "" -#: ../../library/multiprocessing.rst:3025 +#: ../../library/multiprocessing.rst:3035 msgid "Programming guidelines" msgstr "" -#: ../../library/multiprocessing.rst:3027 +#: ../../library/multiprocessing.rst:3037 msgid "" "There are certain guidelines and idioms which should be adhered to when " "using :mod:`!multiprocessing`." msgstr "" -#: ../../library/multiprocessing.rst:3032 +#: ../../library/multiprocessing.rst:3042 msgid "All start methods" msgstr "" -#: ../../library/multiprocessing.rst:3034 +#: ../../library/multiprocessing.rst:3044 msgid "The following applies to all start methods." msgstr "" -#: ../../library/multiprocessing.rst:3036 +#: ../../library/multiprocessing.rst:3046 msgid "Avoid shared state" msgstr "" -#: ../../library/multiprocessing.rst:3038 +#: ../../library/multiprocessing.rst:3048 msgid "" "As far as possible one should try to avoid shifting large amounts of data " "between processes." msgstr "" -#: ../../library/multiprocessing.rst:3041 +#: ../../library/multiprocessing.rst:3051 msgid "" "It is probably best to stick to using queues or pipes for communication " "between processes rather than using the lower level synchronization " "primitives." msgstr "" -#: ../../library/multiprocessing.rst:3045 +#: ../../library/multiprocessing.rst:3055 msgid "Picklability" msgstr "" -#: ../../library/multiprocessing.rst:3047 +#: ../../library/multiprocessing.rst:3057 msgid "Ensure that the arguments to the methods of proxies are picklable." msgstr "" -#: ../../library/multiprocessing.rst:3049 +#: ../../library/multiprocessing.rst:3059 msgid "Thread safety of proxies" msgstr "" -#: ../../library/multiprocessing.rst:3051 +#: ../../library/multiprocessing.rst:3061 msgid "" "Do not use a proxy object from more than one thread unless you protect it " "with a lock." msgstr "" -#: ../../library/multiprocessing.rst:3054 +#: ../../library/multiprocessing.rst:3064 msgid "" "(There is never a problem with different processes using the *same* proxy.)" msgstr "" -#: ../../library/multiprocessing.rst:3056 +#: ../../library/multiprocessing.rst:3066 msgid "Joining zombie processes" msgstr "" -#: ../../library/multiprocessing.rst:3058 +#: ../../library/multiprocessing.rst:3068 msgid "" "On POSIX when a process finishes but has not been joined it becomes a " "zombie. There should never be very many because each time a new process " @@ -4025,11 +4036,11 @@ msgid "" "explicitly join all the processes that you start." msgstr "" -#: ../../library/multiprocessing.rst:3066 +#: ../../library/multiprocessing.rst:3076 msgid "Better to inherit than pickle/unpickle" msgstr "" -#: ../../library/multiprocessing.rst:3068 +#: ../../library/multiprocessing.rst:3078 msgid "" "When using the *spawn* or *forkserver* start methods many types from :mod:`!" "multiprocessing` need to be picklable so that child processes can use them. " @@ -4039,11 +4050,11 @@ msgid "" "inherit it from an ancestor process." msgstr "" -#: ../../library/multiprocessing.rst:3076 +#: ../../library/multiprocessing.rst:3086 msgid "Avoid terminating processes" msgstr "" -#: ../../library/multiprocessing.rst:3078 +#: ../../library/multiprocessing.rst:3088 msgid "" "Using the :meth:`Process.terminate ` " "method to stop a process is liable to cause any shared resources (such as " @@ -4051,18 +4062,18 @@ msgid "" "become broken or unavailable to other processes." msgstr "" -#: ../../library/multiprocessing.rst:3084 +#: ../../library/multiprocessing.rst:3094 msgid "" "Therefore it is probably best to only consider using :meth:`Process." "terminate ` on processes which never use " "any shared resources." msgstr "" -#: ../../library/multiprocessing.rst:3088 +#: ../../library/multiprocessing.rst:3098 msgid "Joining processes that use queues" msgstr "" -#: ../../library/multiprocessing.rst:3090 +#: ../../library/multiprocessing.rst:3100 msgid "" "Bear in mind that a process that has put items in a queue will wait before " "terminating until all the buffered items are fed by the \"feeder\" thread to " @@ -4071,7 +4082,7 @@ msgid "" "queue to avoid this behaviour.)" msgstr "" -#: ../../library/multiprocessing.rst:3096 +#: ../../library/multiprocessing.rst:3106 msgid "" "This means that whenever you use a queue you need to make sure that all " "items which have been put on the queue will eventually be removed before the " @@ -4080,11 +4091,11 @@ msgid "" "processes will be joined automatically." msgstr "" -#: ../../library/multiprocessing.rst:3102 +#: ../../library/multiprocessing.rst:3112 msgid "An example which will deadlock is the following::" msgstr "" -#: ../../library/multiprocessing.rst:3104 +#: ../../library/multiprocessing.rst:3114 msgid "" "from multiprocessing import Process, Queue\n" "\n" @@ -4099,17 +4110,17 @@ msgid "" " obj = queue.get()" msgstr "" -#: ../../library/multiprocessing.rst:3116 +#: ../../library/multiprocessing.rst:3126 msgid "" "A fix here would be to swap the last two lines (or simply remove the ``p." "join()`` line)." msgstr "" -#: ../../library/multiprocessing.rst:3119 +#: ../../library/multiprocessing.rst:3129 msgid "Explicitly pass resources to child processes" msgstr "" -#: ../../library/multiprocessing.rst:3121 +#: ../../library/multiprocessing.rst:3131 msgid "" "On POSIX using the *fork* start method, a child process can make use of a " "shared resource created in a parent process using a global resource. " @@ -4117,7 +4128,7 @@ msgid "" "for the child process." msgstr "" -#: ../../library/multiprocessing.rst:3126 +#: ../../library/multiprocessing.rst:3136 msgid "" "Apart from making the code (potentially) compatible with Windows and the " "other start methods this also ensures that as long as the child process is " @@ -4126,11 +4137,11 @@ msgid "" "collected in the parent process." msgstr "" -#: ../../library/multiprocessing.rst:3133 +#: ../../library/multiprocessing.rst:3143 msgid "So for instance ::" msgstr "" -#: ../../library/multiprocessing.rst:3135 +#: ../../library/multiprocessing.rst:3145 msgid "" "from multiprocessing import Process, Lock\n" "\n" @@ -4143,11 +4154,11 @@ msgid "" " Process(target=f).start()" msgstr "" -#: ../../library/multiprocessing.rst:3145 +#: ../../library/multiprocessing.rst:3155 msgid "should be rewritten as ::" msgstr "" -#: ../../library/multiprocessing.rst:3147 +#: ../../library/multiprocessing.rst:3157 msgid "" "from multiprocessing import Process, Lock\n" "\n" @@ -4160,31 +4171,31 @@ msgid "" " Process(target=f, args=(lock,)).start()" msgstr "" -#: ../../library/multiprocessing.rst:3157 +#: ../../library/multiprocessing.rst:3167 msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\"" msgstr "" -#: ../../library/multiprocessing.rst:3159 +#: ../../library/multiprocessing.rst:3169 msgid ":mod:`!multiprocessing` originally unconditionally called::" msgstr "" -#: ../../library/multiprocessing.rst:3161 +#: ../../library/multiprocessing.rst:3171 msgid "os.close(sys.stdin.fileno())" msgstr "" -#: ../../library/multiprocessing.rst:3163 +#: ../../library/multiprocessing.rst:3173 msgid "" "in the :meth:`multiprocessing.Process._bootstrap` method --- this resulted " "in issues with processes-in-processes. This has been changed to::" msgstr "" -#: ../../library/multiprocessing.rst:3166 +#: ../../library/multiprocessing.rst:3176 msgid "" "sys.stdin.close()\n" "sys.stdin = open(os.open(os.devnull, os.O_RDONLY), closefd=False)" msgstr "" -#: ../../library/multiprocessing.rst:3169 +#: ../../library/multiprocessing.rst:3179 msgid "" "Which solves the fundamental issue of processes colliding with each other " "resulting in a bad file descriptor error, but introduces a potential danger " @@ -4194,14 +4205,14 @@ msgid "" "data being flushed to the object multiple times, resulting in corruption." msgstr "" -#: ../../library/multiprocessing.rst:3176 +#: ../../library/multiprocessing.rst:3186 msgid "" "If you write a file-like object and implement your own caching, you can make " "it fork-safe by storing the pid whenever you append to the cache, and " "discarding the cache when the pid changes. For example::" msgstr "" -#: ../../library/multiprocessing.rst:3180 +#: ../../library/multiprocessing.rst:3190 msgid "" "@property\n" "def cache(self):\n" @@ -4212,26 +4223,26 @@ msgid "" " return self._cache" msgstr "" -#: ../../library/multiprocessing.rst:3188 +#: ../../library/multiprocessing.rst:3198 msgid "" "For more information, see :issue:`5155`, :issue:`5313` and :issue:`5331`" msgstr "" -#: ../../library/multiprocessing.rst:3194 +#: ../../library/multiprocessing.rst:3204 msgid "The *spawn* and *forkserver* start methods" msgstr "" -#: ../../library/multiprocessing.rst:3196 +#: ../../library/multiprocessing.rst:3206 msgid "" "There are a few extra restrictions which don't apply to the *fork* start " "method." msgstr "" -#: ../../library/multiprocessing.rst:3199 +#: ../../library/multiprocessing.rst:3209 msgid "More picklability" msgstr "" -#: ../../library/multiprocessing.rst:3201 +#: ../../library/multiprocessing.rst:3211 msgid "" "Ensure that all arguments to :class:`~multiprocessing.Process` are " "picklable. Also, if you subclass ``Process.__init__``, you must make sure " @@ -4239,11 +4250,11 @@ msgid "" "` method is called." msgstr "" -#: ../../library/multiprocessing.rst:3206 +#: ../../library/multiprocessing.rst:3216 msgid "Global variables" msgstr "" -#: ../../library/multiprocessing.rst:3208 +#: ../../library/multiprocessing.rst:3218 msgid "" "Bear in mind that if code run in a child process tries to access a global " "variable, then the value it sees (if any) may not be the same as the value " @@ -4251,30 +4262,30 @@ msgid "" "Process.start>` was called." msgstr "" -#: ../../library/multiprocessing.rst:3213 +#: ../../library/multiprocessing.rst:3223 msgid "" "However, global variables which are just module level constants cause no " "problems." msgstr "" -#: ../../library/multiprocessing.rst:3218 +#: ../../library/multiprocessing.rst:3228 msgid "Safe importing of main module" msgstr "" -#: ../../library/multiprocessing.rst:3220 +#: ../../library/multiprocessing.rst:3230 msgid "" "Make sure that the main module can be safely imported by a new Python " "interpreter without causing unintended side effects (such as starting a new " "process)." msgstr "" -#: ../../library/multiprocessing.rst:3224 +#: ../../library/multiprocessing.rst:3234 msgid "" "For example, using the *spawn* or *forkserver* start method running the " "following module would fail with a :exc:`RuntimeError`::" msgstr "" -#: ../../library/multiprocessing.rst:3228 +#: ../../library/multiprocessing.rst:3238 msgid "" "from multiprocessing import Process\n" "\n" @@ -4285,13 +4296,13 @@ msgid "" "p.start()" msgstr "" -#: ../../library/multiprocessing.rst:3236 +#: ../../library/multiprocessing.rst:3246 msgid "" "Instead one should protect the \"entry point\" of the program by using ``if " "__name__ == '__main__':`` as follows::" msgstr "" -#: ../../library/multiprocessing.rst:3239 +#: ../../library/multiprocessing.rst:3249 msgid "" "from multiprocessing import Process, freeze_support, set_start_method\n" "\n" @@ -4305,33 +4316,33 @@ msgid "" " p.start()" msgstr "" -#: ../../library/multiprocessing.rst:3250 +#: ../../library/multiprocessing.rst:3260 msgid "" "(The ``freeze_support()`` line can be omitted if the program will be run " "normally instead of frozen.)" msgstr "" -#: ../../library/multiprocessing.rst:3253 +#: ../../library/multiprocessing.rst:3263 msgid "" "This allows the newly spawned Python interpreter to safely import the module " "and then run the module's ``foo()`` function." msgstr "" -#: ../../library/multiprocessing.rst:3256 +#: ../../library/multiprocessing.rst:3266 msgid "" "Similar restrictions apply if a pool or manager is created in the main " "module." msgstr "" -#: ../../library/multiprocessing.rst:3263 +#: ../../library/multiprocessing.rst:3273 msgid "Examples" msgstr "Beispiele" -#: ../../library/multiprocessing.rst:3265 +#: ../../library/multiprocessing.rst:3275 msgid "Demonstration of how to create and use customized managers and proxies:" msgstr "" -#: ../../library/multiprocessing.rst:3267 +#: ../../library/multiprocessing.rst:3277 msgid "" "from multiprocessing import freeze_support\n" "from multiprocessing.managers import BaseManager, BaseProxy\n" @@ -4425,11 +4436,11 @@ msgid "" " test()\n" msgstr "" -#: ../../library/multiprocessing.rst:3271 +#: ../../library/multiprocessing.rst:3281 msgid "Using :class:`~multiprocessing.pool.Pool`:" msgstr "" -#: ../../library/multiprocessing.rst:3273 +#: ../../library/multiprocessing.rst:3283 msgid "" "import multiprocessing\n" "import time\n" @@ -4589,13 +4600,13 @@ msgid "" " test()\n" msgstr "" -#: ../../library/multiprocessing.rst:3277 +#: ../../library/multiprocessing.rst:3287 msgid "" "An example showing how to use queues to feed tasks to a collection of worker " "processes and collect the results:" msgstr "" -#: ../../library/multiprocessing.rst:3280 +#: ../../library/multiprocessing.rst:3290 msgid "" "import time\n" "import random\n" diff --git a/library/os.po b/library/os.po index 4360b7c4..110933b1 100644 --- a/library/os.po +++ b/library/os.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:18+0000\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -331,56 +331,56 @@ msgstr "" #: ../../library/os.rst:2460 ../../library/os.rst:2480 #: ../../library/os.rst:2616 ../../library/os.rst:2638 #: ../../library/os.rst:2682 ../../library/os.rst:2694 -#: ../../library/os.rst:2716 ../../library/os.rst:3417 -#: ../../library/os.rst:3503 ../../library/os.rst:3511 -#: ../../library/os.rst:3519 ../../library/os.rst:3527 -#: ../../library/os.rst:3535 ../../library/os.rst:3543 -#: ../../library/os.rst:3551 ../../library/os.rst:3559 -#: ../../library/os.rst:3567 ../../library/os.rst:3575 -#: ../../library/os.rst:3696 ../../library/os.rst:3719 -#: ../../library/os.rst:3733 ../../library/os.rst:3953 -#: ../../library/os.rst:3978 ../../library/os.rst:4003 -#: ../../library/os.rst:4057 ../../library/os.rst:4066 -#: ../../library/os.rst:4075 ../../library/os.rst:4083 -#: ../../library/os.rst:4092 ../../library/os.rst:4101 -#: ../../library/os.rst:4174 ../../library/os.rst:4236 -#: ../../library/os.rst:4246 ../../library/os.rst:4264 -#: ../../library/os.rst:4273 ../../library/os.rst:4283 -#: ../../library/os.rst:4293 ../../library/os.rst:4303 -#: ../../library/os.rst:4314 ../../library/os.rst:4459 -#: ../../library/os.rst:4528 ../../library/os.rst:4563 -#: ../../library/os.rst:4571 ../../library/os.rst:4578 -#: ../../library/os.rst:4585 ../../library/os.rst:4592 -#: ../../library/os.rst:4599 ../../library/os.rst:4606 -#: ../../library/os.rst:4613 ../../library/os.rst:4621 -#: ../../library/os.rst:4629 ../../library/os.rst:4636 -#: ../../library/os.rst:4643 ../../library/os.rst:4652 -#: ../../library/os.rst:4660 ../../library/os.rst:4668 -#: ../../library/os.rst:4675 ../../library/os.rst:4682 -#: ../../library/os.rst:4731 ../../library/os.rst:4758 -#: ../../library/os.rst:4781 ../../library/os.rst:4797 -#: ../../library/os.rst:4804 ../../library/os.rst:4815 -#: ../../library/os.rst:4825 ../../library/os.rst:4834 -#: ../../library/os.rst:4866 ../../library/os.rst:4977 -#: ../../library/os.rst:4993 ../../library/os.rst:5026 -#: ../../library/os.rst:5095 ../../library/os.rst:5117 -#: ../../library/os.rst:5128 ../../library/os.rst:5140 -#: ../../library/os.rst:5185 ../../library/os.rst:5222 -#: ../../library/os.rst:5245 ../../library/os.rst:5266 -#: ../../library/os.rst:5300 ../../library/os.rst:5341 -#: ../../library/os.rst:5361 ../../library/os.rst:5375 -#: ../../library/os.rst:5392 ../../library/os.rst:5407 -#: ../../library/os.rst:5418 ../../library/os.rst:5430 -#: ../../library/os.rst:5443 ../../library/os.rst:5452 -#: ../../library/os.rst:5462 ../../library/os.rst:5475 -#: ../../library/os.rst:5510 ../../library/os.rst:5526 -#: ../../library/os.rst:5537 ../../library/os.rst:5549 -#: ../../library/os.rst:5556 ../../library/os.rst:5565 -#: ../../library/os.rst:5574 ../../library/os.rst:5583 -#: ../../library/os.rst:5592 ../../library/os.rst:5756 -#: ../../library/os.rst:5765 ../../library/os.rst:5789 -#: ../../library/os.rst:5816 ../../library/os.rst:5825 -#: ../../library/os.rst:5948 +#: ../../library/os.rst:2716 ../../library/os.rst:3422 +#: ../../library/os.rst:3508 ../../library/os.rst:3516 +#: ../../library/os.rst:3524 ../../library/os.rst:3532 +#: ../../library/os.rst:3540 ../../library/os.rst:3548 +#: ../../library/os.rst:3556 ../../library/os.rst:3564 +#: ../../library/os.rst:3572 ../../library/os.rst:3580 +#: ../../library/os.rst:3701 ../../library/os.rst:3724 +#: ../../library/os.rst:3738 ../../library/os.rst:3958 +#: ../../library/os.rst:3983 ../../library/os.rst:4008 +#: ../../library/os.rst:4062 ../../library/os.rst:4071 +#: ../../library/os.rst:4080 ../../library/os.rst:4088 +#: ../../library/os.rst:4097 ../../library/os.rst:4106 +#: ../../library/os.rst:4179 ../../library/os.rst:4241 +#: ../../library/os.rst:4251 ../../library/os.rst:4269 +#: ../../library/os.rst:4278 ../../library/os.rst:4288 +#: ../../library/os.rst:4298 ../../library/os.rst:4308 +#: ../../library/os.rst:4319 ../../library/os.rst:4464 +#: ../../library/os.rst:4533 ../../library/os.rst:4568 +#: ../../library/os.rst:4576 ../../library/os.rst:4583 +#: ../../library/os.rst:4590 ../../library/os.rst:4597 +#: ../../library/os.rst:4604 ../../library/os.rst:4611 +#: ../../library/os.rst:4618 ../../library/os.rst:4626 +#: ../../library/os.rst:4634 ../../library/os.rst:4641 +#: ../../library/os.rst:4648 ../../library/os.rst:4657 +#: ../../library/os.rst:4665 ../../library/os.rst:4673 +#: ../../library/os.rst:4680 ../../library/os.rst:4687 +#: ../../library/os.rst:4736 ../../library/os.rst:4763 +#: ../../library/os.rst:4786 ../../library/os.rst:4802 +#: ../../library/os.rst:4809 ../../library/os.rst:4820 +#: ../../library/os.rst:4830 ../../library/os.rst:4839 +#: ../../library/os.rst:4871 ../../library/os.rst:4982 +#: ../../library/os.rst:4998 ../../library/os.rst:5031 +#: ../../library/os.rst:5100 ../../library/os.rst:5122 +#: ../../library/os.rst:5133 ../../library/os.rst:5145 +#: ../../library/os.rst:5190 ../../library/os.rst:5227 +#: ../../library/os.rst:5250 ../../library/os.rst:5271 +#: ../../library/os.rst:5305 ../../library/os.rst:5346 +#: ../../library/os.rst:5366 ../../library/os.rst:5380 +#: ../../library/os.rst:5397 ../../library/os.rst:5412 +#: ../../library/os.rst:5423 ../../library/os.rst:5435 +#: ../../library/os.rst:5448 ../../library/os.rst:5457 +#: ../../library/os.rst:5467 ../../library/os.rst:5480 +#: ../../library/os.rst:5515 ../../library/os.rst:5531 +#: ../../library/os.rst:5542 ../../library/os.rst:5554 +#: ../../library/os.rst:5561 ../../library/os.rst:5570 +#: ../../library/os.rst:5579 ../../library/os.rst:5588 +#: ../../library/os.rst:5597 ../../library/os.rst:5761 +#: ../../library/os.rst:5770 ../../library/os.rst:5794 +#: ../../library/os.rst:5821 ../../library/os.rst:5830 +#: ../../library/os.rst:5953 msgid "Availability" msgstr "" @@ -912,7 +912,7 @@ msgstr "" msgid ":data:`sys.platform` which has finer granularity." msgstr "" -#: ../../library/os.rst:809 ../../library/os.rst:5247 +#: ../../library/os.rst:809 ../../library/os.rst:5252 msgid "" "Return type changed from a tuple to a tuple-like object with named " "attributes." @@ -1185,7 +1185,7 @@ msgstr "" #: ../../library/os.rst:1063 ../../library/os.rst:1081 #: ../../library/os.rst:1169 ../../library/os.rst:1781 #: ../../library/os.rst:2234 ../../library/os.rst:2267 -#: ../../library/os.rst:3698 +#: ../../library/os.rst:3703 msgid "" "The function is limited on WASI, see :ref:`wasm-availability` for more " "information." @@ -1286,7 +1286,7 @@ msgid "" "``fd``, ``length``." msgstr "" -#: ../../library/os.rst:1156 ../../library/os.rst:3737 +#: ../../library/os.rst:1156 ../../library/os.rst:3742 msgid "Added support for Windows" msgstr "" @@ -1493,12 +1493,12 @@ msgstr "" #: ../../library/os.rst:2547 ../../library/os.rst:2618 #: ../../library/os.rst:2640 ../../library/os.rst:2721 #: ../../library/os.rst:2751 ../../library/os.rst:2858 -#: ../../library/os.rst:3753 +#: ../../library/os.rst:3758 msgid "Added the *dir_fd* parameter." msgstr "" #: ../../library/os.rst:1328 ../../library/os.rst:1679 -#: ../../library/os.rst:1914 ../../library/os.rst:5343 +#: ../../library/os.rst:1914 ../../library/os.rst:5348 msgid "" "If the system call is interrupted and the signal handler does not raise an " "exception, the function now retries the system call instead of raising an :" @@ -1518,12 +1518,12 @@ msgstr "" #: ../../library/os.rst:2594 ../../library/os.rst:2621 #: ../../library/os.rst:2643 ../../library/os.rst:2684 #: ../../library/os.rst:2754 ../../library/os.rst:2773 -#: ../../library/os.rst:2861 ../../library/os.rst:3160 -#: ../../library/os.rst:3422 ../../library/os.rst:3740 -#: ../../library/os.rst:3756 ../../library/os.rst:3796 -#: ../../library/os.rst:3896 ../../library/os.rst:3957 -#: ../../library/os.rst:4354 ../../library/os.rst:4534 -#: ../../library/os.rst:5102 +#: ../../library/os.rst:2861 ../../library/os.rst:3165 +#: ../../library/os.rst:3427 ../../library/os.rst:3745 +#: ../../library/os.rst:3761 ../../library/os.rst:3801 +#: ../../library/os.rst:3901 ../../library/os.rst:3962 +#: ../../library/os.rst:4359 ../../library/os.rst:4539 +#: ../../library/os.rst:5107 msgid "Accepts a :term:`path-like object`." msgstr "" @@ -2473,7 +2473,7 @@ msgid ":const:`stat.S_IXOTH`" msgstr "" #: ../../library/os.rst:2223 ../../library/os.rst:2256 -#: ../../library/os.rst:3786 +#: ../../library/os.rst:3791 msgid "" "This function can support :ref:`specifying a file descriptor `, :" "ref:`paths relative to directory descriptors ` and :ref:`not " @@ -2588,7 +2588,7 @@ msgid "" "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." msgstr "" -#: ../../library/os.rst:2375 ../../library/os.rst:4783 +#: ../../library/os.rst:2375 ../../library/os.rst:4788 msgid "Added Windows support." msgstr "" @@ -2597,7 +2597,7 @@ msgid "Added the *src_dir_fd*, *dst_dir_fd*, and *follow_symlinks* parameters." msgstr "" #: ../../library/os.rst:2381 ../../library/os.rst:2805 -#: ../../library/os.rst:2842 ../../library/os.rst:3708 +#: ../../library/os.rst:2842 ../../library/os.rst:3713 msgid "Accepts a :term:`path-like object` for *src* and *dst*." msgstr "" @@ -2644,7 +2644,7 @@ msgstr "" msgid "The *path* parameter became optional." msgstr "" -#: ../../library/os.rst:2415 ../../library/os.rst:3419 +#: ../../library/os.rst:2415 ../../library/os.rst:3424 msgid "Added support for specifying *path* as an open file descriptor." msgstr "" @@ -2752,7 +2752,7 @@ msgid "" msgstr "" #: ../../library/os.rst:2504 ../../library/os.rst:2718 -#: ../../library/os.rst:3701 +#: ../../library/os.rst:3706 msgid "Added support for Windows 6.0 (Vista) symbolic links." msgstr "" @@ -2910,8 +2910,8 @@ msgid "" "included in that mapping, passing an integer for *name* is also accepted." msgstr "" -#: ../../library/os.rst:2679 ../../library/os.rst:3415 -#: ../../library/os.rst:3729 +#: ../../library/os.rst:2679 ../../library/os.rst:3420 +#: ../../library/os.rst:3734 msgid "" "This function can support :ref:`specifying a file descriptor `." msgstr "" @@ -2968,7 +2968,7 @@ msgid "" msgstr "" #: ../../library/os.rst:2740 ../../library/os.rst:2853 -#: ../../library/os.rst:3680 +#: ../../library/os.rst:3685 msgid "" "This function can support :ref:`paths relative to directory descriptors " "`." @@ -2987,7 +2987,7 @@ msgid "This function is semantically identical to :func:`unlink`." msgstr "" #: ../../library/os.rst:2749 ../../library/os.rst:2771 -#: ../../library/os.rst:3751 +#: ../../library/os.rst:3756 msgid "" "Raises an :ref:`auditing event ` ``os.remove`` with arguments " "``path``, ``dir_fd``." @@ -3134,22 +3134,30 @@ msgstr "" #: ../../library/os.rst:2895 msgid "" +"Sharing a :func:`scandir` iterator between threads will not corrupt the " +"iterator, but it is subject to :term:`race conditions `: " +"which entries each thread receives is unspecified, and closing the iterator " +"while another thread is iterating ends that iteration early." +msgstr "" + +#: ../../library/os.rst:2900 +msgid "" "The :func:`scandir` iterator supports the :term:`context manager` protocol " "and has the following method:" msgstr "" -#: ../../library/os.rst:2900 +#: ../../library/os.rst:2905 msgid "Close the iterator and free acquired resources." msgstr "" -#: ../../library/os.rst:2902 +#: ../../library/os.rst:2907 msgid "" "This is called automatically when the iterator is :term:`exhausted` or " "garbage collected, or when an error happens during iterating. However it is " "advisable to call it explicitly or use the :keyword:`with` statement." msgstr "" -#: ../../library/os.rst:2909 +#: ../../library/os.rst:2914 msgid "" "The following example shows a simple use of :func:`scandir` to display all " "the files (excluding directories) in the given *path* that don't start with " @@ -3157,7 +3165,7 @@ msgid "" "system call::" msgstr "" -#: ../../library/os.rst:2914 +#: ../../library/os.rst:2919 msgid "" "with os.scandir(path) as it:\n" " for entry in it:\n" @@ -3165,7 +3173,7 @@ msgid "" " print(entry.name)" msgstr "" -#: ../../library/os.rst:2921 +#: ../../library/os.rst:2926 msgid "" "On Unix-based systems, :func:`scandir` uses the system's `opendir() `_ and " @@ -3176,7 +3184,7 @@ msgid "" "desktop/aa364428(v=vs.85).aspx>`_ functions." msgstr "" -#: ../../library/os.rst:2933 +#: ../../library/os.rst:2938 msgid "" "Added support for the :term:`context manager` protocol and the :func:" "`~scandir.close` method. If a :func:`scandir` iterator is neither exhausted " @@ -3184,28 +3192,28 @@ msgid "" "destructor." msgstr "" -#: ../../library/os.rst:2939 +#: ../../library/os.rst:2944 msgid "The function accepts a :term:`path-like object`." msgstr "" -#: ../../library/os.rst:2941 +#: ../../library/os.rst:2946 msgid "Added support for :ref:`file descriptors ` on Unix." msgstr "" -#: ../../library/os.rst:2947 +#: ../../library/os.rst:2952 msgid "" "Object yielded by :func:`scandir` to expose the file path and other file " "attributes of a directory entry." msgstr "" -#: ../../library/os.rst:2950 +#: ../../library/os.rst:2955 msgid "" ":func:`scandir` will provide as much of this information as possible without " "making additional system calls. When a ``stat()`` or ``lstat()`` system call " "is made, the ``os.DirEntry`` object will cache the result." msgstr "" -#: ../../library/os.rst:2954 +#: ../../library/os.rst:2959 msgid "" "``os.DirEntry`` instances are not intended to be stored in long-lived data " "structures; if you know the file metadata has changed or if a long time has " @@ -3213,7 +3221,7 @@ msgid "" "up-to-date information." msgstr "" -#: ../../library/os.rst:2959 +#: ../../library/os.rst:2964 msgid "" "Because the ``os.DirEntry`` methods can make operating system calls, they " "may also raise :exc:`OSError`. If you need very fine-grained control over " @@ -3221,35 +3229,35 @@ msgid "" "methods and handle as appropriate." msgstr "" -#: ../../library/os.rst:2964 +#: ../../library/os.rst:2969 msgid "" "To be directly usable as a :term:`path-like object`, ``os.DirEntry`` " "implements the :class:`PathLike` interface." msgstr "" -#: ../../library/os.rst:2967 +#: ../../library/os.rst:2972 msgid "" ":class:`!DirEntry` objects are :ref:`generic ` over the type of " "the path (:class:`str` or :class:`bytes`)." msgstr "" -#: ../../library/os.rst:2970 +#: ../../library/os.rst:2975 msgid "Attributes and methods on a ``os.DirEntry`` instance are as follows:" msgstr "" -#: ../../library/os.rst:2974 +#: ../../library/os.rst:2979 msgid "" "The entry's base filename, relative to the :func:`scandir` *path* argument." msgstr "" -#: ../../library/os.rst:2977 +#: ../../library/os.rst:2982 msgid "" "The :attr:`name` attribute will be ``bytes`` if the :func:`scandir` *path* " "argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." "fsdecode` to decode byte filenames." msgstr "" -#: ../../library/os.rst:2983 +#: ../../library/os.rst:2988 msgid "" "The entry's path name: equivalent to ``os.path.join(scandir_path, entry." "name)`` where *scandir_path* is the original :func:`scandir` *path* " @@ -3264,51 +3272,51 @@ msgid "" "`path` attribute is the same as the :attr:`name` attribute." msgstr "" -#: ../../library/os.rst:2996 +#: ../../library/os.rst:3001 msgid "" "The :attr:`path` attribute will be ``bytes`` if the :func:`scandir` *path* " "argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." "fsdecode` to decode byte filenames." msgstr "" -#: ../../library/os.rst:3002 +#: ../../library/os.rst:3007 msgid "Return the inode number of the entry." msgstr "" -#: ../../library/os.rst:3004 +#: ../../library/os.rst:3009 msgid "" "The result is cached on the ``os.DirEntry`` object. Use ``os.stat(entry." "path, follow_symlinks=False).st_ino`` to fetch up-to-date information." msgstr "" -#: ../../library/os.rst:3008 +#: ../../library/os.rst:3013 msgid "" "On the first, uncached call, a system call is required on Windows but not on " "Unix." msgstr "" -#: ../../library/os.rst:3013 +#: ../../library/os.rst:3018 msgid "" "Return ``True`` if this entry is a directory or a symbolic link pointing to " "a directory; return ``False`` if the entry is or points to any other kind of " "file, or if it doesn't exist anymore." msgstr "" -#: ../../library/os.rst:3017 +#: ../../library/os.rst:3022 msgid "" "If *follow_symlinks* is ``False``, return ``True`` only if this entry is a " "directory (without following symlinks); return ``False`` if the entry is any " "other kind of file or if it doesn't exist anymore." msgstr "" -#: ../../library/os.rst:3021 +#: ../../library/os.rst:3026 msgid "" "The result is cached on the ``os.DirEntry`` object, with a separate cache " "for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` along " "with :func:`stat.S_ISDIR` to fetch up-to-date information." msgstr "" -#: ../../library/os.rst:3025 +#: ../../library/os.rst:3030 msgid "" "On the first, uncached call, no system call is required in most cases. " "Specifically, for non-symlinks, neither Windows or Unix require a system " @@ -3318,46 +3326,46 @@ msgid "" "is ``False``." msgstr "" -#: ../../library/os.rst:3032 ../../library/os.rst:3062 +#: ../../library/os.rst:3037 ../../library/os.rst:3067 msgid "" "This method can raise :exc:`OSError`, such as :exc:`PermissionError`, but :" "exc:`FileNotFoundError` is caught and not raised." msgstr "" -#: ../../library/os.rst:3037 +#: ../../library/os.rst:3042 msgid "" "Return ``True`` if this entry is a file or a symbolic link pointing to a " "file; return ``False`` if the entry is or points to a directory or other non-" "file entry, or if it doesn't exist anymore." msgstr "" -#: ../../library/os.rst:3041 +#: ../../library/os.rst:3046 msgid "" "If *follow_symlinks* is ``False``, return ``True`` only if this entry is a " "file (without following symlinks); return ``False`` if the entry is a " "directory or other non-file entry, or if it doesn't exist anymore." msgstr "" -#: ../../library/os.rst:3045 +#: ../../library/os.rst:3050 msgid "" "The result is cached on the ``os.DirEntry`` object. Caching, system calls " "made, and exceptions raised are as per :func:`~os.DirEntry.is_dir`." msgstr "" -#: ../../library/os.rst:3050 +#: ../../library/os.rst:3055 msgid "" "Return ``True`` if this entry is a symbolic link (even if broken); return " "``False`` if the entry points to a directory or any kind of file, or if it " "doesn't exist anymore." msgstr "" -#: ../../library/os.rst:3054 +#: ../../library/os.rst:3059 msgid "" "The result is cached on the ``os.DirEntry`` object. Call :func:`os.path." "islink` to fetch up-to-date information." msgstr "" -#: ../../library/os.rst:3057 +#: ../../library/os.rst:3062 msgid "" "On the first, uncached call, no system call is required in most cases. " "Specifically, neither Windows or Unix require a system call, except on " @@ -3365,48 +3373,48 @@ msgid "" "``dirent.d_type == DT_UNKNOWN``." msgstr "" -#: ../../library/os.rst:3067 +#: ../../library/os.rst:3072 msgid "" "Return ``True`` if this entry is a junction (even if broken); return " "``False`` if the entry points to a regular directory, any kind of file, a " "symlink, or if it doesn't exist anymore." msgstr "" -#: ../../library/os.rst:3071 +#: ../../library/os.rst:3076 msgid "" "The result is cached on the ``os.DirEntry`` object. Call :func:`os.path." "isjunction` to fetch up-to-date information." msgstr "" -#: ../../library/os.rst:3078 +#: ../../library/os.rst:3083 msgid "" "Return a :class:`stat_result` object for this entry. This method follows " "symbolic links by default; to stat a symbolic link add the " "``follow_symlinks=False`` argument." msgstr "" -#: ../../library/os.rst:3082 +#: ../../library/os.rst:3087 msgid "" "On Unix, this method always requires a system call. On Windows, it only " "requires a system call if *follow_symlinks* is ``True`` and the entry is a " "reparse point (for example, a symbolic link or directory junction)." msgstr "" -#: ../../library/os.rst:3087 +#: ../../library/os.rst:3092 msgid "" "On Windows, the ``st_ino``, ``st_dev`` and ``st_nlink`` attributes of the :" "class:`stat_result` are always set to zero. Call :func:`os.stat` to get " "these attributes." msgstr "" -#: ../../library/os.rst:3091 +#: ../../library/os.rst:3096 msgid "" "The result is cached on the ``os.DirEntry`` object, with a separate cache " "for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` to fetch " "up-to-date information." msgstr "" -#: ../../library/os.rst:3095 +#: ../../library/os.rst:3100 msgid "" "Note that there is a nice correspondence between several attributes and " "methods of ``os.DirEntry`` and of :class:`pathlib.Path`. In particular, the " @@ -3414,13 +3422,13 @@ msgid "" "``is_file()``, ``is_symlink()``, ``is_junction()``, and ``stat()`` methods." msgstr "" -#: ../../library/os.rst:3103 +#: ../../library/os.rst:3108 msgid "" "Added support for the :class:`~os.PathLike` interface. Added support for :" "class:`bytes` paths on Windows." msgstr "" -#: ../../library/os.rst:3107 +#: ../../library/os.rst:3112 msgid "" "The ``st_ctime`` attribute of a stat result is deprecated on Windows. The " "file creation time is properly available as ``st_birthtime``, and in the " @@ -3428,7 +3436,7 @@ msgid "" "time, if available." msgstr "" -#: ../../library/os.rst:3116 +#: ../../library/os.rst:3121 msgid "" "Get the status of a file or a file descriptor. Perform the equivalent of a :" "c:func:`stat` system call on the given path. *path* may be specified as " @@ -3437,21 +3445,21 @@ msgid "" "`stat_result` object." msgstr "" -#: ../../library/os.rst:3122 +#: ../../library/os.rst:3127 msgid "" "This function normally follows symlinks; to stat a symlink add the argument " "``follow_symlinks=False``, or use :func:`lstat`." msgstr "" -#: ../../library/os.rst:3125 ../../library/os.rst:4333 -#: ../../library/os.rst:4349 ../../library/os.rst:4365 -#: ../../library/os.rst:4385 +#: ../../library/os.rst:3130 ../../library/os.rst:4338 +#: ../../library/os.rst:4354 ../../library/os.rst:4370 +#: ../../library/os.rst:4390 msgid "" "This function can support :ref:`specifying a file descriptor ` and :" "ref:`not following symlinks `." msgstr "" -#: ../../library/os.rst:3128 +#: ../../library/os.rst:3133 msgid "" "On Windows, passing ``follow_symlinks=False`` will disable following all " "name-surrogate reparse points, which includes symlinks and directory " @@ -3465,11 +3473,11 @@ msgid "" "junction points, which will raise the usual exceptions." msgstr "" -#: ../../library/os.rst:3141 ../../library/os.rst:4040 +#: ../../library/os.rst:3146 ../../library/os.rst:4045 msgid "Example::" msgstr "Beispiel::" -#: ../../library/os.rst:3143 +#: ../../library/os.rst:3148 msgid "" ">>> import os\n" ">>> statinfo = os.stat('somefile.txt')\n" @@ -3481,17 +3489,17 @@ msgid "" "264" msgstr "" -#: ../../library/os.rst:3154 +#: ../../library/os.rst:3159 msgid ":func:`fstat` and :func:`lstat` functions." msgstr "" -#: ../../library/os.rst:3156 +#: ../../library/os.rst:3161 msgid "" "Added the *dir_fd* and *follow_symlinks* parameters, specifying a file " "descriptor instead of a path." msgstr "" -#: ../../library/os.rst:3163 +#: ../../library/os.rst:3168 msgid "" "On Windows, all reparse points that can be resolved by the operating system " "are now followed, and passing ``follow_symlinks=False`` disables following " @@ -3501,122 +3509,122 @@ msgid "" "of raising an error." msgstr "" -#: ../../library/os.rst:3174 +#: ../../library/os.rst:3179 msgid "" "Object whose attributes correspond roughly to the members of the :c:struct:" "`stat` structure. It is used for the result of :func:`os.stat`, :func:`os." "fstat` and :func:`os.lstat`." msgstr "" -#: ../../library/os.rst:3178 +#: ../../library/os.rst:3183 msgid "Attributes:" msgstr "" -#: ../../library/os.rst:3182 +#: ../../library/os.rst:3187 msgid "File mode: file type and file mode bits (permissions)." msgstr "" -#: ../../library/os.rst:3186 +#: ../../library/os.rst:3191 msgid "" "Platform dependent, but if non-zero, uniquely identifies the file for a " "given value of ``st_dev``. Typically:" msgstr "" -#: ../../library/os.rst:3189 +#: ../../library/os.rst:3194 msgid "the inode number on Unix," msgstr "" -#: ../../library/os.rst:3190 +#: ../../library/os.rst:3195 msgid "" "the `file index `_ on " "Windows" msgstr "" -#: ../../library/os.rst:3196 +#: ../../library/os.rst:3201 msgid "Identifier of the device on which this file resides." msgstr "" -#: ../../library/os.rst:3200 +#: ../../library/os.rst:3205 msgid "Number of hard links." msgstr "" -#: ../../library/os.rst:3204 +#: ../../library/os.rst:3209 msgid "User identifier of the file owner." msgstr "" -#: ../../library/os.rst:3208 +#: ../../library/os.rst:3213 msgid "Group identifier of the file owner." msgstr "" -#: ../../library/os.rst:3212 +#: ../../library/os.rst:3217 msgid "" "Size of the file in bytes, if it is a regular file or a symbolic link. The " "size of a symbolic link is the length of the pathname it contains, without a " "terminating null byte." msgstr "" -#: ../../library/os.rst:3216 +#: ../../library/os.rst:3221 msgid "Timestamps:" msgstr "" -#: ../../library/os.rst:3220 +#: ../../library/os.rst:3225 msgid "Time of most recent access expressed in seconds." msgstr "" -#: ../../library/os.rst:3224 +#: ../../library/os.rst:3229 msgid "Time of most recent content modification expressed in seconds." msgstr "" -#: ../../library/os.rst:3228 +#: ../../library/os.rst:3233 msgid "Time of most recent metadata change expressed in seconds." msgstr "" -#: ../../library/os.rst:3230 +#: ../../library/os.rst:3235 msgid "" "``st_ctime`` is deprecated on Windows. Use ``st_birthtime`` for the file " "creation time. In the future, ``st_ctime`` will contain the time of the most " "recent metadata change, as for other platforms." msgstr "" -#: ../../library/os.rst:3237 +#: ../../library/os.rst:3242 msgid "Time of most recent access expressed in nanoseconds as an integer." msgstr "" -#: ../../library/os.rst:3243 +#: ../../library/os.rst:3248 msgid "" "Time of most recent content modification expressed in nanoseconds as an " "integer." msgstr "" -#: ../../library/os.rst:3250 +#: ../../library/os.rst:3255 msgid "" "Time of most recent metadata change expressed in nanoseconds as an integer." msgstr "" -#: ../../library/os.rst:3255 +#: ../../library/os.rst:3260 msgid "" "``st_ctime_ns`` is deprecated on Windows. Use ``st_birthtime_ns`` for the " "file creation time. In the future, ``st_ctime`` will contain the time of the " "most recent metadata change, as for other platforms." msgstr "" -#: ../../library/os.rst:3262 +#: ../../library/os.rst:3267 msgid "" "Time of file creation expressed in seconds. This attribute is not always " "available, and may raise :exc:`AttributeError`." msgstr "" -#: ../../library/os.rst:3265 +#: ../../library/os.rst:3270 msgid "``st_birthtime`` is now available on Windows." msgstr "" -#: ../../library/os.rst:3270 +#: ../../library/os.rst:3275 msgid "" "Time of file creation expressed in nanoseconds as an integer. This attribute " "is not always available, and may raise :exc:`AttributeError`." msgstr "" -#: ../../library/os.rst:3278 +#: ../../library/os.rst:3283 msgid "" "The exact meaning and resolution of the :attr:`st_atime`, :attr:`st_mtime`, :" "attr:`st_ctime` and :attr:`st_birthtime` attributes depend on the operating " @@ -3626,7 +3634,7 @@ msgid "" "details." msgstr "" -#: ../../library/os.rst:3285 +#: ../../library/os.rst:3290 msgid "" "Similarly, although :attr:`st_atime_ns`, :attr:`st_mtime_ns`, :attr:" "`st_ctime_ns` and :attr:`st_birthtime_ns` are always expressed in " @@ -3639,74 +3647,74 @@ msgid "" "`st_birthtime_ns`." msgstr "" -#: ../../library/os.rst:3295 +#: ../../library/os.rst:3300 msgid "" "On some Unix systems (such as Linux), the following attributes may also be " "available:" msgstr "" -#: ../../library/os.rst:3300 +#: ../../library/os.rst:3305 msgid "" "Number of 512-byte blocks allocated for file. This may be smaller than :attr:" "`st_size`/512 when the file has holes." msgstr "" -#: ../../library/os.rst:3305 +#: ../../library/os.rst:3310 msgid "" "\"Preferred\" blocksize for efficient file system I/O. Writing to a file in " "smaller chunks may cause an inefficient read-modify-rewrite." msgstr "" -#: ../../library/os.rst:3310 +#: ../../library/os.rst:3315 msgid "Type of device if an inode device." msgstr "" -#: ../../library/os.rst:3314 +#: ../../library/os.rst:3319 msgid "User defined flags for file." msgstr "" -#: ../../library/os.rst:3316 +#: ../../library/os.rst:3321 msgid "" "On other Unix systems (such as FreeBSD), the following attributes may be " "available (but may be only filled out if root tries to use them):" msgstr "" -#: ../../library/os.rst:3321 +#: ../../library/os.rst:3326 msgid "File generation number." msgstr "" -#: ../../library/os.rst:3323 +#: ../../library/os.rst:3328 msgid "" "On Solaris and derivatives, the following attributes may also be available:" msgstr "" -#: ../../library/os.rst:3328 +#: ../../library/os.rst:3333 msgid "" "String that uniquely identifies the type of the filesystem that contains the " "file." msgstr "" -#: ../../library/os.rst:3331 +#: ../../library/os.rst:3336 msgid "On macOS systems, the following attributes may also be available:" msgstr "" -#: ../../library/os.rst:3335 +#: ../../library/os.rst:3340 msgid "Real size of the file." msgstr "" -#: ../../library/os.rst:3339 +#: ../../library/os.rst:3344 msgid "Creator of the file." msgstr "" -#: ../../library/os.rst:3343 +#: ../../library/os.rst:3348 msgid "File type." msgstr "" -#: ../../library/os.rst:3345 +#: ../../library/os.rst:3350 msgid "On Windows systems, the following attributes are also available:" msgstr "" -#: ../../library/os.rst:3349 +#: ../../library/os.rst:3354 msgid "" "Windows file attributes: ``dwFileAttributes`` member of the " "``BY_HANDLE_FILE_INFORMATION`` structure returned by :c:func:`!" @@ -3714,7 +3722,7 @@ msgid "" "FILE_ATTRIBUTE_ARCHIVE>` constants in the :mod:`stat` module." msgstr "" -#: ../../library/os.rst:3359 +#: ../../library/os.rst:3364 msgid "" "When :attr:`st_file_attributes` has the :const:`~stat." "FILE_ATTRIBUTE_REPARSE_POINT` set, this field contains the tag identifying " @@ -3722,14 +3730,14 @@ msgid "" "IO_REPARSE_TAG_SYMLINK>` constants in the :mod:`stat` module." msgstr "" -#: ../../library/os.rst:3364 +#: ../../library/os.rst:3369 msgid "" "The standard module :mod:`stat` defines functions and constants that are " "useful for extracting information from a :c:struct:`stat` structure. (On " "Windows, some items are filled with dummy values.)" msgstr "" -#: ../../library/os.rst:3368 +#: ../../library/os.rst:3373 msgid "" "For backward compatibility, a :class:`stat_result` instance is also " "accessible as a tuple of at least 10 integers giving the most important (and " @@ -3741,49 +3749,49 @@ msgid "" "class:`stat_result` as a tuple always returns integers." msgstr "" -#: ../../library/os.rst:3377 +#: ../../library/os.rst:3382 msgid "Windows now returns the file index as :attr:`st_ino` when available." msgstr "" -#: ../../library/os.rst:3381 +#: ../../library/os.rst:3386 msgid "Added the :attr:`st_fstype` member to Solaris/derivatives." msgstr "" -#: ../../library/os.rst:3384 +#: ../../library/os.rst:3389 msgid "Added the :attr:`st_reparse_tag` member on Windows." msgstr "" -#: ../../library/os.rst:3387 +#: ../../library/os.rst:3392 msgid "" "On Windows, the :attr:`st_mode` member now identifies special files as :" "const:`S_IFCHR`, :const:`S_IFIFO` or :const:`S_IFBLK` as appropriate." msgstr "" -#: ../../library/os.rst:3392 +#: ../../library/os.rst:3397 msgid "" "On Windows, :attr:`st_ctime` is deprecated. Eventually, it will contain the " "last metadata change time, for consistency with other platforms, but for now " "still contains creation time. Use :attr:`st_birthtime` for the creation time." msgstr "" -#: ../../library/os.rst:3398 +#: ../../library/os.rst:3403 msgid "" "On Windows, :attr:`st_ino` may now be up to 128 bits, depending on the file " "system. Previously it would not be above 64 bits, and larger file " "identifiers would be arbitrarily packed." msgstr "" -#: ../../library/os.rst:3402 +#: ../../library/os.rst:3407 msgid "" "On Windows, :attr:`st_rdev` no longer returns a value. Previously it would " "contain the same as :attr:`st_dev`, which was incorrect." msgstr "" -#: ../../library/os.rst:3405 +#: ../../library/os.rst:3410 msgid "Added the :attr:`st_birthtime` member on Windows." msgstr "" -#: ../../library/os.rst:3410 +#: ../../library/os.rst:3415 msgid "" "Perform a :manpage:`statvfs(3)` system call on the given path. The return " "value is a :class:`statvfs_result` whose attributes describe the filesystem " @@ -3791,47 +3799,47 @@ msgid "" "structure." msgstr "" -#: ../../library/os.rst:3428 +#: ../../library/os.rst:3433 msgid "" "Filesystem statistics returned by :func:`os.statvfs` and :func:`os." "fstatvfs`. See :manpage:`statvfs(3)` for more details." msgstr "" -#: ../../library/os.rst:3433 +#: ../../library/os.rst:3438 msgid "Block size." msgstr "" -#: ../../library/os.rst:3437 +#: ../../library/os.rst:3442 msgid "Fragment size." msgstr "" -#: ../../library/os.rst:3441 +#: ../../library/os.rst:3446 msgid "" "Number of :attr:`~statvfs_result.f_frsize` sized blocks the filesystem can " "contain." msgstr "" -#: ../../library/os.rst:3446 +#: ../../library/os.rst:3451 msgid "Number of free blocks." msgstr "" -#: ../../library/os.rst:3450 +#: ../../library/os.rst:3455 msgid "Number of free blocks for unprivileged users." msgstr "" -#: ../../library/os.rst:3454 +#: ../../library/os.rst:3459 msgid "Number of file entries, inodes, the filesystem can contain." msgstr "" -#: ../../library/os.rst:3458 +#: ../../library/os.rst:3463 msgid "Number of free files entries." msgstr "" -#: ../../library/os.rst:3462 +#: ../../library/os.rst:3467 msgid "Number of free file entries for unprivileged users." msgstr "" -#: ../../library/os.rst:3466 +#: ../../library/os.rst:3471 msgid "" "Bit-mask of mount flags. The following flags are defined: :data:" "`ST_RDONLY`, :data:`ST_NOSUID`, :data:`ST_NODEV`, :data:`ST_NOEXEC`, :data:" @@ -3840,70 +3848,70 @@ msgid "" "`ST_RELATIME`." msgstr "" -#: ../../library/os.rst:3474 +#: ../../library/os.rst:3479 msgid "" "Filesystem max filename length. OS specific limitations such as :ref:" "`Windows MAX_PATH ` and those described in Linux :manpage:" "`pathname(7)` may exist." msgstr "" -#: ../../library/os.rst:3480 +#: ../../library/os.rst:3485 msgid "Filesystem ID." msgstr "" -#: ../../library/os.rst:3485 +#: ../../library/os.rst:3490 msgid "The following flags are used in :attr:`statvfs_result.f_flag`." msgstr "" -#: ../../library/os.rst:3489 +#: ../../library/os.rst:3494 msgid "Read-only filesystem." msgstr "" -#: ../../library/os.rst:3495 +#: ../../library/os.rst:3500 msgid "Setuid/setgid bits are disabled or not supported." msgstr "" -#: ../../library/os.rst:3501 +#: ../../library/os.rst:3506 msgid "Disallow access to device special files." msgstr "" -#: ../../library/os.rst:3509 +#: ../../library/os.rst:3514 msgid "Disallow program execution." msgstr "" -#: ../../library/os.rst:3517 +#: ../../library/os.rst:3522 msgid "Writes are synced at once." msgstr "" -#: ../../library/os.rst:3525 +#: ../../library/os.rst:3530 msgid "Allow mandatory locks on an FS." msgstr "" -#: ../../library/os.rst:3533 +#: ../../library/os.rst:3538 msgid "Write on file/directory/symlink." msgstr "" -#: ../../library/os.rst:3541 +#: ../../library/os.rst:3546 msgid "Append-only file." msgstr "" -#: ../../library/os.rst:3549 +#: ../../library/os.rst:3554 msgid "Immutable file." msgstr "" -#: ../../library/os.rst:3557 +#: ../../library/os.rst:3562 msgid "Do not update access times." msgstr "" -#: ../../library/os.rst:3565 +#: ../../library/os.rst:3570 msgid "Do not update directory access times." msgstr "" -#: ../../library/os.rst:3573 +#: ../../library/os.rst:3578 msgid "Update atime relative to mtime/ctime." msgstr "" -#: ../../library/os.rst:3582 +#: ../../library/os.rst:3587 msgid "" "A :class:`set` object indicating which functions in the :mod:`!os` module " "accept an open file descriptor for their *dir_fd* parameter. Different " @@ -3915,7 +3923,7 @@ msgid "" "(Specifying ``None`` for *dir_fd* is always supported on all platforms.)" msgstr "" -#: ../../library/os.rst:3592 +#: ../../library/os.rst:3597 msgid "" "To check whether a particular function accepts an open file descriptor for " "its *dir_fd* parameter, use the ``in`` operator on ``supports_dir_fd``. As " @@ -3923,17 +3931,17 @@ msgid "" "open file descriptors for *dir_fd* on the local platform::" msgstr "" -#: ../../library/os.rst:3597 +#: ../../library/os.rst:3602 msgid "os.stat in os.supports_dir_fd" msgstr "" -#: ../../library/os.rst:3599 +#: ../../library/os.rst:3604 msgid "" "Currently *dir_fd* parameters only work on Unix platforms; none of them work " "on Windows." msgstr "" -#: ../../library/os.rst:3607 +#: ../../library/os.rst:3612 msgid "" "A :class:`set` object indicating whether :func:`os.access` permits " "specifying ``True`` for its *effective_ids* parameter on the local platform. " @@ -3942,23 +3950,23 @@ msgid "" "func:`os.access`; otherwise it will be empty." msgstr "" -#: ../../library/os.rst:3613 +#: ../../library/os.rst:3618 msgid "" "This expression evaluates to ``True`` if :func:`os.access` supports " "``effective_ids=True`` on the local platform::" msgstr "" -#: ../../library/os.rst:3616 +#: ../../library/os.rst:3621 msgid "os.access in os.supports_effective_ids" msgstr "" -#: ../../library/os.rst:3618 +#: ../../library/os.rst:3623 msgid "" "Currently *effective_ids* is only supported on Unix platforms; it does not " "work on Windows." msgstr "" -#: ../../library/os.rst:3626 +#: ../../library/os.rst:3631 msgid "" "A :class:`set` object indicating which functions in the :mod:`!os` module " "permit specifying their *path* parameter as an open file descriptor on the " @@ -3967,7 +3975,7 @@ msgid "" "*path* arguments is not available on all platforms Python supports." msgstr "" -#: ../../library/os.rst:3633 +#: ../../library/os.rst:3638 msgid "" "To determine whether a particular function permits specifying an open file " "descriptor for its *path* parameter, use the ``in`` operator on " @@ -3976,11 +3984,11 @@ msgid "" "platform::" msgstr "" -#: ../../library/os.rst:3639 +#: ../../library/os.rst:3644 msgid "os.chdir in os.supports_fd" msgstr "" -#: ../../library/os.rst:3646 +#: ../../library/os.rst:3651 msgid "" "A :class:`set` object indicating which functions in the :mod:`!os` module " "accept ``False`` for their *follow_symlinks* parameter on the local " @@ -3993,7 +4001,7 @@ msgid "" "on all platforms.)" msgstr "" -#: ../../library/os.rst:3656 +#: ../../library/os.rst:3661 msgid "" "To check whether a particular function accepts ``False`` for its " "*follow_symlinks* parameter, use the ``in`` operator on " @@ -4002,21 +4010,21 @@ msgid "" "stat` on the local platform::" msgstr "" -#: ../../library/os.rst:3662 +#: ../../library/os.rst:3667 msgid "os.stat in os.supports_follow_symlinks" msgstr "" -#: ../../library/os.rst:3669 +#: ../../library/os.rst:3674 msgid "Create a symbolic link pointing to *src* named *dst*." msgstr "" -#: ../../library/os.rst:3671 +#: ../../library/os.rst:3676 msgid "" "The *src* parameter refers to the target of the link (the file or directory " "being linked to), and *dst* is the name of the link being created." msgstr "" -#: ../../library/os.rst:3674 +#: ../../library/os.rst:3679 msgid "" "On Windows, a symlink represents either a file or a directory, and does not " "morph to the target dynamically. If the target is present, the type of the " @@ -4026,7 +4034,7 @@ msgid "" "ignored." msgstr "" -#: ../../library/os.rst:3685 +#: ../../library/os.rst:3690 msgid "" "On newer versions of Windows 10, unprivileged accounts can create symlinks " "if Developer Mode is enabled. When Developer Mode is not available/enabled, " @@ -4034,83 +4042,83 @@ msgid "" "must be run as an administrator." msgstr "" -#: ../../library/os.rst:3691 +#: ../../library/os.rst:3696 msgid "" ":exc:`OSError` is raised when the function is called by an unprivileged user." msgstr "" -#: ../../library/os.rst:3694 +#: ../../library/os.rst:3699 msgid "" "Raises an :ref:`auditing event ` ``os.symlink`` with arguments " "``src``, ``dst``, ``dir_fd``." msgstr "" -#: ../../library/os.rst:3704 +#: ../../library/os.rst:3709 msgid "" "Added the *dir_fd* parameter, and now allow *target_is_directory* on non-" "Windows platforms." msgstr "" -#: ../../library/os.rst:3711 +#: ../../library/os.rst:3716 msgid "Added support for unelevated symlinks on Windows with Developer Mode." msgstr "" -#: ../../library/os.rst:3717 +#: ../../library/os.rst:3722 msgid "Force write of everything to disk." msgstr "" -#: ../../library/os.rst:3726 +#: ../../library/os.rst:3731 msgid "" "Truncate the file corresponding to *path*, so that it is at most *length* " "bytes in size." msgstr "" -#: ../../library/os.rst:3731 +#: ../../library/os.rst:3736 msgid "" "Raises an :ref:`auditing event ` ``os.truncate`` with arguments " "``path``, ``length``." msgstr "" -#: ../../library/os.rst:3746 +#: ../../library/os.rst:3751 msgid "" "Remove (delete) the file *path*. This function is semantically identical " "to :func:`remove`; the ``unlink`` name is its traditional Unix name. Please " "see the documentation for :func:`remove` for further information." msgstr "" -#: ../../library/os.rst:3762 +#: ../../library/os.rst:3767 msgid "Set the access and modified times of the file specified by *path*." msgstr "" -#: ../../library/os.rst:3764 +#: ../../library/os.rst:3769 msgid "" ":func:`utime` takes two optional parameters, *times* and *ns*. These specify " "the times set on *path* and are used as follows:" msgstr "" -#: ../../library/os.rst:3767 +#: ../../library/os.rst:3772 msgid "" "If *ns* is specified, it must be a 2-tuple of the form ``(atime_ns, " "mtime_ns)`` where each member is an int expressing nanoseconds." msgstr "" -#: ../../library/os.rst:3770 +#: ../../library/os.rst:3775 msgid "" "If *times* is not ``None``, it must be a 2-tuple of the form ``(atime, " "mtime)`` where each member is an int or float expressing seconds." msgstr "" -#: ../../library/os.rst:3773 +#: ../../library/os.rst:3778 msgid "" "If *times* is ``None`` and *ns* is unspecified, this is equivalent to " "specifying ``ns=(atime_ns, mtime_ns)`` where both times are the current time." msgstr "" -#: ../../library/os.rst:3777 +#: ../../library/os.rst:3782 msgid "It is an error to specify tuples for both *times* and *ns*." msgstr "" -#: ../../library/os.rst:3779 +#: ../../library/os.rst:3784 msgid "" "Note that the exact times you set here may not be returned by a subsequent :" "func:`~os.stat` call, depending on the resolution with which your operating " @@ -4120,19 +4128,19 @@ msgid "" "func:`utime`." msgstr "" -#: ../../library/os.rst:3790 +#: ../../library/os.rst:3795 msgid "" "Raises an :ref:`auditing event ` ``os.utime`` with arguments " "``path``, ``times``, ``ns``, ``dir_fd``." msgstr "" -#: ../../library/os.rst:3792 +#: ../../library/os.rst:3797 msgid "" "Added support for specifying *path* as an open file descriptor, and the " "*dir_fd*, *follow_symlinks*, and *ns* parameters." msgstr "" -#: ../../library/os.rst:3806 +#: ../../library/os.rst:3811 msgid "" "Generate the file names in a directory tree by walking the tree either top-" "down or bottom-up. For each directory in the tree rooted at directory *top* " @@ -4140,7 +4148,7 @@ msgid "" "filenames)``." msgstr "" -#: ../../library/os.rst:3811 +#: ../../library/os.rst:3816 msgid "" "*dirpath* is a string, the path to the directory. *dirnames* is a list of " "the names of the subdirectories in *dirpath* (including symlinks to " @@ -4154,7 +4162,7 @@ msgid "" "unspecified." msgstr "" -#: ../../library/os.rst:3822 +#: ../../library/os.rst:3827 msgid "" "If optional argument *topdown* is ``True`` or not specified, the triple for " "a directory is generated before the triples for any of its subdirectories " @@ -4165,7 +4173,7 @@ msgid "" "its subdirectories are generated." msgstr "" -#: ../../library/os.rst:3830 +#: ../../library/os.rst:3835 msgid "" "When *topdown* is ``True``, the caller can modify the *dirnames* list in-" "place (perhaps using :keyword:`del` or slice assignment), and :func:`walk` " @@ -4178,7 +4186,7 @@ msgid "" "itself is generated." msgstr "" -#: ../../library/os.rst:3839 +#: ../../library/os.rst:3844 msgid "" "By default, errors from the :func:`scandir` call are ignored. If optional " "argument *onerror* is specified, it should be a function; it will be called " @@ -4188,35 +4196,35 @@ msgid "" "object." msgstr "" -#: ../../library/os.rst:3845 +#: ../../library/os.rst:3850 msgid "" "By default, :func:`walk` will not walk down into symbolic links that resolve " "to directories. Set *followlinks* to ``True`` to visit directories pointed " "to by symlinks, on systems that support them." msgstr "" -#: ../../library/os.rst:3851 +#: ../../library/os.rst:3856 msgid "" "Be aware that setting *followlinks* to ``True`` can lead to infinite " "recursion if a link points to a parent directory of itself. :func:`walk` " "does not keep track of the directories it visited already." msgstr "" -#: ../../library/os.rst:3857 +#: ../../library/os.rst:3862 msgid "" "If you pass a relative pathname, don't change the current working directory " "between resumptions of :func:`walk`. :func:`walk` never changes the current " "directory, and assumes that its caller doesn't either." msgstr "" -#: ../../library/os.rst:3861 ../../library/os.rst:3923 +#: ../../library/os.rst:3866 ../../library/os.rst:3928 msgid "" "This example displays the number of bytes taken by non-directory files in " "each directory under the starting directory, except that it doesn't look " "under any ``__pycache__`` subdirectory::" msgstr "" -#: ../../library/os.rst:3865 +#: ../../library/os.rst:3870 msgid "" "import os\n" "from os.path import join, getsize\n" @@ -4228,14 +4236,14 @@ msgid "" " dirs.remove('__pycache__') # don't visit __pycache__ directories" msgstr "" -#: ../../library/os.rst:3874 +#: ../../library/os.rst:3879 msgid "" "In the next example (simple implementation of :func:`shutil.rmtree`), " "walking the tree bottom-up is essential, :func:`rmdir` doesn't allow " "deleting a directory before the directory is empty::" msgstr "" -#: ../../library/os.rst:3878 +#: ../../library/os.rst:3883 msgid "" "# Delete everything reachable from the directory named in \"top\",\n" "# assuming there are no symbolic links.\n" @@ -4250,31 +4258,31 @@ msgid "" "os.rmdir(top)" msgstr "" -#: ../../library/os.rst:3890 +#: ../../library/os.rst:3895 msgid "" "Raises an :ref:`auditing event ` ``os.walk`` with arguments " "``top``, ``topdown``, ``onerror``, ``followlinks``." msgstr "" -#: ../../library/os.rst:3892 +#: ../../library/os.rst:3897 msgid "" "This function now calls :func:`os.scandir` instead of :func:`os.listdir`, " "making it faster by reducing the number of calls to :func:`os.stat`." msgstr "" -#: ../../library/os.rst:3906 +#: ../../library/os.rst:3911 msgid "" "This behaves exactly like :func:`walk`, except that it yields a 4-tuple " "``(dirpath, dirnames, filenames, dirfd)``, and it supports ``dir_fd``." msgstr "" -#: ../../library/os.rst:3909 +#: ../../library/os.rst:3914 msgid "" "*dirpath*, *dirnames* and *filenames* are identical to :func:`walk` output, " "and *dirfd* is a file descriptor referring to the directory *dirpath*." msgstr "" -#: ../../library/os.rst:3912 +#: ../../library/os.rst:3917 msgid "" "This function always supports :ref:`paths relative to directory descriptors " "` and :ref:`not following symlinks `. Note however " @@ -4282,14 +4290,14 @@ msgid "" "*follow_symlinks* is ``False``." msgstr "" -#: ../../library/os.rst:3919 +#: ../../library/os.rst:3924 msgid "" "Since :func:`fwalk` yields file descriptors, those are only valid until the " "next iteration step, so you should duplicate them (e.g. with :func:`dup`) if " "you want to keep them longer." msgstr "" -#: ../../library/os.rst:3927 +#: ../../library/os.rst:3932 msgid "" "import os\n" "for root, dirs, files, rootfd in os.fwalk('python/Lib/xml'):\n" @@ -4301,13 +4309,13 @@ msgid "" " dirs.remove('__pycache__') # don't visit __pycache__ directories" msgstr "" -#: ../../library/os.rst:3936 +#: ../../library/os.rst:3941 msgid "" "In the next example, walking the tree bottom-up is essential: :func:`rmdir` " "doesn't allow deleting a directory before the directory is empty::" msgstr "" -#: ../../library/os.rst:3940 +#: ../../library/os.rst:3945 msgid "" "# Delete everything reachable from the directory named in \"top\",\n" "# assuming there are no symbolic links.\n" @@ -4321,17 +4329,17 @@ msgid "" " os.rmdir(name, dir_fd=rootfd)" msgstr "" -#: ../../library/os.rst:3951 +#: ../../library/os.rst:3956 msgid "" "Raises an :ref:`auditing event ` ``os.fwalk`` with arguments " "``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." msgstr "" -#: ../../library/os.rst:3960 +#: ../../library/os.rst:3965 msgid "Added support for :class:`bytes` paths." msgstr "" -#: ../../library/os.rst:3966 +#: ../../library/os.rst:3971 msgid "" "Create an anonymous file and return a file descriptor that refers to it. " "*flags* must be one of the ``os.MFD_*`` constants available on the system " @@ -4339,7 +4347,7 @@ msgid "" "descriptor is :ref:`non-inheritable `." msgstr "" -#: ../../library/os.rst:3971 +#: ../../library/os.rst:3976 msgid "" "The name supplied in *name* is used as a filename and will be displayed as " "the target of the corresponding symbolic link in the directory ``/proc/self/" @@ -4349,15 +4357,15 @@ msgid "" "side effects." msgstr "" -#: ../../library/os.rst:4001 +#: ../../library/os.rst:4006 msgid "These flags can be passed to :func:`memfd_create`." msgstr "" -#: ../../library/os.rst:4005 +#: ../../library/os.rst:4010 msgid "The ``MFD_HUGE*`` flags are only available since Linux 4.14." msgstr "" -#: ../../library/os.rst:4012 +#: ../../library/os.rst:4017 msgid "" "Create and return an event file descriptor. The file descriptors supports " "raw :func:`read` and :func:`write` with a buffer size of 8, :func:`~select." @@ -4366,7 +4374,7 @@ msgid "" "ref:`non-inheritable `." msgstr "" -#: ../../library/os.rst:4018 +#: ../../library/os.rst:4023 msgid "" "*initval* is the initial value of the event counter. The initial value must " "be a 32 bit unsigned integer. Please note that the initial value is limited " @@ -4374,39 +4382,39 @@ msgid "" "integer with a maximum value of 2\\ :sup:`64`\\ -\\ 2." msgstr "" -#: ../../library/os.rst:4023 +#: ../../library/os.rst:4028 msgid "" "*flags* can be constructed from :const:`EFD_CLOEXEC`, :const:`EFD_NONBLOCK`, " "and :const:`EFD_SEMAPHORE`." msgstr "" -#: ../../library/os.rst:4026 +#: ../../library/os.rst:4031 msgid "" "If :const:`EFD_SEMAPHORE` is specified and the event counter is non-zero, :" "func:`eventfd_read` returns 1 and decrements the counter by one." msgstr "" -#: ../../library/os.rst:4029 +#: ../../library/os.rst:4034 msgid "" "If :const:`EFD_SEMAPHORE` is not specified and the event counter is non-" "zero, :func:`eventfd_read` returns the current event counter value and " "resets the counter to zero." msgstr "" -#: ../../library/os.rst:4033 +#: ../../library/os.rst:4038 msgid "" "If the event counter is zero and :const:`EFD_NONBLOCK` is not specified, :" "func:`eventfd_read` blocks." msgstr "" -#: ../../library/os.rst:4036 +#: ../../library/os.rst:4041 msgid "" ":func:`eventfd_write` increments the event counter. Write blocks if the " "write operation would increment the counter to a value larger than 2\\ :sup:" "`64`\\ -\\ 2." msgstr "" -#: ../../library/os.rst:4042 +#: ../../library/os.rst:4047 msgid "" "import os\n" "\n" @@ -4424,64 +4432,64 @@ msgid "" " os.close(fd)" msgstr "" -#: ../../library/os.rst:4063 +#: ../../library/os.rst:4068 msgid "" "Read value from an :func:`eventfd` file descriptor and return a 64 bit " "unsigned int. The function does not verify that *fd* is an :func:`eventfd`." msgstr "" -#: ../../library/os.rst:4072 +#: ../../library/os.rst:4077 msgid "" "Add value to an :func:`eventfd` file descriptor. *value* must be a 64 bit " "unsigned int. The function does not verify that *fd* is an :func:`eventfd`." msgstr "" -#: ../../library/os.rst:4081 +#: ../../library/os.rst:4086 msgid "Set close-on-exec flag for new :func:`eventfd` file descriptor." msgstr "" -#: ../../library/os.rst:4089 +#: ../../library/os.rst:4094 msgid "" "Set :const:`O_NONBLOCK` status flag for new :func:`eventfd` file descriptor." msgstr "" -#: ../../library/os.rst:4098 +#: ../../library/os.rst:4103 msgid "" "Provide semaphore-like semantics for reads from an :func:`eventfd` file " "descriptor. On read the internal counter is decremented by one." msgstr "" -#: ../../library/os.rst:4109 +#: ../../library/os.rst:4114 msgid "Timer File Descriptors" msgstr "" -#: ../../library/os.rst:4113 +#: ../../library/os.rst:4118 msgid "" "These functions provide support for Linux's *timer file descriptor* API. " "Naturally, they are all only available on Linux." msgstr "" -#: ../../library/os.rst:4118 +#: ../../library/os.rst:4123 msgid "Create and return a timer file descriptor (*timerfd*)." msgstr "" -#: ../../library/os.rst:4120 +#: ../../library/os.rst:4125 msgid "The file descriptor returned by :func:`timerfd_create` supports:" msgstr "" -#: ../../library/os.rst:4122 +#: ../../library/os.rst:4127 msgid ":func:`read`" msgstr "" -#: ../../library/os.rst:4123 +#: ../../library/os.rst:4128 msgid ":func:`~select.select`" msgstr "" -#: ../../library/os.rst:4124 +#: ../../library/os.rst:4129 msgid ":func:`~select.poll`" msgstr "" -#: ../../library/os.rst:4126 +#: ../../library/os.rst:4131 msgid "" "The file descriptor's :func:`read` method can be called with a buffer size " "of 8. If the timer has already expired one or more times, :func:`read` " @@ -4490,31 +4498,31 @@ msgid "" "byteorder)``." msgstr "" -#: ../../library/os.rst:4131 +#: ../../library/os.rst:4136 msgid "" ":func:`~select.select` and :func:`~select.poll` can be used to wait until " "timer expires and the file descriptor is readable." msgstr "" -#: ../../library/os.rst:4134 +#: ../../library/os.rst:4139 msgid "" "*clockid* must be a valid :ref:`clock ID `, as " "defined in the :py:mod:`time` module:" msgstr "" -#: ../../library/os.rst:4137 +#: ../../library/os.rst:4142 msgid ":const:`time.CLOCK_REALTIME`" msgstr "" -#: ../../library/os.rst:4138 +#: ../../library/os.rst:4143 msgid ":const:`time.CLOCK_MONOTONIC`" msgstr "" -#: ../../library/os.rst:4139 +#: ../../library/os.rst:4144 msgid ":const:`time.CLOCK_BOOTTIME` (Since Linux 3.15 for timerfd_create)" msgstr "" -#: ../../library/os.rst:4141 +#: ../../library/os.rst:4146 msgid "" "If *clockid* is :const:`time.CLOCK_REALTIME`, a settable system-wide real-" "time clock is used. If the system clock is changed, the timer setting needs " @@ -4522,35 +4530,35 @@ msgid "" "const:`TFD_TIMER_CANCEL_ON_SET`." msgstr "" -#: ../../library/os.rst:4146 +#: ../../library/os.rst:4151 msgid "" "If *clockid* is :const:`time.CLOCK_MONOTONIC`, a non-settable monotonically " "increasing clock is used. Even if the system clock is changed, the timer " "setting will not be affected." msgstr "" -#: ../../library/os.rst:4150 +#: ../../library/os.rst:4155 msgid "" "If *clockid* is :const:`time.CLOCK_BOOTTIME`, it is the same as :const:`time." "CLOCK_MONOTONIC` except it includes any time that the system is suspended." msgstr "" -#: ../../library/os.rst:4154 +#: ../../library/os.rst:4159 msgid "" "The file descriptor's behaviour can be modified by specifying a *flags* " "value. Any of the following variables may be used, combined using bitwise OR " "(the ``|`` operator):" msgstr "" -#: ../../library/os.rst:4158 +#: ../../library/os.rst:4163 msgid ":const:`TFD_NONBLOCK`" msgstr "" -#: ../../library/os.rst:4159 +#: ../../library/os.rst:4164 msgid ":const:`TFD_CLOEXEC`" msgstr "" -#: ../../library/os.rst:4161 +#: ../../library/os.rst:4166 msgid "" "If :const:`TFD_NONBLOCK` is not set as a flag, :func:`read` blocks until the " "timer expires. If it is set as a flag, :func:`read` doesn't block, but if " @@ -4558,46 +4566,46 @@ msgid "" "raises :class:`OSError` with ``errno`` set to :const:`errno.EAGAIN`." msgstr "" -#: ../../library/os.rst:4167 +#: ../../library/os.rst:4172 msgid ":const:`TFD_CLOEXEC` is always set by Python automatically." msgstr "" -#: ../../library/os.rst:4169 +#: ../../library/os.rst:4174 msgid "" "The file descriptor must be closed with :func:`os.close` when it is no " "longer needed, or else the file descriptor will be leaked." msgstr "" -#: ../../library/os.rst:4172 +#: ../../library/os.rst:4177 msgid "The :manpage:`timerfd_create(2)` man page." msgstr "" -#: ../../library/os.rst:4181 +#: ../../library/os.rst:4186 msgid "" "Alter a timer file descriptor's internal timer. This function operates the " "same interval timer as :func:`timerfd_settime_ns`." msgstr "" -#: ../../library/os.rst:4184 +#: ../../library/os.rst:4189 msgid "*fd* must be a valid timer file descriptor." msgstr "" -#: ../../library/os.rst:4186 +#: ../../library/os.rst:4191 msgid "" "The timer's behaviour can be modified by specifying a *flags* value. Any of " "the following variables may be used, combined using bitwise OR (the ``|`` " "operator):" msgstr "" -#: ../../library/os.rst:4190 +#: ../../library/os.rst:4195 msgid ":const:`TFD_TIMER_ABSTIME`" msgstr "" -#: ../../library/os.rst:4191 +#: ../../library/os.rst:4196 msgid ":const:`TFD_TIMER_CANCEL_ON_SET`" msgstr "" -#: ../../library/os.rst:4193 +#: ../../library/os.rst:4198 msgid "" "The timer is disabled by setting *initial* to zero (``0``). If *initial* is " "greater than zero, the timer is enabled. If *initial* is less than zero, it " @@ -4605,18 +4613,18 @@ msgid "" "EINVAL`." msgstr "" -#: ../../library/os.rst:4198 +#: ../../library/os.rst:4203 msgid "By default the timer will fire when *initial* seconds have elapsed." msgstr "" -#: ../../library/os.rst:4200 +#: ../../library/os.rst:4205 msgid "" "However, if the :const:`TFD_TIMER_ABSTIME` flag is set, the timer will fire " "when the timer's clock (set by *clockid* in :func:`timerfd_create`) reaches " "*initial* seconds." msgstr "" -#: ../../library/os.rst:4204 +#: ../../library/os.rst:4209 msgid "" "The timer's interval is set by the *interval* :py:class:`float`. If " "*interval* is zero, the timer only fires once, on the initial expiration. If " @@ -4626,7 +4634,7 @@ msgid "" "EINVAL`." msgstr "" -#: ../../library/os.rst:4211 +#: ../../library/os.rst:4216 msgid "" "If the :const:`TFD_TIMER_CANCEL_ON_SET` flag is set along with :const:" "`TFD_TIMER_ABSTIME` and the clock for this timer is :const:`time." @@ -4635,86 +4643,86 @@ msgid "" "const:`errno.ECANCELED`." msgstr "" -#: ../../library/os.rst:4217 +#: ../../library/os.rst:4222 msgid "" "Linux manages system clock as UTC. A daylight-savings time transition is " "done by changing time offset only and doesn't cause discontinuous system " "clock change." msgstr "" -#: ../../library/os.rst:4221 +#: ../../library/os.rst:4226 msgid "" "Discontinuous system clock change will be caused by the following events:" msgstr "" -#: ../../library/os.rst:4223 +#: ../../library/os.rst:4228 msgid "``settimeofday``" msgstr "" -#: ../../library/os.rst:4224 +#: ../../library/os.rst:4229 msgid "``clock_settime``" msgstr "" -#: ../../library/os.rst:4225 +#: ../../library/os.rst:4230 msgid "set the system date and time by ``date`` command" msgstr "" -#: ../../library/os.rst:4227 +#: ../../library/os.rst:4232 msgid "" "Return a two-item tuple of (``next_expiration``, ``interval``) from the " "previous timer state, before this function executed." msgstr "" -#: ../../library/os.rst:4232 +#: ../../library/os.rst:4237 msgid "" ":manpage:`timerfd_create(2)`, :manpage:`timerfd_settime(2)`, :manpage:" "`settimeofday(2)`, :manpage:`clock_settime(2)`, and :manpage:`date(1)`." msgstr "" -#: ../../library/os.rst:4243 +#: ../../library/os.rst:4248 msgid "" "Similar to :func:`timerfd_settime`, but use time as nanoseconds. This " "function operates the same interval timer as :func:`timerfd_settime`." msgstr "" -#: ../../library/os.rst:4253 +#: ../../library/os.rst:4258 msgid "Return a two-item tuple of floats (``next_expiration``, ``interval``)." msgstr "" -#: ../../library/os.rst:4255 +#: ../../library/os.rst:4260 msgid "" "``next_expiration`` denotes the relative time until the timer next fires, " "regardless of if the :const:`TFD_TIMER_ABSTIME` flag is set." msgstr "" -#: ../../library/os.rst:4258 +#: ../../library/os.rst:4263 msgid "" "``interval`` denotes the timer's interval. If zero, the timer will only fire " "once, after ``next_expiration`` seconds have elapsed." msgstr "" -#: ../../library/os.rst:4262 +#: ../../library/os.rst:4267 msgid ":manpage:`timerfd_gettime(2)`" msgstr "" -#: ../../library/os.rst:4271 +#: ../../library/os.rst:4276 msgid "Similar to :func:`timerfd_gettime`, but return time as nanoseconds." msgstr "" -#: ../../library/os.rst:4279 +#: ../../library/os.rst:4284 msgid "" "A flag for the :func:`timerfd_create` function, which sets the :const:" "`O_NONBLOCK` status flag for the new timer file descriptor. If :const:" "`TFD_NONBLOCK` is not set as a flag, :func:`read` blocks." msgstr "" -#: ../../library/os.rst:4289 +#: ../../library/os.rst:4294 msgid "" "A flag for the :func:`timerfd_create` function, If :const:`TFD_CLOEXEC` is " "set as a flag, set close-on-exec flag for new file descriptor." msgstr "" -#: ../../library/os.rst:4299 +#: ../../library/os.rst:4304 msgid "" "A flag for the :func:`timerfd_settime` and :func:`timerfd_settime_ns` " "functions. If this flag is set, *initial* is interpreted as an absolute " @@ -4722,22 +4730,22 @@ msgid "" "Epoch)." msgstr "" -#: ../../library/os.rst:4309 +#: ../../library/os.rst:4314 msgid "" "A flag for the :func:`timerfd_settime` and :func:`timerfd_settime_ns` " "functions along with :const:`TFD_TIMER_ABSTIME`. The timer is cancelled when " "the time of the underlying clock changes discontinuously." msgstr "" -#: ../../library/os.rst:4320 +#: ../../library/os.rst:4325 msgid "Linux extended attributes" msgstr "" -#: ../../library/os.rst:4324 +#: ../../library/os.rst:4329 msgid "These functions are all available on Linux only." msgstr "" -#: ../../library/os.rst:4328 +#: ../../library/os.rst:4333 msgid "" "Return the value of the extended filesystem attribute *attribute* for " "*path*. *attribute* can be bytes or str (directly or indirectly through the :" @@ -4745,18 +4753,18 @@ msgid "" "encoding." msgstr "" -#: ../../library/os.rst:4336 +#: ../../library/os.rst:4341 msgid "" "Raises an :ref:`auditing event ` ``os.getxattr`` with arguments " "``path``, ``attribute``." msgstr "" -#: ../../library/os.rst:4338 ../../library/os.rst:4370 -#: ../../library/os.rst:4395 +#: ../../library/os.rst:4343 ../../library/os.rst:4375 +#: ../../library/os.rst:4400 msgid "Accepts a :term:`path-like object` for *path* and *attribute*." msgstr "" -#: ../../library/os.rst:4344 +#: ../../library/os.rst:4349 msgid "" "Return a list of the extended filesystem attributes on *path*. The " "attributes in the list are represented as strings decoded with the " @@ -4764,13 +4772,13 @@ msgid "" "the current directory." msgstr "" -#: ../../library/os.rst:4352 +#: ../../library/os.rst:4357 msgid "" "Raises an :ref:`auditing event ` ``os.listxattr`` with argument " "``path``." msgstr "" -#: ../../library/os.rst:4360 +#: ../../library/os.rst:4365 msgid "" "Removes the extended filesystem attribute *attribute* from *path*. " "*attribute* should be bytes or str (directly or indirectly through the :" @@ -4778,13 +4786,13 @@ msgid "" "`filesystem encoding and error handler`." msgstr "" -#: ../../library/os.rst:4368 +#: ../../library/os.rst:4373 msgid "" "Raises an :ref:`auditing event ` ``os.removexattr`` with arguments " "``path``, ``attribute``." msgstr "" -#: ../../library/os.rst:4376 +#: ../../library/os.rst:4381 msgid "" "Set the extended filesystem attribute *attribute* on *path* to *value*. " "*attribute* must be a bytes or str with no embedded NULs (directly or " @@ -4796,45 +4804,45 @@ msgid "" "will not be created and ``EEXISTS`` will be raised." msgstr "" -#: ../../library/os.rst:4390 +#: ../../library/os.rst:4395 msgid "" "A bug in Linux kernel versions less than 2.6.39 caused the flags argument to " "be ignored on some filesystems." msgstr "" -#: ../../library/os.rst:4393 +#: ../../library/os.rst:4398 msgid "" "Raises an :ref:`auditing event ` ``os.setxattr`` with arguments " "``path``, ``attribute``, ``value``, ``flags``." msgstr "" -#: ../../library/os.rst:4401 +#: ../../library/os.rst:4406 msgid "" "The maximum size the value of an extended attribute can be. Currently, this " "is 64 KiB on Linux." msgstr "" -#: ../../library/os.rst:4407 +#: ../../library/os.rst:4412 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must create an attribute." msgstr "" -#: ../../library/os.rst:4413 +#: ../../library/os.rst:4418 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must replace an existing attribute." msgstr "" -#: ../../library/os.rst:4420 +#: ../../library/os.rst:4425 msgid "Process Management" msgstr "" -#: ../../library/os.rst:4422 +#: ../../library/os.rst:4427 msgid "These functions may be used to create and manage processes." msgstr "" -#: ../../library/os.rst:4424 +#: ../../library/os.rst:4429 msgid "" "The various :func:`exec\\* ` functions take a list of arguments for " "the new program loaded into the process. In each case, the first of these " @@ -4845,7 +4853,7 @@ msgid "" "standard output; ``foo`` will seem to be ignored." msgstr "" -#: ../../library/os.rst:4435 +#: ../../library/os.rst:4440 msgid "" "Generate a :const:`SIGABRT` signal to the current process. On Unix, the " "default behavior is to produce a core dump; on Windows, the process " @@ -4854,37 +4862,37 @@ msgid "" "`SIGABRT` with :func:`signal.signal`." msgstr "" -#: ../../library/os.rst:4444 +#: ../../library/os.rst:4449 msgid "Add a path to the DLL search path." msgstr "" -#: ../../library/os.rst:4446 +#: ../../library/os.rst:4451 msgid "" "This search path is used when resolving dependencies for imported extension " "modules (the module itself is resolved through :data:`sys.path`), and also " "by :mod:`ctypes`." msgstr "" -#: ../../library/os.rst:4450 +#: ../../library/os.rst:4455 msgid "" "Remove the directory by calling **close()** on the returned object or using " "it in a :keyword:`with` statement." msgstr "" -#: ../../library/os.rst:4453 +#: ../../library/os.rst:4458 msgid "" "See the `Microsoft documentation `_ for more information about how " "DLLs are loaded." msgstr "" -#: ../../library/os.rst:4457 +#: ../../library/os.rst:4462 msgid "" "Raises an :ref:`auditing event ` ``os.add_dll_directory`` with " "argument ``path``." msgstr "" -#: ../../library/os.rst:4461 +#: ../../library/os.rst:4466 msgid "" "Previous versions of CPython would resolve DLLs using the default behavior " "for the current process. This led to inconsistencies, such as only sometimes " @@ -4892,14 +4900,14 @@ msgid "" "such as ``AddDllDirectory`` having no effect." msgstr "" -#: ../../library/os.rst:4468 +#: ../../library/os.rst:4473 msgid "" "In 3.8, the two primary ways DLLs are loaded now explicitly override the " "process-wide behavior to ensure consistency. See the :ref:`porting notes " "` for information on updating libraries." msgstr "" -#: ../../library/os.rst:4483 +#: ../../library/os.rst:4488 msgid "" "These functions all execute a new program, replacing the current process; " "they do not return. On Unix, the new executable is loaded into the current " @@ -4907,7 +4915,7 @@ msgid "" "reported as :exc:`OSError` exceptions." msgstr "" -#: ../../library/os.rst:4488 +#: ../../library/os.rst:4493 msgid "" "The current process is replaced immediately. Open file objects and " "descriptors are not flushed, so if there may be data buffered on these open " @@ -4915,7 +4923,7 @@ msgid "" "fsync` before calling an :func:`exec\\* ` function." msgstr "" -#: ../../library/os.rst:4494 +#: ../../library/os.rst:4499 msgid "" "The \"l\" and \"v\" variants of the :func:`exec\\* ` functions differ " "in how command-line arguments are passed. The \"l\" variants are perhaps " @@ -4928,7 +4936,7 @@ msgid "" "is not enforced." msgstr "" -#: ../../library/os.rst:4503 +#: ../../library/os.rst:4508 msgid "" "The variants which include a \"p\" near the end (:func:`execlp`, :func:" "`execlpe`, :func:`execvp`, and :func:`execvpe`) will use the :envvar:`PATH` " @@ -4942,7 +4950,7 @@ msgid "" "even on Windows, as plain names will not be resolved." msgstr "" -#: ../../library/os.rst:4514 +#: ../../library/os.rst:4519 msgid "" "For :func:`execle`, :func:`execlpe`, :func:`execve`, and :func:`execvpe` " "(note that these all end in \"e\"), the *env* parameter must be a mapping " @@ -4952,7 +4960,7 @@ msgid "" "process to inherit the environment of the current process." msgstr "" -#: ../../library/os.rst:4521 +#: ../../library/os.rst:4526 msgid "" "For :func:`execve` on some platforms, *path* may also be specified as an " "open file descriptor. This functionality may not be supported on your " @@ -4961,31 +4969,31 @@ msgid "" "`NotImplementedError`." msgstr "" -#: ../../library/os.rst:4526 +#: ../../library/os.rst:4531 msgid "" "Raises an :ref:`auditing event ` ``os.exec`` with arguments " "``path``, ``args``, ``env``." msgstr "" -#: ../../library/os.rst:4530 +#: ../../library/os.rst:4535 msgid "" "Added support for specifying *path* as an open file descriptor for :func:" "`execve`." msgstr "" -#: ../../library/os.rst:4539 +#: ../../library/os.rst:4544 msgid "" "Exit the process with status *n*, without calling cleanup handlers, flushing " "stdio buffers, etc." msgstr "" -#: ../../library/os.rst:4544 +#: ../../library/os.rst:4549 msgid "" "The standard way to exit is :func:`sys.exit(n) `. :func:`!_exit` " "should normally only be used in the child process after a :func:`fork`." msgstr "" -#: ../../library/os.rst:4547 +#: ../../library/os.rst:4552 msgid "" "The following exit codes are defined and can be used with :func:`_exit`, " "although they are not required. These are typically used for system " @@ -4993,139 +5001,139 @@ msgid "" "delivery program." msgstr "" -#: ../../library/os.rst:4553 +#: ../../library/os.rst:4558 msgid "" "Some of these may not be available on all Unix platforms, since there is " "some variation. These constants are defined where they are defined by the " "underlying platform." msgstr "" -#: ../../library/os.rst:4560 +#: ../../library/os.rst:4565 msgid "" "Exit code that means no error occurred. May be taken from the defined value " "of ``EXIT_SUCCESS`` on some platforms. Generally has a value of zero." msgstr "" -#: ../../library/os.rst:4568 +#: ../../library/os.rst:4573 msgid "" "Exit code that means the command was used incorrectly, such as when the " "wrong number of arguments are given." msgstr "" -#: ../../library/os.rst:4576 +#: ../../library/os.rst:4581 msgid "Exit code that means the input data was incorrect." msgstr "" -#: ../../library/os.rst:4583 +#: ../../library/os.rst:4588 msgid "Exit code that means an input file did not exist or was not readable." msgstr "" -#: ../../library/os.rst:4590 +#: ../../library/os.rst:4595 msgid "Exit code that means a specified user did not exist." msgstr "" -#: ../../library/os.rst:4597 +#: ../../library/os.rst:4602 msgid "Exit code that means a specified host did not exist." msgstr "" -#: ../../library/os.rst:4604 +#: ../../library/os.rst:4609 msgid "Exit code that means that a required service is unavailable." msgstr "" -#: ../../library/os.rst:4611 +#: ../../library/os.rst:4616 msgid "Exit code that means an internal software error was detected." msgstr "" -#: ../../library/os.rst:4618 +#: ../../library/os.rst:4623 msgid "" "Exit code that means an operating system error was detected, such as the " "inability to fork or create a pipe." msgstr "" -#: ../../library/os.rst:4626 +#: ../../library/os.rst:4631 msgid "" "Exit code that means some system file did not exist, could not be opened, or " "had some other kind of error." msgstr "" -#: ../../library/os.rst:4634 +#: ../../library/os.rst:4639 msgid "Exit code that means a user specified output file could not be created." msgstr "" -#: ../../library/os.rst:4641 +#: ../../library/os.rst:4646 msgid "" "Exit code that means that an error occurred while doing I/O on some file." msgstr "" -#: ../../library/os.rst:4648 +#: ../../library/os.rst:4653 msgid "" "Exit code that means a temporary failure occurred. This indicates something " "that may not really be an error, such as a network connection that couldn't " "be made during a retryable operation." msgstr "" -#: ../../library/os.rst:4657 +#: ../../library/os.rst:4662 msgid "" "Exit code that means that a protocol exchange was illegal, invalid, or not " "understood." msgstr "" -#: ../../library/os.rst:4665 +#: ../../library/os.rst:4670 msgid "" "Exit code that means that there were insufficient permissions to perform the " "operation (but not intended for file system problems)." msgstr "" -#: ../../library/os.rst:4673 +#: ../../library/os.rst:4678 msgid "Exit code that means that some kind of configuration error occurred." msgstr "" -#: ../../library/os.rst:4680 +#: ../../library/os.rst:4685 msgid "Exit code that means something like \"an entry was not found\"." msgstr "" -#: ../../library/os.rst:4687 +#: ../../library/os.rst:4692 msgid "" "Fork a child process. Return ``0`` in the child and the child's process id " "in the parent. If an error occurs :exc:`OSError` is raised." msgstr "" -#: ../../library/os.rst:4690 +#: ../../library/os.rst:4695 msgid "" "Note that some platforms including FreeBSD <= 6.3 and Cygwin have known " "issues when using ``fork()`` from a thread." msgstr "" -#: ../../library/os.rst:4693 +#: ../../library/os.rst:4698 msgid "" "Raises an :ref:`auditing event ` ``os.fork`` with no arguments." msgstr "" -#: ../../library/os.rst:4697 +#: ../../library/os.rst:4702 msgid "" "If you use TLS sockets in an application calling ``fork()``, see the warning " "in the :mod:`ssl` documentation." msgstr "" -#: ../../library/os.rst:4702 ../../library/os.rst:4746 +#: ../../library/os.rst:4707 ../../library/os.rst:4751 msgid "" "On macOS the use of this function is unsafe when mixed with using higher-" "level system APIs, and that includes using :mod:`urllib.request`." msgstr "" -#: ../../library/os.rst:4705 +#: ../../library/os.rst:4710 msgid "" "Calling ``fork()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." msgstr "" -#: ../../library/os.rst:4709 +#: ../../library/os.rst:4714 msgid "" "If Python is able to detect that your process has multiple threads, :func:" "`os.fork` now raises a :exc:`DeprecationWarning`." msgstr "" -#: ../../library/os.rst:4713 +#: ../../library/os.rst:4718 msgid "" "We chose to surface this as a warning, when detectable, to better inform " "developers of a design problem that the POSIX platform specifically notes as " @@ -5136,21 +5144,21 @@ msgid "" "``free``)." msgstr "" -#: ../../library/os.rst:4722 +#: ../../library/os.rst:4727 msgid "" "Users of macOS or users of libc or malloc implementations other than those " "typically found in glibc to date are among those already more likely to " "experience deadlocks running such code." msgstr "" -#: ../../library/os.rst:4726 +#: ../../library/os.rst:4731 msgid "" "See `this discussion on fork being incompatible with threads `_ for technical details of why we're surfacing " "this longstanding platform compatibility problem to developers." msgstr "" -#: ../../library/os.rst:4736 +#: ../../library/os.rst:4741 msgid "" "Fork a child process, using a new pseudo-terminal as the child's controlling " "terminal. Return a pair of ``(pid, fd)``, where *pid* is ``0`` in the child, " @@ -5159,31 +5167,31 @@ msgid "" "the :mod:`pty` module. If an error occurs :exc:`OSError` is raised." msgstr "" -#: ../../library/os.rst:4742 +#: ../../library/os.rst:4747 msgid "" "Raises an :ref:`auditing event ` ``os.forkpty`` with no arguments." msgstr "" -#: ../../library/os.rst:4749 +#: ../../library/os.rst:4754 msgid "" "Calling ``forkpty()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." msgstr "" -#: ../../library/os.rst:4753 +#: ../../library/os.rst:4758 msgid "" "If Python is able to detect that your process has multiple threads, this now " "raises a :exc:`DeprecationWarning`. See the longer explanation on :func:`os." "fork`." msgstr "" -#: ../../library/os.rst:4767 +#: ../../library/os.rst:4772 msgid "" "Send signal *sig* to the process *pid*. Constants for the specific signals " "available on the host platform are defined in the :mod:`signal` module." msgstr "" -#: ../../library/os.rst:4770 +#: ../../library/os.rst:4775 msgid "" "Windows: The :const:`signal.CTRL_C_EVENT` and :const:`signal." "CTRL_BREAK_EVENT` signals are special signals which can only be sent to " @@ -5193,43 +5201,43 @@ msgid "" "be set to *sig*." msgstr "" -#: ../../library/os.rst:4777 +#: ../../library/os.rst:4782 msgid "See also :func:`signal.pthread_kill`." msgstr "" -#: ../../library/os.rst:4779 +#: ../../library/os.rst:4784 msgid "" "Raises an :ref:`auditing event ` ``os.kill`` with arguments " "``pid``, ``sig``." msgstr "" -#: ../../library/os.rst:4793 +#: ../../library/os.rst:4798 msgid "Send the signal *sig* to the process group *pgid*." msgstr "" -#: ../../library/os.rst:4795 +#: ../../library/os.rst:4800 msgid "" "Raises an :ref:`auditing event ` ``os.killpg`` with arguments " "``pgid``, ``sig``." msgstr "" -#: ../../library/os.rst:4802 +#: ../../library/os.rst:4807 msgid "" "Add *increment* to the process's \"niceness\". Return the new niceness." msgstr "" -#: ../../library/os.rst:4809 +#: ../../library/os.rst:4814 msgid "" "Return a file descriptor referring to the process *pid* with *flags* set. " "This descriptor can be used to perform process management without races and " "signals." msgstr "" -#: ../../library/os.rst:4813 +#: ../../library/os.rst:4818 msgid "See the :manpage:`pidfd_open(2)` man page for more details." msgstr "" -#: ../../library/os.rst:4820 +#: ../../library/os.rst:4825 msgid "" "This flag indicates that the file descriptor will be non-blocking. If the " "process referred to by the file descriptor has not yet terminated, then an " @@ -5237,13 +5245,13 @@ msgid "" "immediately return the error :const:`~errno.EAGAIN` rather than blocking." msgstr "" -#: ../../library/os.rst:4831 +#: ../../library/os.rst:4836 msgid "" "Lock program segments into memory. The value of *op* (defined in ````) determines which segments are locked." msgstr "" -#: ../../library/os.rst:4839 +#: ../../library/os.rst:4844 msgid "" "Open a pipe to or from command *cmd*. The return value is an open file " "object connected to the pipe, which can be read or written depending on " @@ -5253,7 +5261,7 @@ msgid "" "rather than bytes." msgstr "" -#: ../../library/os.rst:4847 +#: ../../library/os.rst:4852 msgid "" "The ``close`` method returns :const:`None` if the subprocess exited " "successfully, or the subprocess's return code if there was an error. On " @@ -5265,61 +5273,61 @@ msgid "" "contains the signed integer return code from the child process." msgstr "" -#: ../../library/os.rst:4857 +#: ../../library/os.rst:4862 msgid "" "On Unix, :func:`waitstatus_to_exitcode` can be used to convert the ``close`` " "method result (exit status) into an exit code if it is not ``None``. On " "Windows, the ``close`` method result is directly the exit code (or ``None``)." msgstr "" -#: ../../library/os.rst:4862 +#: ../../library/os.rst:4867 msgid "" "This is implemented using :class:`subprocess.Popen`; see that class's " "documentation for more powerful ways to manage and communicate with " "subprocesses." msgstr "" -#: ../../library/os.rst:4869 +#: ../../library/os.rst:4874 msgid "" "The :ref:`Python UTF-8 Mode ` affects encodings used for *cmd* " "and pipe contents." msgstr "" -#: ../../library/os.rst:4872 +#: ../../library/os.rst:4877 msgid "" ":func:`popen` is a simple wrapper around :class:`subprocess.Popen`. Use :" "class:`subprocess.Popen` or :func:`subprocess.run` to control options like " "encodings." msgstr "" -#: ../../library/os.rst:4876 ../../library/os.rst:5105 +#: ../../library/os.rst:4881 ../../library/os.rst:5110 msgid "The :mod:`subprocess` module is recommended instead." msgstr "" -#: ../../library/os.rst:4884 +#: ../../library/os.rst:4889 msgid "Wraps the :c:func:`!posix_spawn` C library API for use from Python." msgstr "" -#: ../../library/os.rst:4886 +#: ../../library/os.rst:4891 msgid "" "Most users should use :func:`subprocess.run` instead of :func:`posix_spawn`." msgstr "" -#: ../../library/os.rst:4888 +#: ../../library/os.rst:4893 msgid "" "The positional-only arguments *path*, *args*, and *env* are similar to :func:" "`execve`. *env* is allowed to be ``None``, in which case current process' " "environment is used." msgstr "" -#: ../../library/os.rst:4892 +#: ../../library/os.rst:4897 msgid "" "The *path* parameter is the path to the executable file. The *path* should " "contain a directory. Use :func:`posix_spawnp` to pass an executable file " "without directory." msgstr "" -#: ../../library/os.rst:4896 +#: ../../library/os.rst:4901 msgid "" "The *file_actions* argument may be a sequence of tuples describing actions " "to take on specific file descriptors in the child process between the C " @@ -5328,39 +5336,39 @@ msgid "" "describing the remaining tuple elements:" msgstr "" -#: ../../library/os.rst:4904 +#: ../../library/os.rst:4909 msgid "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)" msgstr "" -#: ../../library/os.rst:4906 +#: ../../library/os.rst:4911 msgid "Performs ``os.dup2(os.open(path, flags, mode), fd)``." msgstr "" -#: ../../library/os.rst:4910 +#: ../../library/os.rst:4915 msgid "(``os.POSIX_SPAWN_CLOSE``, *fd*)" msgstr "" -#: ../../library/os.rst:4912 +#: ../../library/os.rst:4917 msgid "Performs ``os.close(fd)``." msgstr "" -#: ../../library/os.rst:4916 +#: ../../library/os.rst:4921 msgid "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" msgstr "" -#: ../../library/os.rst:4918 +#: ../../library/os.rst:4923 msgid "Performs ``os.dup2(fd, new_fd)``." msgstr "" -#: ../../library/os.rst:4922 +#: ../../library/os.rst:4927 msgid "(``os.POSIX_SPAWN_CLOSEFROM``, *fd*)" msgstr "" -#: ../../library/os.rst:4924 +#: ../../library/os.rst:4929 msgid "Performs ``os.closerange(fd, INF)``." msgstr "" -#: ../../library/os.rst:4926 +#: ../../library/os.rst:4931 msgid "" "These tuples correspond to the C library :c:func:`!" "posix_spawn_file_actions_addopen`, :c:func:`!" @@ -5370,7 +5378,7 @@ msgid "" "c:func:`!posix_spawn` call itself." msgstr "" -#: ../../library/os.rst:4933 +#: ../../library/os.rst:4938 msgid "" "The *setpgroup* argument will set the process group of the child to the " "value specified. If the value specified is 0, the child's process group ID " @@ -5379,7 +5387,7 @@ msgid "" "corresponds to the C library :c:macro:`!POSIX_SPAWN_SETPGROUP` flag." msgstr "" -#: ../../library/os.rst:4939 +#: ../../library/os.rst:4944 msgid "" "If the *resetids* argument is ``True`` it will reset the effective UID and " "GID of the child to the real UID and GID of the parent process. If the " @@ -5390,7 +5398,7 @@ msgid "" "library :c:macro:`!POSIX_SPAWN_RESETIDS` flag." msgstr "" -#: ../../library/os.rst:4947 +#: ../../library/os.rst:4952 msgid "" "If the *setsid* argument is ``True``, it will create a new session ID for " "``posix_spawn``. *setsid* requires :c:macro:`!POSIX_SPAWN_SETSID` or :c:" @@ -5398,7 +5406,7 @@ msgid "" "is raised." msgstr "" -#: ../../library/os.rst:4952 +#: ../../library/os.rst:4957 msgid "" "The *setsigmask* argument will set the signal mask to the signal set " "specified. If the parameter is not used, then the child inherits the " @@ -5406,14 +5414,14 @@ msgid "" "POSIX_SPAWN_SETSIGMASK` flag." msgstr "" -#: ../../library/os.rst:4957 +#: ../../library/os.rst:4962 msgid "" "The *sigdef* argument will reset the disposition of all signals in the set " "specified. This argument corresponds to the C library :c:macro:`!" "POSIX_SPAWN_SETSIGDEF` flag." msgstr "" -#: ../../library/os.rst:4961 +#: ../../library/os.rst:4966 msgid "" "The *scheduler* argument must be a tuple containing the (optional) scheduler " "policy and an instance of :class:`sched_param` with the scheduler " @@ -5423,85 +5431,85 @@ msgid "" "POSIX_SPAWN_SETSCHEDULER` flags." msgstr "" -#: ../../library/os.rst:4968 ../../library/os.rst:4989 +#: ../../library/os.rst:4973 ../../library/os.rst:4994 msgid "" "Raises an :ref:`auditing event ` ``os.posix_spawn`` with arguments " "``path``, ``argv``, ``env``." msgstr "" -#: ../../library/os.rst:4972 +#: ../../library/os.rst:4977 msgid "" "*env* parameter accepts ``None``. ``os.POSIX_SPAWN_CLOSEFROM`` is available " "on platforms where :c:func:`!posix_spawn_file_actions_addclosefrom_np` " "exists." msgstr "" -#: ../../library/os.rst:4983 +#: ../../library/os.rst:4988 msgid "Wraps the :c:func:`!posix_spawnp` C library API for use from Python." msgstr "" -#: ../../library/os.rst:4985 +#: ../../library/os.rst:4990 msgid "" "Similar to :func:`posix_spawn` except that the system searches for the " "*executable* file in the list of directories specified by the :envvar:`PATH` " "environment variable (in the same way as for ``execvp(3)``)." msgstr "" -#: ../../library/os.rst:4995 +#: ../../library/os.rst:5000 msgid "See :func:`posix_spawn` documentation." msgstr "" -#: ../../library/os.rst:5001 +#: ../../library/os.rst:5006 msgid "" "Register callables to be executed when a new child process is forked using :" "func:`os.fork` or similar process cloning APIs. The parameters are optional " "and keyword-only. Each specifies a different call point." msgstr "" -#: ../../library/os.rst:5006 +#: ../../library/os.rst:5011 msgid "*before* is a function called before forking a child process." msgstr "" -#: ../../library/os.rst:5007 +#: ../../library/os.rst:5012 msgid "" "*after_in_parent* is a function called from the parent process after forking " "a child process." msgstr "" -#: ../../library/os.rst:5009 +#: ../../library/os.rst:5014 msgid "*after_in_child* is a function called from the child process." msgstr "" -#: ../../library/os.rst:5011 +#: ../../library/os.rst:5016 msgid "" "These calls are only made if control is expected to return to the Python " "interpreter. A typical :mod:`subprocess` launch will not trigger them as " "the child is not going to re-enter the interpreter." msgstr "" -#: ../../library/os.rst:5015 +#: ../../library/os.rst:5020 msgid "" "Functions registered for execution before forking are called in reverse " "registration order. Functions registered for execution after forking " "(either in the parent or in the child) are called in registration order." msgstr "" -#: ../../library/os.rst:5020 +#: ../../library/os.rst:5025 msgid "" "Note that :c:func:`fork` calls made by third-party C code may not call those " "functions, unless it explicitly calls :c:func:`PyOS_BeforeFork`, :c:func:" "`PyOS_AfterFork_Parent` and :c:func:`PyOS_AfterFork_Child`." msgstr "" -#: ../../library/os.rst:5024 +#: ../../library/os.rst:5029 msgid "There is no way to unregister a function." msgstr "" -#: ../../library/os.rst:5040 +#: ../../library/os.rst:5045 msgid "Execute the program *path* in a new process." msgstr "" -#: ../../library/os.rst:5042 +#: ../../library/os.rst:5047 msgid "" "(Note that the :mod:`subprocess` module provides more powerful facilities " "for spawning new processes and retrieving their results; using that module " @@ -5509,7 +5517,7 @@ msgid "" "`subprocess-replacements` section.)" msgstr "" -#: ../../library/os.rst:5047 +#: ../../library/os.rst:5052 msgid "" "If *mode* is :const:`P_NOWAIT`, this function returns the process id of the " "new process; if *mode* is :const:`P_WAIT`, returns the process's exit code " @@ -5518,13 +5526,13 @@ msgid "" "handle, so can be used with the :func:`waitpid` function." msgstr "" -#: ../../library/os.rst:5053 +#: ../../library/os.rst:5058 msgid "" "Note on VxWorks, this function doesn't return ``-signal`` when the new " "process is killed. Instead it raises OSError exception." msgstr "" -#: ../../library/os.rst:5056 +#: ../../library/os.rst:5061 msgid "" "The \"l\" and \"v\" variants of the :func:`spawn\\* ` functions " "differ in how command-line arguments are passed. The \"l\" variants are " @@ -5536,7 +5544,7 @@ msgid "" "to the child process must start with the name of the command being run." msgstr "" -#: ../../library/os.rst:5065 +#: ../../library/os.rst:5070 msgid "" "The variants which include a second \"p\" near the end (:func:`spawnlp`, :" "func:`spawnlpe`, :func:`spawnvp`, and :func:`spawnvpe`) will use the :envvar:" @@ -5549,7 +5557,7 @@ msgid "" "appropriate absolute or relative path." msgstr "" -#: ../../library/os.rst:5075 +#: ../../library/os.rst:5080 msgid "" "For :func:`spawnle`, :func:`spawnlpe`, :func:`spawnve`, and :func:`spawnvpe` " "(note that these all end in \"e\"), the *env* parameter must be a mapping " @@ -5561,13 +5569,13 @@ msgid "" "values will cause the function to fail, with a return value of ``127``." msgstr "" -#: ../../library/os.rst:5084 +#: ../../library/os.rst:5089 msgid "" "As an example, the following calls to :func:`spawnlp` and :func:`spawnvpe` " "are equivalent::" msgstr "" -#: ../../library/os.rst:5087 +#: ../../library/os.rst:5092 msgid "" "import os\n" "os.spawnlp(os.P_WAIT, 'cp', 'cp', 'index.html', '/dev/null')\n" @@ -5576,13 +5584,13 @@ msgid "" "os.spawnvpe(os.P_WAIT, 'cp', L, os.environ)" msgstr "" -#: ../../library/os.rst:5093 +#: ../../library/os.rst:5098 msgid "" "Raises an :ref:`auditing event ` ``os.spawn`` with arguments " "``mode``, ``path``, ``args``, ``env``." msgstr "" -#: ../../library/os.rst:5097 +#: ../../library/os.rst:5102 msgid "" ":func:`spawnlp`, :func:`spawnlpe`, :func:`spawnvp` and :func:`spawnvpe` are " "not available on Windows. :func:`spawnle` and :func:`spawnve` are not " @@ -5590,7 +5598,7 @@ msgid "" "instead." msgstr "" -#: ../../library/os.rst:5112 +#: ../../library/os.rst:5117 msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. If either of these values is given, the :func:" @@ -5598,7 +5606,7 @@ msgid "" "been created, with the process id as the return value." msgstr "" -#: ../../library/os.rst:5122 +#: ../../library/os.rst:5127 msgid "" "Possible value for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. If this is given as *mode*, the :func:`spawn\\* " @@ -5607,7 +5615,7 @@ msgid "" "successful, or ``-signal`` if a signal kills the process." msgstr "" -#: ../../library/os.rst:5134 +#: ../../library/os.rst:5139 msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. These are less portable than those listed above. :" @@ -5617,11 +5625,11 @@ msgid "" "function will not return." msgstr "" -#: ../../library/os.rst:5145 +#: ../../library/os.rst:5150 msgid "Start a file with its associated application." msgstr "" -#: ../../library/os.rst:5147 +#: ../../library/os.rst:5152 msgid "" "When *operation* is not specified, this acts like double-clicking the file " "in Windows Explorer, or giving the file name as an argument to the :program:" @@ -5629,7 +5637,7 @@ msgid "" "whatever application (if any) its extension is associated." msgstr "" -#: ../../library/os.rst:5152 +#: ../../library/os.rst:5157 msgid "" "When another *operation* is given, it must be a \"command verb\" that " "specifies what should be done with the file. Common verbs documented by " @@ -5637,28 +5645,28 @@ msgid "" "as well as ``'explore'`` and ``'find'`` (to be used on directories)." msgstr "" -#: ../../library/os.rst:5157 +#: ../../library/os.rst:5162 msgid "" "When launching an application, specify *arguments* to be passed as a single " "string. This argument may have no effect when using this function to launch " "a document." msgstr "" -#: ../../library/os.rst:5161 +#: ../../library/os.rst:5166 msgid "" "The default working directory is inherited, but may be overridden by the " "*cwd* argument. This should be an absolute path. A relative *path* will be " "resolved against this argument." msgstr "" -#: ../../library/os.rst:5165 +#: ../../library/os.rst:5170 msgid "" "Use *show_cmd* to override the default window style. Whether this has any " "effect will depend on the application being launched. Values are integers as " "supported by the Win32 :c:func:`!ShellExecute` function." msgstr "" -#: ../../library/os.rst:5169 +#: ../../library/os.rst:5174 msgid "" ":func:`startfile` returns as soon as the associated application is launched. " "There is no option to wait for the application to close, and no way to " @@ -5669,32 +5677,32 @@ msgid "" "encoded for Win32." msgstr "" -#: ../../library/os.rst:5177 +#: ../../library/os.rst:5182 msgid "" "To reduce interpreter startup overhead, the Win32 :c:func:`!ShellExecute` " "function is not resolved until this function is first called. If the " "function cannot be resolved, :exc:`NotImplementedError` will be raised." msgstr "" -#: ../../library/os.rst:5181 +#: ../../library/os.rst:5186 msgid "" "Raises an :ref:`auditing event ` ``os.startfile`` with arguments " "``path``, ``operation``." msgstr "" -#: ../../library/os.rst:5183 +#: ../../library/os.rst:5188 msgid "" "Raises an :ref:`auditing event ` ``os.startfile/2`` with arguments " "``path``, ``operation``, ``arguments``, ``cwd``, ``show_cmd``." msgstr "" -#: ../../library/os.rst:5187 +#: ../../library/os.rst:5192 msgid "" "Added the *arguments*, *cwd* and *show_cmd* arguments, and the ``os." "startfile/2`` audit event." msgstr "" -#: ../../library/os.rst:5194 +#: ../../library/os.rst:5199 msgid "" "Execute the command (a string) in a subshell. This is implemented by " "calling the Standard C function :c:func:`system`, and has the same " @@ -5705,13 +5713,13 @@ msgid "" "value of the Python function is system-dependent." msgstr "" -#: ../../library/os.rst:5202 +#: ../../library/os.rst:5207 msgid "" "On Unix, the return value is the exit status of the process encoded in the " "format specified for :func:`wait`." msgstr "" -#: ../../library/os.rst:5205 +#: ../../library/os.rst:5210 msgid "" "On Windows, the return value is that returned by the system shell after " "running *command*. The shell is given by the Windows environment variable :" @@ -5720,7 +5728,7 @@ msgid "" "shell documentation." msgstr "" -#: ../../library/os.rst:5211 +#: ../../library/os.rst:5216 msgid "" "The :mod:`subprocess` module provides more powerful facilities for spawning " "new processes and retrieving their results; using that module is recommended " @@ -5728,53 +5736,53 @@ msgid "" "the :mod:`subprocess` documentation for some helpful recipes." msgstr "" -#: ../../library/os.rst:5216 +#: ../../library/os.rst:5221 msgid "" "On Unix, :func:`waitstatus_to_exitcode` can be used to convert the result " "(exit status) into an exit code. On Windows, the result is directly the exit " "code." msgstr "" -#: ../../library/os.rst:5220 +#: ../../library/os.rst:5225 msgid "" "Raises an :ref:`auditing event ` ``os.system`` with argument " "``command``." msgstr "" -#: ../../library/os.rst:5227 +#: ../../library/os.rst:5232 msgid "" "Returns the current global process times. The return value is an object with " "five attributes:" msgstr "" -#: ../../library/os.rst:5230 +#: ../../library/os.rst:5235 msgid ":attr:`!user` - user time" msgstr "" -#: ../../library/os.rst:5231 +#: ../../library/os.rst:5236 msgid ":attr:`!system` - system time" msgstr "" -#: ../../library/os.rst:5232 +#: ../../library/os.rst:5237 msgid ":attr:`!children_user` - user time of all child processes" msgstr "" -#: ../../library/os.rst:5233 +#: ../../library/os.rst:5238 msgid ":attr:`!children_system` - system time of all child processes" msgstr "" -#: ../../library/os.rst:5234 +#: ../../library/os.rst:5239 msgid ":attr:`!elapsed` - elapsed real time since a fixed point in the past" msgstr "" -#: ../../library/os.rst:5236 +#: ../../library/os.rst:5241 msgid "" "For backwards compatibility, this object also behaves like a five-tuple " "containing :attr:`!user`, :attr:`!system`, :attr:`!children_user`, :attr:`!" "children_system`, and :attr:`!elapsed` in that order." msgstr "" -#: ../../library/os.rst:5240 +#: ../../library/os.rst:5245 msgid "" "See the Unix manual page :manpage:`times(2)` and `times(3) `_ manual page on Unix or `the " @@ -5784,7 +5792,7 @@ msgid "" "attributes are zero." msgstr "" -#: ../../library/os.rst:5254 +#: ../../library/os.rst:5259 msgid "" "Wait for completion of a child process, and return a tuple containing its " "pid and exit status indication: a 16-bit number, whose low byte is the " @@ -5793,87 +5801,87 @@ msgid "" "if a core file was produced." msgstr "" -#: ../../library/os.rst:5260 +#: ../../library/os.rst:5265 msgid "" "If there are no children that could be waited for, :exc:`ChildProcessError` " "is raised." msgstr "" -#: ../../library/os.rst:5263 ../../library/os.rst:5338 +#: ../../library/os.rst:5268 ../../library/os.rst:5343 msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exit code." msgstr "" -#: ../../library/os.rst:5270 +#: ../../library/os.rst:5275 msgid "" "The other :func:`!wait*` functions documented below can be used to wait for " "the completion of a specific child process and have more options. :func:" "`waitpid` is the only one also available on Windows." msgstr "" -#: ../../library/os.rst:5277 +#: ../../library/os.rst:5282 msgid "Wait for the completion of a child process." msgstr "" -#: ../../library/os.rst:5279 +#: ../../library/os.rst:5284 msgid "" "*idtype* can be :data:`P_PID`, :data:`P_PGID`, :data:`P_ALL`, or (on Linux) :" "data:`P_PIDFD`. The interpretation of *id* depends on it; see their " "individual descriptions." msgstr "" -#: ../../library/os.rst:5282 +#: ../../library/os.rst:5287 msgid "" "*options* is an OR combination of flags. At least one of :data:`WEXITED`, :" "data:`WSTOPPED` or :data:`WCONTINUED` is required; :data:`WNOHANG` and :data:" "`WNOWAIT` are additional optional flags." msgstr "" -#: ../../library/os.rst:5286 +#: ../../library/os.rst:5291 msgid "" "The return value is an object representing the data contained in the :c:type:" "`siginfo_t` structure with the following attributes:" msgstr "" -#: ../../library/os.rst:5289 +#: ../../library/os.rst:5294 msgid ":attr:`!si_pid` (process ID)" msgstr "" -#: ../../library/os.rst:5290 +#: ../../library/os.rst:5295 msgid ":attr:`!si_uid` (real user ID of the child)" msgstr "" -#: ../../library/os.rst:5291 +#: ../../library/os.rst:5296 msgid ":attr:`!si_signo` (always :const:`~signal.SIGCHLD`)" msgstr "" -#: ../../library/os.rst:5292 +#: ../../library/os.rst:5297 msgid "" ":attr:`!si_status` (the exit status or signal number, depending on :attr:`!" "si_code`)" msgstr "" -#: ../../library/os.rst:5293 +#: ../../library/os.rst:5298 msgid ":attr:`!si_code` (see :data:`CLD_EXITED` for possible values)" msgstr "" -#: ../../library/os.rst:5295 +#: ../../library/os.rst:5300 msgid "" "If :data:`WNOHANG` is specified and there are no matching children in the " "requested state, ``None`` is returned. Otherwise, if there are no matching " "children that could be waited for, :exc:`ChildProcessError` is raised." msgstr "" -#: ../../library/os.rst:5304 +#: ../../library/os.rst:5309 msgid "This function is now available on macOS as well." msgstr "" -#: ../../library/os.rst:5310 +#: ../../library/os.rst:5315 msgid "The details of this function differ on Unix and Windows." msgstr "" -#: ../../library/os.rst:5312 +#: ../../library/os.rst:5317 msgid "" "On Unix: Wait for completion of a child process given by process id *pid*, " "and return a tuple containing its process id and exit status indication " @@ -5882,7 +5890,7 @@ msgid "" "operation." msgstr "" -#: ../../library/os.rst:5317 +#: ../../library/os.rst:5322 msgid "" "If *pid* is greater than ``0``, :func:`waitpid` requests status information " "for that specific process. If *pid* is ``0``, the request is for the status " @@ -5892,7 +5900,7 @@ msgid "" "group ``-pid`` (the absolute value of *pid*)." msgstr "" -#: ../../library/os.rst:5324 +#: ../../library/os.rst:5329 msgid "" "*options* is an OR combination of flags. If it contains :data:`WNOHANG` and " "there are no matching children in the requested state, ``(0, 0)`` is " @@ -5901,7 +5909,7 @@ msgid "" "are :data:`WUNTRACED` and :data:`WCONTINUED`." msgstr "" -#: ../../library/os.rst:5330 +#: ../../library/os.rst:5335 msgid "" "On Windows: Wait for completion of a process given by process handle *pid*, " "and return a tuple containing *pid*, and its exit status shifted left by 8 " @@ -5913,7 +5921,7 @@ msgid "" "process handles." msgstr "" -#: ../../library/os.rst:5351 +#: ../../library/os.rst:5356 msgid "" "Similar to :func:`waitpid`, except no process id argument is given and a 3-" "element tuple containing the child's process id, exit status indication, and " @@ -5922,13 +5930,13 @@ msgid "" "same as that provided to :func:`waitpid` and :func:`wait4`." msgstr "" -#: ../../library/os.rst:5358 ../../library/os.rst:5372 +#: ../../library/os.rst:5363 ../../library/os.rst:5377 msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exitcode." msgstr "" -#: ../../library/os.rst:5366 +#: ../../library/os.rst:5371 msgid "" "Similar to :func:`waitpid`, except a 3-element tuple, containing the child's " "process id, exit status indication, and resource usage information is " @@ -5937,118 +5945,118 @@ msgid "" "to :func:`waitpid`." msgstr "" -#: ../../library/os.rst:5383 +#: ../../library/os.rst:5388 msgid "" "These are the possible values for *idtype* in :func:`waitid`. They affect " "how *id* is interpreted:" msgstr "" -#: ../../library/os.rst:5386 +#: ../../library/os.rst:5391 msgid ":data:`!P_PID` - wait for the child whose PID is *id*." msgstr "" -#: ../../library/os.rst:5387 +#: ../../library/os.rst:5392 msgid ":data:`!P_PGID` - wait for any child whose progress group ID is *id*." msgstr "" -#: ../../library/os.rst:5388 +#: ../../library/os.rst:5393 msgid ":data:`!P_ALL` - wait for any child; *id* is ignored." msgstr "" -#: ../../library/os.rst:5389 +#: ../../library/os.rst:5394 msgid "" ":data:`!P_PIDFD` - wait for the child identified by the file descriptor *id* " "(a process file descriptor created with :func:`pidfd_open`)." msgstr "" -#: ../../library/os.rst:5394 +#: ../../library/os.rst:5399 msgid ":data:`!P_PIDFD` is only available on Linux >= 5.4." msgstr "" -#: ../../library/os.rst:5397 +#: ../../library/os.rst:5402 msgid "The :data:`!P_PIDFD` constant." msgstr "" -#: ../../library/os.rst:5403 +#: ../../library/os.rst:5408 msgid "" "This *options* flag for :func:`waitpid`, :func:`wait3`, :func:`wait4`, and :" "func:`waitid` causes child processes to be reported if they have been " "continued from a job control stop since they were last reported." msgstr "" -#: ../../library/os.rst:5412 +#: ../../library/os.rst:5417 msgid "" "This *options* flag for :func:`waitid` causes child processes that have " "terminated to be reported." msgstr "" -#: ../../library/os.rst:5415 +#: ../../library/os.rst:5420 msgid "" "The other ``wait*`` functions always report children that have terminated, " "so this option is not available for them." msgstr "" -#: ../../library/os.rst:5425 +#: ../../library/os.rst:5430 msgid "" "This *options* flag for :func:`waitid` causes child processes that have been " "stopped by the delivery of a signal to be reported." msgstr "" -#: ../../library/os.rst:5428 ../../library/os.rst:5460 +#: ../../library/os.rst:5433 ../../library/os.rst:5465 msgid "This option is not available for the other ``wait*`` functions." msgstr "" -#: ../../library/os.rst:5437 +#: ../../library/os.rst:5442 msgid "" "This *options* flag for :func:`waitpid`, :func:`wait3`, and :func:`wait4` " "causes child processes to also be reported if they have been stopped but " "their current state has not been reported since they were stopped." msgstr "" -#: ../../library/os.rst:5441 +#: ../../library/os.rst:5446 msgid "This option is not available for :func:`waitid`." msgstr "" -#: ../../library/os.rst:5448 +#: ../../library/os.rst:5453 msgid "" "This *options* flag causes :func:`waitpid`, :func:`wait3`, :func:`wait4`, " "and :func:`waitid` to return right away if no child process status is " "available immediately." msgstr "" -#: ../../library/os.rst:5457 +#: ../../library/os.rst:5462 msgid "" "This *options* flag causes :func:`waitid` to leave the child in a waitable " "state, so that a later :func:`!wait*` call can be used to retrieve the child " "status information again." msgstr "" -#: ../../library/os.rst:5472 +#: ../../library/os.rst:5477 msgid "" "These are the possible values for :attr:`!si_code` in the result returned " "by :func:`waitid`." msgstr "" -#: ../../library/os.rst:5479 +#: ../../library/os.rst:5484 msgid "Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values." msgstr "" -#: ../../library/os.rst:5485 +#: ../../library/os.rst:5490 msgid "Convert a wait status to an exit code." msgstr "" -#: ../../library/os.rst:5487 +#: ../../library/os.rst:5492 msgid "On Unix:" msgstr "" -#: ../../library/os.rst:5489 +#: ../../library/os.rst:5494 msgid "" "If the process exited normally (if ``WIFEXITED(status)`` is true), return " "the process exit status (return ``WEXITSTATUS(status)``): result greater " "than or equal to 0." msgstr "" -#: ../../library/os.rst:5492 +#: ../../library/os.rst:5497 msgid "" "If the process was terminated by a signal (if ``WIFSIGNALED(status)`` is " "true), return ``-signum`` where *signum* is the number of the signal that " @@ -6056,15 +6064,15 @@ msgid "" "than 0." msgstr "" -#: ../../library/os.rst:5496 +#: ../../library/os.rst:5501 msgid "Otherwise, raise a :exc:`ValueError`." msgstr "" -#: ../../library/os.rst:5498 +#: ../../library/os.rst:5503 msgid "On Windows, return *status* shifted right by 8 bits." msgstr "" -#: ../../library/os.rst:5500 +#: ../../library/os.rst:5505 msgid "" "On Unix, if the process is being traced or if :func:`waitpid` was called " "with :data:`WUNTRACED` option, the caller must first check if " @@ -6072,234 +6080,234 @@ msgid "" "``WIFSTOPPED(status)`` is true." msgstr "" -#: ../../library/os.rst:5507 +#: ../../library/os.rst:5512 msgid "" ":func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" "`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG` functions." msgstr "" -#: ../../library/os.rst:5515 +#: ../../library/os.rst:5520 msgid "" "The following functions take a process status code as returned by :func:" "`system`, :func:`wait`, or :func:`waitpid` as a parameter. They may be used " "to determine the disposition of a process." msgstr "" -#: ../../library/os.rst:5521 +#: ../../library/os.rst:5526 msgid "" "Return ``True`` if a core dump was generated for the process, otherwise " "return ``False``." msgstr "" -#: ../../library/os.rst:5524 ../../library/os.rst:5590 +#: ../../library/os.rst:5529 ../../library/os.rst:5595 msgid "This function should be employed only if :func:`WIFSIGNALED` is true." msgstr "" -#: ../../library/os.rst:5531 +#: ../../library/os.rst:5536 msgid "" "Return ``True`` if a stopped child has been resumed by delivery of :const:" "`~signal.SIGCONT` (if the process has been continued from a job control " "stop), otherwise return ``False``." msgstr "" -#: ../../library/os.rst:5535 +#: ../../library/os.rst:5540 msgid "See :data:`WCONTINUED` option." msgstr "" -#: ../../library/os.rst:5542 +#: ../../library/os.rst:5547 msgid "" "Return ``True`` if the process was stopped by delivery of a signal, " "otherwise return ``False``." msgstr "" -#: ../../library/os.rst:5545 +#: ../../library/os.rst:5550 msgid "" ":func:`WIFSTOPPED` only returns ``True`` if the :func:`waitpid` call was " "done using :data:`WUNTRACED` option or when the process is being traced " "(see :manpage:`ptrace(2)`)." msgstr "" -#: ../../library/os.rst:5553 +#: ../../library/os.rst:5558 msgid "" "Return ``True`` if the process was terminated by a signal, otherwise return " "``False``." msgstr "" -#: ../../library/os.rst:5561 +#: ../../library/os.rst:5566 msgid "" "Return ``True`` if the process exited terminated normally, that is, by " "calling ``exit()`` or ``_exit()``, or by returning from ``main()``; " "otherwise return ``False``." msgstr "" -#: ../../library/os.rst:5570 +#: ../../library/os.rst:5575 msgid "Return the process exit status." msgstr "" -#: ../../library/os.rst:5572 +#: ../../library/os.rst:5577 msgid "This function should be employed only if :func:`WIFEXITED` is true." msgstr "" -#: ../../library/os.rst:5579 +#: ../../library/os.rst:5584 msgid "Return the signal which caused the process to stop." msgstr "" -#: ../../library/os.rst:5581 +#: ../../library/os.rst:5586 msgid "This function should be employed only if :func:`WIFSTOPPED` is true." msgstr "" -#: ../../library/os.rst:5588 +#: ../../library/os.rst:5593 msgid "Return the number of the signal that caused the process to terminate." msgstr "" -#: ../../library/os.rst:5596 +#: ../../library/os.rst:5601 msgid "Interface to the scheduler" msgstr "" -#: ../../library/os.rst:5598 +#: ../../library/os.rst:5603 msgid "" "These functions control how a process is allocated CPU time by the operating " "system. They are only available on some Unix platforms. For more detailed " "information, consult your Unix manpages." msgstr "" -#: ../../library/os.rst:5604 +#: ../../library/os.rst:5609 msgid "" "The following scheduling policies are exposed if they are supported by the " "operating system." msgstr "" -#: ../../library/os.rst:5611 +#: ../../library/os.rst:5616 msgid "The default scheduling policy." msgstr "" -#: ../../library/os.rst:5615 +#: ../../library/os.rst:5620 msgid "" "Scheduling policy for CPU-intensive processes that tries to preserve " "interactivity on the rest of the computer." msgstr "" -#: ../../library/os.rst:5620 +#: ../../library/os.rst:5625 msgid "Scheduling policy for tasks with deadline constraints." msgstr "" -#: ../../library/os.rst:5626 +#: ../../library/os.rst:5631 msgid "Scheduling policy for extremely low priority background tasks." msgstr "" -#: ../../library/os.rst:5630 +#: ../../library/os.rst:5635 msgid "Alias for :data:`SCHED_OTHER`." msgstr "" -#: ../../library/os.rst:5636 +#: ../../library/os.rst:5641 msgid "Scheduling policy for sporadic server programs." msgstr "" -#: ../../library/os.rst:5640 +#: ../../library/os.rst:5645 msgid "A First In First Out scheduling policy." msgstr "" -#: ../../library/os.rst:5644 +#: ../../library/os.rst:5649 msgid "A round-robin scheduling policy." msgstr "" -#: ../../library/os.rst:5648 +#: ../../library/os.rst:5653 msgid "" "This flag can be OR'ed with any other scheduling policy. When a process with " "this flag set forks, its child's scheduling policy and priority are reset to " "the default." msgstr "" -#: ../../library/os.rst:5655 +#: ../../library/os.rst:5660 msgid "" "This class represents tunable scheduling parameters used in :func:" "`sched_setparam`, :func:`sched_setscheduler`, and :func:`sched_getparam`. It " "is immutable." msgstr "" -#: ../../library/os.rst:5659 +#: ../../library/os.rst:5664 msgid "At the moment, there is only one possible parameter:" msgstr "" -#: ../../library/os.rst:5663 +#: ../../library/os.rst:5668 msgid "The scheduling priority for a scheduling policy." msgstr "" -#: ../../library/os.rst:5668 +#: ../../library/os.rst:5673 msgid "" "Get the minimum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." msgstr "" -#: ../../library/os.rst:5674 +#: ../../library/os.rst:5679 msgid "" "Get the maximum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." msgstr "" -#: ../../library/os.rst:5680 +#: ../../library/os.rst:5685 msgid "" "Set the scheduling policy for the process with PID *pid*. A *pid* of 0 means " "the calling process. *policy* is one of the scheduling policy constants " "above. *param* is a :class:`sched_param` instance." msgstr "" -#: ../../library/os.rst:5687 +#: ../../library/os.rst:5692 msgid "" "Return the scheduling policy for the process with PID *pid*. A *pid* of 0 " "means the calling process. The result is one of the scheduling policy " "constants above." msgstr "" -#: ../../library/os.rst:5694 +#: ../../library/os.rst:5699 msgid "" "Set the scheduling parameters for the process with PID *pid*. A *pid* of 0 " "means the calling process. *param* is a :class:`sched_param` instance." msgstr "" -#: ../../library/os.rst:5700 +#: ../../library/os.rst:5705 msgid "" "Return the scheduling parameters as a :class:`sched_param` instance for the " "process with PID *pid*. A *pid* of 0 means the calling process." msgstr "" -#: ../../library/os.rst:5706 +#: ../../library/os.rst:5711 msgid "" "Return the round-robin quantum in seconds for the process with PID *pid*. A " "*pid* of 0 means the calling process." msgstr "" -#: ../../library/os.rst:5712 +#: ../../library/os.rst:5717 msgid "" "Voluntarily relinquish the CPU. See :manpage:`sched_yield(2)` for details." msgstr "" -#: ../../library/os.rst:5717 +#: ../../library/os.rst:5722 msgid "" "Restrict the process with PID *pid* (or the current process if zero) to a " "set of CPUs. *mask* is an iterable of integers representing the set of CPUs " "to which the process should be restricted." msgstr "" -#: ../../library/os.rst:5724 +#: ../../library/os.rst:5729 msgid "Return the set of CPUs the process with PID *pid* is restricted to." msgstr "" -#: ../../library/os.rst:5726 +#: ../../library/os.rst:5731 msgid "" "If *pid* is zero, return the set of CPUs the calling thread of the current " "process is restricted to." msgstr "" -#: ../../library/os.rst:5729 +#: ../../library/os.rst:5734 msgid "See also the :func:`process_cpu_count` function." msgstr "" -#: ../../library/os.rst:5735 +#: ../../library/os.rst:5740 msgid "Miscellaneous System Information" msgstr "" -#: ../../library/os.rst:5740 +#: ../../library/os.rst:5745 msgid "" "Return string-valued system configuration values. *name* specifies the " "configuration value to retrieve; it may be a string which is the name of a " @@ -6310,13 +6318,13 @@ msgid "" "included in that mapping, passing an integer for *name* is also accepted." msgstr "" -#: ../../library/os.rst:5748 +#: ../../library/os.rst:5753 msgid "" "If the configuration value specified by *name* isn't defined, ``None`` is " "returned." msgstr "" -#: ../../library/os.rst:5751 +#: ../../library/os.rst:5756 msgid "" "If *name* is a string and is not known, :exc:`ValueError` is raised. If a " "specific value for *name* is not supported by the host system, even if it is " @@ -6324,62 +6332,62 @@ msgid "" "`errno.EINVAL` for the error number." msgstr "" -#: ../../library/os.rst:5761 +#: ../../library/os.rst:5766 msgid "" "Dictionary mapping names accepted by :func:`confstr` to the integer values " "defined for those names by the host operating system. This can be used to " "determine the set of names known to the system." msgstr "" -#: ../../library/os.rst:5770 +#: ../../library/os.rst:5775 msgid "" "Return the number of logical CPUs in the **system**. Returns ``None`` if " "undetermined." msgstr "" -#: ../../library/os.rst:5773 +#: ../../library/os.rst:5778 msgid "" "The :func:`process_cpu_count` function can be used to get the number of " "logical CPUs usable by the calling thread of the **current process**." msgstr "" -#: ../../library/os.rst:5778 +#: ../../library/os.rst:5783 msgid "" "If :option:`-X cpu_count <-X>` is given or :envvar:`PYTHON_CPU_COUNT` is " "set, :func:`cpu_count` returns the override value *n*." msgstr "" -#: ../../library/os.rst:5785 +#: ../../library/os.rst:5790 msgid "" "Return the number of processes in the system run queue averaged over the " "last 1, 5, and 15 minutes or raises :exc:`OSError` if the load average was " "unobtainable." msgstr "" -#: ../../library/os.rst:5794 +#: ../../library/os.rst:5799 msgid "" "Get the number of logical CPUs usable by the calling thread of the **current " "process**. Returns ``None`` if undetermined. It can be less than :func:" "`cpu_count` depending on the CPU affinity." msgstr "" -#: ../../library/os.rst:5798 +#: ../../library/os.rst:5803 msgid "" "The :func:`cpu_count` function can be used to get the number of logical CPUs " "in the **system**." msgstr "" -#: ../../library/os.rst:5801 +#: ../../library/os.rst:5806 msgid "" "If :option:`-X cpu_count <-X>` is given or :envvar:`PYTHON_CPU_COUNT` is " "set, :func:`process_cpu_count` returns the override value *n*." msgstr "" -#: ../../library/os.rst:5804 +#: ../../library/os.rst:5809 msgid "See also the :func:`sched_getaffinity` function." msgstr "" -#: ../../library/os.rst:5811 +#: ../../library/os.rst:5816 msgid "" "Return integer-valued system configuration values. If the configuration " "value specified by *name* isn't defined, ``-1`` is returned. The comments " @@ -6388,44 +6396,44 @@ msgid "" "``sysconf_names``." msgstr "" -#: ../../library/os.rst:5821 +#: ../../library/os.rst:5826 msgid "" "Dictionary mapping names accepted by :func:`sysconf` to the integer values " "defined for those names by the host operating system. This can be used to " "determine the set of names known to the system." msgstr "" -#: ../../library/os.rst:5827 +#: ../../library/os.rst:5832 msgid "Add ``'SC_MINSIGSTKSZ'`` name." msgstr "" -#: ../../library/os.rst:5830 +#: ../../library/os.rst:5835 msgid "" "The following data values are used to support path manipulation operations. " "These are defined for all platforms." msgstr "" -#: ../../library/os.rst:5833 +#: ../../library/os.rst:5838 msgid "" "Higher-level operations on pathnames are defined in the :mod:`os.path` " "module." msgstr "" -#: ../../library/os.rst:5839 +#: ../../library/os.rst:5844 msgid "" "The constant string used by the operating system to refer to the current " "directory. This is ``'.'`` for Windows and POSIX. Also available via :mod:" "`os.path`." msgstr "" -#: ../../library/os.rst:5847 +#: ../../library/os.rst:5852 msgid "" "The constant string used by the operating system to refer to the parent " "directory. This is ``'..'`` for Windows and POSIX. Also available via :mod:" "`os.path`." msgstr "" -#: ../../library/os.rst:5856 +#: ../../library/os.rst:5861 msgid "" "The character used by the operating system to separate pathname components. " "This is ``'/'`` for POSIX and ``'\\\\'`` for Windows. Note that knowing " @@ -6434,7 +6442,7 @@ msgid "" "useful. Also available via :mod:`os.path`." msgstr "" -#: ../../library/os.rst:5866 +#: ../../library/os.rst:5871 msgid "" "An alternative character used by the operating system to separate pathname " "components, or ``None`` if only one separator character exists. This is set " @@ -6442,27 +6450,27 @@ msgid "" "via :mod:`os.path`." msgstr "" -#: ../../library/os.rst:5875 +#: ../../library/os.rst:5880 msgid "" "The character which separates the base filename from the extension; for " "example, the ``'.'`` in :file:`os.py`. Also available via :mod:`os.path`." msgstr "" -#: ../../library/os.rst:5883 +#: ../../library/os.rst:5888 msgid "" "The character conventionally used by the operating system to separate search " "path components (as in :envvar:`PATH`), such as ``':'`` for POSIX or ``';'`` " "for Windows. Also available via :mod:`os.path`." msgstr "" -#: ../../library/os.rst:5890 +#: ../../library/os.rst:5895 msgid "" "The default search path used by :func:`exec\\*p\\* ` and :func:" "`spawn\\*p\\* ` if the environment doesn't have a ``'PATH'`` key. " "Also available via :mod:`os.path`." msgstr "" -#: ../../library/os.rst:5897 +#: ../../library/os.rst:5902 msgid "" "The string used to separate (or, rather, terminate) lines on the current " "platform. This may be a single character, such as ``'\\n'`` for POSIX, or " @@ -6471,36 +6479,36 @@ msgid "" "default); use a single ``'\\n'`` instead, on all platforms." msgstr "" -#: ../../library/os.rst:5906 +#: ../../library/os.rst:5911 msgid "" "The file path of the null device. For example: ``'/dev/null'`` for POSIX, " "``'nul'`` for Windows. Also available via :mod:`os.path`." msgstr "" -#: ../../library/os.rst:5917 +#: ../../library/os.rst:5922 msgid "" "Flags for use with the :func:`~sys.setdlopenflags` and :func:`~sys." "getdlopenflags` functions. See the Unix manual page :manpage:`dlopen(3)` " "for what the different flags mean." msgstr "" -#: ../../library/os.rst:5925 +#: ../../library/os.rst:5930 msgid "Random numbers" msgstr "" -#: ../../library/os.rst:5930 +#: ../../library/os.rst:5935 msgid "" "Get up to *size* random bytes. The function can return less bytes than " "requested." msgstr "" -#: ../../library/os.rst:5933 +#: ../../library/os.rst:5938 msgid "" "These bytes can be used to seed user-space random number generators or for " "cryptographic purposes." msgstr "" -#: ../../library/os.rst:5936 +#: ../../library/os.rst:5941 msgid "" "``getrandom()`` relies on entropy gathered from device drivers and other " "sources of environmental noise. Unnecessarily reading large quantities of " @@ -6508,32 +6516,32 @@ msgid "" "``/dev/urandom`` devices." msgstr "" -#: ../../library/os.rst:5941 +#: ../../library/os.rst:5946 msgid "" "The flags argument is a bit mask that can contain zero or more of the " "following values ORed together: :py:const:`os.GRND_RANDOM` and :py:data:" "`GRND_NONBLOCK`." msgstr "" -#: ../../library/os.rst:5945 +#: ../../library/os.rst:5950 msgid "" "See also the `Linux getrandom() manual page `_." msgstr "" -#: ../../library/os.rst:5954 +#: ../../library/os.rst:5959 msgid "" "Return a bytestring of *size* random bytes suitable for cryptographic use." msgstr "" -#: ../../library/os.rst:5956 +#: ../../library/os.rst:5961 msgid "" "This function returns random bytes from an OS-specific randomness source. " "The returned data should be unpredictable enough for cryptographic " "applications, though its exact quality depends on the OS implementation." msgstr "" -#: ../../library/os.rst:5960 +#: ../../library/os.rst:5965 msgid "" "On Linux, if the ``getrandom()`` syscall is available, it is used in " "blocking mode: block until the system urandom entropy pool is initialized " @@ -6543,63 +6551,63 @@ msgid "" "to poll until the system urandom entropy pool is initialized." msgstr "" -#: ../../library/os.rst:5967 +#: ../../library/os.rst:5972 msgid "" "On a Unix-like system, random bytes are read from the ``/dev/urandom`` " "device. If the ``/dev/urandom`` device is not available or not readable, " "the :exc:`NotImplementedError` exception is raised." msgstr "" -#: ../../library/os.rst:5971 +#: ../../library/os.rst:5976 msgid "On Windows, it will use ``BCryptGenRandom()``." msgstr "" -#: ../../library/os.rst:5974 +#: ../../library/os.rst:5979 msgid "" "The :mod:`secrets` module provides higher level functions. For an easy-to-" "use interface to the random number generator provided by your platform, " "please see :class:`random.SystemRandom`." msgstr "" -#: ../../library/os.rst:5978 +#: ../../library/os.rst:5983 msgid "" "On Linux 3.17 and newer, the ``getrandom()`` syscall is now used when " "available. On OpenBSD 5.6 and newer, the C ``getentropy()`` function is now " "used. These functions avoid the usage of an internal file descriptor." msgstr "" -#: ../../library/os.rst:5984 +#: ../../library/os.rst:5989 msgid "" "On Linux, if the ``getrandom()`` syscall blocks (the urandom entropy pool is " "not initialized yet), fall back on reading ``/dev/urandom``." msgstr "" -#: ../../library/os.rst:5988 +#: ../../library/os.rst:5993 msgid "" "On Linux, ``getrandom()`` is now used in blocking mode to increase the " "security." msgstr "" -#: ../../library/os.rst:5992 +#: ../../library/os.rst:5997 msgid "" "On Windows, ``BCryptGenRandom()`` is used instead of ``CryptGenRandom()`` " "which is deprecated." msgstr "" -#: ../../library/os.rst:5998 +#: ../../library/os.rst:6003 msgid "" "By default, when reading from ``/dev/random``, :func:`getrandom` blocks if " "no random bytes are available, and when reading from ``/dev/urandom``, it " "blocks if the entropy pool has not yet been initialized." msgstr "" -#: ../../library/os.rst:6002 +#: ../../library/os.rst:6007 msgid "" "If the :py:data:`GRND_NONBLOCK` flag is set, then :func:`getrandom` does not " "block in these cases, but instead immediately raises :exc:`BlockingIOError`." msgstr "" -#: ../../library/os.rst:6009 +#: ../../library/os.rst:6014 msgid "" "If this bit is set, then random bytes are drawn from the ``/dev/" "random`` pool instead of the ``/dev/urandom`` pool." @@ -6615,7 +6623,7 @@ msgstr "" #: ../../library/os.rst:395 ../../library/os.rst:461 ../../library/os.rst:470 #: ../../library/os.rst:479 ../../library/os.rst:493 ../../library/os.rst:691 -#: ../../library/os.rst:4763 ../../library/os.rst:4789 +#: ../../library/os.rst:4768 ../../library/os.rst:4794 msgid "process" msgstr "" @@ -6659,7 +6667,7 @@ msgstr "" msgid "deleting" msgstr "" -#: ../../library/os.rst:1409 ../../library/os.rst:3139 +#: ../../library/os.rst:1409 ../../library/os.rst:3144 msgid "module" msgstr "Modul" @@ -6668,8 +6676,8 @@ msgid "pty" msgstr "" #: ../../library/os.rst:2141 ../../library/os.rst:2559 -#: ../../library/os.rst:2760 ../../library/os.rst:3802 -#: ../../library/os.rst:3902 +#: ../../library/os.rst:2760 ../../library/os.rst:3807 +#: ../../library/os.rst:3907 msgid "directory" msgstr "" @@ -6689,60 +6697,60 @@ msgstr "" msgid "and os.makedirs()" msgstr "" -#: ../../library/os.rst:3139 +#: ../../library/os.rst:3144 msgid "stat" msgstr "" -#: ../../library/os.rst:3802 ../../library/os.rst:3902 +#: ../../library/os.rst:3807 ../../library/os.rst:3907 msgid "walking" msgstr "" -#: ../../library/os.rst:3802 ../../library/os.rst:3902 +#: ../../library/os.rst:3807 ../../library/os.rst:3907 msgid "traversal" msgstr "" -#: ../../library/os.rst:4763 ../../library/os.rst:4789 +#: ../../library/os.rst:4768 ../../library/os.rst:4794 msgid "killing" msgstr "" -#: ../../library/os.rst:4763 ../../library/os.rst:4789 +#: ../../library/os.rst:4768 ../../library/os.rst:4794 msgid "signalling" msgstr "" -#: ../../library/os.rst:5836 ../../library/os.rst:5872 +#: ../../library/os.rst:5841 ../../library/os.rst:5877 msgid ". (dot)" msgstr ". (Punkt)" -#: ../../library/os.rst:5836 ../../library/os.rst:5844 -#: ../../library/os.rst:5852 ../../library/os.rst:5863 -#: ../../library/os.rst:5872 +#: ../../library/os.rst:5841 ../../library/os.rst:5849 +#: ../../library/os.rst:5857 ../../library/os.rst:5868 +#: ../../library/os.rst:5877 msgid "in pathnames" msgstr "" -#: ../../library/os.rst:5844 +#: ../../library/os.rst:5849 msgid ".." msgstr "" -#: ../../library/os.rst:5852 ../../library/os.rst:5863 +#: ../../library/os.rst:5857 ../../library/os.rst:5868 msgid "/ (slash)" msgstr "/ (Schrägstrich)" -#: ../../library/os.rst:5853 +#: ../../library/os.rst:5858 msgid "\\ (backslash)" msgstr "" -#: ../../library/os.rst:5853 +#: ../../library/os.rst:5858 msgid "in pathnames (Windows)" msgstr "" -#: ../../library/os.rst:5879 +#: ../../library/os.rst:5884 msgid ": (colon)" msgstr ": (Doppelpunkt)" -#: ../../library/os.rst:5879 +#: ../../library/os.rst:5884 msgid "path separator (POSIX)" msgstr "" -#: ../../library/os.rst:5879 +#: ../../library/os.rst:5884 msgid "; (semicolon)" msgstr "" diff --git a/library/ssl.po b/library/ssl.po index ffd6400a..de9ca808 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:18+0000\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -582,7 +582,7 @@ msgid "" msgstr "" #: ../../library/ssl.rst:450 ../../library/ssl.rst:1610 -#: ../../library/ssl.rst:1910 +#: ../../library/ssl.rst:1932 msgid "Example::" msgstr "Beispiel::" @@ -630,7 +630,7 @@ msgid "" "does not send any for client cert authentication." msgstr "" -#: ../../library/ssl.rst:494 ../../library/ssl.rst:2412 +#: ../../library/ssl.rst:494 ../../library/ssl.rst:2434 msgid "See the discussion of :ref:`ssl-security` below." msgstr "" @@ -2067,6 +2067,14 @@ msgstr "" #: ../../library/ssl.rst:1724 msgid "" +"If the callback assigns a new context to :attr:`SSLSocket.context`, any " +"further ClientHello message on the same connection (for example after a TLS " +"1.3 HelloRetryRequest) is dispatched to the new context's *sni_callback*, if " +"it has one; the original callback is not called again for that connection." +msgstr "" + +#: ../../library/ssl.rst:1730 +msgid "" "Due to the early negotiation phase of the TLS connection, only limited " "methods and attributes are usable like :meth:`SSLSocket." "selected_alpn_protocol` and :attr:`SSLSocket.context`. The :meth:`SSLSocket." @@ -2077,7 +2085,7 @@ msgid "" "they be called safely." msgstr "" -#: ../../library/ssl.rst:1733 +#: ../../library/ssl.rst:1739 msgid "" "The *sni_callback* function must return ``None`` to allow the TLS " "negotiation to continue. If a TLS failure is required, a constant :const:" @@ -2086,20 +2094,27 @@ msgid "" "`ALERT_DESCRIPTION_INTERNAL_ERROR`." msgstr "" -#: ../../library/ssl.rst:1739 +#: ../../library/ssl.rst:1745 msgid "" "If an exception is raised from the *sni_callback* function the TLS " "connection will terminate with a fatal TLS alert message :const:" "`ALERT_DESCRIPTION_HANDSHAKE_FAILURE`." msgstr "" -#: ../../library/ssl.rst:1743 +#: ../../library/ssl.rst:1749 msgid "" "This method will raise :exc:`NotImplementedError` if the OpenSSL library had " "OPENSSL_NO_TLSEXT defined when it was built." msgstr "" -#: ../../library/ssl.rst:1750 +#: ../../library/ssl.rst:1754 +msgid "" +"After the callback assigns a new :attr:`SSLSocket.context`, later " +"ClientHello messages on the connection are dispatched to the new context's " +"*sni_callback*." +msgstr "" + +#: ../../library/ssl.rst:1761 msgid "" "This is a legacy API retained for backwards compatibility. When possible, " "you should use :attr:`sni_callback` instead. The given " @@ -2108,14 +2123,14 @@ msgid "" "*server_name_callback* receives a decoded U-label (``\"pythön.org\"``)." msgstr "" -#: ../../library/ssl.rst:1756 +#: ../../library/ssl.rst:1767 msgid "" "If there is a decoding error on the server name, the TLS connection will " "terminate with an :const:`ALERT_DESCRIPTION_INTERNAL_ERROR` fatal TLS alert " "message to the client." msgstr "" -#: ../../library/ssl.rst:1764 +#: ../../library/ssl.rst:1775 msgid "" "Load the key generation parameters for Diffie-Hellman (DH) key exchange. " "Using DH key exchange improves forward secrecy at the expense of " @@ -2124,13 +2139,13 @@ msgid "" "format." msgstr "" -#: ../../library/ssl.rst:1770 +#: ../../library/ssl.rst:1781 msgid "" "This setting doesn't apply to client sockets. You can also use the :data:" "`OP_SINGLE_DH_USE` option to further improve security." msgstr "" -#: ../../library/ssl.rst:1777 +#: ../../library/ssl.rst:1788 msgid "" "Set the curve name for Elliptic Curve-based Diffie-Hellman (ECDH) key " "exchange. ECDH is significantly faster than regular DH while arguably as " @@ -2139,27 +2154,27 @@ msgid "" "curve." msgstr "" -#: ../../library/ssl.rst:1783 +#: ../../library/ssl.rst:1794 msgid "" "This setting doesn't apply to client sockets. You can also use the :data:" "`OP_SINGLE_ECDH_USE` option to further improve security." msgstr "" -#: ../../library/ssl.rst:1786 +#: ../../library/ssl.rst:1797 msgid "This method is not available if :data:`HAS_ECDH` is ``False``." msgstr "" -#: ../../library/ssl.rst:1791 +#: ../../library/ssl.rst:1802 msgid "" "`SSL/TLS & Perfect Forward Secrecy `_" msgstr "" -#: ../../library/ssl.rst:1792 +#: ../../library/ssl.rst:1803 msgid "Vincent Bernat." msgstr "" -#: ../../library/ssl.rst:1798 +#: ../../library/ssl.rst:1809 msgid "" "Wrap an existing Python socket *sock* and return an instance of :attr:" "`SSLContext.sslsocket_class` (default :class:`SSLSocket`). The returned SSL " @@ -2167,13 +2182,13 @@ msgid "" "a :const:`~socket.SOCK_STREAM` socket; other socket types are unsupported." msgstr "" -#: ../../library/ssl.rst:1804 +#: ../../library/ssl.rst:1815 msgid "" "The parameter ``server_side`` is a boolean which identifies whether server-" "side or client-side behavior is desired from this socket." msgstr "" -#: ../../library/ssl.rst:1807 +#: ../../library/ssl.rst:1818 msgid "" "For client-side sockets, the context construction is lazy; if the underlying " "socket isn't connected yet, the context construction will be performed " @@ -2184,7 +2199,7 @@ msgid "" "exc:`SSLError`." msgstr "" -#: ../../library/ssl.rst:1815 +#: ../../library/ssl.rst:1826 msgid "" "On client connections, the optional parameter *server_hostname* specifies " "the hostname of the service which we are connecting to. This allows a " @@ -2193,7 +2208,7 @@ msgid "" "*server_hostname* will raise a :exc:`ValueError` if *server_side* is true." msgstr "" -#: ../../library/ssl.rst:1821 +#: ../../library/ssl.rst:1832 msgid "" "The parameter ``do_handshake_on_connect`` specifies whether to do the SSL " "handshake automatically after doing a :meth:`socket.connect`, or whether the " @@ -2203,7 +2218,7 @@ msgid "" "socket I/O involved in the handshake." msgstr "" -#: ../../library/ssl.rst:1828 +#: ../../library/ssl.rst:1839 msgid "" "The parameter ``suppress_ragged_eofs`` specifies how the :meth:`SSLSocket." "recv` method should signal unexpected EOF from the other end of the " @@ -2213,40 +2228,40 @@ msgid "" "exceptions back to the caller." msgstr "" -#: ../../library/ssl.rst:1835 +#: ../../library/ssl.rst:1846 msgid "*session*, see :attr:`~SSLSocket.session`." msgstr "" -#: ../../library/ssl.rst:1837 +#: ../../library/ssl.rst:1848 msgid "" "To wrap an :class:`SSLSocket` in another :class:`SSLSocket`, use :meth:" "`SSLContext.wrap_bio`." msgstr "" -#: ../../library/ssl.rst:1840 +#: ../../library/ssl.rst:1851 msgid "" "Always allow a server_hostname to be passed, even if OpenSSL does not have " "SNI." msgstr "" -#: ../../library/ssl.rst:1844 ../../library/ssl.rst:1871 +#: ../../library/ssl.rst:1855 ../../library/ssl.rst:1886 msgid "*session* argument was added." msgstr "" -#: ../../library/ssl.rst:1847 +#: ../../library/ssl.rst:1858 msgid "" "The method returns an instance of :attr:`SSLContext.sslsocket_class` instead " "of hard-coded :class:`SSLSocket`." msgstr "" -#: ../../library/ssl.rst:1853 +#: ../../library/ssl.rst:1864 msgid "" "The return type of :meth:`SSLContext.wrap_socket`, defaults to :class:" "`SSLSocket`. The attribute can be assigned to on instances of :class:" "`SSLContext` in order to return a custom subclass of :class:`SSLSocket`." msgstr "" -#: ../../library/ssl.rst:1863 +#: ../../library/ssl.rst:1874 msgid "" "Wrap the BIO objects *incoming* and *outgoing* and return an instance of :" "attr:`SSLContext.sslobject_class` (default :class:`SSLObject`). The SSL " @@ -2254,26 +2269,38 @@ msgid "" "outgoing BIO." msgstr "" -#: ../../library/ssl.rst:1868 +#: ../../library/ssl.rst:1879 msgid "" "The *server_side*, *server_hostname* and *session* parameters have the same " -"meaning as in :meth:`SSLContext.wrap_socket`." +"meaning as in :meth:`SSLContext.wrap_socket`, and are validated in the same " +"way: in particular a :exc:`ValueError` is raised when :attr:`~SSLContext." +"check_hostname` is enabled but no *server_hostname* is given, since there " +"would be no name to match the peer's certificate against." msgstr "" -#: ../../library/ssl.rst:1874 +#: ../../library/ssl.rst:1889 msgid "" "The method returns an instance of :attr:`SSLContext.sslobject_class` instead " "of hard-coded :class:`SSLObject`." msgstr "" -#: ../../library/ssl.rst:1880 +#: ../../library/ssl.rst:1893 +msgid "" +"The *server_side*, *server_hostname* and *session* parameters are now " +"validated as :meth:`SSLContext.wrap_socket` validates them. Previously a " +"context with :attr:`~SSLContext.check_hostname` enabled and no " +"*server_hostname* was accepted, and verified the certificate chain but never " +"the peer's identity." +msgstr "" + +#: ../../library/ssl.rst:1902 msgid "" "The return type of :meth:`SSLContext.wrap_bio`, defaults to :class:" "`SSLObject`. The attribute can be overridden on instance of class in order " "to return a custom subclass of :class:`SSLObject`." msgstr "" -#: ../../library/ssl.rst:1888 +#: ../../library/ssl.rst:1910 msgid "" "Get statistics about the SSL sessions created or managed by this context. A " "dictionary is returned which maps the names of each `piece of information " @@ -2282,14 +2309,14 @@ msgid "" "the session cache since the context was created::" msgstr "" -#: ../../library/ssl.rst:1893 +#: ../../library/ssl.rst:1915 msgid "" ">>> stats = context.session_stats()\n" ">>> stats['hits'], stats['misses']\n" "(0, 0)" msgstr "" -#: ../../library/ssl.rst:1899 +#: ../../library/ssl.rst:1921 msgid "" "Whether to match the peer cert's hostname in :meth:`SSLSocket.do_handshake`. " "The context's :attr:`~SSLContext.verify_mode` must be set to :data:" @@ -2302,7 +2329,7 @@ msgid "" "With other protocols, hostname checking must be enabled explicitly." msgstr "" -#: ../../library/ssl.rst:1912 +#: ../../library/ssl.rst:1934 msgid "" "import socket, ssl\n" "\n" @@ -2316,7 +2343,7 @@ msgid "" "ssl_sock.connect(('www.verisign.com', 443))" msgstr "" -#: ../../library/ssl.rst:1927 +#: ../../library/ssl.rst:1949 msgid "" ":attr:`~SSLContext.verify_mode` is now automatically changed to :data:" "`CERT_REQUIRED` when hostname checking is enabled and :attr:`~SSLContext." @@ -2324,7 +2351,7 @@ msgid "" "failed with a :exc:`ValueError`." msgstr "" -#: ../../library/ssl.rst:1934 +#: ../../library/ssl.rst:1956 msgid "" "Write TLS keys to a keylog file, whenever key material is generated or " "received. The keylog file is designed for debugging purposes only. The file " @@ -2333,7 +2360,7 @@ msgid "" "synchronized between threads, but not between processes." msgstr "" -#: ../../library/ssl.rst:1944 +#: ../../library/ssl.rst:1966 msgid "" "A :class:`TLSVersion` enum member representing the highest supported TLS " "version. The value defaults to :attr:`TLSVersion.MAXIMUM_SUPPORTED`. The " @@ -2341,7 +2368,7 @@ msgid "" "const:`PROTOCOL_TLS_CLIENT`, and :const:`PROTOCOL_TLS_SERVER`." msgstr "" -#: ../../library/ssl.rst:1949 +#: ../../library/ssl.rst:1971 msgid "" "The attributes :attr:`~SSLContext.maximum_version`, :attr:`~SSLContext." "minimum_version` and :attr:`SSLContext.options` all affect the supported SSL " @@ -2351,38 +2378,38 @@ msgid "" "`TLSVersion.TLSv1_2` will not be able to establish a TLS 1.2 connection." msgstr "" -#: ../../library/ssl.rst:1962 +#: ../../library/ssl.rst:1984 msgid "" "Like :attr:`SSLContext.maximum_version` except it is the lowest supported " "version or :attr:`TLSVersion.MINIMUM_SUPPORTED`." msgstr "" -#: ../../library/ssl.rst:1969 +#: ../../library/ssl.rst:1991 msgid "" "Control the number of TLS 1.3 session tickets of a :const:" "`PROTOCOL_TLS_SERVER` context. The setting has no impact on TLS 1.0 to 1.2 " "connections." msgstr "" -#: ../../library/ssl.rst:1977 +#: ../../library/ssl.rst:1999 msgid "" "An integer representing the set of SSL options enabled on this context. The " "default value is :data:`OP_ALL`, but you can specify other options such as :" "data:`OP_NO_SSLv2` by ORing them together." msgstr "" -#: ../../library/ssl.rst:1981 +#: ../../library/ssl.rst:2003 msgid ":attr:`SSLContext.options` returns :class:`Options` flags:" msgstr "" -#: ../../library/ssl.rst:1989 +#: ../../library/ssl.rst:2011 msgid "" "All ``OP_NO_SSL*`` and ``OP_NO_TLS*`` options have been deprecated since " "Python 3.7. Use :attr:`SSLContext.minimum_version` and :attr:`SSLContext." "maximum_version` instead." msgstr "" -#: ../../library/ssl.rst:1995 +#: ../../library/ssl.rst:2017 msgid "" "Enable TLS 1.3 post-handshake client authentication. Post-handshake auth is " "disabled by default and a server can only request a TLS client certificate " @@ -2390,13 +2417,13 @@ msgid "" "client certificate at any time after the handshake." msgstr "" -#: ../../library/ssl.rst:2000 +#: ../../library/ssl.rst:2022 msgid "" "When enabled on client-side sockets, the client signals the server that it " "supports post-handshake authentication." msgstr "" -#: ../../library/ssl.rst:2003 +#: ../../library/ssl.rst:2025 msgid "" "When enabled on server-side sockets, :attr:`SSLContext.verify_mode` must be " "set to :data:`CERT_OPTIONAL` or :data:`CERT_REQUIRED`, too. The actual " @@ -2404,66 +2431,66 @@ msgid "" "verify_client_post_handshake` is called and some I/O is performed." msgstr "" -#: ../../library/ssl.rst:2013 +#: ../../library/ssl.rst:2035 msgid "" "The protocol version chosen when constructing the context. This attribute " "is read-only." msgstr "" -#: ../../library/ssl.rst:2018 +#: ../../library/ssl.rst:2040 msgid "" "Whether :attr:`~SSLContext.check_hostname` falls back to verify the cert's " "subject common name in the absence of a subject alternative name extension " "(default: true)." msgstr "" -#: ../../library/ssl.rst:2026 +#: ../../library/ssl.rst:2048 msgid "" "The flag had no effect with OpenSSL before version 1.1.1l. Python 3.8.9, " "3.9.3, and 3.10 include workarounds for previous versions." msgstr "" -#: ../../library/ssl.rst:2031 +#: ../../library/ssl.rst:2053 msgid "" "An integer representing the `security level `_ for the context. This attribute is read-" "only." msgstr "" -#: ../../library/ssl.rst:2039 +#: ../../library/ssl.rst:2061 msgid "" "The flags for certificate verification operations. You can set flags like :" "data:`VERIFY_CRL_CHECK_LEAF` by ORing them together. By default OpenSSL does " "neither require nor verify certificate revocation lists (CRLs)." msgstr "" -#: ../../library/ssl.rst:2045 +#: ../../library/ssl.rst:2067 msgid ":attr:`SSLContext.verify_flags` returns :class:`VerifyFlags` flags:" msgstr "" -#: ../../library/ssl.rst:2053 +#: ../../library/ssl.rst:2075 msgid "" "Whether to try to verify other peers' certificates and how to behave if " "verification fails. This attribute must be one of :data:`CERT_NONE`, :data:" "`CERT_OPTIONAL` or :data:`CERT_REQUIRED`." msgstr "" -#: ../../library/ssl.rst:2057 +#: ../../library/ssl.rst:2079 msgid ":attr:`SSLContext.verify_mode` returns :class:`VerifyMode` enum:" msgstr "" -#: ../../library/ssl.rst:2065 +#: ../../library/ssl.rst:2087 msgid "" "Enables TLS-PSK (pre-shared key) authentication on a client-side connection." msgstr "" -#: ../../library/ssl.rst:2067 ../../library/ssl.rst:2116 +#: ../../library/ssl.rst:2089 ../../library/ssl.rst:2138 msgid "" "In general, certificate based authentication should be preferred over this " "method." msgstr "" -#: ../../library/ssl.rst:2069 +#: ../../library/ssl.rst:2091 msgid "" "The parameter ``callback`` is a callable object with the signature: ``def " "callback(hint: str | None) -> tuple[str | None, bytes]``. The ``hint`` " @@ -2475,27 +2502,27 @@ msgid "" "shared key. Return a zero length PSK to reject the connection." msgstr "" -#: ../../library/ssl.rst:2079 ../../library/ssl.rst:2125 +#: ../../library/ssl.rst:2101 ../../library/ssl.rst:2147 msgid "Setting ``callback`` to :const:`None` removes any existing callback." msgstr "" -#: ../../library/ssl.rst:2082 +#: ../../library/ssl.rst:2104 msgid "When using TLS 1.3:" msgstr "" -#: ../../library/ssl.rst:2084 +#: ../../library/ssl.rst:2106 msgid "the ``hint`` parameter is always :const:`None`." msgstr "" -#: ../../library/ssl.rst:2085 +#: ../../library/ssl.rst:2107 msgid "client-identity must be a non-empty string." msgstr "" -#: ../../library/ssl.rst:2087 ../../library/ssl.rst:2134 +#: ../../library/ssl.rst:2109 ../../library/ssl.rst:2156 msgid "Example usage::" msgstr "" -#: ../../library/ssl.rst:2089 +#: ../../library/ssl.rst:2111 msgid "" "context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)\n" "context.check_hostname = False\n" @@ -2516,18 +2543,18 @@ msgid "" "context.set_psk_client_callback(callback)" msgstr "" -#: ../../library/ssl.rst:2107 ../../library/ssl.rst:2152 +#: ../../library/ssl.rst:2129 ../../library/ssl.rst:2174 msgid "" "This method will raise :exc:`NotImplementedError` if :data:`HAS_PSK` is " "``False``." msgstr "" -#: ../../library/ssl.rst:2114 +#: ../../library/ssl.rst:2136 msgid "" "Enables TLS-PSK (pre-shared key) authentication on a server-side connection." msgstr "" -#: ../../library/ssl.rst:2118 +#: ../../library/ssl.rst:2140 msgid "" "The parameter ``callback`` is a callable object with the signature: ``def " "callback(identity: str | None) -> bytes``. The ``identity`` parameter is an " @@ -2537,19 +2564,19 @@ msgid "" "connection." msgstr "" -#: ../../library/ssl.rst:2127 +#: ../../library/ssl.rst:2149 msgid "" "The parameter ``identity_hint`` is an optional identity hint string sent to " "the client. The string must be less than or equal to ``256`` octets when " "UTF-8 encoded." msgstr "" -#: ../../library/ssl.rst:2132 +#: ../../library/ssl.rst:2154 msgid "" "When using TLS 1.3 the ``identity_hint`` parameter is not sent to the client." msgstr "" -#: ../../library/ssl.rst:2136 +#: ../../library/ssl.rst:2158 msgid "" "context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)\n" "context.maximum_version = ssl.TLSVersion.TLSv1_2\n" @@ -2568,11 +2595,11 @@ msgid "" "context.set_psk_server_callback(callback, 'ServerId_1')" msgstr "" -#: ../../library/ssl.rst:2164 +#: ../../library/ssl.rst:2186 msgid "Certificates" msgstr "" -#: ../../library/ssl.rst:2166 +#: ../../library/ssl.rst:2188 msgid "" "Certificates in general are part of a public-key / private-key system. In " "this system, each *principal*, (which may be a machine, or a person, or an " @@ -2583,7 +2610,7 @@ msgid "" "other part, and **only** with the other part." msgstr "" -#: ../../library/ssl.rst:2174 +#: ../../library/ssl.rst:2196 msgid "" "A certificate contains information about two principals. It contains the " "name of a *subject*, and the subject's public key. It also contains a " @@ -2597,7 +2624,7 @@ msgid "" "as two fields, called \"notBefore\" and \"notAfter\"." msgstr "" -#: ../../library/ssl.rst:2184 +#: ../../library/ssl.rst:2206 msgid "" "In the Python use of certificates, a client or server can use a certificate " "to prove who they are. The other side of a network connection can also be " @@ -2610,25 +2637,25 @@ msgid "" "take place." msgstr "" -#: ../../library/ssl.rst:2194 +#: ../../library/ssl.rst:2216 msgid "" "Python uses files to contain certificates. They should be formatted as " "\"PEM\" (see :rfc:`1422`), which is a base-64 encoded form wrapped with a " "header line and a footer line::" msgstr "" -#: ../../library/ssl.rst:2198 +#: ../../library/ssl.rst:2220 msgid "" "-----BEGIN CERTIFICATE-----\n" "... (certificate in base64 PEM encoding) ...\n" "-----END CERTIFICATE-----" msgstr "" -#: ../../library/ssl.rst:2203 +#: ../../library/ssl.rst:2225 msgid "Certificate chains" msgstr "" -#: ../../library/ssl.rst:2205 +#: ../../library/ssl.rst:2227 msgid "" "The Python files which contain certificates can contain a sequence of " "certificates, sometimes called a *certificate chain*. This chain should " @@ -2644,7 +2671,7 @@ msgid "" "agency which issued the certification authority's certificate::" msgstr "" -#: ../../library/ssl.rst:2218 +#: ../../library/ssl.rst:2240 msgid "" "-----BEGIN CERTIFICATE-----\n" "... (certificate for your server)...\n" @@ -2657,11 +2684,11 @@ msgid "" "-----END CERTIFICATE-----" msgstr "" -#: ../../library/ssl.rst:2229 +#: ../../library/ssl.rst:2251 msgid "CA certificates" msgstr "" -#: ../../library/ssl.rst:2231 +#: ../../library/ssl.rst:2253 msgid "" "If you are going to require validation of the other side of the connection's " "certificate, you need to provide a \"CA certs\" file, filled with the " @@ -2673,11 +2700,11 @@ msgid "" "create_default_context`." msgstr "" -#: ../../library/ssl.rst:2240 +#: ../../library/ssl.rst:2262 msgid "Combined key and certificate" msgstr "" -#: ../../library/ssl.rst:2242 +#: ../../library/ssl.rst:2264 msgid "" "Often the private key is stored in the same file as the certificate; in this " "case, only the ``certfile`` parameter to :meth:`SSLContext.load_cert_chain` " @@ -2685,7 +2712,7 @@ msgid "" "should come before the first certificate in the certificate chain::" msgstr "" -#: ../../library/ssl.rst:2248 +#: ../../library/ssl.rst:2270 msgid "" "-----BEGIN RSA PRIVATE KEY-----\n" "... (private key in base64 encoding) ...\n" @@ -2695,11 +2722,11 @@ msgid "" "-----END CERTIFICATE-----" msgstr "" -#: ../../library/ssl.rst:2256 +#: ../../library/ssl.rst:2278 msgid "Self-signed certificates" msgstr "" -#: ../../library/ssl.rst:2258 +#: ../../library/ssl.rst:2280 msgid "" "If you are going to create a server that provides SSL-encrypted connection " "services, you will need to acquire a certificate for that service. There " @@ -2709,7 +2736,7 @@ msgid "" "package, using something like the following::" msgstr "" -#: ../../library/ssl.rst:2265 +#: ../../library/ssl.rst:2287 msgid "" "% openssl req -new -x509 -days 365 -nodes -out cert.pem -keyout cert.pem\n" "Generating a 1024 bit RSA private key\n" @@ -2735,28 +2762,28 @@ msgid "" "%" msgstr "" -#: ../../library/ssl.rst:2287 +#: ../../library/ssl.rst:2309 msgid "" "The disadvantage of a self-signed certificate is that it is its own root " "certificate, and no one else will have it in their cache of known (and " "trusted) root certificates." msgstr "" -#: ../../library/ssl.rst:2293 +#: ../../library/ssl.rst:2315 msgid "Examples" msgstr "Beispiele" -#: ../../library/ssl.rst:2296 +#: ../../library/ssl.rst:2318 msgid "Testing for SSL support" msgstr "" -#: ../../library/ssl.rst:2298 +#: ../../library/ssl.rst:2320 msgid "" "To test for the presence of SSL support in a Python installation, user code " "should use the following idiom::" msgstr "" -#: ../../library/ssl.rst:2301 +#: ../../library/ssl.rst:2323 msgid "" "try:\n" " import ssl\n" @@ -2766,40 +2793,40 @@ msgid "" " ... # do something that requires SSL support" msgstr "" -#: ../../library/ssl.rst:2309 +#: ../../library/ssl.rst:2331 msgid "Client-side operation" msgstr "" -#: ../../library/ssl.rst:2311 +#: ../../library/ssl.rst:2333 msgid "" "This example creates a SSL context with the recommended security settings " "for client sockets, including automatic certificate verification::" msgstr "" -#: ../../library/ssl.rst:2314 +#: ../../library/ssl.rst:2336 msgid ">>> context = ssl.create_default_context()" msgstr "" -#: ../../library/ssl.rst:2316 +#: ../../library/ssl.rst:2338 msgid "" "If you prefer to tune security settings yourself, you might create a context " "from scratch (but beware that you might not get the settings right)::" msgstr "" -#: ../../library/ssl.rst:2320 +#: ../../library/ssl.rst:2342 msgid "" ">>> context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)\n" ">>> context.load_verify_locations(\"/etc/ssl/certs/ca-bundle.crt\")" msgstr "" -#: ../../library/ssl.rst:2323 +#: ../../library/ssl.rst:2345 msgid "" "(this snippet assumes your operating system places a bundle of all CA " "certificates in ``/etc/ssl/certs/ca-bundle.crt``; if not, you'll get an " "error and have to adjust the location)" msgstr "" -#: ../../library/ssl.rst:2327 +#: ../../library/ssl.rst:2349 msgid "" "The :data:`PROTOCOL_TLS_CLIENT` protocol configures the context for cert " "validation and hostname verification. :attr:`~SSLContext.verify_mode` is set " @@ -2807,7 +2834,7 @@ msgid "" "``True``. All other protocols create SSL contexts with insecure defaults." msgstr "" -#: ../../library/ssl.rst:2332 +#: ../../library/ssl.rst:2354 msgid "" "When you use the context to connect to a server, :const:`CERT_REQUIRED` and :" "attr:`~SSLContext.check_hostname` validate the server certificate: it " @@ -2816,28 +2843,28 @@ msgid "" "properties like validity and identity of the hostname::" msgstr "" -#: ../../library/ssl.rst:2338 +#: ../../library/ssl.rst:2360 msgid "" ">>> conn = context.wrap_socket(socket.socket(socket.AF_INET),\n" "... server_hostname=\"www.python.org\")\n" ">>> conn.connect((\"www.python.org\", 443))" msgstr "" -#: ../../library/ssl.rst:2342 +#: ../../library/ssl.rst:2364 msgid "You may then fetch the certificate::" msgstr "" -#: ../../library/ssl.rst:2344 +#: ../../library/ssl.rst:2366 msgid ">>> cert = conn.getpeercert()" msgstr "" -#: ../../library/ssl.rst:2346 +#: ../../library/ssl.rst:2368 msgid "" "Visual inspection shows that the certificate does identify the desired " "service (that is, the HTTPS host ``www.python.org``)::" msgstr "" -#: ../../library/ssl.rst:2349 +#: ../../library/ssl.rst:2371 msgid "" ">>> pprint.pprint(cert)\n" "{'OCSP': ('http://ocsp.digicert.com',),\n" @@ -2884,13 +2911,13 @@ msgid "" " 'version': 3}" msgstr "" -#: ../../library/ssl.rst:2389 +#: ../../library/ssl.rst:2411 msgid "" "Now the SSL channel is established and the certificate verified, you can " "proceed to talk with the server::" msgstr "" -#: ../../library/ssl.rst:2392 +#: ../../library/ssl.rst:2414 msgid "" ">>> conn.sendall(b\"HEAD / HTTP/1.0\\r\\nHost: linuxfr.org\\r\\n\\r\\n\")\n" ">>> pprint.pprint(conn.recv(1024).split(b\"\\r\\n\"))\n" @@ -2913,11 +2940,11 @@ msgid "" " b'']" msgstr "" -#: ../../library/ssl.rst:2416 +#: ../../library/ssl.rst:2438 msgid "Server-side operation" msgstr "" -#: ../../library/ssl.rst:2418 +#: ../../library/ssl.rst:2440 msgid "" "For server operation, typically you'll need to have a server certificate, " "and private key, each in a file. You'll first create a context holding the " @@ -2926,7 +2953,7 @@ msgid "" "start waiting for clients to connect::" msgstr "" -#: ../../library/ssl.rst:2424 +#: ../../library/ssl.rst:2446 msgid "" "import socket, ssl\n" "\n" @@ -2938,14 +2965,14 @@ msgid "" "bindsocket.listen(5)" msgstr "" -#: ../../library/ssl.rst:2433 +#: ../../library/ssl.rst:2455 msgid "" "When a client connects, you'll call :meth:`accept` on the socket to get the " "new socket from the other end, and use the context's :meth:`SSLContext." "wrap_socket` method to create a server-side SSL socket for the connection::" msgstr "" -#: ../../library/ssl.rst:2437 +#: ../../library/ssl.rst:2459 msgid "" "while True:\n" " newsocket, fromaddr = bindsocket.accept()\n" @@ -2957,13 +2984,13 @@ msgid "" " connstream.close()" msgstr "" -#: ../../library/ssl.rst:2446 +#: ../../library/ssl.rst:2468 msgid "" "Then you'll read data from the ``connstream`` and do something with it till " "you are finished with the client (or the client is finished with you)::" msgstr "" -#: ../../library/ssl.rst:2449 +#: ../../library/ssl.rst:2471 msgid "" "def deal_with_client(connstream):\n" " data = connstream.recv(1024)\n" @@ -2977,7 +3004,7 @@ msgid "" " # finished with client" msgstr "" -#: ../../library/ssl.rst:2460 +#: ../../library/ssl.rst:2482 msgid "" "And go back to listening for new client connections (of course, a real " "server would probably handle each client connection in a separate thread, or " @@ -2985,18 +3012,18 @@ msgid "" "event loop)." msgstr "" -#: ../../library/ssl.rst:2468 +#: ../../library/ssl.rst:2490 msgid "Notes on non-blocking sockets" msgstr "" -#: ../../library/ssl.rst:2470 +#: ../../library/ssl.rst:2492 msgid "" "SSL sockets behave slightly different than regular sockets in non-blocking " "mode. When working with non-blocking sockets, there are thus several things " "you need to be aware of:" msgstr "" -#: ../../library/ssl.rst:2474 +#: ../../library/ssl.rst:2496 msgid "" "Most :class:`SSLSocket` methods will raise either :exc:`SSLWantWriteError` " "or :exc:`SSLWantReadError` instead of :exc:`BlockingIOError` if an I/O " @@ -3008,13 +3035,13 @@ msgid "" "require a prior *write* to the underlying socket." msgstr "" -#: ../../library/ssl.rst:2486 +#: ../../library/ssl.rst:2508 msgid "" "In earlier Python versions, the :meth:`!SSLSocket.send` method returned zero " "instead of raising :exc:`SSLWantWriteError` or :exc:`SSLWantReadError`." msgstr "" -#: ../../library/ssl.rst:2490 +#: ../../library/ssl.rst:2512 msgid "" "Calling :func:`~select.select` tells you that the OS-level socket can be " "read from (or written to), but it does not imply that there is sufficient " @@ -3024,7 +3051,7 @@ msgid "" "`~select.select`." msgstr "" -#: ../../library/ssl.rst:2497 +#: ../../library/ssl.rst:2519 msgid "" "Conversely, since the SSL layer has its own framing, a SSL socket may still " "have data available for reading without :func:`~select.select` being aware " @@ -3033,13 +3060,13 @@ msgid "" "call if still necessary." msgstr "" -#: ../../library/ssl.rst:2503 +#: ../../library/ssl.rst:2525 msgid "" "(of course, similar provisions apply when using other primitives such as :" "func:`~select.poll`, or those in the :mod:`selectors` module)" msgstr "" -#: ../../library/ssl.rst:2506 +#: ../../library/ssl.rst:2528 msgid "" "The SSL handshake itself will be non-blocking: the :meth:`SSLSocket." "do_handshake` method has to be retried until it returns successfully. Here " @@ -3047,7 +3074,7 @@ msgid "" "readiness::" msgstr "" -#: ../../library/ssl.rst:2511 +#: ../../library/ssl.rst:2533 msgid "" "while True:\n" " try:\n" @@ -3059,7 +3086,7 @@ msgid "" " select.select([], [sock], [])" msgstr "" -#: ../../library/ssl.rst:2522 +#: ../../library/ssl.rst:2544 msgid "" "The :mod:`asyncio` module supports :ref:`non-blocking SSL sockets ` and provides a higher level :ref:`Streams API `. " "This means that for example :meth:`~SSLSocket.read` will raise an :exc:" "`SSLWantReadError` if it needs more data than the incoming BIO has available." msgstr "" -#: ../../library/ssl.rst:2625 +#: ../../library/ssl.rst:2647 msgid "" ":class:`SSLObject` instances must be created with :meth:`~SSLContext." "wrap_bio`. In earlier versions, it was possible to create instances " "directly. This was never documented or officially supported." msgstr "" -#: ../../library/ssl.rst:2631 +#: ../../library/ssl.rst:2653 msgid "" "An SSLObject communicates with the outside world using memory buffers. The " "class :class:`MemoryBIO` provides a memory buffer that can be used for this " "purpose. It wraps an OpenSSL memory BIO (Basic IO) object:" msgstr "" -#: ../../library/ssl.rst:2637 +#: ../../library/ssl.rst:2659 msgid "" "A memory buffer that can be used to pass data between Python and an SSL " "protocol instance." msgstr "" -#: ../../library/ssl.rst:2642 +#: ../../library/ssl.rst:2664 msgid "Return the number of bytes currently in the memory buffer." msgstr "" -#: ../../library/ssl.rst:2646 +#: ../../library/ssl.rst:2668 msgid "" "A boolean indicating whether the memory BIO is current at the end-of-file " "position." msgstr "" -#: ../../library/ssl.rst:2651 +#: ../../library/ssl.rst:2673 msgid "" "Read up to *n* bytes from the memory buffer. If *n* is not specified or " "negative, all bytes are returned." msgstr "" -#: ../../library/ssl.rst:2656 +#: ../../library/ssl.rst:2678 msgid "" "Write the bytes from *buf* to the memory BIO. The *buf* argument must be an " "object supporting the buffer protocol." msgstr "" -#: ../../library/ssl.rst:2659 +#: ../../library/ssl.rst:2681 msgid "" "The return value is the number of bytes written, which is always equal to " "the length of *buf*." msgstr "" -#: ../../library/ssl.rst:2664 +#: ../../library/ssl.rst:2686 msgid "" "Write an EOF marker to the memory BIO. After this method has been called, it " "is illegal to call :meth:`~MemoryBIO.write`. The attribute :attr:`eof` will " "become true after all data currently in the buffer has been read." msgstr "" -#: ../../library/ssl.rst:2670 +#: ../../library/ssl.rst:2692 msgid "SSL session" msgstr "" -#: ../../library/ssl.rst:2676 +#: ../../library/ssl.rst:2698 msgid "Session object used by :attr:`~SSLSocket.session`." msgstr "" -#: ../../library/ssl.rst:2688 +#: ../../library/ssl.rst:2710 msgid "Security considerations" msgstr "" -#: ../../library/ssl.rst:2691 +#: ../../library/ssl.rst:2713 msgid "Best defaults" msgstr "" -#: ../../library/ssl.rst:2693 +#: ../../library/ssl.rst:2715 msgid "" "For **client use**, if you don't have any special requirements for your " "security policy, it is highly recommended that you use the :func:" @@ -3351,13 +3378,13 @@ msgid "" "settings." msgstr "" -#: ../../library/ssl.rst:2700 +#: ../../library/ssl.rst:2722 msgid "" "For example, here is how you would use the :class:`smtplib.SMTP` class to " "create a trusted, secure connection to a SMTP server::" msgstr "" -#: ../../library/ssl.rst:2703 +#: ../../library/ssl.rst:2725 msgid "" ">>> import ssl, smtplib\n" ">>> smtp = smtplib.SMTP(\"mail.python.org\", port=587)\n" @@ -3366,13 +3393,13 @@ msgid "" "(220, b'2.0.0 Ready to start TLS')" msgstr "" -#: ../../library/ssl.rst:2709 +#: ../../library/ssl.rst:2731 msgid "" "If a client certificate is needed for the connection, it can be added with :" "meth:`SSLContext.load_cert_chain`." msgstr "" -#: ../../library/ssl.rst:2712 +#: ../../library/ssl.rst:2734 msgid "" "By contrast, if you create the SSL context by calling the :class:" "`SSLContext` constructor yourself, it will not have certificate validation " @@ -3380,15 +3407,15 @@ msgid "" "paragraphs below to achieve a good security level." msgstr "" -#: ../../library/ssl.rst:2718 +#: ../../library/ssl.rst:2740 msgid "Manual settings" msgstr "" -#: ../../library/ssl.rst:2721 +#: ../../library/ssl.rst:2743 msgid "Verifying certificates" msgstr "" -#: ../../library/ssl.rst:2723 +#: ../../library/ssl.rst:2745 msgid "" "When calling the :class:`SSLContext` constructor directly, :const:" "`CERT_NONE` is the default. Since it does not authenticate the other peer, " @@ -3403,13 +3430,13 @@ msgid "" "enabled." msgstr "" -#: ../../library/ssl.rst:2735 +#: ../../library/ssl.rst:2757 msgid "" "Hostname matchings is now performed by OpenSSL. Python no longer uses :func:" "`!match_hostname`." msgstr "" -#: ../../library/ssl.rst:2739 +#: ../../library/ssl.rst:2761 msgid "" "In server mode, if you want to authenticate your clients using the SSL layer " "(rather than using a higher-level authentication mechanism), you'll also " @@ -3417,11 +3444,11 @@ msgid "" "certificate." msgstr "" -#: ../../library/ssl.rst:2745 +#: ../../library/ssl.rst:2767 msgid "Protocol versions" msgstr "" -#: ../../library/ssl.rst:2747 +#: ../../library/ssl.rst:2769 msgid "" "SSL versions 2 and 3 are considered insecure and are therefore dangerous to " "use. If you want maximum compatibility between clients and servers, it is " @@ -3430,14 +3457,14 @@ msgid "" "by default." msgstr "" -#: ../../library/ssl.rst:2755 +#: ../../library/ssl.rst:2777 msgid "" ">>> client_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)\n" ">>> client_context.minimum_version = ssl.TLSVersion.TLSv1_2\n" ">>> client_context.maximum_version = ssl.TLSVersion.TLSv1_3" msgstr "" -#: ../../library/ssl.rst:2760 +#: ../../library/ssl.rst:2782 msgid "" "The SSL client context created above will only allow TLSv1.2 and TLSv1.3 (if " "supported by your system) connections to a server. :const:" @@ -3445,11 +3472,11 @@ msgid "" "default. You have to load certificates into the context." msgstr "" -#: ../../library/ssl.rst:2767 +#: ../../library/ssl.rst:2789 msgid "Cipher selection" msgstr "" -#: ../../library/ssl.rst:2769 +#: ../../library/ssl.rst:2791 msgid "" "If you have advanced security requirements, fine-tuning of the ciphers " "enabled when negotiating a SSL session is possible through the :meth:" @@ -3462,11 +3489,11 @@ msgid "" "command on your system." msgstr "" -#: ../../library/ssl.rst:2780 +#: ../../library/ssl.rst:2802 msgid "Multi-processing" msgstr "" -#: ../../library/ssl.rst:2782 +#: ../../library/ssl.rst:2804 msgid "" "If using this module as part of a multi-processed application (using, for " "example the :mod:`multiprocessing` or :mod:`concurrent.futures` modules), be " @@ -3477,17 +3504,17 @@ msgid "" "sufficient." msgstr "" -#: ../../library/ssl.rst:2794 +#: ../../library/ssl.rst:2816 msgid "TLS 1.3" msgstr "" -#: ../../library/ssl.rst:2798 +#: ../../library/ssl.rst:2820 msgid "" "The TLS 1.3 protocol behaves slightly differently than previous version of " "TLS/SSL. Some new TLS 1.3 features are not yet available." msgstr "" -#: ../../library/ssl.rst:2801 +#: ../../library/ssl.rst:2823 msgid "" "TLS 1.3 uses a disjunct set of cipher suites. All AES-GCM and ChaCha20 " "cipher suites are enabled by default. The method :meth:`SSLContext." @@ -3495,14 +3522,14 @@ msgid "" "`SSLContext.get_ciphers` returns them." msgstr "" -#: ../../library/ssl.rst:2805 +#: ../../library/ssl.rst:2827 msgid "" "Session tickets are no longer sent as part of the initial handshake and are " "handled differently. :attr:`SSLSocket.session` and :class:`SSLSession` are " "not compatible with TLS 1.3." msgstr "" -#: ../../library/ssl.rst:2808 +#: ../../library/ssl.rst:2830 msgid "" "Client-side certificates are also no longer verified during the initial " "handshake. A server can request a certificate at any time. Clients process " @@ -3510,103 +3537,103 @@ msgid "" "server." msgstr "" -#: ../../library/ssl.rst:2812 +#: ../../library/ssl.rst:2834 msgid "" "TLS 1.3 features like early data, deferred TLS client cert request, " "signature algorithm configuration, and rekeying are not supported yet." msgstr "" -#: ../../library/ssl.rst:2818 +#: ../../library/ssl.rst:2840 msgid "Class :class:`socket.socket`" msgstr "" -#: ../../library/ssl.rst:2819 +#: ../../library/ssl.rst:2841 msgid "Documentation of underlying :mod:`socket` class" msgstr "" -#: ../../library/ssl.rst:2821 +#: ../../library/ssl.rst:2843 msgid "" "`SSL/TLS Strong Encryption: An Introduction `_" msgstr "" -#: ../../library/ssl.rst:2822 +#: ../../library/ssl.rst:2844 msgid "Intro from the Apache HTTP Server documentation" msgstr "" -#: ../../library/ssl.rst:2824 +#: ../../library/ssl.rst:2846 msgid "" ":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " "Certificate-Based Key Management <1422>`" msgstr "" -#: ../../library/ssl.rst:2825 +#: ../../library/ssl.rst:2847 msgid "Steve Kent" msgstr "" -#: ../../library/ssl.rst:2827 +#: ../../library/ssl.rst:2849 msgid ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" msgstr "" -#: ../../library/ssl.rst:2828 +#: ../../library/ssl.rst:2850 msgid "Donald E. Eastlake, Jeffrey I. Schiller, Steve Crocker" msgstr "" -#: ../../library/ssl.rst:2830 +#: ../../library/ssl.rst:2852 msgid "" ":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " "Certificate Revocation List (CRL) Profile <5280>`" msgstr "" -#: ../../library/ssl.rst:2831 +#: ../../library/ssl.rst:2853 msgid "David Cooper et al." msgstr "" -#: ../../library/ssl.rst:2833 +#: ../../library/ssl.rst:2855 msgid "" ":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " "<5246>`" msgstr "" -#: ../../library/ssl.rst:2834 +#: ../../library/ssl.rst:2856 msgid "Tim Dierks and Eric Rescorla." msgstr "" -#: ../../library/ssl.rst:2836 +#: ../../library/ssl.rst:2858 msgid ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" msgstr "" -#: ../../library/ssl.rst:2837 +#: ../../library/ssl.rst:2859 msgid "Donald E. Eastlake" msgstr "" -#: ../../library/ssl.rst:2839 +#: ../../library/ssl.rst:2861 msgid "" "`IANA TLS: Transport Layer Security (TLS) Parameters `_" msgstr "" -#: ../../library/ssl.rst:2840 +#: ../../library/ssl.rst:2862 msgid "IANA" msgstr "" -#: ../../library/ssl.rst:2842 +#: ../../library/ssl.rst:2864 msgid "" ":rfc:`RFC 7525: Recommendations for Secure Use of Transport Layer Security " "(TLS) and Datagram Transport Layer Security (DTLS) <7525>`" msgstr "" -#: ../../library/ssl.rst:2843 +#: ../../library/ssl.rst:2865 msgid "IETF" msgstr "" -#: ../../library/ssl.rst:2845 +#: ../../library/ssl.rst:2867 msgid "" "`Mozilla's Server Side TLS recommendations `_" msgstr "" -#: ../../library/ssl.rst:2846 +#: ../../library/ssl.rst:2868 msgid "Mozilla" msgstr "" @@ -3634,10 +3661,10 @@ msgstr "" msgid "Secure Sockets Layer" msgstr "" -#: ../../library/ssl.rst:2157 +#: ../../library/ssl.rst:2179 msgid "certificates" msgstr "" -#: ../../library/ssl.rst:2159 +#: ../../library/ssl.rst:2181 msgid "X509 certificate" msgstr "" diff --git a/library/tempfile.po b/library/tempfile.po index ee83299c..1e2e03dc 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:18+0000\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -109,7 +109,7 @@ msgid "" msgstr "" #: ../../library/tempfile.rst:68 ../../library/tempfile.rst:137 -#: ../../library/tempfile.rst:266 +#: ../../library/tempfile.rst:275 msgid "" "Raises an :ref:`auditing event ` ``tempfile.mkstemp`` with " "argument ``fullpath``." @@ -302,21 +302,34 @@ msgid "" "based on other logic." msgstr "" -#: ../../library/tempfile.rst:210 ../../library/tempfile.rst:292 +#: ../../library/tempfile.rst:212 +msgid "" +"Cleanup is not robust against the tree being modified while it is removed. " +"Files outside of the tree may have their permissions and file flags reset." +msgstr "" + +#: ../../library/tempfile.rst:215 +msgid "" +"On systems where :data:`shutil.rmtree.avoids_symlink_attacks` is false, " +"manipulating symbolic links during cleanup may cause files outside of the " +"tree to be removed." +msgstr "" + +#: ../../library/tempfile.rst:219 ../../library/tempfile.rst:301 msgid "" "Raises an :ref:`auditing event ` ``tempfile.mkdtemp`` with " "argument ``fullpath``." msgstr "" -#: ../../library/tempfile.rst:214 +#: ../../library/tempfile.rst:223 msgid "Added *ignore_cleanup_errors* parameter." msgstr "" -#: ../../library/tempfile.rst:217 +#: ../../library/tempfile.rst:226 msgid "Added the *delete* parameter." msgstr "" -#: ../../library/tempfile.rst:223 +#: ../../library/tempfile.rst:232 msgid "" "Creates a temporary file in the most secure manner possible. There are no " "race conditions in the file's creation, assuming that the platform properly " @@ -326,20 +339,20 @@ msgid "" "executable by no one." msgstr "" -#: ../../library/tempfile.rst:230 +#: ../../library/tempfile.rst:239 msgid "" "The file descriptor is :ref:`not inherited by child processes " "`." msgstr "" -#: ../../library/tempfile.rst:232 +#: ../../library/tempfile.rst:241 msgid "" "Unlike :func:`TemporaryFile`, the user of :func:`mkstemp` is responsible for " "closing the file descriptor (for example, using :func:`os.close`) and " "deleting the temporary file (for example, using :func:`os.remove`)." msgstr "" -#: ../../library/tempfile.rst:236 +#: ../../library/tempfile.rst:245 msgid "" "If *suffix* is not ``None``, the file name will end with that suffix, " "otherwise there will be no suffix. :func:`mkstemp` does not put a dot " @@ -347,14 +360,14 @@ msgid "" "beginning of *suffix*." msgstr "" -#: ../../library/tempfile.rst:241 +#: ../../library/tempfile.rst:250 msgid "" "If *prefix* is not ``None``, the file name will begin with that prefix; " "otherwise, a default prefix is used. The default is the return value of :" "func:`gettempprefix` or :func:`gettempprefixb`, as appropriate." msgstr "" -#: ../../library/tempfile.rst:245 +#: ../../library/tempfile.rst:254 msgid "" "If *dir* is not ``None``, the file will be created in that directory; " "otherwise, a default directory is used. The default directory is chosen " @@ -365,7 +378,7 @@ msgid "" "commands via ``os.popen()``." msgstr "" -#: ../../library/tempfile.rst:253 +#: ../../library/tempfile.rst:262 msgid "" "If any of *suffix*, *prefix*, and *dir* are not ``None``, they must be the " "same type. If they are bytes, the returned name will be bytes instead of " @@ -373,20 +386,20 @@ msgid "" "behavior, pass ``suffix=b''``." msgstr "" -#: ../../library/tempfile.rst:259 +#: ../../library/tempfile.rst:268 msgid "" "If *text* is specified and true, the file is opened in text mode. Otherwise, " "(the default) the file is opened in binary mode." msgstr "" -#: ../../library/tempfile.rst:262 +#: ../../library/tempfile.rst:271 msgid "" ":func:`mkstemp` returns a tuple containing an OS-level handle to an open " "file (as would be returned by :func:`os.open`) and the absolute pathname of " "that file, in that order." msgstr "" -#: ../../library/tempfile.rst:268 ../../library/tempfile.rst:294 +#: ../../library/tempfile.rst:277 ../../library/tempfile.rst:303 msgid "" "*suffix*, *prefix*, and *dir* may now be supplied in bytes in order to " "obtain a bytes return value. Prior to this, only str was allowed. *suffix* " @@ -394,111 +407,111 @@ msgid "" "default value to be used." msgstr "" -#: ../../library/tempfile.rst:274 ../../library/tempfile.rst:300 +#: ../../library/tempfile.rst:283 ../../library/tempfile.rst:309 msgid "The *dir* parameter now accepts a :term:`path-like object`." msgstr "" -#: ../../library/tempfile.rst:280 +#: ../../library/tempfile.rst:289 msgid "" "Creates a temporary directory in the most secure manner possible. There are " "no race conditions in the directory's creation. The directory is readable, " "writable, and searchable only by the creating user ID." msgstr "" -#: ../../library/tempfile.rst:284 +#: ../../library/tempfile.rst:293 msgid "" "The user of :func:`mkdtemp` is responsible for deleting the temporary " "directory and its contents when done with it." msgstr "" -#: ../../library/tempfile.rst:287 +#: ../../library/tempfile.rst:296 msgid "" "The *prefix*, *suffix*, and *dir* arguments are the same as for :func:" "`mkstemp`." msgstr "" -#: ../../library/tempfile.rst:290 +#: ../../library/tempfile.rst:299 msgid ":func:`mkdtemp` returns the absolute pathname of the new directory." msgstr "" -#: ../../library/tempfile.rst:303 +#: ../../library/tempfile.rst:312 msgid "" ":func:`mkdtemp` now always returns an absolute path, even if *dir* is " "relative." msgstr "" -#: ../../library/tempfile.rst:309 +#: ../../library/tempfile.rst:318 msgid "" "Return the name of the directory used for temporary files. This defines the " "default value for the *dir* argument to all functions in this module." msgstr "" -#: ../../library/tempfile.rst:313 +#: ../../library/tempfile.rst:322 msgid "" "Python searches a standard list of directories to find one which the calling " "user can create files in. The list is:" msgstr "" -#: ../../library/tempfile.rst:316 +#: ../../library/tempfile.rst:325 msgid "The directory named by the :envvar:`TMPDIR` environment variable." msgstr "" -#: ../../library/tempfile.rst:318 +#: ../../library/tempfile.rst:327 msgid "The directory named by the :envvar:`TEMP` environment variable." msgstr "" -#: ../../library/tempfile.rst:320 +#: ../../library/tempfile.rst:329 msgid "The directory named by the :envvar:`TMP` environment variable." msgstr "" -#: ../../library/tempfile.rst:322 +#: ../../library/tempfile.rst:331 msgid "A platform-specific location:" msgstr "" -#: ../../library/tempfile.rst:324 +#: ../../library/tempfile.rst:333 msgid "" "On Windows, the directories :file:`%USERPROFILE%\\\\AppData\\\\Local\\" "\\Temp`, :file:`%SYSTEMROOT%\\\\Temp`, :file:`C:\\\\TEMP`, :file:`C:\\" "\\TMP`, :file:`\\\\TEMP`, and :file:`\\\\TMP`, in that order." msgstr "" -#: ../../library/tempfile.rst:330 +#: ../../library/tempfile.rst:339 msgid "" "On all other platforms, the directories :file:`/tmp`, :file:`/var/tmp`, and :" "file:`/usr/tmp`, in that order." msgstr "" -#: ../../library/tempfile.rst:333 +#: ../../library/tempfile.rst:342 msgid "As a last resort, the current working directory." msgstr "" -#: ../../library/tempfile.rst:335 +#: ../../library/tempfile.rst:344 msgid "" "The result of this search is cached, see the description of :data:`tempdir` " "below." msgstr "" -#: ../../library/tempfile.rst:340 +#: ../../library/tempfile.rst:349 msgid "" "Always returns a str. Previously it would return any :data:`tempdir` value " "regardless of type so long as it was not ``None``." msgstr "" -#: ../../library/tempfile.rst:345 +#: ../../library/tempfile.rst:354 msgid "Same as :func:`gettempdir` but the return value is in bytes." msgstr "" -#: ../../library/tempfile.rst:351 +#: ../../library/tempfile.rst:360 msgid "" "Return the filename prefix used to create temporary files. This does not " "contain the directory component." msgstr "" -#: ../../library/tempfile.rst:356 +#: ../../library/tempfile.rst:365 msgid "Same as :func:`gettempprefix` but the return value is in bytes." msgstr "" -#: ../../library/tempfile.rst:360 +#: ../../library/tempfile.rst:369 msgid "" "The module uses a global variable to store the name of the directory used " "for temporary files returned by :func:`gettempdir`. It can be set directly " @@ -508,21 +521,21 @@ msgid "" "unsuspecting code by changing global API behavior." msgstr "" -#: ../../library/tempfile.rst:369 +#: ../../library/tempfile.rst:378 msgid "" "When set to a value other than ``None``, this variable defines the default " "value for the *dir* argument to the functions defined in this module, " "including its type, bytes or str. It cannot be a :term:`path-like object`." msgstr "" -#: ../../library/tempfile.rst:374 +#: ../../library/tempfile.rst:383 msgid "" "If ``tempdir`` is ``None`` (the default) at any call to any of the above " "functions except :func:`gettempprefix` it is initialized following the " "algorithm described in :func:`gettempdir`." msgstr "" -#: ../../library/tempfile.rst:380 +#: ../../library/tempfile.rst:389 msgid "" "Beware that if you set ``tempdir`` to a bytes value, there is a nasty side " "effect: The global default return type of :func:`mkstemp` and :func:" @@ -532,16 +545,16 @@ msgid "" "compatibility with the historical implementation." msgstr "" -#: ../../library/tempfile.rst:391 +#: ../../library/tempfile.rst:400 msgid "Examples" msgstr "Beispiele" -#: ../../library/tempfile.rst:393 +#: ../../library/tempfile.rst:402 msgid "" "Here are some examples of typical usage of the :mod:`!tempfile` module::" msgstr "" -#: ../../library/tempfile.rst:395 +#: ../../library/tempfile.rst:404 msgid "" ">>> import tempfile\n" "\n" @@ -584,11 +597,11 @@ msgid "" "# directory and contents have been removed" msgstr "" -#: ../../library/tempfile.rst:438 +#: ../../library/tempfile.rst:447 msgid "Deprecated functions and variables" msgstr "" -#: ../../library/tempfile.rst:440 +#: ../../library/tempfile.rst:449 msgid "" "A historical way to create temporary files was to first generate a file name " "with the :func:`mktemp` function and then create a file using this name. " @@ -599,11 +612,11 @@ msgid "" "used by :func:`mkstemp` and the other functions described above." msgstr "" -#: ../../library/tempfile.rst:451 +#: ../../library/tempfile.rst:460 msgid "Use :func:`mkstemp` instead." msgstr "" -#: ../../library/tempfile.rst:454 +#: ../../library/tempfile.rst:463 msgid "" "Return an absolute pathname of a file that did not exist at the time the " "call is made. The *prefix*, *suffix*, and *dir* arguments are similar to " @@ -611,7 +624,7 @@ msgid "" "``prefix=None`` are not supported." msgstr "" -#: ../../library/tempfile.rst:461 +#: ../../library/tempfile.rst:470 msgid "" "Use of this function may introduce a security hole in your program. By the " "time you get around to doing anything with the file name it returns, someone " @@ -620,7 +633,7 @@ msgid "" "parameter::" msgstr "" -#: ../../library/tempfile.rst:467 +#: ../../library/tempfile.rst:476 msgid "" ">>> f = NamedTemporaryFile(delete=False)\n" ">>> f.name\n" diff --git a/library/test.po b/library/test.po index de7dcc5f..e28954cc 100644 --- a/library/test.po +++ b/library/test.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-05-08 17:18+0000\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -244,16 +244,18 @@ msgid "" "Under the hood, it uses :mod:`!test.regrtest`; the call :program:`python -m " "test.regrtest` used in previous Python versions still works. Running the " "script by itself automatically starts running all regression tests in the :" -"mod:`!test` package. It does this by finding all modules in the package " -"whose name starts with ``test_``, importing them, and executing the " -"function :func:`test_main` if present or loading the tests via unittest." -"TestLoader.loadTestsFromModule if ``test_main`` does not exist. The names " -"of tests to execute may also be passed to the script. Specifying a single " -"regression test (:program:`python -m test test_spam`) will minimize output " -"and only print whether the test passed or failed." +"mod:`!test` package. It does this by finding modules and packages whose " +"names start with ``test_``, importing each one, and loading its tests with :" +"meth:`unittest.TestLoader.loadTestsFromModule`. See the :ref:`load_tests " +"protocol ` for how a module or package can customize " +"what is loaded. Defining a module-level ``test_main()`` function is not " +"supported and causes the test to fail. The names of tests to execute may " +"also be passed to the script. Specifying a single regression test (:program:" +"`python -m test test_spam`) will minimize output and only print whether the " +"test passed or failed." msgstr "" -#: ../../library/test.rst:178 +#: ../../library/test.rst:180 msgid "" "Running :mod:`!test` directly allows what resources are available for tests " "to use to be set. You do this by using the ``-u`` command-line option. " @@ -266,7 +268,7 @@ msgid "" "resources and more command-line options, run :program:`python -m test -h`." msgstr "" -#: ../../library/test.rst:189 +#: ../../library/test.rst:191 msgid "" "Some other ways to execute the regression tests depend on what platform the " "tests are being executed on. On Unix, you can run :program:`make test` at " @@ -275,166 +277,166 @@ msgid "" "tests." msgstr "" -#: ../../library/test.rst:195 +#: ../../library/test.rst:197 msgid "" "Output is colorized by default and can be :ref:`controlled using environment " "variables `." msgstr "" -#: ../../library/test.rst:201 +#: ../../library/test.rst:203 msgid ":mod:`!test.support` --- Utilities for the Python test suite" msgstr "" -#: ../../library/test.rst:207 +#: ../../library/test.rst:209 msgid "" "The :mod:`!test.support` module provides support for Python's regression " "test suite." msgstr "" -#: ../../library/test.rst:212 +#: ../../library/test.rst:214 msgid "" ":mod:`!test.support` is not a public module. It is documented here to help " "Python developers write tests. The API of this module is subject to change " "without backwards compatibility concerns between releases." msgstr "" -#: ../../library/test.rst:217 +#: ../../library/test.rst:219 msgid "This module defines the following exceptions:" msgstr "" -#: ../../library/test.rst:221 +#: ../../library/test.rst:223 msgid "" "Exception to be raised when a test fails. This is deprecated in favor of :" "mod:`unittest`\\ -based tests and :class:`unittest.TestCase`'s assertion " "methods." msgstr "" -#: ../../library/test.rst:228 +#: ../../library/test.rst:230 msgid "" "Subclass of :exc:`unittest.SkipTest`. Raised when a resource (such as a " "network connection) is not available. Raised by the :func:`requires` " "function." msgstr "" -#: ../../library/test.rst:233 +#: ../../library/test.rst:235 msgid "The :mod:`!test.support` module defines the following constants:" msgstr "" -#: ../../library/test.rst:237 +#: ../../library/test.rst:239 msgid "" "``True`` when verbose output is enabled. Should be checked when more " "detailed information is desired about a running test. *verbose* is set by :" "mod:`test.regrtest`." msgstr "" -#: ../../library/test.rst:244 +#: ../../library/test.rst:246 msgid "``True`` if the running interpreter is Jython." msgstr "" -#: ../../library/test.rst:249 +#: ../../library/test.rst:251 msgid "``True`` if ``sys.platform`` is ``android``." msgstr "" -#: ../../library/test.rst:254 +#: ../../library/test.rst:256 msgid "``True`` if ``sys.platform`` is ``emscripten``." msgstr "" -#: ../../library/test.rst:259 +#: ../../library/test.rst:261 msgid "``True`` if ``sys.platform`` is ``wasi``." msgstr "" -#: ../../library/test.rst:264 +#: ../../library/test.rst:266 msgid "``True`` if ``sys.platform`` is ``ios``, ``tvos``, or ``watchos``." msgstr "" -#: ../../library/test.rst:269 +#: ../../library/test.rst:271 msgid "" "``True`` if ``sys.platform`` is ``darwin`` or ``is_apple_mobile`` is " "``True``." msgstr "" -#: ../../library/test.rst:274 +#: ../../library/test.rst:276 msgid "Path for shell if not on Windows; otherwise ``None``." msgstr "" -#: ../../library/test.rst:279 +#: ../../library/test.rst:281 msgid "" "Timeout in seconds for tests using a network server listening on the network " "local loopback interface like ``127.0.0.1``." msgstr "" -#: ../../library/test.rst:282 +#: ../../library/test.rst:284 msgid "" "The timeout is long enough to prevent test failure: it takes into account " "that the client and the server can run in different threads or even " "different processes." msgstr "" -#: ../../library/test.rst:286 +#: ../../library/test.rst:288 msgid "" "The timeout should be long enough for :meth:`~socket.socket.connect`, :meth:" "`~socket.socket.recv` and :meth:`~socket.socket.send` methods of :class:" "`socket.socket`." msgstr "" -#: ../../library/test.rst:290 +#: ../../library/test.rst:292 msgid "Its default value is 10 seconds." msgstr "" -#: ../../library/test.rst:292 +#: ../../library/test.rst:294 msgid "See also :data:`INTERNET_TIMEOUT`." msgstr "" -#: ../../library/test.rst:297 +#: ../../library/test.rst:299 msgid "Timeout in seconds for network requests going to the internet." msgstr "" -#: ../../library/test.rst:299 +#: ../../library/test.rst:301 msgid "" "The timeout is short enough to prevent a test to wait for too long if the " "internet request is blocked for whatever reason." msgstr "" -#: ../../library/test.rst:302 +#: ../../library/test.rst:304 msgid "" "Usually, a timeout using :data:`INTERNET_TIMEOUT` should not mark a test as " "failed, but skip the test instead: see :func:`~test.support.socket_helper." "transient_internet`." msgstr "" -#: ../../library/test.rst:306 +#: ../../library/test.rst:308 msgid "Its default value is 1 minute." msgstr "" -#: ../../library/test.rst:308 +#: ../../library/test.rst:310 msgid "See also :data:`LOOPBACK_TIMEOUT`." msgstr "" -#: ../../library/test.rst:313 +#: ../../library/test.rst:315 msgid "" "Timeout in seconds to mark a test as failed if the test takes \"too long\"." msgstr "" -#: ../../library/test.rst:315 +#: ../../library/test.rst:317 msgid "" "The timeout value depends on the regrtest ``--timeout`` command line option." msgstr "" -#: ../../library/test.rst:317 +#: ../../library/test.rst:319 msgid "" "If a test using :data:`SHORT_TIMEOUT` starts to fail randomly on slow " "buildbots, use :data:`LONG_TIMEOUT` instead." msgstr "" -#: ../../library/test.rst:320 +#: ../../library/test.rst:322 msgid "Its default value is 30 seconds." msgstr "" -#: ../../library/test.rst:325 +#: ../../library/test.rst:327 msgid "Timeout in seconds to detect when a test hangs." msgstr "" -#: ../../library/test.rst:327 +#: ../../library/test.rst:329 msgid "" "It is long enough to reduce the risk of test failure on the slowest Python " "buildbots. It should not be used to mark a test as failed if the test takes " @@ -442,144 +444,144 @@ msgid "" "command line option." msgstr "" -#: ../../library/test.rst:332 +#: ../../library/test.rst:334 msgid "Its default value is 5 minutes." msgstr "" -#: ../../library/test.rst:334 +#: ../../library/test.rst:336 msgid "" "See also :data:`LOOPBACK_TIMEOUT`, :data:`INTERNET_TIMEOUT` and :data:" "`SHORT_TIMEOUT`." msgstr "" -#: ../../library/test.rst:340 +#: ../../library/test.rst:342 msgid "Set when tests can be skipped when they are not useful for PGO." msgstr "" -#: ../../library/test.rst:345 +#: ../../library/test.rst:347 msgid "" "A constant that is likely larger than the underlying OS pipe buffer size, to " "make writes blocking." msgstr "" -#: ../../library/test.rst:351 +#: ../../library/test.rst:353 msgid "" "``True`` if Python was built with the :c:macro:`Py_DEBUG` macro defined, " "that is, if Python was :ref:`built in debug mode `." msgstr "" -#: ../../library/test.rst:360 +#: ../../library/test.rst:362 msgid "" "A constant that is likely larger than the underlying OS socket buffer size, " "to make writes blocking." msgstr "" -#: ../../library/test.rst:366 +#: ../../library/test.rst:368 msgid "Set to the top level directory that contains :mod:`!test.support`." msgstr "" -#: ../../library/test.rst:371 +#: ../../library/test.rst:373 msgid "Set to the top level directory for the test package." msgstr "" -#: ../../library/test.rst:376 +#: ../../library/test.rst:378 msgid "Set to the ``data`` directory within the test package." msgstr "" -#: ../../library/test.rst:381 +#: ../../library/test.rst:383 msgid "Set to :data:`sys.maxsize` for big memory tests." msgstr "" -#: ../../library/test.rst:386 +#: ../../library/test.rst:388 msgid "" "Set by :func:`set_memlimit` as the memory limit for big memory tests. " "Limited by :data:`MAX_Py_ssize_t`." msgstr "" -#: ../../library/test.rst:392 +#: ../../library/test.rst:394 msgid "" "Set by :func:`set_memlimit` as the memory limit for big memory tests. Not " "limited by :data:`MAX_Py_ssize_t`." msgstr "" -#: ../../library/test.rst:398 +#: ../../library/test.rst:400 msgid "" "Set to ``True`` if Python is built without docstrings (the :c:macro:" "`WITH_DOC_STRINGS` macro is not defined). See the :option:`configure --" "without-doc-strings <--without-doc-strings>` option." msgstr "" -#: ../../library/test.rst:402 +#: ../../library/test.rst:404 msgid "See also the :data:`HAVE_DOCSTRINGS` variable." msgstr "" -#: ../../library/test.rst:407 +#: ../../library/test.rst:409 msgid "" "Set to ``True`` if function docstrings are available. See the :option:" "`python -OO <-O>` option, which strips docstrings of functions implemented " "in Python." msgstr "" -#: ../../library/test.rst:410 +#: ../../library/test.rst:412 msgid "See also the :data:`MISSING_C_DOCSTRINGS` variable." msgstr "" -#: ../../library/test.rst:415 +#: ../../library/test.rst:417 msgid "Define the URL of a dedicated HTTP server for the network tests." msgstr "" -#: ../../library/test.rst:420 +#: ../../library/test.rst:422 msgid "Object that is equal to anything. Used to test mixed type comparison." msgstr "" -#: ../../library/test.rst:425 +#: ../../library/test.rst:427 msgid "" "Object that is not equal to anything (even to :data:`ALWAYS_EQ`). Used to " "test mixed type comparison." msgstr "" -#: ../../library/test.rst:431 +#: ../../library/test.rst:433 msgid "" "Object that is greater than anything (except itself). Used to test mixed " "type comparison." msgstr "" -#: ../../library/test.rst:437 +#: ../../library/test.rst:439 msgid "" "Object that is less than anything (except itself). Used to test mixed type " "comparison." msgstr "" -#: ../../library/test.rst:441 +#: ../../library/test.rst:443 msgid "The :mod:`!test.support` module defines the following functions:" msgstr "" -#: ../../library/test.rst:445 +#: ../../library/test.rst:447 msgid "Run the loop body until ``break`` stops the loop." msgstr "" -#: ../../library/test.rst:447 +#: ../../library/test.rst:449 msgid "" "After *timeout* seconds, raise an :exc:`AssertionError` if *error* is true, " "or just stop the loop if *error* is false." msgstr "" -#: ../../library/test.rst:450 +#: ../../library/test.rst:452 msgid "Example::" msgstr "Beispiel::" -#: ../../library/test.rst:452 +#: ../../library/test.rst:454 msgid "" "for _ in support.busy_retry(support.SHORT_TIMEOUT):\n" " if check():\n" " break" msgstr "" -#: ../../library/test.rst:456 ../../library/test.rst:480 +#: ../../library/test.rst:458 ../../library/test.rst:482 msgid "Example of error=False usage::" msgstr "" -#: ../../library/test.rst:458 +#: ../../library/test.rst:460 msgid "" "for _ in support.busy_retry(support.SHORT_TIMEOUT, error=False):\n" " if check():\n" @@ -588,33 +590,33 @@ msgid "" " raise RuntimeError('my custom error')" msgstr "" -#: ../../library/test.rst:466 +#: ../../library/test.rst:468 msgid "Wait strategy that applies exponential backoff." msgstr "" -#: ../../library/test.rst:468 +#: ../../library/test.rst:470 msgid "" "Run the loop body until ``break`` stops the loop. Sleep at each loop " "iteration, but not at the first iteration. The sleep delay is doubled at " "each iteration (up to *max_delay* seconds)." msgstr "" -#: ../../library/test.rst:472 +#: ../../library/test.rst:474 msgid "See :func:`busy_retry` documentation for the parameters usage." msgstr "" -#: ../../library/test.rst:474 +#: ../../library/test.rst:476 msgid "Example raising an exception after SHORT_TIMEOUT seconds::" msgstr "" -#: ../../library/test.rst:476 +#: ../../library/test.rst:478 msgid "" "for _ in support.sleeping_retry(support.SHORT_TIMEOUT):\n" " if check():\n" " break" msgstr "" -#: ../../library/test.rst:482 +#: ../../library/test.rst:484 msgid "" "for _ in support.sleeping_retry(support.SHORT_TIMEOUT, error=False):\n" " if check():\n" @@ -623,28 +625,28 @@ msgid "" " raise RuntimeError('my custom error')" msgstr "" -#: ../../library/test.rst:490 +#: ../../library/test.rst:492 msgid "" "Return ``True`` if *resource* is enabled and available. The list of " "available resources is only set when :mod:`test.regrtest` is executing the " "tests." msgstr "" -#: ../../library/test.rst:497 +#: ../../library/test.rst:499 msgid "" "Return the value specified for *resource* (as :samp:`-u {resource}={value}" "`). Return ``None`` if *resource* is disabled or no value is specified." msgstr "" -#: ../../library/test.rst:503 +#: ../../library/test.rst:505 msgid "Return ``True`` if Python was not built with ``-O0`` or ``-Og``." msgstr "" -#: ../../library/test.rst:508 +#: ../../library/test.rst:510 msgid "Return :const:`_testcapi.WITH_PYMALLOC`." msgstr "" -#: ../../library/test.rst:513 +#: ../../library/test.rst:515 msgid "" "Raise :exc:`ResourceDenied` if *resource* is not available. *msg* is the " "argument to :exc:`ResourceDenied` if it is raised. Always returns ``True`` " @@ -652,88 +654,88 @@ msgid "" "tests are executed by :mod:`test.regrtest`." msgstr "" -#: ../../library/test.rst:521 +#: ../../library/test.rst:523 msgid "Return a repr of *dict* with keys sorted." msgstr "" -#: ../../library/test.rst:526 +#: ../../library/test.rst:528 msgid "" "Return the path to the file named *filename*. If no match is found " "*filename* is returned. This does not equal a failure since it could be the " "path to the file." msgstr "" -#: ../../library/test.rst:530 +#: ../../library/test.rst:532 msgid "" "Setting *subdir* indicates a relative path to use to find the file rather " "than looking directly in the path directories." msgstr "" -#: ../../library/test.rst:536 +#: ../../library/test.rst:538 msgid "Get size of a page in bytes." msgstr "" -#: ../../library/test.rst:543 +#: ../../library/test.rst:545 msgid "" "Set the :func:`sys.setswitchinterval` to the given *interval*. Defines a " "minimum interval for Android systems to prevent the system from hanging." msgstr "" -#: ../../library/test.rst:549 +#: ../../library/test.rst:551 msgid "" "Use this check to guard CPython's implementation-specific tests or to run " "them only on the implementations guarded by the arguments. This function " "returns ``True`` or ``False`` depending on the host platform. Example usage::" msgstr "" -#: ../../library/test.rst:554 +#: ../../library/test.rst:556 msgid "" "check_impl_detail() # Only on CPython (default).\n" "check_impl_detail(jython=True) # Only on Jython.\n" "check_impl_detail(cpython=False) # Everywhere except CPython." msgstr "" -#: ../../library/test.rst:561 +#: ../../library/test.rst:563 msgid "" "Set the values for :data:`max_memuse` and :data:`real_max_memuse` for big " "memory tests." msgstr "" -#: ../../library/test.rst:567 +#: ../../library/test.rst:569 msgid "" "Store the value from *stdout*. It is meant to hold the stdout at the time " "the regrtest began." msgstr "" -#: ../../library/test.rst:573 +#: ../../library/test.rst:575 msgid "" "Return the original stdout set by :func:`record_original_stdout` or ``sys." "stdout`` if it's not set." msgstr "" -#: ../../library/test.rst:579 +#: ../../library/test.rst:581 msgid "" "Return a list of command line arguments reproducing the current settings in " "``sys.flags`` and ``sys.warnoptions``." msgstr "" -#: ../../library/test.rst:585 +#: ../../library/test.rst:587 msgid "" "Return a list of command line arguments reproducing the current optimization " "settings in ``sys.flags``." msgstr "" -#: ../../library/test.rst:593 +#: ../../library/test.rst:595 msgid "" "A context managers that temporarily replaces the named stream with :class:" "`io.StringIO` object." msgstr "" -#: ../../library/test.rst:596 +#: ../../library/test.rst:598 msgid "Example use with output streams::" msgstr "" -#: ../../library/test.rst:598 +#: ../../library/test.rst:600 msgid "" "with captured_stdout() as stdout, captured_stderr() as stderr:\n" " print(\"hello\")\n" @@ -742,11 +744,11 @@ msgid "" "assert stderr.getvalue() == \"error\\n\"" msgstr "" -#: ../../library/test.rst:604 +#: ../../library/test.rst:606 msgid "Example use with input stream::" msgstr "" -#: ../../library/test.rst:606 +#: ../../library/test.rst:608 msgid "" "with captured_stdin() as stdin:\n" " stdin.write('hello\\n')\n" @@ -756,11 +758,11 @@ msgid "" "self.assertEqual(captured, \"hello\")" msgstr "" -#: ../../library/test.rst:616 +#: ../../library/test.rst:618 msgid "A context manager that temporary disables :mod:`faulthandler`." msgstr "" -#: ../../library/test.rst:621 +#: ../../library/test.rst:623 msgid "" "Force as many objects as possible to be collected. This is needed because " "timely deallocation is not guaranteed by the garbage collector. This means " @@ -768,124 +770,124 @@ msgid "" "remain alive for longer than expected." msgstr "" -#: ../../library/test.rst:629 +#: ../../library/test.rst:631 msgid "" "A context manager that disables the garbage collector on entry. On exit, the " "garbage collector is restored to its prior state." msgstr "" -#: ../../library/test.rst:635 +#: ../../library/test.rst:637 msgid "Context manager to swap out an attribute with a new object." msgstr "" -#: ../../library/test.rst:637 ../../library/test.rst:655 -#: ../../library/test.rst:910 ../../library/test.rst:1442 +#: ../../library/test.rst:639 ../../library/test.rst:657 +#: ../../library/test.rst:914 ../../library/test.rst:1446 msgid "Usage::" msgstr "" -#: ../../library/test.rst:639 +#: ../../library/test.rst:641 msgid "" "with swap_attr(obj, \"attr\", 5):\n" " ..." msgstr "" -#: ../../library/test.rst:642 +#: ../../library/test.rst:644 msgid "" "This will set ``obj.attr`` to 5 for the duration of the ``with`` block, " "restoring the old value at the end of the block. If ``attr`` doesn't exist " "on ``obj``, it will be created and then deleted at the end of the block." msgstr "" -#: ../../library/test.rst:647 ../../library/test.rst:665 +#: ../../library/test.rst:649 ../../library/test.rst:667 msgid "" "The old value (or ``None`` if it doesn't exist) will be assigned to the " "target of the \"as\" clause, if there is one." msgstr "" -#: ../../library/test.rst:653 +#: ../../library/test.rst:655 msgid "Context manager to swap out an item with a new object." msgstr "" -#: ../../library/test.rst:657 +#: ../../library/test.rst:659 msgid "" "with swap_item(obj, \"item\", 5):\n" " ..." msgstr "" -#: ../../library/test.rst:660 +#: ../../library/test.rst:662 msgid "" "This will set ``obj[\"item\"]`` to 5 for the duration of the ``with`` block, " "restoring the old value at the end of the block. If ``item`` doesn't exist " "on ``obj``, it will be created and then deleted at the end of the block." msgstr "" -#: ../../library/test.rst:671 +#: ../../library/test.rst:673 msgid "" "Call the ``flush()`` method on :data:`sys.stdout` and then on :data:`sys." "stderr`. It can be used to make sure that the logs order is consistent " "before writing into stderr." msgstr "" -#: ../../library/test.rst:680 +#: ../../library/test.rst:682 msgid "" "Print a warning into :data:`sys.__stderr__`. Format the message as: " "``f\"Warning -- {msg}\"``. If *msg* is made of multiple lines, add " "``\"Warning -- \"`` prefix to each line." msgstr "" -#: ../../library/test.rst:689 +#: ../../library/test.rst:691 msgid "" "Wait until process *pid* completes and check that the process exit code is " "*exitcode*." msgstr "" -#: ../../library/test.rst:692 +#: ../../library/test.rst:694 msgid "" "Raise an :exc:`AssertionError` if the process exit code is not equal to " "*exitcode*." msgstr "" -#: ../../library/test.rst:695 +#: ../../library/test.rst:697 msgid "" "If the process runs longer than *timeout* seconds (:data:`SHORT_TIMEOUT` by " "default), kill the process and raise an :exc:`AssertionError`. The timeout " "feature is not available on Windows." msgstr "" -#: ../../library/test.rst:704 +#: ../../library/test.rst:706 msgid "" "Return the size of the :c:type:`PyObject` whose structure members are " "defined by *fmt*. The returned value includes the size of the Python object " "header and alignment." msgstr "" -#: ../../library/test.rst:710 +#: ../../library/test.rst:712 msgid "" "Return the size of the :c:type:`PyVarObject` whose structure members are " "defined by *fmt*. The returned value includes the size of the Python object " "header and alignment." msgstr "" -#: ../../library/test.rst:716 +#: ../../library/test.rst:718 msgid "" "For testcase *test*, assert that the ``sys.getsizeof`` for *o* plus the GC " "header size equals *size*." msgstr "" -#: ../../library/test.rst:722 +#: ../../library/test.rst:724 msgid "" "A decorator to conditionally mark tests with :deco:`unittest." "expectedFailure`. Any use of this decorator should have an associated " "comment identifying the relevant tracker issue." msgstr "" -#: ../../library/test.rst:729 +#: ../../library/test.rst:731 msgid "" "A decorator that skips the decorated test on TLS certification validation " "failures." msgstr "" -#: ../../library/test.rst:734 +#: ../../library/test.rst:736 msgid "" "A decorator for running a function in a different locale, correctly " "resetting it after it has finished. *catstr* is the locale category as a " @@ -893,91 +895,91 @@ msgid "" "sequentially, and the first valid locale will be used." msgstr "" -#: ../../library/test.rst:742 +#: ../../library/test.rst:744 msgid "" "A decorator for running a function in a specific timezone, correctly " "resetting it after it has finished." msgstr "" -#: ../../library/test.rst:748 +#: ../../library/test.rst:750 msgid "" "Decorator for the minimum version when running test on FreeBSD. If the " "FreeBSD version is less than the minimum, the test is skipped." msgstr "" -#: ../../library/test.rst:754 +#: ../../library/test.rst:756 msgid "" "Decorator for the minimum version when running test on Linux. If the Linux " "version is less than the minimum, the test is skipped." msgstr "" -#: ../../library/test.rst:760 +#: ../../library/test.rst:762 msgid "" "Decorator for the minimum version when running test on macOS. If the macOS " "version is less than the minimum, the test is skipped." msgstr "" -#: ../../library/test.rst:766 +#: ../../library/test.rst:768 msgid "" "Decorator for skipping tests on the free-threaded build. If the :term:`GIL` " "is disabled, the test is skipped." msgstr "" -#: ../../library/test.rst:772 +#: ../../library/test.rst:774 msgid "Decorator for skipping tests on non-IEEE 754 platforms." msgstr "" -#: ../../library/test.rst:777 +#: ../../library/test.rst:779 msgid "Decorator for skipping tests if :mod:`zlib` doesn't exist." msgstr "" -#: ../../library/test.rst:782 +#: ../../library/test.rst:784 msgid "Decorator for skipping tests if :mod:`gzip` doesn't exist." msgstr "" -#: ../../library/test.rst:787 +#: ../../library/test.rst:789 msgid "Decorator for skipping tests if :mod:`bz2` doesn't exist." msgstr "" -#: ../../library/test.rst:792 +#: ../../library/test.rst:794 msgid "Decorator for skipping tests if :mod:`lzma` doesn't exist." msgstr "" -#: ../../library/test.rst:797 +#: ../../library/test.rst:799 msgid "Decorator for skipping tests if *resource* is not available." msgstr "" -#: ../../library/test.rst:802 +#: ../../library/test.rst:804 msgid "Decorator for only running the test if :data:`HAVE_DOCSTRINGS`." msgstr "" -#: ../../library/test.rst:807 +#: ../../library/test.rst:809 msgid "" "Decorator for only running the test if :ref:`Limited C API ` " "is available." msgstr "" -#: ../../library/test.rst:813 +#: ../../library/test.rst:815 msgid "Decorator for tests only applicable to CPython." msgstr "" -#: ../../library/test.rst:818 +#: ../../library/test.rst:820 msgid "" "Decorator for invoking :func:`check_impl_detail` on *guards*. If that " "returns ``False``, then uses *msg* as the reason for skipping the test." msgstr "" -#: ../../library/test.rst:823 +#: ../../library/test.rst:825 msgid "" "Decorator for marking tests as thread-unsafe. This test always runs in one " "thread even when invoked with ``--parallel-threads``." msgstr "" -#: ../../library/test.rst:829 +#: ../../library/test.rst:831 msgid "Decorator to temporarily turn off tracing for the duration of the test." msgstr "" -#: ../../library/test.rst:834 +#: ../../library/test.rst:836 msgid "" "Decorator for tests which involve reference counting. The decorator does " "not run the test if it is not run by CPython. Any trace function is unset " @@ -985,11 +987,11 @@ msgid "" "trace function." msgstr "" -#: ../../library/test.rst:842 +#: ../../library/test.rst:844 msgid "Decorator for bigmem tests." msgstr "" -#: ../../library/test.rst:844 +#: ../../library/test.rst:846 msgid "" "*size* is a requested size for the test (in arbitrary, test-interpreted " "units.) *memuse* is the number of bytes per unit for the test, or a good " @@ -997,7 +999,7 @@ msgid "" "each, could be decorated with ``@bigmemtest(size=_4G, memuse=2)``." msgstr "" -#: ../../library/test.rst:849 +#: ../../library/test.rst:851 msgid "" "The *size* argument is normally passed to the decorated test method as an " "extra argument. If *dry_run* is ``True``, the value passed to the test " @@ -1005,11 +1007,11 @@ msgid "" "means the test doesn't support dummy runs when ``-M`` is not specified." msgstr "" -#: ../../library/test.rst:857 +#: ../../library/test.rst:859 msgid "Decorator for tests that fill the address space." msgstr "" -#: ../../library/test.rst:862 +#: ../../library/test.rst:864 msgid "" "Return ``False`` if there is no evidence the interpreter was compiled with " "``musl``, otherwise return a version triple, either ``(0, 0, 0)`` if the " @@ -1018,7 +1020,7 @@ msgid "" "compiled with ``musl``; otherwise ``platform.libc_ver`` is checked." msgstr "" -#: ../../library/test.rst:871 +#: ../../library/test.rst:873 msgid "" "Test for syntax errors in *statement* by attempting to compile *statement*. " "*testcase* is the :mod:`unittest` instance for the test. *errtext* is the " @@ -1028,44 +1030,45 @@ msgid "" "of the exception." msgstr "" -#: ../../library/test.rst:881 +#: ../../library/test.rst:883 msgid "Open *url*. If open fails, raises :exc:`TestFailed`." msgstr "" -#: ../../library/test.rst:886 +#: ../../library/test.rst:888 msgid "" -"Use this at the end of ``test_main`` whenever sub-processes are started. " -"This will help ensure that no extra children (zombies) stick around to hog " +"Call this from :meth:`~unittest.TestCase.setUp`, :meth:`~unittest.TestCase." +"tearDown`, or ``tearDownModule()`` in tests that start subprocesses. This " +"will help ensure that no extra children (zombies) stick around to hog " "resources and create problems when looking for refleaks." msgstr "" -#: ../../library/test.rst:893 +#: ../../library/test.rst:897 msgid "" "Get an attribute, raising :exc:`unittest.SkipTest` if :exc:`AttributeError` " "is raised." msgstr "" -#: ../../library/test.rst:899 +#: ../../library/test.rst:903 msgid "" "Context manager catching unraisable exception using :func:`sys." "unraisablehook`." msgstr "" -#: ../../library/test.rst:902 +#: ../../library/test.rst:906 msgid "" "Storing the exception value (``cm.unraisable.exc_value``) creates a " "reference cycle. The reference cycle is broken explicitly when the context " "manager exits." msgstr "" -#: ../../library/test.rst:906 +#: ../../library/test.rst:910 msgid "" "Storing the object (``cm.unraisable.object``) can resurrect it if it is set " "to an object which is being finalized. Exiting the context manager clears " "the stored object." msgstr "" -#: ../../library/test.rst:912 +#: ../../library/test.rst:916 msgid "" "with support.catch_unraisable_exception() as cm:\n" " # code creating an \"unraisable exception\"\n" @@ -1078,7 +1081,7 @@ msgid "" "# (to break a reference cycle)" msgstr "" -#: ../../library/test.rst:927 +#: ../../library/test.rst:931 msgid "" "Generic implementation of the :mod:`unittest` ``load_tests`` protocol for " "use in test packages. *pkg_dir* is the root directory of the package; " @@ -1087,7 +1090,7 @@ msgid "" "the following::" msgstr "" -#: ../../library/test.rst:933 +#: ../../library/test.rst:937 msgid "" "import os\n" "from test.support import load_package_tests\n" @@ -1096,33 +1099,33 @@ msgid "" " return load_package_tests(os.path.dirname(__file__), *args)" msgstr "" -#: ../../library/test.rst:942 +#: ../../library/test.rst:946 msgid "" "Returns the set of attributes, functions or methods of *ref_api* not found " "on *other_api*, except for a defined list of items to be ignored in this " "check specified in *ignore*." msgstr "" -#: ../../library/test.rst:946 +#: ../../library/test.rst:950 msgid "" "By default this skips private attributes beginning with '_' but includes all " "magic methods, i.e. those starting and ending in '__'." msgstr "" -#: ../../library/test.rst:954 +#: ../../library/test.rst:958 msgid "" "Override *object_to_patch.attr_name* with *new_value*. Also add cleanup " "procedure to *test_instance* to restore *object_to_patch* for *attr_name*. " "The *attr_name* should be a valid attribute for *object_to_patch*." msgstr "" -#: ../../library/test.rst:962 +#: ../../library/test.rst:966 msgid "" "Run *code* in subinterpreter. Raise :exc:`unittest.SkipTest` if :mod:" "`tracemalloc` is enabled." msgstr "" -#: ../../library/test.rst:970 +#: ../../library/test.rst:974 msgid "" "Decorator that runs the decorated test in a fresh interpreter subprocess, in " "isolation, so that it does not share global or interpreter state with the " @@ -1135,7 +1138,7 @@ msgid "" "exception." msgstr "" -#: ../../library/test.rst:980 +#: ../../library/test.rst:984 msgid "" "When a **method** is decorated, only that method runs in a subprocess; all " "fixtures (:meth:`~unittest.TestCase.setUp` / :meth:`~unittest.TestCase." @@ -1144,7 +1147,7 @@ msgid "" "parent process (as usual) and in the subprocess around the method." msgstr "" -#: ../../library/test.rst:986 +#: ../../library/test.rst:990 msgid "" "When a **class** is decorated, the whole class runs in a single subprocess, " "and :meth:`~unittest.TestCase.setUpClass`, :meth:`~unittest.TestCase." @@ -1156,7 +1159,7 @@ msgid "" "too; test it with :data:`runningInSubprocess` if needed." msgstr "" -#: ../../library/test.rst:996 +#: ../../library/test.rst:1000 msgid "" "The subprocess inherits the enabled resources (``-u``), memory limit (``-" "M``) and verbosity (``-v``) of the parent test run, so that :func:`~test." @@ -1164,7 +1167,7 @@ msgid "" "support.bigmemtest` and the like behave consistently in both processes." msgstr "" -#: ../../library/test.rst:1002 +#: ../../library/test.rst:1006 msgid "" "*options* is a sequence of interpreter command line options to run the " "subprocess with, and *env* is a mapping of environment variables to set in " @@ -1173,18 +1176,18 @@ msgid "" "ignore the ``PYTHON*`` environment variables, including :envvar:`PYTHONPATH`." msgstr "" -#: ../../library/test.rst:1010 +#: ../../library/test.rst:1014 msgid "" "*timeout* is the number of seconds to wait for the subprocess; the test is " "reported as an error if it does not complete in time. By default there is no " "timeout, and a hung test is left to the timeout of the test runner." msgstr "" -#: ../../library/test.rst:1015 +#: ../../library/test.rst:1019 msgid "The test is skipped on platforms without subprocess support." msgstr "" -#: ../../library/test.rst:1020 +#: ../../library/test.rst:1024 msgid "" "``True`` while the code runs in the isolated subprocess spawned by :func:" "`runInSubprocess`, and ``False`` otherwise (including in the parent process " @@ -1195,29 +1198,29 @@ msgid "" "to run in the subprocess." msgstr "" -#: ../../library/test.rst:1034 +#: ../../library/test.rst:1038 msgid "Assert instances of *cls* are deallocated after iterating." msgstr "" -#: ../../library/test.rst:1039 +#: ../../library/test.rst:1043 msgid "" "Check for the existence of the compiler executables whose names are listed " "in *cmd_names* or all the compiler executables when *cmd_names* is empty and " "return the first missing executable or ``None`` when none is found missing." msgstr "" -#: ../../library/test.rst:1047 +#: ../../library/test.rst:1051 msgid "" "Assert that the ``__all__`` variable of *module* contains all public names." msgstr "" -#: ../../library/test.rst:1049 +#: ../../library/test.rst:1053 msgid "" "The module's public names (its API) are detected automatically based on " "whether they match the public name convention and were defined in *module*." msgstr "" -#: ../../library/test.rst:1053 +#: ../../library/test.rst:1057 msgid "" "The *name_of_module* argument can specify (as a string or tuple thereof) " "what module(s) an API could be defined in order to be detected as a public " @@ -1225,7 +1228,7 @@ msgid "" "other modules, possibly a C backend (like ``csv`` and its ``_csv``)." msgstr "" -#: ../../library/test.rst:1058 +#: ../../library/test.rst:1062 msgid "" "The *extra* argument can be a set of names that wouldn't otherwise be " "automatically detected as \"public\", like objects without a proper :attr:" @@ -1233,17 +1236,17 @@ msgid "" "automatically detected ones." msgstr "" -#: ../../library/test.rst:1062 +#: ../../library/test.rst:1066 msgid "" "The *not_exported* argument can be a set of names that must not be treated " "as part of the public API even though their names indicate otherwise." msgstr "" -#: ../../library/test.rst:1065 ../../library/test.rst:1702 +#: ../../library/test.rst:1069 ../../library/test.rst:1706 msgid "Example use::" msgstr "" -#: ../../library/test.rst:1067 +#: ../../library/test.rst:1071 msgid "" "import bar\n" "import foo\n" @@ -1263,18 +1266,18 @@ msgid "" " extra=extra, not_exported=not_exported)" msgstr "" -#: ../../library/test.rst:1088 +#: ../../library/test.rst:1092 msgid "" "Skip tests if the :mod:`multiprocessing.synchronize` module is missing, if " "there is no available semaphore implementation, or if creating a lock raises " "an :exc:`OSError`." msgstr "" -#: ../../library/test.rst:1097 +#: ../../library/test.rst:1101 msgid "Assert that type *tp* cannot be instantiated using *args* and *kwds*." msgstr "" -#: ../../library/test.rst:1104 +#: ../../library/test.rst:1108 msgid "" "This function returns a context manager that will change the global :func:" "`sys.set_int_max_str_digits` setting for the duration of the context to " @@ -1282,73 +1285,73 @@ msgid "" "digits when converting between an integer and string." msgstr "" -#: ../../library/test.rst:1112 +#: ../../library/test.rst:1116 msgid "The :mod:`!test.support` module defines the following classes:" msgstr "" -#: ../../library/test.rst:1117 +#: ../../library/test.rst:1121 msgid "" "A context manager used to try to prevent crash dialog popups on tests that " "are expected to crash a subprocess." msgstr "" -#: ../../library/test.rst:1120 +#: ../../library/test.rst:1124 msgid "" "On Windows, it disables Windows Error Reporting dialogs using `SetErrorMode " "`_." msgstr "" -#: ../../library/test.rst:1123 +#: ../../library/test.rst:1127 msgid "" "On UNIX, :func:`resource.setrlimit` is used to set :const:`resource." "RLIMIT_CORE`'s soft limit to 0 to prevent coredump file creation." msgstr "" -#: ../../library/test.rst:1127 +#: ../../library/test.rst:1131 msgid "" "On both platforms, the old value is restored by :meth:`~object.__exit__`." msgstr "" -#: ../../library/test.rst:1132 +#: ../../library/test.rst:1136 msgid "" "Class to save and restore signal handlers registered by the Python signal " "handler." msgstr "" -#: ../../library/test.rst:1137 +#: ../../library/test.rst:1141 msgid "" "Save the signal handlers to a dictionary mapping signal numbers to the " "current signal handler." msgstr "" -#: ../../library/test.rst:1142 +#: ../../library/test.rst:1146 msgid "" "Set the signal numbers from the :meth:`save` dictionary to the saved handler." msgstr "" -#: ../../library/test.rst:1150 +#: ../../library/test.rst:1154 msgid "Try to match a single dict with the supplied arguments." msgstr "" -#: ../../library/test.rst:1155 +#: ../../library/test.rst:1159 msgid "Try to match a single stored value (*dv*) with a supplied value (*v*)." msgstr "" -#: ../../library/test.rst:1159 +#: ../../library/test.rst:1163 msgid ":mod:`!test.support.socket_helper` --- Utilities for socket tests" msgstr "" -#: ../../library/test.rst:1165 +#: ../../library/test.rst:1169 msgid "" "The :mod:`!test.support.socket_helper` module provides support for socket " "tests." msgstr "" -#: ../../library/test.rst:1172 +#: ../../library/test.rst:1176 msgid "Set to ``True`` if IPv6 is enabled on this host, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1177 +#: ../../library/test.rst:1181 msgid "" "Returns an unused port that should be suitable for binding. This is " "achieved by creating a temporary socket with the same family and type as the " @@ -1359,7 +1362,7 @@ msgid "" "port is returned." msgstr "" -#: ../../library/test.rst:1186 +#: ../../library/test.rst:1190 msgid "" "Either this method or :func:`bind_port` should be used for any tests where a " "server socket needs to be bound to a particular port for the duration of the " @@ -1372,7 +1375,7 @@ msgid "" "simultaneously, which is a problem for buildbots." msgstr "" -#: ../../library/test.rst:1200 +#: ../../library/test.rst:1204 msgid "" "Bind the socket to a free port and return the port number. Relies on " "ephemeral ports in order to ensure we are using an unbound port. This is " @@ -1385,7 +1388,7 @@ msgid "" "testing multicasting via multiple UDP sockets." msgstr "" -#: ../../library/test.rst:1211 +#: ../../library/test.rst:1215 msgid "" "Additionally, if the :const:`~socket.SO_EXCLUSIVEADDRUSE` socket option is " "available (i.e. on Windows), it will be set on the socket. This will " @@ -1393,58 +1396,58 @@ msgid "" "test." msgstr "" -#: ../../library/test.rst:1219 +#: ../../library/test.rst:1223 msgid "" "Bind a Unix socket, raising :exc:`unittest.SkipTest` if :exc:" "`PermissionError` is raised." msgstr "" -#: ../../library/test.rst:1225 +#: ../../library/test.rst:1229 msgid "" "A decorator for running tests that require a functional ``bind()`` for Unix " "sockets." msgstr "" -#: ../../library/test.rst:1231 +#: ../../library/test.rst:1235 msgid "" "A context manager that raises :exc:`~test.support.ResourceDenied` when " "various issues with the internet connection manifest themselves as " "exceptions." msgstr "" -#: ../../library/test.rst:1237 +#: ../../library/test.rst:1241 msgid "" ":mod:`!test.support.script_helper` --- Utilities for the Python execution " "tests" msgstr "" -#: ../../library/test.rst:1243 +#: ../../library/test.rst:1247 msgid "" "The :mod:`!test.support.script_helper` module provides support for Python's " "script execution tests." msgstr "" -#: ../../library/test.rst:1248 +#: ../../library/test.rst:1252 msgid "" "Return ``True`` if ``sys.executable interpreter`` requires environment " "variables in order to be able to run at all." msgstr "" -#: ../../library/test.rst:1251 +#: ../../library/test.rst:1255 msgid "" "This is designed to be used with ``@unittest.skipIf()`` to annotate tests " "that need to use an ``assert_python*()`` function to launch an isolated mode " "(``-I``) or no environment mode (``-E``) sub-interpreter process." msgstr "" -#: ../../library/test.rst:1255 +#: ../../library/test.rst:1259 msgid "" "A normal build & test does not run into this situation but it can happen " "when trying to run the standard library test suite from an interpreter that " "doesn't have an obvious home with Python's current home finding logic." msgstr "" -#: ../../library/test.rst:1259 +#: ../../library/test.rst:1263 msgid "" "Setting :envvar:`PYTHONHOME` is one way to get most of the testsuite to run " "in that situation. :envvar:`PYTHONPATH` or :envvar:`PYTHONUSERSITE` are " @@ -1452,85 +1455,85 @@ msgid "" "interpreter can start." msgstr "" -#: ../../library/test.rst:1267 +#: ../../library/test.rst:1271 msgid "" "Set up the environment based on *env_vars* for running the interpreter in a " "subprocess. The values can include ``__isolated``, ``__cleanenv``, " "``__cwd``, and ``TERM``." msgstr "" -#: ../../library/test.rst:1271 ../../library/test.rst:1287 -#: ../../library/test.rst:1299 +#: ../../library/test.rst:1275 ../../library/test.rst:1291 +#: ../../library/test.rst:1303 msgid "The function no longer strips whitespaces from *stderr*." msgstr "" -#: ../../library/test.rst:1277 +#: ../../library/test.rst:1281 msgid "" "Assert that running the interpreter with *args* and optional environment " "variables *env_vars* succeeds (``rc == 0``) and return a ``(return code, " "stdout, stderr)`` tuple." msgstr "" -#: ../../library/test.rst:1281 +#: ../../library/test.rst:1285 msgid "" "If the *__cleanenv* keyword-only parameter is set, *env_vars* is used as a " "fresh environment." msgstr "" -#: ../../library/test.rst:1284 +#: ../../library/test.rst:1288 msgid "" "Python is started in isolated mode (command line option ``-I``), except if " "the *__isolated* keyword-only parameter is set to ``False``." msgstr "" -#: ../../library/test.rst:1293 +#: ../../library/test.rst:1297 msgid "" "Assert that running the interpreter with *args* and optional environment " "variables *env_vars* fails (``rc != 0``) and return a ``(return code, " "stdout, stderr)`` tuple." msgstr "" -#: ../../library/test.rst:1297 +#: ../../library/test.rst:1301 msgid "See :func:`assert_python_ok` for more options." msgstr "" -#: ../../library/test.rst:1305 +#: ../../library/test.rst:1309 msgid "Run a Python subprocess with the given arguments." msgstr "" -#: ../../library/test.rst:1307 +#: ../../library/test.rst:1311 msgid "" "*kw* is extra keyword args to pass to :func:`subprocess.Popen`. Returns a :" "class:`subprocess.Popen` object." msgstr "" -#: ../../library/test.rst:1313 +#: ../../library/test.rst:1317 msgid "" "Run the given :class:`subprocess.Popen` process until completion and return " "stdout." msgstr "" -#: ../../library/test.rst:1319 +#: ../../library/test.rst:1323 msgid "" "Create script containing *source* in path *script_dir* and " "*script_basename*. If *omit_suffix* is ``False``, append ``.py`` to the " "name. Return the full script path." msgstr "" -#: ../../library/test.rst:1326 +#: ../../library/test.rst:1330 msgid "" "Create zip file at *zip_dir* and *zip_basename* with extension ``zip`` which " "contains the files in *script_name*. *name_in_zip* is the archive name. " "Return a tuple containing ``(full path, full path of archive name)``." msgstr "" -#: ../../library/test.rst:1333 +#: ../../library/test.rst:1337 msgid "" "Create a directory named *pkg_dir* containing an ``__init__`` file with " "*init_source* as its contents." msgstr "" -#: ../../library/test.rst:1340 +#: ../../library/test.rst:1344 msgid "" "Create a zip package directory with a path of *zip_dir* and *zip_basename* " "containing an empty ``__init__`` file and a file *script_basename* " @@ -1539,60 +1542,60 @@ msgid "" "path and the archive name for the zip file." msgstr "" -#: ../../library/test.rst:1348 +#: ../../library/test.rst:1352 msgid "" ":mod:`!test.support.bytecode_helper` --- Support tools for testing correct " "bytecode generation" msgstr "" -#: ../../library/test.rst:1353 +#: ../../library/test.rst:1357 msgid "" "The :mod:`!test.support.bytecode_helper` module provides support for testing " "and inspecting bytecode generation." msgstr "" -#: ../../library/test.rst:1358 +#: ../../library/test.rst:1362 msgid "The module defines the following class:" msgstr "" -#: ../../library/test.rst:1362 +#: ../../library/test.rst:1366 msgid "This class has custom assertion methods for inspecting bytecode." msgstr "" -#: ../../library/test.rst:1366 +#: ../../library/test.rst:1370 msgid "Return the disassembly of *co* as string." msgstr "" -#: ../../library/test.rst:1371 +#: ../../library/test.rst:1375 msgid "" "Return instr if *opname* is found, otherwise throws :exc:`AssertionError`." msgstr "" -#: ../../library/test.rst:1376 +#: ../../library/test.rst:1380 msgid "Throws :exc:`AssertionError` if *opname* is found." msgstr "" -#: ../../library/test.rst:1380 +#: ../../library/test.rst:1384 msgid ":mod:`!test.support.threading_helper` --- Utilities for threading tests" msgstr "" -#: ../../library/test.rst:1385 +#: ../../library/test.rst:1389 msgid "" "The :mod:`!test.support.threading_helper` module provides support for " "threading tests." msgstr "" -#: ../../library/test.rst:1392 +#: ../../library/test.rst:1396 msgid "" "Join a *thread* within *timeout*. Raise an :exc:`AssertionError` if thread " "is still alive after *timeout* seconds." msgstr "" -#: ../../library/test.rst:1398 +#: ../../library/test.rst:1402 msgid "Decorator to ensure the threads are cleaned up even if the test fails." msgstr "" -#: ../../library/test.rst:1403 +#: ../../library/test.rst:1407 msgid "" "Context manager to start *threads*, which is a sequence of threads. *unlock* " "is a function called after the threads are started, even if an exception was " @@ -1600,57 +1603,57 @@ msgid "" "will attempt to join the started threads upon exit." msgstr "" -#: ../../library/test.rst:1411 +#: ../../library/test.rst:1415 msgid "" "Cleanup up threads not specified in *original_values*. Designed to emit a " "warning if a test leaves running threads in the background." msgstr "" -#: ../../library/test.rst:1417 +#: ../../library/test.rst:1421 msgid "Return current thread count and copy of dangling threads." msgstr "" -#: ../../library/test.rst:1422 +#: ../../library/test.rst:1426 msgid "" "Context manager to wait until all threads created in the ``with`` statement " "exit." msgstr "" -#: ../../library/test.rst:1428 +#: ../../library/test.rst:1432 msgid "" "Context manager catching :class:`threading.Thread` exception using :func:" "`threading.excepthook`." msgstr "" -#: ../../library/test.rst:1431 +#: ../../library/test.rst:1435 msgid "Attributes set when an exception is caught:" msgstr "" -#: ../../library/test.rst:1433 +#: ../../library/test.rst:1437 msgid "``exc_type``" msgstr "" -#: ../../library/test.rst:1434 +#: ../../library/test.rst:1438 msgid "``exc_value``" msgstr "" -#: ../../library/test.rst:1435 +#: ../../library/test.rst:1439 msgid "``exc_traceback``" msgstr "" -#: ../../library/test.rst:1436 +#: ../../library/test.rst:1440 msgid "``thread``" msgstr "" -#: ../../library/test.rst:1438 +#: ../../library/test.rst:1442 msgid "See :func:`threading.excepthook` documentation." msgstr "" -#: ../../library/test.rst:1440 +#: ../../library/test.rst:1444 msgid "These attributes are deleted at the context manager exit." msgstr "" -#: ../../library/test.rst:1444 +#: ../../library/test.rst:1448 msgid "" "with threading_helper.catch_threading_exception() as cm:\n" " # code spawning a thread which raises an exception\n" @@ -1665,36 +1668,36 @@ msgid "" "# (to avoid reference cycles)" msgstr "" -#: ../../library/test.rst:1461 +#: ../../library/test.rst:1465 msgid "" "Run the worker function concurrently in multiple threads. Re-raises an " "exception if any thread raises one, after all threads have finished." msgstr "" -#: ../../library/test.rst:1467 +#: ../../library/test.rst:1471 msgid ":mod:`!test.support.os_helper` --- Utilities for os tests" msgstr "" -#: ../../library/test.rst:1472 +#: ../../library/test.rst:1476 msgid "" "The :mod:`!test.support.os_helper` module provides support for os tests." msgstr "" -#: ../../library/test.rst:1479 +#: ../../library/test.rst:1483 msgid "A non-ASCII character encodable by :func:`os.fsencode`." msgstr "" -#: ../../library/test.rst:1484 +#: ../../library/test.rst:1488 msgid "Set to :func:`os.getcwd`." msgstr "" -#: ../../library/test.rst:1489 +#: ../../library/test.rst:1493 msgid "" "Set to a name that is safe to use as the name of a temporary file. Any " "temporary file that is created should be closed and unlinked (removed)." msgstr "" -#: ../../library/test.rst:1495 +#: ../../library/test.rst:1499 msgid "" "Set to a filename containing the :data:`FS_NONASCII` character, if it " "exists. This guarantees that if the filename exists, it can be encoded and " @@ -1702,25 +1705,25 @@ msgid "" "a non-ASCII filename to be easily skipped on platforms where they can't work." msgstr "" -#: ../../library/test.rst:1503 +#: ../../library/test.rst:1507 msgid "" "Set to a filename (str type) that should not be able to be encoded by file " "system encoding in strict mode. It may be ``None`` if it's not possible to " "generate such a filename." msgstr "" -#: ../../library/test.rst:1510 +#: ../../library/test.rst:1514 msgid "" "Set to a filename (bytes type) that should not be able to be decoded by file " "system encoding in strict mode. It may be ``None`` if it's not possible to " "generate such a filename." msgstr "" -#: ../../library/test.rst:1517 +#: ../../library/test.rst:1521 msgid "Set to a non-ASCII name for a temporary file." msgstr "" -#: ../../library/test.rst:1522 +#: ../../library/test.rst:1526 msgid "" "Class used to temporarily set or unset environment variables. Instances can " "be used as a context manager and have a complete dictionary interface for " @@ -1729,79 +1732,79 @@ msgid "" "instance will be rolled back." msgstr "" -#: ../../library/test.rst:1528 +#: ../../library/test.rst:1532 msgid "Added dictionary interface." msgstr "" -#: ../../library/test.rst:1534 +#: ../../library/test.rst:1538 msgid "" "Simple :term:`path-like object`. It implements the :meth:`~os.PathLike." "__fspath__` method which just returns the *path* argument. If *path* is an " "exception, it will be raised in :meth:`!__fspath__`." msgstr "" -#: ../../library/test.rst:1542 +#: ../../library/test.rst:1546 msgid "" "Temporarily set the environment variable ``envvar`` to the value of " "``value``." msgstr "" -#: ../../library/test.rst:1548 +#: ../../library/test.rst:1552 msgid "Temporarily unset one or more environment variables." msgstr "" -#: ../../library/test.rst:1550 +#: ../../library/test.rst:1554 msgid "More than one environment variable can be unset." msgstr "" -#: ../../library/test.rst:1556 +#: ../../library/test.rst:1560 msgid "Return ``True`` if the OS supports symbolic links, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1562 +#: ../../library/test.rst:1566 msgid "Return ``True`` if the OS supports xattr, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1568 +#: ../../library/test.rst:1572 msgid "" "A context manager that temporarily changes the current working directory to " "*path* and yields the directory." msgstr "" -#: ../../library/test.rst:1571 +#: ../../library/test.rst:1575 msgid "" "If *quiet* is ``False``, the context manager raises an exception on error. " "Otherwise, it issues only a warning and keeps the current working directory " "the same." msgstr "" -#: ../../library/test.rst:1578 +#: ../../library/test.rst:1582 msgid "" "Create an empty file with *filename*. If it already exists, truncate it." msgstr "" -#: ../../library/test.rst:1583 +#: ../../library/test.rst:1587 msgid "Count the number of open file descriptors." msgstr "" -#: ../../library/test.rst:1588 +#: ../../library/test.rst:1592 msgid "Return ``True`` if the file system for *directory* is case-insensitive." msgstr "" -#: ../../library/test.rst:1593 +#: ../../library/test.rst:1597 msgid "" "Create an invalid file descriptor by opening and closing a temporary file, " "and returning its descriptor." msgstr "" -#: ../../library/test.rst:1599 +#: ../../library/test.rst:1603 msgid "" "Call :func:`os.rmdir` on *filename*. On Windows platforms, this is wrapped " "with a wait loop that checks for the existence of the file, which is needed " "due to antivirus programs that can hold files open and prevent deletion." msgstr "" -#: ../../library/test.rst:1607 +#: ../../library/test.rst:1611 msgid "" "Call :func:`shutil.rmtree` on *path* or call :func:`os.lstat` and :func:`os." "rmdir` to remove a path and its contents. As with :func:`rmdir`, on Windows " @@ -1809,21 +1812,21 @@ msgid "" "the files." msgstr "" -#: ../../library/test.rst:1615 +#: ../../library/test.rst:1619 msgid "A decorator for running tests that require support for symbolic links." msgstr "" -#: ../../library/test.rst:1620 +#: ../../library/test.rst:1624 msgid "A decorator for running tests that require support for xattr." msgstr "" -#: ../../library/test.rst:1625 +#: ../../library/test.rst:1629 msgid "" "A context manager that temporarily creates a new directory and changes the " "current working directory (CWD)." msgstr "" -#: ../../library/test.rst:1628 +#: ../../library/test.rst:1632 msgid "" "The context manager creates a temporary directory in the current directory " "with name *name* before temporarily changing the current working directory. " @@ -1831,20 +1834,20 @@ msgid "" "`tempfile.mkdtemp`." msgstr "" -#: ../../library/test.rst:1633 +#: ../../library/test.rst:1637 msgid "" "If *quiet* is ``False`` and it is not possible to create or change the CWD, " "an error is raised. Otherwise, only a warning is raised and the original " "CWD is used." msgstr "" -#: ../../library/test.rst:1640 +#: ../../library/test.rst:1644 msgid "" "A context manager that creates a temporary directory at *path* and yields " "the directory." msgstr "" -#: ../../library/test.rst:1643 +#: ../../library/test.rst:1647 msgid "" "If *path* is ``None``, the temporary directory is created using :func:" "`tempfile.mkdtemp`. If *quiet* is ``False``, the context manager raises an " @@ -1852,34 +1855,34 @@ msgid "" "created, only a warning is issued." msgstr "" -#: ../../library/test.rst:1651 +#: ../../library/test.rst:1655 msgid "A context manager that temporarily sets the process umask." msgstr "" -#: ../../library/test.rst:1656 +#: ../../library/test.rst:1660 msgid "" "Call :func:`os.unlink` on *filename*. As with :func:`rmdir`, on Windows " "platforms, this is wrapped with a wait loop that checks for the existence of " "the file." msgstr "" -#: ../../library/test.rst:1662 +#: ../../library/test.rst:1666 msgid ":mod:`!test.support.import_helper` --- Utilities for import tests" msgstr "" -#: ../../library/test.rst:1667 +#: ../../library/test.rst:1671 msgid "" "The :mod:`!test.support.import_helper` module provides support for import " "tests." msgstr "" -#: ../../library/test.rst:1674 +#: ../../library/test.rst:1678 msgid "" "Remove the module named *module_name* from ``sys.modules`` and delete any " "byte-compiled files of the module." msgstr "" -#: ../../library/test.rst:1680 +#: ../../library/test.rst:1684 msgid "" "This function imports and returns a fresh copy of the named Python module by " "removing the named module from ``sys.modules`` before doing the import. Note " @@ -1887,39 +1890,39 @@ msgid "" "operation." msgstr "" -#: ../../library/test.rst:1685 +#: ../../library/test.rst:1689 msgid "" "*fresh* is an iterable of additional module names that are also removed from " "the ``sys.modules`` cache before doing the import." msgstr "" -#: ../../library/test.rst:1688 +#: ../../library/test.rst:1692 msgid "" "*blocked* is an iterable of module names that are replaced with ``None`` in " "the module cache during the import to ensure that attempts to import them " "raise :exc:`ImportError`." msgstr "" -#: ../../library/test.rst:1692 +#: ../../library/test.rst:1696 msgid "" "The named module and any modules named in the *fresh* and *blocked* " "parameters are saved before starting the import and then reinserted into " "``sys.modules`` when the fresh import is complete." msgstr "" -#: ../../library/test.rst:1696 +#: ../../library/test.rst:1700 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``." msgstr "" -#: ../../library/test.rst:1699 +#: ../../library/test.rst:1703 msgid "" "This function will raise :exc:`ImportError` if the named module cannot be " "imported." msgstr "" -#: ../../library/test.rst:1704 +#: ../../library/test.rst:1708 msgid "" "# Get copies of the warnings module for testing without affecting the\n" "# version being used by the rest of the test suite. One copy uses the\n" @@ -1929,14 +1932,14 @@ msgid "" "c_warnings = import_fresh_module('warnings', fresh=['_warnings'])" msgstr "" -#: ../../library/test.rst:1716 +#: ../../library/test.rst:1720 msgid "" "This function imports and returns the named module. Unlike a normal import, " "this function raises :exc:`unittest.SkipTest` if the module cannot be " "imported." msgstr "" -#: ../../library/test.rst:1720 +#: ../../library/test.rst:1724 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``. If a module is required on a platform but " @@ -1944,21 +1947,21 @@ msgid "" "which will be compared against :data:`sys.platform`." msgstr "" -#: ../../library/test.rst:1730 +#: ../../library/test.rst:1734 msgid "Return a copy of :data:`sys.modules`." msgstr "" -#: ../../library/test.rst:1735 +#: ../../library/test.rst:1739 msgid "" "Remove modules except for *oldmodules* and ``encodings`` in order to " "preserve internal cache." msgstr "" -#: ../../library/test.rst:1741 +#: ../../library/test.rst:1745 msgid "Delete *name* from ``sys.modules``." msgstr "" -#: ../../library/test.rst:1746 +#: ../../library/test.rst:1750 msgid "" "Move a :pep:`3147`/:pep:`488` pyc file to its legacy pyc location and return " "the file system path to the legacy pyc file. The *source* value is the file " @@ -1966,48 +1969,48 @@ msgid "" "3147/488 pyc file must exist." msgstr "" -#: ../../library/test.rst:1754 +#: ../../library/test.rst:1758 msgid "" "A context manager to force import to return a new module reference. This is " "useful for testing module-level behaviors, such as the emission of a :exc:" "`DeprecationWarning` on import. Example usage::" msgstr "" -#: ../../library/test.rst:1758 +#: ../../library/test.rst:1762 msgid "" "with CleanImport('foo'):\n" " importlib.import_module('foo') # New reference." msgstr "" -#: ../../library/test.rst:1764 +#: ../../library/test.rst:1768 msgid "A context manager to temporarily add directories to :data:`sys.path`." msgstr "" -#: ../../library/test.rst:1766 +#: ../../library/test.rst:1770 msgid "" "This makes a copy of :data:`sys.path`, appends any directories given as " "positional arguments, then reverts :data:`sys.path` to the copied settings " "when the context ends." msgstr "" -#: ../../library/test.rst:1770 +#: ../../library/test.rst:1774 msgid "" "Note that *all* :data:`sys.path` modifications in the body of the context " "manager, including replacement of the object, will be reverted at the end of " "the block." msgstr "" -#: ../../library/test.rst:1776 +#: ../../library/test.rst:1780 msgid ":mod:`!test.support.warnings_helper` --- Utilities for warnings tests" msgstr "" -#: ../../library/test.rst:1781 +#: ../../library/test.rst:1785 msgid "" "The :mod:`!test.support.warnings_helper` module provides support for " "warnings tests." msgstr "" -#: ../../library/test.rst:1788 +#: ../../library/test.rst:1792 msgid "" "Suppress warnings that are instances of *category*, which must be :exc:" "`Warning` or a subclass. Roughly equivalent to :func:`warnings." @@ -2015,21 +2018,21 @@ msgid "" "category=category) `. For example::" msgstr "" -#: ../../library/test.rst:1794 +#: ../../library/test.rst:1798 msgid "" "@warning_helper.ignore_warnings(category=DeprecationWarning)\n" "def test_suppress_warning():\n" " # do something" msgstr "" -#: ../../library/test.rst:1803 +#: ../../library/test.rst:1807 msgid "" "Context manager to check that no :exc:`ResourceWarning` was raised. You " "must remove the object which may emit :exc:`ResourceWarning` before the end " "of the context manager." msgstr "" -#: ../../library/test.rst:1810 +#: ../../library/test.rst:1814 msgid "" "Test for syntax warning in *statement* by attempting to compile *statement*. " "Test also that the :exc:`SyntaxWarning` is emitted only once, and that it " @@ -2041,7 +2044,7 @@ msgid "" "``None``, compares to the offset of the exception." msgstr "" -#: ../../library/test.rst:1824 +#: ../../library/test.rst:1828 msgid "" "A convenience wrapper for :func:`warnings.catch_warnings` that makes it " "easier to test that a warning was correctly raised. It is approximately " @@ -2050,7 +2053,7 @@ msgid "" "automatically validate the results that are recorded." msgstr "" -#: ../../library/test.rst:1830 +#: ../../library/test.rst:1834 msgid "" "``check_warnings`` accepts 2-tuples of the form ``(\"message regexp\", " "WarningCategory)`` as positional arguments. If one or more *filters* are " @@ -2062,19 +2065,19 @@ msgid "" "*quiet* to ``True``." msgstr "" -#: ../../library/test.rst:1839 +#: ../../library/test.rst:1843 msgid "If no arguments are specified, it defaults to::" msgstr "" -#: ../../library/test.rst:1841 +#: ../../library/test.rst:1845 msgid "check_warnings((\"\", Warning), quiet=True)" msgstr "" -#: ../../library/test.rst:1843 +#: ../../library/test.rst:1847 msgid "In this case all warnings are caught and no errors are raised." msgstr "" -#: ../../library/test.rst:1845 +#: ../../library/test.rst:1849 msgid "" "On entry to the context manager, a :class:`WarningRecorder` instance is " "returned. The underlying warnings list from :func:`~warnings.catch_warnings` " @@ -2086,17 +2089,17 @@ msgid "" "return ``None``." msgstr "" -#: ../../library/test.rst:1854 +#: ../../library/test.rst:1858 msgid "" "The recorder object also has a :meth:`reset` method, which clears the " "warnings list." msgstr "" -#: ../../library/test.rst:1857 +#: ../../library/test.rst:1861 msgid "The context manager is designed to be used like this::" msgstr "" -#: ../../library/test.rst:1859 +#: ../../library/test.rst:1863 msgid "" "with check_warnings((\"assertion is always true\", SyntaxWarning),\n" " (\"\", UserWarning)):\n" @@ -2104,19 +2107,19 @@ msgid "" " warnings.warn(UserWarning(\"Hide me!\"))" msgstr "" -#: ../../library/test.rst:1864 +#: ../../library/test.rst:1868 msgid "" "In this case if either warning was not raised, or some other warning was " "raised, :func:`check_warnings` would raise an error." msgstr "" -#: ../../library/test.rst:1867 +#: ../../library/test.rst:1871 msgid "" "When a test needs to look more deeply into the warnings, rather than just " "checking whether or not they occurred, code like this can be used::" msgstr "" -#: ../../library/test.rst:1870 +#: ../../library/test.rst:1874 msgid "" "with check_warnings(quiet=True) as w:\n" " warnings.warn(\"foo\")\n" @@ -2129,17 +2132,17 @@ msgid "" " assert len(w.warnings) == 0" msgstr "" -#: ../../library/test.rst:1881 +#: ../../library/test.rst:1885 msgid "" "Here all warnings will be caught, and the test code tests the captured " "warnings directly." msgstr "" -#: ../../library/test.rst:1884 +#: ../../library/test.rst:1888 msgid "New optional arguments *filters* and *quiet*." msgstr "" -#: ../../library/test.rst:1890 +#: ../../library/test.rst:1894 msgid "" "Class used to record warnings for unit tests. See documentation of :func:" "`check_warnings` above for more details." diff --git a/library/tkinter.po b/library/tkinter.po index a86ea705..6132e292 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-10-13 21:20+0200\n" "Last-Translator: Swen Bachmann, 2026\n" "Language-Team: German (https://github.com/python/python-docs-de)\n" @@ -256,7 +256,7 @@ msgstr "" "Tkinter überbrückt diesen Unterschied (Einzelheiten unter `Threading " "model`_)." -#: ../../library/tkinter.rst:100 ../../library/tkinter.rst:900 +#: ../../library/tkinter.rst:100 ../../library/tkinter.rst:966 msgid "Tk" msgstr "Tk" @@ -1577,7 +1577,7 @@ msgstr "" "class:`Variable`)." #: ../../library/tkinter.rst:696 ../../library/tkinter.rst:746 -#: ../../library/tkinter.rst:887 +#: ../../library/tkinter.rst:953 msgid "For example::" msgstr "Zum Beispiel::" @@ -1710,38 +1710,45 @@ msgid "Tk option data types" msgstr "Datentypen von Tk-Optionen" #: ../../library/tkinter.rst:770 +#, fuzzy msgid "" "Many widget options documented in the reference accept values of a small " -"number of common types, described here." +"number of common types, described here. The standard options and their types " +"are described in the :manpage:`options(3tk)` manual page." msgstr "" "Viele in der Referenz dokumentierte Widget-Optionen nehmen Werte einiger " "weniger gängiger Typen an, die hier beschrieben werden." -#: ../../library/tkinter.rst:773 +#: ../../library/tkinter.rst:775 msgid "anchor" msgstr "anchor" -#: ../../library/tkinter.rst:774 +#: ../../library/tkinter.rst:776 msgid "" "Legal values are points of the compass: ``\"n\"``, ``\"ne\"``, ``\"e\"``, " "``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, and also " -"``\"center\"``." +"``\"center\"``. The *labelanchor* option of :class:`LabelFrame` and :class:" +"`ttk.LabelFrame ` accepts also ``\"en\"``, " +"``\"es\"``, ``\"wn\"`` and ``\"ws\"``. The *sticky* option of the grid " +"geometry manager accepts a combination of the compass directions, such as " +"``\"nsew\"``, or an empty string." msgstr "" -"Zulässige Werte sind Himmelsrichtungen: ``\"n\"``, ``\"ne\"``, ``\"e\"``, " -"``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"`` sowie " -"``\"center\"``." -#: ../../library/tkinter.rst:777 +#: ../../library/tkinter.rst:784 msgid "bitmap" msgstr "bitmap" -#: ../../library/tkinter.rst:778 +#: ../../library/tkinter.rst:785 +#, fuzzy msgid "" "There are ten built-in, named bitmaps: ``'error'``, ``'gray12'``, " "``'gray25'``, ``'gray50'``, ``'gray75'``, ``'hourglass'``, ``'info'``, " -"``'questhead'``, ``'question'``, ``'warning'``. To specify an X bitmap " -"filename, give the full path to the file, preceded with an ``@``, as in " -"``\"@/usr/contrib/bitmap/gumby.bit\"``." +"``'questhead'``, ``'question'``, ``'warning'``. On macOS the following " +"bitmaps are available as well: ``'application'``, ``'accessory'``, " +"``'folder'``, ``'pfolder'``, ``'trash'``, ``'floppy'``, ``'ramdisk'``, " +"``'cdrom'``, ``'preferences'``, ``'querydoc'``, ``'stop'``, ``'note'`` and " +"``'caution'``. To specify an X bitmap file, give the full path to the file, " +"preceded with an ``@``, as in ``\"@/usr/contrib/bitmap/gumby.bit\"``." msgstr "" "Es gibt zehn integrierte, benannte Bitmaps: ``'error'``, ``'gray12'``, " "``'gray25'``, ``'gray50'``, ``'gray75'``, ``'hourglass'``, ``'info'``, " @@ -1749,25 +1756,30 @@ msgstr "" "anzugeben, nenne den vollständigen Pfad zur Datei mit vorangestelltem ``@``, " "etwa ``\"@/usr/contrib/bitmap/gumby.bit\"``." -#: ../../library/tkinter.rst:784 +#: ../../library/tkinter.rst:795 msgid "boolean" msgstr "boolean" -#: ../../library/tkinter.rst:785 -msgid "You can pass integers 0 or 1 or the strings ``\"yes\"`` or ``\"no\"``." +#: ../../library/tkinter.rst:796 +msgid "" +"You can pass the integers 0 or 1, ``True`` or ``False``, or the strings " +"``\"0\"``, ``\"1\"``, ``\"yes\"``, ``\"no\"``, ``\"true\"``, ``\"false\"``, " +"``\"on\"`` or ``\"off\"``. The strings are matched ignoring case, and an " +"unambiguous prefix, such as ``\"t\"``, is enough. Any non-zero integer means " +"true." msgstr "" -"Du kannst die ganzen Zahlen 0 oder 1 oder die Zeichenketten ``\"yes\"`` oder " -"``\"no\"`` übergeben." -#: ../../library/tkinter.rst:787 +#: ../../library/tkinter.rst:803 msgid "callback" msgstr "callback" -#: ../../library/tkinter.rst:788 -msgid "This is any Python function that takes no arguments. For example::" +#: ../../library/tkinter.rst:804 +#, fuzzy +msgid "" +"This is any callable object. Most callbacks take no arguments. For example::" msgstr "Das ist eine beliebige Python-Funktion ohne Argumente. Zum Beispiel::" -#: ../../library/tkinter.rst:790 +#: ../../library/tkinter.rst:807 msgid "" "def print_it():\n" " print(\"hi there\")\n" @@ -1777,30 +1789,53 @@ msgstr "" " print(\"hi there\")\n" "fred[\"command\"] = print_it" -#: ../../library/tkinter.rst:794 +#: ../../library/tkinter.rst:811 +msgid "" +"Some options call it with arguments, such as the *command* option of :class:" +"`Scale`, which is called with the new value." +msgstr "" + +#: ../../library/tkinter.rst:815 msgid "color" msgstr "color" -#: ../../library/tkinter.rst:795 +#: ../../library/tkinter.rst:816 msgid "" -"Colors can be given as the names of X colors in the rgb.txt file, or as " -"strings representing RGB values in 4 bit: ``\"#RGB\"``, 8 bit: " -"``\"#RRGGBB\"``, 12 bit: ``\"#RRRGGGBBB\"``, or 16 bit: " +"Colors can be given as symbolic names, such as ``\"red\"`` or ``\"light " +"blue\"``, or as strings representing RGB values in 4 bit: ``\"#RGB\"``, 8 " +"bit: ``\"#RRGGBB\"``, 12 bit: ``\"#RRRGGGBBB\"``, or 16 bit: " "``\"#RRRRGGGGBBBB\"`` ranges, where R,G,B here represent any legal hex " -"digit. See the :manpage:`colors(3tk)` man page for the list of named colors." +"digit. Tk provides a portable set of symbolic names available on all " +"platforms; they are matched ignoring case and spaces, so ``\"light blue\"``, " +"``\"Light Blue\"`` and ``\"lightblue\"`` are the same color. The full list " +"of names, including the platform-specific names of the current system colors " +"(for example ``\"systemButtonFace\"`` on Windows or ``\"systemWindowBody\"`` " +"on macOS), is given in the :manpage:`colors(3tk)` manual page. :meth:" +"`~tkinter.Misc.winfo_rgb` returns the red, green and blue components of a " +"color." msgstr "" -"Farben können als Namen von X-Farben aus der Datei rgb.txt angegeben werden " -"oder als Zeichenketten, die RGB-Werte darstellen, in 4 Bit: ``\"#RGB\"``, 8 " -"Bit: ``\"#RRGGBB\"``, 12 Bit: ``\"#RRRGGGBBB\"`` oder 16 Bit: " -"``\"#RRRRGGGGBBBB\"``, wobei R, G und B hier für beliebige zulässige " -"Hexadezimalziffern stehen. Die Liste der benannten Farben steht auf der Man-" -"Page :manpage:`colors(3tk)`." -#: ../../library/tkinter.rst:801 +#: ../../library/tkinter.rst:832 +#, fuzzy +msgid "compound" +msgstr "*compound*" + +#: ../../library/tkinter.rst:833 +msgid "" +"Determines how to combine an image and a text displayed in a widget. Legal " +"values are ``\"none\"`` (display the image if there is one, otherwise the " +"text), ``\"text\"``, ``\"image\"``, ``\"center\"`` (display the text in the " +"center of the image) and ``\"top\"``, ``\"bottom\"``, ``\"left\"``, " +"``\"right\"`` (display the image above, below, to the left of or to the " +"right of the text). The themed widgets accept all these values, the classic " +"widgets accept all except ``\"text\"`` and ``\"image\"``." +msgstr "" + +#: ../../library/tkinter.rst:843 msgid "cursor" msgstr "cursor" -#: ../../library/tkinter.rst:802 +#: ../../library/tkinter.rst:844 msgid "" "The name of the mouse cursor to display while the pointer is over the " "widget. Tk provides a portable set of cursor names available on all " @@ -1825,11 +1860,11 @@ msgstr "" "`.ani`) direkt verwenden, indem du ihren Pfad mit vorangestelltem ``@`` " "angibst, etwa ``\"@C:/cursors/bart.ani\"``." -#: ../../library/tkinter.rst:813 +#: ../../library/tkinter.rst:855 msgid "distance" msgstr "distance" -#: ../../library/tkinter.rst:814 +#: ../../library/tkinter.rst:856 msgid "" "Screen distances can be specified in either pixels or absolute distances. " "Pixels are given as numbers and absolute distances as strings, with the " @@ -1843,17 +1878,20 @@ msgstr "" "Zentimeter, ``i`` für Zoll, ``m`` für Millimeter, ``p`` für typografische " "Punkte. 3,5 Zoll werden zum Beispiel als ``\"3.5i\"`` ausgedrückt." -#: ../../library/tkinter.rst:820 +#: ../../library/tkinter.rst:862 msgid "font" msgstr "font" -#: ../../library/tkinter.rst:821 +#: ../../library/tkinter.rst:863 +#, fuzzy msgid "" "Tk uses a font description such as ``{courier 10 bold}``; in :mod:`!tkinter` " "this is most naturally passed as a tuple of ``(family, size, *styles)`` (or " "as the equivalent string ``\"Courier 10 bold\"``). Font sizes with positive " "numbers are measured in points; sizes with negative numbers are measured in " -"pixels." +"pixels. The name of a named font, such as ``\"TkDefaultFont\"``, a :class:" +"`tkinter.font.Font` instance, or, on X11, an XLFD font name can be used as " +"well." msgstr "" "Tk verwendet eine Schriftbeschreibung wie ``{courier 10 bold}``. In :mod:`!" "tkinter` übergibt man sie am natürlichsten als Tupel ``(family, size, " @@ -1861,25 +1899,11 @@ msgstr "" "bold\"``). Schriftgrößen mit positiven Zahlen werden in Punkt gemessen, " "Größen mit negativen Zahlen in Pixeln." -#: ../../library/tkinter.rst:827 -msgid "geometry" -msgstr "geometry" - -#: ../../library/tkinter.rst:828 -msgid "" -"This is a string of the form ``widthxheight``, where width and height are " -"measured in pixels for most widgets (in characters for widgets displaying " -"text). For example: ``fred[\"geometry\"] = \"200x100\"``." -msgstr "" -"Das ist eine Zeichenkette der Form ``widthxheight``, wobei Breite und Höhe " -"bei den meisten Widgets in Pixeln gemessen werden (bei Widgets, die Text " -"anzeigen, in Zeichen). Zum Beispiel: ``fred[\"geometry\"] = \"200x100\"``." - -#: ../../library/tkinter.rst:832 +#: ../../library/tkinter.rst:872 msgid "justify" msgstr "justify" -#: ../../library/tkinter.rst:833 +#: ../../library/tkinter.rst:873 msgid "" "Legal values are the strings: ``\"left\"``, ``\"center\"``, and " "``\"right\"``." @@ -1887,26 +1911,53 @@ msgstr "" "Zulässige Werte sind die Zeichenketten ``\"left\"``, ``\"center\"`` und " "``\"right\"``." -#: ../../library/tkinter.rst:835 +#: ../../library/tkinter.rst:875 +msgid "orient" +msgstr "" + +#: ../../library/tkinter.rst:876 +#, fuzzy +msgid "Legal values are ``\"horizontal\"`` and ``\"vertical\"``." +msgstr "" +"Zulässige Werte sind die Zeichenketten ``\"left\"``, ``\"center\"`` und " +"``\"right\"``." + +#: ../../library/tkinter.rst:878 +msgid "padding" +msgstr "" + +#: ../../library/tkinter.rst:879 +msgid "" +"This is a legal distance (see above), applied on all sides, or a sequence of " +"up to four distances specifying the left, top, right and bottom padding. If " +"fewer than four are specified, the bottom padding defaults to the top one, " +"the right one to the left one, and the top one to the left one. It is only " +"supported by the themed widgets." +msgstr "" + +#: ../../library/tkinter.rst:887 msgid "region" msgstr "region" -#: ../../library/tkinter.rst:836 +#: ../../library/tkinter.rst:888 +#, fuzzy msgid "" -"This is a string with four space-delimited elements, each of which is a " -"legal distance (see above). For example: ``\"2 3 4 5\"`` and ``\"3i 2i 4.5i " -"2i\"`` and ``\"3c 2c 4c 10.43c\"`` are all legal regions." +"Used for the *scrollregion* option of :class:`Canvas`. This is a string with " +"four space-delimited elements, each of which is a legal distance (see " +"above), or a sequence of four such elements. For example: ``\"2 3 4 5\"``, " +"``(2, 3, 4, 5)``, ``\"3i 2i 4.5i 2i\"`` and ``\"3c 2c 4c 10.43c\"`` are all " +"legal regions." msgstr "" "Das ist eine Zeichenkette mit vier durch Leerzeichen getrennten Elementen, " "von denen jedes ein zulässiger Abstand ist (siehe oben). Zum Beispiel sind " "``\"2 3 4 5\"``, ``\"3i 2i 4.5i 2i\"`` und ``\"3c 2c 4c 10.43c\"`` alles " "zulässige Regionen." -#: ../../library/tkinter.rst:840 +#: ../../library/tkinter.rst:895 msgid "relief" msgstr "relief" -#: ../../library/tkinter.rst:841 +#: ../../library/tkinter.rst:896 msgid "" "Determines what the border style of a widget will be. Legal values are: " "``\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"``, ``\"ridge\"``, " @@ -1916,11 +1967,11 @@ msgstr "" "``\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"``, ``\"ridge\"`` " "und ``\"solid\"``." -#: ../../library/tkinter.rst:845 +#: ../../library/tkinter.rst:900 msgid "scrollcommand" msgstr "scrollcommand" -#: ../../library/tkinter.rst:846 +#: ../../library/tkinter.rst:901 msgid "" "This is almost always the :meth:`!set` method of some scrollbar widget, but " "can be any widget method that takes a single argument." @@ -1928,20 +1979,36 @@ msgstr "" "Das ist fast immer die Methode :meth:`!set` eines Scrollbar-Widgets, kann " "aber jede Widget-Methode sein, die ein einzelnes Argument annimmt." -#: ../../library/tkinter.rst:849 +#: ../../library/tkinter.rst:904 ../../library/tkinter.rst:974 +msgid "state" +msgstr "state" + +#: ../../library/tkinter.rst:905 +msgid "" +"Legal values are ``\"normal\"``, ``\"disabled\"`` and, depending on the " +"widget, also ``\"active\"``, ``\"hidden\"`` (for :class:`Canvas` items) or " +"``\"readonly\"`` (for :class:`Entry`, :class:`Spinbox` and the themed " +"widgets). The themed widgets have in addition a more general set of states, " +"which is manipulated with :meth:`ttk.Widget.state `." +msgstr "" + +#: ../../library/tkinter.rst:913 msgid "wrap" msgstr "wrap" -#: ../../library/tkinter.rst:850 -msgid "Must be one of: ``\"none\"``, ``\"char\"``, or ``\"word\"``." +#: ../../library/tkinter.rst:914 +msgid "" +"Must be one of ``\"none\"``, ``\"char\"`` or ``\"word\"`` for the :class:" +"`Text` widget and its tags; for a tag an empty string means to use the " +"widget's value." msgstr "" -"Muss einer der Werte ``\"none\"``, ``\"char\"`` oder ``\"word\"`` sein." -#: ../../library/tkinter.rst:855 +#: ../../library/tkinter.rst:921 msgid "Bindings and events" msgstr "Bindungen und Ereignisse" -#: ../../library/tkinter.rst:861 +#: ../../library/tkinter.rst:927 msgid "" "The bind method from the widget command allows you to watch for certain " "events and to have a callback function trigger when that event type occurs. " @@ -1951,19 +2018,19 @@ msgstr "" "zu achten und eine Callback-Funktion auszulösen, wenn dieser Ereignistyp " "eintritt. Die Form der Methode bind lautet::" -#: ../../library/tkinter.rst:865 +#: ../../library/tkinter.rst:931 msgid "def bind(self, sequence, func, add=''):" msgstr "def bind(self, sequence, func, add=''):" -#: ../../library/tkinter.rst:867 +#: ../../library/tkinter.rst:933 msgid "where:" msgstr "dabei gilt:" -#: ../../library/tkinter.rst:869 +#: ../../library/tkinter.rst:935 msgid "sequence" msgstr "sequence" -#: ../../library/tkinter.rst:870 +#: ../../library/tkinter.rst:936 msgid "" "is a string that denotes the target kind of event. Physical events use the " "```` form (for example ``\"\"`` or " @@ -1978,11 +2045,11 @@ msgstr "" "``\"<>\"``. (Einzelheiten stehen auf der Man-Page :manpage:" "`bind(3tk)`.)" -#: ../../library/tkinter.rst:876 +#: ../../library/tkinter.rst:942 msgid "func" msgstr "func" -#: ../../library/tkinter.rst:877 +#: ../../library/tkinter.rst:943 msgid "" "is a Python function, taking one argument, to be invoked when the event " "occurs. An Event instance will be passed as the argument. (Functions " @@ -1992,11 +2059,11 @@ msgstr "" "Ereignis eintritt. Als Argument wird eine Event-Instanz übergeben. (So " "eingesetzte Funktionen werden üblicherweise *Callbacks* genannt.)" -#: ../../library/tkinter.rst:881 +#: ../../library/tkinter.rst:947 msgid "add" msgstr "add" -#: ../../library/tkinter.rst:882 +#: ../../library/tkinter.rst:948 msgid "" "is optional, either ``''`` or ``'+'``. Passing an empty string denotes that " "this binding is to replace any other bindings that this event is associated " @@ -2008,7 +2075,7 @@ msgstr "" "Ereignis verknüpft sind. Ein ``'+'`` bedeutet, dass diese Funktion zur Liste " "der an diesen Ereignistyp gebundenen Funktionen hinzugefügt wird." -#: ../../library/tkinter.rst:889 +#: ../../library/tkinter.rst:955 msgid "" "def turn_red(self, event):\n" " event.widget[\"activeforeground\"] = \"red\"\n" @@ -2020,7 +2087,7 @@ msgstr "" "\n" "self.button.bind(\"\", self.turn_red)" -#: ../../library/tkinter.rst:894 +#: ../../library/tkinter.rst:960 msgid "" "Notice how the widget field of the event is being accessed in the " "``turn_red()`` callback. This field contains the widget that caught the X " @@ -2034,171 +2101,167 @@ msgstr "" "auf die du zugreifen kannst, und wie sie in Tk bezeichnet werden – das ist " "hilfreich, wenn du in den Tk-Man-Pages nachschlägst." -#: ../../library/tkinter.rst:900 +#: ../../library/tkinter.rst:966 msgid "Tkinter Event Field" msgstr "Tkinter-Ereignisfeld" -#: ../../library/tkinter.rst:902 +#: ../../library/tkinter.rst:968 msgid "%f" msgstr "%f" -#: ../../library/tkinter.rst:902 +#: ../../library/tkinter.rst:968 msgid "focus" msgstr "focus" -#: ../../library/tkinter.rst:902 +#: ../../library/tkinter.rst:968 msgid "%A" msgstr "%A" -#: ../../library/tkinter.rst:902 +#: ../../library/tkinter.rst:968 msgid "char" msgstr "char" -#: ../../library/tkinter.rst:904 +#: ../../library/tkinter.rst:970 msgid "%h" msgstr "%h" -#: ../../library/tkinter.rst:904 +#: ../../library/tkinter.rst:970 msgid "height" msgstr "height" -#: ../../library/tkinter.rst:904 +#: ../../library/tkinter.rst:970 msgid "%E" msgstr "%E" -#: ../../library/tkinter.rst:904 +#: ../../library/tkinter.rst:970 msgid "send_event" msgstr "send_event" -#: ../../library/tkinter.rst:906 +#: ../../library/tkinter.rst:972 msgid "%k" msgstr "%k" -#: ../../library/tkinter.rst:906 +#: ../../library/tkinter.rst:972 msgid "keycode" msgstr "keycode" -#: ../../library/tkinter.rst:906 +#: ../../library/tkinter.rst:972 msgid "%K" msgstr "%K" -#: ../../library/tkinter.rst:906 +#: ../../library/tkinter.rst:972 msgid "keysym" msgstr "keysym" -#: ../../library/tkinter.rst:908 +#: ../../library/tkinter.rst:974 msgid "%s" msgstr "%s" -#: ../../library/tkinter.rst:908 -msgid "state" -msgstr "state" - -#: ../../library/tkinter.rst:908 +#: ../../library/tkinter.rst:974 msgid "%N" msgstr "%N" -#: ../../library/tkinter.rst:908 +#: ../../library/tkinter.rst:974 msgid "keysym_num" msgstr "keysym_num" -#: ../../library/tkinter.rst:910 +#: ../../library/tkinter.rst:976 msgid "%t" msgstr "%t" -#: ../../library/tkinter.rst:910 +#: ../../library/tkinter.rst:976 msgid "time" msgstr "time" -#: ../../library/tkinter.rst:910 +#: ../../library/tkinter.rst:976 msgid "%T" msgstr "%T" -#: ../../library/tkinter.rst:910 +#: ../../library/tkinter.rst:976 msgid "type" msgstr "Typ" -#: ../../library/tkinter.rst:912 +#: ../../library/tkinter.rst:978 msgid "%w" msgstr "%w" -#: ../../library/tkinter.rst:912 +#: ../../library/tkinter.rst:978 msgid "width" msgstr "width" -#: ../../library/tkinter.rst:912 +#: ../../library/tkinter.rst:978 msgid "%W" msgstr "%W" -#: ../../library/tkinter.rst:912 +#: ../../library/tkinter.rst:978 msgid "widget" msgstr "widget" -#: ../../library/tkinter.rst:914 +#: ../../library/tkinter.rst:980 msgid "%x" msgstr "%x" -#: ../../library/tkinter.rst:914 +#: ../../library/tkinter.rst:980 msgid "x" msgstr "x" -#: ../../library/tkinter.rst:914 +#: ../../library/tkinter.rst:980 msgid "%X" msgstr "%X" -#: ../../library/tkinter.rst:914 +#: ../../library/tkinter.rst:980 msgid "x_root" msgstr "x_root" -#: ../../library/tkinter.rst:916 +#: ../../library/tkinter.rst:982 msgid "%y" msgstr "%y" -#: ../../library/tkinter.rst:916 +#: ../../library/tkinter.rst:982 msgid "y" msgstr "y" -#: ../../library/tkinter.rst:916 +#: ../../library/tkinter.rst:982 msgid "%Y" msgstr "%Y" -#: ../../library/tkinter.rst:916 +#: ../../library/tkinter.rst:982 msgid "y_root" msgstr "y_root" -#: ../../library/tkinter.rst:918 +#: ../../library/tkinter.rst:984 msgid "%#" msgstr "%#" -#: ../../library/tkinter.rst:918 +#: ../../library/tkinter.rst:984 msgid "serial" msgstr "serial" -#: ../../library/tkinter.rst:918 +#: ../../library/tkinter.rst:984 msgid "%b" msgstr "%b" -#: ../../library/tkinter.rst:918 +#: ../../library/tkinter.rst:984 msgid "num" msgstr "num" -#: ../../library/tkinter.rst:920 +#: ../../library/tkinter.rst:986 msgid "%d" msgstr "%d" -#: ../../library/tkinter.rst:920 +#: ../../library/tkinter.rst:986 msgid "detail" msgstr "detail" -#: ../../library/tkinter.rst:920 +#: ../../library/tkinter.rst:986 msgid "%D" msgstr "%D" -#: ../../library/tkinter.rst:920 +#: ../../library/tkinter.rst:986 msgid "delta" msgstr "delta" -#: ../../library/tkinter.rst:923 +#: ../../library/tkinter.rst:989 msgid "" "The ``add`` parameter above only affects the bindings you make yourself. " "Every widget also inherits *class bindings* that implement its standard " @@ -2213,7 +2276,7 @@ msgstr "" "zu den Bindungen auf der Tk-Man-Page des Widgets beschrieben (etwa :manpage:" "`text(3tk)` oder :manpage:`entry(3tk)`)." -#: ../../library/tkinter.rst:931 +#: ../../library/tkinter.rst:997 msgid "" "Class bindings are processed separately from your own, so binding an event " "yourself does not replace the default; both run. To suppress an unwanted " @@ -2225,11 +2288,11 @@ msgstr "" "unerwünschte Vorgabebindung zu unterdrücken, binde das Ereignis am Widget " "und gib aus deinem Callback die Zeichenkette ``\"break\"`` zurück." -#: ../../library/tkinter.rst:939 +#: ../../library/tkinter.rst:1005 msgid "The index parameter" msgstr "Der Parameter index" -#: ../../library/tkinter.rst:941 +#: ../../library/tkinter.rst:1007 msgid "" "A number of widgets require \"index\" parameters to be passed. These are " "used to point at a specific place in a Text widget, or to particular " @@ -2240,11 +2303,11 @@ msgstr "" "bestimmte Zeichen in einem Entry-Widget oder auf bestimmte Menüeinträge in " "einem Menu-Widget." -#: ../../library/tkinter.rst:945 +#: ../../library/tkinter.rst:1011 msgid "Entry widget indexes (index, view index, etc.)" msgstr "Indizes des Entry-Widgets (index, view index usw.)" -#: ../../library/tkinter.rst:946 +#: ../../library/tkinter.rst:1012 msgid "" "Entry widgets have methods and options that refer to character positions in " "the text being displayed. Anytime an index is needed, you may pass in:" @@ -2253,7 +2316,7 @@ msgstr "" "angezeigten Text beziehen. Wann immer ein Index gebraucht wird, kannst du " "Folgendes übergeben:" -#: ../../library/tkinter.rst:950 +#: ../../library/tkinter.rst:1016 msgid "" "an integer which refers to the numeric position of a character, counted from " "the beginning of the text, starting with 0;" @@ -2261,7 +2324,7 @@ msgstr "" "eine ganze Zahl, die auf die numerische Position eines Zeichens verweist, " "vom Textanfang an gezählt und bei 0 beginnend;" -#: ../../library/tkinter.rst:953 +#: ../../library/tkinter.rst:1019 msgid "" "the string ``\"anchor\"``, which refers to the anchor point of the " "selection, set with the widget's selection methods;" @@ -2269,7 +2332,7 @@ msgstr "" "die Zeichenkette ``\"anchor\"``, die auf den Ankerpunkt der Auswahl " "verweist, der mit den Auswahlmethoden des Widgets gesetzt wird;" -#: ../../library/tkinter.rst:957 +#: ../../library/tkinter.rst:1023 msgid "" "the string ``\"end\"``, which refers to the position just after the last " "character;" @@ -2277,7 +2340,7 @@ msgstr "" "die Zeichenkette ``\"end\"``, die auf die Position direkt nach dem letzten " "Zeichen verweist;" -#: ../../library/tkinter.rst:960 +#: ../../library/tkinter.rst:1026 msgid "" "the string ``\"insert\"``, which refers to the character just after the " "insertion cursor;" @@ -2285,7 +2348,7 @@ msgstr "" "die Zeichenkette ``\"insert\"``, die auf das Zeichen direkt nach der " "Einfügemarke verweist;" -#: ../../library/tkinter.rst:963 +#: ../../library/tkinter.rst:1029 msgid "" "the strings ``\"sel.first\"`` and ``\"sel.last\"``, which refer to the first " "character in the selection and the position just after the last (it is an " @@ -2295,7 +2358,7 @@ msgstr "" "Zeichen der Auswahl und auf die Position direkt nach dem letzten verweisen " "(ihre Verwendung ist ein Fehler, wenn es keine Auswahl gibt);" -#: ../../library/tkinter.rst:968 +#: ../../library/tkinter.rst:1034 msgid "" "a string consisting of ``@`` followed by an integer, as in ``\"@6\"``, where " "the integer is interpreted as an x pixel coordinate in the entry's " @@ -2305,11 +2368,11 @@ msgstr "" "wobei die Zahl als x-Pixelkoordinate im Koordinatensystem des Entry-Widgets " "gilt und das Zeichen an dieser Stelle auswählt." -#: ../../library/tkinter.rst:973 +#: ../../library/tkinter.rst:1039 msgid "Text widget indexes" msgstr "Indizes des Text-Widgets" -#: ../../library/tkinter.rst:974 +#: ../../library/tkinter.rst:1040 msgid "" "The index notation for Text widgets is very rich and is best described in " "the Tk man pages." @@ -2317,11 +2380,11 @@ msgstr "" "Die Indexschreibweise für Text-Widgets ist sehr umfangreich und wird am " "besten in den Tk-Man-Pages beschrieben." -#: ../../library/tkinter.rst:977 +#: ../../library/tkinter.rst:1043 msgid "Menu indexes (menu.invoke(), menu.entryconfig(), etc.)" msgstr "Menü-Indizes (menu.invoke(), menu.entryconfig() usw.)" -#: ../../library/tkinter.rst:978 +#: ../../library/tkinter.rst:1044 msgid "" "Some options and methods for menus manipulate specific menu entries. Anytime " "a menu index is needed for an option or a parameter, you may pass in:" @@ -2330,7 +2393,7 @@ msgstr "" "Wann immer ein Menü-Index für eine Option oder einen Parameter gebraucht " "wird, kannst du Folgendes übergeben:" -#: ../../library/tkinter.rst:981 +#: ../../library/tkinter.rst:1047 msgid "" "an integer which refers to the numeric position of the entry in the widget, " "counted from the top, starting with 0;" @@ -2338,7 +2401,7 @@ msgstr "" "eine ganze Zahl, die auf die numerische Position des Eintrags im Widget " "verweist, von oben gezählt und bei 0 beginnend;" -#: ../../library/tkinter.rst:984 +#: ../../library/tkinter.rst:1050 msgid "" "the string ``\"active\"``, which refers to the menu position that is " "currently under the cursor;" @@ -2346,12 +2409,12 @@ msgstr "" "die Zeichenkette ``\"active\"``, die auf die Menüposition verweist, die " "gerade unter dem Mauszeiger liegt;" -#: ../../library/tkinter.rst:987 +#: ../../library/tkinter.rst:1053 msgid "the string ``\"last\"`` which refers to the last menu item;" msgstr "" "die Zeichenkette ``\"last\"``, die auf den letzten Menüeintrag verweist;" -#: ../../library/tkinter.rst:989 +#: ../../library/tkinter.rst:1055 msgid "" "a string consisting of ``@`` followed by an integer, as in ``\"@6\"``, where " "the integer is interpreted as a y pixel coordinate in the menu's coordinate " @@ -2360,7 +2423,7 @@ msgstr "" "eine Zeichenkette aus ``@`` gefolgt von einer ganzen Zahl wie in ``\"@6\"``, " "wobei die Zahl als y-Pixelkoordinate im Koordinatensystem des Menüs gilt;" -#: ../../library/tkinter.rst:993 +#: ../../library/tkinter.rst:1059 msgid "" "the string ``\"none\"``, which indicates no menu entry at all, most often " "used with menu.activate() to deactivate all entries, and finally," @@ -2369,7 +2432,7 @@ msgstr "" "und meist mit menu.activate() verwendet wird, um alle Einträge zu " "deaktivieren, und schließlich" -#: ../../library/tkinter.rst:996 +#: ../../library/tkinter.rst:1062 msgid "" "a text string that is pattern matched against the label of the menu entry, " "as scanned from the top of the menu to the bottom. Note that this index " @@ -2383,11 +2446,11 @@ msgstr "" "Menüeinträge mit der Beschriftung ``last``, ``active`` oder ``none`` können " "daher stattdessen als die obigen Literale gedeutet werden." -#: ../../library/tkinter.rst:1004 +#: ../../library/tkinter.rst:1070 msgid "Images" msgstr "Bilder" -#: ../../library/tkinter.rst:1006 +#: ../../library/tkinter.rst:1072 msgid "" "Images of different formats can be created through the corresponding " "subclass of :class:`tkinter.Image`:" @@ -2395,11 +2458,11 @@ msgstr "" "Bilder verschiedener Formate lassen sich über die jeweilige Unterklasse von :" "class:`tkinter.Image` erzeugen:" -#: ../../library/tkinter.rst:1009 +#: ../../library/tkinter.rst:1075 msgid ":class:`BitmapImage` for images in XBM format." msgstr ":class:`BitmapImage` für Bilder im XBM-Format." -#: ../../library/tkinter.rst:1011 +#: ../../library/tkinter.rst:1077 msgid "" ":class:`PhotoImage` for images in PGM, PPM, GIF and PNG formats. The latter " "is supported starting with Tk 8.6." @@ -2407,7 +2470,7 @@ msgstr "" ":class:`PhotoImage` für Bilder in den Formaten PGM, PPM, GIF und PNG. " "Letzteres wird ab Tk 8.6 unterstützt." -#: ../../library/tkinter.rst:1014 +#: ../../library/tkinter.rst:1080 msgid "" "Either type of image is created through either the ``file`` or the ``data`` " "option (other options are available as well)." @@ -2415,7 +2478,7 @@ msgstr "" "Beide Bildarten werden über die Option ``file`` oder ``data`` erzeugt " "(weitere Optionen stehen ebenfalls zur Verfügung)." -#: ../../library/tkinter.rst:1017 +#: ../../library/tkinter.rst:1083 msgid "" "Added the :class:`!PhotoImage` method :meth:`!copy_replace` to copy a region " "from one image to other image, possibly with pixel zooming and/or " @@ -2430,7 +2493,7 @@ msgstr "" "class:`!PhotoImage` hinzugefügt. Die Parameter *zoom* und *subsample* wurden " "der Methode :meth:`!copy` von :class:`!PhotoImage` hinzugefügt." -#: ../../library/tkinter.rst:1026 +#: ../../library/tkinter.rst:1092 msgid "" "The image object can then be used wherever an ``image`` option is supported " "by some widget (for example, labels, buttons, menus). In these cases, Tk " @@ -2445,7 +2508,7 @@ msgstr "" "und Tk zeigt überall dort, wo das Bild verwendet wurde, ein leeres Kästchen " "an." -#: ../../library/tkinter.rst:1034 +#: ../../library/tkinter.rst:1100 msgid "" "The `Pillow `_ package adds support for formats " "such as BMP, JPEG, TIFF, and WebP, among others." @@ -2453,11 +2516,11 @@ msgstr "" "Das Paket `Pillow `_ ergänzt die Unterstützung " "für Formate wie BMP, JPEG, TIFF und WebP sowie weitere." -#: ../../library/tkinter.rst:1039 +#: ../../library/tkinter.rst:1105 msgid "Reference" msgstr "Referenz" -#: ../../library/tkinter.rst:1043 +#: ../../library/tkinter.rst:1109 msgid "" "This section documents the classes, methods, functions and constants of the :" "mod:`!tkinter` module. Most of them wrap Tcl/Tk commands; consult the " @@ -2469,7 +2532,7 @@ msgstr "" "Befehle. Die vollständige Liste der Widget-Optionen und weitere Einzelheiten " "stehen in den offiziellen Tcl/Tk-Man-Pages." -#: ../../library/tkinter.rst:1050 +#: ../../library/tkinter.rst:1116 msgid "" "The exception raised when a call into the Tcl interpreter fails, for example " "when a widget is given an unknown option or an invalid value." @@ -2478,11 +2541,11 @@ msgstr "" "fehlschlägt, zum Beispiel wenn einem Widget eine unbekannte Option oder ein " "ungültiger Wert übergeben wird." -#: ../../library/tkinter.rst:1054 +#: ../../library/tkinter.rst:1120 msgid "Base and mixin classes" msgstr "Basis- und Mixin-Klassen" -#: ../../library/tkinter.rst:1058 +#: ../../library/tkinter.rst:1124 msgid "" "The :class:`!Misc` class is a mix-in inherited by :class:`Tk` and, through :" "class:`BaseWidget`, by every widget. It provides the large set of methods " @@ -2503,7 +2566,7 @@ msgstr "" "Widget und am Anwendungsobjekt :class:`Tk` zur Verfügung und werden hier " "einmal dokumentiert, statt bei jedem Widget wiederholt zu werden." -#: ../../library/tkinter.rst:1070 +#: ../../library/tkinter.rst:1136 msgid "" "Return the current value of the configuration option named *key* for this " "widget, as a string. The expression ``widget[key]`` is equivalent and may be " @@ -2513,7 +2576,7 @@ msgstr "" "Zeichenkette zurück. Der Ausdruck ``widget[key]`` ist gleichwertig und kann " "stattdessen verwendet werden." -#: ../../library/tkinter.rst:1079 +#: ../../library/tkinter.rst:1145 msgid "" "Query or modify the configuration options of the widget. With no arguments, " "return a dictionary mapping every available option name to a tuple " @@ -2534,28 +2597,29 @@ msgstr "" "Option auf den zugehörigen Wert gesetzt. Der Ausdruck ``widget[key] = " "value`` setzt eine einzelne Option auf dieselbe Weise." -#: ../../library/tkinter.rst:1089 +#: ../../library/tkinter.rst:1155 msgid ":meth:`config` is an alias of :meth:`!configure`." msgstr ":meth:`config` ist ein Alias von :meth:`!configure`." -#: ../../library/tkinter.rst:1093 +#: ../../library/tkinter.rst:1159 msgid "Return a list of the names of all configuration options of this widget." msgstr "" "Gibt eine Liste der Namen aller Konfigurationsoptionen dieses Widgets zurück." -#: ../../library/tkinter.rst:1097 +#: ../../library/tkinter.rst:1163 +#, fuzzy msgid "" "Interpret the string *s* as a Tcl boolean and return the corresponding :" "class:`bool`. Tcl accepts values such as ``'1'``, ``'0'``, ``'yes'``, " -"``'no'``, ``'true'`` and ``'false'``. Raise :exc:`ValueError` if *s* is not " -"a valid boolean." +"``'no'``, ``'true'``, ``'false'``, ``'on'`` and ``'off'``. Raise :exc:" +"`ValueError` if *s* is not a valid boolean." msgstr "" "Deutet die Zeichenkette *s* als Tcl-Wahrheitswert und gibt den " "entsprechenden :class:`bool` zurück. Tcl akzeptiert Werte wie ``'1'``, " "``'0'``, ``'yes'``, ``'no'``, ``'true'`` und ``'false'``. Löst :exc:" "`ValueError` aus, wenn *s* kein gültiger Wahrheitswert ist." -#: ../../library/tkinter.rst:1105 +#: ../../library/tkinter.rst:1171 msgid "" "Interpret the string *s* as a Tcl floating-point number and return it as a :" "class:`float`. Raise :exc:`ValueError` if *s* is not a valid number." @@ -2563,7 +2627,7 @@ msgstr "" "Deutet die Zeichenkette *s* als Tcl-Gleitkommazahl und gibt sie als :class:" "`float` zurück. Löst :exc:`ValueError` aus, wenn *s* keine gültige Zahl ist." -#: ../../library/tkinter.rst:1114 +#: ../../library/tkinter.rst:1180 msgid "" "Interpret the string *s* as a Tcl integer and return it as an :class:`int`. " "Raise :exc:`ValueError` if *s* is not a valid integer." @@ -2571,15 +2635,15 @@ msgstr "" "Deutet die Zeichenkette *s* als Tcl-Ganzzahl und gibt sie als :class:`int` " "zurück. Löst :exc:`ValueError` aus, wenn *s* keine gültige ganze Zahl ist." -#: ../../library/tkinter.rst:1120 +#: ../../library/tkinter.rst:1186 msgid "Return the value of the Tcl global variable named *name*." msgstr "Gibt den Wert der globalen Tcl-Variablen *name* zurück." -#: ../../library/tkinter.rst:1124 +#: ../../library/tkinter.rst:1190 msgid "Set the Tcl global variable named *name* to *value*." msgstr "Setzt die globale Tcl-Variable *name* auf *value*." -#: ../../library/tkinter.rst:1126 +#: ../../library/tkinter.rst:1192 msgid "" "The :meth:`!getvar` and :meth:`!setvar` methods give direct access to Tcl " "variables. In most code you will instead use a :class:`Variable` subclass " @@ -2591,7 +2655,7 @@ msgstr "" "`Variable`-Unterklasse wie :class:`StringVar` oder :class:`IntVar`, die eine " "Tcl-Variable kapselt und ihren Wert in einen Python-Typ und zurück umwandelt." -#: ../../library/tkinter.rst:1134 +#: ../../library/tkinter.rst:1200 msgid "" "Register the Python callable *func* as a Tcl command and return the name of " "the new command as a string. Whenever Tcl invokes that command, *func* is " @@ -2608,13 +2672,13 @@ msgstr "" "*command* übergeben werden. Sofern *needcleanup* nicht falsch ist, wird der " "Befehl automatisch gelöscht, wenn das Widget zerstört wird." -#: ../../library/tkinter.rst:1143 +#: ../../library/tkinter.rst:1209 msgid "The arguments passed to *func* are no longer converted to strings." msgstr "" "Die an *func* übergebenen Argumente werden nicht mehr in Zeichenketten " "umgewandelt." -#: ../../library/tkinter.rst:1148 +#: ../../library/tkinter.rst:1214 msgid "" "Delete the Tcl command named *name*, such as one previously returned by :" "meth:`register`." @@ -2622,11 +2686,11 @@ msgstr "" "Löscht den Tcl-Befehl *name*, etwa einen zuvor von :meth:`register` " "zurückgegebenen." -#: ../../library/tkinter.rst:1153 +#: ../../library/tkinter.rst:1219 msgid "Return the widget instance corresponding to the Tk pathname *name*." msgstr "Gibt die Widget-Instanz zurück, die zum Tk-Pfadnamen *name* gehört." -#: ../../library/tkinter.rst:1157 +#: ../../library/tkinter.rst:1223 msgid "" "Send the Tcl command *cmd*, with the given *args*, to the Tcl interpreter " "registered under the name *interp*, and return its result. This is not " @@ -2636,7 +2700,7 @@ msgstr "" "Namen *interp* registrierten Tcl-Interpreter und gibt dessen Ergebnis " "zurück. Das ist nicht auf allen Plattformen verfügbar." -#: ../../library/tkinter.rst:1163 +#: ../../library/tkinter.rst:1229 msgid "" "Destroy this widget and all of its descendant widgets, and delete the Tcl " "commands associated with them." @@ -2644,7 +2708,7 @@ msgstr "" "Zerstört dieses Widget und alle seine Nachfahren-Widgets und löscht die " "zugehörigen Tcl-Befehle." -#: ../../library/tkinter.rst:1171 +#: ../../library/tkinter.rst:1237 msgid "" "Raise this widget in the stacking order so that it is drawn on top of its " "siblings. If *aboveThis* is given, the widget is moved to be just above it " @@ -2654,11 +2718,11 @@ msgstr "" "Geschwistern gezeichnet wird. Ist *aboveThis* angegeben, wird das Widget " "stattdessen direkt darüber in die Stapelreihenfolge einsortiert." -#: ../../library/tkinter.rst:1176 +#: ../../library/tkinter.rst:1242 msgid ":meth:`lift` is an alias of :meth:`!tkraise`." msgstr ":meth:`lift` ist ein Alias von :meth:`!tkraise`." -#: ../../library/tkinter.rst:1180 +#: ../../library/tkinter.rst:1246 msgid "" "Lower this widget in the stacking order so that it is drawn beneath its " "siblings. If *belowThis* is given, the widget is moved to be just below it " @@ -2668,7 +2732,7 @@ msgstr "" "Geschwistern gezeichnet wird. Ist *belowThis* angegeben, wird das Widget " "stattdessen direkt darunter in die Stapelreihenfolge einsortiert." -#: ../../library/tkinter.rst:1185 +#: ../../library/tkinter.rst:1251 msgid "" ":meth:`tkraise`/:meth:`lift` and :meth:`lower` are overridden by the :class:" "`Canvas` widget, where they restack canvas items instead." @@ -2676,14 +2740,14 @@ msgstr "" ":meth:`tkraise`/:meth:`lift` und :meth:`lower` werden vom Widget :class:" "`Canvas` überschrieben, wo sie stattdessen die Canvas-Objekte umstapeln." -#: ../../library/tkinter.rst:1191 +#: ../../library/tkinter.rst:1257 msgid "" "Return the names of all images that currently exist in the Tcl interpreter." msgstr "" "Gibt die Namen aller Bilder zurück, die derzeit im Tcl-Interpreter " "existieren." -#: ../../library/tkinter.rst:1194 +#: ../../library/tkinter.rst:1260 msgid "" "This is overridden by the :class:`Text` widget, where :meth:`!image_names` " "returns the names of its embedded images instead." @@ -2691,12 +2755,12 @@ msgstr "" "Dies wird vom Widget :class:`Text` überschrieben, wo :meth:`!image_names` " "stattdessen die Namen seiner eingebetteten Bilder zurückgibt." -#: ../../library/tkinter.rst:1200 +#: ../../library/tkinter.rst:1266 msgid "Return the available image types, such as ``'photo'`` and ``'bitmap'``." msgstr "" "Gibt die verfügbaren Bildtypen zurück, etwa ``'photo'`` und ``'bitmap'``." -#: ../../library/tkinter.rst:1207 +#: ../../library/tkinter.rst:1273 msgid "" "Set the anchor that controls where the grid is placed inside this container " "when the container is larger than the grid and no row or column has a non-" @@ -2710,11 +2774,11 @@ msgstr "" "üblichen Ankerzeichenketten, etwa ``'nw'`` (die Vorgabe) oder ``'center'``. " "Ohne Argument aufgerufen hat diese Methode keine Wirkung." -#: ../../library/tkinter.rst:1214 +#: ../../library/tkinter.rst:1280 msgid ":meth:`anchor` is an alias of :meth:`!grid_anchor`." msgstr ":meth:`anchor` ist ein Alias von :meth:`!grid_anchor`." -#: ../../library/tkinter.rst:1223 +#: ../../library/tkinter.rst:1289 msgid "" "Return the bounding box, in pixels, of a region of the grid laid out in this " "container, as a 4-tuple ``(xoffset, yoffset, width, height)``. With no " @@ -2731,7 +2795,7 @@ msgstr "" "*row2* angegeben, reicht er von der Zelle (*column*, *row*) bis zur Zelle " "(*col2*, *row2*)." -#: ../../library/tkinter.rst:1230 +#: ../../library/tkinter.rst:1296 msgid "" ":meth:`bbox` is an alias of :meth:`!grid_bbox`, except on :class:`Canvas`, :" "class:`Listbox`, :class:`Spinbox`, :class:`Text`, :class:`ttk.Entry ` und :class:`ttk.Treeview `, " "die eine eigene Methode :meth:`!bbox` bereitstellen." -#: ../../library/tkinter.rst:1241 +#: ../../library/tkinter.rst:1307 msgid "" "Query or set the properties of the column (or columns) *index* of the grid " "managed by this container. *index* may be a column number; when setting " @@ -2758,19 +2822,19 @@ msgstr "" "oder ein Kind-Widget, dessen belegte Spalten betroffen sind. Unterstützt " "werden diese Optionen:" -#: ../../library/tkinter.rst:1248 +#: ../../library/tkinter.rst:1314 msgid "*minsize*" msgstr "*minsize*" -#: ../../library/tkinter.rst:1249 +#: ../../library/tkinter.rst:1315 msgid "The column's minimum size, in pixels." msgstr "Die Mindestgröße der Spalte in Pixeln." -#: ../../library/tkinter.rst:1251 +#: ../../library/tkinter.rst:1317 msgid "*weight*" msgstr "*weight*" -#: ../../library/tkinter.rst:1252 +#: ../../library/tkinter.rst:1318 msgid "" "An integer setting how much of any extra space is apportioned to the column. " "A weight of ``0`` keeps the column at its requested size, and a column of " @@ -2781,11 +2845,11 @@ msgstr "" "angeforderten Größe, und eine Spalte mit Gewicht zwei wächst doppelt so " "schnell wie eine Spalte mit Gewicht eins." -#: ../../library/tkinter.rst:1257 +#: ../../library/tkinter.rst:1323 msgid "*uniform*" msgstr "*uniform*" -#: ../../library/tkinter.rst:1258 +#: ../../library/tkinter.rst:1324 msgid "" "The name of a uniform group. Columns sharing a non-empty group name are kept " "in sizes that are strictly proportional to their weights." @@ -2794,11 +2858,11 @@ msgstr "" "teilen, werden in Größen gehalten, die strikt proportional zu ihren " "Gewichten sind." -#: ../../library/tkinter.rst:1262 +#: ../../library/tkinter.rst:1328 msgid "*pad*" msgstr "*pad*" -#: ../../library/tkinter.rst:1263 +#: ../../library/tkinter.rst:1329 msgid "" "Extra space, in pixels, added to the largest widget in the column when " "computing the column's size." @@ -2806,7 +2870,7 @@ msgstr "" "Zusätzlicher Platz in Pixeln, der dem größten Widget der Spalte bei der " "Berechnung der Spaltengröße hinzugefügt wird." -#: ../../library/tkinter.rst:1266 +#: ../../library/tkinter.rst:1332 msgid "" "With a single option name, return that option's value; with no options, " "return a dictionary of all of them." @@ -2814,12 +2878,12 @@ msgstr "" "Mit einem einzelnen Optionsnamen wird der Wert dieser Option zurückgegeben, " "ohne Optionen ein Dictionary mit allen." -#: ../../library/tkinter.rst:1269 +#: ../../library/tkinter.rst:1335 msgid ":meth:`columnconfigure` is an alias of :meth:`!grid_columnconfigure`." msgstr "" ":meth:`columnconfigure` ist ein Alias von :meth:`!grid_columnconfigure`." -#: ../../library/tkinter.rst:1276 +#: ../../library/tkinter.rst:1342 msgid "" "Query or set the properties of the row (or rows) *index* of the grid managed " "by this container. *index* is interpreted as for :meth:" @@ -2832,11 +2896,11 @@ msgstr "" "*weight*, *uniform* und *pad*) sind dieselben, nur auf eine Zeile statt auf " "eine Spalte angewendet." -#: ../../library/tkinter.rst:1282 +#: ../../library/tkinter.rst:1348 msgid ":meth:`rowconfigure` is an alias of :meth:`!grid_rowconfigure`." msgstr ":meth:`rowconfigure` ist ein Alias von :meth:`!grid_rowconfigure`." -#: ../../library/tkinter.rst:1286 +#: ../../library/tkinter.rst:1352 msgid "" "Return the ``(column, row)`` of the grid cell that contains the pixel at " "position (*x*, *y*), given in pixels relative to this container. For " @@ -2848,7 +2912,7 @@ msgstr "" "Stellen oberhalb oder links des Grids wird für die jeweilige Koordinate " "``-1`` zurückgegeben." -#: ../../library/tkinter.rst:1294 +#: ../../library/tkinter.rst:1360 msgid "" "Enable or disable geometry propagation for this container when it manages " "its children with the grid geometry manager. When *flag* is true, the " @@ -2862,7 +2926,7 @@ msgstr "" "es falsch, bleibt seine Größe unter deiner Kontrolle. Ohne Argument " "aufgerufen wird die aktuelle Einstellung als Wahrheitswert zurückgegeben." -#: ../../library/tkinter.rst:1306 +#: ../../library/tkinter.rst:1372 msgid "" "Return the size of the grid managed by this container as a ``(columns, " "rows)`` tuple." @@ -2870,7 +2934,7 @@ msgstr "" "Gibt die Größe des von diesem Container verwalteten Grids als Tupel " "``(columns, rows)`` zurück." -#: ../../library/tkinter.rst:1309 +#: ../../library/tkinter.rst:1375 msgid "" ":meth:`size` is an alias of :meth:`!grid_size`, except on the :class:" "`Listbox` widget, which provides its own :meth:`!size` method." @@ -2878,7 +2942,7 @@ msgstr "" ":meth:`size` ist ein Alias von :meth:`!grid_size`, außer beim Widget :class:" "`Listbox`, das eine eigene Methode :meth:`!size` bereitstellt." -#: ../../library/tkinter.rst:1315 +#: ../../library/tkinter.rst:1381 msgid "" "Return a list of the child widgets managed in this container's grid, most " "recently managed first. If *row* or *column* is given, only the children in " @@ -2888,7 +2952,7 @@ msgstr "" "verwaltet werden, zuletzt verwaltete zuerst. Sind *row* oder *column* " "angegeben, werden nur die Kinder dieser Zeile oder Spalte zurückgegeben." -#: ../../library/tkinter.rst:1327 +#: ../../library/tkinter.rst:1393 msgid "" "Enable or disable geometry propagation for this container when it manages " "its children with the pack geometry manager. When *flag* is true, the " @@ -2902,11 +2966,11 @@ msgstr "" "es falsch, bleibt seine Größe unter deiner Kontrolle. Ohne Argument " "aufgerufen wird die aktuelle Einstellung als Wahrheitswert zurückgegeben." -#: ../../library/tkinter.rst:1334 +#: ../../library/tkinter.rst:1400 msgid ":meth:`propagate` is an alias of :meth:`!pack_propagate`." msgstr ":meth:`propagate` ist ein Alias von :meth:`!pack_propagate`." -#: ../../library/tkinter.rst:1341 +#: ../../library/tkinter.rst:1407 msgid "" "Return a list of the child widgets managed by this container with the pack " "geometry manager, in packing order." @@ -2914,11 +2978,11 @@ msgstr "" "Gibt eine Liste der Kind-Widgets zurück, die dieser Container mit dem " "Geometriemanager pack verwaltet, in der Reihenfolge des Packens." -#: ../../library/tkinter.rst:1344 +#: ../../library/tkinter.rst:1410 msgid ":meth:`slaves` is an alias of :meth:`!pack_slaves`." msgstr ":meth:`slaves` ist ein Alias von :meth:`!pack_slaves`." -#: ../../library/tkinter.rst:1348 +#: ../../library/tkinter.rst:1414 msgid "" "Return a list of the child widgets managed by this container with the place " "geometry manager." @@ -2926,14 +2990,14 @@ msgstr "" "Gibt eine Liste der Kind-Widgets zurück, die dieser Container mit dem " "Geometriemanager place verwaltet." -#: ../../library/tkinter.rst:1353 +#: ../../library/tkinter.rst:1419 msgid "" "Bind the event pattern *sequence* on this widget to the callable *func*." msgstr "" "Bindet das Ereignismuster *sequence* an diesem Widget an das aufrufbare " "Objekt *func*." -#: ../../library/tkinter.rst:1355 +#: ../../library/tkinter.rst:1421 msgid "" "*sequence* is an event pattern, such as ``''`` (a mouse click) or " "``''``, optionally a concatenation of several such patterns that " @@ -2949,7 +3013,7 @@ msgstr "" "beschreibt. Gibt *func* die Zeichenkette ``'break'`` zurück, werden keine " "weiteren Bindungen für das Ereignis aufgerufen." -#: ../../library/tkinter.rst:1362 +#: ../../library/tkinter.rst:1428 msgid "" "If *add* is true, *func* is added to any functions already bound to " "*sequence*; otherwise it replaces them. The binding applies only to this " @@ -2959,7 +3023,7 @@ msgstr "" "Funktionen hinzugefügt, andernfalls ersetzt es sie. Die Bindung gilt nur für " "dieses Widget." -#: ../../library/tkinter.rst:1366 +#: ../../library/tkinter.rst:1432 msgid "" ":meth:`!bind` returns a string identifier (a *funcid*) that can later be " "passed to :meth:`unbind` to remove the binding without leaking the " @@ -2969,7 +3033,7 @@ msgstr "" "der später an :meth:`unbind` übergeben werden kann, um die Bindung zu lösen, " "ohne den zugehörigen Tcl-Befehl zurückzulassen." -#: ../../library/tkinter.rst:1370 +#: ../../library/tkinter.rst:1436 msgid "" "If *func* is omitted, return the binding currently associated with " "*sequence*; if *sequence* is also omitted, return a list of all the " @@ -2979,7 +3043,7 @@ msgstr "" "zurückgegeben. Wird auch *sequence* weggelassen, erhältst du eine Liste " "aller Sequenzen, für die an diesem Widget Bindungen bestehen." -#: ../../library/tkinter.rst:1376 +#: ../../library/tkinter.rst:1442 msgid "" "Like :meth:`bind`, but bind *func* to the binding tag *className* rather " "than to a single widget, so that the binding applies to every widget having " @@ -2995,11 +3059,11 @@ msgstr "" "Bindungs-Tags eines Widgets lassen sich mit :meth:`bindtags` einsehen und " "ändern." -#: ../../library/tkinter.rst:1384 ../../library/tkinter.rst:1391 +#: ../../library/tkinter.rst:1450 ../../library/tkinter.rst:1457 msgid "The remaining arguments and the return value are as for :meth:`bind`." msgstr "Die übrigen Argumente und der Rückgabewert sind wie bei :meth:`bind`." -#: ../../library/tkinter.rst:1388 +#: ../../library/tkinter.rst:1454 msgid "" "Like :meth:`bind`, but bind *func* to the special binding tag ``'all'``, so " "that the binding applies to every widget in the application." @@ -3007,11 +3071,11 @@ msgstr "" "Wie :meth:`bind`, bindet *func* aber an das besondere Bindungs-Tag " "``'all'``, sodass die Bindung für jedes Widget der Anwendung gilt." -#: ../../library/tkinter.rst:1395 +#: ../../library/tkinter.rst:1461 msgid "Remove bindings for the event pattern *sequence* on this widget." msgstr "Entfernt Bindungen für das Ereignismuster *sequence* an diesem Widget." -#: ../../library/tkinter.rst:1397 +#: ../../library/tkinter.rst:1463 msgid "" "If *funcid* is given, only the function identified by it (a value returned " "from a previous call to :meth:`bind`) is removed, and its associated Tcl " @@ -3023,7 +3087,7 @@ msgstr "" "Tcl-Befehl wird gelöscht. Andernfalls werden alle Bindungen für *sequence* " "zerstört, sodass es ungebunden bleibt." -#: ../../library/tkinter.rst:1402 +#: ../../library/tkinter.rst:1468 msgid "" "If *funcid* is given, only that callback is unbound; other callbacks bound " "to *sequence* are kept." @@ -3031,7 +3095,7 @@ msgstr "" "Ist *funcid* angegeben, wird nur dieser Callback gelöst, andere an " "*sequence* gebundene Callbacks bleiben erhalten." -#: ../../library/tkinter.rst:1409 +#: ../../library/tkinter.rst:1475 msgid "" "Remove all bindings for the event pattern *sequence* from the binding tag " "*className*. See :meth:`bind_class`." @@ -3039,7 +3103,7 @@ msgstr "" "Entfernt alle Bindungen für das Ereignismuster *sequence* vom Bindungs-Tag " "*className*. Siehe :meth:`bind_class`." -#: ../../library/tkinter.rst:1415 +#: ../../library/tkinter.rst:1481 msgid "" "Remove all bindings for the event pattern *sequence* from the special " "binding tag ``'all'``. See :meth:`bind_all`." @@ -3047,7 +3111,7 @@ msgstr "" "Entfernt alle Bindungen für das Ereignismuster *sequence* vom besonderen " "Bindungs-Tag ``'all'``. Siehe :meth:`bind_all`." -#: ../../library/tkinter.rst:1421 +#: ../../library/tkinter.rst:1487 msgid "" "If *tagList* is omitted, return a tuple of the binding tags associated with " "this widget. When an event occurs in a widget, it is applied to each of the " @@ -3063,7 +3127,7 @@ msgstr "" "Bindungs-Tags: seinen eigenen Pfadnamen, seine Widget-Klasse, den Pfadnamen " "seines nächsten Toplevel-Vorfahren und ``'all'``, in dieser Reihenfolge." -#: ../../library/tkinter.rst:1430 +#: ../../library/tkinter.rst:1496 msgid "" "If *tagList* is given, it must be a sequence of strings; the widget's " "binding tags are set to its elements, which determines the order in which " @@ -3073,7 +3137,7 @@ msgstr "" "Bindungs-Tags des Widgets werden auf deren Elemente gesetzt, was die " "Reihenfolge bestimmt, in der Bindungen ausgewertet werden." -#: ../../library/tkinter.rst:1434 +#: ../../library/tkinter.rst:1500 msgid "" "The methods with the ``event_`` prefix define virtual events and generate " "events programmatically." @@ -3081,7 +3145,7 @@ msgstr "" "Die Methoden mit dem Präfix ``event_`` definieren virtuelle Ereignisse und " "erzeugen Ereignisse programmgesteuert." -#: ../../library/tkinter.rst:1439 +#: ../../library/tkinter.rst:1505 msgid "" "Associate the virtual event *virtual*, whose name has the form " "``'<>'``, with each of the physical event patterns given by " @@ -3095,7 +3159,7 @@ msgstr "" "davon eintritt. Ist *virtual* bereits definiert, werden die neuen Sequenzen " "zu den vorhandenen hinzugefügt." -#: ../../library/tkinter.rst:1448 +#: ../../library/tkinter.rst:1514 msgid "" "Remove each of *sequences* from those associated with the virtual event " "*virtual*. Sequences that are not currently associated with *virtual* are " @@ -3108,7 +3172,7 @@ msgstr "" "physischen Ereignissequenzen entfernt, sodass *virtual* nicht mehr ausgelöst " "wird." -#: ../../library/tkinter.rst:1456 +#: ../../library/tkinter.rst:1522 msgid "" "Generate the event *sequence* on this widget and arrange for it to be " "processed just as if it had come from the window system. *sequence* must be " @@ -3126,7 +3190,7 @@ msgstr "" "Zeigerposition oder *when*, um zu steuern, wann das Ereignis verarbeitet " "wird. Die vollständige Liste steht auf der Tk-Man-Page ``event``." -#: ../../library/tkinter.rst:1466 +#: ../../library/tkinter.rst:1532 msgid "" "If *virtual* is omitted, return a tuple of all the virtual events that are " "currently defined. If *virtual* is given, return a tuple of the physical " @@ -3138,7 +3202,7 @@ msgstr "" "derzeit damit verknüpften physischen Ereignissequenzen, oder ein leeres " "Tupel, wenn es nicht definiert ist." -#: ../../library/tkinter.rst:1471 +#: ../../library/tkinter.rst:1537 msgid "" "The methods with the ``after`` prefix schedule callbacks to run after a " "delay or when the application is idle." @@ -3146,7 +3210,7 @@ msgstr "" "Die Methoden mit dem Präfix ``after`` planen Callbacks, die nach einer " "Verzögerung oder im Leerlauf der Anwendung laufen." -#: ../../library/tkinter.rst:1476 +#: ../../library/tkinter.rst:1542 msgid "" "Schedule the callable *func* to be called after *ms* milliseconds, with " "*args* and *kw* passed to it as positional and keyword arguments. Return an " @@ -3157,7 +3221,7 @@ msgstr "" "werden. Gibt einen Bezeichner zurück, der an :meth:`after_cancel` übergeben " "werden kann, um den Aufruf abzubrechen." -#: ../../library/tkinter.rst:1481 +#: ../../library/tkinter.rst:1547 msgid "" "If *func* is omitted, sleep for *ms* milliseconds instead, processing no " "events during that time, and return ``None``." @@ -3165,17 +3229,17 @@ msgstr "" "Wird *func* weggelassen, wird stattdessen *ms* Millisekunden lang pausiert, " "ohne in dieser Zeit Ereignisse zu verarbeiten, und ``None`` zurückgegeben." -#: ../../library/tkinter.rst:1484 +#: ../../library/tkinter.rst:1550 msgid "*func* can now be any callable object, not only a function." msgstr "" "*func* kann jetzt ein beliebiges aufrufbares Objekt sein, nicht nur eine " "Funktion." -#: ../../library/tkinter.rst:1487 ../../library/tkinter.rst:1512 +#: ../../library/tkinter.rst:1553 ../../library/tkinter.rst:1578 msgid "Keyword arguments are now passed to *func*." msgstr "Schlüsselwortargumente werden jetzt an *func* übergeben." -#: ../../library/tkinter.rst:1493 +#: ../../library/tkinter.rst:1559 msgid "" "Cancel a callback previously scheduled with :meth:`after` or :meth:" "`after_idle`. *id* must be an identifier returned by one of those methods; " @@ -3188,14 +3252,14 @@ msgstr "" "`ValueError` aus. Ist der Callback bereits gelaufen oder abgebrochen worden, " "hat dies keine Wirkung." -#: ../../library/tkinter.rst:1499 +#: ../../library/tkinter.rst:1565 msgid "" "Passing ``None`` (or any false value) as *id* now raises :exc:`ValueError`." msgstr "" "Die Übergabe von ``None`` (oder einem beliebigen falschen Wert) als *id* " "löst jetzt :exc:`ValueError` aus." -#: ../../library/tkinter.rst:1506 +#: ../../library/tkinter.rst:1572 msgid "" "Schedule the callable *func* to be called, with *args* and *kw* passed to " "it, when the Tk main loop next becomes idle, that is, when it has no other " @@ -3208,7 +3272,7 @@ msgstr "" "einen Bezeichner zurück, der an :meth:`after_cancel` übergeben werden kann, " "um den Aufruf abzubrechen." -#: ../../library/tkinter.rst:1518 +#: ../../library/tkinter.rst:1584 msgid "" "If *id* is omitted, return a tuple of the identifiers of all callbacks " "currently scheduled with :meth:`after` and :meth:`after_idle` for this " @@ -3218,7 +3282,7 @@ msgstr "" "zurückgegeben, die derzeit mit :meth:`after` und :meth:`after_idle` für " "diesen Interpreter geplant sind." -#: ../../library/tkinter.rst:1522 +#: ../../library/tkinter.rst:1588 msgid "" "If *id* is given, it must identify a callback that has not yet run or been " "cancelled, and the return value is a tuple ``(script, type)``, where " @@ -3231,7 +3295,7 @@ msgstr "" "verweist und *type* entweder ``'idle'`` oder ``'timer'`` ist. Existiert *id* " "nicht, wird :exc:`TclError` ausgelöst." -#: ../../library/tkinter.rst:1533 +#: ../../library/tkinter.rst:1599 msgid "" "Enter the Tk event loop, which processes events until all windows are " "destroyed. This is normally called once, on the root window, to run the " @@ -3241,11 +3305,11 @@ msgstr "" "Fenster zerstört sind. Dies wird üblicherweise einmal auf dem Root-Fenster " "aufgerufen, um die Anwendung auszuführen." -#: ../../library/tkinter.rst:1539 +#: ../../library/tkinter.rst:1605 msgid "Quit the Tcl interpreter, causing :meth:`mainloop` to return." msgstr "Beendet den Tcl-Interpreter, wodurch :meth:`mainloop` zurückkehrt." -#: ../../library/tkinter.rst:1543 +#: ../../library/tkinter.rst:1609 msgid "" "Enter the event loop until all pending events, including idle callbacks, " "have been processed. This brings the display up to date and handles any " @@ -3256,7 +3320,7 @@ msgstr "" "Anzeige auf den neuesten Stand und behandelt alle bereits eingereihten " "Ereignisse, dann kehrt es zurück." -#: ../../library/tkinter.rst:1550 +#: ../../library/tkinter.rst:1616 msgid "" "Enter the event loop until all pending idle callbacks have been called. This " "updates the display of windows, for example after geometry changes, but does " @@ -3267,7 +3331,7 @@ msgstr "" "Geometrieänderungen, verarbeitet aber keine vom Benutzer ausgelösten " "Ereignisse." -#: ../../library/tkinter.rst:1559 +#: ../../library/tkinter.rst:1625 msgid "" "Wait until the Tcl variable *name* is modified, continuing to process events " "in the meantime so that the application stays responsive. *name* is usually " @@ -3279,11 +3343,11 @@ msgstr "" "*name* ist üblicherweise eine :class:`Variable`-Instanz wie eine :class:" "`IntVar` oder :class:`StringVar`." -#: ../../library/tkinter.rst:1564 +#: ../../library/tkinter.rst:1630 msgid ":meth:`waitvar` is an alias of :meth:`!wait_variable`." msgstr ":meth:`waitvar` ist ein Alias von :meth:`!wait_variable`." -#: ../../library/tkinter.rst:1568 +#: ../../library/tkinter.rst:1634 msgid "" "Wait until *window* is destroyed, continuing to process events in the " "meantime. If *window* is omitted, this widget is used. This is typically " @@ -3293,7 +3357,7 @@ msgstr "" "Ereignisse. Wird *window* weggelassen, wird dieses Widget verwendet. " "Üblicherweise wartet man damit, bis der Benutzer einen Dialog beendet hat." -#: ../../library/tkinter.rst:1576 +#: ../../library/tkinter.rst:1642 msgid "" "Wait until the visibility state of *window* changes, for example when it " "first appears on the screen, continuing to process events in the meantime. " @@ -3306,11 +3370,11 @@ msgstr "" "Üblicherweise wartet man damit, bis ein neu erzeugtes Fenster sichtbar ist, " "bevor man darauf zugreift." -#: ../../library/tkinter.rst:1583 +#: ../../library/tkinter.rst:1649 msgid "The methods with the ``focus_`` prefix manage the keyboard focus." msgstr "Die Methoden mit dem Präfix ``focus_`` verwalten den Tastaturfokus." -#: ../../library/tkinter.rst:1590 +#: ../../library/tkinter.rst:1656 msgid "" "Direct the keyboard input focus for this widget's display to this widget. If " "the application does not currently have the input focus on this widget's " @@ -3328,7 +3392,7 @@ msgstr "" "außer bei den Widgets :class:`Canvas` und :class:`ttk.Treeview `, die eine eigene Methode :meth:`!focus` bereitstellen." -#: ../../library/tkinter.rst:1602 +#: ../../library/tkinter.rst:1668 msgid "" "Direct the keyboard input focus to this widget even if the application does " "not currently have the input focus for the widget's display. This method " @@ -3341,7 +3405,7 @@ msgstr "" "eine Anwendung warten, bis der Fenstermanager ihr den Fokus gibt, statt ihn " "zu beanspruchen." -#: ../../library/tkinter.rst:1610 +#: ../../library/tkinter.rst:1676 msgid "" "Return the widget that currently has the keyboard focus in the application, " "or ``None`` if no widget in the application has the focus. Use :meth:" @@ -3351,7 +3415,7 @@ msgstr "" "oder ``None``, wenn kein Widget der Anwendung den Fokus hat. Verwende :meth:" "`focus_displayof`, um bei mehreren Anzeigen korrekt zu arbeiten." -#: ../../library/tkinter.rst:1616 +#: ../../library/tkinter.rst:1682 msgid "" "Return the widget that currently has the keyboard focus on the display where " "this widget is located, or ``None`` if no widget in the application has the " @@ -3361,7 +3425,7 @@ msgstr "" "befindet, derzeit den Tastaturfokus hat, oder ``None``, wenn kein Widget der " "Anwendung auf dieser Anzeige den Fokus hat." -#: ../../library/tkinter.rst:1622 +#: ../../library/tkinter.rst:1688 msgid "" "Return the most recent widget to have had the keyboard focus among all the " "widgets in the same top level as this widget; this is the widget that will " @@ -3375,7 +3439,7 @@ msgstr "" "ein Widget dieses Toplevels den Fokus oder wurde das zuletzt fokussierte " "Widget gelöscht, wird das Toplevel selbst zurückgegeben." -#: ../../library/tkinter.rst:1631 +#: ../../library/tkinter.rst:1697 msgid "" "Reconfigure Tk to use an implicit focus model in which the focus is set to a " "widget whenever the mouse pointer enters it. This cannot easily be disabled " @@ -3385,7 +3449,7 @@ msgstr "" "Widget gesetzt wird, sobald der Mauszeiger es betritt. Das lässt sich nach " "dem Einschalten nicht ohne Weiteres wieder abschalten." -#: ../../library/tkinter.rst:1637 +#: ../../library/tkinter.rst:1703 msgid "" "Return the next widget after this one in the keyboard traversal order, or " "``None`` if there is none. The traversal order goes first to the next child, " @@ -3402,7 +3466,7 @@ msgstr "" "``takefocus`` auf ``0`` gesetzt ist. Diese Methode wird in den " "Standardbindungen der :kbd:`Tab`-Taste verwendet." -#: ../../library/tkinter.rst:1647 +#: ../../library/tkinter.rst:1713 msgid "" "Return the previous widget before this one in the keyboard traversal order, " "or ``None`` if there is none. See :meth:`tk_focusNext` for how the order is " @@ -3415,7 +3479,7 @@ msgstr "" "wird in den Standardbindungen der Tastenkombination :kbd:`Shift-Tab` " "verwendet." -#: ../../library/tkinter.rst:1652 +#: ../../library/tkinter.rst:1718 msgid "" "The methods with the ``grab_`` prefix set and query the input grab, which " "directs all input events to a single widget." @@ -3423,7 +3487,7 @@ msgstr "" "Die Methoden mit dem Präfix ``grab_`` setzen und erfragen den Eingabe-Grab, " "der alle Eingabeereignisse auf ein einzelnes Widget lenkt." -#: ../../library/tkinter.rst:1657 +#: ../../library/tkinter.rst:1723 msgid "" "Set a local grab on this widget. A grab confines pointer events to this " "widget and its descendants: while the pointer is outside the widget's " @@ -3446,7 +3510,7 @@ msgstr "" "Dialog modal zu machen: Solange der Grab wirkt, kann der Benutzer nicht mit " "den übrigen Fenstern der Anwendung arbeiten." -#: ../../library/tkinter.rst:1671 +#: ../../library/tkinter.rst:1737 msgid "" "Set a global grab on this widget. A global grab is like the local grab set " "by :meth:`grab_set`, but it locks out all other applications on the screen, " @@ -3463,13 +3527,13 @@ msgstr "" "unbenutzbar, weil andere Anwendungen keine Ereignisse mehr erhalten, bis er " "aufgehoben wird." -#: ../../library/tkinter.rst:1682 +#: ../../library/tkinter.rst:1748 msgid "Release the grab on this widget if there is one; otherwise do nothing." msgstr "" "Hebt den Grab auf diesem Widget auf, sofern einer besteht. Andernfalls " "geschieht nichts." -#: ../../library/tkinter.rst:1686 +#: ../../library/tkinter.rst:1752 msgid "" "Return the widget that currently holds the grab in this application for this " "widget's display, or ``None`` if there is no such widget." @@ -3477,7 +3541,7 @@ msgstr "" "Gibt das Widget zurück, das in dieser Anwendung derzeit den Grab für die " "Anzeige dieses Widgets hält, oder ``None``, wenn es kein solches Widget gibt." -#: ../../library/tkinter.rst:1691 +#: ../../library/tkinter.rst:1757 msgid "" "Return ``None`` if no grab is currently set on this widget, ``\"local\"`` if " "a local grab is set, or ``\"global\"`` if a global grab is set." @@ -3486,14 +3550,14 @@ msgstr "" "``\"local\"`` bei einem lokalen Grab oder ``\"global\"`` bei einem globalen " "Grab." -#: ../../library/tkinter.rst:1694 +#: ../../library/tkinter.rst:1760 msgid "" "The methods with the ``selection_`` prefix retrieve and manage the X " "selection." msgstr "" "Die Methoden mit dem Präfix ``selection_`` holen und verwalten die X-Auswahl." -#: ../../library/tkinter.rst:1699 +#: ../../library/tkinter.rst:1765 msgid "" "Clear the X selection, so that no window owns it anymore. The selection to " "clear is given by the keyword argument *selection*, an atom name such as " @@ -3507,7 +3571,7 @@ msgstr "" "Schlüsselwortargument *displayof* nennt ein Widget, das die Anzeige " "bestimmt, auf der gearbeitet wird, und ist standardmäßig dieses Widget." -#: ../../library/tkinter.rst:1706 +#: ../../library/tkinter.rst:1772 msgid "" "This is overridden by the :class:`Entry`, :class:`Listbox` and :class:" "`Spinbox` widgets, where :meth:`!selection_clear` clears the widget's own " @@ -3517,7 +3581,7 @@ msgstr "" "`Spinbox` überschrieben, wo :meth:`!selection_clear` stattdessen die eigene " "Auswahl des Widgets löscht." -#: ../../library/tkinter.rst:1712 +#: ../../library/tkinter.rst:1778 msgid "" "Return the contents of the current X selection. The keyword argument " "*selection* names the selection and defaults to ``PRIMARY``. The keyword " @@ -3538,7 +3602,7 @@ msgstr "" "Widget, das die Anzeige bestimmt, von der die Auswahl geholt wird, und ist " "standardmäßig dieses Widget." -#: ../../library/tkinter.rst:1726 +#: ../../library/tkinter.rst:1792 msgid "" "Register *command* as a handler to supply the X selection owned by this " "widget when another application requests it. When the selection is " @@ -3560,7 +3624,7 @@ msgstr "" "das Schlüsselwortargument *type* die Form der Auswahl, die der Handler " "liefert (etwa ``'STRING'`` oder ``'FILE_NAME'``, Vorgabe ``STRING``)." -#: ../../library/tkinter.rst:1740 +#: ../../library/tkinter.rst:1806 msgid "" "Make this widget the owner of the X selection on its display. The previous " "owner, if any, is notified that it has lost the selection. The keyword " @@ -3571,7 +3635,7 @@ msgstr "" "die Auswahl verloren hat. Das Schlüsselwortargument *selection* nennt die " "Auswahl und ist standardmäßig ``PRIMARY``." -#: ../../library/tkinter.rst:1747 +#: ../../library/tkinter.rst:1813 msgid "" "Return the widget in this application that owns the X selection on the " "display containing this widget, or ``None`` if no widget in this application " @@ -3586,12 +3650,12 @@ msgstr "" "ein Widget, das die abzufragende Anzeige bestimmt, und ist standardmäßig " "dieses Widget." -#: ../../library/tkinter.rst:1755 +#: ../../library/tkinter.rst:1821 msgid "The methods with the ``clipboard_`` prefix manage the clipboard." msgstr "" "Die Methoden mit dem Präfix ``clipboard_`` verwalten die Zwischenablage." -#: ../../library/tkinter.rst:1759 +#: ../../library/tkinter.rst:1825 msgid "" "Append *string* to the Tk clipboard and claim ownership of the clipboard on " "this widget's display. Before appending, the clipboard should be emptied " @@ -3616,7 +3680,7 @@ msgstr "" "bestimmt, und ist standardmäßig dieses Widget. Der Inhalt lässt sich mit :" "meth:`clipboard_get` oder :meth:`selection_get` abrufen." -#: ../../library/tkinter.rst:1775 +#: ../../library/tkinter.rst:1841 msgid "" "Claim ownership of the clipboard on this widget's display and remove any " "previous contents. The *displayof* keyword argument names a widget that " @@ -3627,7 +3691,7 @@ msgstr "" "nennt ein Widget, das die Zielanzeige bestimmt, und ist standardmäßig dieses " "Widget." -#: ../../library/tkinter.rst:1782 +#: ../../library/tkinter.rst:1848 msgid "" "Retrieve data from the clipboard on this widget's display. The keyword " "argument *type* specifies the form in which the data is to be returned, an " @@ -3646,7 +3710,7 @@ msgstr "" "bestimmt, und ist standardmäßig das Root-Fenster der Anwendung. Das " "entspricht ``selection_get(selection='CLIPBOARD')``." -#: ../../library/tkinter.rst:1791 +#: ../../library/tkinter.rst:1857 msgid "" "The methods with the ``option_`` prefix query and modify the Tk option " "database." @@ -3654,7 +3718,7 @@ msgstr "" "Die Methoden mit dem Präfix ``option_`` fragen die Tk-Optionsdatenbank ab " "und ändern sie." -#: ../../library/tkinter.rst:1796 +#: ../../library/tkinter.rst:1862 msgid "" "Add an option to the Tk option database that associates *value* with " "*pattern*. *pattern* consists of names and/or classes separated by asterisks " @@ -3670,7 +3734,7 @@ msgstr "" "(20), ``'startupFile'`` (40), ``'userDefault'`` (60) oder ``'interactive'`` " "(80). Die Vorgabe ist ``interactive``." -#: ../../library/tkinter.rst:1806 +#: ../../library/tkinter.rst:1872 msgid "" "Clear the Tk option database. Default options from the :envvar:`!" "RESOURCE_MANAGER` property or the :file:`.Xdefaults` file are reloaded " @@ -3682,7 +3746,7 @@ msgstr "" "geladen, sobald das nächste Mal eine Option zur Datenbank hinzugefügt oder " "daraus entfernt wird." -#: ../../library/tkinter.rst:1813 +#: ../../library/tkinter.rst:1879 msgid "" "Return the value of the option matching this widget under *name* and " "*className* from the Tk option database, or an empty string if there is no " @@ -3696,7 +3760,7 @@ msgstr "" "der höchsten Priorität zurückgegeben und unter gleichrangigen der zuletzt " "hinzugefügte." -#: ../../library/tkinter.rst:1822 +#: ../../library/tkinter.rst:1888 msgid "" "Read the file named *fileName*, which should have the standard format for an " "X resource database such as :file:`.Xdefaults`, and add all the options it " @@ -3708,7 +3772,7 @@ msgstr "" "angegebenen Optionen der Tk-Optionsdatenbank hinzu. *priority* wird wie bei :" "meth:`option_add` gedeutet, Vorgabe ``interactive``." -#: ../../library/tkinter.rst:1830 +#: ../../library/tkinter.rst:1896 msgid "" "Ring the bell on the display for this widget, using the display's current " "bell-related settings, and reset the screen saver for the screen. If " @@ -3720,7 +3784,7 @@ msgstr "" "Ist *displayof* als Widget angegeben, erklingt der Ton stattdessen auf " "dessen Anzeige." -#: ../../library/tkinter.rst:1838 +#: ../../library/tkinter.rst:1904 msgid "" "Set a new color scheme for all Tk widget elements. Existing widgets are " "updated and the option database is changed so that future widgets use the " @@ -3746,7 +3810,7 @@ msgstr "" "``selectColor``, ``selectBackground``, ``selectForeground`` und " "``troughColor``. Für nicht angegebene werden sinnvolle Vorgaben berechnet." -#: ../../library/tkinter.rst:1854 +#: ../../library/tkinter.rst:1920 msgid "" "Restore the application's colors to the light brown (bisque) color scheme " "used in Tk 3.6 and earlier versions. Provided for backward compatibility." @@ -3755,7 +3819,7 @@ msgstr "" "zurück, das in Tk 3.6 und früheren Versionen verwendet wurde. Nur zur " "Abwärtskompatibilität vorhanden." -#: ../../library/tkinter.rst:1860 +#: ../../library/tkinter.rst:1926 msgid "" "Query or set whether Tk's look and feel should strictly adhere to Motif. A " "true *boolean* value enables strict Motif compliance (for example, no color " @@ -3766,7 +3830,7 @@ msgstr "" "Konformität ein (zum Beispiel kein Farbwechsel, wenn die Maus über einen " "Schieberegler fährt). Gibt die daraus folgende Einstellung zurück." -#: ../../library/tkinter.rst:1865 +#: ../../library/tkinter.rst:1931 msgid "" "The methods with the ``busy_`` prefix manage the busy state of a window, " "which shows a busy cursor and ignores user input." @@ -3775,7 +3839,7 @@ msgstr "" "eines Fensters, das dann einen Beschäftigt-Zeiger anzeigt und " "Benutzereingaben übergeht." -#: ../../library/tkinter.rst:1879 +#: ../../library/tkinter.rst:1945 msgid "" "Make this widget appear busy. A transparent window is placed in front of the " "widget, so that it and all of its descendants in the widget hierarchy are " @@ -3790,7 +3854,7 @@ msgstr "" "aufgerufen werden, damit der Hold-Vorgang wirkt, bevor die Anwendung mit " "ihrer Verarbeitung beginnt." -#: ../../library/tkinter.rst:1887 +#: ../../library/tkinter.rst:1953 msgid "" "The only supported configuration option is *cursor*, the cursor to be " "displayed while the widget is busy; it may have any of the values accepted " @@ -3800,7 +3864,7 @@ msgstr "" "angezeigt wird, während das Widget beschäftigt ist. Sie darf jeden von :meth:" "`!configure` akzeptierten Wert annehmen." -#: ../../library/tkinter.rst:1891 +#: ../../library/tkinter.rst:1957 msgid "" ":meth:`busy_hold`, :meth:`busy` and :meth:`tk_busy` are aliases of :meth:`!" "tk_busy_hold`." @@ -3808,7 +3872,7 @@ msgstr "" ":meth:`busy_hold`, :meth:`busy` und :meth:`tk_busy` sind Aliase von :meth:`!" "tk_busy_hold`." -#: ../../library/tkinter.rst:1908 +#: ../../library/tkinter.rst:1974 msgid "" "Query or modify the configuration options of the busy window. The widget " "must have been previously made busy by :meth:`tk_busy_hold`. With no " @@ -3825,7 +3889,7 @@ msgstr "" "die angegebenen Optionen auf die angegebenen Werte gesetzt. Optionen dürfen " "jeden von :meth:`tk_busy_hold` akzeptierten Wert annehmen." -#: ../../library/tkinter.rst:1916 +#: ../../library/tkinter.rst:1982 msgid "" "The option database is referenced through the widget name or class. For " "example, if a :class:`Frame` widget named ``frame`` is to be made busy, the " @@ -3836,7 +3900,7 @@ msgstr "" "beschäftigt gesetzt werden, lässt sich der Beschäftigt-Zeiger dafür mit " "einem der beiden Aufrufe angeben::" -#: ../../library/tkinter.rst:1920 +#: ../../library/tkinter.rst:1986 msgid "" "w.option_add('*frame.busyCursor', 'gumby')\n" "w.option_add('*Frame.BusyCursor', 'gumby')" @@ -3844,7 +3908,7 @@ msgstr "" "w.option_add('*frame.busyCursor', 'gumby')\n" "w.option_add('*Frame.BusyCursor', 'gumby')" -#: ../../library/tkinter.rst:1923 +#: ../../library/tkinter.rst:1989 msgid "" ":meth:`busy_configure`, :meth:`busy_config` and :meth:`tk_busy_config` are " "aliases of :meth:`!tk_busy_configure`." @@ -3852,7 +3916,7 @@ msgstr "" ":meth:`busy_configure`, :meth:`busy_config` und :meth:`tk_busy_config` sind " "Aliase von :meth:`!tk_busy_configure`." -#: ../../library/tkinter.rst:1934 +#: ../../library/tkinter.rst:2000 msgid "" "Return the current value of the busy configuration *option*. The widget must " "have been previously made busy by :meth:`tk_busy_hold`, and *option* may " @@ -3863,11 +3927,11 @@ msgstr "" "worden sein, und *option* darf jeden von dieser Methode akzeptierten Wert " "annehmen." -#: ../../library/tkinter.rst:1938 +#: ../../library/tkinter.rst:2004 msgid ":meth:`busy_cget` is an alias of :meth:`!tk_busy_cget`." msgstr ":meth:`busy_cget` ist ein Alias von :meth:`!tk_busy_cget`." -#: ../../library/tkinter.rst:1948 +#: ../../library/tkinter.rst:2014 msgid "" "Make this widget no longer busy, releasing the resources (including the " "transparent window) allocated when it was made busy. User events will again " @@ -3879,21 +3943,21 @@ msgstr "" "belegt wurden. Das Widget empfängt wieder Benutzerereignisse. Diese " "Ressourcen werden auch freigegeben, wenn das Widget zerstört wird." -#: ../../library/tkinter.rst:1953 +#: ../../library/tkinter.rst:2019 msgid ":meth:`busy_forget` is an alias of :meth:`!tk_busy_forget`." msgstr ":meth:`busy_forget` ist ein Alias von :meth:`!tk_busy_forget`." -#: ../../library/tkinter.rst:1963 +#: ../../library/tkinter.rst:2029 msgid "Return ``True`` if the widget is currently busy, ``False`` otherwise." msgstr "" "Gibt ``True`` zurück, wenn das Widget derzeit beschäftigt ist, sonst " "``False``." -#: ../../library/tkinter.rst:1965 +#: ../../library/tkinter.rst:2031 msgid ":meth:`busy_status` is an alias of :meth:`!tk_busy_status`." msgstr ":meth:`busy_status` ist ein Alias von :meth:`!tk_busy_status`." -#: ../../library/tkinter.rst:1975 +#: ../../library/tkinter.rst:2041 msgid "" "Return a list of widgets that are currently busy. If *pattern* is given, " "only busy widgets whose path names match the pattern are returned." @@ -3902,11 +3966,11 @@ msgstr "" "*pattern* angegeben, werden nur beschäftigte Widgets zurückgegeben, deren " "Pfadnamen zum Muster passen." -#: ../../library/tkinter.rst:1979 +#: ../../library/tkinter.rst:2045 msgid ":meth:`busy_current` is an alias of :meth:`!tk_busy_current`." msgstr ":meth:`busy_current` ist ein Alias von :meth:`!tk_busy_current`." -#: ../../library/tkinter.rst:1983 +#: ../../library/tkinter.rst:2049 msgid "" "The methods with the ``winfo_`` prefix retrieve information about windows " "managed by Tk." @@ -3914,7 +3978,7 @@ msgstr "" "Die Methoden mit dem Präfix ``winfo_`` holen Informationen über die von Tk " "verwalteten Fenster." -#: ../../library/tkinter.rst:1988 +#: ../../library/tkinter.rst:2054 msgid "" "Return the integer identifier for the atom whose name is *name*, creating a " "new atom if none exists. If *displayof* is given, the atom is looked up on " @@ -3926,7 +3990,7 @@ msgstr "" "wird das Atom auf der Anzeige dieses Fensters nachgeschlagen, sonst auf der " "Anzeige des Hauptfensters der Anwendung." -#: ../../library/tkinter.rst:1996 +#: ../../library/tkinter.rst:2062 msgid "" "Return the textual name for the atom whose integer identifier is *id*. This " "is the inverse of :meth:`winfo_atom`. If *displayof* is given, the " @@ -3938,11 +4002,11 @@ msgstr "" "wird der Bezeichner auf der Anzeige dieses Fensters nachgeschlagen, sonst " "auf der Anzeige des Hauptfensters der Anwendung." -#: ../../library/tkinter.rst:2004 +#: ../../library/tkinter.rst:2070 msgid "Return the number of cells in the colormap for the widget." msgstr "Gibt die Anzahl der Zellen in der Farbtabelle des Widgets zurück." -#: ../../library/tkinter.rst:2008 +#: ../../library/tkinter.rst:2074 msgid "" "Return a list containing the widgets that are children of the widget, in " "stacking order from lowest to highest. Toplevel windows are returned as " @@ -3952,11 +4016,11 @@ msgstr "" "Stapelreihenfolge von unten nach oben. Toplevel-Fenster werden als Kinder " "ihrer logischen Eltern zurückgegeben." -#: ../../library/tkinter.rst:2014 +#: ../../library/tkinter.rst:2080 msgid "Return the class name of the widget." msgstr "Gibt den Klassennamen des Widgets zurück." -#: ../../library/tkinter.rst:2018 +#: ../../library/tkinter.rst:2084 msgid "" "Return ``True`` if the colormap for the widget is known to be full, " "``False`` otherwise." @@ -3964,7 +4028,7 @@ msgstr "" "Gibt ``True`` zurück, wenn die Farbtabelle des Widgets bekanntermaßen voll " "ist, sonst ``False``." -#: ../../library/tkinter.rst:2023 +#: ../../library/tkinter.rst:2089 msgid "" "Return the widget containing the point given by *rootX* and *rootY*, or " "``None`` if no window in this application contains the point. The " @@ -3979,16 +4043,16 @@ msgstr "" "den Bildschirm, der dieses Fenster enthält, sonst auf den Bildschirm des " "Hauptfensters der Anwendung." -#: ../../library/tkinter.rst:2033 +#: ../../library/tkinter.rst:2099 msgid "Return the depth of the widget, that is, the number of bits per pixel." msgstr "" "Gibt die Farbtiefe des Widgets zurück, also die Anzahl der Bits pro Pixel." -#: ../../library/tkinter.rst:2037 +#: ../../library/tkinter.rst:2103 msgid "Return true if the widget exists, false otherwise." msgstr "Gibt wahr zurück, wenn das Widget existiert, sonst falsch." -#: ../../library/tkinter.rst:2041 +#: ../../library/tkinter.rst:2107 msgid "" "Return a floating-point value giving the number of pixels in the widget " "corresponding to the screen distance *number* (for example, ``\"2.0c\"`` or " @@ -4000,17 +4064,19 @@ msgstr "" "``\"1i\"``). Das Ergebnis kann gebrochen sein. Für einen gerundeten " "ganzzahligen Wert verwende :meth:`winfo_pixels`." -#: ../../library/tkinter.rst:2049 +#: ../../library/tkinter.rst:2115 +#, fuzzy msgid "" "Return the geometry of the widget, in the form ``widthxheight+x+y``. All " -"dimensions are in pixels. An offset can be negative; see :meth:`~Wm." -"geometry`." +"dimensions are in pixels. The position is relative to the parent widget; " +"use :meth:`winfo_rootx` and :meth:`winfo_rooty` for the position on the " +"screen. An offset can be negative; see :meth:`~Wm.geometry`." msgstr "" "Gibt die Geometrie des Widgets in der Form ``widthxheight+x+y`` zurück. Alle " "Maße sind in Pixeln. Ein Versatz kann negativ sein, siehe :meth:`~Wm." "geometry`." -#: ../../library/tkinter.rst:2055 +#: ../../library/tkinter.rst:2124 msgid "" "Return the height of the widget in pixels. When a window is first created " "its height is 1 pixel; it is eventually changed by a geometry manager. See " @@ -4020,7 +4086,7 @@ msgstr "" "beträgt seine Höhe zunächst 1 Pixel. Sie wird später von einem " "Geometriemanager geändert. Siehe auch :meth:`winfo_reqheight`." -#: ../../library/tkinter.rst:2062 +#: ../../library/tkinter.rst:2131 msgid "" "Return a low-level platform-specific identifier for the widget. On Unix this " "is the X window identifier, and on Windows it is the window handle." @@ -4029,7 +4095,7 @@ msgstr "" "zurück. Unter Unix ist das der X-Fensterbezeichner, unter Windows das " "Fenster-Handle." -#: ../../library/tkinter.rst:2068 +#: ../../library/tkinter.rst:2137 msgid "" "Return a tuple of the names of all Tcl interpreters currently registered for " "a particular display. If *displayof* is given, the return value refers to " @@ -4041,12 +4107,12 @@ msgstr "" "der Rückgabewert auf die Anzeige dieses Fensters, sonst auf die Anzeige des " "Hauptfensters der Anwendung." -#: ../../library/tkinter.rst:2076 +#: ../../library/tkinter.rst:2145 msgid "Return true if the widget is currently mapped, false otherwise." msgstr "" "Gibt wahr zurück, wenn das Widget derzeit eingeblendet ist, sonst falsch." -#: ../../library/tkinter.rst:2080 +#: ../../library/tkinter.rst:2149 msgid "" "Return the name of the geometry manager currently responsible for the " "widget, or an empty string if it is not managed by any geometry manager." @@ -4055,14 +4121,14 @@ msgstr "" "zuständig ist, oder eine leere Zeichenkette, wenn es von keinem " "Geometriemanager verwaltet wird." -#: ../../library/tkinter.rst:2085 +#: ../../library/tkinter.rst:2154 msgid "" "Return the widget's name within its parent, as opposed to its full path name." msgstr "" "Gibt den Namen des Widgets innerhalb seines Elternteils zurück, im " "Unterschied zu seinem vollständigen Pfadnamen." -#: ../../library/tkinter.rst:2090 +#: ../../library/tkinter.rst:2159 msgid "" "Return the path name of the widget's parent, or an empty string if the " "widget is the main window of the application." @@ -4070,7 +4136,7 @@ msgstr "" "Gibt den Pfadnamen des Elternteils des Widgets zurück, oder eine leere " "Zeichenkette, wenn das Widget das Hauptfenster der Anwendung ist." -#: ../../library/tkinter.rst:2095 +#: ../../library/tkinter.rst:2164 msgid "" "Return the path name of the window whose identifier is *id*. If *displayof* " "is given, the identifier is looked up on the display of that window; " @@ -4080,7 +4146,7 @@ msgstr "" "*displayof* angegeben, wird der Bezeichner auf der Anzeige dieses Fensters " "nachgeschlagen, sonst auf der Anzeige des Hauptfensters der Anwendung." -#: ../../library/tkinter.rst:2102 +#: ../../library/tkinter.rst:2171 msgid "" "Return the number of pixels in the widget corresponding to the screen " "distance *number* (for example, ``\"2.0c\"`` or ``\"1i\"``). The result is " @@ -4092,7 +4158,7 @@ msgstr "" "Ergebnis wird auf die nächste ganze Zahl gerundet. Für ein gebrochenes " "Ergebnis verwende :meth:`winfo_fpixels`." -#: ../../library/tkinter.rst:2109 +#: ../../library/tkinter.rst:2178 msgid "" "Return the pointer's *x* coordinate, in pixels, relative to the screen's " "root window (or virtual root, if one is in use). Return ``-1`` if the " @@ -4103,7 +4169,7 @@ msgstr "" "wird). Gibt ``-1`` zurück, wenn der Zeiger nicht auf demselben Bildschirm " "wie das Widget ist." -#: ../../library/tkinter.rst:2115 +#: ../../library/tkinter.rst:2184 msgid "" "Return the pointer's coordinates as an ``(x, y)`` tuple, in pixels, relative " "to the screen's root window (or virtual root, if one is in use). Both " @@ -4115,7 +4181,7 @@ msgstr "" "eines verwendet wird). Beide Koordinaten sind ``-1``, wenn der Zeiger nicht " "auf demselben Bildschirm wie das Widget ist." -#: ../../library/tkinter.rst:2122 +#: ../../library/tkinter.rst:2191 msgid "" "Return the pointer's *y* coordinate, in pixels, relative to the screen's " "root window (or virtual root, if one is in use). Return ``-1`` if the " @@ -4126,7 +4192,7 @@ msgstr "" "wird). Gibt ``-1`` zurück, wenn der Zeiger nicht auf demselben Bildschirm " "wie das Widget ist." -#: ../../library/tkinter.rst:2128 +#: ../../library/tkinter.rst:2197 msgid "" "Return the widget's requested height in pixels. This is the value used by " "the widget's geometry manager to compute its geometry." @@ -4134,7 +4200,7 @@ msgstr "" "Gibt die angeforderte Höhe des Widgets in Pixeln zurück. Diesen Wert " "verwendet der Geometriemanager des Widgets zur Berechnung seiner Geometrie." -#: ../../library/tkinter.rst:2134 +#: ../../library/tkinter.rst:2203 msgid "" "Return the widget's requested width in pixels. This is the value used by the " "widget's geometry manager to compute its geometry." @@ -4142,7 +4208,7 @@ msgstr "" "Gibt die angeforderte Breite des Widgets in Pixeln zurück. Diesen Wert " "verwendet der Geometriemanager des Widgets zur Berechnung seiner Geometrie." -#: ../../library/tkinter.rst:2140 +#: ../../library/tkinter.rst:2209 msgid "" "Return an ``(r, g, b)`` tuple of the red, green, and blue intensities, in " "the range 0 to 65535, that correspond to *color* in the widget. *color* may " @@ -4152,7 +4218,7 @@ msgstr "" "0 bis 65535 zurück, die *color* im Widget entsprechen. *color* darf in jeder " "für eine Farboption zulässigen Form angegeben werden." -#: ../../library/tkinter.rst:2147 +#: ../../library/tkinter.rst:2216 msgid "" "Return the *x* coordinate, in the root window of the screen, of the upper-" "left corner of the widget's border (or of the widget itself if it has no " @@ -4162,7 +4228,7 @@ msgstr "" "Widgets selbst, wenn es keinen Rahmen hat) im Root-Fenster des Bildschirms " "zurück." -#: ../../library/tkinter.rst:2153 +#: ../../library/tkinter.rst:2222 msgid "" "Return the *y* coordinate, in the root window of the screen, of the upper-" "left corner of the widget's border (or of the widget itself if it has no " @@ -4172,7 +4238,7 @@ msgstr "" "Widgets selbst, wenn es keinen Rahmen hat) im Root-Fenster des Bildschirms " "zurück." -#: ../../library/tkinter.rst:2159 +#: ../../library/tkinter.rst:2228 msgid "" "Return the name of the screen associated with the widget, in the form " "``displayName.screenIndex``." @@ -4180,14 +4246,14 @@ msgstr "" "Gibt den Namen des Bildschirms zurück, der zum Widget gehört, in der Form " "``displayName.screenIndex``." -#: ../../library/tkinter.rst:2164 +#: ../../library/tkinter.rst:2233 msgid "" "Return the number of cells in the default colormap for the widget's screen." msgstr "" "Gibt die Anzahl der Zellen in der Standardfarbtabelle des Bildschirms des " "Widgets zurück." -#: ../../library/tkinter.rst:2169 +#: ../../library/tkinter.rst:2238 msgid "" "Return the depth of the root window of the widget's screen, that is, the " "number of bits per pixel." @@ -4195,19 +4261,19 @@ msgstr "" "Gibt die Farbtiefe des Root-Fensters des Bildschirms des Widgets zurück, " "also die Anzahl der Bits pro Pixel." -#: ../../library/tkinter.rst:2174 +#: ../../library/tkinter.rst:2243 msgid "Return the height of the widget's screen in pixels." msgstr "Gibt die Höhe des Bildschirms des Widgets in Pixeln zurück." -#: ../../library/tkinter.rst:2178 +#: ../../library/tkinter.rst:2247 msgid "Return the height of the widget's screen in millimeters." msgstr "Gibt die Höhe des Bildschirms des Widgets in Millimetern zurück." -#: ../../library/tkinter.rst:2182 +#: ../../library/tkinter.rst:2251 msgid "Return the width of the widget's screen in millimeters." msgstr "Gibt die Breite des Bildschirms des Widgets in Millimetern zurück." -#: ../../library/tkinter.rst:2186 +#: ../../library/tkinter.rst:2255 msgid "" "Return the default visual class for the widget's screen, one of " "``\"directcolor\"``, ``\"grayscale\"``, ``\"pseudocolor\"``, " @@ -4217,11 +4283,11 @@ msgstr "" "von ``\"directcolor\"``, ``\"grayscale\"``, ``\"pseudocolor\"``, " "``\"staticcolor\"``, ``\"staticgray\"`` oder ``\"truecolor\"``." -#: ../../library/tkinter.rst:2192 +#: ../../library/tkinter.rst:2261 msgid "Return the width of the widget's screen in pixels." msgstr "Gibt die Breite des Bildschirms des Widgets in Pixeln zurück." -#: ../../library/tkinter.rst:2196 +#: ../../library/tkinter.rst:2265 msgid "" "Return a string containing information about the server for the widget's " "display. The exact format of this string may vary from platform to platform." @@ -4230,7 +4296,7 @@ msgstr "" "Widgets zurück. Das genaue Format dieser Zeichenkette kann sich von " "Plattform zu Plattform unterscheiden." -#: ../../library/tkinter.rst:2202 +#: ../../library/tkinter.rst:2271 msgid "" "Return the top-of-hierarchy window containing the widget. In standard Tk " "this is always a :class:`Toplevel` widget." @@ -4238,7 +4304,7 @@ msgstr "" "Gibt das Fenster an der Spitze der Hierarchie zurück, das das Widget " "enthält. Im Standard-Tk ist das immer ein :class:`Toplevel`-Widget." -#: ../../library/tkinter.rst:2207 +#: ../../library/tkinter.rst:2276 msgid "" "Return true if the widget and all of its ancestors up through the nearest " "toplevel window are mapped, false otherwise." @@ -4246,7 +4312,7 @@ msgstr "" "Gibt wahr zurück, wenn das Widget und alle seine Vorfahren bis zum nächsten " "Toplevel-Fenster eingeblendet sind, sonst falsch." -#: ../../library/tkinter.rst:2212 +#: ../../library/tkinter.rst:2281 msgid "" "Return the visual class for the widget, one of ``\"directcolor\"``, " "``\"grayscale\"``, ``\"pseudocolor\"``, ``\"staticcolor\"``, " @@ -4256,11 +4322,11 @@ msgstr "" "``\"grayscale\"``, ``\"pseudocolor\"``, ``\"staticcolor\"``, " "``\"staticgray\"`` oder ``\"truecolor\"``." -#: ../../library/tkinter.rst:2218 +#: ../../library/tkinter.rst:2287 msgid "Return the X identifier for the visual for the widget." msgstr "Gibt den X-Bezeichner des Visuals für das Widget zurück." -#: ../../library/tkinter.rst:2222 +#: ../../library/tkinter.rst:2291 msgid "" "Return a list describing the visuals available for the widget's screen. Each " "item consists of a visual class (see :meth:`winfo_visual`) followed by an " @@ -4272,7 +4338,7 @@ msgstr "" "meth:`winfo_visual`) gefolgt von einer ganzzahligen Farbtiefe. Ist " "*includeids* wahr, wird auch der X-Bezeichner des Visuals mit aufgenommen." -#: ../../library/tkinter.rst:2230 +#: ../../library/tkinter.rst:2299 msgid "" "Return the height of the virtual root window associated with the widget if " "there is one; otherwise return the height of the widget's screen." @@ -4280,7 +4346,7 @@ msgstr "" "Gibt die Höhe des zum Widget gehörenden virtuellen Root-Fensters zurück, " "sofern es eines gibt, andernfalls die Höhe des Bildschirms des Widgets." -#: ../../library/tkinter.rst:2235 +#: ../../library/tkinter.rst:2304 msgid "" "Return the width of the virtual root window associated with the widget if " "there is one; otherwise return the width of the widget's screen." @@ -4288,7 +4354,7 @@ msgstr "" "Gibt die Breite des zum Widget gehörenden virtuellen Root-Fensters zurück, " "sofern es eines gibt, andernfalls die Breite des Bildschirms des Widgets." -#: ../../library/tkinter.rst:2240 +#: ../../library/tkinter.rst:2309 msgid "" "Return the *x* offset of the virtual root window associated with the widget, " "relative to the root window of its screen. This is normally zero or " @@ -4298,7 +4364,7 @@ msgstr "" "zurück, relativ zum Root-Fenster seines Bildschirms. Das ist normalerweise " "null oder negativ und ``0``, wenn es kein virtuelles Root-Fenster gibt." -#: ../../library/tkinter.rst:2247 +#: ../../library/tkinter.rst:2316 msgid "" "Return the *y* offset of the virtual root window associated with the widget, " "relative to the root window of its screen. This is normally zero or " @@ -4308,7 +4374,7 @@ msgstr "" "zurück, relativ zum Root-Fenster seines Bildschirms. Das ist normalerweise " "null oder negativ und ``0``, wenn es kein virtuelles Root-Fenster gibt." -#: ../../library/tkinter.rst:2254 +#: ../../library/tkinter.rst:2323 msgid "" "Return the width of the widget in pixels. When a window is first created its " "width is 1 pixel; it is eventually changed by a geometry manager. See also :" @@ -4318,7 +4384,7 @@ msgstr "" "beträgt seine Breite zunächst 1 Pixel. Sie wird später von einem " "Geometriemanager geändert. Siehe auch :meth:`winfo_reqwidth`." -#: ../../library/tkinter.rst:2261 +#: ../../library/tkinter.rst:2330 msgid "" "Return the *x* coordinate, in the widget's parent, of the upper-left corner " "of the widget's border (or of the widget itself if it has no border)." @@ -4326,7 +4392,7 @@ msgstr "" "Gibt die *x*-Koordinate der linken oberen Ecke des Widget-Rahmens (oder des " "Widgets selbst, wenn es keinen Rahmen hat) im Elternteil des Widgets zurück." -#: ../../library/tkinter.rst:2267 +#: ../../library/tkinter.rst:2336 msgid "" "Return the *y* coordinate, in the widget's parent, of the upper-left corner " "of the widget's border (or of the widget itself if it has no border)." @@ -4334,7 +4400,7 @@ msgstr "" "Gibt die *y*-Koordinate der linken oberen Ecke des Widget-Rahmens (oder des " "Widgets selbst, wenn es keinen Rahmen hat) im Elternteil des Widgets zurück." -#: ../../library/tkinter.rst:2273 +#: ../../library/tkinter.rst:2342 msgid "" "Return the Tcl/Tk patch level as a named tuple with the same five fields as :" "data:`sys.version_info`: *major*, *minor*, *micro*, *releaselevel* and " @@ -4349,7 +4415,7 @@ msgstr "" "üblichen Tcl/Tk-Schreibweise, zum Beispiel ``'9.0.3'`` für eine endgültige " "Veröffentlichung oder ``'9.1b2'`` für eine Vorabversion." -#: ../../library/tkinter.rst:2287 +#: ../../library/tkinter.rst:2356 msgid "" "The :class:`!Wm` mixin provides access to the window manager, allowing an " "application to control such things as the title, geometry and icon of a top-" @@ -4369,7 +4435,7 @@ msgstr "" "Namen und einen Namen mit dem Präfix ``wm_`` (zum Beispiel :meth:`title` " "und :meth:`wm_title`). Siehe auch :ref:`tkinter-window-manager`." -#: ../../library/tkinter.rst:2302 +#: ../../library/tkinter.rst:2371 msgid "" "Constrain the aspect ratio (the ratio of width to height) of the window. If " "all four arguments are given, the window manager keeps the ratio between " @@ -4386,7 +4452,7 @@ msgstr "" "``None``, wenn keine Beschränkung des Seitenverhältnisses wirkt. :meth:" "`wm_aspect` ist ein Alias von :meth:`!aspect`." -#: ../../library/tkinter.rst:2315 +#: ../../library/tkinter.rst:2384 msgid "" "Query or set platform-specific attributes of the window. With no arguments, " "return the platform-specific flags and their values; pass " @@ -4401,17 +4467,17 @@ msgstr "" "Option zurück, und Optionen werden über Schlüsselwortargumente gesetzt " "(``alpha=0.5``)." -#: ../../library/tkinter.rst:2321 +#: ../../library/tkinter.rst:2390 msgid "The available attributes differ by platform. All platforms support:" msgstr "" "Die verfügbaren Attribute unterscheiden sich je nach Plattform. Alle " "Plattformen unterstützen:" -#: ../../library/tkinter.rst:2324 +#: ../../library/tkinter.rst:2393 msgid "*alpha*" msgstr "*alpha*" -#: ../../library/tkinter.rst:2325 +#: ../../library/tkinter.rst:2394 msgid "" "The window's opacity, from ``0.0`` (fully transparent) to ``1.0`` (opaque). " "Where transparency is unsupported the value stays at ``1.0``." @@ -4420,11 +4486,11 @@ msgstr "" "``1.0`` (undurchsichtig). Wo Transparenz nicht unterstützt wird, bleibt der " "Wert bei ``1.0``." -#: ../../library/tkinter.rst:2329 +#: ../../library/tkinter.rst:2398 msgid "*appearance*" msgstr "*appearance*" -#: ../../library/tkinter.rst:2330 +#: ../../library/tkinter.rst:2399 msgid "" "Whether the window is rendered in dark mode on Windows and macOS: " "``'auto'``, ``'light'`` or ``'dark'`` (this has no effect on X11)." @@ -4432,61 +4498,61 @@ msgstr "" "Ob das Fenster unter Windows und macOS im dunklen Modus dargestellt wird: " "``'auto'``, ``'light'`` oder ``'dark'`` (unter X11 ohne Wirkung)." -#: ../../library/tkinter.rst:2333 +#: ../../library/tkinter.rst:2402 msgid "*fullscreen*" msgstr "*fullscreen*" -#: ../../library/tkinter.rst:2334 +#: ../../library/tkinter.rst:2403 msgid "Whether the window takes up the entire screen and has no borders." msgstr "Ob das Fenster den gesamten Bildschirm einnimmt und keine Rahmen hat." -#: ../../library/tkinter.rst:2336 +#: ../../library/tkinter.rst:2405 msgid "*topmost*" msgstr "*topmost*" -#: ../../library/tkinter.rst:2337 +#: ../../library/tkinter.rst:2406 msgid "Whether the window is displayed above all other windows." msgstr "Ob das Fenster über allen anderen Fenstern angezeigt wird." -#: ../../library/tkinter.rst:2339 +#: ../../library/tkinter.rst:2408 msgid "Windows additionally supports:" msgstr "Windows unterstützt zusätzlich:" -#: ../../library/tkinter.rst:2341 +#: ../../library/tkinter.rst:2410 msgid "*disabled*" msgstr "*disabled*" -#: ../../library/tkinter.rst:2342 +#: ../../library/tkinter.rst:2411 msgid "Whether the window is in a disabled state." msgstr "Ob sich das Fenster in einem deaktivierten Zustand befindet." -#: ../../library/tkinter.rst:2344 +#: ../../library/tkinter.rst:2413 msgid "*toolwindow*" msgstr "*toolwindow*" -#: ../../library/tkinter.rst:2345 +#: ../../library/tkinter.rst:2414 msgid "Whether the window uses the tool window style." msgstr "Ob das Fenster den Stil eines Werkzeugfensters verwendet." -#: ../../library/tkinter.rst:2347 +#: ../../library/tkinter.rst:2416 msgid "*transparentcolor*" msgstr "*transparentcolor*" -#: ../../library/tkinter.rst:2348 +#: ../../library/tkinter.rst:2417 msgid "The color that is made fully transparent, or an empty string for none." msgstr "" "Die Farbe, die vollständig durchsichtig gemacht wird, oder eine leere " "Zeichenkette für keine." -#: ../../library/tkinter.rst:2350 +#: ../../library/tkinter.rst:2419 msgid "macOS additionally supports:" msgstr "macOS unterstützt zusätzlich:" -#: ../../library/tkinter.rst:2352 +#: ../../library/tkinter.rst:2421 msgid "*class*" msgstr "*class*" -#: ../../library/tkinter.rst:2353 +#: ../../library/tkinter.rst:2422 msgid "" "Whether the underlying Aqua window is an ``nswindow`` or an ``nspanel``; " "this can only be set before the window is created." @@ -4494,30 +4560,30 @@ msgstr "" "Ob das zugrunde liegende Aqua-Fenster ein ``nswindow`` oder ein ``nspanel`` " "ist. Das lässt sich nur vor dem Erzeugen des Fensters setzen." -#: ../../library/tkinter.rst:2356 +#: ../../library/tkinter.rst:2425 msgid "*modified*" msgstr "*modified*" -#: ../../library/tkinter.rst:2357 +#: ../../library/tkinter.rst:2426 msgid "" "The modification state shown by the window's close button and proxy icon." msgstr "" "Der Änderungszustand, den der Schließen-Knopf und das Stellvertretersymbol " "des Fensters anzeigen." -#: ../../library/tkinter.rst:2360 +#: ../../library/tkinter.rst:2429 msgid "*notify*" msgstr "*notify*" -#: ../../library/tkinter.rst:2361 +#: ../../library/tkinter.rst:2430 msgid "Whether the application's dock icon bounces to request attention." msgstr "Ob das Dock-Symbol der Anwendung hüpft, um Aufmerksamkeit zu erbitten." -#: ../../library/tkinter.rst:2363 +#: ../../library/tkinter.rst:2432 msgid "*stylemask*" msgstr "*stylemask*" -#: ../../library/tkinter.rst:2364 +#: ../../library/tkinter.rst:2433 msgid "" "The style mask of the underlying Aqua window, given as a list of bit names " "such as ``titled`` or ``resizable``." @@ -4525,19 +4591,19 @@ msgstr "" "Die Stilmaske des zugrunde liegenden Aqua-Fensters, angegeben als Liste von " "Bitnamen wie ``titled`` oder ``resizable``." -#: ../../library/tkinter.rst:2367 +#: ../../library/tkinter.rst:2436 msgid "*tabbingid*" msgstr "*tabbingid*" -#: ../../library/tkinter.rst:2368 +#: ../../library/tkinter.rst:2437 msgid "The identifier of the tab group that the window belongs to." msgstr "Der Bezeichner der Tab-Gruppe, zu der das Fenster gehört." -#: ../../library/tkinter.rst:2370 +#: ../../library/tkinter.rst:2439 msgid "*tabbingmode*" msgstr "*tabbingmode*" -#: ../../library/tkinter.rst:2371 +#: ../../library/tkinter.rst:2440 msgid "" "Whether the window may be opened as a tab: ``'auto'``, ``'preferred'`` or " "``'disallowed'``." @@ -4545,35 +4611,35 @@ msgstr "" "Ob das Fenster als Tab geöffnet werden darf: ``'auto'``, ``'preferred'`` " "oder ``'disallowed'``." -#: ../../library/tkinter.rst:2374 +#: ../../library/tkinter.rst:2443 msgid "*titlepath*" msgstr "*titlepath*" -#: ../../library/tkinter.rst:2375 +#: ../../library/tkinter.rst:2444 msgid "The path of the file represented by the window's proxy icon." msgstr "" "Der Pfad der Datei, die das Stellvertretersymbol des Fensters darstellt." -#: ../../library/tkinter.rst:2377 +#: ../../library/tkinter.rst:2446 msgid "*transparent*" msgstr "*transparent*" -#: ../../library/tkinter.rst:2378 +#: ../../library/tkinter.rst:2447 msgid "" "Whether the content area is transparent and the window shadow is turned off." msgstr "" "Ob der Inhaltsbereich durchsichtig ist und der Fensterschatten abgeschaltet " "wird." -#: ../../library/tkinter.rst:2381 +#: ../../library/tkinter.rst:2450 msgid "X11 additionally supports:" msgstr "X11 unterstützt zusätzlich:" -#: ../../library/tkinter.rst:2383 +#: ../../library/tkinter.rst:2452 msgid "*type*" msgstr "Typ" -#: ../../library/tkinter.rst:2384 +#: ../../library/tkinter.rst:2453 msgid "" "The window type, or a list of types in order of preference, that the window " "manager should use to interpret the window, such as ``'dialog'`` or " @@ -4583,15 +4649,15 @@ msgstr "" "nach denen der Fenstermanager das Fenster deuten soll, etwa ``'dialog'`` " "oder ``'splash'``." -#: ../../library/tkinter.rst:2388 +#: ../../library/tkinter.rst:2457 msgid "*zoomed*" msgstr "*zoomed*" -#: ../../library/tkinter.rst:2389 +#: ../../library/tkinter.rst:2458 msgid "Whether the window is maximized." msgstr "Ob das Fenster maximiert ist." -#: ../../library/tkinter.rst:2393 +#: ../../library/tkinter.rst:2462 msgid "" "Tk 8.6 added the *type* attribute, and Tk 9.0 added the *appearance*, " "*class*, *stylemask*, *tabbingid* and *tabbingmode* attributes." @@ -4599,7 +4665,7 @@ msgstr "" "Tk 8.6 hat das Attribut *type* ergänzt, Tk 9.0 die Attribute *appearance*, " "*class*, *stylemask*, *tabbingid* und *tabbingmode*." -#: ../../library/tkinter.rst:2396 +#: ../../library/tkinter.rst:2465 msgid "" "On X11 changes are applied asynchronously, so a queried value may not yet " "reflect the most recent request. :meth:`wm_attributes` is an alias of :meth:" @@ -4609,7 +4675,7 @@ msgstr "" "also möglicherweise die jüngste Anforderung noch nicht wieder. :meth:" "`wm_attributes` ist ein Alias von :meth:`!attributes`." -#: ../../library/tkinter.rst:2400 +#: ../../library/tkinter.rst:2469 msgid "" "A single attribute may now be queried by name without the leading ``-``, and " "attributes may be set using keyword arguments. The *return_python_dict* " @@ -4619,7 +4685,7 @@ msgstr "" "`` abfragen, und Attribute lassen sich über Schlüsselwortargumente setzen. " "Der Parameter *return_python_dict* wurde hinzugefügt." -#: ../../library/tkinter.rst:2405 +#: ../../library/tkinter.rst:2474 msgid "" "Setting an attribute by passing the option name (with a leading ``-``) and " "its value as two positional arguments, as in ``w.attributes('-alpha', " @@ -4629,7 +4695,7 @@ msgstr "" "Wert als zwei Positionsargumente übergeben werden, wie in ``w.attributes('-" "alpha', 0.5)``, ist abgekündigt. Verwende stattdessen Schlüsselwortargumente." -#: ../../library/tkinter.rst:2417 +#: ../../library/tkinter.rst:2486 msgid "" "Store *name*, which should be the name of the host on which the application " "is running, in the window's ``WM_CLIENT_MACHINE`` property for use by the " @@ -4644,7 +4710,7 @@ msgstr "" "oder eine leere Zeichenkette. :meth:`wm_client` ist ein Alias von :meth:`!" "client`." -#: ../../library/tkinter.rst:2429 +#: ../../library/tkinter.rst:2498 msgid "" "Manipulate the ``WM_COLORMAP_WINDOWS`` property, which tells the window " "manager about windows that have private colormaps. If *wlist* is given, " @@ -4660,7 +4726,7 @@ msgstr "" "der derzeit in der Eigenschaft genannten Fenster zurückgegeben. :meth:" "`wm_colormapwindows` ist ein Alias von :meth:`!colormapwindows`." -#: ../../library/tkinter.rst:2442 +#: ../../library/tkinter.rst:2511 msgid "" "Store *value* in the window's ``WM_COMMAND`` property for use by the window " "or session manager; it should be a list giving the words of the command used " @@ -4675,7 +4741,7 @@ msgstr "" "Wert zurückgegeben, oder eine leere Zeichenkette. :meth:`wm_command` ist ein " "Alias von :meth:`!command`." -#: ../../library/tkinter.rst:2454 +#: ../../library/tkinter.rst:2523 msgid "" "Display the window in normal (non-iconified) form by mapping it. If the " "window has never been mapped, this ensures it appears de-iconified when it " @@ -4688,7 +4754,7 @@ msgstr "" "Windows wird das Fenster außerdem angehoben und erhält den Fokus. :meth:" "`wm_deiconify` ist ein Alias von :meth:`!deiconify`." -#: ../../library/tkinter.rst:2465 +#: ../../library/tkinter.rst:2534 msgid "" "Set or query the focus model for the window. *model* is either ``'active'`` " "(the window claims the input focus for itself or its descendants, even when " @@ -4706,7 +4772,7 @@ msgstr "" "Vorgabe ist ``'passive'``, wovon auch der Befehl :meth:`!focus` ausgeht. :" "meth:`wm_focusmodel` ist ein Alias von :meth:`!focusmodel`." -#: ../../library/tkinter.rst:2480 +#: ../../library/tkinter.rst:2549 msgid "" "Unmap *window* from the screen so that it is no longer managed by the window " "manager. A :class:`Toplevel` is then treated like a :class:`Frame`, although " @@ -4719,11 +4785,11 @@ msgstr "" "wieder erscheint, sobald das Widget erneut verwaltet wird. :meth:`wm_forget` " "ist ein Alias von :meth:`!forget`." -#: ../../library/tkinter.rst:2487 +#: ../../library/tkinter.rst:2556 msgid "Not to be confused with :meth:`Pack.forget`." msgstr "Nicht zu verwechseln mit :meth:`Pack.forget`." -#: ../../library/tkinter.rst:2496 +#: ../../library/tkinter.rst:2565 msgid "" "Return the platform-specific window identifier for the outermost decorative " "frame containing the window, if the window manager has reparented it into " @@ -4735,7 +4801,7 @@ msgstr "" "einen solchen Rahmen umgehängt hat, andernfalls den Bezeichner des Fensters " "selbst. :meth:`wm_frame` ist ein Alias von :meth:`!frame`." -#: ../../library/tkinter.rst:2507 +#: ../../library/tkinter.rst:2576 msgid "" "Set or query the geometry of the window. *newGeometry* has the form " "``=widthxheight+x+y``, where any of ``=``, ``widthxheight`` and the ``+x+y`` " @@ -4762,7 +4828,7 @@ msgstr "" "Form ``'200x200+10+10'`` zurückgegeben. :meth:`wm_geometry` ist ein Alias " "von :meth:`!geometry`." -#: ../../library/tkinter.rst:2526 +#: ../../library/tkinter.rst:2595 msgid "" "Manage the window as a gridded window and define the relationship between " "grid units and pixels. *baseWidth* and *baseHeight* are the numbers of grid " @@ -4781,11 +4847,11 @@ msgstr "" "``None``, wenn das Fenster kein Grid-Fenster ist. :meth:`wm_grid` ist ein " "Alias von :meth:`!grid`." -#: ../../library/tkinter.rst:2536 +#: ../../library/tkinter.rst:2605 msgid "Not to be confused with the grid geometry manager :meth:`Grid.grid`." msgstr "Nicht zu verwechseln mit dem Geometriemanager grid, :meth:`Grid.grid`." -#: ../../library/tkinter.rst:2543 +#: ../../library/tkinter.rst:2612 msgid "" "Set or query the leader of a group of related windows. *pathName* gives the " "path name of the group leader; the window manager may, for example, unmap " @@ -4802,7 +4868,7 @@ msgstr "" "Gruppenanführers zurückgegeben, oder eine leere Zeichenkette. :meth:" "`wm_group` ist ein Alias von :meth:`!group`." -#: ../../library/tkinter.rst:2557 +#: ../../library/tkinter.rst:2626 msgid "" "Set or query the bitmap used by the window manager for the window's icon. " "*bitmap* names a bitmap in one of the standard forms accepted by Tk; an " @@ -4821,7 +4887,7 @@ msgstr "" "alle Toplevel-Fenster ohne eigenes Symbol angewendet wird. :meth:" "`wm_iconbitmap` ist ein Alias von :meth:`!iconbitmap`." -#: ../../library/tkinter.rst:2571 +#: ../../library/tkinter.rst:2640 msgid "" "Iconify the window. If the window has not yet been mapped for the first " "time, arrange for it to appear in the iconified state when it is eventually " @@ -4831,7 +4897,7 @@ msgstr "" "sorgt dies dafür, dass es beim späteren Einblenden im Symbolzustand " "erscheint. :meth:`wm_iconify` ist ein Alias von :meth:`!iconify`." -#: ../../library/tkinter.rst:2581 +#: ../../library/tkinter.rst:2650 msgid "" "Set or query the bitmap used as a mask for the icon (see :meth:" "`iconbitmap`). Where the mask is zero no icon is displayed; where it is one, " @@ -4847,7 +4913,7 @@ msgstr "" "der aktuellen Symbolmaske zurückgegeben, oder eine leere Zeichenkette. :meth:" "`wm_iconmask` ist ein Alias von :meth:`!iconmask`." -#: ../../library/tkinter.rst:2595 +#: ../../library/tkinter.rst:2664 msgid "" "Set or query the name displayed by the window manager inside the window's " "icon. With no argument, return the current icon name, or an empty string if " @@ -4860,7 +4926,7 @@ msgstr "" "normalerweise den Titel des Fensters an). :meth:`wm_iconname` ist ein Alias " "von :meth:`!iconname`." -#: ../../library/tkinter.rst:2607 +#: ../../library/tkinter.rst:2676 msgid "" "Set the titlebar icon for the window from one or more :class:`PhotoImage` " "objects given in *images*. Several images of different sizes (for example " @@ -4881,7 +4947,7 @@ msgstr "" "wird nur das erste Bild verwendet. :meth:`wm_iconphoto` ist ein Alias von :" "meth:`!iconphoto`." -#: ../../library/tkinter.rst:2625 +#: ../../library/tkinter.rst:2694 msgid "" "Set or query a hint to the window manager about where the window's icon " "should be positioned. Empty strings cancel an existing hint. With no " @@ -4894,7 +4960,7 @@ msgstr "" "Werte zurückgegeben, oder ``None``, wenn kein Hinweis wirkt. :meth:" "`wm_iconposition` ist ein Alias von :meth:`!iconposition`." -#: ../../library/tkinter.rst:2637 +#: ../../library/tkinter.rst:2706 msgid "" "Set or query the window used as the icon for the window. When the window is " "iconified, *pathName* is mapped to serve as its icon and unmapped again when " @@ -4913,7 +4979,7 @@ msgstr "" "Symbolfenster, und außerhalb von X11 ist das Konzept bedeutungslos. :meth:" "`wm_iconwindow` ist ein Alias von :meth:`!iconwindow`." -#: ../../library/tkinter.rst:2652 +#: ../../library/tkinter.rst:2721 msgid "" "Make *widget* a stand-alone top-level window, decorated by the window " "manager with a title bar and so on. Only :class:`Frame`, :class:`LabelFrame` " @@ -4928,7 +4994,7 @@ msgstr "" "andere Widget-Typ löst einen Fehler aus. :meth:`wm_manage` ist ein Alias " "von :meth:`!manage`." -#: ../../library/tkinter.rst:2666 +#: ../../library/tkinter.rst:2735 msgid "" "Set or query the maximum permissible dimensions of the window, in pixels (or " "grid units for a gridded window). The window manager restricts the window to " @@ -4943,7 +5009,7 @@ msgstr "" "ist standardmäßig die Bildschirmgröße. :meth:`wm_maxsize` ist ein Alias von :" "meth:`!maxsize`." -#: ../../library/tkinter.rst:2680 +#: ../../library/tkinter.rst:2749 msgid "" "Set or query the minimum permissible dimensions of the window, in pixels (or " "grid units for a gridded window). The window manager restricts the window to " @@ -4958,7 +5024,7 @@ msgstr "" "Mindestgröße ist standardmäßig ein Pixel in jeder Richtung. :meth:" "`wm_minsize` ist ein Alias von :meth:`!minsize`." -#: ../../library/tkinter.rst:2694 +#: ../../library/tkinter.rst:2763 msgid "" "Set or query the override-redirect flag for the window. When this flag is " "set, the window is ignored by the window manager: it is not reparented into " @@ -4979,7 +5045,7 @@ msgstr "" "Zustand neu eingeblendet wird. :meth:`wm_overrideredirect` ist ein Alias " "von :meth:`!overrideredirect`." -#: ../../library/tkinter.rst:2709 +#: ../../library/tkinter.rst:2778 msgid "" "Set or query the source of the window's current position. *who* is either " "``'program'`` or ``'user'`` and indicates whether the position was requested " @@ -4998,7 +5064,7 @@ msgstr "" "``'user'``, sofern sie nicht ausdrücklich auf ``'program'`` gesetzt wurde. :" "meth:`wm_positionfrom` ist ein Alias von :meth:`!positionfrom`." -#: ../../library/tkinter.rst:2724 +#: ../../library/tkinter.rst:2793 msgid "" "Register *func* as the handler for the window manager protocol *name*, an " "atom such as ``'WM_DELETE_WINDOW'``, ``'WM_SAVE_YOURSELF'`` or " @@ -5023,7 +5089,7 @@ msgstr "" "Argumente wird ein Tupel der Protokolle zurückgegeben, für die derzeit " "Handler bestehen. :meth:`wm_protocol` ist ein Alias von :meth:`!protocol`." -#: ../../library/tkinter.rst:2742 +#: ../../library/tkinter.rst:2811 msgid "" "Control whether the user may interactively resize the window. *width* and " "*height* are boolean values that determine whether the window's width and " @@ -5039,7 +5105,7 @@ msgstr "" "derzeit veränderbar ist. Standardmäßig ist ein Fenster in beiden Richtungen " "veränderbar. :meth:`wm_resizable` ist ein Alias von :meth:`!resizable`." -#: ../../library/tkinter.rst:2755 +#: ../../library/tkinter.rst:2824 msgid "" "Set or query the source of the window's current size. *who* is either " "``'program'`` or ``'user'`` and indicates whether the size was requested by " @@ -5054,7 +5120,7 @@ msgstr "" "eine leere Zeichenkette, wenn keine gesetzt wurde. :meth:`wm_sizefrom` ist " "ein Alias von :meth:`!sizefrom`." -#: ../../library/tkinter.rst:2768 +#: ../../library/tkinter.rst:2837 msgid "" "Set or query the state of the window. With no argument, return the current " "state: one of ``'normal'``, ``'iconic'``, ``'withdrawn'``, ``'icon'`` or, on " @@ -5071,13 +5137,13 @@ msgstr "" "meth:`iconwindow`). Der Zustand ``'icon'`` lässt sich nicht setzen. :meth:" "`wm_state` ist ein Alias von :meth:`!state`." -#: ../../library/tkinter.rst:2777 +#: ../../library/tkinter.rst:2846 msgid "" "Not to be confused with :meth:`ttk.Widget.state `." msgstr "" "Nicht zu verwechseln mit :meth:`ttk.Widget.state `." -#: ../../library/tkinter.rst:2785 +#: ../../library/tkinter.rst:2854 msgid "" "Set or query the title for the window, which the window manager should " "display in the window's title bar. With no argument, return the current " @@ -5089,7 +5155,7 @@ msgstr "" "zurückgegeben. Der Titel ist standardmäßig der Name des Fensters. :meth:" "`wm_title` ist ein Alias von :meth:`!title`." -#: ../../library/tkinter.rst:2796 +#: ../../library/tkinter.rst:2865 msgid "" "Mark the window as a transient window (such as a pull-down menu or dialog) " "working on behalf of *master*, the path name of another top-level window. An " @@ -5109,7 +5175,7 @@ msgstr "" "seiner selbst zu machen ist ein Fehler. :meth:`wm_transient` ist ein Alias " "von :meth:`!transient`." -#: ../../library/tkinter.rst:2812 +#: ../../library/tkinter.rst:2881 msgid "" "Withdraw the window from the screen, unmapping it and causing the window " "manager to forget about it. If the window has never been mapped, it is " @@ -5125,7 +5191,7 @@ msgstr "" "damit manche Fenstermanager Änderungen an Fensterattributen bemerken. :meth:" "`wm_withdraw` ist ein Alias von :meth:`!withdraw`." -#: ../../library/tkinter.rst:2824 +#: ../../library/tkinter.rst:2893 msgid "" "Geometry manager that arranges widgets by packing them against the sides of " "their container. The :class:`!Pack` mix-in is inherited by all widgets " @@ -5139,7 +5205,7 @@ msgstr "" "Geometriemanager *pack* zu verwalten. Siehe auch :ref:`tkinter-geometry-" "management`." -#: ../../library/tkinter.rst:2833 +#: ../../library/tkinter.rst:2902 msgid "" ":class:`Pack`, :class:`Place` and :class:`Grid` all define the short method " "names :meth:`!forget`, :meth:`!info`, :meth:`!slaves`, :meth:`!content` and :" @@ -5163,7 +5229,7 @@ msgstr "" "``place`` für die Geometriekonfiguration), um auf einen bestimmten " "Geometriemanager zu wirken." -#: ../../library/tkinter.rst:2855 +#: ../../library/tkinter.rst:2924 msgid "" "Pack the widget inside its container, positioning it relative to the " "siblings already packed there. The supported options are:" @@ -5171,11 +5237,11 @@ msgstr "" "Packt das Widget in seinen Container und positioniert es relativ zu den dort " "bereits gepackten Geschwistern. Unterstützt werden diese Optionen:" -#: ../../library/tkinter.rst:2859 +#: ../../library/tkinter.rst:2928 msgid "*side*" msgstr "*side*" -#: ../../library/tkinter.rst:2860 +#: ../../library/tkinter.rst:2929 msgid "" "Which side of the container to pack the widget against: ``'top'`` (the " "default), ``'bottom'``, ``'left'`` or ``'right'``." @@ -5183,11 +5249,11 @@ msgstr "" "An welche Seite des Containers das Widget gepackt wird: ``'top'`` (die " "Vorgabe), ``'bottom'``, ``'left'`` oder ``'right'``." -#: ../../library/tkinter.rst:2863 ../../library/tkinter.rst:3487 +#: ../../library/tkinter.rst:2932 ../../library/tkinter.rst:3560 msgid "*fill*" msgstr "*fill*" -#: ../../library/tkinter.rst:2864 +#: ../../library/tkinter.rst:2933 msgid "" "Whether to stretch the widget to fill its parcel: ``'none'`` (the default), " "``'x'``, ``'y'`` or ``'both'``." @@ -5195,11 +5261,11 @@ msgstr "" "Ob das Widget gedehnt wird, um seinen zugewiesenen Bereich auszufüllen: " "``'none'`` (die Vorgabe), ``'x'``, ``'y'`` oder ``'both'``." -#: ../../library/tkinter.rst:2867 +#: ../../library/tkinter.rst:2936 msgid "*expand*" msgstr "*expand*" -#: ../../library/tkinter.rst:2868 +#: ../../library/tkinter.rst:2937 msgid "" "Whether the widget should expand to consume any extra space in its container " "(a boolean, default false)." @@ -5207,13 +5273,13 @@ msgstr "" "Ob sich das Widget ausdehnen soll, um zusätzlichen Platz in seinem Container " "aufzubrauchen (ein Wahrheitswert, Vorgabe falsch)." -#: ../../library/tkinter.rst:2871 ../../library/tkinter.rst:2977 -#: ../../library/tkinter.rst:3597 ../../library/tkinter.rst:3616 -#: ../../library/tkinter.rst:3631 ../../library/tkinter.rst:3644 +#: ../../library/tkinter.rst:2940 ../../library/tkinter.rst:3046 +#: ../../library/tkinter.rst:3670 ../../library/tkinter.rst:3689 +#: ../../library/tkinter.rst:3704 ../../library/tkinter.rst:3717 msgid "*anchor*" msgstr "*anchor*" -#: ../../library/tkinter.rst:2872 +#: ../../library/tkinter.rst:2941 msgid "" "Where to position the widget in its parcel when the parcel is larger than " "the widget: an anchor such as ``'n'`` or ``'sw'`` (default ``'center'``)." @@ -5222,11 +5288,11 @@ msgstr "" "Bereich größer als das Widget ist: ein Anker wie ``'n'`` oder ``'sw'`` " "(Vorgabe ``'center'``)." -#: ../../library/tkinter.rst:2876 ../../library/tkinter.rst:3071 +#: ../../library/tkinter.rst:2945 ../../library/tkinter.rst:3140 msgid "*ipadx*, *ipady*" msgstr "*ipadx*, *ipady*" -#: ../../library/tkinter.rst:2877 ../../library/tkinter.rst:3072 +#: ../../library/tkinter.rst:2946 ../../library/tkinter.rst:3141 msgid "" "Internal padding added on the left and right (*ipadx*) or top and bottom " "(*ipady*) of the widget, as a screen distance (default ``0``)." @@ -5234,11 +5300,11 @@ msgstr "" "Innenabstand, der links und rechts (*ipadx*) oder oben und unten (*ipady*) " "am Widget hinzugefügt wird, als Bildschirmabstand (Vorgabe ``0``)." -#: ../../library/tkinter.rst:2880 ../../library/tkinter.rst:3075 +#: ../../library/tkinter.rst:2949 ../../library/tkinter.rst:3144 msgid "*padx*, *pady*" msgstr "*padx*, *pady*" -#: ../../library/tkinter.rst:2881 ../../library/tkinter.rst:3076 +#: ../../library/tkinter.rst:2950 ../../library/tkinter.rst:3145 msgid "" "External padding left on the left and right (*padx*) or top and bottom " "(*pady*) of the widget, as a screen distance or a pair of two distances for " @@ -5248,11 +5314,11 @@ msgstr "" "Widget frei bleibt, als Bildschirmabstand oder als Paar zweier Abstände für " "die beiden Seiten (Vorgabe ``0``)." -#: ../../library/tkinter.rst:2885 +#: ../../library/tkinter.rst:2954 msgid "*after*" msgstr "*after*" -#: ../../library/tkinter.rst:2886 +#: ../../library/tkinter.rst:2955 msgid "" "Pack the widget after the given widget in the packing order, using the same " "container." @@ -5260,11 +5326,11 @@ msgstr "" "Packt das Widget in der Packreihenfolge nach dem angegebenen Widget, im " "selben Container." -#: ../../library/tkinter.rst:2889 +#: ../../library/tkinter.rst:2958 msgid "*before*" msgstr "*before*" -#: ../../library/tkinter.rst:2890 +#: ../../library/tkinter.rst:2959 msgid "" "Pack the widget before the given widget in the packing order, using the same " "container." @@ -5272,19 +5338,19 @@ msgstr "" "Packt das Widget in der Packreihenfolge vor dem angegebenen Widget, im " "selben Container." -#: ../../library/tkinter.rst:2893 ../../library/tkinter.rst:2997 -#: ../../library/tkinter.rst:3080 +#: ../../library/tkinter.rst:2962 ../../library/tkinter.rst:3066 +#: ../../library/tkinter.rst:3149 msgid "*in_*" msgstr "*in_*" -#: ../../library/tkinter.rst:2894 +#: ../../library/tkinter.rst:2963 msgid "" "The container in which to pack the widget; it defaults to the parent widget." msgstr "" "Der Container, in den das Widget gepackt wird. Die Vorgabe ist das Eltern-" "Widget." -#: ../../library/tkinter.rst:2897 +#: ../../library/tkinter.rst:2966 msgid "" ":meth:`pack`, :meth:`configure` and :meth:`config` are aliases of :meth:`!" "pack_configure`." @@ -5292,7 +5358,7 @@ msgstr "" ":meth:`pack`, :meth:`configure` und :meth:`config` sind Aliase von :meth:`!" "pack_configure`." -#: ../../library/tkinter.rst:2905 +#: ../../library/tkinter.rst:2974 msgid "" "Unmap the widget and remove it from the packing order, forgetting its " "packing options. It can be packed again later with :meth:`pack_configure`. :" @@ -5308,11 +5374,11 @@ msgstr "" "ttk.Notebook>` und :class:`ttk.PanedWindow `, die " "eine eigene Methode :meth:`!forget` bereitstellen." -#: ../../library/tkinter.rst:2914 +#: ../../library/tkinter.rst:2983 msgid "Not to be confused with :meth:`Wm.forget`." msgstr "Nicht zu verwechseln mit :meth:`Wm.forget`." -#: ../../library/tkinter.rst:2921 +#: ../../library/tkinter.rst:2990 msgid "" "Return a dictionary of the widget's current packing options. :meth:`info` is " "an alias of :meth:`!pack_info`." @@ -5320,7 +5386,7 @@ msgstr "" "Gibt ein Dictionary der aktuellen Pack-Optionen des Widgets zurück. :meth:" "`info` ist ein Alias von :meth:`!pack_info`." -#: ../../library/tkinter.rst:2931 +#: ../../library/tkinter.rst:3000 msgid "" "Same as :meth:`Misc.pack_propagate`, treating this widget as a container: " "enable or disable geometry propagation. :meth:`propagate` is an alias of :" @@ -5330,7 +5396,7 @@ msgstr "" "die Geometrieweitergabe ein oder aus. :meth:`propagate` ist ein Alias von :" "meth:`!pack_propagate`." -#: ../../library/tkinter.rst:2940 +#: ../../library/tkinter.rst:3009 msgid "" "Same as :meth:`Misc.pack_slaves`: return the list of widgets packed in this " "widget. :meth:`slaves` is an alias of :meth:`!pack_slaves`." @@ -5338,7 +5404,7 @@ msgstr "" "Wie :meth:`Misc.pack_slaves`: gibt die Liste der in diesem Widget gepackten " "Widgets zurück. :meth:`slaves` ist ein Alias von :meth:`!pack_slaves`." -#: ../../library/tkinter.rst:2947 +#: ../../library/tkinter.rst:3016 msgid "" "Geometry manager that places widgets at explicit positions and sizes within " "their container. The :class:`!Place` mix-in is inherited by all widgets " @@ -5349,7 +5415,7 @@ msgstr "" "class:`!Place` wird von allen Widgets (über :class:`Widget`) geerbt. Siehe " "auch :ref:`tkinter-geometry-management`." -#: ../../library/tkinter.rst:2962 +#: ../../library/tkinter.rst:3031 msgid "" "Place the widget inside its container at an absolute or relative position. " "The supported options are:" @@ -5357,11 +5423,11 @@ msgstr "" "Platziert das Widget in seinem Container an einer absoluten oder relativen " "Position. Unterstützt werden diese Optionen:" -#: ../../library/tkinter.rst:2966 +#: ../../library/tkinter.rst:3035 msgid "*x*, *y*" msgstr "*x*, *y*" -#: ../../library/tkinter.rst:2967 +#: ../../library/tkinter.rst:3036 msgid "" "The absolute horizontal and vertical position of the widget's anchor point, " "as a screen distance (default ``0``)." @@ -5369,11 +5435,11 @@ msgstr "" "Die absolute waagerechte und senkrechte Position des Ankerpunkts des " "Widgets, als Bildschirmabstand (Vorgabe ``0``)." -#: ../../library/tkinter.rst:2970 +#: ../../library/tkinter.rst:3039 msgid "*relx*, *rely*" msgstr "*relx*, *rely*" -#: ../../library/tkinter.rst:2971 +#: ../../library/tkinter.rst:3040 msgid "" "The horizontal and vertical position of the widget's anchor point as a " "fraction of the container's width and height, where ``0.0`` is the left or " @@ -5385,7 +5451,7 @@ msgstr "" "obere Rand und ``1.0`` der rechte oder untere Rand ist. Sind sowohl die " "absolute als auch die relative Option angegeben, werden ihre Werte addiert." -#: ../../library/tkinter.rst:2978 +#: ../../library/tkinter.rst:3047 msgid "" "Which point of the widget is placed at the given position: an anchor such as " "``'n'`` or ``'se'`` (default ``'nw'``)." @@ -5393,11 +5459,11 @@ msgstr "" "Welcher Punkt des Widgets an der angegebenen Position platziert wird: ein " "Anker wie ``'n'`` oder ``'se'`` (Vorgabe ``'nw'``)." -#: ../../library/tkinter.rst:2981 ../../library/tkinter.rst:3647 +#: ../../library/tkinter.rst:3050 ../../library/tkinter.rst:3720 msgid "*width*, *height*" msgstr "*width*, *height*" -#: ../../library/tkinter.rst:2982 +#: ../../library/tkinter.rst:3051 msgid "" "The absolute width and height of the widget, as a screen distance. By " "default the widget's requested size is used." @@ -5405,11 +5471,11 @@ msgstr "" "Die absolute Breite und Höhe des Widgets, als Bildschirmabstand. " "Standardmäßig wird die angeforderte Größe des Widgets verwendet." -#: ../../library/tkinter.rst:2985 +#: ../../library/tkinter.rst:3054 msgid "*relwidth*, *relheight*" msgstr "*relwidth*, *relheight*" -#: ../../library/tkinter.rst:2986 +#: ../../library/tkinter.rst:3055 msgid "" "The width and height of the widget as a fraction of the container's width " "and height. If both the absolute and the relative option are given, their " @@ -5419,11 +5485,11 @@ msgstr "" "Containers. Sind sowohl die absolute als auch die relative Option angegeben, " "werden ihre Werte addiert." -#: ../../library/tkinter.rst:2991 +#: ../../library/tkinter.rst:3060 msgid "*bordermode*" msgstr "*bordermode*" -#: ../../library/tkinter.rst:2992 +#: ../../library/tkinter.rst:3061 msgid "" "How the container's border affects placement: ``'inside'`` (the default) " "measures the area inside the border, ``'outside'`` measures the area " @@ -5434,7 +5500,7 @@ msgstr "" "``'outside'`` den Bereich einschließlich des Rahmens, und ``'ignore'`` " "verwendet den offiziellen X-Bereich." -#: ../../library/tkinter.rst:2998 +#: ../../library/tkinter.rst:3067 msgid "" "The container relative to which the widget is placed; it must be the " "widget's parent or a descendant of the parent, and defaults to the parent." @@ -5443,7 +5509,7 @@ msgstr "" "Elternteil des Widgets oder ein Nachfahre des Elternteils sein und ist " "standardmäßig das Elternteil." -#: ../../library/tkinter.rst:3002 +#: ../../library/tkinter.rst:3071 msgid "" ":meth:`place`, :meth:`configure` and :meth:`config` are aliases of :meth:`!" "place_configure`." @@ -5451,7 +5517,7 @@ msgstr "" ":meth:`place`, :meth:`configure` und :meth:`config` sind Aliase von :meth:`!" "place_configure`." -#: ../../library/tkinter.rst:3010 +#: ../../library/tkinter.rst:3079 msgid "" "Unmap the widget and remove it from the placement, forgetting its place " "options." @@ -5459,11 +5525,11 @@ msgstr "" "Blendet das Widget aus und nimmt es aus der Platzierung heraus, wobei seine " "Place-Optionen vergessen werden." -#: ../../library/tkinter.rst:3018 +#: ../../library/tkinter.rst:3087 msgid "Return a dictionary of the widget's current place options." msgstr "Gibt ein Dictionary der aktuellen Place-Optionen des Widgets zurück." -#: ../../library/tkinter.rst:3025 +#: ../../library/tkinter.rst:3094 msgid "" "Same as :meth:`Misc.place_slaves`: return the list of widgets placed in this " "widget." @@ -5471,7 +5537,7 @@ msgstr "" "Wie :meth:`Misc.place_slaves`: gibt die Liste der in diesem Widget " "platzierten Widgets zurück." -#: ../../library/tkinter.rst:3031 +#: ../../library/tkinter.rst:3100 msgid "" "Geometry manager that arranges widgets in a two-dimensional grid of rows and " "columns within their container. The :class:`!Grid` mix-in is inherited by " @@ -5483,23 +5549,23 @@ msgstr "" "allen Widgets (über :class:`Widget`) geerbt. Siehe auch :ref:`tkinter-" "geometry-management`." -#: ../../library/tkinter.rst:3046 +#: ../../library/tkinter.rst:3115 msgid "Position the widget in a cell of its container's grid." msgstr "Positioniert das Widget in einer Zelle des Grids seines Containers." -#: ../../library/tkinter.rst:3048 +#: ../../library/tkinter.rst:3117 msgid "Not to be confused with :meth:`Wm.grid`." msgstr "Nicht zu verwechseln mit :meth:`Wm.grid`." -#: ../../library/tkinter.rst:3050 +#: ../../library/tkinter.rst:3119 msgid "The supported options are:" msgstr "Unterstützt werden diese Optionen:" -#: ../../library/tkinter.rst:3052 +#: ../../library/tkinter.rst:3121 msgid "*row*, *column*" msgstr "*row*, *column*" -#: ../../library/tkinter.rst:3053 +#: ../../library/tkinter.rst:3122 msgid "" "The row and column of the cell to place the widget in, counting from ``0``. " "*column* defaults to the column after the previous widget placed in the " @@ -5511,21 +5577,21 @@ msgstr "" "Aufruf von :meth:`!grid_configure` platzierten Widget (oder ``0``), und " "*row* ist standardmäßig die nächste leere Zeile." -#: ../../library/tkinter.rst:3059 +#: ../../library/tkinter.rst:3128 msgid "*rowspan*, *columnspan*" msgstr "*rowspan*, *columnspan*" -#: ../../library/tkinter.rst:3060 +#: ../../library/tkinter.rst:3129 msgid "The number of rows and columns the widget should span (default ``1``)." msgstr "" "Die Anzahl der Zeilen und Spalten, über die sich das Widget erstrecken soll " "(Vorgabe ``1``)." -#: ../../library/tkinter.rst:3062 +#: ../../library/tkinter.rst:3131 msgid "*sticky*" msgstr "*sticky*" -#: ../../library/tkinter.rst:3063 +#: ../../library/tkinter.rst:3132 msgid "" "How to position or stretch the widget when its cell is larger than the " "widget: a string containing zero or more of the characters ``'n'``, ``'s'``, " @@ -5542,7 +5608,7 @@ msgstr "" "gedehnt. Die Vorgabe ist ``''``, was das Widget in seiner angeforderten " "Größe zentriert." -#: ../../library/tkinter.rst:3081 +#: ../../library/tkinter.rst:3150 msgid "" "The container in whose grid to place the widget; it defaults to the parent " "widget." @@ -5550,7 +5616,7 @@ msgstr "" "Der Container, in dessen Grid das Widget gesetzt wird. Die Vorgabe ist das " "Eltern-Widget." -#: ../../library/tkinter.rst:3084 +#: ../../library/tkinter.rst:3153 msgid "" ":meth:`grid`, :meth:`configure` and :meth:`config` are aliases of :meth:`!" "grid_configure`." @@ -5558,14 +5624,14 @@ msgstr "" ":meth:`grid`, :meth:`configure` und :meth:`config` sind Aliase von :meth:`!" "grid_configure`." -#: ../../library/tkinter.rst:3092 +#: ../../library/tkinter.rst:3161 msgid "" "Unmap the widget and remove it from the grid, forgetting its grid options." msgstr "" "Blendet das Widget aus und nimmt es aus dem Grid heraus, wobei seine Grid-" "Optionen vergessen werden." -#: ../../library/tkinter.rst:3097 +#: ../../library/tkinter.rst:3166 msgid "" "Unmap the widget and remove it from the grid, but remember its grid options " "so that it is restored to the same cell if it is gridded again." @@ -5574,11 +5640,11 @@ msgstr "" "seine Grid-Optionen, sodass es beim erneuten Einsetzen wieder in derselben " "Zelle landet." -#: ../../library/tkinter.rst:3105 +#: ../../library/tkinter.rst:3174 msgid "Return a dictionary of the widget's current grid options." msgstr "Gibt ein Dictionary der aktuellen Grid-Optionen des Widgets zurück." -#: ../../library/tkinter.rst:3112 +#: ../../library/tkinter.rst:3181 msgid "" "Same as :meth:`Misc.grid_bbox`. :meth:`bbox` is an alias of :meth:`!" "grid_bbox`, except on :class:`Canvas`, :class:`Listbox`, :class:`Spinbox`, :" @@ -5592,7 +5658,7 @@ msgstr "" "Treeview `, die eine eigene Methode :meth:`!bbox` " "bereitstellen." -#: ../../library/tkinter.rst:3124 +#: ../../library/tkinter.rst:3193 msgid "" "Same as :meth:`Misc.grid_columnconfigure`: query or set the options (such as " "*weight*, *minsize*, *pad* and *uniform*) of a grid column. :meth:" @@ -5602,7 +5668,7 @@ msgstr "" "ab oder setzt sie (etwa *weight*, *minsize*, *pad* und *uniform*). :meth:" "`columnconfigure` ist ein Alias von :meth:`!grid_columnconfigure`." -#: ../../library/tkinter.rst:3133 +#: ../../library/tkinter.rst:3202 msgid "" "Same as :meth:`Misc.grid_rowconfigure`: query or set the options of a grid " "row. :meth:`rowconfigure` is an alias of :meth:`!grid_rowconfigure`." @@ -5611,7 +5677,7 @@ msgstr "" "oder setzt sie. :meth:`rowconfigure` ist ein Alias von :meth:`!" "grid_rowconfigure`." -#: ../../library/tkinter.rst:3142 +#: ../../library/tkinter.rst:3211 msgid "" "Same as :meth:`Misc.grid_location`: return the ``(column, row)`` of the cell " "that covers the pixel at *x*, *y*. :meth:`location` is an alias of :meth:`!" @@ -5621,7 +5687,7 @@ msgstr "" "das Pixel bei *x*, *y* abdeckt. :meth:`location` ist ein Alias von :meth:`!" "grid_location`." -#: ../../library/tkinter.rst:3151 +#: ../../library/tkinter.rst:3220 msgid "" "Same as :meth:`Misc.grid_size`: return a ``(columns, rows)`` tuple giving " "the size of the grid. :meth:`size` is an alias of :meth:`!grid_size`, except " @@ -5632,11 +5698,11 @@ msgstr "" "beim Widget :class:`Listbox`, das eine eigene Methode :meth:`!size` " "bereitstellt." -#: ../../library/tkinter.rst:3164 +#: ../../library/tkinter.rst:3233 msgid "Same as :meth:`Misc.grid_propagate`." msgstr "Wie :meth:`Misc.grid_propagate`." -#: ../../library/tkinter.rst:3171 +#: ../../library/tkinter.rst:3240 msgid "" "Same as :meth:`Misc.grid_slaves`: return the widgets managed in the grid, " "optionally restricted to a *row* and/or *column*." @@ -5644,7 +5710,7 @@ msgstr "" "Wie :meth:`Misc.grid_slaves`: gibt die im Grid verwalteten Widgets zurück, " "wahlweise beschränkt auf eine *row* und/oder *column*." -#: ../../library/tkinter.rst:3177 +#: ../../library/tkinter.rst:3246 msgid "" "Mix-in providing the horizontal-scrolling interface shared by widgets such " "as :class:`Entry`, :class:`Canvas`, :class:`Listbox`, :class:`Text` and :" @@ -5656,7 +5722,7 @@ msgstr "" "und :class:`Spinbox` gemeinsam haben. Die Methode :meth:`xview` eines " "Widgets wird als *command* einer waagerechten :class:`Scrollbar` registriert." -#: ../../library/tkinter.rst:3185 +#: ../../library/tkinter.rst:3254 msgid "" "Query or change the horizontal position of the view. With no arguments, " "return a tuple ``(first, last)`` of two fractions between 0 and 1 giving the " @@ -5672,7 +5738,7 @@ msgstr "" "weitergereicht und üblicherweise von einer Bildlaufleiste erzeugt; :meth:" "`xview_moveto` und :meth:`xview_scroll` bieten eine bequemere Schnittstelle." -#: ../../library/tkinter.rst:3195 +#: ../../library/tkinter.rst:3264 msgid "" "Adjust the view so that *fraction* of the total width of the document is off-" "screen to the left. *fraction* is a number between 0 and 1." @@ -5681,17 +5747,19 @@ msgstr "" "links außerhalb des Bildschirms liegt. *fraction* ist eine Zahl zwischen 0 " "und 1." -#: ../../library/tkinter.rst:3201 +#: ../../library/tkinter.rst:3270 +#, fuzzy msgid "" "Shift the view left or right by *number* units. *what* is either ``'units'`` " "or ``'pages'``; a negative *number* scrolls left and a positive one scrolls " -"right." +"right. The :class:`Text` widget accepts also ``'pixels'``, and then *number* " +"can be a screen distance, such as ``'1i'``." msgstr "" "Verschiebt den Ausschnitt um *number* Einheiten nach links oder rechts. " "*what* ist entweder ``'units'`` oder ``'pages'``. Ein negatives *number* " "blättert nach links, ein positives nach rechts." -#: ../../library/tkinter.rst:3208 +#: ../../library/tkinter.rst:3279 msgid "" "Mix-in providing the vertical-scrolling interface shared by widgets such as :" "class:`Canvas`, :class:`Listbox` and :class:`Text`. A widget's :meth:`yview` " @@ -5702,7 +5770,7 @@ msgstr "" "haben. Die Methode :meth:`yview` eines Widgets wird als *command* einer " "senkrechten :class:`Scrollbar` registriert." -#: ../../library/tkinter.rst:3215 +#: ../../library/tkinter.rst:3286 msgid "" "Query or change the vertical position of the view. With no arguments, return " "a tuple ``(first, last)`` of two fractions between 0 and 1 giving the " @@ -5718,7 +5786,7 @@ msgstr "" "weitergereicht, üblicherweise von einer Bildlaufleiste erzeugt; :meth:" "`yview_moveto` und :meth:`yview_scroll` bieten eine bequemere Schnittstelle." -#: ../../library/tkinter.rst:3225 +#: ../../library/tkinter.rst:3296 msgid "" "Adjust the view so that *fraction* of the total height of the document is " "off-screen above the top. *fraction* is a number between 0 and 1." @@ -5727,16 +5795,19 @@ msgstr "" "oberhalb des Bildschirmrands liegt. *fraction* ist eine Zahl zwischen 0 und " "1." -#: ../../library/tkinter.rst:3231 +#: ../../library/tkinter.rst:3302 +#, fuzzy msgid "" "Shift the view up or down by *number* units. *what* is either ``'units'`` or " -"``'pages'``; a negative *number* scrolls up and a positive one scrolls down." +"``'pages'``; a negative *number* scrolls up and a positive one scrolls down. " +"The :class:`Text` widget accepts also ``'pixels'``, and then *number* can be " +"a screen distance, such as ``'1i'``." msgstr "" "Verschiebt den Ausschnitt um *number* Einheiten nach oben oder unten. *what* " "ist entweder ``'units'`` oder ``'pages'``. Ein negatives *number* blättert " "nach oben, ein positives nach unten." -#: ../../library/tkinter.rst:3238 +#: ../../library/tkinter.rst:3311 msgid "" "Internal base class for all widgets. It inherits from :class:`Misc` and adds " "the machinery that creates the underlying Tk widget; application code " @@ -5748,7 +5819,7 @@ msgstr "" "verwendet normalerweise :class:`Widget` oder eine konkrete Widget-Klasse, " "statt :class:`!BaseWidget` direkt zu instanziieren." -#: ../../library/tkinter.rst:3246 +#: ../../library/tkinter.rst:3319 msgid "" "Destroy this widget and all of its children, removing the corresponding Tk " "widgets and deleting the associated Tcl commands." @@ -5756,7 +5827,7 @@ msgstr "" "Zerstört dieses Widget und alle seine Kinder, entfernt die entsprechenden Tk-" "Widgets und löscht die zugehörigen Tcl-Befehle." -#: ../../library/tkinter.rst:3252 +#: ../../library/tkinter.rst:3325 msgid "" "Internal base class for the standard widgets. It combines :class:" "`BaseWidget` with the geometry-manager mix-ins :class:`Pack`, :class:`Place` " @@ -5770,11 +5841,11 @@ msgstr "" "verwaltet werden kann. Die konkreten Widget-Klassen (:class:`Button`, :class:" "`Label` und so weiter) leiten sich von :class:`!Widget` ab." -#: ../../library/tkinter.rst:3261 +#: ../../library/tkinter.rst:3334 msgid "Toplevel widgets" msgstr "Toplevel-Widgets" -#: ../../library/tkinter.rst:3265 +#: ../../library/tkinter.rst:3338 msgid "" "Construct a toplevel Tk widget, which is usually the main window of an " "application, and initialize a Tcl interpreter for this widget. Each " @@ -5786,7 +5857,7 @@ msgstr "" "Jede Instanz hat ihren eigenen zugehörigen Tcl-Interpreter. Erbt von :class:" "`Misc` und :class:`Wm`." -#: ../../library/tkinter.rst:3270 +#: ../../library/tkinter.rst:3343 msgid "" "To create a Tcl interpreter without initializing the Tk subsystem, use the :" "func:`Tcl` factory function instead." @@ -5794,7 +5865,7 @@ msgstr "" "Um einen Tcl-Interpreter zu erzeugen, ohne das Tk-Subsystem zu " "initialisieren, verwende stattdessen die Fabrikfunktion :func:`Tcl`." -#: ../../library/tkinter.rst:3273 +#: ../../library/tkinter.rst:3346 msgid "" "The :class:`Tk` class is typically instantiated using all default values. " "However, the following keyword arguments are currently recognized:" @@ -5803,11 +5874,11 @@ msgstr "" "instanziiert. Derzeit werden jedoch die folgenden Schlüsselwortargumente " "erkannt:" -#: ../../library/tkinter.rst:3276 +#: ../../library/tkinter.rst:3349 msgid "*screenName*" msgstr "*screenName*" -#: ../../library/tkinter.rst:3277 +#: ../../library/tkinter.rst:3350 msgid "" "When given (as a string), sets the :envvar:`DISPLAY` environment variable. " "(X11 only)" @@ -5815,11 +5886,11 @@ msgstr "" "Wenn angegeben (als Zeichenkette), wird damit die Umgebungsvariable :envvar:" "`DISPLAY` gesetzt. (nur X11)" -#: ../../library/tkinter.rst:3279 +#: ../../library/tkinter.rst:3352 msgid "*baseName*" msgstr "*baseName*" -#: ../../library/tkinter.rst:3280 +#: ../../library/tkinter.rst:3353 msgid "" "Name of the profile file. By default, *baseName* is derived from the " "program name (``sys.argv[0]``)." @@ -5827,11 +5898,11 @@ msgstr "" "Name der Profildatei. Standardmäßig wird *baseName* aus dem Programmnamen " "abgeleitet (``sys.argv[0]``)." -#: ../../library/tkinter.rst:3282 +#: ../../library/tkinter.rst:3355 msgid "*className*" msgstr "*className*" -#: ../../library/tkinter.rst:3283 +#: ../../library/tkinter.rst:3356 msgid "" "Name of the widget class. Used as a profile file and also as the name with " "which Tcl is invoked (*argv0* in *interp*)." @@ -5839,11 +5910,11 @@ msgstr "" "Name der Widget-Klasse. Wird als Profildatei und zugleich als Name " "verwendet, mit dem Tcl aufgerufen wird (*argv0* in *interp*)." -#: ../../library/tkinter.rst:3285 +#: ../../library/tkinter.rst:3358 msgid "*useTk*" msgstr "*useTk*" -#: ../../library/tkinter.rst:3286 +#: ../../library/tkinter.rst:3359 msgid "" "If ``True``, initialize the Tk subsystem. The :func:`tkinter.Tcl() ` " "function sets this to ``False``." @@ -5851,11 +5922,11 @@ msgstr "" "Wenn ``True``, wird das Tk-Subsystem initialisiert. Die Funktion :func:" "`tkinter.Tcl() ` setzt dies auf ``False``." -#: ../../library/tkinter.rst:3288 +#: ../../library/tkinter.rst:3361 msgid "*sync*" msgstr "*sync*" -#: ../../library/tkinter.rst:3289 +#: ../../library/tkinter.rst:3362 msgid "" "If ``True``, execute all X server commands synchronously, so that errors are " "reported immediately. Can be used for debugging. (X11 only)" @@ -5863,11 +5934,11 @@ msgstr "" "Wenn ``True``, werden alle Befehle an den X-Server synchron ausgeführt, " "sodass Fehler sofort gemeldet werden. Nützlich zur Fehlersuche. (nur X11)" -#: ../../library/tkinter.rst:3291 +#: ../../library/tkinter.rst:3364 msgid "*use*" msgstr "*use*" -#: ../../library/tkinter.rst:3292 +#: ../../library/tkinter.rst:3365 msgid "" "Specifies the *id* of the window in which to embed the application, instead " "of it being created as an independent toplevel window. *id* must be " @@ -5880,7 +5951,7 @@ msgstr "" "Weise angegeben werden wie der Wert der Option -use für Toplevel-Widgets " "(sie hat also eine Form wie der Rückgabewert von :meth:`~Misc.winfo_id`)." -#: ../../library/tkinter.rst:3298 +#: ../../library/tkinter.rst:3371 msgid "" "Note that on some platforms this will only work correctly if *id* refers to " "a Tk frame or toplevel that has its -container option enabled." @@ -5889,7 +5960,7 @@ msgstr "" "wenn *id* auf einen Tk-Frame oder ein Toplevel verweist, bei dem die Option -" "container eingeschaltet ist." -#: ../../library/tkinter.rst:3301 +#: ../../library/tkinter.rst:3374 msgid "" ":class:`Tk` reads and interprets profile files, named :file:`.{className}." "tcl` and :file:`.{baseName}.tcl`, into the Tcl interpreter and calls :func:" @@ -5903,7 +5974,7 @@ msgstr "" "`exec` angewendet. Der Pfad für die Profildateien ist die Umgebungsvariable :" "envvar:`HOME` oder, falls diese nicht definiert ist, :data:`os.curdir`." -#: ../../library/tkinter.rst:3310 +#: ../../library/tkinter.rst:3383 msgid "" "On Windows, creating a Tcl interpreter (by instantiating :class:`Tk` or " "calling :func:`Tcl`) sets the :envvar:`HOME` environment variable for the " @@ -5917,7 +5988,7 @@ msgstr "" "%HOMEPATH%`` (oder :envvar:`USERPROFILE` oder ``c:\\``). Das macht Tcl, und " "es kann anderen Code beeinflussen, der :envvar:`HOME` liest." -#: ../../library/tkinter.rst:3318 +#: ../../library/tkinter.rst:3391 msgid "" "The Tk application object created by instantiating :class:`Tk`. This " "provides access to the Tcl interpreter. Each widget that is attached the " @@ -5928,7 +5999,7 @@ msgstr "" "dieselbe :class:`Tk`-Instanz angehängt ist, hat denselben Wert für sein " "Attribut :attr:`tk`." -#: ../../library/tkinter.rst:3325 +#: ../../library/tkinter.rst:3398 msgid "" "The widget object that contains this widget. For :class:`Tk`, the :attr:`!" "master` is :const:`None` because it is the main window. The terms *master* " @@ -5947,7 +6018,7 @@ msgstr "" "Beziehung wider, *master* (oder *container*)/*content* dagegen die " "Containerstruktur." -#: ../../library/tkinter.rst:3337 +#: ../../library/tkinter.rst:3410 msgid "" "The immediate descendants of this widget as a :class:`dict` with the child " "widget names as the keys and the child instance objects as the values." @@ -5956,7 +6027,7 @@ msgstr "" "der Kind-Widgets als Schlüsseln und den Instanzobjekten der Kinder als " "Werten." -#: ../../library/tkinter.rst:3343 +#: ../../library/tkinter.rst:3416 msgid "" "Destroy this and all descendant widgets and, for the main window, end the " "connection to the underlying Tcl interpreter." @@ -5964,7 +6035,7 @@ msgstr "" "Zerstört dieses Widget und alle Nachfahren-Widgets und beendet beim " "Hauptfenster die Verbindung zum zugrunde liegenden Tcl-Interpreter." -#: ../../library/tkinter.rst:3348 +#: ../../library/tkinter.rst:3421 msgid "" "Finish loading and initializing the Tk subsystem. This is needed only when " "the interpreter was created without Tk (for example through :func:`Tcl`); it " @@ -5974,7 +6045,7 @@ msgstr "" "gebraucht, wenn der Interpreter ohne Tk erzeugt wurde (zum Beispiel über :" "func:`Tcl`). Bei wahrem *useTk* wird es automatisch aufgerufen." -#: ../../library/tkinter.rst:3355 +#: ../../library/tkinter.rst:3428 msgid "" "Read and source the user's profile files :file:`.{className}.tcl` and :file:" "`.{baseName}.tcl` into the Tcl interpreter, and execute the corresponding :" @@ -5987,7 +6058,7 @@ msgstr "" "py` aus. Das geschieht während der Initialisierung, siehe die Beschreibung " "des Konstruktors oben." -#: ../../library/tkinter.rst:3363 +#: ../../library/tkinter.rst:3436 msgid "" "Report a callback exception. This is called when an exception propagates out " "of a Tkinter callback; *exc*, *val* and *tb* are the exception type, value " @@ -6003,7 +6074,7 @@ msgstr "" "aus. Sie lässt sich überschreiben, um die Fehlerbehandlung anzupassen, etwa " "um den Traceback in einem Dialog anzuzeigen." -#: ../../library/tkinter.rst:3374 +#: ../../library/tkinter.rst:3447 msgid "" "A :class:`!Toplevel` widget is a top-level window, similar to a :class:" "`Frame` except that its X parent is the root window of a screen rather than " @@ -6025,11 +6096,11 @@ msgstr "" "`Wm`, ein Toplevel wird also vom Fenstermanager verwaltet. Die vollständige " "Liste der Optionen steht auf der Tk-Man-Page ``toplevel``." -#: ../../library/tkinter.rst:3388 +#: ../../library/tkinter.rst:3461 msgid "Widget classes" msgstr "Widget-Klassen" -#: ../../library/tkinter.rst:3392 +#: ../../library/tkinter.rst:3465 msgid "" "A :class:`!Button` widget displays a textual string, bitmap or image and " "invokes a command when the user presses it (by clicking mouse button 1 over " @@ -6047,7 +6118,7 @@ msgstr "" "dokumentierten Optionen an, etwa *command* (der beim Drücken aufgerufene " "Callback), *textvariable*, *state* und *default*." -#: ../../library/tkinter.rst:3402 +#: ../../library/tkinter.rst:3475 msgid "" "Invoke the command associated with the button, if there is one, and return " "its result, or an empty string if no command is associated with the button. " @@ -6058,7 +6129,7 @@ msgstr "" "verknüpft ist. Ist der Zustand des Buttons ``disabled``, wird dies " "übergangen." -#: ../../library/tkinter.rst:3409 +#: ../../library/tkinter.rst:3482 msgid "" "Flash the button by redisplaying it several times, alternating between the " "active and normal colors. At the end of the flash the button is left in the " @@ -6070,7 +6141,7 @@ msgstr "" "demselben normalen oder aktiven Zustand wie beim Aufruf der Methode. Ist der " "Zustand des Buttons ``disabled``, wird dies übergangen." -#: ../../library/tkinter.rst:3418 +#: ../../library/tkinter.rst:3491 msgid "" "A :class:`!Canvas` widget implements structured graphics. It displays any " "number of *items*, such as arcs, lines, ovals, polygons, rectangles, text, " @@ -6089,7 +6160,7 @@ msgstr "" "verschieben. Die vollständige Liste der Widget- und Objektoptionen steht auf " "der Tk-Man-Page ``canvas``." -#: ../../library/tkinter.rst:3428 +#: ../../library/tkinter.rst:3501 msgid "" "Each item has a unique integer *id*, assigned when it is created, and zero " "or more string *tags*. A tag is an arbitrary string that does not have the " @@ -6118,7 +6189,7 @@ msgstr "" "einem einzelnen Objekt arbeitet, über *tagOrId* auf mehrere Objekte, " "verwendet sie normalerweise das unterste passende Objekt der Anzeigeliste." -#: ../../library/tkinter.rst:3443 +#: ../../library/tkinter.rst:3516 msgid "" "The items are kept in a *display list* that determines drawing order: items " "later in the list are drawn on top of earlier ones. A newly created item is " @@ -6130,7 +6201,7 @@ msgstr "" "gezeichnet. Ein neu erzeugtes Objekt kommt an die Spitze der Liste. Die " "Reihenfolge lässt sich mit :meth:`tag_raise` und :meth:`tag_lower` ändern." -#: ../../library/tkinter.rst:3458 +#: ../../library/tkinter.rst:3531 msgid "" "Create a new item of the corresponding type and return its integer id. Each " "method is called as ``create_TYPE(coord..., **options)``: the leading " @@ -6153,7 +6224,7 @@ msgstr "" "oder typografische Punkte), werden aber immer in Pixeln gespeichert und " "zurückgegeben." -#: ../../library/tkinter.rst:3468 +#: ../../library/tkinter.rst:3541 msgid "" "The item types are: ``arc`` (an arc-shaped region that is a section of an " "oval, defined by two diagonally opposite corners ``x1, y1, x2, y2`` of the " @@ -6179,7 +6250,7 @@ msgstr "" "``window`` (ein in den Canvas eingebettetes Kind-Widget an einem Punkt ``x, " "y``, über die Option *window* angegeben)." -#: ../../library/tkinter.rst:3480 +#: ../../library/tkinter.rst:3553 msgid "" "Most item types accept a common set of *standard item options*, plus a few " "options specific to each type. Option names are passed as keyword arguments, " @@ -6190,11 +6261,11 @@ msgstr "" "Optionsnamen werden als Schlüsselwortargumente übergeben, ohne den führenden " "Bindestrich." -#: ../../library/tkinter.rst:3485 +#: ../../library/tkinter.rst:3558 msgid "The standard item options are:" msgstr "Die Standard-Objektoptionen sind:" -#: ../../library/tkinter.rst:3488 +#: ../../library/tkinter.rst:3561 msgid "" "The color used to fill the item's interior, or to draw a *line* item or the " "characters of a *text* item. An empty string (the default for all types " @@ -6205,22 +6276,22 @@ msgstr "" "leere Zeichenkette (die Vorgabe für alle Typen außer *line* und *text*) " "lässt das Objekt ungefüllt." -#: ../../library/tkinter.rst:3493 +#: ../../library/tkinter.rst:3566 msgid "*outline*" msgstr "*outline*" -#: ../../library/tkinter.rst:3494 +#: ../../library/tkinter.rst:3567 msgid "" "The color used to draw the item's outline. An empty string draws no outline." msgstr "" "Die Farbe, mit der der Umriss des Objekts gezeichnet wird. Eine leere " "Zeichenkette zeichnet keinen Umriss." -#: ../../library/tkinter.rst:3497 ../../library/tkinter.rst:3601 +#: ../../library/tkinter.rst:3570 ../../library/tkinter.rst:3674 msgid "*width*" msgstr "*width*" -#: ../../library/tkinter.rst:3498 +#: ../../library/tkinter.rst:3571 msgid "" "The width of the outline, defaulting to ``1.0``. Has no effect if *outline* " "is empty." @@ -6228,11 +6299,11 @@ msgstr "" "Die Breite des Umrisses, Vorgabe ``1.0``. Ohne Wirkung, wenn *outline* leer " "ist." -#: ../../library/tkinter.rst:3501 +#: ../../library/tkinter.rst:3574 msgid "*dash*" msgstr "*dash*" -#: ../../library/tkinter.rst:3502 +#: ../../library/tkinter.rst:3575 msgid "" "A dash pattern for the outline, given either as a sequence of segment " "lengths in pixels or as a string of the characters ``'.'``, ``','``, " @@ -6244,11 +6315,11 @@ msgstr "" "``','``, ``'-'``, ``'_'`` und Leerzeichen. Ein leeres Muster (die Vorgabe) " "zeichnet einen durchgezogenen Umriss." -#: ../../library/tkinter.rst:3507 +#: ../../library/tkinter.rst:3580 msgid "*dashoffset*" msgstr "*dashoffset*" -#: ../../library/tkinter.rst:3508 +#: ../../library/tkinter.rst:3581 msgid "" "The starting offset in pixels into the *dash* pattern. Ignored if there is " "no *dash* pattern." @@ -6256,11 +6327,11 @@ msgstr "" "Der Startversatz in Pixeln innerhalb des Musters *dash*. Wird übergangen, " "wenn es kein *dash*-Muster gibt." -#: ../../library/tkinter.rst:3511 +#: ../../library/tkinter.rst:3584 msgid "*stipple*" msgstr "*stipple*" -#: ../../library/tkinter.rst:3512 +#: ../../library/tkinter.rst:3585 msgid "" "A bitmap used as a stipple pattern when filling the item. Only well " "supported on X11." @@ -6268,11 +6339,11 @@ msgstr "" "Eine Bitmap, die beim Füllen des Objekts als Rastermuster dient. Nur unter " "X11 gut unterstützt." -#: ../../library/tkinter.rst:3515 +#: ../../library/tkinter.rst:3588 msgid "*outlinestipple*" msgstr "*outlinestipple*" -#: ../../library/tkinter.rst:3516 +#: ../../library/tkinter.rst:3589 msgid "" "A bitmap used as a stipple pattern when drawing the outline. Has no effect " "if *outline* is empty." @@ -6280,11 +6351,11 @@ msgstr "" "Eine Bitmap, die beim Zeichnen des Umrisses als Rastermuster dient. Ohne " "Wirkung, wenn *outline* leer ist." -#: ../../library/tkinter.rst:3519 +#: ../../library/tkinter.rst:3592 msgid "*offset*, *outlineoffset*" msgstr "*offset*, *outlineoffset*" -#: ../../library/tkinter.rst:3520 +#: ../../library/tkinter.rst:3593 msgid "" "The offset of the fill and outline stipple patterns, given as ``'x,y'`` or " "as a side such as ``'n'``, ``'se'`` or ``'center'``. Stipple offsets are " @@ -6294,11 +6365,11 @@ msgstr "" "oder als Seite wie ``'n'``, ``'se'`` oder ``'center'``. Rasterversätze " "werden nur unter X11 unterstützt." -#: ../../library/tkinter.rst:3524 ../../library/tkinter.rst:4474 +#: ../../library/tkinter.rst:3597 ../../library/tkinter.rst:4546 msgid "*state*" msgstr "*state*" -#: ../../library/tkinter.rst:3525 +#: ../../library/tkinter.rst:3598 msgid "" "Overrides the canvas state for this item; one of ``'normal'``, " "``'disabled'`` or ``'hidden'``." @@ -6306,11 +6377,11 @@ msgstr "" "Überschreibt den Canvas-Zustand für dieses Objekt: ``'normal'``, " "``'disabled'`` oder ``'hidden'``." -#: ../../library/tkinter.rst:3528 +#: ../../library/tkinter.rst:3601 msgid "*tags*" msgstr "*tags*" -#: ../../library/tkinter.rst:3529 +#: ../../library/tkinter.rst:3602 msgid "" "A single tag or a sequence of tags to associate with the item, replacing any " "existing tags." @@ -6318,7 +6389,7 @@ msgstr "" "Ein einzelnes Tag oder eine Folge von Tags, die dem Objekt zugeordnet werden " "und vorhandene Tags ersetzen." -#: ../../library/tkinter.rst:3532 +#: ../../library/tkinter.rst:3605 msgid "" "Many of these options have *active...* and *disabled...* variants (such as " "*activefill*, *disabledfill*, *activewidth*, *disableddash*, " @@ -6332,19 +6403,19 @@ msgstr "" "das Objekt das aktive Objekt ist (unter dem Mauszeiger) oder sich im " "deaktivierten Zustand befindet." -#: ../../library/tkinter.rst:3538 +#: ../../library/tkinter.rst:3611 msgid "The following item types support additional options." msgstr "Die folgenden Objekttypen unterstützen zusätzliche Optionen." -#: ../../library/tkinter.rst:3540 +#: ../../library/tkinter.rst:3613 msgid "For ``arc`` items:" msgstr "Für ``arc``-Objekte:" -#: ../../library/tkinter.rst:3542 +#: ../../library/tkinter.rst:3615 msgid "*start*" msgstr "*start*" -#: ../../library/tkinter.rst:3543 +#: ../../library/tkinter.rst:3616 msgid "" "The start of the arc's angular range, in degrees measured counter-clockwise " "from the 3-o'clock position." @@ -6352,36 +6423,36 @@ msgstr "" "Der Anfang des Winkelbereichs des Bogens, in Grad gegen den Uhrzeigersinn ab " "der 3-Uhr-Stellung gemessen." -#: ../../library/tkinter.rst:3546 +#: ../../library/tkinter.rst:3619 msgid "*extent*" msgstr "*extent*" -#: ../../library/tkinter.rst:3547 +#: ../../library/tkinter.rst:3620 msgid "" "The size of the angular range, in degrees counter-clockwise from *start*." msgstr "" "Die Größe des Winkelbereichs, in Grad gegen den Uhrzeigersinn ab *start*." -#: ../../library/tkinter.rst:3550 +#: ../../library/tkinter.rst:3623 msgid "*style*" msgstr "*style*" -#: ../../library/tkinter.rst:3551 +#: ../../library/tkinter.rst:3624 msgid "" "How the arc is drawn: ``'pieslice'`` (the default), ``'chord'`` or ``'arc'``." msgstr "" "Wie der Bogen gezeichnet wird: ``'pieslice'`` (die Vorgabe), ``'chord'`` " "oder ``'arc'``." -#: ../../library/tkinter.rst:3554 +#: ../../library/tkinter.rst:3627 msgid "For ``line`` items:" msgstr "Für ``line``-Objekte:" -#: ../../library/tkinter.rst:3556 +#: ../../library/tkinter.rst:3629 msgid "*arrow*" msgstr "*arrow*" -#: ../../library/tkinter.rst:3557 +#: ../../library/tkinter.rst:3630 msgid "" "Where to draw arrowheads: ``'none'`` (the default), ``'first'``, ``'last'`` " "or ``'both'``." @@ -6389,20 +6460,20 @@ msgstr "" "Wo Pfeilspitzen gezeichnet werden: ``'none'`` (die Vorgabe), ``'first'``, " "``'last'`` oder ``'both'``." -#: ../../library/tkinter.rst:3560 +#: ../../library/tkinter.rst:3633 msgid "*arrowshape*" msgstr "*arrowshape*" -#: ../../library/tkinter.rst:3561 +#: ../../library/tkinter.rst:3634 msgid "A sequence of three distances describing the shape of the arrowheads." msgstr "" "Eine Folge von drei Abständen, die die Form der Pfeilspitzen beschreibt." -#: ../../library/tkinter.rst:3564 +#: ../../library/tkinter.rst:3637 msgid "*capstyle*" msgstr "*capstyle*" -#: ../../library/tkinter.rst:3565 +#: ../../library/tkinter.rst:3638 msgid "" "How line ends are drawn: ``'butt'`` (the default), ``'projecting'`` or " "``'round'``." @@ -6410,11 +6481,11 @@ msgstr "" "Wie Linienenden gezeichnet werden: ``'butt'`` (die Vorgabe), " "``'projecting'`` oder ``'round'``." -#: ../../library/tkinter.rst:3568 +#: ../../library/tkinter.rst:3641 msgid "*joinstyle*" msgstr "*joinstyle*" -#: ../../library/tkinter.rst:3569 +#: ../../library/tkinter.rst:3642 msgid "" "How line vertices are drawn: ``'round'`` (the default), ``'bevel'`` or " "``'miter'``." @@ -6422,11 +6493,11 @@ msgstr "" "Wie Linienknicke gezeichnet werden: ``'round'`` (die Vorgabe), ``'bevel'`` " "oder ``'miter'``." -#: ../../library/tkinter.rst:3572 +#: ../../library/tkinter.rst:3645 msgid "*smooth*" msgstr "*smooth*" -#: ../../library/tkinter.rst:3573 +#: ../../library/tkinter.rst:3646 msgid "" "The smoothing method: a false value (the default) for no smoothing, or " "``'true'``/``'bezier'`` or ``'raw'`` to draw the line as a curve." @@ -6435,11 +6506,11 @@ msgstr "" "oder ``'true'``/``'bezier'`` bzw. ``'raw'``, um die Linie als Kurve zu " "zeichnen." -#: ../../library/tkinter.rst:3576 +#: ../../library/tkinter.rst:3649 msgid "*splinesteps*" msgstr "*splinesteps*" -#: ../../library/tkinter.rst:3577 +#: ../../library/tkinter.rst:3650 msgid "" "The number of line segments approximating each spline when *smooth* is " "enabled." @@ -6447,45 +6518,45 @@ msgstr "" "Die Anzahl der Liniensegmente, die jeden Spline annähern, wenn *smooth* " "eingeschaltet ist." -#: ../../library/tkinter.rst:3580 +#: ../../library/tkinter.rst:3653 msgid "For ``polygon`` items:" msgstr "Für ``polygon``-Objekte:" -#: ../../library/tkinter.rst:3582 +#: ../../library/tkinter.rst:3655 msgid "*joinstyle*, *smooth*, *splinesteps*" msgstr "*joinstyle*, *smooth*, *splinesteps*" -#: ../../library/tkinter.rst:3583 +#: ../../library/tkinter.rst:3656 msgid "As for ``line`` items, applied to the polygon's outline." msgstr "Wie bei ``line``-Objekten, angewendet auf den Umriss des Polygons." -#: ../../library/tkinter.rst:3585 +#: ../../library/tkinter.rst:3658 msgid "For ``text`` items:" msgstr "Für ``text``-Objekte:" -#: ../../library/tkinter.rst:3587 +#: ../../library/tkinter.rst:3660 msgid "*text*" msgstr "*text*" -#: ../../library/tkinter.rst:3588 +#: ../../library/tkinter.rst:3661 msgid "The string to display; newline characters start new lines." msgstr "" "Die anzuzeigende Zeichenkette; Zeilenumbruchzeichen beginnen neue Zeilen." -#: ../../library/tkinter.rst:3590 ../../library/tkinter.rst:4488 -#: ../../library/tkinter.rst:5372 +#: ../../library/tkinter.rst:3663 ../../library/tkinter.rst:4560 +#: ../../library/tkinter.rst:5444 msgid "*font*" msgstr "*font*" -#: ../../library/tkinter.rst:3591 +#: ../../library/tkinter.rst:3664 msgid "The font used for the text." msgstr "Die für den Text verwendete Schriftart." -#: ../../library/tkinter.rst:3593 ../../library/tkinter.rst:5412 +#: ../../library/tkinter.rst:3666 ../../library/tkinter.rst:5484 msgid "*justify*" msgstr "*justify*" -#: ../../library/tkinter.rst:3594 +#: ../../library/tkinter.rst:3667 msgid "" "How lines are justified: ``'left'`` (the default), ``'right'`` or " "``'center'``." @@ -6493,23 +6564,23 @@ msgstr "" "Wie Zeilen ausgerichtet werden: ``'left'`` (die Vorgabe), ``'right'`` oder " "``'center'``." -#: ../../library/tkinter.rst:3598 +#: ../../library/tkinter.rst:3671 msgid "" "How the text is positioned relative to its point, defaulting to ``'center'``." msgstr "" "Wie der Text relativ zu seinem Punkt positioniert wird, Vorgabe ``'center'``." -#: ../../library/tkinter.rst:3602 +#: ../../library/tkinter.rst:3675 msgid "The maximum line length; if non-zero, lines are wrapped at spaces." msgstr "" "Die größte Zeilenlänge. Ist sie ungleich null, werden Zeilen an Leerzeichen " "umbrochen." -#: ../../library/tkinter.rst:3604 +#: ../../library/tkinter.rst:3677 msgid "*angle*" msgstr "*angle*" -#: ../../library/tkinter.rst:3605 +#: ../../library/tkinter.rst:3678 msgid "" "How many degrees to rotate the text counter-clockwise about its positioning " "point, from ``0.0`` to ``360.0`` (default ``0.0``)." @@ -6518,36 +6589,36 @@ msgstr "" "Positionierungspunkt gedreht wird, von ``0.0`` bis ``360.0`` (Vorgabe " "``0.0``)." -#: ../../library/tkinter.rst:3608 ../../library/tkinter.rst:4470 -#: ../../library/tkinter.rst:5397 +#: ../../library/tkinter.rst:3681 ../../library/tkinter.rst:4542 +#: ../../library/tkinter.rst:5469 msgid "*underline*" msgstr "*underline*" -#: ../../library/tkinter.rst:3609 +#: ../../library/tkinter.rst:3682 msgid "The index of a character to underline, or ``-1`` for none." msgstr "Der Index eines zu unterstreichenden Zeichens, oder ``-1`` für keines." -#: ../../library/tkinter.rst:3611 +#: ../../library/tkinter.rst:3684 msgid "For ``bitmap`` items:" msgstr "Für ``bitmap``-Objekte:" -#: ../../library/tkinter.rst:3613 ../../library/tkinter.rst:4485 +#: ../../library/tkinter.rst:3686 ../../library/tkinter.rst:4557 msgid "*bitmap*" msgstr "*bitmap*" -#: ../../library/tkinter.rst:3614 +#: ../../library/tkinter.rst:3687 msgid "The bitmap to display." msgstr "Die anzuzeigende Bitmap." -#: ../../library/tkinter.rst:3617 +#: ../../library/tkinter.rst:3690 msgid "How the bitmap is positioned relative to its point." msgstr "Wie die Bitmap relativ zu ihrem Punkt positioniert wird." -#: ../../library/tkinter.rst:3619 ../../library/tkinter.rst:4491 +#: ../../library/tkinter.rst:3692 ../../library/tkinter.rst:4563 msgid "*background*, *foreground*" msgstr "*background*, *foreground*" -#: ../../library/tkinter.rst:3620 +#: ../../library/tkinter.rst:3693 msgid "" "The colors used for the bitmap's ``0`` and ``1`` pixels; an empty " "*background* makes the ``0`` pixels transparent. Both have *active...* and " @@ -6559,23 +6630,23 @@ msgstr "" "*disabled...*, und *bitmap* hat die Varianten *activebitmap* und " "*disabledbitmap*." -#: ../../library/tkinter.rst:3625 +#: ../../library/tkinter.rst:3698 msgid "For ``image`` items:" msgstr "Für ``image``-Objekte:" -#: ../../library/tkinter.rst:3627 ../../library/tkinter.rst:4477 +#: ../../library/tkinter.rst:3700 ../../library/tkinter.rst:4549 msgid "*image*" msgstr "*image*" -#: ../../library/tkinter.rst:3628 +#: ../../library/tkinter.rst:3701 msgid "The Tk image to display, previously created with the image protocols." msgstr "Das anzuzeigende Tk-Bild, zuvor über die Bildprotokolle erzeugt." -#: ../../library/tkinter.rst:3632 +#: ../../library/tkinter.rst:3705 msgid "How the image is positioned relative to its point." msgstr "Wie das Bild relativ zu seinem Punkt positioniert wird." -#: ../../library/tkinter.rst:3634 +#: ../../library/tkinter.rst:3707 msgid "" "Both options have *active...* and *disabled...* variants (*activeimage*, " "*disabledimage*) used in the active and disabled states." @@ -6584,15 +6655,15 @@ msgstr "" "*disabledimage*), die im aktiven und im deaktivierten Zustand verwendet " "werden." -#: ../../library/tkinter.rst:3638 +#: ../../library/tkinter.rst:3711 msgid "For ``window`` items:" msgstr "Für ``window``-Objekte:" -#: ../../library/tkinter.rst:3640 +#: ../../library/tkinter.rst:3713 msgid "*window*" msgstr "*window*" -#: ../../library/tkinter.rst:3641 +#: ../../library/tkinter.rst:3714 msgid "" "The widget to embed; it must be a child of the canvas or of one of its " "ancestors, and may not be a top-level window." @@ -6600,11 +6671,11 @@ msgstr "" "Das einzubettende Widget. Es muss ein Kind des Canvas oder eines seiner " "Vorfahren sein und darf kein Toplevel-Fenster sein." -#: ../../library/tkinter.rst:3645 +#: ../../library/tkinter.rst:3718 msgid "How the window is positioned relative to its point." msgstr "Wie das Fenster relativ zu seinem Punkt positioniert wird." -#: ../../library/tkinter.rst:3648 +#: ../../library/tkinter.rst:3721 msgid "" "The size to assign to the window; if zero (the default), the window is given " "its requested size." @@ -6612,7 +6683,7 @@ msgstr "" "Die Größe, die dem Fenster zugewiesen wird. Ist sie null (die Vorgabe), " "erhält das Fenster seine angeforderte Größe." -#: ../../library/tkinter.rst:3651 +#: ../../library/tkinter.rst:3724 msgid "" "``oval`` and ``rectangle`` items have no type-specific options; they use " "only the standard item options." @@ -6620,15 +6691,14 @@ msgstr "" "``oval``- und ``rectangle``-Objekte haben keine typspezifischen Optionen, " "sie verwenden nur die Standard-Objektoptionen." -#: ../../library/tkinter.rst:3656 -msgid "" -"Tk 8.6 added the *angle* option and Tk 9.0 added the *underline* option for " -"``text`` items." +#: ../../library/tkinter.rst:3729 +#, fuzzy +msgid "Tk 8.6 added the *angle* option for ``text`` items." msgstr "" "Tk 8.6 hat die Option *angle* ergänzt, Tk 9.0 die Option *underline* für " "``text``-Objekte." -#: ../../library/tkinter.rst:3663 +#: ../../library/tkinter.rst:3735 msgid "" "Query or modify the coordinates of an item. With only *tagOrId*, return a " "list of the floating-point coordinates of the item given by *tagOrId* (the " @@ -6649,7 +6719,7 @@ msgstr "" "Einheiten der Angabe, bei Rechtecken, Ovalen und Bögen in der Reihenfolge " "links, oben, rechts, unten." -#: ../../library/tkinter.rst:3674 +#: ../../library/tkinter.rst:3746 msgid "" "The arguments are now flattened: the coordinates may be given as separate " "arguments, as a single sequence, or grouped in pairs, like the ``create_*`` " @@ -6659,7 +6729,7 @@ msgstr "" "Argumente, als eine Folge oder paarweise gruppiert angegeben werden, wie bei " "den ``create_*``-Methoden." -#: ../../library/tkinter.rst:3682 +#: ../../library/tkinter.rst:3754 msgid "" "Move each of the items given by *tagOrId* in the canvas coordinate space by " "adding *xAmount* to every x-coordinate and *yAmount* to every y-coordinate " @@ -6669,7 +6739,7 @@ msgstr "" "des Canvas, indem *xAmount* zu jeder x-Koordinate und *yAmount* zu jeder y-" "Koordinate des Objekts addiert wird." -#: ../../library/tkinter.rst:3688 +#: ../../library/tkinter.rst:3760 msgid "" "Move the items given by *tagOrId* so that the first coordinate pair (the " "upper-left corner of the bounding box) of the lowest matching item is at " @@ -6683,7 +6753,7 @@ msgstr "" "darf eine leere Zeichenkette sein, dann bleibt die jeweilige Koordinate " "unverändert. Alle passenden Objekte behalten ihre Lage zueinander." -#: ../../library/tkinter.rst:3700 +#: ../../library/tkinter.rst:3772 msgid "" "Rescale the coordinates of all items given by *tagOrId* in canvas coordinate " "space. Each x-coordinate is adjusted so that its distance from *xOrigin* " @@ -6697,11 +6767,11 @@ msgstr "" "Koordinate so, dass sich ihr Abstand zu *yOrigin* um den Faktor *yScale* " "ändert (ein Faktor von ``1.0`` lässt die Koordinate unverändert)." -#: ../../library/tkinter.rst:3709 +#: ../../library/tkinter.rst:3781 msgid "Delete each of the items given by the *tagOrIds* arguments." msgstr "Löscht jedes der durch die Argumente *tagOrIds* bezeichneten Objekte." -#: ../../library/tkinter.rst:3714 +#: ../../library/tkinter.rst:3786 msgid "" "Delete from each of the items given by *tagOrId* the characters (for text " "items) or coordinates (for line and polygon items) in the range from *first* " @@ -6714,7 +6784,7 @@ msgstr "" "*first*. Objekte, die keine Indizierung unterstützen, übergehen diesen " "Vorgang." -#: ../../library/tkinter.rst:3721 +#: ../../library/tkinter.rst:3793 msgid "" "Insert *string* into each of the items given by *tagOrId* just before the " "character or coordinate whose index is *beforeThis*. For line and polygon " @@ -6725,7 +6795,7 @@ msgstr "" "Bei Linien- und Polygon-Objekten muss *string* eine gültige Folge von " "Koordinaten sein." -#: ../../library/tkinter.rst:3728 +#: ../../library/tkinter.rst:3800 msgid "" "Return the current value of the configuration option *option* for the item " "given by *tagOrId* (the lowest matching item if it matches several). This is " @@ -6736,7 +6806,7 @@ msgstr "" "passen). Das entspricht :meth:`~Misc.cget`, gilt aber für ein einzelnes " "Objekt." -#: ../../library/tkinter.rst:3737 +#: ../../library/tkinter.rst:3809 msgid "" "Query or modify the configuration options of the items given by *tagOrId*. " "This mirrors :meth:`~Misc.configure`, except that it applies to individual " @@ -6755,7 +6825,7 @@ msgstr "" "jeweilige ``create_*``-Methode annimmt. :meth:`itemconfig` ist ein Alias " "von :meth:`!itemconfigure`." -#: ../../library/tkinter.rst:3750 +#: ../../library/tkinter.rst:3822 msgid "" "Return the type of the item given by *tagOrId* (the first matching item if " "it matches several), such as ``'rectangle'`` or ``'text'``, or ``None`` if " @@ -6765,7 +6835,7 @@ msgstr "" "passenden, wenn mehrere passen), etwa ``'rectangle'`` oder ``'text'``, oder " "``None``, wenn *tagOrId* auf kein Objekt passt." -#: ../../library/tkinter.rst:3756 +#: ../../library/tkinter.rst:3828 msgid "" "Return a tuple of the tags associated with the item given by *tagOrId* (the " "first matching item in display-list order if it matches several). Return an " @@ -6776,7 +6846,7 @@ msgstr "" "wenn mehrere passen). Gibt ein leeres Tupel zurück, wenn kein Objekt passt " "oder das Objekt keine Tags hat." -#: ../../library/tkinter.rst:3763 +#: ../../library/tkinter.rst:3835 msgid "" "Remove the tag *tagToDelete* (which defaults to *tagOrId*) from each of the " "items given by *tagOrId*. Items that do not have that tag are unaffected." @@ -6784,7 +6854,7 @@ msgstr "" "Entfernt das Tag *tagToDelete* (standardmäßig *tagOrId*) von jedem der durch " "*tagOrId* bezeichneten Objekte. Objekte ohne dieses Tag bleiben unberührt." -#: ../../library/tkinter.rst:3769 +#: ../../library/tkinter.rst:3841 msgid "" "Add the tag *newtag* to each item selected by the search specification " "*searchSpec* (and any further *args*). *searchSpec* is one of ``'above'``, " @@ -6798,7 +6868,7 @@ msgstr "" "``'overlapping'`` oder ``'withtag'``. Die ``addtag_*``-Methoden weiter unten " "sind bequeme Hüllen, die jeweils eine dieser Formen einsetzen." -#: ../../library/tkinter.rst:3778 +#: ../../library/tkinter.rst:3850 msgid "" "Add the tag *newtag* to the item just above (after) *tagOrId* in the display " "list." @@ -6806,11 +6876,11 @@ msgstr "" "Fügt das Tag *newtag* zu dem Objekt hinzu, das in der Anzeigeliste " "unmittelbar über (nach) *tagOrId* liegt." -#: ../../library/tkinter.rst:3783 +#: ../../library/tkinter.rst:3855 msgid "Add the tag *newtag* to all items in the canvas." msgstr "Fügt das Tag *newtag* zu allen Objekten des Canvas hinzu." -#: ../../library/tkinter.rst:3787 +#: ../../library/tkinter.rst:3859 msgid "" "Add the tag *newtag* to the item just below (before) *tagOrId* in the " "display list." @@ -6818,7 +6888,7 @@ msgstr "" "Fügt das Tag *newtag* zu dem Objekt hinzu, das in der Anzeigeliste " "unmittelbar unter (vor) *tagOrId* liegt." -#: ../../library/tkinter.rst:3792 +#: ../../library/tkinter.rst:3864 msgid "" "Add the tag *newtag* to the item closest to the point (*x*, *y*). If *halo* " "is given, any item within that distance of the point is treated as " @@ -6833,7 +6903,7 @@ msgstr "" "Anzeigeliste unter *start* liegt. Damit lässt sich durch alle " "nächstgelegenen Objekte wandern." -#: ../../library/tkinter.rst:3801 +#: ../../library/tkinter.rst:3873 msgid "" "Add the tag *newtag* to every item completely enclosed within the rectangle " "(*x1*, *y1*, *x2*, *y2*), where *x1* <= *x2* and *y1* <= *y2*." @@ -6841,7 +6911,7 @@ msgstr "" "Fügt das Tag *newtag* zu jedem Objekt hinzu, das vollständig im Rechteck " "(*x1*, *y1*, *x2*, *y2*) liegt, wobei *x1* <= *x2* und *y1* <= *y2*." -#: ../../library/tkinter.rst:3806 +#: ../../library/tkinter.rst:3878 msgid "" "Add the tag *newtag* to every item that overlaps or is enclosed within the " "rectangle (*x1*, *y1*, *x2*, *y2*), where *x1* <= *x2* and *y1* <= *y2*." @@ -6849,12 +6919,12 @@ msgstr "" "Fügt das Tag *newtag* zu jedem Objekt hinzu, das das Rechteck (*x1*, *y1*, " "*x2*, *y2*) überlappt oder darin liegt, wobei *x1* <= *x2* und *y1* <= *y2*." -#: ../../library/tkinter.rst:3812 +#: ../../library/tkinter.rst:3884 msgid "Add the tag *newtag* to every item given by *tagOrId*." msgstr "" "Fügt das Tag *newtag* zu jedem durch *tagOrId* bezeichneten Objekt hinzu." -#: ../../library/tkinter.rst:3816 +#: ../../library/tkinter.rst:3888 msgid "" "Return a tuple of the ids of all items selected by the search specification " "*searchSpec* (and any further *args*), in stacking order with the lowest " @@ -6868,7 +6938,7 @@ msgstr "" "akzeptierten Formen. Die ``find_*``-Methoden weiter unten sind bequemere " "Hüllen darum." -#: ../../library/tkinter.rst:3824 +#: ../../library/tkinter.rst:3896 msgid "" "Return a tuple containing the id of the item just above *tagOrId* in the " "display list." @@ -6876,13 +6946,13 @@ msgstr "" "Gibt ein Tupel mit der Id des Objekts zurück, das in der Anzeigeliste " "unmittelbar über *tagOrId* liegt." -#: ../../library/tkinter.rst:3829 +#: ../../library/tkinter.rst:3901 msgid "" "Return a tuple of the ids of all items in the canvas, in stacking order." msgstr "" "Gibt ein Tupel der Ids aller Objekte des Canvas zurück, in Stapelreihenfolge." -#: ../../library/tkinter.rst:3833 +#: ../../library/tkinter.rst:3905 msgid "" "Return a tuple containing the id of the item just below *tagOrId* in the " "display list." @@ -6890,7 +6960,7 @@ msgstr "" "Gibt ein Tupel mit der Id des Objekts zurück, das in der Anzeigeliste " "unmittelbar unter *tagOrId* liegt." -#: ../../library/tkinter.rst:3838 +#: ../../library/tkinter.rst:3910 msgid "" "Return a tuple containing the id of the item closest to the point (*x*, " "*y*). *halo* and *start* are interpreted as for :meth:`addtag_closest`." @@ -6899,7 +6969,7 @@ msgstr "" "nächsten liegt. *halo* und *start* werden wie bei :meth:`addtag_closest` " "gedeutet." -#: ../../library/tkinter.rst:3844 +#: ../../library/tkinter.rst:3916 msgid "" "Return a tuple of the ids of all items completely enclosed within the " "rectangle (*x1*, *y1*, *x2*, *y2*)." @@ -6907,7 +6977,7 @@ msgstr "" "Gibt ein Tupel der Ids aller Objekte zurück, die vollständig im Rechteck " "(*x1*, *y1*, *x2*, *y2*) liegen." -#: ../../library/tkinter.rst:3849 +#: ../../library/tkinter.rst:3921 msgid "" "Return a tuple of the ids of all items that overlap or are enclosed within " "the rectangle (*x1*, *y1*, *x2*, *y2*)." @@ -6915,12 +6985,12 @@ msgstr "" "Gibt ein Tupel der Ids aller Objekte zurück, die das Rechteck (*x1*, *y1*, " "*x2*, *y2*) überlappen oder darin liegen." -#: ../../library/tkinter.rst:3854 +#: ../../library/tkinter.rst:3926 msgid "Return a tuple of the ids of all items given by *tagOrId*." msgstr "" "Gibt ein Tupel der Ids aller durch *tagOrId* bezeichneten Objekte zurück." -#: ../../library/tkinter.rst:3864 +#: ../../library/tkinter.rst:3936 msgid "" "Move all items given by *tagOrId* to a new position in the display list just " "above the item given by *aboveThis*, or to the top of the display list if " @@ -6937,7 +7007,7 @@ msgstr "" "Stapelreihenfolge steuern stattdessen :meth:`Misc.tkraise` und :meth:`Misc." "lower`. :meth:`lift` und :meth:`tkraise` sind Aliase von :meth:`!tag_raise`." -#: ../../library/tkinter.rst:3877 +#: ../../library/tkinter.rst:3949 msgid "" "Move all items given by *tagOrId* to a new position in the display list just " "below the item given by *belowThis*, or to the bottom of the display list if " @@ -6952,7 +7022,7 @@ msgstr "" "erhalten. Auf eingebettete Fenster-Objekte wirkt sich das nicht aus. :meth:" "`lower` ist ein Alias von :meth:`!tag_lower`." -#: ../../library/tkinter.rst:3886 +#: ../../library/tkinter.rst:3958 msgid "" "On a :class:`Canvas`, :meth:`tkraise`/:meth:`lift` and :meth:`lower` restack " "canvas items, shadowing the inherited :meth:`Misc.tkraise`/:meth:`Misc.lift` " @@ -6964,7 +7034,7 @@ msgstr "" "meth:`Misc.tkraise`/:meth:`Misc.lift` und :meth:`Misc.lower`, die das Widget " "selbst umstapeln und deshalb nicht zur Verfügung stehen." -#: ../../library/tkinter.rst:3894 +#: ../../library/tkinter.rst:3966 msgid "" "Bind the callback *func* to the event *sequence* for all items given by " "*tagOrId*, so that *func* is invoked whenever that event occurs for one of " @@ -6987,7 +7057,7 @@ msgstr "" "Gibt den Bezeichner der gebundenen Funktion zurück, der an :meth:" "`tag_unbind` übergeben werden kann." -#: ../../library/tkinter.rst:3909 +#: ../../library/tkinter.rst:3981 msgid "" "Remove for all items given by *tagOrId* the binding for the event " "*sequence*. If *funcid* is given, only that callback (as returned by :meth:" @@ -6997,11 +7067,11 @@ msgstr "" "Ereignis *sequence*. Ist *funcid* angegeben, wird nur dieser Callback (wie " "von :meth:`tag_bind` zurückgegeben) gelöst und abgemeldet." -#: ../../library/tkinter.rst:3914 ../../library/tkinter.rst:5518 +#: ../../library/tkinter.rst:3986 ../../library/tkinter.rst:5590 msgid "If *funcid* is given, only that callback is unbound." msgstr "Ist *funcid* angegeben, wird nur dieser Callback gelöst." -#: ../../library/tkinter.rst:3920 +#: ../../library/tkinter.rst:3992 msgid "" "Return a 4-tuple ``(x1, y1, x2, y2)`` giving an approximate bounding box, in " "pixels, that encloses all the items given by *tagOrId* and any further " @@ -7015,8 +7085,8 @@ msgstr "" "Rahmen um einige Pixel überschätzen. Gibt ``None`` zurück, wenn kein Objekt " "passt oder die passenden Objekte nichts anzuzeigen haben." -#: ../../library/tkinter.rst:3927 ../../library/tkinter.rst:4320 -#: ../../library/tkinter.rst:5061 ../../library/tkinter.rst:5288 +#: ../../library/tkinter.rst:3999 ../../library/tkinter.rst:4392 +#: ../../library/tkinter.rst:5133 ../../library/tkinter.rst:5360 msgid "" "This shadows the inherited :meth:`!Misc.bbox`; use :meth:`~Misc.grid_bbox` " "for the grid bounding box." @@ -7024,7 +7094,7 @@ msgstr "" "Dies verdeckt die geerbte Methode :meth:`!Misc.bbox`. Für den umschließenden " "Rahmen des Grids verwende :meth:`~Misc.grid_bbox`." -#: ../../library/tkinter.rst:3932 +#: ../../library/tkinter.rst:4004 msgid "" "Given a window x-coordinate *screenx*, return the canvas x-coordinate " "displayed at that location. If *gridspacing* is given, the result is rounded " @@ -7034,7 +7104,7 @@ msgstr "" "die an dieser Stelle angezeigt wird. Ist *gridspacing* angegeben, wird das " "Ergebnis auf das nächste Vielfache von *gridspacing* Einheiten gerundet." -#: ../../library/tkinter.rst:3939 +#: ../../library/tkinter.rst:4011 msgid "" "Given a window y-coordinate *screeny*, return the canvas y-coordinate " "displayed at that location. If *gridspacing* is given, the result is rounded " @@ -7044,7 +7114,7 @@ msgstr "" "die an dieser Stelle angezeigt wird. Ist *gridspacing* angegeben, wird das " "Ergebnis auf das nächste Vielfache von *gridspacing* Einheiten gerundet." -#: ../../library/tkinter.rst:3947 +#: ../../library/tkinter.rst:4019 msgid "" "With *tagOrId*, set the keyboard focus for the canvas to the first item " "given by *tagOrId* that supports the insertion cursor; the focus is left " @@ -7063,7 +7133,7 @@ msgstr "" "zeigt die Einfügemarke nur, wenn es das Fokusobjekt ist und sein Canvas den " "Eingabefokus hat." -#: ../../library/tkinter.rst:3956 +#: ../../library/tkinter.rst:4028 msgid "" "This shadows the inherited :meth:`!Misc.focus`; use :meth:`~Misc.focus_set` " "to focus the widget itself." @@ -7071,7 +7141,7 @@ msgstr "" "Dies verdeckt die geerbte Methode :meth:`!Misc.focus`. Um das Widget selbst " "zu fokussieren, verwende :meth:`~Misc.focus_set`." -#: ../../library/tkinter.rst:3961 +#: ../../library/tkinter.rst:4033 msgid "" "Set the insertion cursor of the items given by *tagOrId* to just before the " "character given by *index*. Items that do not support an insertion cursor " @@ -7083,7 +7153,7 @@ msgstr "" "unterstützen, bleiben unberührt. Die Marke wird nur angezeigt, wenn das " "Objekt den Fokus hat, ihre Position lässt sich aber jederzeit setzen." -#: ../../library/tkinter.rst:3969 +#: ../../library/tkinter.rst:4041 msgid "" "Return as an integer the numerical index within *tagOrId* corresponding to " "*index*, which is a textual description of a position (for text items an " @@ -7097,7 +7167,7 @@ msgstr "" "Index in die Koordinaten). Passt *tagOrId* auf mehrere Objekte, wird das " "erste verwendet, das Indizierung unterstützt." -#: ../../library/tkinter.rst:3978 +#: ../../library/tkinter.rst:4050 msgid "" "Adjust the end of the selection in *tagOrId* nearest to *index* so that it " "is at *index*, and make the other end the anchor point for future :meth:" @@ -7109,13 +7179,13 @@ msgstr "" "künftige Aufrufe von :meth:`select_to`. Liegt die Auswahl derzeit nicht in " "*tagOrId*, verhält sich dies wie :meth:`select_to`." -#: ../../library/tkinter.rst:3986 +#: ../../library/tkinter.rst:4058 msgid "Clear the selection if it is in this canvas; otherwise do nothing." msgstr "" "Hebt die Auswahl auf, wenn sie in diesem Canvas liegt. Andernfalls geschieht " "nichts." -#: ../../library/tkinter.rst:3990 +#: ../../library/tkinter.rst:4062 msgid "" "Set the selection anchor point to just before the character given by *index* " "in the item given by *tagOrId*. This does not change the selection itself; " @@ -7126,7 +7196,7 @@ msgstr "" "selbst ändert sich dadurch nicht. Gesetzt wird das feste Ende für künftige " "Aufrufe von :meth:`select_to`." -#: ../../library/tkinter.rst:3997 +#: ../../library/tkinter.rst:4069 msgid "" "Return the id of the item that holds the selection, or ``None`` if the " "selection is not in this canvas. Unlike :meth:`find` and the ``find_*`` " @@ -7137,7 +7207,7 @@ msgstr "" "``find_*``-Methoden wird die Id hier als Zeichenkette statt als ganze Zahl " "zurückgegeben." -#: ../../library/tkinter.rst:4004 +#: ../../library/tkinter.rst:4076 msgid "" "Set the selection to the characters of *tagOrId* between the selection " "anchor point and *index*, inclusive of *index*. The anchor point is the one " @@ -7147,8 +7217,8 @@ msgstr "" "Auswahl und *index*, einschließlich *index*. Der Ankerpunkt ist der, den der " "letzte Aufruf von :meth:`select_adjust` oder :meth:`select_from` gesetzt hat." -#: ../../library/tkinter.rst:4011 ../../library/tkinter.rst:4416 -#: ../../library/tkinter.rst:5642 +#: ../../library/tkinter.rst:4083 ../../library/tkinter.rst:4488 +#: ../../library/tkinter.rst:5715 msgid "" "Record *x*, *y* and the current view, for use with later :meth:`scan_dragto` " "calls. This is typically bound to a mouse button press in the widget." @@ -7157,7 +7227,7 @@ msgstr "" "meth:`scan_dragto`. Üblicherweise wird dies an einen Mausklick im Widget " "gebunden." -#: ../../library/tkinter.rst:4017 +#: ../../library/tkinter.rst:4089 msgid "" "Scroll the canvas by *gain* times the difference between *x*, *y* and the " "coordinates passed to the last :meth:`scan_mark` call. This is typically " @@ -7169,7 +7239,7 @@ msgstr "" "wird dies an Mausbewegungsereignisse im Widget gebunden und erzeugt den " "Eindruck, den Canvas mit hoher Geschwindigkeit durch sein Fenster zu ziehen." -#: ../../library/tkinter.rst:4024 +#: ../../library/tkinter.rst:4096 msgid "" "Generate a PostScript (Encapsulated PostScript, version 3.0) representation " "of part or all of the canvas. If the *file* or *channel* option is given, " @@ -7192,7 +7262,7 @@ msgstr "" "*pageanchor*, *pageheight*, *pagewidth*, *pagex*, *pagey*, *rotate*, " "*width*, *x* und *y*." -#: ../../library/tkinter.rst:4039 +#: ../../library/tkinter.rst:4111 msgid "" "A :class:`!Checkbutton` widget displays a textual string, bitmap or image " "together with a square indicator, and toggles a boolean selection when " @@ -7215,7 +7285,7 @@ msgstr "" "``checkbutton`` dokumentierten Optionen an, etwa *variable*, *onvalue*, " "*offvalue* und *command*." -#: ../../library/tkinter.rst:4053 +#: ../../library/tkinter.rst:4125 msgid "" "Do just what would happen if the user pressed the checkbutton with the " "mouse: toggle the selection state of the button and invoke the associated " @@ -7230,21 +7300,21 @@ msgstr "" "verknüpft ist. Ist der Zustand des Checkbuttons ``disabled``, wird dies " "übergangen." -#: ../../library/tkinter.rst:4062 +#: ../../library/tkinter.rst:4134 msgid "" "Select the checkbutton and set the associated variable to its ``onvalue``." msgstr "" "Wählt den Checkbutton aus und setzt die zugehörige Variable auf ihren " "``onvalue``." -#: ../../library/tkinter.rst:4067 +#: ../../library/tkinter.rst:4139 msgid "" "Deselect the checkbutton and set the associated variable to its ``offvalue``." msgstr "" "Wählt den Checkbutton ab und setzt die zugehörige Variable auf ihren " "``offvalue``." -#: ../../library/tkinter.rst:4072 +#: ../../library/tkinter.rst:4144 msgid "" "Toggle the selection state of the button, redisplaying it and modifying its " "associated variable to reflect the new state." @@ -7252,7 +7322,7 @@ msgstr "" "Schaltet den Auswahlzustand des Buttons um, zeichnet ihn neu und ändert " "seine zugehörige Variable entsprechend dem neuen Zustand." -#: ../../library/tkinter.rst:4077 +#: ../../library/tkinter.rst:4149 msgid "" "Flash the checkbutton by redisplaying it several times, alternating between " "the active and normal colors. At the end of the flash the checkbutton is " @@ -7264,7 +7334,7 @@ msgstr "" "Checkbutton in demselben normalen oder aktiven Zustand wie beim Aufruf der " "Methode. Ist der Zustand des Checkbuttons ``disabled``, wird dies übergangen." -#: ../../library/tkinter.rst:4086 +#: ../../library/tkinter.rst:4158 msgid "" "An :class:`!Entry` widget displays a single line of text and lets the user " "edit it. Inherits from :class:`Widget` and :class:`XView`; since entries can " @@ -7276,7 +7346,7 @@ msgstr "" "Entrys Zeichenketten enthalten können, die zu lang für das Fenster sind, " "unterstützen sie waagerechtes Blättern über :meth:`~XView.xview`." -#: ../../library/tkinter.rst:4092 +#: ../../library/tkinter.rst:4164 msgid "" "In addition to the standard widget options, an entry accepts the options " "documented in the Tk ``entry`` manual page. Notable ones are *textvariable* " @@ -7295,7 +7365,7 @@ msgstr "" "Callback Änderungen annehmen oder ablehnen lassen) sowie *state* (einer von " "``'normal'``, ``'disabled'`` oder ``'readonly'``)." -#: ../../library/tkinter.rst:4101 +#: ../../library/tkinter.rst:4173 msgid "" "Many of the methods below take an *index* argument that selects a character " "in the entry's string. As described in the Tk ``entry`` manual page, *index* " @@ -7316,7 +7386,7 @@ msgstr "" "außerhalb des gültigen Bereichs werden auf den nächsten zulässigen Wert " "gerundet." -#: ../../library/tkinter.rst:4113 +#: ../../library/tkinter.rst:4185 msgid "" "Delete the characters from index *first* up to but not including index " "*last*. If *last* is omitted, only the single character at *first* is " @@ -7325,16 +7395,16 @@ msgstr "" "Löscht die Zeichen vom Index *first* bis ausschließlich Index *last*. Wird " "*last* weggelassen, wird nur das einzelne Zeichen bei *first* gelöscht." -#: ../../library/tkinter.rst:4119 +#: ../../library/tkinter.rst:4191 msgid "Return the entry's current string." msgstr "Gibt die aktuelle Zeichenkette des Entrys zurück." -#: ../../library/tkinter.rst:4123 +#: ../../library/tkinter.rst:4195 msgid "Insert *string* just before the character given by *index*." msgstr "" "Fügt *string* unmittelbar vor dem durch *index* bezeichneten Zeichen ein." -#: ../../library/tkinter.rst:4127 ../../library/tkinter.rst:5044 +#: ../../library/tkinter.rst:4199 ../../library/tkinter.rst:5116 msgid "" "Arrange for the insertion cursor to be displayed just before the character " "given by *index*." @@ -7342,11 +7412,11 @@ msgstr "" "Sorgt dafür, dass die Einfügemarke unmittelbar vor dem durch *index* " "bezeichneten Zeichen angezeigt wird." -#: ../../library/tkinter.rst:4132 +#: ../../library/tkinter.rst:4204 msgid "Return the numerical index corresponding to *index*." msgstr "Gibt den numerischen Index zurück, der *index* entspricht." -#: ../../library/tkinter.rst:4139 +#: ../../library/tkinter.rst:4211 msgid "" "Locate the end of the selection nearest to the character given by *index*, " "and adjust that end to be at *index* (including but not going beyond it); " @@ -7363,7 +7433,7 @@ msgstr "" "Ankerpunkt erzeugt, beide eingeschlossen. :meth:`select_adjust` ist ein " "Alias von :meth:`!selection_adjust`." -#: ../../library/tkinter.rst:4152 +#: ../../library/tkinter.rst:4224 msgid "" "Clear the selection if it is currently in this widget. If the selection is " "not in this widget the method has no effect. :meth:`select_clear` is an " @@ -7373,7 +7443,7 @@ msgstr "" "Auswahl nicht in diesem Widget, hat die Methode keine Wirkung. :meth:" "`select_clear` ist ein Alias von :meth:`!selection_clear`." -#: ../../library/tkinter.rst:4158 +#: ../../library/tkinter.rst:4230 msgid "" "This shadows the inherited :meth:`Misc.selection_clear`, which clears the X " "selection; that method is not available on an :class:`Entry`." @@ -7382,7 +7452,7 @@ msgstr "" "Auswahl löscht. An einem :class:`Entry` steht diese Methode nicht zur " "Verfügung." -#: ../../library/tkinter.rst:4167 +#: ../../library/tkinter.rst:4239 msgid "" "Set the selection anchor point to just before the character given by " "*index*, without changing the selection. :meth:`select_from` is an alias of :" @@ -7392,7 +7462,7 @@ msgstr "" "bezeichnete Zeichen, ohne die Auswahl zu ändern. :meth:`select_from` ist ein " "Alias von :meth:`!selection_from`." -#: ../../library/tkinter.rst:4176 +#: ../../library/tkinter.rst:4248 msgid "" "Return ``True`` if there are characters selected in the entry, ``False`` " "otherwise. :meth:`select_present` is an alias of :meth:`!selection_present`." @@ -7401,7 +7471,7 @@ msgstr "" "``False``. :meth:`select_present` ist ein Alias von :meth:`!" "selection_present`." -#: ../../library/tkinter.rst:4185 +#: ../../library/tkinter.rst:4257 msgid "" "Set the selection to include the characters starting with the one indexed by " "*start* and ending with the one just before *end*. If *end* refers to the " @@ -7413,7 +7483,7 @@ msgstr "" "Zeichen wie *start* oder auf ein früheres, wird die Auswahl aufgehoben. :" "meth:`select_range` ist ein Alias von :meth:`!selection_range`." -#: ../../library/tkinter.rst:4196 +#: ../../library/tkinter.rst:4268 msgid "" "Set the selection between the anchor point and *index*: if *index* is before " "the anchor point, the selection runs from *index* up to but not including " @@ -7432,7 +7502,7 @@ msgstr "" "gesetzten Ankerpunkt erzeugt. :meth:`select_to` ist ein Alias von :meth:`!" "selection_to`." -#: ../../library/tkinter.rst:4208 +#: ../../library/tkinter.rst:4280 msgid "" "Record *x* and the current view in the entry window, for use with later :" "meth:`scan_dragto` calls. Typically associated with a mouse button press in " @@ -7442,7 +7512,7 @@ msgstr "" "Aufrufe von :meth:`scan_dragto`. Üblicherweise mit einem Mausklick im Widget " "verknüpft." -#: ../../library/tkinter.rst:4214 +#: ../../library/tkinter.rst:4286 msgid "" "Compute the difference between *x* and the *x* given to the last :meth:" "`scan_mark` call, and adjust the view left or right by 10 times that " @@ -7455,7 +7525,7 @@ msgstr "" "verknüpft, um den Eindruck zu erzeugen, das Entry mit hoher Geschwindigkeit " "durch das Fenster zu ziehen." -#: ../../library/tkinter.rst:4223 +#: ../../library/tkinter.rst:4295 msgid "" "A :class:`!Frame` widget is a simple container. Its primary purpose is to " "act as a spacer or container for complex window layouts; its only features " @@ -7470,7 +7540,7 @@ msgstr "" "`Widget`. Die vollständige Liste der Optionen steht auf der Tk-Man-Page " "``frame``." -#: ../../library/tkinter.rst:4233 +#: ../../library/tkinter.rst:4305 msgid "" "A :class:`!Label` widget displays a non-interactive textual string, bitmap " "or image. The displayed text is set with the *text* option or linked to a " @@ -7489,7 +7559,7 @@ msgstr "" "`Widget`. Die vollständige Liste der Optionen steht auf der Tk-Man-Page " "``label``." -#: ../../library/tkinter.rst:4245 +#: ../../library/tkinter.rst:4317 msgid "" "A :class:`!LabelFrame` widget is a container that has the features of a :" "class:`Frame` plus the ability to display a label. The label text is set " @@ -7506,7 +7576,7 @@ msgstr "" "von :class:`Widget`. Die vollständige Liste der Optionen steht auf der Tk-" "Man-Page ``labelframe``." -#: ../../library/tkinter.rst:4256 +#: ../../library/tkinter.rst:4328 msgid "" "A :class:`!Listbox` widget displays a list of single-line text items, one " "per line, of which the user can select one or more. The way the selection " @@ -7531,7 +7601,7 @@ msgstr "" "senkrecht verschieben. Die vollständige Liste der Optionen steht auf der Tk-" "Man-Page ``listbox``." -#: ../../library/tkinter.rst:4268 +#: ../../library/tkinter.rst:4340 msgid "" "Many of the methods take an *index* argument identifying a particular item. " "As described in the Tk ``listbox`` manual page, *index* may be a numeric " @@ -7552,7 +7622,7 @@ msgstr "" "die Pixelkoordinaten *x*, *y* im Listbox-Fenster abdeckt). Argumente namens " "*first* und *last* sind Indizes derselben Formen." -#: ../../library/tkinter.rst:4279 +#: ../../library/tkinter.rst:4351 msgid "" "Insert the given *elements* as new items just before the item given by " "*index*. If *index* is ``'end'``, the new items are appended to the end of " @@ -7562,7 +7632,7 @@ msgstr "" "*index* bezeichneten Eintrag ein. Ist *index* gleich ``'end'``, werden die " "neuen Einträge an das Ende der Liste angehängt." -#: ../../library/tkinter.rst:4286 +#: ../../library/tkinter.rst:4358 msgid "" "Delete the items in the range from *first* to *last* inclusive. If *last* is " "omitted, it defaults to *first*, so that a single item is deleted." @@ -7571,7 +7641,7 @@ msgstr "" "*last* weggelassen, ist es gleich *first*, sodass ein einzelner Eintrag " "gelöscht wird." -#: ../../library/tkinter.rst:4292 +#: ../../library/tkinter.rst:4364 msgid "" "If *last* is omitted, return the contents of the item given by *first*, or " "an empty string if *first* refers to a non-existent item. If *last* is " @@ -7584,11 +7654,11 @@ msgstr "" "aller Einträge im Bereich von *first* bis einschließlich *last* " "zurückgegeben." -#: ../../library/tkinter.rst:4299 +#: ../../library/tkinter.rst:4371 msgid "Return the total number of items in the listbox." msgstr "Gibt die Gesamtzahl der Einträge in der Listbox zurück." -#: ../../library/tkinter.rst:4301 +#: ../../library/tkinter.rst:4373 msgid "" "This shadows the inherited :meth:`!Misc.size`; use :meth:`~Misc.grid_size` " "for the grid size." @@ -7596,7 +7666,7 @@ msgstr "" "Dies verdeckt die geerbte Methode :meth:`!Misc.size`. Für die Grid-Größe " "verwende :meth:`~Misc.grid_size`." -#: ../../library/tkinter.rst:4306 +#: ../../library/tkinter.rst:4378 msgid "" "Return the integer index value corresponding to *index*, or ``None`` if " "*index* is out of range. If *index* is ``'end'``, the result is a count of " @@ -7607,7 +7677,7 @@ msgstr "" "gleich ``'end'``, ist das Ergebnis die Anzahl der Einträge in der Listbox " "(nicht der Index des letzten Eintrags)." -#: ../../library/tkinter.rst:4313 +#: ../../library/tkinter.rst:4385 msgid "" "Return a tuple ``(x, y, width, height)`` describing the bounding box, in " "pixels relative to the widget, of the text of the item given by *index*. " @@ -7624,7 +7694,7 @@ msgstr "" "Ergebnis dennoch den gesamten Bereich des Eintrags einschließlich der nicht " "sichtbaren Teile." -#: ../../library/tkinter.rst:4325 +#: ../../library/tkinter.rst:4397 msgid "" "Given a y-coordinate within the listbox window, return the index of the " "visible item nearest to that y-coordinate." @@ -7632,7 +7702,7 @@ msgstr "" "Gibt zu einer y-Koordinate im Listbox-Fenster den Index des sichtbaren " "Eintrags zurück, der dieser y-Koordinate am nächsten liegt." -#: ../../library/tkinter.rst:4330 +#: ../../library/tkinter.rst:4402 msgid "" "Adjust the view so that the item given by *index* is visible. If the item is " "already visible the method has no effect; if it is near an edge of the " @@ -7645,7 +7715,7 @@ msgstr "" "dass er an diesem Rand sichtbar wird, andernfalls blättert sie den Eintrag " "in die Mitte." -#: ../../library/tkinter.rst:4337 +#: ../../library/tkinter.rst:4409 msgid "" "Set the active item to the one given by *index*. If *index* is outside the " "range of items, the closest item is activated instead. The active item is " @@ -7658,7 +7728,7 @@ msgstr "" "*activestyle* vorgibt, wenn das Widget den Eingabefokus hat, und sein Index " "lässt sich über den Index ``'active'`` abrufen." -#: ../../library/tkinter.rst:4346 +#: ../../library/tkinter.rst:4418 msgid "" "Return a tuple containing the numerical indices of all of the items that are " "currently selected, or an empty tuple if no items are selected." @@ -7666,7 +7736,7 @@ msgstr "" "Gibt ein Tupel mit den numerischen Indizes aller derzeit ausgewählten " "Einträge zurück, oder ein leeres Tupel, wenn keine Einträge ausgewählt sind." -#: ../../library/tkinter.rst:4354 +#: ../../library/tkinter.rst:4426 msgid "" "Set the selection anchor to the item given by *index*. If *index* refers to " "a non-existent item, the closest item is used. The selection anchor is the " @@ -7681,7 +7751,7 @@ msgstr "" "``'anchor'`` ansprechen. :meth:`select_anchor` ist ein Alias von :meth:`!" "selection_anchor`." -#: ../../library/tkinter.rst:4366 +#: ../../library/tkinter.rst:4438 msgid "" "Deselect any of the items in the range from *first* to *last* inclusive that " "are selected. The selection state of items outside this range is not " @@ -7691,7 +7761,7 @@ msgstr "" "*last* ab. Der Auswahlzustand von Einträgen außerhalb dieses Bereichs bleibt " "unverändert. :meth:`select_clear` ist ein Alias von :meth:`!selection_clear`." -#: ../../library/tkinter.rst:4373 +#: ../../library/tkinter.rst:4445 msgid "" "This shadows the inherited :meth:`Misc.selection_clear`, which clears the X " "selection; that method is not available on a :class:`Listbox`." @@ -7700,7 +7770,7 @@ msgstr "" "Auswahl löscht. An einer :class:`Listbox` steht diese Methode nicht zur " "Verfügung." -#: ../../library/tkinter.rst:4382 +#: ../../library/tkinter.rst:4454 msgid "" "Return ``True`` if the item given by *index* is currently selected, " "``False`` otherwise. :meth:`select_includes` is an alias of :meth:`!" @@ -7710,7 +7780,7 @@ msgstr "" "ausgewählt ist, sonst ``False``. :meth:`select_includes` ist ein Alias von :" "meth:`!selection_includes`." -#: ../../library/tkinter.rst:4391 +#: ../../library/tkinter.rst:4463 msgid "" "Select all of the items in the range from *first* to *last* inclusive, " "without affecting the selection state of items outside that range. :meth:" @@ -7720,7 +7790,7 @@ msgstr "" "ohne den Auswahlzustand von Einträgen außerhalb dieses Bereichs zu " "verändern. :meth:`select_set` ist ein Alias von :meth:`!selection_set`." -#: ../../library/tkinter.rst:4397 +#: ../../library/tkinter.rst:4469 msgid "" "Return the current value of the configuration option *option* for the item " "given by *index*." @@ -7728,7 +7798,7 @@ msgstr "" "Gibt den aktuellen Wert der Konfigurationsoption *option* für den durch " "*index* bezeichneten Eintrag zurück." -#: ../../library/tkinter.rst:4405 +#: ../../library/tkinter.rst:4477 msgid "" "Query or modify the configuration options of the item given by *index*. This " "mirrors :meth:`~Misc.configure`, except that it applies to an individual " @@ -7747,7 +7817,7 @@ msgstr "" "und *selectforeground*. :meth:`itemconfig` ist ein Alias von :meth:`!" "itemconfigure`." -#: ../../library/tkinter.rst:4422 +#: ../../library/tkinter.rst:4494 msgid "" "Scroll the listbox by 10 times the difference between *x*, *y* and the " "coordinates passed to the last :meth:`scan_mark` call. This is typically " @@ -7759,7 +7829,7 @@ msgstr "" "wird dies an Mausbewegungsereignisse im Widget gebunden und erzeugt den " "Eindruck, die Liste mit hoher Geschwindigkeit durch das Fenster zu ziehen." -#: ../../library/tkinter.rst:4430 +#: ../../library/tkinter.rst:4502 msgid "" "A :class:`!Menu` widget displays a column of entries, each of which may be a " "command, a checkbutton, a radiobutton, a cascade (which posts an associated " @@ -7774,7 +7844,7 @@ msgstr "" "Kaskadeneintrag oder einem Menubutton geöffnet werden, und als Kontextmenüs. " "Erbt von :class:`Widget`." -#: ../../library/tkinter.rst:4437 +#: ../../library/tkinter.rst:4509 msgid "" "Many of the entry methods take an *index* argument that selects which entry " "to operate on. As described in the Tk ``menu`` manual page, *index* may be a " @@ -7793,7 +7863,7 @@ msgstr "" "*y* im Menüfenster abdeckt) oder ein Muster, das von oben nach unten gegen " "die Beschriftungen der Einträge abgeglichen wird." -#: ../../library/tkinter.rst:4448 +#: ../../library/tkinter.rst:4520 msgid "" "Add a new entry to the bottom of the menu. *itemType* is one of " "``'command'``, ``'cascade'``, ``'checkbutton'``, ``'radiobutton'`` or " @@ -7809,7 +7879,7 @@ msgstr "" "meth:`!add_cascade`, :meth:`!add_checkbutton`, :meth:`!add_radiobutton` und :" "meth:`!add_separator` rufen diese Methode mit dem jeweiligen *itemType* auf." -#: ../../library/tkinter.rst:4456 +#: ../../library/tkinter.rst:4528 msgid "" "The entry is configured by the following options, although not every option " "applies to every entry type (a separator accepts none of them):" @@ -7817,19 +7887,19 @@ msgstr "" "Der Eintrag wird über die folgenden Optionen konfiguriert, wobei nicht jede " "Option für jede Eintragsart gilt (ein Trenner nimmt keine davon an):" -#: ../../library/tkinter.rst:4459 +#: ../../library/tkinter.rst:4531 msgid "*label*" msgstr "*label*" -#: ../../library/tkinter.rst:4460 +#: ../../library/tkinter.rst:4532 msgid "The text to display in the entry." msgstr "Der im Eintrag anzuzeigende Text." -#: ../../library/tkinter.rst:4462 +#: ../../library/tkinter.rst:4534 msgid "*command*" msgstr "*command*" -#: ../../library/tkinter.rst:4463 +#: ../../library/tkinter.rst:4535 msgid "" "The function to call when the entry is invoked (command, checkbutton and " "radiobutton entries)." @@ -7837,11 +7907,11 @@ msgstr "" "Die Funktion, die aufgerufen wird, wenn der Eintrag ausgelöst wird (bei " "Command-, Checkbutton- und Radiobutton-Einträgen)." -#: ../../library/tkinter.rst:4466 +#: ../../library/tkinter.rst:4538 msgid "*accelerator*" msgstr "*accelerator*" -#: ../../library/tkinter.rst:4467 +#: ../../library/tkinter.rst:4539 msgid "" "A string displayed at the right of the entry to advertise an accelerator " "keystroke; it does not itself create the binding." @@ -7849,28 +7919,28 @@ msgstr "" "Eine Zeichenkette, die rechts im Eintrag angezeigt wird, um auf eine " "Tastenkombination hinzuweisen. Sie erzeugt die Bindung nicht selbst." -#: ../../library/tkinter.rst:4471 +#: ../../library/tkinter.rst:4543 msgid "" "The index of a character in the label to underline for keyboard traversal." msgstr "" "Der Index eines Zeichens in der Beschriftung, das für den Tastaturdurchlauf " "unterstrichen wird." -#: ../../library/tkinter.rst:4475 +#: ../../library/tkinter.rst:4547 msgid "One of ``'normal'``, ``'active'`` or ``'disabled'``." msgstr "Eines von ``'normal'``, ``'active'`` oder ``'disabled'``." -#: ../../library/tkinter.rst:4478 +#: ../../library/tkinter.rst:4550 msgid "An image to display instead of, or together with, the text label." msgstr "" "Ein Bild, das statt der Textbeschriftung oder zusammen mit ihr angezeigt " "wird." -#: ../../library/tkinter.rst:4480 +#: ../../library/tkinter.rst:4552 msgid "*compound*" msgstr "*compound*" -#: ../../library/tkinter.rst:4481 +#: ../../library/tkinter.rst:4553 msgid "" "Where to show the image relative to the text: ``'none'`` (the default), " "``'text'``, ``'image'``, ``'top'``, ``'bottom'``, ``'left'`` or ``'right'``." @@ -7879,15 +7949,15 @@ msgstr "" "``'text'``, ``'image'``, ``'top'``, ``'bottom'``, ``'left'`` oder " "``'right'``." -#: ../../library/tkinter.rst:4486 +#: ../../library/tkinter.rst:4558 msgid "A bitmap to display instead of the text label." msgstr "Eine Bitmap, die statt der Textbeschriftung angezeigt wird." -#: ../../library/tkinter.rst:4489 ../../library/tkinter.rst:5373 +#: ../../library/tkinter.rst:4561 ../../library/tkinter.rst:5445 msgid "The font to use for the text." msgstr "Die Schriftart für den Text." -#: ../../library/tkinter.rst:4492 +#: ../../library/tkinter.rst:4564 msgid "" "The entry's background and foreground colors in its normal state (ignored on " "macOS)." @@ -7895,11 +7965,11 @@ msgstr "" "Die Hintergrund- und Vordergrundfarben des Eintrags im normalen Zustand " "(unter macOS ohne Wirkung)." -#: ../../library/tkinter.rst:4495 +#: ../../library/tkinter.rst:4567 msgid "*activebackground*, *activeforeground*" msgstr "*activebackground*, *activeforeground*" -#: ../../library/tkinter.rst:4496 +#: ../../library/tkinter.rst:4568 msgid "" "The background and foreground colors used when the entry is active (ignored " "on macOS)." @@ -7907,11 +7977,11 @@ msgstr "" "Die Hintergrund- und Vordergrundfarben, die verwendet werden, wenn der " "Eintrag aktiv ist (unter macOS ohne Wirkung)." -#: ../../library/tkinter.rst:4499 +#: ../../library/tkinter.rst:4571 msgid "*columnbreak*" msgstr "*columnbreak*" -#: ../../library/tkinter.rst:4500 +#: ../../library/tkinter.rst:4572 msgid "" "If true, the entry starts a new column instead of being placed below the " "previous entry." @@ -7919,11 +7989,11 @@ msgstr "" "Wenn wahr, beginnt der Eintrag eine neue Spalte, statt unter dem vorherigen " "Eintrag platziert zu werden." -#: ../../library/tkinter.rst:4503 +#: ../../library/tkinter.rst:4575 msgid "*hidemargin*" msgstr "*hidemargin*" -#: ../../library/tkinter.rst:4504 +#: ../../library/tkinter.rst:4576 msgid "" "If true, the standard margin around the entry is omitted, which is useful " "when a menu is used as a palette." @@ -7931,30 +8001,30 @@ msgstr "" "Wenn wahr, entfällt der übliche Rand um den Eintrag, was nützlich ist, wenn " "ein Menü als Palette dient." -#: ../../library/tkinter.rst:4507 +#: ../../library/tkinter.rst:4579 msgid "*menu*" msgstr "*menu*" -#: ../../library/tkinter.rst:4508 +#: ../../library/tkinter.rst:4580 msgid "The submenu posted by a cascade entry; it must be a child of this menu." msgstr "" "Das Untermenü, das ein Kaskadeneintrag aufklappt. Es muss ein Kind dieses " "Menüs sein." -#: ../../library/tkinter.rst:4511 +#: ../../library/tkinter.rst:4583 msgid "*variable*" msgstr "*variable*" -#: ../../library/tkinter.rst:4512 +#: ../../library/tkinter.rst:4584 msgid "The variable associated with a checkbutton or radiobutton entry." msgstr "" "Die Variable, die zu einem Checkbutton- oder Radiobutton-Eintrag gehört." -#: ../../library/tkinter.rst:4514 +#: ../../library/tkinter.rst:4586 msgid "*onvalue*, *offvalue*" msgstr "*onvalue*, *offvalue*" -#: ../../library/tkinter.rst:4515 +#: ../../library/tkinter.rst:4587 msgid "" "The values stored in *variable* when a checkbutton entry is selected or " "cleared." @@ -7962,30 +8032,30 @@ msgstr "" "Die Werte, die in *variable* gespeichert werden, wenn ein Checkbutton-" "Eintrag ausgewählt oder abgewählt wird." -#: ../../library/tkinter.rst:4518 +#: ../../library/tkinter.rst:4590 msgid "*value*" msgstr "*value*" -#: ../../library/tkinter.rst:4519 +#: ../../library/tkinter.rst:4591 msgid "The value stored in *variable* when a radiobutton entry is selected." msgstr "" "Der Wert, der in *variable* gespeichert wird, wenn ein Radiobutton-Eintrag " "ausgewählt wird." -#: ../../library/tkinter.rst:4521 +#: ../../library/tkinter.rst:4593 msgid "*indicatoron*" msgstr "*indicatoron*" -#: ../../library/tkinter.rst:4522 +#: ../../library/tkinter.rst:4594 msgid "Whether to display the indicator of a checkbutton or radiobutton entry." msgstr "" "Ob der Anzeiger eines Checkbutton- oder Radiobutton-Eintrags angezeigt wird." -#: ../../library/tkinter.rst:4525 +#: ../../library/tkinter.rst:4597 msgid "*selectcolor*" msgstr "*selectcolor*" -#: ../../library/tkinter.rst:4526 +#: ../../library/tkinter.rst:4598 msgid "" "The color of the indicator of a checkbutton or radiobutton entry when it is " "selected." @@ -7993,11 +8063,11 @@ msgstr "" "Die Farbe des Anzeigers eines Checkbutton- oder Radiobutton-Eintrags, wenn " "er ausgewählt ist." -#: ../../library/tkinter.rst:4529 +#: ../../library/tkinter.rst:4601 msgid "*selectimage*" msgstr "*selectimage*" -#: ../../library/tkinter.rst:4530 +#: ../../library/tkinter.rst:4602 msgid "" "The image displayed when a checkbutton or radiobutton entry is selected and " "*image* is also given." @@ -8005,7 +8075,7 @@ msgstr "" "Das Bild, das angezeigt wird, wenn ein Checkbutton- oder Radiobutton-Eintrag " "ausgewählt ist und zusätzlich *image* angegeben wurde." -#: ../../library/tkinter.rst:4535 +#: ../../library/tkinter.rst:4607 msgid "" "Add a new cascade entry to the bottom of the menu. A cascade entry has an " "associated submenu, given by its *menu* option, which must be a child of " @@ -8016,7 +8086,7 @@ msgstr "" "angibt und das ein Kind dieses Menüs sein muss. Wird der Eintrag " "aufgeklappt, erscheint das Untermenü daneben." -#: ../../library/tkinter.rst:4542 +#: ../../library/tkinter.rst:4614 msgid "" "Add a new checkbutton entry to the bottom of the menu. When invoked, a " "checkbutton entry toggles between its *onvalue* and *offvalue*, storing the " @@ -8028,7 +8098,7 @@ msgstr "" "*offvalue* um, speichert das Ergebnis in seiner zugehörigen *variable* und " "zeigt einen Anzeiger, der den Auswahlzustand erkennen lässt." -#: ../../library/tkinter.rst:4549 +#: ../../library/tkinter.rst:4621 msgid "" "Add a new command entry to the bottom of the menu. A command entry behaves " "much like a button: when it is invoked, the callback given by its *command* " @@ -8038,7 +8108,7 @@ msgstr "" "Command-Eintrag verhält sich weitgehend wie ein Button: Wird er ausgelöst, " "wird der durch seine Option *command* angegebene Callback aufgerufen." -#: ../../library/tkinter.rst:4555 +#: ../../library/tkinter.rst:4627 msgid "" "Add a new radiobutton entry to the bottom of the menu. Radiobutton entries " "sharing the same *variable* form a group of which only one may be selected " @@ -8049,7 +8119,7 @@ msgstr "" "immer nur einer ausgewählt sein kann. Beim Auswählen eines Eintrags wird " "sein *value* in der Variablen gespeichert." -#: ../../library/tkinter.rst:4562 +#: ../../library/tkinter.rst:4634 msgid "" "Add a separator to the bottom of the menu. A separator is displayed as a " "horizontal dividing line and cannot be activated or invoked." @@ -8058,7 +8128,7 @@ msgstr "" "waagerechte Trennlinie angezeigt und lässt sich weder aktivieren noch " "auslösen." -#: ../../library/tkinter.rst:4568 +#: ../../library/tkinter.rst:4640 msgid "" "Same as :meth:`add`, except that the new entry is inserted just before the " "entry given by *index* instead of being appended to the end of the menu. " @@ -8076,7 +8146,7 @@ msgstr "" "insert_checkbutton`, :meth:`!insert_radiobutton` und :meth:`!" "insert_separator` rufen diese Methode mit dem jeweiligen *itemType* auf." -#: ../../library/tkinter.rst:4580 +#: ../../library/tkinter.rst:4652 msgid "" "Insert a new cascade entry before the entry given by *index* (see :meth:" "`add_cascade`)." @@ -8084,7 +8154,7 @@ msgstr "" "Fügt einen neuen Kaskadeneintrag vor dem durch *index* bezeichneten Eintrag " "ein (siehe :meth:`add_cascade`)." -#: ../../library/tkinter.rst:4585 +#: ../../library/tkinter.rst:4657 msgid "" "Insert a new checkbutton entry before the entry given by *index* (see :meth:" "`add_checkbutton`)." @@ -8092,7 +8162,7 @@ msgstr "" "Fügt einen neuen Checkbutton-Eintrag vor dem durch *index* bezeichneten " "Eintrag ein (siehe :meth:`add_checkbutton`)." -#: ../../library/tkinter.rst:4590 +#: ../../library/tkinter.rst:4662 msgid "" "Insert a new command entry before the entry given by *index* (see :meth:" "`add_command`)." @@ -8100,7 +8170,7 @@ msgstr "" "Fügt einen neuen Command-Eintrag vor dem durch *index* bezeichneten Eintrag " "ein (siehe :meth:`add_command`)." -#: ../../library/tkinter.rst:4595 +#: ../../library/tkinter.rst:4667 msgid "" "Insert a new radiobutton entry before the entry given by *index* (see :meth:" "`add_radiobutton`)." @@ -8108,7 +8178,7 @@ msgstr "" "Fügt einen neuen Radiobutton-Eintrag vor dem durch *index* bezeichneten " "Eintrag ein (siehe :meth:`add_radiobutton`)." -#: ../../library/tkinter.rst:4600 +#: ../../library/tkinter.rst:4672 msgid "" "Insert a separator before the entry given by *index* (see :meth:" "`add_separator`)." @@ -8116,7 +8186,7 @@ msgstr "" "Fügt einen Trenner vor dem durch *index* bezeichneten Eintrag ein (siehe :" "meth:`add_separator`)." -#: ../../library/tkinter.rst:4605 +#: ../../library/tkinter.rst:4677 msgid "" "Delete all of the menu entries between *index1* and *index2* inclusive. If " "*index2* is omitted, it defaults to *index1*, so that a single entry is " @@ -8128,7 +8198,7 @@ msgstr "" "gelöscht wird. Versuche, einen Abreißeintrag zu löschen, werden übergangen. " "Entferne ihn stattdessen über die Option *tearoff*." -#: ../../library/tkinter.rst:4613 +#: ../../library/tkinter.rst:4685 msgid "" "Return the current value of the configuration option *option* for the entry " "given by *index*." @@ -8136,7 +8206,7 @@ msgstr "" "Gibt den aktuellen Wert der Konfigurationsoption *option* für den durch " "*index* bezeichneten Eintrag zurück." -#: ../../library/tkinter.rst:4621 +#: ../../library/tkinter.rst:4693 msgid "" "Query or modify the configuration options of the entry given by *index*. " "This mirrors :meth:`~Misc.configure`, except that it applies to an " @@ -8154,7 +8224,7 @@ msgstr "" "werden die Optionen, die :meth:`add` für die Art des Eintrags annimmt. :meth:" "`entryconfig` ist ein Alias von :meth:`!entryconfigure`." -#: ../../library/tkinter.rst:4632 +#: ../../library/tkinter.rst:4704 msgid "" "Return the numerical index corresponding to *index*, or ``None`` if *index* " "selects no entry." @@ -8162,7 +8232,7 @@ msgstr "" "Gibt den numerischen Index zurück, der *index* entspricht, oder ``None``, " "wenn *index* keinen Eintrag auswählt." -#: ../../library/tkinter.rst:4637 +#: ../../library/tkinter.rst:4709 msgid "" "Return the type of the entry given by *index*: one of ``'command'``, " "``'cascade'``, ``'checkbutton'``, ``'radiobutton'``, ``'separator'`` or " @@ -8172,7 +8242,7 @@ msgstr "" "``'command'``, ``'cascade'``, ``'checkbutton'``, ``'radiobutton'``, " "``'separator'`` oder ``'tearoff'`` (für den Abreißeintrag)." -#: ../../library/tkinter.rst:4643 +#: ../../library/tkinter.rst:4715 msgid "" "Make the entry given by *index* the active entry, redisplaying it with its " "active colors, and deactivate any previously active entry. If *index* " @@ -8184,7 +8254,7 @@ msgstr "" "Eintrag. Wählt *index* keinen Eintrag aus oder ist der gewählte Eintrag " "deaktiviert, hat das Menü danach keinen aktiven Eintrag." -#: ../../library/tkinter.rst:4650 +#: ../../library/tkinter.rst:4722 msgid "" "Invoke the action of the entry given by *index*, as if it had been clicked. " "Nothing happens if the entry is disabled. If the entry has a *command* " @@ -8196,7 +8266,7 @@ msgstr "" "Eintrag einen zugehörigen *command*, wird dessen Ergebnis zurückgegeben, " "andernfalls ist das Ergebnis eine leere Zeichenkette." -#: ../../library/tkinter.rst:4658 +#: ../../library/tkinter.rst:4730 msgid "" "Display the menu on the screen at the root-window coordinates *x* and *y*, " "adjusting them if necessary so that the whole menu is visible. If the " @@ -8208,7 +8278,7 @@ msgstr "" "ist. Ist die Option *postcommand* angegeben, wird sie ausgewertet, bevor das " "Menü aufgeklappt wird." -#: ../../library/tkinter.rst:4665 +#: ../../library/tkinter.rst:4737 msgid "" "Post the menu as a popup at the root-window coordinates *x* and *y*. If " "*entry* is given, the menu is positioned so that this entry is displayed " @@ -8218,7 +8288,7 @@ msgstr "" "auf. Ist *entry* angegeben, wird das Menü so positioniert, dass dieser " "Eintrag unter dem Mauszeiger liegt." -#: ../../library/tkinter.rst:4671 +#: ../../library/tkinter.rst:4743 msgid "" "Unmap the menu so that it is no longer displayed, also unposting any posted " "lower-level cascaded submenu. This has no effect on Windows and macOS, which " @@ -8229,7 +8299,7 @@ msgstr "" "und macOS hat dies keine Wirkung, da diese das Einklappen von Menüs selbst " "regeln." -#: ../../library/tkinter.rst:4678 +#: ../../library/tkinter.rst:4750 msgid "" "Return the x-coordinate, within the menu window, of the leftmost pixel of " "the entry given by *index*." @@ -8237,7 +8307,7 @@ msgstr "" "Gibt die x-Koordinate des linkesten Pixels des durch *index* bezeichneten " "Eintrags innerhalb des Menüfensters zurück." -#: ../../library/tkinter.rst:4685 +#: ../../library/tkinter.rst:4757 msgid "" "Return the y-coordinate, within the menu window, of the topmost pixel of the " "entry given by *index*." @@ -8245,7 +8315,7 @@ msgstr "" "Gibt die y-Koordinate des obersten Pixels des durch *index* bezeichneten " "Eintrags innerhalb des Menüfensters zurück." -#: ../../library/tkinter.rst:4691 +#: ../../library/tkinter.rst:4763 msgid "" "A :class:`!Menubutton` widget displays a textual string, bitmap or image and " "posts an associated :class:`Menu`, given by its *menu* option, when the user " @@ -8262,7 +8332,7 @@ msgstr "" "von :class:`Widget`. Die vollständige Liste der Optionen steht auf der Tk-" "Man-Page ``menubutton``." -#: ../../library/tkinter.rst:4703 +#: ../../library/tkinter.rst:4775 msgid "" "A :class:`!Message` widget displays a non-interactive textual string, given " "by the *text* option or linked to a variable through *textvariable*. Unlike " @@ -8280,7 +8350,7 @@ msgstr "" "links, zentriert oder rechts ausrichten. Erbt von :class:`Widget`. Die " "vollständige Liste der Optionen steht auf der Tk-Man-Page ``message``." -#: ../../library/tkinter.rst:4714 +#: ../../library/tkinter.rst:4786 msgid "" "A helper subclass of :class:`Menubutton` that displays a pop-up menu of " "mutually exclusive choices. *variable* is a :class:`Variable` kept in sync " @@ -8297,16 +8367,16 @@ msgstr "" "dem ausgewählten Wert aufgerufen wird, und das Schlüsselwortargument *name* " "setzt den Tk-Widget-Namen." -#: ../../library/tkinter.rst:4723 +#: ../../library/tkinter.rst:4795 msgid "Destroy the widget, also cleaning up the associated pop-up menu." msgstr "" "Zerstört das Widget und räumt dabei auch das zugehörige Aufklappmenü auf." -#: ../../library/tkinter.rst:4725 +#: ../../library/tkinter.rst:4797 msgid "Added support for the *name* keyword argument." msgstr "Unterstützung für das Schlüsselwortargument *name* hinzugefügt." -#: ../../library/tkinter.rst:4732 +#: ../../library/tkinter.rst:4804 msgid "" "A :class:`!PanedWindow` is a geometry-manager widget that arranges any " "number of child *panes* in a row (when *orient* is ``'horizontal'``) or a " @@ -8323,7 +8393,7 @@ msgstr "" "die Widgets zu beiden Seiten in der Größe zu ändern. Erbt von :class:" "`Widget`." -#: ../../library/tkinter.rst:4740 +#: ../../library/tkinter.rst:4812 msgid "" "The *orient* option selects the layout direction, *sashwidth* sets the width " "of each sash and *sashrelief* its relief. When *showhandle* is true a small " @@ -8336,7 +8406,7 @@ msgstr "" "sie ziehen kann. Die vollständige Liste der Optionen steht auf der Tk-Man-" "Page ``panedwindow``." -#: ../../library/tkinter.rst:4748 +#: ../../library/tkinter.rst:4820 msgid "" "Add *child* to the panedwindow as a new pane, placed after any existing " "panes. The keyword arguments specify per-pane management options for " @@ -8347,7 +8417,7 @@ msgstr "" "Verwaltungsoptionen für *child* in seinem Bereich an. Es darf jede von :meth:" "`paneconfigure` akzeptierte Option sein." -#: ../../library/tkinter.rst:4758 +#: ../../library/tkinter.rst:4830 msgid "" "Remove the pane containing *child* from the panedwindow. All geometry " "management options for *child* are forgotten. :meth:`forget` is an alias of :" @@ -8362,7 +8432,7 @@ msgstr "" "Manager zu nehmen, verwende :meth:`~Pack.pack_forget`, :meth:`~Grid." "grid_forget` oder :meth:`~Place.place_forget`." -#: ../../library/tkinter.rst:4767 +#: ../../library/tkinter.rst:4839 msgid "" "Return a tuple of the widgets managed by the panedwindow, one per pane, in " "order." @@ -8370,7 +8440,7 @@ msgstr "" "Gibt ein Tupel der vom PanedWindow verwalteten Widgets zurück, eines je " "Bereich, in der Reihenfolge." -#: ../../library/tkinter.rst:4772 +#: ../../library/tkinter.rst:4844 msgid "" "Return the current value of the management option *option* for the pane " "containing *child*. *option* may be any value allowed by :meth:" @@ -8380,7 +8450,7 @@ msgstr "" "*child* zurück. *option* darf jeder von :meth:`paneconfigure` zugelassene " "Wert sein." -#: ../../library/tkinter.rst:4781 +#: ../../library/tkinter.rst:4853 msgid "" "Query or modify the management options of the pane containing the widget " "*tagOrId*. With no options, it returns a dictionary describing all of the " @@ -8414,7 +8484,7 @@ msgstr "" "``'middle'`` oder ``'never'``). :meth:`paneconfig` ist ein Alias von :meth:`!" "paneconfigure`." -#: ../../library/tkinter.rst:4799 +#: ../../library/tkinter.rst:4871 msgid "" "Identify the panedwindow component underneath the point given by *x* and " "*y*, in window coordinates. If the point is over a sash or a sash handle, " @@ -8431,7 +8501,7 @@ msgstr "" "Liegt der Punkt über einem anderen Teil des PanedWindow, ist das Ergebnis " "eine leere Zeichenkette." -#: ../../library/tkinter.rst:4810 +#: ../../library/tkinter.rst:4882 msgid "" "Query or change the position of the sashes in the panedwindow. This is a " "thin wrapper around the Tk ``sash`` subcommand; the convenience methods :" @@ -8443,7 +8513,7 @@ msgstr "" "stattdessen die bequemen Methoden :meth:`sash_coord`, :meth:`sash_mark` und :" "meth:`sash_place` verwendet werden." -#: ../../library/tkinter.rst:4817 +#: ../../library/tkinter.rst:4889 msgid "" "Return the current x and y coordinate pair for the sash given by *index*, " "which must be an integer between 0 and one less than the number of panes in " @@ -8456,7 +8526,7 @@ msgstr "" "die Koordinaten der linken oberen Ecke des Bereichs, der die Trennleiste " "enthält." -#: ../../library/tkinter.rst:4825 +#: ../../library/tkinter.rst:4897 msgid "" "Record the current mouse position for the sash given by *index*, for use " "together with later sash-drag operations to move the sash." @@ -8465,13 +8535,13 @@ msgstr "" "Trennleiste, um sie zusammen mit späteren Ziehvorgängen zum Verschieben der " "Trennleiste zu verwenden." -#: ../../library/tkinter.rst:4830 +#: ../../library/tkinter.rst:4902 msgid "Place the sash given by *index* at the coordinates *x* and *y*." msgstr "" "Setzt die durch *index* bezeichnete Trennleiste an die Koordinaten *x* und " "*y*." -#: ../../library/tkinter.rst:4834 +#: ../../library/tkinter.rst:4906 msgid "" "Query or change the position of the sash proxy, the \"ghost\" sash shown " "while a sash is being dragged with non-opaque resizing. This is a thin " @@ -8485,7 +8555,7 @@ msgstr "" "stattdessen die bequemen Methoden :meth:`proxy_coord`, :meth:`proxy_forget` " "und :meth:`proxy_place` verwendet werden." -#: ../../library/tkinter.rst:4842 +#: ../../library/tkinter.rst:4914 msgid "" "Return a tuple containing the x and y coordinates of the most recent proxy " "location." @@ -8493,15 +8563,15 @@ msgstr "" "Gibt ein Tupel mit den x- und y-Koordinaten der zuletzt eingenommenen " "Stellvertreterposition zurück." -#: ../../library/tkinter.rst:4847 +#: ../../library/tkinter.rst:4919 msgid "Remove the proxy from the display." msgstr "Entfernt den Stellvertreter von der Anzeige." -#: ../../library/tkinter.rst:4851 +#: ../../library/tkinter.rst:4923 msgid "Place the proxy at the coordinates *x* and *y*." msgstr "Setzt den Stellvertreter an die Koordinaten *x* und *y*." -#: ../../library/tkinter.rst:4856 +#: ../../library/tkinter.rst:4928 msgid "" "A :class:`!Radiobutton` widget displays a textual string, bitmap or image " "together with a diamond or circular indicator, and selects one choice out of " @@ -8526,7 +8596,7 @@ msgstr "" "``radiobutton`` dokumentierten Optionen an, etwa *variable*, *value* und " "*command*." -#: ../../library/tkinter.rst:4871 +#: ../../library/tkinter.rst:4943 msgid "" "Do just what would happen if the user pressed the radiobutton with the " "mouse: select the button and invoke the associated command, if there is one. " @@ -8540,7 +8610,7 @@ msgstr "" "Zeichenkette, wenn kein Befehl mit dem Radiobutton verknüpft ist. Ist der " "Zustand des Radiobuttons ``disabled``, wird dies übergangen." -#: ../../library/tkinter.rst:4880 +#: ../../library/tkinter.rst:4952 msgid "" "Select the radiobutton and set the associated variable to the value " "corresponding to this widget." @@ -8548,7 +8618,7 @@ msgstr "" "Wählt den Radiobutton aus und setzt die zugehörige Variable auf den Wert, " "der zu diesem Widget gehört." -#: ../../library/tkinter.rst:4885 +#: ../../library/tkinter.rst:4957 msgid "" "Deselect the radiobutton and set the associated variable to an empty string. " "If this radiobutton was not currently selected, this has no effect." @@ -8557,7 +8627,7 @@ msgstr "" "Zeichenkette. War dieser Radiobutton nicht ausgewählt, hat dies keine " "Wirkung." -#: ../../library/tkinter.rst:4891 +#: ../../library/tkinter.rst:4963 msgid "" "Flash the radiobutton by redisplaying it several times, alternating between " "the active and normal colors. At the end of the flash the radiobutton is " @@ -8569,7 +8639,7 @@ msgstr "" "Radiobutton in demselben normalen oder aktiven Zustand wie beim Aufruf der " "Methode. Ist der Zustand des Radiobuttons ``disabled``, wird dies übergangen." -#: ../../library/tkinter.rst:4900 +#: ../../library/tkinter.rst:4972 msgid "" "A :class:`!Scale` widget lets the user select a numerical value by moving a " "slider along a trough. It can be oriented vertically or horizontally and can " @@ -8581,7 +8651,7 @@ msgstr "" "waagerecht ausrichten und kann wahlweise eine Beschriftung und den aktuellen " "Wert anzeigen. Erbt von :class:`Widget`." -#: ../../library/tkinter.rst:4906 +#: ../../library/tkinter.rst:4978 msgid "" "In addition to the standard widget options, a scale accepts the options " "documented in the Tk ``scale`` manual page, such as *from_*, *to*, " @@ -8597,7 +8667,7 @@ msgstr "" "*from* wird ``from_`` geschrieben, weil :keyword:`from` ein Python-" "Schlüsselwort ist." -#: ../../library/tkinter.rst:4913 +#: ../../library/tkinter.rst:4985 msgid "" "With a non-integer *resolution*, see :ref:`numeric values and the locale " "`." @@ -8605,7 +8675,7 @@ msgstr "" "Bei einer nicht ganzzahligen *resolution* siehe :ref:`Zahlenwerte und die " "Ländereinstellung `." -#: ../../library/tkinter.rst:4918 +#: ../../library/tkinter.rst:4990 msgid "" "Return the current value of the scale. The result is an integer if the " "scale's *resolution* yields whole numbers, and a float otherwise." @@ -8614,7 +8684,7 @@ msgstr "" "wenn die *resolution* der Scale ganze Zahlen ergibt, sonst eine " "Gleitkommazahl." -#: ../../library/tkinter.rst:4924 +#: ../../library/tkinter.rst:4996 msgid "" "Set the scale to *value*, moving the slider accordingly. This has no effect " "if the scale is disabled." @@ -8622,7 +8692,7 @@ msgstr "" "Setzt die Scale auf *value* und bewegt den Schieber entsprechend. Ist die " "Scale deaktiviert, hat dies keine Wirkung." -#: ../../library/tkinter.rst:4929 +#: ../../library/tkinter.rst:5001 msgid "" "Return a tuple ``(x, y)`` giving the pixel coordinates, relative to the " "widget, of the point on the centerline of the trough that corresponds to " @@ -8633,7 +8703,7 @@ msgstr "" "entspricht. Wird *value* weggelassen, wird der aktuelle Wert der Scale " "verwendet." -#: ../../library/tkinter.rst:4936 +#: ../../library/tkinter.rst:5008 msgid "" "Return a string describing the part of the scale at the pixel coordinates " "*x*, *y*: ``'slider'``, ``'trough1'`` (the part of the trough above or to " @@ -8646,7 +8716,7 @@ msgstr "" "oder rechts des Schiebers) oder eine leere Zeichenkette, wenn der Punkt über " "keinem dieser Elemente liegt." -#: ../../library/tkinter.rst:4945 +#: ../../library/tkinter.rst:5017 msgid "" "A :class:`!Scrollbar` widget displays a slider and two arrows that let the " "user scroll an associated widget, such as a :class:`Listbox`, :class:" @@ -8665,7 +8735,7 @@ msgstr "" "Methode :meth:`~XView.xview` oder :meth:`~YView.yview` des verschobenen " "Widgets. Erbt von :class:`Widget`." -#: ../../library/tkinter.rst:4956 +#: ../../library/tkinter.rst:5028 msgid "" "Return the current scrollbar settings as a tuple ``(first, last)`` of two " "fractions between 0 and 1, describing the portion of the document that is " @@ -8676,7 +8746,7 @@ msgstr "" "Teil des Dokuments beschreiben, so wie sie zuletzt an :meth:`set` übergeben " "wurden." -#: ../../library/tkinter.rst:4962 +#: ../../library/tkinter.rst:5034 msgid "" "Set the scrollbar. *first* and *last* are fractions between 0 and 1 giving " "the positions of the start and end of the visible portion of the associated " @@ -8689,7 +8759,7 @@ msgstr "" "oder *yscrollcommand* des verschobenen Widgets registriert und von diesem " "aufgerufen." -#: ../../library/tkinter.rst:4970 +#: ../../library/tkinter.rst:5042 msgid "" "Mark the element *index* (one of ``'arrow1'``, ``'slider'`` or ``'arrow2'``) " "as active, displaying it according to the *activebackground* and " @@ -8701,11 +8771,11 @@ msgstr "" "und *activerelief* an. Wird *index* weggelassen, wird der Name des derzeit " "aktiven Elements zurückgegeben, oder ``None``, wenn kein Element aktiv ist." -#: ../../library/tkinter.rst:4976 +#: ../../library/tkinter.rst:5048 msgid "The *index* argument is now optional." msgstr "Das Argument *index* ist jetzt optional." -#: ../../library/tkinter.rst:4981 +#: ../../library/tkinter.rst:5053 msgid "" "Return a float indicating the fractional change in the scrollbar setting " "that corresponds to moving the slider by *deltax* pixels horizontally (for " @@ -8717,7 +8787,7 @@ msgstr "" "waagerechten Scrollbars) oder *deltay* Pixel senkrecht (bei senkrechten " "Scrollbars) entspricht." -#: ../../library/tkinter.rst:4988 +#: ../../library/tkinter.rst:5060 msgid "" "Return a float between 0 and 1 indicating where the point at pixel " "coordinates *x*, *y* lies in the trough: 0 corresponds to the top or left of " @@ -8727,7 +8797,7 @@ msgstr "" "bei den Pixelkoordinaten *x*, *y* in der Führung liegt: 0 entspricht dem " "oberen oder linken Ende der Führung, 1 dem unteren oder rechten." -#: ../../library/tkinter.rst:4994 +#: ../../library/tkinter.rst:5066 msgid "" "Return the name of the element under the pixel coordinates *x*, *y* (such as " "``'arrow1'``), or an empty string if the point does not lie in any element " @@ -8737,7 +8807,8 @@ msgstr "" "``'arrow1'``), oder eine leere Zeichenkette, wenn der Punkt in keinem " "Element der Scrollbar liegt." -#: ../../library/tkinter.rst:5001 +#: ../../library/tkinter.rst:5073 +#, fuzzy msgid "" "A :class:`!Spinbox` widget is an :class:`Entry`-like widget with a pair of " "up/down arrow buttons that let the user step through a range of values in " @@ -8745,10 +8816,11 @@ msgid "" "range given by the *from_*, *to* and *increment* options, or an explicit " "list of strings given by the *values* option (which takes precedence over " "the range). Each time an arrow is invoked the *command* callback, if any, is " -"called; the *wrap* option controls whether stepping past either end of the " -"range wraps around to the other end; the *format* option specifies how " -"numeric values are formatted; and the *validate* option enables validation " -"of the entered text. Inherits from :class:`Widget` and :class:`XView`." +"called; the boolean *wrap* option controls whether stepping past either end " +"of the range wraps around to the other end; the *format* option specifies " +"how numeric values are formatted; and the *validate* option enables " +"validation of the entered text. Inherits from :class:`Widget` and :class:" +"`XView`." msgstr "" "Ein :class:`!Spinbox`-Widget ist ein :class:`Entry`-ähnliches Widget mit " "einem Paar Pfeiltasten nach oben und unten, mit denen der Benutzer " @@ -8763,7 +8835,7 @@ msgstr "" "*validate* schaltet die Prüfung des eingegebenen Textes ein. Erbt von :class:" "`Widget` und :class:`XView`." -#: ../../library/tkinter.rst:5014 +#: ../../library/tkinter.rst:5086 msgid "" "With a non-integer *increment*, see :ref:`numeric values and the locale " "`." @@ -8771,7 +8843,7 @@ msgstr "" "Bei einem nicht ganzzahligen *increment* siehe :ref:`Zahlenwerte und die " "Ländereinstellung `." -#: ../../library/tkinter.rst:5017 +#: ../../library/tkinter.rst:5089 msgid "" "Many of the methods take an *index* argument identifying a character in the " "spinbox's string. As described in the Tk ``spinbox`` manual page, *index* " @@ -8789,11 +8861,11 @@ msgstr "" "``'sel.first'`` oder ``'sel.last'`` (die Enden der Auswahl) oder ``@x`` (das " "Zeichen, das die Pixel-x-Koordinate *x* im Fenster abdeckt)." -#: ../../library/tkinter.rst:5028 +#: ../../library/tkinter.rst:5100 msgid "Return the spinbox's string." msgstr "Gibt die Zeichenkette der Spinbox zurück." -#: ../../library/tkinter.rst:5032 +#: ../../library/tkinter.rst:5104 msgid "" "Insert the characters of the string *s* just before the character given by " "*index*." @@ -8801,7 +8873,7 @@ msgstr "" "Fügt die Zeichen der Zeichenkette *s* unmittelbar vor dem durch *index* " "bezeichneten Zeichen ein." -#: ../../library/tkinter.rst:5037 +#: ../../library/tkinter.rst:5109 msgid "" "Delete one or more characters of the spinbox. *first* is the index of the " "first character to delete, and *last* is the index of the character just " @@ -8813,12 +8885,12 @@ msgstr "" "nach dem letzten zu löschenden. Wird *last* weggelassen, wird ein einzelnes " "Zeichen bei *first* gelöscht." -#: ../../library/tkinter.rst:5049 +#: ../../library/tkinter.rst:5121 msgid "Return the numerical index corresponding to *index*, as a string." msgstr "" "Gibt den numerischen Index, der *index* entspricht, als Zeichenkette zurück." -#: ../../library/tkinter.rst:5053 +#: ../../library/tkinter.rst:5125 msgid "" "Return a tuple of four integers ``(x, y, width, height)`` describing the " "bounding box of the character given by *index*. *x* and *y* are the pixel " @@ -8833,7 +8905,7 @@ msgstr "" "Rahmen kann sich auf einen Bereich außerhalb des sichtbaren " "Fensterausschnitts beziehen." -#: ../../library/tkinter.rst:5066 +#: ../../library/tkinter.rst:5138 msgid "" "Return the name of the window element at the pixel coordinates *x*, *y*: one " "of ``'buttondown'``, ``'buttonup'``, ``'entry'`` or ``'none'``." @@ -8841,7 +8913,7 @@ msgstr "" "Gibt den Namen des Fensterelements an den Pixelkoordinaten *x*, *y* zurück: " "eines von ``'buttondown'``, ``'buttonup'``, ``'entry'`` oder ``'none'``." -#: ../../library/tkinter.rst:5071 +#: ../../library/tkinter.rst:5143 msgid "" "Invoke the spin button given by *element*, either ``'buttonup'`` or " "``'buttondown'``, triggering the action associated with it." @@ -8849,7 +8921,7 @@ msgstr "" "Betätigt die durch *element* bezeichnete Pfeiltaste, entweder ``'buttonup'`` " "oder ``'buttondown'``, und löst die zugehörige Aktion aus." -#: ../../library/tkinter.rst:5076 +#: ../../library/tkinter.rst:5148 msgid "" "A thin wrapper around the Tk ``scan`` widget subcommand, used to implement " "fast dragging of the view: ``scan('mark', x)`` records *x* and the current " @@ -8862,7 +8934,7 @@ msgstr "" "Ausschnitt relativ zu dieser Marke. Die Methoden :meth:`scan_mark` und :meth:" "`scan_dragto` kapseln die beiden Formen." -#: ../../library/tkinter.rst:5084 +#: ../../library/tkinter.rst:5156 msgid "" "Record *x* and the current view in the spinbox window, for use with a later :" "meth:`scan_dragto` call. This is typically associated with a mouse button " @@ -8872,7 +8944,7 @@ msgstr "" "späteren Aufruf von :meth:`scan_dragto`. Üblicherweise mit einem Mausklick " "im Widget verknüpft." -#: ../../library/tkinter.rst:5090 +#: ../../library/tkinter.rst:5162 msgid "" "Adjust the view by 10 times the difference between *x* and the *x* passed to " "the last :meth:`scan_mark` call. This is typically associated with mouse " @@ -8884,7 +8956,7 @@ msgstr "" "Mausbewegungsereignissen verknüpft und erzeugt den Eindruck, die Spinbox mit " "hoher Geschwindigkeit durch das Fenster zu ziehen." -#: ../../library/tkinter.rst:5097 +#: ../../library/tkinter.rst:5169 msgid "" "A thin wrapper around the Tk ``selection`` widget subcommand, used to adjust " "the selection within the spinbox. It has several forms depending on the " @@ -8906,7 +8978,7 @@ msgstr "" "`selection_present`, :meth:`selection_range` und :meth:`selection_to` " "kapseln diese Formen." -#: ../../library/tkinter.rst:5111 +#: ../../library/tkinter.rst:5183 msgid "" "Locate the end of the selection nearest to the character given by *index* " "and adjust that end of the selection to be at *index* (including but not " @@ -8923,7 +8995,7 @@ msgstr "" "zwischen *index* und dem zuletzt gesetzten Ankerpunkt umfasst, beide " "eingeschlossen." -#: ../../library/tkinter.rst:5122 +#: ../../library/tkinter.rst:5194 msgid "" "Clear the selection if it is currently in this widget. If the selection is " "not in this widget, the method has no effect." @@ -8931,7 +9003,7 @@ msgstr "" "Hebt die Auswahl auf, wenn sie derzeit in diesem Widget liegt. Liegt die " "Auswahl nicht in diesem Widget, hat die Methode keine Wirkung." -#: ../../library/tkinter.rst:5127 +#: ../../library/tkinter.rst:5199 msgid "" "This shadows the inherited :meth:`Misc.selection_clear`, which clears the X " "selection; that method is not available on a :class:`Spinbox`." @@ -8940,7 +9012,7 @@ msgstr "" "Auswahl löscht. An einer :class:`Spinbox` steht diese Methode nicht zur " "Verfügung." -#: ../../library/tkinter.rst:5133 +#: ../../library/tkinter.rst:5205 msgid "" "Set or get the currently selected element. If *element* (one of " "``'buttonup'``, ``'buttondown'`` or ``'none'``) is given, that spin button " @@ -8952,7 +9024,7 @@ msgstr "" "Pfeiltaste ausgewählt und gedrückt dargestellt, andernfalls wird der Name " "des derzeit ausgewählten Elements zurückgegeben." -#: ../../library/tkinter.rst:5140 +#: ../../library/tkinter.rst:5212 msgid "" "Set the selection anchor point to just before the character given by " "*index*, without changing the selection itself." @@ -8960,7 +9032,7 @@ msgstr "" "Setzt den Ankerpunkt der Auswahl unmittelbar vor das durch *index* " "bezeichnete Zeichen, ohne die Auswahl selbst zu ändern." -#: ../../library/tkinter.rst:5148 +#: ../../library/tkinter.rst:5220 msgid "" "Return ``True`` if there are characters selected in the spinbox, ``False`` " "otherwise." @@ -8968,7 +9040,7 @@ msgstr "" "Gibt ``True`` zurück, wenn in der Spinbox Zeichen ausgewählt sind, sonst " "``False``." -#: ../../library/tkinter.rst:5156 +#: ../../library/tkinter.rst:5228 msgid "" "Set the selection to include the characters starting with the one indexed by " "*start* and ending with the one just before *end*. If *end* refers to the " @@ -8978,7 +9050,7 @@ msgstr "" "bis zum Zeichen unmittelbar vor *end* umfasst. Verweist *end* auf dasselbe " "Zeichen wie *start* oder auf ein früheres, wird die Auswahl aufgehoben." -#: ../../library/tkinter.rst:5166 +#: ../../library/tkinter.rst:5238 msgid "" "Set the selection between *index* and the anchor point. If *index* is before " "the anchor point, the selection runs from *index* up to but not including " @@ -8996,7 +9068,7 @@ msgstr "" "gesetzt hat. Liegt die Auswahl nicht in diesem Widget, wird eine neue mit " "dem zuletzt gesetzten Ankerpunkt erzeugt." -#: ../../library/tkinter.rst:5182 +#: ../../library/tkinter.rst:5254 msgid "" "A :class:`!Text` widget displays and edits multi-line text. Portions of the " "text may be styled with **tags**, particular positions may be annotated with " @@ -9019,7 +9091,7 @@ msgstr "" "senkrecht verschieben. Die vollständige Liste der Optionen steht auf der Tk-" "Man-Page ``text``." -#: ../../library/tkinter.rst:5193 +#: ../../library/tkinter.rst:5265 msgid "" "Most of the methods take one or more *index* arguments that identify a " "position within the text. As described in the Tk ``text`` manual page, an " @@ -9053,7 +9125,7 @@ msgstr "" "sich kombinieren und werden von links nach rechts angewendet, zum Beispiel " "``'insert wordstart - 1 c'``." -#: ../../library/tkinter.rst:5211 +#: ../../library/tkinter.rst:5283 msgid "" "Insert the string *chars* just before the character at *index* (if *index* " "is ``'end'``, just before the final newline). By default the new text " @@ -9071,7 +9143,7 @@ msgstr "" "einzelner Tag-Name oder eine Folge von Namen sein) und überschreiben damit " "die umgebenden Tags." -#: ../../library/tkinter.rst:5222 +#: ../../library/tkinter.rst:5294 msgid "" "Delete the range of characters from *index1* up to but not including " "*index2*. If *index2* is omitted, the single character at *index1* is " @@ -9083,7 +9155,7 @@ msgstr "" "Widget behält immer einen Zeilenumbruch als letztes Zeichen. Eine Löschung, " "die ihn entfernen würde, wird entsprechend angepasst." -#: ../../library/tkinter.rst:5230 +#: ../../library/tkinter.rst:5302 msgid "" "Replace the range of characters from *index1* up to but not including " "*index2* with *chars*. This is equivalent to a :meth:`delete` followed by " @@ -9093,7 +9165,7 @@ msgstr "" "*chars*. Das entspricht einem :meth:`delete` gefolgt von einem :meth:" "`insert` bei *index1*; *args* wird wie bei :meth:`insert` gedeutet." -#: ../../library/tkinter.rst:5239 +#: ../../library/tkinter.rst:5311 msgid "" "Return the text from *index1* up to but not including *index2* as a string. " "If *index2* is omitted, return the single character at *index1*. Embedded " @@ -9104,7 +9176,7 @@ msgstr "" "zurückgegeben. Eingebettete Bilder und Fenster bleiben im Ergebnis " "unberücksichtigt." -#: ../../library/tkinter.rst:5246 +#: ../../library/tkinter.rst:5318 msgid "" "Return the position corresponding to *index* in the canonical ``'line." "char'`` form." @@ -9112,7 +9184,7 @@ msgstr "" "Gibt die Position zurück, die *index* entspricht, in der kanonischen Form " "``'line.char'``." -#: ../../library/tkinter.rst:5251 +#: ../../library/tkinter.rst:5323 msgid "" "Compare the positions of *index1* and *index2* using the relational operator " "*op*, which must be one of ``'<'``, ``'<='``, ``'=='``, ``'>='``, ``'>'`` or " @@ -9123,7 +9195,7 @@ msgstr "" "``'>='``, ``'>'`` oder ``'!='`` sein muss, und gibt das Ergebnis als " "Wahrheitswert zurück." -#: ../../library/tkinter.rst:5257 +#: ../../library/tkinter.rst:5329 msgid "" "Count the number of items of the requested kinds between *index1* and " "*index2*; the count is negative if *index1* is after *index2*. Each of " @@ -9148,11 +9220,11 @@ msgstr "" "andernfalls ein Tupel mit einer ganzen Zahl je Zähloption (oder ``None``, " "wenn das Ergebnis leer ist)." -#: ../../library/tkinter.rst:5271 +#: ../../library/tkinter.rst:5343 msgid "Added the *return_ints* parameter." msgstr "Der Parameter *return_ints* wurde hinzugefügt." -#: ../../library/tkinter.rst:5277 +#: ../../library/tkinter.rst:5349 msgid "" "Adjust the view so that the character given by *index* is visible. If it is " "already visible the method has no effect; if it is a short distance out of " @@ -9165,7 +9237,7 @@ msgstr "" "nächstgelegenen Rand erscheint, andernfalls blättert es *index* in die Mitte " "des Fensters." -#: ../../library/tkinter.rst:5284 +#: ../../library/tkinter.rst:5356 msgid "" "Return a tuple ``(x, y, width, height)`` giving the bounding box, in pixels, " "of the visible part of the character at *index*, or ``None`` if that " @@ -9175,7 +9247,7 @@ msgstr "" "sichtbaren Teils des Zeichens bei *index* in Pixeln zurück, oder ``None``, " "wenn dieses Zeichen auf dem Bildschirm nicht sichtbar ist." -#: ../../library/tkinter.rst:5293 +#: ../../library/tkinter.rst:5365 msgid "" "Return a tuple ``(x, y, width, height, baseline)`` describing the display " "line that contains *index*: the first four values give the bounding box of " @@ -9189,7 +9261,7 @@ msgstr "" "Grundlinie von der Oberkante des Bereichs nach unten. Gibt ``None`` zurück, " "wenn diese Anzeigezeile auf dem Bildschirm nicht sichtbar ist." -#: ../../library/tkinter.rst:5301 +#: ../../library/tkinter.rst:5373 msgid "" "Set the mark named *markName* to the position just before the character at " "*index*, creating the mark if it does not already exist. A mark created this " @@ -9199,7 +9271,7 @@ msgstr "" "Zeichen bei *index* und erzeugt die Marke, falls sie noch nicht existiert. " "Eine so erzeugte Marke hat standardmäßig rechte Gravitation." -#: ../../library/tkinter.rst:5307 +#: ../../library/tkinter.rst:5379 msgid "" "Remove each of the marks named in *markNames*. The special ``insert`` and " "``current`` marks may not be removed." @@ -9207,12 +9279,12 @@ msgstr "" "Entfernt jede der in *markNames* genannten Marken. Die besonderen Marken " "``insert`` und ``current`` lassen sich nicht entfernen." -#: ../../library/tkinter.rst:5312 +#: ../../library/tkinter.rst:5384 msgid "Return a tuple of the names of all marks currently set in the widget." msgstr "" "Gibt ein Tupel der Namen aller derzeit im Widget gesetzten Marken zurück." -#: ../../library/tkinter.rst:5316 +#: ../../library/tkinter.rst:5388 msgid "" "If *direction* is omitted, return the gravity of mark *markName*, either " "``'left'`` or ``'right'``. Otherwise set its gravity to *direction*. The " @@ -9227,7 +9299,7 @@ msgstr "" "wird: Eine Marke mit rechter Gravitation (die Vorgabe) bleibt rechts von " "solchem Text." -#: ../../library/tkinter.rst:5325 +#: ../../library/tkinter.rst:5397 msgid "" "Return the name of the first mark at or after *index*, or ``None`` if there " "is none. When *index* is the name of a mark, the search starts just after " @@ -9237,7 +9309,7 @@ msgstr "" "wenn es keine gibt. Ist *index* der Name einer Marke, beginnt die Suche " "unmittelbar nach dieser Marke." -#: ../../library/tkinter.rst:5332 +#: ../../library/tkinter.rst:5404 msgid "" "Return the name of the last mark at or before *index*, or ``None`` if there " "is none. When *index* is the name of a mark, the search starts just before " @@ -9247,7 +9319,7 @@ msgstr "" "wenn es keine gibt. Ist *index* der Name einer Marke, beginnt die Suche " "unmittelbar vor dieser Marke." -#: ../../library/tkinter.rst:5339 +#: ../../library/tkinter.rst:5411 msgid "" "Add the tag *tagName* to the range of characters from *index1* up to but not " "including the next index in *args*. Further pairs of indices may follow in " @@ -9259,7 +9331,7 @@ msgstr "" "folgen, um zusätzliche Bereiche zu versehen. Ein einzelner Index am Ende " "versieht nur das Zeichen an diesem Index." -#: ../../library/tkinter.rst:5346 +#: ../../library/tkinter.rst:5418 msgid "" "Remove the tag *tagName* from the characters from *index1* up to but not " "including *index2* (or from the single character at *index1* if *index2* is " @@ -9269,7 +9341,7 @@ msgstr "" "*index2* (oder vom einzelnen Zeichen bei *index1*, wenn *index2* weggelassen " "wird). Das Tag selbst besteht weiter, auch wenn kein Zeichen es mehr trägt." -#: ../../library/tkinter.rst:5353 +#: ../../library/tkinter.rst:5425 msgid "" "Delete each of the tags named in *tagNames*, removing them from all " "characters and discarding their options and bindings." @@ -9277,7 +9349,7 @@ msgstr "" "Löscht jedes der in *tagNames* genannten Tags, entfernt sie von allen " "Zeichen und verwirft ihre Optionen und Bindungen." -#: ../../library/tkinter.rst:5361 +#: ../../library/tkinter.rst:5433 msgid "" "Query or modify the configuration options of the tag *tagName*. This " "mirrors :meth:`~Misc.configure`, except that it applies to a tag rather than " @@ -9292,7 +9364,7 @@ msgstr "" "Ein Tag auf diese Weise zu definieren gibt ihm außerdem eine höhere " "Priorität als allen bestehenden Tags." -#: ../../library/tkinter.rst:5369 +#: ../../library/tkinter.rst:5441 msgid "" "The supported tag options, all controlling the appearance of the tagged " "text, are:" @@ -9300,27 +9372,27 @@ msgstr "" "Unterstützt werden die folgenden Tag-Optionen, die alle das Aussehen des mit " "dem Tag versehenen Textes steuern:" -#: ../../library/tkinter.rst:5375 +#: ../../library/tkinter.rst:5447 msgid "*foreground*" msgstr "*foreground*" -#: ../../library/tkinter.rst:5376 +#: ../../library/tkinter.rst:5448 msgid "The color to use for the text." msgstr "Die Farbe für den Text." -#: ../../library/tkinter.rst:5378 +#: ../../library/tkinter.rst:5450 msgid "*background*" msgstr "*background*" -#: ../../library/tkinter.rst:5379 +#: ../../library/tkinter.rst:5451 msgid "The color to use for the area behind the text." msgstr "Die Farbe für die Fläche hinter dem Text." -#: ../../library/tkinter.rst:5381 +#: ../../library/tkinter.rst:5453 msgid "*fgstipple*, *bgstipple*" msgstr "*fgstipple*, *bgstipple*" -#: ../../library/tkinter.rst:5382 +#: ../../library/tkinter.rst:5454 msgid "" "Bitmaps used to stipple the foreground (text) and the background; only well " "supported on X11." @@ -9328,11 +9400,11 @@ msgstr "" "Bitmaps, die als Rastermuster für Vordergrund (Text) und Hintergrund dienen. " "Nur unter X11 gut unterstützt." -#: ../../library/tkinter.rst:5385 +#: ../../library/tkinter.rst:5457 msgid "*borderwidth*" msgstr "*borderwidth*" -#: ../../library/tkinter.rst:5386 +#: ../../library/tkinter.rst:5458 msgid "" "The width of the border drawn around the text according to *relief* (default " "``0``)." @@ -9340,11 +9412,11 @@ msgstr "" "Die Breite des Rahmens, der gemäß *relief* um den Text gezeichnet wird " "(Vorgabe ``0``)." -#: ../../library/tkinter.rst:5389 +#: ../../library/tkinter.rst:5461 msgid "*relief*" msgstr "*relief*" -#: ../../library/tkinter.rst:5390 +#: ../../library/tkinter.rst:5462 msgid "" "The 3-D appearance of the text's border: ``'flat'`` (the default), " "``'raised'``, ``'sunken'``, ``'ridge'``, ``'groove'`` or ``'solid'``." @@ -9352,11 +9424,11 @@ msgstr "" "Das 3-D-Aussehen des Textrahmens: ``'flat'`` (die Vorgabe), ``'raised'``, " "``'sunken'``, ``'ridge'``, ``'groove'`` oder ``'solid'``." -#: ../../library/tkinter.rst:5393 +#: ../../library/tkinter.rst:5465 msgid "*offset*" msgstr "*offset*" -#: ../../library/tkinter.rst:5394 +#: ../../library/tkinter.rst:5466 msgid "" "How far the text is raised above (or, if negative, lowered below) the " "baseline, for superscripts and subscripts." @@ -9364,43 +9436,44 @@ msgstr "" "Wie weit der Text über die Grundlinie angehoben (oder, bei negativem Wert, " "darunter abgesenkt) wird, für Hoch- und Tiefstellung." -#: ../../library/tkinter.rst:5398 -msgid "Whether to underline the text." +#: ../../library/tkinter.rst:5470 +#, fuzzy +msgid "Whether to underline the text (a boolean)." msgstr "Ob der Text unterstrichen wird." -#: ../../library/tkinter.rst:5400 +#: ../../library/tkinter.rst:5472 msgid "*underlinefg*" msgstr "*underlinefg*" -#: ../../library/tkinter.rst:5401 +#: ../../library/tkinter.rst:5473 msgid "The color of the underline; it defaults to the text color." msgstr "Die Farbe der Unterstreichung, standardmäßig die Textfarbe." -#: ../../library/tkinter.rst:5403 +#: ../../library/tkinter.rst:5475 msgid "*overstrike*" msgstr "*overstrike*" -#: ../../library/tkinter.rst:5404 +#: ../../library/tkinter.rst:5476 msgid "Whether to draw a line through the middle of the text." msgstr "Ob eine Linie mitten durch den Text gezogen wird." -#: ../../library/tkinter.rst:5406 +#: ../../library/tkinter.rst:5478 msgid "*overstrikefg*" msgstr "*overstrikefg*" -#: ../../library/tkinter.rst:5407 +#: ../../library/tkinter.rst:5479 msgid "The color of the overstrike line; it defaults to the text color." msgstr "Die Farbe der Durchstreichlinie, standardmäßig die Textfarbe." -#: ../../library/tkinter.rst:5409 +#: ../../library/tkinter.rst:5481 msgid "*elide*" msgstr "*elide*" -#: ../../library/tkinter.rst:5410 +#: ../../library/tkinter.rst:5482 msgid "Whether the text is elided (hidden)." msgstr "Ob der Text ausgelassen (verborgen) wird." -#: ../../library/tkinter.rst:5413 +#: ../../library/tkinter.rst:5485 msgid "" "How to justify the first character of a display line: ``'left'`` (the " "default), ``'right'`` or ``'center'``." @@ -9408,21 +9481,21 @@ msgstr "" "Wie das erste Zeichen einer Anzeigezeile ausgerichtet wird: ``'left'`` (die " "Vorgabe), ``'right'`` oder ``'center'``." -#: ../../library/tkinter.rst:5416 +#: ../../library/tkinter.rst:5488 msgid "*wrap*" msgstr "*wrap*" -#: ../../library/tkinter.rst:5417 +#: ../../library/tkinter.rst:5489 msgid "" "How to wrap lines that are too long: ``'char'``, ``'word'`` or ``'none'``." msgstr "" "Wie zu lange Zeilen umbrochen werden: ``'char'``, ``'word'`` oder ``'none'``." -#: ../../library/tkinter.rst:5420 +#: ../../library/tkinter.rst:5492 msgid "*lmargin1*, *lmargin2*" msgstr "*lmargin1*, *lmargin2*" -#: ../../library/tkinter.rst:5421 +#: ../../library/tkinter.rst:5493 msgid "" "The indentation, in pixels, of the first display line of a logical line and " "of the remaining display lines." @@ -9430,35 +9503,35 @@ msgstr "" "Der Einzug der ersten Anzeigezeile einer logischen Zeile und der übrigen " "Anzeigezeilen, in Pixeln." -#: ../../library/tkinter.rst:5424 +#: ../../library/tkinter.rst:5496 msgid "*lmargincolor*" msgstr "*lmargincolor*" -#: ../../library/tkinter.rst:5425 +#: ../../library/tkinter.rst:5497 msgid "The color of the left margin area." msgstr "Die Farbe des linken Randbereichs." -#: ../../library/tkinter.rst:5427 +#: ../../library/tkinter.rst:5499 msgid "*rmargin*" msgstr "*rmargin*" -#: ../../library/tkinter.rst:5428 +#: ../../library/tkinter.rst:5500 msgid "The right-hand margin, in pixels." msgstr "Der rechte Rand, in Pixeln." -#: ../../library/tkinter.rst:5430 +#: ../../library/tkinter.rst:5502 msgid "*rmargincolor*" msgstr "*rmargincolor*" -#: ../../library/tkinter.rst:5431 +#: ../../library/tkinter.rst:5503 msgid "The color of the right margin area." msgstr "Die Farbe des rechten Randbereichs." -#: ../../library/tkinter.rst:5433 +#: ../../library/tkinter.rst:5505 msgid "*spacing1*, *spacing2*, *spacing3*" msgstr "*spacing1*, *spacing2*, *spacing3*" -#: ../../library/tkinter.rst:5434 +#: ../../library/tkinter.rst:5506 msgid "" "Extra space, in pixels, above the first display line of a logical line, " "between its display lines, and below its last display line." @@ -9466,38 +9539,38 @@ msgstr "" "Zusätzlicher Abstand in Pixeln über der ersten Anzeigezeile einer logischen " "Zeile, zwischen ihren Anzeigezeilen und unter ihrer letzten Anzeigezeile." -#: ../../library/tkinter.rst:5437 +#: ../../library/tkinter.rst:5509 msgid "*tabs*" msgstr "*tabs*" -#: ../../library/tkinter.rst:5438 +#: ../../library/tkinter.rst:5510 msgid "The set of tab stops, in the same form as the widget's *tabs* option." msgstr "" "Die Tabulatorpositionen, in derselben Form wie bei der Option *tabs* des " "Widgets." -#: ../../library/tkinter.rst:5440 +#: ../../library/tkinter.rst:5512 msgid "*tabstyle*" msgstr "*tabstyle*" -#: ../../library/tkinter.rst:5441 +#: ../../library/tkinter.rst:5513 msgid "How tab stops are interpreted: ``'tabular'`` or ``'wordprocessor'``." msgstr "" "Wie Tabulatorpositionen gedeutet werden: ``'tabular'`` oder " "``'wordprocessor'``." -#: ../../library/tkinter.rst:5443 +#: ../../library/tkinter.rst:5515 msgid "*selectbackground*, *selectforeground*" msgstr "*selectbackground*, *selectforeground*" -#: ../../library/tkinter.rst:5444 +#: ../../library/tkinter.rst:5516 msgid "" "The background and foreground colors used for the text while it is selected." msgstr "" "Die Hintergrund- und Vordergrundfarben für den Text, solange er ausgewählt " "ist." -#: ../../library/tkinter.rst:5449 +#: ../../library/tkinter.rst:5521 msgid "" "Tk 8.6 added the *lmargincolor*, *overstrikefg*, *rmargincolor*, " "*selectbackground*, *selectforeground* and *underlinefg* options." @@ -9505,11 +9578,11 @@ msgstr "" "Tk 8.6 hat die Optionen *lmargincolor*, *overstrikefg*, *rmargincolor*, " "*selectbackground*, *selectforeground* und *underlinefg* ergänzt." -#: ../../library/tkinter.rst:5452 +#: ../../library/tkinter.rst:5524 msgid ":meth:`tag_config` is an alias of :meth:`!tag_configure`." msgstr ":meth:`tag_config` ist ein Alias von :meth:`!tag_configure`." -#: ../../library/tkinter.rst:5456 +#: ../../library/tkinter.rst:5528 msgid "" "Return the current value of the configuration option *option* for the tag " "*tagName*." @@ -9517,7 +9590,7 @@ msgstr "" "Gibt den aktuellen Wert der Konfigurationsoption *option* für das Tag " "*tagName* zurück." -#: ../../library/tkinter.rst:5461 +#: ../../library/tkinter.rst:5533 msgid "" "If *index* is omitted, return a tuple of the names of all tags defined in " "the widget; otherwise return only the names of the tags applied to the " @@ -9528,7 +9601,7 @@ msgstr "" "das Zeichen bei *index* angewendet sind. Die Namen sind von der niedrigsten " "zur höchsten Priorität geordnet." -#: ../../library/tkinter.rst:5468 +#: ../../library/tkinter.rst:5540 msgid "" "Return a tuple of indices describing all ranges of text tagged with " "*tagName*. The result alternates start and end indices, so that elements " @@ -9539,7 +9612,7 @@ msgstr "" "Endindizes ab, sodass die Elemente ``2*i`` und ``2*i+1`` den *i*-ten Bereich " "begrenzen." -#: ../../library/tkinter.rst:5475 +#: ../../library/tkinter.rst:5547 msgid "" "Search forward from *index1* (up to *index2* if given) for the first range " "of characters tagged with *tagName*, and return a two-element tuple of its " @@ -9550,7 +9623,7 @@ msgstr "" "aus dessen Start- und Endindex zurück, oder ein leeres Tupel, wenn es keinen " "solchen Bereich gibt." -#: ../../library/tkinter.rst:5482 +#: ../../library/tkinter.rst:5554 msgid "" "Search backward from *index1* (down to *index2* if given) for the nearest " "preceding range of characters tagged with *tagName*, and return a two-" @@ -9562,7 +9635,7 @@ msgstr "" "gibt ein zweielementiges Tupel aus dessen Start- und Endindex zurück, oder " "ein leeres Tupel, wenn es keinen solchen Bereich gibt." -#: ../../library/tkinter.rst:5489 +#: ../../library/tkinter.rst:5561 msgid "" "Raise the priority of tag *tagName* so that it is just above the priority of " "*aboveThis*, or to the highest priority of all tags if *aboveThis* is " @@ -9574,7 +9647,7 @@ msgstr "" "*aboveThis* weggelassen wird. Widersprechen sich die Anzeigeoptionen " "überlappender Tags, gewinnt das Tag mit der höheren Priorität." -#: ../../library/tkinter.rst:5497 +#: ../../library/tkinter.rst:5569 msgid "" "Lower the priority of tag *tagName* so that it is just below the priority of " "*belowThis*, or to the lowest priority of all tags if *belowThis* is omitted." @@ -9583,7 +9656,7 @@ msgstr "" "von *belowThis* liegt, oder auf die niedrigste Priorität aller Tags, wenn " "*belowThis* weggelassen wird." -#: ../../library/tkinter.rst:5503 +#: ../../library/tkinter.rst:5575 msgid "" "Bind the event *sequence* on characters tagged with *tagName* to the " "callback *func*, so that *func* is invoked when that event occurs over such " @@ -9598,7 +9671,7 @@ msgstr "" "diese. Funktioniert wie :meth:`~Misc.bind` und gibt den Bezeichner der neuen " "Bindung zurück." -#: ../../library/tkinter.rst:5513 +#: ../../library/tkinter.rst:5585 msgid "" "Remove the bindings of the event *sequence* on characters tagged with " "*tagName*. If *funcid* is given, only that binding (as returned by :meth:" @@ -9608,7 +9681,7 @@ msgstr "" "versehenen Zeichen. Ist *funcid* angegeben, wird nur diese Bindung (wie von :" "meth:`tag_bind` zurückgegeben) entfernt und ihr Callback abgemeldet." -#: ../../library/tkinter.rst:5524 +#: ../../library/tkinter.rst:5596 msgid "" "Embed an image at *index* and return the name assigned to this image " "instance, which may then be used as an index or passed to the other " @@ -9622,7 +9695,7 @@ msgstr "" "*kw* gehören *image* (das anzuzeigende Tk-Bild), *name* (ein Basisname für " "die Instanz), *align*, *padx* und *pady*." -#: ../../library/tkinter.rst:5533 +#: ../../library/tkinter.rst:5605 msgid "" "Return the current value of the configuration option *option* for the " "embedded image at *index*." @@ -9630,7 +9703,7 @@ msgstr "" "Gibt den aktuellen Wert der Konfigurationsoption *option* für das bei " "*index* eingebettete Bild zurück." -#: ../../library/tkinter.rst:5538 +#: ../../library/tkinter.rst:5610 msgid "" "Query or modify the configuration options of the embedded image at *index*, " "like :meth:`~Misc.configure` but applied to that image." @@ -9638,11 +9711,11 @@ msgstr "" "Fragt die Konfigurationsoptionen des bei *index* eingebetteten Bildes ab " "oder ändert sie, wie :meth:`~Misc.configure`, aber auf dieses Bild bezogen." -#: ../../library/tkinter.rst:5543 +#: ../../library/tkinter.rst:5615 msgid "Return a tuple of the names of all images embedded in the widget." msgstr "Gibt ein Tupel der Namen aller im Widget eingebetteten Bilder zurück." -#: ../../library/tkinter.rst:5547 +#: ../../library/tkinter.rst:5619 msgid "" "This shadows the inherited :meth:`Misc.image_names`, which returns the names " "of all images in the Tcl interpreter; that method is not available on a :" @@ -9652,12 +9725,14 @@ msgstr "" "aller Bilder im Tcl-Interpreter zurückgibt. An einem :class:`Text` steht " "diese Methode nicht zur Verfügung." -#: ../../library/tkinter.rst:5553 +#: ../../library/tkinter.rst:5625 +#, fuzzy msgid "" "Embed a window (any widget) at *index*. The options, given in *cnf* and " "*kw*, include *window* (the widget to embed), *create* (a callback that " -"creates the widget on demand), *align*, *stretch*, *padx* and *pady*. The " -"embedded widget must be a descendant of the text widget's parent." +"creates the widget on demand), *align*, the boolean *stretch* (whether the " +"widget is stretched vertically to the height of the line), *padx* and " +"*pady*. The embedded widget must be a descendant of the text widget's parent." msgstr "" "Bettet ein Fenster (ein beliebiges Widget) bei *index* ein. Zu den Optionen " "in *cnf* und *kw* gehören *window* (das einzubettende Widget), *create* (ein " @@ -9665,7 +9740,7 @@ msgstr "" "*pady*. Das eingebettete Widget muss ein Nachfahre des Elternteils des Text-" "Widgets sein." -#: ../../library/tkinter.rst:5561 +#: ../../library/tkinter.rst:5634 msgid "" "Return the current value of the configuration option *option* for the " "embedded window at *index*." @@ -9673,7 +9748,7 @@ msgstr "" "Gibt den aktuellen Wert der Konfigurationsoption *option* für das bei " "*index* eingebettete Fenster zurück." -#: ../../library/tkinter.rst:5569 +#: ../../library/tkinter.rst:5642 msgid "" "Query or modify the configuration options of the embedded window at *index*, " "like :meth:`~Misc.configure` but applied to that window." @@ -9682,15 +9757,15 @@ msgstr "" "oder ändert sie, wie :meth:`~Misc.configure`, aber auf dieses Fenster " "bezogen." -#: ../../library/tkinter.rst:5572 +#: ../../library/tkinter.rst:5645 msgid ":meth:`window_config` is an alias of :meth:`!window_configure`." msgstr ":meth:`window_config` ist ein Alias von :meth:`!window_configure`." -#: ../../library/tkinter.rst:5576 +#: ../../library/tkinter.rst:5649 msgid "Return a tuple of the names of all windows embedded in the widget." msgstr "Gibt ein Tupel der Namen aller im Widget eingebetteten Fenster zurück." -#: ../../library/tkinter.rst:5580 +#: ../../library/tkinter.rst:5653 msgid "" "Low-level wrapper around the Tk ``edit`` widget command that controls the " "undo/redo mechanism and the modified flag; *args* is the ``edit`` subcommand " @@ -9702,7 +9777,7 @@ msgstr "" "*args* ist der ``edit``-Unterbefehl samt seinen Argumenten. Die folgenden :" "meth:`!edit_\\*`-Methoden sind dünne Hüllen darum und meist bequemer." -#: ../../library/tkinter.rst:5588 +#: ../../library/tkinter.rst:5661 msgid "" "If *arg* is omitted, return the current state of the modified flag as true " "or false; the flag is set automatically whenever the text is inserted or " @@ -9713,7 +9788,7 @@ msgstr "" "Text eingefügt oder gelöscht wird. Andernfalls wird das Flag auf den " "Wahrheitswert *arg* gesetzt." -#: ../../library/tkinter.rst:5595 +#: ../../library/tkinter.rst:5668 msgid "" "Undo the most recent edit action, that is, all the inserts and deletes " "recorded on the undo stack since the previous separator, and move it to the " @@ -9728,7 +9803,7 @@ msgstr "" "Option *undo* bleibt die Methode wirkungslos. Seit Tk 9.0 wird ein Tupel von " "Indizes zurückgegeben, das die geänderten Textbereiche begrenzt." -#: ../../library/tkinter.rst:5605 +#: ../../library/tkinter.rst:5678 msgid "" "Reapply the most recently undone edit action, provided no further edits have " "been made since, and move it back to the undo stack. Raises :exc:`TclError` " @@ -9743,11 +9818,11 @@ msgstr "" "Methode wirkungslos. Seit Tk 9.0 wird ein Tupel von Indizes zurückgegeben, " "das die geänderten Textbereiche begrenzt." -#: ../../library/tkinter.rst:5614 +#: ../../library/tkinter.rst:5687 msgid "Clear the undo and redo stacks." msgstr "Leert den Rückgängig- und den Wiederherstellen-Stapel." -#: ../../library/tkinter.rst:5618 +#: ../../library/tkinter.rst:5691 msgid "" "Push a separator onto the undo stack, marking a boundary between edit " "actions for undo and redo. Has no effect unless the *undo* option is true. " @@ -9759,7 +9834,7 @@ msgstr "" "wahre Option *undo* bleibt die Methode wirkungslos. Trenner werden " "automatisch eingefügt, wenn die Option *autoseparators* wahr ist." -#: ../../library/tkinter.rst:5626 +#: ../../library/tkinter.rst:5699 msgid "" "Search for *pattern* starting at *index* and return the index of the first " "character of the first match, or an empty string if there is no match. " @@ -9784,7 +9859,7 @@ msgstr "" "eine :class:`Variable`, wird darin die Anzahl der Indexpositionen des " "Treffers abgelegt." -#: ../../library/tkinter.rst:5648 +#: ../../library/tkinter.rst:5721 msgid "" "Scroll the widget by 10 times the difference between *x*, *y* and the " "coordinates passed to the last :meth:`scan_mark` call. This is typically " @@ -9796,7 +9871,7 @@ msgstr "" "wird dies an Mausbewegungsereignisse gebunden und erzeugt den Eindruck, den " "Text mit hoher Geschwindigkeit durch das Fenster zu ziehen." -#: ../../library/tkinter.rst:5655 +#: ../../library/tkinter.rst:5728 msgid "" "If *boolean* is omitted, return whether internal consistency checks of the B-" "tree data structure are enabled. Otherwise enable or disable them. The " @@ -9809,7 +9884,7 @@ msgstr "" "Widgets gemeinsam und kann Widgets mit großen Textmengen spürbar " "verlangsamen." -#: ../../library/tkinter.rst:5663 +#: ../../library/tkinter.rst:5736 msgid "" "Return the contents of the widget from *index1* up to but not including " "*index2* (or just the segment at *index1* if *index2* is omitted), including " @@ -9832,7 +9907,7 @@ msgstr "" "wird es je Tripel einmal mit den drei Werten als Argumenten aufgerufen, und " "es wird nichts zurückgegeben." -#: ../../library/tkinter.rst:5677 +#: ../../library/tkinter.rst:5750 msgid "" "Create a peer text widget with the path name *newPathName* that shares this " "widget's underlying data (text, marks, tags, images and the undo stack). " @@ -9847,7 +9922,7 @@ msgstr "" "Widget. Mit den üblichen Text-Optionen, darunter *startline* und *endline*, " "lässt sich das überschreiben." -#: ../../library/tkinter.rst:5689 +#: ../../library/tkinter.rst:5762 msgid "" "Return a tuple of the path names of this widget's peers, not including the " "widget itself." @@ -9855,7 +9930,7 @@ msgstr "" "Gibt ein Tupel der Pfadnamen der Partner dieses Widgets zurück, ohne das " "Widget selbst." -#: ../../library/tkinter.rst:5696 +#: ../../library/tkinter.rst:5769 msgid "" "Adjust the view so that the location given by *what* is visible. This is an " "obsolete equivalent of :meth:`see`, which should be used instead." @@ -9864,11 +9939,11 @@ msgstr "" "sichtbar ist. Das ist ein veraltetes Gegenstück zu :meth:`see`, das " "stattdessen verwendet werden sollte." -#: ../../library/tkinter.rst:5702 +#: ../../library/tkinter.rst:5775 msgid "Variable classes" msgstr "Variablenklassen" -#: ../../library/tkinter.rst:5706 +#: ../../library/tkinter.rst:5779 msgid "" "The base class for the Tk variable wrappers. A Tk variable is a value stored " "in the Tcl interpreter that can be linked to widgets through their " @@ -9884,7 +9959,7 @@ msgstr "" "wenn ein Benutzer ein solches Widget bearbeitet, wird die Variable " "aktualisiert." -#: ../../library/tkinter.rst:5713 +#: ../../library/tkinter.rst:5786 msgid "" "*master* is the widget whose Tcl interpreter owns the variable; if omitted, " "the default root window is used. *value* is the initial value; if omitted, a " @@ -9901,7 +9976,7 @@ msgstr "" "Passt *name* auf eine vorhandene Variable und wird *value* weggelassen, " "bleibt der vorhandene Wert erhalten." -#: ../../library/tkinter.rst:5721 +#: ../../library/tkinter.rst:5794 msgid "" "In most cases you should use one of the typed subclasses below -- :class:" "`StringVar`, :class:`IntVar`, :class:`DoubleVar` or :class:`BooleanVar` -- " @@ -9911,7 +9986,7 @@ msgstr "" "unten verwenden – :class:`StringVar`, :class:`IntVar`, :class:`DoubleVar` " "oder :class:`BooleanVar` – statt :class:`!Variable` direkt." -#: ../../library/tkinter.rst:5727 +#: ../../library/tkinter.rst:5800 msgid "" "When a :class:`!Variable` is garbage collected, its Tcl variable is unset. " "Keep a reference to it for as long as a widget is linked to it, for example " @@ -9926,7 +10001,7 @@ msgstr "" "damit das Widget weiter funktioniert, löst sie aber nie wieder auf, sodass " "je verworfener Hülle eine Tcl-Variable zurückbleibt." -#: ../../library/tkinter.rst:5733 +#: ../../library/tkinter.rst:5806 msgid "" "Two variables now compare equal (``==``) only when they have the same name, " "are of the same class, and belong to the same Tcl interpreter." @@ -9935,7 +10010,7 @@ msgstr "" "Namen haben, derselben Klasse angehören und zum selben Tcl-Interpreter " "gehören." -#: ../../library/tkinter.rst:5739 +#: ../../library/tkinter.rst:5812 msgid "" "Return the current value of the variable. For the base class the value is " "returned as a string; the typed subclasses convert it to the appropriate " @@ -9945,18 +10020,18 @@ msgstr "" "Wert als Zeichenkette zurückgegeben, die typisierten Unterklassen wandeln " "ihn in den passenden Python-Typ um." -#: ../../library/tkinter.rst:5748 +#: ../../library/tkinter.rst:5821 msgid "" "Set the variable to *value*. :meth:`initialize` is an alias of :meth:`!set`." msgstr "" "Setzt die Variable auf *value*. :meth:`initialize` ist ein Alias von :meth:`!" "set`." -#: ../../library/tkinter.rst:5751 ../../library/tkinter.rst:5882 +#: ../../library/tkinter.rst:5824 ../../library/tkinter.rst:5955 msgid "The *initialize* spelling." msgstr "Die Schreibweise *initialize*." -#: ../../library/tkinter.rst:5756 +#: ../../library/tkinter.rst:5829 msgid "" "Register *callback* to be called when the variable is accessed according to " "*mode*. *mode* is one of the strings ``'array'``, ``'read'``, ``'write'`` or " @@ -9967,7 +10042,7 @@ msgstr "" "``'read'``, ``'write'`` oder ``'unset'`` oder eine Liste oder ein Tupel " "solcher Zeichenketten." -#: ../../library/tkinter.rst:5761 +#: ../../library/tkinter.rst:5834 msgid "" "When triggered, *callback* is called with three arguments: the name of the " "Tcl variable, an index (or an empty string if the variable is not an element " @@ -9978,7 +10053,7 @@ msgstr "" "Variable kein Element eines Arrays ist) und dem *mode*, der den Aufruf " "ausgelöst hat." -#: ../../library/tkinter.rst:5765 +#: ../../library/tkinter.rst:5838 msgid "" "Return the internal name of the registered callback, which can be passed to :" "meth:`trace_remove`." @@ -9986,7 +10061,7 @@ msgstr "" "Gibt den internen Namen des registrierten Callbacks zurück, der an :meth:" "`trace_remove` übergeben werden kann." -#: ../../library/tkinter.rst:5772 +#: ../../library/tkinter.rst:5845 msgid "" "Remove a trace callback from the variable. *mode* must match the *mode* that " "was passed to :meth:`trace_add`, and *cbname* is the callback name returned " @@ -9996,7 +10071,7 @@ msgstr "" "entsprechen, der an :meth:`trace_add` übergeben wurde, und *cbname* ist der " "von :meth:`trace_add` zurückgegebene Callback-Name." -#: ../../library/tkinter.rst:5780 +#: ../../library/tkinter.rst:5853 msgid "" "Return a list of ``(modes, cbname)`` pairs describing all traces currently " "set on the variable, where *modes* is a tuple of mode strings and *cbname* " @@ -10006,7 +10081,7 @@ msgstr "" "der Variablen gesetzten Traces beschreiben. Dabei ist *modes* ein Tupel von " "Modus-Zeichenketten und *cbname* der interne Callback-Name." -#: ../../library/tkinter.rst:5791 +#: ../../library/tkinter.rst:5864 msgid "" "Register *callback* to be called when the variable is accessed according to " "*mode*. *mode* is one of the strings ``'r'``, ``'w'`` or ``'u'``, for read, " @@ -10019,7 +10094,7 @@ msgstr "" "Namen des registrierten Callbacks zurück. :meth:`trace` ist ein Alias von :" "meth:`!trace_variable`." -#: ../../library/tkinter.rst:5798 +#: ../../library/tkinter.rst:5871 msgid "" "Use :meth:`trace_add` instead. This method wraps a Tcl feature that was " "removed in Tcl 9.0." @@ -10027,7 +10102,7 @@ msgstr "" "Verwende stattdessen :meth:`trace_add`. Diese Methode kapselt eine Tcl-" "Funktion, die in Tcl 9.0 entfernt wurde." -#: ../../library/tkinter.rst:5804 +#: ../../library/tkinter.rst:5877 msgid "" "Remove the trace callback named *cbname* registered for *mode* with :meth:" "`trace_variable`." @@ -10035,7 +10110,7 @@ msgstr "" "Entfernt den für *mode* mit :meth:`trace_variable` registrierten Trace-" "Callback namens *cbname*." -#: ../../library/tkinter.rst:5807 +#: ../../library/tkinter.rst:5880 msgid "" "Use :meth:`trace_remove` instead. This method wraps a Tcl feature that was " "removed in Tcl 9.0." @@ -10043,7 +10118,7 @@ msgstr "" "Verwende stattdessen :meth:`trace_remove`. Diese Methode kapselt eine Tcl-" "Funktion, die in Tcl 9.0 entfernt wurde." -#: ../../library/tkinter.rst:5813 +#: ../../library/tkinter.rst:5886 msgid "" "Return a list of ``(mode, cbname)`` pairs for all traces set on the variable " "with :meth:`trace_variable`." @@ -10051,7 +10126,7 @@ msgstr "" "Gibt eine Liste von Paaren ``(mode, cbname)`` für alle mit :meth:" "`trace_variable` auf der Variablen gesetzten Traces zurück." -#: ../../library/tkinter.rst:5816 +#: ../../library/tkinter.rst:5889 msgid "" "Use :meth:`trace_info` instead. This method wraps a Tcl feature that was " "removed in Tcl 9.0." @@ -10059,7 +10134,7 @@ msgstr "" "Verwende stattdessen :meth:`trace_info`. Diese Methode kapselt eine Tcl-" "Funktion, die in Tcl 9.0 entfernt wurde." -#: ../../library/tkinter.rst:5823 +#: ../../library/tkinter.rst:5896 msgid "" "A :class:`Variable` subclass that holds a string. The default value is " "``''``." @@ -10067,11 +10142,11 @@ msgstr "" "Eine Unterklasse von :class:`Variable`, die eine Zeichenkette enthält. Der " "Vorgabewert ist ``''``." -#: ../../library/tkinter.rst:5828 +#: ../../library/tkinter.rst:5901 msgid "Return the value of the variable as a :class:`str`." msgstr "Gibt den Wert der Variablen als :class:`str` zurück." -#: ../../library/tkinter.rst:5833 +#: ../../library/tkinter.rst:5906 msgid "" "A :class:`Variable` subclass that holds an integer. The default value is " "``0``." @@ -10079,11 +10154,11 @@ msgstr "" "Eine Unterklasse von :class:`Variable`, die eine ganze Zahl enthält. Der " "Vorgabewert ist ``0``." -#: ../../library/tkinter.rst:5838 +#: ../../library/tkinter.rst:5911 msgid "Return the value of the variable as an :class:`int`." msgstr "Gibt den Wert der Variablen als :class:`int` zurück." -#: ../../library/tkinter.rst:5843 +#: ../../library/tkinter.rst:5916 msgid "" "A :class:`Variable` subclass that holds a float. The default value is " "``0.0``." @@ -10091,11 +10166,11 @@ msgstr "" "Eine Unterklasse von :class:`Variable`, die eine Gleitkommazahl enthält. Der " "Vorgabewert ist ``0.0``." -#: ../../library/tkinter.rst:5848 +#: ../../library/tkinter.rst:5921 msgid "Return the value of the variable as a :class:`float`." msgstr "Gibt den Wert der Variablen als :class:`float` zurück." -#: ../../library/tkinter.rst:5854 +#: ../../library/tkinter.rst:5927 msgid "" "A floating-point value is always parsed with a period (``.``) as the decimal " "separator, but :class:`Spinbox`, :class:`Scale` and :class:`ttk.Spinbox " @@ -10112,7 +10187,7 @@ msgstr "" "`TclError` auslöst. Setze ``LC_NUMERIC`` auf eine Ländereinstellung mit " "Punkt (etwa ``'C'``), um das zu vermeiden." -#: ../../library/tkinter.rst:5865 +#: ../../library/tkinter.rst:5938 msgid "" "A :class:`Variable` subclass that holds a boolean. The default value is " "``False``." @@ -10120,7 +10195,7 @@ msgstr "" "Eine Unterklasse von :class:`Variable`, die einen Wahrheitswert enthält. Der " "Vorgabewert ist ``False``." -#: ../../library/tkinter.rst:5870 +#: ../../library/tkinter.rst:5943 msgid "" "Return the value of the variable as a :class:`bool`. Raise a :exc:" "`ValueError` if the value cannot be interpreted as a boolean." @@ -10128,7 +10203,7 @@ msgstr "" "Gibt den Wert der Variablen als :class:`bool` zurück. Löst :exc:`ValueError` " "aus, wenn sich der Wert nicht als Wahrheitswert deuten lässt." -#: ../../library/tkinter.rst:5879 +#: ../../library/tkinter.rst:5952 msgid "" "Set the variable to *value*, converting it to a boolean. :meth:`initialize` " "is an alias of :meth:`!set`." @@ -10136,11 +10211,11 @@ msgstr "" "Setzt die Variable auf *value* und wandelt ihn in einen Wahrheitswert um. :" "meth:`initialize` ist ein Alias von :meth:`!set`." -#: ../../library/tkinter.rst:5887 +#: ../../library/tkinter.rst:5960 msgid "Image classes" msgstr "Bildklassen" -#: ../../library/tkinter.rst:5891 +#: ../../library/tkinter.rst:5964 msgid "" "Base class for Tk images. *imgtype* is the Tk image type, one of ``'photo'`` " "or ``'bitmap'``. An image is a named object that can be displayed by widgets " @@ -10155,7 +10230,7 @@ msgstr "" "gelöscht. Üblicherweise erzeugt man ein :class:`PhotoImage` oder :class:" "`BitmapImage` statt direkt ein :class:`!Image`." -#: ../../library/tkinter.rst:5899 +#: ../../library/tkinter.rst:5972 msgid "" "The image's configuration options are given by *cnf* and *kw* and may be " "queried and changed later with the mapping protocol (using ``image[key]``) " @@ -10165,7 +10240,7 @@ msgstr "" "und lassen sich später über das Mapping-Protokoll (mit ``image[key]``) oder " "mit der Methode :meth:`configure` abfragen und ändern." -#: ../../library/tkinter.rst:5908 +#: ../../library/tkinter.rst:5981 msgid "" "Modify one or more configuration options of the image. The valid options " "depend on the image type; see :class:`PhotoImage` and :class:`BitmapImage`. :" @@ -10175,15 +10250,15 @@ msgstr "" "zulässig sind, hängt vom Bildtyp ab, siehe :class:`PhotoImage` und :class:" "`BitmapImage`. :meth:`config` ist ein Alias von :meth:`!configure`." -#: ../../library/tkinter.rst:5915 +#: ../../library/tkinter.rst:5988 msgid "Return the height of the image, in pixels." msgstr "Gibt die Höhe des Bildes in Pixeln zurück." -#: ../../library/tkinter.rst:5919 +#: ../../library/tkinter.rst:5992 msgid "Return the width of the image, in pixels." msgstr "Gibt die Breite des Bildes in Pixeln zurück." -#: ../../library/tkinter.rst:5923 +#: ../../library/tkinter.rst:5996 msgid "" "Return the type of the image, that is the value of *imgtype* with which it " "was created (for example ``'photo'`` or ``'bitmap'``)." @@ -10191,7 +10266,7 @@ msgstr "" "Gibt den Typ des Bildes zurück, also den Wert von *imgtype*, mit dem es " "erzeugt wurde (zum Beispiel ``'photo'`` oder ``'bitmap'``)." -#: ../../library/tkinter.rst:5929 +#: ../../library/tkinter.rst:6002 msgid "" "A full-color image (the Tk ``photo`` image type), stored internally with a " "varying degree of transparency per pixel. It can read and write GIF, PPM/PGM " @@ -10203,7 +10278,7 @@ msgstr "" "PGM- und (ab Tk 8.6) PNG-Dateien lesen und schreiben, SVG-Dateien lesen (ab " "Tk 9.0) und in Widgets gezeichnet werden. Erbt von :class:`Image`." -#: ../../library/tkinter.rst:5935 +#: ../../library/tkinter.rst:6008 msgid "" "The configuration options include *data* (the image contents as a string), " "*file* (the name of a file to read the contents from), *format* (the name of " @@ -10216,7 +10291,7 @@ msgstr "" "(die Bildgröße, verwendet beim stückweisen Aufbau) sowie *gamma* und " "*palette*." -#: ../../library/tkinter.rst:5942 +#: ../../library/tkinter.rst:6015 msgid "" "Blank the image; that is, set the entire image to have no data, so that it " "is displayed as transparent and the background of whatever window it is " @@ -10226,16 +10301,16 @@ msgstr "" "dargestellt, und der Hintergrund des Fensters, in dem es angezeigt wird, " "scheint hindurch." -#: ../../library/tkinter.rst:5948 +#: ../../library/tkinter.rst:6021 msgid "Return the current value of the configuration option *option*." msgstr "Gibt den aktuellen Wert der Konfigurationsoption *option* zurück." -#: ../../library/tkinter.rst:5952 +#: ../../library/tkinter.rst:6025 msgid "Return a new :class:`PhotoImage` with a copy of this image." msgstr "" "Gibt ein neues :class:`PhotoImage` mit einer Kopie dieses Bildes zurück." -#: ../../library/tkinter.rst:5954 +#: ../../library/tkinter.rst:6027 msgid "" "*from_coords* specifies a rectangular sub-region of the source image to be " "copied. It must be a tuple or a list of 1 to 4 integers ``(x1, y1, x2, " @@ -10254,7 +10329,7 @@ msgstr "" "untere und der rechte. Wird *from_coords* nicht angegeben, wird das gesamte " "Quellbild kopiert." -#: ../../library/tkinter.rst:5965 ../../library/tkinter.rst:5997 +#: ../../library/tkinter.rst:6038 ../../library/tkinter.rst:6070 msgid "" "If *zoom* or *subsample* are specified, the image is transformed as in the :" "meth:`zoom` or :meth:`subsample` methods. The value must be a single integer " @@ -10264,12 +10339,12 @@ msgstr "" "meth:`zoom` oder :meth:`subsample` umgewandelt. Der Wert muss eine einzelne " "ganze Zahl oder ein Paar ganzer Zahlen sein." -#: ../../library/tkinter.rst:5969 +#: ../../library/tkinter.rst:6042 msgid "Added the *from_coords*, *zoom* and *subsample* parameters." msgstr "" "Die Parameter *from_coords*, *zoom* und *subsample* wurden hinzugefügt." -#: ../../library/tkinter.rst:5977 +#: ../../library/tkinter.rst:6050 msgid "" "Copy a region from *sourceImage* (which must be a :class:`PhotoImage`) into " "this image, possibly with pixel zooming and/or subsampling. If no options " @@ -10281,8 +10356,8 @@ msgstr "" "Unterabtastung. Ohne Optionen wird das gesamte *sourceImage* ab den " "Koordinaten ``(0, 0)`` in dieses Bild kopiert." -#: ../../library/tkinter.rst:5982 ../../library/tkinter.rst:6094 -#: ../../library/tkinter.rst:6150 +#: ../../library/tkinter.rst:6055 ../../library/tkinter.rst:6167 +#: ../../library/tkinter.rst:6223 msgid "" "*from_coords* specifies a rectangular sub-region of the source image to be " "copied, as in the :meth:`copy` method." @@ -10290,7 +10365,7 @@ msgstr "" "*from_coords* gibt einen rechteckigen Teilbereich des Quellbildes an, der " "kopiert wird, wie bei der Methode :meth:`copy`." -#: ../../library/tkinter.rst:5985 +#: ../../library/tkinter.rst:6058 msgid "" "*to* specifies a rectangular sub-region of the destination image to be " "affected. It must be a tuple or a list of 1 to 4 integers ``(x1, y1, x2, " @@ -10306,7 +10381,7 @@ msgstr "" "Vergrößerung, sofern angegeben). Sind *x2* und *y2* angegeben, wird der " "Quellbereich nötigenfalls gekachelt wiederholt, um den Zielbereich zu füllen." -#: ../../library/tkinter.rst:5993 +#: ../../library/tkinter.rst:6066 msgid "" "If *shrink* is true, the size of the destination image is reduced, if " "necessary, so that the region being copied into is at the bottom-right " @@ -10316,7 +10391,7 @@ msgstr "" "dass der Bereich, in den kopiert wird, an der rechten unteren Ecke des " "Bildes liegt." -#: ../../library/tkinter.rst:6001 +#: ../../library/tkinter.rst:6074 msgid "" "*compositingrule* specifies how transparent pixels in the source image are " "combined with the destination image. With ``'overlay'`` (the default), the " @@ -10332,11 +10407,11 @@ msgstr "" "wird der bisherige Inhalt des Zielbildes verworfen und das Quellbild " "unverändert verwendet." -#: ../../library/tkinter.rst:6015 +#: ../../library/tkinter.rst:6088 msgid "Return the image data." msgstr "Gibt die Bilddaten zurück." -#: ../../library/tkinter.rst:6017 +#: ../../library/tkinter.rst:6090 msgid "" "*format* specifies the name of the image file format handler to use. If it " "is not given, the data is returned as a tuple (one element per row) of " @@ -10348,7 +10423,7 @@ msgstr "" "von Zeichenketten zurückgegeben, die durch Leerzeichen getrennte Farben (ein " "Element je Pixel bzw. Spalte) im Format ``#RRGGBB`` enthalten." -#: ../../library/tkinter.rst:6022 +#: ../../library/tkinter.rst:6095 msgid "" "*from_coords* specifies a rectangular region of the image to be returned. It " "must be a tuple or a list of 1 to 4 integers ``(x1, y1, x2, y2)``. If only " @@ -10367,7 +10442,7 @@ msgstr "" "y2)``. Wird *from_coords* nicht angegeben, wird das gesamte Bild " "zurückgegeben." -#: ../../library/tkinter.rst:6030 ../../library/tkinter.rst:6133 +#: ../../library/tkinter.rst:6103 ../../library/tkinter.rst:6206 msgid "" "If *background* is specified, the data does not contain any transparency " "information; in all transparent pixels the color is replaced by the " @@ -10377,7 +10452,7 @@ msgstr "" "Transparenzinformationen. In allen durchsichtigen Pixeln wird die Farbe " "durch die angegebene Farbe ersetzt." -#: ../../library/tkinter.rst:6034 ../../library/tkinter.rst:6137 +#: ../../library/tkinter.rst:6107 ../../library/tkinter.rst:6210 msgid "" "If *grayscale* is true, the data does not contain color information; all " "pixel data is transformed into grayscale." @@ -10385,7 +10460,7 @@ msgstr "" "Ist *grayscale* wahr, enthalten die Daten keine Farbinformationen. Alle " "Pixeldaten werden in Graustufen umgewandelt." -#: ../../library/tkinter.rst:6042 +#: ../../library/tkinter.rst:6115 msgid "" "Return the color of the pixel at coordinates (*x*, *y*) as an ``(r, g, b)`` " "tuple of three integers between 0 and 255, representing the red, green and " @@ -10395,7 +10470,7 @@ msgstr "" "b)`` aus drei ganzen Zahlen zwischen 0 und 255 zurück, die für den Rot-, " "Grün- und Blauanteil stehen." -#: ../../library/tkinter.rst:6048 +#: ../../library/tkinter.rst:6121 msgid "" "Set pixels of the image to the colors given in *data*, which must be a " "string or a nested sequence of horizontal rows of pixel colors (for example " @@ -10405,7 +10480,7 @@ msgstr "" "eine Zeichenkette oder eine verschachtelte Folge waagerechter Zeilen von " "Pixelfarben sein (zum Beispiel ``\"{red green} {blue yellow}\"``)." -#: ../../library/tkinter.rst:6052 +#: ../../library/tkinter.rst:6125 msgid "" "*to* specifies the coordinates of the region of the image into which the " "data are copied. It must be a tuple or a list of 2 or 4 integers ``(x1, " @@ -10418,15 +10493,15 @@ msgstr "" "die rechte untere Ecke des Bereichs angeben. Die Vorgabeposition ist ``(0, " "0)``." -#: ../../library/tkinter.rst:6062 +#: ../../library/tkinter.rst:6135 msgid "Read image data from the file named *filename* into the image." msgstr "Liest Bilddaten aus der Datei namens *filename* in das Bild ein." -#: ../../library/tkinter.rst:6064 +#: ../../library/tkinter.rst:6137 msgid "*format* specifies the format of the image data in the file." msgstr "*format* gibt das Format der Bilddaten in der Datei an." -#: ../../library/tkinter.rst:6066 +#: ../../library/tkinter.rst:6139 msgid "" "*from_coords* specifies a rectangular sub-region of the image file data to " "be copied to the destination image. It must be a tuple or a list of 1 to 4 " @@ -10444,7 +10519,7 @@ msgstr "" "sie diagonal gegenüberliegende Ecken des Bereichs. Wird *from_coords* nicht " "angegeben, wird das gesamte Bild der Datei gelesen." -#: ../../library/tkinter.rst:6076 +#: ../../library/tkinter.rst:6149 msgid "" "*to* specifies the coordinates of the top-left corner of the region of the " "image into which the data are read. The default is ``(0, 0)``." @@ -10452,7 +10527,7 @@ msgstr "" "*to* gibt die Koordinaten der linken oberen Ecke des Bildbereichs an, in den " "die Daten gelesen werden. Die Vorgabe ist ``(0, 0)``." -#: ../../library/tkinter.rst:6080 +#: ../../library/tkinter.rst:6153 msgid "" "If *shrink* is true, the size of the image is reduced, if necessary, so that " "the region into which the file data are read is at the bottom-right corner " @@ -10462,7 +10537,7 @@ msgstr "" "dass der Bereich, in den die Dateidaten gelesen werden, an der rechten " "unteren Ecke des Bildes liegt." -#: ../../library/tkinter.rst:6089 +#: ../../library/tkinter.rst:6162 msgid "" "Return a new :class:`PhotoImage` based on this image but using only every " "*x*-th pixel in the X direction and every *y*-th pixel in the Y direction. " @@ -10473,11 +10548,11 @@ msgstr "" "Richtung verwendet. Wird *y* nicht angegeben, ist es standardmäßig gleich " "*x*." -#: ../../library/tkinter.rst:6097 ../../library/tkinter.rst:6153 +#: ../../library/tkinter.rst:6170 ../../library/tkinter.rst:6226 msgid "Added the *from_coords* parameter." msgstr "Der Parameter *from_coords* wurde hinzugefügt." -#: ../../library/tkinter.rst:6103 +#: ../../library/tkinter.rst:6176 msgid "" "Return ``True`` if the pixel at coordinates (*x*, *y*) is fully transparent, " "``False`` otherwise." @@ -10485,7 +10560,7 @@ msgstr "" "Gibt ``True`` zurück, wenn das Pixel an den Koordinaten (*x*, *y*) " "vollständig durchsichtig ist, sonst ``False``." -#: ../../library/tkinter.rst:6111 +#: ../../library/tkinter.rst:6184 msgid "" "Make the pixel at coordinates (*x*, *y*) fully transparent if *boolean* is " "true, fully opaque otherwise." @@ -10493,11 +10568,11 @@ msgstr "" "Macht das Pixel an den Koordinaten (*x*, *y*) vollständig durchsichtig, wenn " "*boolean* wahr ist, sonst vollständig undurchsichtig." -#: ../../library/tkinter.rst:6120 +#: ../../library/tkinter.rst:6193 msgid "Write image data from the image to the file named *filename*." msgstr "Schreibt Bilddaten aus dem Bild in die Datei namens *filename*." -#: ../../library/tkinter.rst:6122 +#: ../../library/tkinter.rst:6195 msgid "" "*format* specifies the name of the image file format handler to use. If it " "is not given, the format is guessed from the file extension." @@ -10505,7 +10580,7 @@ msgstr "" "*format* gibt den Namen des zu verwendenden Bilddateiformat-Handlers an. " "Wird er nicht angegeben, wird das Format aus der Dateiendung erschlossen." -#: ../../library/tkinter.rst:6125 +#: ../../library/tkinter.rst:6198 msgid "" "*from_coords* specifies a rectangular region of the image to be written. It " "must be a tuple or a list of 1 to 4 integers ``(x1, y1, x2, y2)``. If only " @@ -10522,11 +10597,11 @@ msgstr "" "Bereichs. Wird *from_coords* nicht angegeben, wird das gesamte Bild " "geschrieben." -#: ../../library/tkinter.rst:6140 +#: ../../library/tkinter.rst:6213 msgid "Added the *background* and *grayscale* parameters." msgstr "Die Parameter *background* und *grayscale* wurden hinzugefügt." -#: ../../library/tkinter.rst:6146 +#: ../../library/tkinter.rst:6219 msgid "" "Return a new :class:`PhotoImage` with this image magnified by a factor of " "*x* in the X direction and *y* in the Y direction. If *y* is not given, it " @@ -10536,7 +10611,7 @@ msgstr "" "*x* in X-Richtung und *y* in Y-Richtung vergrößert ist. Wird *y* nicht " "angegeben, ist es standardmäßig gleich *x*." -#: ../../library/tkinter.rst:6160 +#: ../../library/tkinter.rst:6233 msgid "" "A two-color image (the Tk ``bitmap`` image type) created from an X11 bitmap. " "Each pixel displays a foreground color, a background color, or nothing " @@ -10546,7 +10621,7 @@ msgstr "" "erzeugt wird. Jedes Pixel zeigt eine Vordergrundfarbe, eine Hintergrundfarbe " "oder nichts (was durchsichtig wirkt). Erbt von :class:`Image`." -#: ../../library/tkinter.rst:6165 +#: ../../library/tkinter.rst:6238 msgid "" "The configuration options are *data* or *file* (the source bitmap, given as " "a string in X11 bitmap format or as the name of a file in that format), " @@ -10566,7 +10641,7 @@ msgstr "" "null ist. Ist *background* auf eine leere Zeichenkette gesetzt, sind die " "Hintergrundpixel durchsichtig." -#: ../../library/tkinter.rst:6175 +#: ../../library/tkinter.rst:6248 msgid "" ":class:`!BitmapImage` has no methods of its own beyond those inherited from :" "class:`Image`." @@ -10574,11 +10649,11 @@ msgstr "" ":class:`!BitmapImage` hat über die von :class:`Image` geerbten Methoden " "hinaus keine eigenen." -#: ../../library/tkinter.rst:6180 +#: ../../library/tkinter.rst:6253 msgid "Other classes" msgstr "Weitere Klassen" -#: ../../library/tkinter.rst:6184 +#: ../../library/tkinter.rst:6257 msgid "" "A container for the attributes of an event passed to a callback bound with :" "meth:`Misc.bind`. An :class:`!Event` instance has the following attributes, " @@ -10593,22 +10668,22 @@ msgstr "" "Attribute auf die Zeichenkette ``'??'`` gesetzt sein, um anzuzeigen, dass " "sie nicht aussagekräftig sind. Siehe :ref:`bindings-and-events`." -#: ../../library/tkinter.rst:6194 +#: ../../library/tkinter.rst:6267 msgid "The serial number of the event." msgstr "Die laufende Nummer des Ereignisses." -#: ../../library/tkinter.rst:6198 +#: ../../library/tkinter.rst:6271 msgid "The mouse button that was pressed or released (for button events)." msgstr "" "Die Maustaste, die gedrückt oder losgelassen wurde (bei Tastenereignissen " "der Maus)." -#: ../../library/tkinter.rst:6202 +#: ../../library/tkinter.rst:6275 msgid "Whether the window has the focus (for ``Enter`` and ``Leave`` events)." msgstr "" "Ob das Fenster den Fokus hat (bei ``Enter``- und ``Leave``-Ereignissen)." -#: ../../library/tkinter.rst:6207 +#: ../../library/tkinter.rst:6280 msgid "" "The new height and width of the window (for ``Configure`` and ``Expose`` " "events)." @@ -10616,11 +10691,11 @@ msgstr "" "Die neue Höhe und Breite des Fensters (bei ``Configure``- und ``Expose``-" "Ereignissen)." -#: ../../library/tkinter.rst:6212 +#: ../../library/tkinter.rst:6285 msgid "The keycode of the key that was pressed or released." msgstr "Der Tastencode der Taste, die gedrückt oder losgelassen wurde." -#: ../../library/tkinter.rst:6216 +#: ../../library/tkinter.rst:6289 msgid "" "The state of the event, as a number (for most events) or a string (for " "``Visibility`` events)." @@ -10628,51 +10703,51 @@ msgstr "" "Der Zustand des Ereignisses, als Zahl (bei den meisten Ereignissen) oder als " "Zeichenkette (bei ``Visibility``-Ereignissen)." -#: ../../library/tkinter.rst:6221 +#: ../../library/tkinter.rst:6294 msgid "The timestamp of the event, in milliseconds." msgstr "Der Zeitstempel des Ereignisses, in Millisekunden." -#: ../../library/tkinter.rst:6226 +#: ../../library/tkinter.rst:6299 msgid "The pointer position relative to the widget, in pixels." msgstr "Die Zeigerposition relativ zum Widget, in Pixeln." -#: ../../library/tkinter.rst:6231 +#: ../../library/tkinter.rst:6304 msgid "" "The pointer position relative to the top-left corner of the screen, in " "pixels." msgstr "" "Die Zeigerposition relativ zur linken oberen Ecke des Bildschirms, in Pixeln." -#: ../../library/tkinter.rst:6236 +#: ../../library/tkinter.rst:6309 msgid "The character typed, as a string (for key events)." msgstr "Das eingegebene Zeichen, als Zeichenkette (bei Tastaturereignissen)." -#: ../../library/tkinter.rst:6240 +#: ../../library/tkinter.rst:6313 msgid "``True`` if the event was sent by another application." msgstr "" "``True``, wenn das Ereignis von einer anderen Anwendung gesendet wurde." -#: ../../library/tkinter.rst:6244 +#: ../../library/tkinter.rst:6317 msgid "The symbolic name of the key that was pressed or released." msgstr "Der symbolische Name der Taste, die gedrückt oder losgelassen wurde." -#: ../../library/tkinter.rst:6248 +#: ../../library/tkinter.rst:6321 msgid "The numeric value of :attr:`keysym`." msgstr "Der Zahlenwert von :attr:`keysym`." -#: ../../library/tkinter.rst:6252 +#: ../../library/tkinter.rst:6325 msgid "The :class:`EventType` of the event." msgstr "Der :class:`EventType` des Ereignisses." -#: ../../library/tkinter.rst:6256 +#: ../../library/tkinter.rst:6329 msgid "The widget on which the event occurred." msgstr "Das Widget, an dem das Ereignis eingetreten ist." -#: ../../library/tkinter.rst:6260 +#: ../../library/tkinter.rst:6333 msgid "The amount the mouse wheel was rotated (for ``MouseWheel`` events)." msgstr "Wie weit das Mausrad gedreht wurde (bei ``MouseWheel``-Ereignissen)." -#: ../../library/tkinter.rst:6265 +#: ../../library/tkinter.rst:6338 msgid "" "An :class:`enum.StrEnum` enumerating the Tk event types, used as the value " "of :attr:`Event.type`. Its members include, among others, ``KeyPress``, " @@ -10686,7 +10761,7 @@ msgstr "" "``Motion``, ``Enter``, ``Leave``, ``FocusIn``, ``FocusOut``, ``Configure``, " "``Map``, ``Unmap``, ``Expose``, ``Destroy`` und ``MouseWheel``." -#: ../../library/tkinter.rst:6278 +#: ../../library/tkinter.rst:6351 msgid "" "Internal helper that wraps a Python callback so that it can be invoked from " "Tcl. *func* is the Python function, *subst* is an optional function that pre-" @@ -10701,11 +10776,11 @@ msgstr "" "register` automatisch. Diese Klasse wird normalerweise nicht direkt " "verwendet." -#: ../../library/tkinter.rst:6288 +#: ../../library/tkinter.rst:6361 msgid "Module-level functions" msgstr "Funktionen auf Modulebene" -#: ../../library/tkinter.rst:6292 +#: ../../library/tkinter.rst:6365 msgid "" "The :func:`Tcl` function is a factory function which creates an object much " "like that created by the :class:`Tk` class, except that it does not " @@ -10726,7 +10801,7 @@ msgstr "" "Subsystem initialisieren), indem man seine Methode :meth:`~Tk.loadtk` " "aufruft." -#: ../../library/tkinter.rst:6304 +#: ../../library/tkinter.rst:6377 msgid "" "Inhibit the creation of an implicit default root window. Afterwards :mod:`!" "tkinter` no longer creates a shared default root automatically, and " @@ -10741,7 +10816,7 @@ msgstr "" "dies in größeren Anwendungen früh auf, um das Root-Fenster ausdrücklich zu " "machen." -#: ../../library/tkinter.rst:6312 +#: ../../library/tkinter.rst:6385 msgid "" "Run the Tk main event loop on the default root window until all windows are " "destroyed. Equivalent to calling :meth:`Misc.mainloop` on the default root." @@ -10750,37 +10825,38 @@ msgstr "" "alle Fenster zerstört sind. Entspricht dem Aufruf von :meth:`Misc.mainloop` " "auf dem Standard-Root." -#: ../../library/tkinter.rst:6318 +#: ../../library/tkinter.rst:6391 +#, fuzzy msgid "" "Convert the Tcl boolean string *s* (one of ``'1'``, ``'true'``, ``'yes'``, " "``'on'`` and similar, or their false counterparts) to a Python :class:" -"`bool`. Raise :exc:`TclError` for an invalid value." +"`bool`. Raise :exc:`ValueError` for an invalid value." msgstr "" "Wandelt die Tcl-Wahrheitswert-Zeichenkette *s* (eine von ``'1'``, " "``'true'``, ``'yes'``, ``'on'`` und ähnlichen oder deren falsche " "Gegenstücke) in einen Python-:class:`bool` um. Löst bei einem ungültigen " "Wert :exc:`TclError` aus." -#: ../../library/tkinter.rst:6325 +#: ../../library/tkinter.rst:6398 msgid "" "Convert *s* to a floating-point number. This is the built-in :class:`float`." msgstr "" "Wandelt *s* in eine Gleitkommazahl um. Das ist die integrierte :class:" "`float`." -#: ../../library/tkinter.rst:6330 +#: ../../library/tkinter.rst:6403 msgid "Convert *s* to an integer. This is the built-in :class:`int`." msgstr "" "Wandelt *s* in eine ganze Zahl um. Das ist die integrierte :class:`int`." -#: ../../library/tkinter.rst:6335 +#: ../../library/tkinter.rst:6408 msgid "" "Return the names of all existing images in the default root's interpreter." msgstr "" "Gibt die Namen aller vorhandenen Bilder im Interpreter des Standard-Roots " "zurück." -#: ../../library/tkinter.rst:6339 +#: ../../library/tkinter.rst:6412 msgid "" "Return the available image types (such as ``'photo'`` and ``'bitmap'``) in " "the default root's interpreter." @@ -10788,11 +10864,11 @@ msgstr "" "Gibt die verfügbaren Bildtypen (etwa ``'photo'`` und ``'bitmap'``) im " "Interpreter des Standard-Roots zurück." -#: ../../library/tkinter.rst:6346 +#: ../../library/tkinter.rst:6419 msgid "File handlers" msgstr "Dateihandler" -#: ../../library/tkinter.rst:6348 +#: ../../library/tkinter.rst:6421 msgid "" "Tk allows you to register and unregister a callback function which will be " "called from the Tk mainloop when I/O is possible on a file descriptor. Only " @@ -10803,7 +10879,7 @@ msgstr "" "möglich ist. Je Dateideskriptor darf nur ein Handler angemeldet sein. " "Beispielcode::" -#: ../../library/tkinter.rst:6352 +#: ../../library/tkinter.rst:6425 msgid "" "import tkinter\n" "widget = tkinter.Tk()\n" @@ -10819,11 +10895,11 @@ msgstr "" "...\n" "widget.tk.deletefilehandler(file)" -#: ../../library/tkinter.rst:6359 +#: ../../library/tkinter.rst:6432 msgid "This feature is not available on Windows." msgstr "Diese Funktion steht unter Windows nicht zur Verfügung." -#: ../../library/tkinter.rst:6361 +#: ../../library/tkinter.rst:6434 msgid "" "Since you don't know how many bytes are available for reading, you may not " "want to use the :class:`~io.BufferedIOBase` or :class:`~io.TextIOBase` :meth:" @@ -10841,7 +10917,7 @@ msgstr "" "oder :meth:`~socket.socket.recvfrom` gut. Bei anderen Dateien verwende rohe " "Lesevorgänge oder ``os.read(file.fileno(), maxbytecount)``." -#: ../../library/tkinter.rst:6372 +#: ../../library/tkinter.rst:6445 msgid "" "Registers the file handler callback function *func*. The *file* argument may " "either be an object with a :meth:`~io.IOBase.fileno` method (such as a file " @@ -10855,23 +10931,23 @@ msgstr "" "Das Argument *mask* ist eine ODER-Verknüpfung aus den drei Konstanten weiter " "unten. Der Callback wird folgendermaßen aufgerufen::" -#: ../../library/tkinter.rst:6378 +#: ../../library/tkinter.rst:6451 msgid "callback(file, mask)" msgstr "callback(file, mask)" -#: ../../library/tkinter.rst:6383 +#: ../../library/tkinter.rst:6456 msgid "Unregisters a file handler." msgstr "Meldet einen Dateihandler ab." -#: ../../library/tkinter.rst:6390 +#: ../../library/tkinter.rst:6463 msgid "Constants used in the *mask* arguments." msgstr "Konstanten, die in den *mask*-Argumenten verwendet werden." -#: ../../library/tkinter.rst:6394 +#: ../../library/tkinter.rst:6467 msgid "Constants" msgstr "Konstanten" -#: ../../library/tkinter.rst:6396 +#: ../../library/tkinter.rst:6469 msgid "" "The following symbolic constants are available in both the :mod:`!tkinter` " "and :mod:`!tkinter.constants` namespaces." @@ -10879,15 +10955,15 @@ msgstr "" "Die folgenden symbolischen Konstanten stehen sowohl im Namensraum :mod:`!" "tkinter` als auch in :mod:`!tkinter.constants` zur Verfügung." -#: ../../library/tkinter.rst:6403 +#: ../../library/tkinter.rst:6476 msgid "Truthy values, all equal to the integer ``1``." msgstr "Wahre Werte, alle gleich der ganzen Zahl ``1``." -#: ../../library/tkinter.rst:6409 +#: ../../library/tkinter.rst:6482 msgid "Falsy values, all equal to the integer ``0``." msgstr "Falsche Werte, alle gleich der ganzen Zahl ``0``." -#: ../../library/tkinter.rst:6424 +#: ../../library/tkinter.rst:6497 msgid "" "Compass directions (``'n'``, ``'s'``, ``'e'``, ``'w'`` and the diagonals and " "edges) plus ``CENTER`` (``'center'``), used as values for the *anchor* and " @@ -10898,13 +10974,13 @@ msgstr "" "*anchor* und *sticky* sowie von Methoden wie :meth:`Misc.grid_anchor` " "verwendet werden." -#: ../../library/tkinter.rst:6433 +#: ../../library/tkinter.rst:6506 msgid "" "Sides for the *side* option of the packer (see :meth:`Pack.pack_configure`)." msgstr "" "Seiten für die Option *side* des Packers (siehe :meth:`Pack.pack_configure`)." -#: ../../library/tkinter.rst:6440 +#: ../../library/tkinter.rst:6513 msgid "" "Values for the *fill* option of the packer: ``'x'``, ``'y'``, ``'both'`` or " "``'none'``." @@ -10912,12 +10988,12 @@ msgstr "" "Werte für die Option *fill* des Packers: ``'x'``, ``'y'``, ``'both'`` oder " "``'none'``." -#: ../../library/tkinter.rst:6450 +#: ../../library/tkinter.rst:6523 msgid "Values for the *relief* option, which controls a widget's 3-D border." msgstr "" "Werte für die Option *relief*, die den 3-D-Rahmen eines Widgets steuert." -#: ../../library/tkinter.rst:6455 +#: ../../library/tkinter.rst:6528 msgid "" "Values for the *orient* option of widgets such as :class:`Scale`, :class:" "`Scrollbar` and :class:`PanedWindow`." @@ -10925,7 +11001,7 @@ msgstr "" "Werte für die Option *orient* von Widgets wie :class:`Scale`, :class:" "`Scrollbar` und :class:`PanedWindow`." -#: ../../library/tkinter.rst:6461 +#: ../../library/tkinter.rst:6534 msgid "" "Values for the *wrap* option of the :class:`Text` widget, selecting line " "wrapping on character or word boundaries." @@ -10933,11 +11009,11 @@ msgstr "" "Werte für die Option *wrap* des :class:`Text`-Widgets, die den Zeilenumbruch " "an Zeichen- oder Wortgrenzen wählen." -#: ../../library/tkinter.rst:6466 +#: ../../library/tkinter.rst:6539 msgid "The text-alignment value ``'baseline'``." msgstr "Der Textausrichtungswert ``'baseline'``." -#: ../../library/tkinter.rst:6471 +#: ../../library/tkinter.rst:6544 msgid "" "Values for the *bordermode* option of the placer (see :meth:`Place." "place_configure`)." @@ -10945,7 +11021,7 @@ msgstr "" "Werte für die Option *bordermode* des Placers (siehe :meth:`Place." "place_configure`)." -#: ../../library/tkinter.rst:6482 +#: ../../library/tkinter.rst:6555 msgid "" "Symbolic indices used by the :class:`Text`, :class:`Entry`, :class:`Listbox` " "and :class:`Canvas` widgets, such as ``'insert'`` (the insertion cursor), " @@ -10957,7 +11033,7 @@ msgstr "" "Einfügemarke), ``'current'``, ``'end'``, ``'anchor'`` sowie die Grenzen der " "Auswahl (``'sel.first'`` und ``'sel.last'``)." -#: ../../library/tkinter.rst:6489 +#: ../../library/tkinter.rst:6562 msgid "" "The special tag ``'all'``, which matches every item of a :class:`Canvas` or " "every character of a :class:`Text` (for example ``canvas.delete(ALL)``)." @@ -10966,11 +11042,11 @@ msgstr "" "jedes Zeichen eines :class:`Text` passt (zum Beispiel ``canvas." "delete(ALL)``)." -#: ../../library/tkinter.rst:6497 +#: ../../library/tkinter.rst:6570 msgid "Values for the *state* option of various widgets and items." msgstr "Werte für die Option *state* verschiedener Widgets und Objekte." -#: ../../library/tkinter.rst:6505 +#: ../../library/tkinter.rst:6578 msgid "" "Menu entry types, used as the *itemType* argument of :meth:`Menu.add` and :" "meth:`Menu.insert`." @@ -10978,16 +11054,16 @@ msgstr "" "Arten von Menüeinträgen, die als Argument *itemType* von :meth:`Menu.add` " "und :meth:`Menu.insert` dienen." -#: ../../library/tkinter.rst:6513 +#: ../../library/tkinter.rst:6586 msgid "Values for the *selectmode* option of the :class:`Listbox` widget." msgstr "Werte für die Option *selectmode* des :class:`Listbox`-Widgets." -#: ../../library/tkinter.rst:6519 +#: ../../library/tkinter.rst:6592 msgid "Values for the *style* option of :class:`Canvas` arc items." msgstr "" "Werte für die Option *style* von ``arc``-Objekten eines :class:`Canvas`." -#: ../../library/tkinter.rst:6527 +#: ../../library/tkinter.rst:6600 msgid "" "Values for the *capstyle* (``'butt'``, ``'projecting'``, ``'round'``) and " "*joinstyle* (``'round'``, ``'bevel'``, ``'miter'``) options of :class:" @@ -10997,7 +11073,7 @@ msgstr "" "``'round'``) und *joinstyle* (``'round'``, ``'bevel'``, ``'miter'``) von " "``line``-Objekten eines :class:`Canvas`." -#: ../../library/tkinter.rst:6534 +#: ../../library/tkinter.rst:6607 msgid "" "Values for the *arrow* option of :class:`Canvas` line items, indicating " "which ends have arrowheads." @@ -11005,7 +11081,7 @@ msgstr "" "Werte für die Option *arrow* von ``line``-Objekten eines :class:`Canvas`, " "die angeben, welche Enden Pfeilspitzen haben." -#: ../../library/tkinter.rst:6540 +#: ../../library/tkinter.rst:6613 msgid "" "The first argument passed by a :class:`Scrollbar` to the :meth:`XView.xview` " "or :meth:`YView.yview` method of the scrolled widget." @@ -11013,7 +11089,7 @@ msgstr "" "Das erste Argument, das eine :class:`Scrollbar` an die Methode :meth:`XView." "xview` oder :meth:`YView.yview` des verschobenen Widgets übergibt." -#: ../../library/tkinter.rst:6546 +#: ../../library/tkinter.rst:6619 msgid "" "Values for the *what* argument of :meth:`XView.xview_scroll` and :meth:" "`YView.yview_scroll`." @@ -11021,7 +11097,7 @@ msgstr "" "Werte für das Argument *what* von :meth:`XView.xview_scroll` und :meth:" "`YView.yview_scroll`." -#: ../../library/tkinter.rst:6553 +#: ../../library/tkinter.rst:6626 msgid "Other option values: ``'underline'``, ``'numeric'`` and ``'dotbox'``." msgstr "Weitere Optionswerte: ``'underline'``, ``'numeric'`` und ``'dotbox'``." @@ -11041,10 +11117,57 @@ msgstr "Fenstermanager (Widgets)" msgid "Tk Option Data Types" msgstr "Datentypen von Tk-Optionen" -#: ../../library/tkinter.rst:857 +#: ../../library/tkinter.rst:923 msgid "bind (widgets)" msgstr "bind (Widgets)" -#: ../../library/tkinter.rst:857 +#: ../../library/tkinter.rst:923 msgid "events (widgets)" msgstr "Ereignisse (Widgets)" + +#~ msgid "" +#~ "Legal values are points of the compass: ``\"n\"``, ``\"ne\"``, ``\"e\"``, " +#~ "``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, and also " +#~ "``\"center\"``." +#~ msgstr "" +#~ "Zulässige Werte sind Himmelsrichtungen: ``\"n\"``, ``\"ne\"``, ``\"e\"``, " +#~ "``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"`` sowie " +#~ "``\"center\"``." + +#~ msgid "" +#~ "You can pass integers 0 or 1 or the strings ``\"yes\"`` or ``\"no\"``." +#~ msgstr "" +#~ "Du kannst die ganzen Zahlen 0 oder 1 oder die Zeichenketten ``\"yes\"`` " +#~ "oder ``\"no\"`` übergeben." + +#~ msgid "" +#~ "Colors can be given as the names of X colors in the rgb.txt file, or as " +#~ "strings representing RGB values in 4 bit: ``\"#RGB\"``, 8 bit: " +#~ "``\"#RRGGBB\"``, 12 bit: ``\"#RRRGGGBBB\"``, or 16 bit: " +#~ "``\"#RRRRGGGGBBBB\"`` ranges, where R,G,B here represent any legal hex " +#~ "digit. See the :manpage:`colors(3tk)` man page for the list of named " +#~ "colors." +#~ msgstr "" +#~ "Farben können als Namen von X-Farben aus der Datei rgb.txt angegeben " +#~ "werden oder als Zeichenketten, die RGB-Werte darstellen, in 4 Bit: " +#~ "``\"#RGB\"``, 8 Bit: ``\"#RRGGBB\"``, 12 Bit: ``\"#RRRGGGBBB\"`` oder 16 " +#~ "Bit: ``\"#RRRRGGGGBBBB\"``, wobei R, G und B hier für beliebige zulässige " +#~ "Hexadezimalziffern stehen. Die Liste der benannten Farben steht auf der " +#~ "Man-Page :manpage:`colors(3tk)`." + +#~ msgid "geometry" +#~ msgstr "geometry" + +#~ msgid "" +#~ "This is a string of the form ``widthxheight``, where width and height are " +#~ "measured in pixels for most widgets (in characters for widgets displaying " +#~ "text). For example: ``fred[\"geometry\"] = \"200x100\"``." +#~ msgstr "" +#~ "Das ist eine Zeichenkette der Form ``widthxheight``, wobei Breite und " +#~ "Höhe bei den meisten Widgets in Pixeln gemessen werden (bei Widgets, die " +#~ "Text anzeigen, in Zeichen). Zum Beispiel: ``fred[\"geometry\"] = " +#~ "\"200x100\"``." + +#~ msgid "Must be one of: ``\"none\"``, ``\"char\"``, or ``\"word\"``." +#~ msgstr "" +#~ "Muss einer der Werte ``\"none\"``, ``\"char\"`` oder ``\"word\"`` sein." diff --git a/library/turtle.po b/library/turtle.po index 4846d54f..608040c4 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-09-25 22:09+0200\n" "Last-Translator: Transifex\n" "Language-Team: German (https://github.com/python/python-docs-de)\n" @@ -38,7 +38,11 @@ msgstr "" "Turtle kann komplizierte Formen zeichnen, indem es Programme verwendet, die " "einfache Bewegungen wiederholen." -#: ../../library/turtle.rst:34 +#: ../../library/turtle.rst:31 +msgid "A yellow starburst of thin spikes with a red outline, drawn by turtle." +msgstr "" + +#: ../../library/turtle.rst:35 msgid "" "Imagine a robotic turtle starting at (0, 0) in the x-y plane. After an " "``import turtle``, give it the command ``turtle.forward(15)``, and it moves " @@ -52,10 +56,11 @@ msgstr "" "schaut, und zeichnet dabei eine Linie. Gib ihr den Befehl ``turtle." "right(25)``, und sie dreht sich auf der Stelle um 25 Grad im Uhrzeigersinn." -#: ../../library/turtle.rst:40 +#: ../../library/turtle.rst:41 +#, fuzzy msgid "" "Turtle graphics is an implementation of `the drawing tools introduced in " -"Logo `_ in 1967. It was " +"Logo `__ in 1967. It was " "created as an educational tool, and its instant, visible feedback makes it " "an effective way for learners to encounter programming concepts. It is also " "a convenient way to produce simple graphical output without bringing in " @@ -68,17 +73,17 @@ msgstr "" "Berührung kommen. Außerdem ist sie eine bequeme Möglichkeit, einfache " "grafische Ausgaben zu erzeugen, ohne externe Bibliotheken einzubinden." -#: ../../library/turtle.rst:46 +#: ../../library/turtle.rst:47 msgid "This document includes four main sections:" msgstr "Dieses Dokument umfasst vier Hauptabschnitte:" -#: ../../library/turtle.rst:48 +#: ../../library/turtle.rst:49 msgid ":ref:`turtle-tutorial` teaches the basics of turtle drawing." msgstr "" ":ref:`turtle-tutorial` vermittelt die Grundlagen des Zeichnens mit der " "Turtle." -#: ../../library/turtle.rst:49 +#: ../../library/turtle.rst:50 msgid "" ":ref:`turtle-reference` describes the functions, methods and classes this " "module defines." @@ -86,13 +91,14 @@ msgstr "" ":ref:`turtle-reference` beschreibt die Funktionen, Methoden und Klassen, die " "dieses Modul definiert." -#: ../../library/turtle.rst:51 -msgid ":ref:`turtle-howtos` details how to handle specific tasks." +#: ../../library/turtle.rst:52 +#, fuzzy +msgid ":ref:`turtle-howtos` detail how to handle specific tasks." msgstr "" ":ref:`turtle-howtos` beschreibt im Detail, wie bestimmte Aufgaben zu lösen " "sind." -#: ../../library/turtle.rst:52 +#: ../../library/turtle.rst:53 msgid "" ":ref:`turtle-explanation` provides background on the object-oriented " "interface." @@ -100,7 +106,7 @@ msgstr "" ":ref:`turtle-explanation` liefert Hintergrundinformationen zur " "objektorientierten Schnittstelle." -#: ../../library/turtle.rst:57 +#: ../../library/turtle.rst:58 msgid "" "Turtle graphics requires the :mod:`tkinter` :term:`optional module`. The " "python.org installers for Windows and macOS include it, but some Linux " @@ -117,11 +123,11 @@ msgstr "" "(also dessen, der dir Python bereitgestellt hat). Prüfe das vorab, wenn du " "Turtle-Grafik mit Lernenden einsetzen willst." -#: ../../library/turtle.rst:70 +#: ../../library/turtle.rst:71 msgid "Tutorial" msgstr "Tutorial" -#: ../../library/turtle.rst:72 +#: ../../library/turtle.rst:73 msgid "" "New users should start here. In this tutorial we'll explore some of the " "basics of turtle drawing." @@ -129,19 +135,19 @@ msgstr "" "Neue Benutzer sollten hier beginnen. In diesem Tutorial erkunden wir einige " "der Grundlagen des Turtle-Zeichnens." -#: ../../library/turtle.rst:77 +#: ../../library/turtle.rst:78 msgid "Starting a turtle environment" msgstr "Eine Turtle-Umgebung starten" -#: ../../library/turtle.rst:79 +#: ../../library/turtle.rst:80 msgid "In a Python shell, import all the objects of the ``turtle`` module::" msgstr "Importiere in einer Python-Shell alle Objekte des Moduls ``turtle``::" -#: ../../library/turtle.rst:81 +#: ../../library/turtle.rst:82 msgid "from turtle import *" msgstr "from turtle import *" -#: ../../library/turtle.rst:83 +#: ../../library/turtle.rst:84 msgid "" "If you run into a ``No module named '_tkinter'`` error, you'll have to " "install the :mod:`Tk interface package ` on your system." @@ -149,38 +155,54 @@ msgstr "" "Falls du auf einen Fehler ``No module named '_tkinter'`` stößt, musst du " "das :mod:`Tk-Interface-Paket ` auf deinem System installieren." -#: ../../library/turtle.rst:88 +#: ../../library/turtle.rst:87 +msgid "" +"Nothing appears yet. To open the turtle window, make the turtle visible::" +msgstr "" + +#: ../../library/turtle.rst:89 +#, fuzzy +msgid "showturtle()" +msgstr ">>> turtle.showturtle()" + +#: ../../library/turtle.rst:91 +msgid "" +"A new window opens, with the turtle in the middle, shown as an arrow heading " +"East." +msgstr "" + +#: ../../library/turtle.rst:96 msgid "Basic drawing" msgstr "Einfaches Zeichnen" -#: ../../library/turtle.rst:90 +#: ../../library/turtle.rst:98 msgid "Send the turtle forward 100 steps::" msgstr "Schicke die Turtle 100 Schritte vorwärts::" -#: ../../library/turtle.rst:92 +#: ../../library/turtle.rst:100 msgid "forward(100)" msgstr "forward(100)" -#: ../../library/turtle.rst:94 +#: ../../library/turtle.rst:102 +#, fuzzy msgid "" -"You should see (most likely, in a new window on your display) a line drawn " -"by the turtle, heading East. Change the direction of the turtle, so that it " -"turns 120 degrees left (anti-clockwise)::" +"You should see a line drawn by the turtle, heading East. Change the " +"direction of the turtle, so that it turns 120 degrees left (anti-clockwise)::" msgstr "" "Du solltest (höchstwahrscheinlich in einem neuen Fenster auf deinem " "Bildschirm) eine von der Turtle gezeichnete Linie sehen, die nach Osten " "zeigt. Ändere die Richtung der Turtle, sodass sie sich um 120 Grad nach " "links dreht (gegen den Uhrzeigersinn)::" -#: ../../library/turtle.rst:98 +#: ../../library/turtle.rst:106 msgid "left(120)" msgstr "left(120)" -#: ../../library/turtle.rst:100 +#: ../../library/turtle.rst:108 msgid "Let's continue by drawing a triangle::" msgstr "Lass uns fortfahren, indem wir ein Dreieck zeichnen::" -#: ../../library/turtle.rst:102 +#: ../../library/turtle.rst:110 msgid "" "forward(100)\n" "left(120)\n" @@ -190,7 +212,7 @@ msgstr "" "left(120)\n" "forward(100)" -#: ../../library/turtle.rst:106 +#: ../../library/turtle.rst:114 msgid "" "Notice how the turtle, represented by an arrow, points in different " "directions as you steer it." @@ -198,22 +220,22 @@ msgstr "" "Beachte, wie die Turtle, dargestellt durch einen Pfeil, in unterschiedliche " "Richtungen zeigt, während du sie steuerst." -#: ../../library/turtle.rst:109 +#: ../../library/turtle.rst:117 +#, fuzzy msgid "" "Experiment with those commands, and also with ``backward()`` and " -"``right()``. Many commands also have terser aliases, such as ``fd()`` for :" +"``right()``. Many commands also have shorter aliases, such as ``fd()`` for :" "func:`forward`." msgstr "" "Experimentiere mit diesen Befehlen und auch mit ``backward()`` und " "``right()``. Viele Befehle haben außerdem knappere Aliasnamen, etwa ``fd()`` " "für :func:`forward`." -#: ../../library/turtle.rst:115 ../../library/turtle.rst:352 -#: ../../library/turtle.rst:1052 +#: ../../library/turtle.rst:123 ../../library/turtle.rst:810 msgid "Pen control" msgstr "Stiftsteuerung" -#: ../../library/turtle.rst:117 +#: ../../library/turtle.rst:125 msgid "" "Try changing the color - for example, ``color('blue')`` - and width of the " "line - for example, ``width(3)`` - and then drawing again." @@ -221,7 +243,7 @@ msgstr "" "Versuche, die Farbe zu ändern – zum Beispiel ``color('blue')`` – sowie die " "Breite der Linie – zum Beispiel ``width(3)`` – und zeichne dann erneut." -#: ../../library/turtle.rst:120 +#: ../../library/turtle.rst:128 msgid "" "You can also move the turtle around without drawing, by lifting up the pen: " "``up()`` before moving. To start drawing again, use ``down()``." @@ -230,11 +252,11 @@ msgstr "" "anhebst: ``up()`` vor dem Bewegen. Um wieder mit dem Zeichnen zu beginnen, " "verwende ``down()``." -#: ../../library/turtle.rst:125 +#: ../../library/turtle.rst:133 msgid "The turtle's position" msgstr "Die Position der Turtle" -#: ../../library/turtle.rst:127 +#: ../../library/turtle.rst:135 msgid "" "Send your turtle back to its starting-point (useful if it has disappeared " "off-screen)::" @@ -242,11 +264,11 @@ msgstr "" "Schicke deine Turtle zurück zu ihrem Startpunkt (nützlich, falls sie " "außerhalb des Bildschirms verschwunden ist)::" -#: ../../library/turtle.rst:130 +#: ../../library/turtle.rst:138 msgid "home()" msgstr "home()" -#: ../../library/turtle.rst:132 +#: ../../library/turtle.rst:140 msgid "" "The home position is at the center of the turtle's screen. If you ever need " "to know them, get the turtle's x-y coordinates with::" @@ -254,15 +276,15 @@ msgstr "" "Die Home-Position befindet sich in der Mitte des Turtle-Bildschirms. Falls " "du sie jemals wissen musst, erhältst du die x-y-Koordinaten der Turtle mit::" -#: ../../library/turtle.rst:135 +#: ../../library/turtle.rst:143 msgid "pos()" msgstr "pos()" -#: ../../library/turtle.rst:137 +#: ../../library/turtle.rst:145 msgid "Home is at ``(0, 0)``." msgstr "Home liegt bei ``(0, 0)``." -#: ../../library/turtle.rst:139 +#: ../../library/turtle.rst:147 msgid "" "And after a while, it will probably help to clear the window so we can start " "anew::" @@ -270,20 +292,20 @@ msgstr "" "Und nach einer Weile wird es wahrscheinlich helfen, das Fenster zu leeren, " "damit wir von vorne beginnen können::" -#: ../../library/turtle.rst:142 +#: ../../library/turtle.rst:150 msgid "clearscreen()" msgstr "clearscreen()" -#: ../../library/turtle.rst:146 +#: ../../library/turtle.rst:154 msgid "Making algorithmic patterns" msgstr "Algorithmische Muster erstellen" -#: ../../library/turtle.rst:148 +#: ../../library/turtle.rst:156 msgid "Using loops, it's possible to build up geometric patterns::" msgstr "" "Mithilfe von Schleifen ist es möglich, geometrische Muster aufzubauen::" -#: ../../library/turtle.rst:150 +#: ../../library/turtle.rst:158 msgid "" "for steps in range(100):\n" " for c in ('blue', 'red', 'green'):\n" @@ -297,11 +319,11 @@ msgstr "" " forward(steps)\n" " right(30)" -#: ../../library/turtle.rst:157 +#: ../../library/turtle.rst:165 msgid "\\ - which of course, are limited only by the imagination!" msgstr "\\ - die natürlich nur durch die Fantasie begrenzt werden!" -#: ../../library/turtle.rst:159 +#: ../../library/turtle.rst:167 msgid "" "Let's draw the star shape at the top of this page. We want red lines, filled " "in with yellow::" @@ -309,7 +331,7 @@ msgstr "" "Lass uns die Sternform am Anfang dieser Seite zeichnen. Wir wollen rote " "Linien, gefüllt mit Gelb::" -#: ../../library/turtle.rst:162 +#: ../../library/turtle.rst:170 msgid "" "color('red')\n" "fillcolor('yellow')" @@ -317,7 +339,7 @@ msgstr "" "color('red')\n" "fillcolor('yellow')" -#: ../../library/turtle.rst:165 +#: ../../library/turtle.rst:173 msgid "" "Just as ``up()`` and ``down()`` determine whether lines will be drawn, " "filling can be turned on and off::" @@ -325,15 +347,15 @@ msgstr "" "Genau wie ``up()`` und ``down()`` bestimmen, ob Linien gezeichnet werden, " "kann das Füllen ein- und ausgeschaltet werden::" -#: ../../library/turtle.rst:168 +#: ../../library/turtle.rst:176 msgid "begin_fill()" msgstr "begin_fill()" -#: ../../library/turtle.rst:170 +#: ../../library/turtle.rst:178 msgid "Next we'll create a loop::" msgstr "Als Nächstes erstellen wir eine Schleife::" -#: ../../library/turtle.rst:172 +#: ../../library/turtle.rst:180 msgid "" "start = pos()\n" "\n" @@ -351,7 +373,7 @@ msgstr "" " if distance(start) < 1:\n" " break" -#: ../../library/turtle.rst:180 +#: ../../library/turtle.rst:188 msgid "" "``distance(start) < 1`` is a good way to know when the turtle is back at its " "start position." @@ -359,15 +381,15 @@ msgstr "" "``distance(start) < 1`` ist eine gute Möglichkeit zu erkennen, wann die " "Turtle wieder an ihrer Startposition ist." -#: ../../library/turtle.rst:183 +#: ../../library/turtle.rst:191 msgid "Finally, complete the filling::" msgstr "Schließlich vervollständige das Füllen::" -#: ../../library/turtle.rst:185 +#: ../../library/turtle.rst:193 msgid "end_fill()" msgstr "end_fill()" -#: ../../library/turtle.rst:187 +#: ../../library/turtle.rst:195 msgid "" "(Note that filling only actually takes place when you give the " "``end_fill()`` command.)" @@ -375,875 +397,179 @@ msgstr "" "(Beachte, dass das Füllen erst tatsächlich stattfindet, wenn du den Befehl " "``end_fill()`` gibst.)" -#: ../../library/turtle.rst:196 -msgid "How-to guides" -msgstr "How-to-Anleitungen" - -#: ../../library/turtle.rst:198 -msgid "This section covers some typical turtle use-cases and approaches." -msgstr "" -"Dieser Abschnitt behandelt einige typische Anwendungsfälle und " -"Vorgehensweisen für Turtle." +#: ../../library/turtle.rst:203 +msgid "Reference" +msgstr "Referenz" -#: ../../library/turtle.rst:202 -msgid "Automatically begin and end filling" -msgstr "Füllen automatisch beginnen und beenden" +#: ../../library/turtle.rst:209 +#, fuzzy +msgid "Turtle methods and functions" +msgstr "Turtle-Methoden" -#: ../../library/turtle.rst:204 +#: ../../library/turtle.rst:211 msgid "" -"Starting with Python 3.14, you can use the :func:`fill` :term:`context " -"manager` instead of :func:`begin_fill` and :func:`end_fill` to automatically " -"begin and end fill. Here is an example::" -msgstr "" -"Ab Python 3.14 kannst du den :term:`Kontextmanager ` :func:" -"`fill` anstelle von :func:`begin_fill` und :func:`end_fill` verwenden, um " -"das Füllen automatisch zu beginnen und zu beenden. Hier ist ein Beispiel::" +"Most of the examples in this section refer to a Turtle instance called " +"``turtle``." +msgstr "Turtle-Instanz namens ``turtle``." -#: ../../library/turtle.rst:208 -msgid "" -"with fill():\n" -" for i in range(4):\n" -" forward(100)\n" -" right(90)\n" -"\n" -"forward(200)" -msgstr "" -"with fill():\n" -" for i in range(4):\n" -" forward(100)\n" -" right(90)\n" -"\n" -"forward(200)" +#: ../../library/turtle.rst:217 +msgid "Move and draw" +msgstr "Bewegen und zeichnen" -#: ../../library/turtle.rst:215 -msgid "The code above is equivalent to::" -msgstr "Der obige Code ist äquivalent zu::" +#: ../../library/turtle.rst:0 +msgid "Parameters" +msgstr "Parameter" -#: ../../library/turtle.rst:217 +#: ../../library/turtle.rst:222 ../../library/turtle.rst:244 +#: ../../library/turtle.rst:268 ../../library/turtle.rst:294 +#: ../../library/turtle.rst:392 ../../library/turtle.rst:414 +#: ../../library/turtle.rst:437 ../../library/turtle.rst:488 +#: ../../library/turtle.rst:763 ../../library/turtle.rst:1297 +#: ../../library/turtle.rst:1744 ../../library/turtle.rst:1745 +#: ../../library/turtle.rst:1746 ../../library/turtle.rst:1747 +msgid "a number" +msgstr "eine Zahl" + +#: ../../library/turtle.rst:224 msgid "" -"begin_fill()\n" -"for i in range(4):\n" -" forward(100)\n" -" right(90)\n" -"end_fill()\n" -"\n" -"forward(200)" +"Move the turtle forward by the specified *distance*, in the direction the " +"turtle is headed." msgstr "" -"begin_fill()\n" -"for i in range(4):\n" -" forward(100)\n" -" right(90)\n" -"end_fill()\n" -"\n" -"forward(200)" +"Bewege die Turtle um die angegebene *distance* vorwärts, in die Richtung, in " +"die die Turtle blickt." #: ../../library/turtle.rst:227 -msgid "Use the ``turtle`` module namespace" -msgstr "Das ``turtle``-Modul im eigenen Namensraum verwenden" - -#: ../../library/turtle.rst:229 msgid "" -"Using ``from turtle import *`` is convenient - but be warned that it imports " -"a rather large collection of objects, and if you're doing anything but " -"turtle graphics you run the risk of a name conflict (this becomes even more " -"an issue if you're using turtle graphics in a script where other modules " -"might be imported)." +">>> turtle.position()\n" +"(0.00,0.00)\n" +">>> turtle.forward(25)\n" +">>> turtle.position()\n" +"(25.00,0.00)\n" +">>> turtle.forward(-75)\n" +">>> turtle.position()\n" +"(-50.00,0.00)" msgstr "" -"Es ist praktisch, ``from turtle import *`` zu verwenden – aber sei gewarnt, " -"dass dadurch eine recht große Sammlung von Objekten importiert wird, und " -"wenn du irgendetwas außer Turtle-Grafik machst, läufst du Gefahr eines " -"Namenskonflikts (dies wird noch problematischer, wenn du Turtle-Grafik in " -"einem Skript verwendest, in dem auch andere Module importiert werden " -"könnten)." +">>> turtle.position()\n" +"(0.00,0.00)\n" +">>> turtle.forward(25)\n" +">>> turtle.position()\n" +"(25.00,0.00)\n" +">>> turtle.forward(-75)\n" +">>> turtle.position()\n" +"(-50.00,0.00)" -#: ../../library/turtle.rst:235 +#: ../../library/turtle.rst:246 +#, fuzzy msgid "" -"The solution is to use ``import turtle`` - ``fd()`` becomes ``turtle.fd()``, " -"``width()`` becomes ``turtle.width()`` and so on. (If typing \"turtle\" over " -"and over again becomes tedious, use for example ``import turtle as t`` " -"instead.)" +"Move the turtle backward by *distance*, opposite to the direction the turtle " +"is headed. The turtle's heading does not change." msgstr "" -"Die Lösung besteht darin, ``import turtle`` zu verwenden - ``fd()`` wird zu " -"``turtle.fd()``, ``width()`` wird zu ``turtle.width()`` und so weiter. " -"(Falls es lästig wird, immer wieder \"turtle\" zu tippen, verwende " -"stattdessen zum Beispiel ``import turtle as t``.)" - -#: ../../library/turtle.rst:242 -msgid "Use turtle graphics in a script" -msgstr "Turtle-Grafik in einem Skript verwenden" +"Bewege die Turtle um *distance* rückwärts, entgegen der Richtung, in die die " +"Turtle blickt. Die Ausrichtung der Turtle wird dabei nicht verändert." -#: ../../library/turtle.rst:244 +#: ../../library/turtle.rst:255 msgid "" -"It's recommended to use the ``turtle`` module namespace as described " -"immediately above, for example::" +">>> turtle.position()\n" +"(0.00,0.00)\n" +">>> turtle.backward(30)\n" +">>> turtle.position()\n" +"(-30.00,0.00)" msgstr "" -"Es wird empfohlen, den Namensraum des Moduls ``turtle`` wie unmittelbar oben " -"beschrieben zu verwenden, zum Beispiel::" +">>> turtle.position()\n" +"(0.00,0.00)\n" +">>> turtle.backward(30)\n" +">>> turtle.position()\n" +"(-30.00,0.00)" -#: ../../library/turtle.rst:247 +#: ../../library/turtle.rst:270 +#, fuzzy msgid "" -"import turtle as t\n" -"from random import random\n" -"\n" -"for i in range(100):\n" -" steps = int(random() * 100)\n" -" angle = int(random() * 360)\n" -" t.right(angle)\n" -" t.fd(steps)" +"Turn the turtle right by the specified *angle*. The angle is measured in " +"degrees by default; the unit can be changed with :func:`degrees` or :func:" +"`radians`. How the heading is measured depends on the turtle mode, see :func:" +"`mode`." msgstr "" -"import turtle as t\n" -"from random import random\n" -"\n" -"for i in range(100):\n" -" steps = int(random() * 100)\n" -" angle = int(random() * 360)\n" -" t.right(angle)\n" -" t.fd(steps)" +"Drehe die Turtle um *angle* Einheiten nach rechts. (Die Einheit ist " +"standardmäßig Grad, kann aber über die Funktionen :func:`degrees` und :func:" +"`radians` festgelegt werden.) Die Winkelausrichtung hängt vom Turtle-Modus " +"ab, siehe :func:`mode`." -#: ../../library/turtle.rst:256 +#: ../../library/turtle.rst:281 msgid "" -"Another step is also required though - as soon as the script ends, Python " -"will also close the turtle's window. Add::" +">>> turtle.heading()\n" +"22.0\n" +">>> turtle.right(45)\n" +">>> turtle.heading()\n" +"337.0" msgstr "" -"Ein weiterer Schritt ist jedoch ebenfalls erforderlich - sobald das Skript " -"endet, wird Python auch das Fenster der Turtle schließen. Füge Folgendes " -"hinzu::" - -#: ../../library/turtle.rst:259 -msgid "t.mainloop()" -msgstr "t.mainloop()" +">>> turtle.heading()\n" +"22.0\n" +">>> turtle.right(45)\n" +">>> turtle.heading()\n" +"337.0" -#: ../../library/turtle.rst:261 +#: ../../library/turtle.rst:296 +#, fuzzy msgid "" -"to the end of the script. The script will now wait to be dismissed and will " -"not exit until it is terminated, for example by closing the turtle graphics " -"window." +"Turn the turtle left by the specified *angle*. The angle is measured in " +"degrees by default; the unit can be changed with :func:`degrees` or :func:" +"`radians`. How the heading is measured depends on the turtle mode, see :func:" +"`mode`." msgstr "" -"am Ende des Skripts. Das Skript wartet nun darauf, geschlossen zu werden, " -"und beendet sich nicht, bis es beendet wird, zum Beispiel durch Schließen " -"des Turtle-Grafikfensters." - -#: ../../library/turtle.rst:267 -msgid "Use object-oriented turtle graphics" -msgstr "Objektorientierte Turtle-Grafik verwenden" +"Drehe die Turtle um *angle* Einheiten nach links. (Die Einheit ist " +"standardmäßig Grad, kann aber über die Funktionen :func:`degrees` und :func:" +"`radians` festgelegt werden.) Die Winkelausrichtung hängt vom Turtle-Modus " +"ab, siehe :func:`mode`." -#: ../../library/turtle.rst:269 +#: ../../library/turtle.rst:307 msgid "" -":ref:`Explanation of the object-oriented interface `" +">>> turtle.heading()\n" +"22.0\n" +">>> turtle.left(45)\n" +">>> turtle.heading()\n" +"67.0" msgstr "" -":ref:`Erklärung der objektorientierten Schnittstelle `" +">>> turtle.heading()\n" +"22.0\n" +">>> turtle.left(45)\n" +">>> turtle.heading()\n" +"67.0" -#: ../../library/turtle.rst:271 -msgid "" -"Other than for very basic introductory purposes, or for trying things out as " -"quickly as possible, it's more usual and much more powerful to use the " -"object-oriented approach to turtle graphics. For example, this allows " -"multiple turtles on screen at once." -msgstr "" -"Abgesehen von sehr grundlegenden Einführungszwecken oder um Dinge so schnell " -"wie möglich auszuprobieren, ist es üblicher und deutlich leistungsfähiger, " -"den objektorientierten Ansatz für Turtle-Grafik zu verwenden. Dies " -"ermöglicht zum Beispiel mehrere Turtles gleichzeitig auf dem Bildschirm." +#: ../../library/turtle.rst:321 +msgid "a number or a pair/vector of numbers" +msgstr "eine Zahl oder ein Paar/Vektor von Zahlen" -#: ../../library/turtle.rst:276 +#: ../../library/turtle.rst:322 ../../library/turtle.rst:354 +#: ../../library/turtle.rst:355 ../../library/turtle.rst:489 +#: ../../library/turtle.rst:1972 ../../library/turtle.rst:1973 +#: ../../library/turtle.rst:1974 ../../library/turtle.rst:2020 +msgid "a number or ``None``" +msgstr "eine Zahl oder ``None``" + +#: ../../library/turtle.rst:324 +#, fuzzy msgid "" -"In this approach, the various turtle commands are methods of objects (mostly " -"of ``Turtle`` objects). You *can* use the object-oriented approach in the " -"shell, but it would be more typical in a Python script." +"Move the turtle to an absolute position. If *y* is ``None``, *x* must be a " +"pair of coordinates or a :class:`Vec2D`, for example as returned by :func:" +"`pos`. If the pen is down, a line is drawn. The turtle's heading does not " +"change." msgstr "" -"Bei diesem Ansatz sind die verschiedenen Turtle-Befehle Methoden von " -"Objekten (meist von ``Turtle``-Objekten). Du *kannst* den objektorientierten " -"Ansatz auch in der Shell verwenden, typischer wäre es aber in einem Python-" -"Skript." - -#: ../../library/turtle.rst:280 -msgid "The example above then becomes::" -msgstr "Das obige Beispiel wird dann zu::" +"Wenn *y* ``None`` ist, muss *x* ein Koordinatenpaar oder ein :class:`Vec2D` " +"sein (z. B. wie von :func:`pos` zurückgegeben)." -#: ../../library/turtle.rst:282 -msgid "" -"from turtle import Turtle\n" -"from random import random\n" -"\n" -"t = Turtle()\n" -"for i in range(100):\n" -" steps = int(random() * 100)\n" -" angle = int(random() * 360)\n" -" t.right(angle)\n" -" t.fd(steps)\n" -"\n" -"t.screen.mainloop()" -msgstr "" -"from turtle import Turtle\n" -"from random import random\n" -"\n" -"t = Turtle()\n" -"for i in range(100):\n" -" steps = int(random() * 100)\n" -" angle = int(random() * 360)\n" -" t.right(angle)\n" -" t.fd(steps)\n" -"\n" -"t.screen.mainloop()" - -#: ../../library/turtle.rst:294 -msgid "" -"Note the last line. ``t.screen`` is an instance of the :class:`Screen` that " -"a Turtle instance exists on; it's created automatically along with the " -"turtle." -msgstr "" -"Beachte die letzte Zeile. ``t.screen`` ist eine Instanz der :class:`Screen`, " -"auf der eine Turtle-Instanz existiert; sie wird automatisch zusammen mit der " -"Turtle erstellt." - -#: ../../library/turtle.rst:298 -msgid "The turtle's screen can be customised, for example::" -msgstr "Der Turtle-Scree kann angepasst werden, zum Beispiel::" - -#: ../../library/turtle.rst:300 -msgid "" -"t.screen.title('Object-oriented turtle demo')\n" -"t.screen.bgcolor(\"orange\")" -msgstr "" -"t.screen.title('Object-oriented turtle demo')\n" -"t.screen.bgcolor(\"orange\")" - -#: ../../library/turtle.rst:308 -msgid "Reference" -msgstr "Referenz" - -#: ../../library/turtle.rst:312 -msgid "" -"In the following documentation the argument list for functions is given. " -"Methods, of course, have the additional first argument *self* which is " -"omitted here." -msgstr "" -"In der folgenden Dokumentation wird die Argumentliste für Funktionen " -"angegeben. Methoden haben natürlich das zusätzliche erste Argument *self*, " -"das hier weggelassen wird." - -#: ../../library/turtle.rst:318 -msgid "Turtle methods" -msgstr "Turtle-Methoden" - -#: ../../library/turtle.rst:320 ../../library/turtle.rst:463 -msgid "Turtle motion" -msgstr "Turtle-Bewegung" - -#: ../../library/turtle.rst:321 -msgid "Move and draw" -msgstr "Bewegen und zeichnen" - -#: ../../library/turtle.rst:322 -msgid ":func:`forward` | :func:`fd`" -msgstr ":func:`forward` | :func:`fd`" - -#: ../../library/turtle.rst:323 -msgid ":func:`backward` | :func:`bk` | :func:`back`" -msgstr ":func:`backward` | :func:`bk` | :func:`back`" - -#: ../../library/turtle.rst:324 -msgid ":func:`right` | :func:`rt`" -msgstr ":func:`right` | :func:`rt`" - -#: ../../library/turtle.rst:325 -msgid ":func:`left` | :func:`lt`" -msgstr ":func:`left` | :func:`lt`" - -#: ../../library/turtle.rst:326 -msgid ":func:`goto` | :func:`setpos` | :func:`setposition`" -msgstr ":func:`goto` | :func:`setpos` | :func:`setposition`" - -#: ../../library/turtle.rst:327 -msgid ":func:`teleport`" -msgstr ":func:`teleport`" - -#: ../../library/turtle.rst:328 -msgid ":func:`setx`" -msgstr ":func:`setx`" - -#: ../../library/turtle.rst:329 -msgid ":func:`sety`" -msgstr ":func:`sety`" - -#: ../../library/turtle.rst:330 -msgid ":func:`setheading` | :func:`seth`" -msgstr ":func:`setheading` | :func:`seth`" - -#: ../../library/turtle.rst:331 -msgid ":func:`home`" -msgstr ":func:`home`" - -#: ../../library/turtle.rst:332 ../../library/turtle.rst:2880 -msgid ":func:`circle`" -msgstr ":func:`circle`" - -#: ../../library/turtle.rst:333 -msgid ":func:`dot`" -msgstr ":func:`dot`" - -#: ../../library/turtle.rst:334 ../../library/turtle.rst:2858 -msgid ":func:`stamp`" -msgstr ":func:`stamp`" - -#: ../../library/turtle.rst:335 -msgid ":func:`clearstamp`" -msgstr ":func:`clearstamp`" - -#: ../../library/turtle.rst:336 -msgid ":func:`clearstamps`" -msgstr ":func:`clearstamps`" - -#: ../../library/turtle.rst:337 -msgid ":func:`undo`" -msgstr ":func:`undo`" - -#: ../../library/turtle.rst:338 -msgid ":func:`speed`" -msgstr ":func:`speed`" - -#: ../../library/turtle.rst:340 ../../library/turtle.rst:901 -msgid "Tell Turtle's state" -msgstr "Zustand der Turtle abfragen" - -#: ../../library/turtle.rst:341 -msgid ":func:`position` | :func:`pos`" -msgstr ":func:`position` | :func:`pos`" - -#: ../../library/turtle.rst:342 -msgid ":func:`towards`" -msgstr ":func:`towards`" - -#: ../../library/turtle.rst:343 -msgid ":func:`xcor`" -msgstr ":func:`xcor`" - -#: ../../library/turtle.rst:344 -msgid ":func:`ycor`" -msgstr ":func:`ycor`" - -#: ../../library/turtle.rst:345 -msgid ":func:`heading`" -msgstr ":func:`heading`" - -#: ../../library/turtle.rst:346 -msgid ":func:`distance`" -msgstr ":func:`distance`" - -#: ../../library/turtle.rst:348 -msgid "Setting and measurement" -msgstr "Einstellung und Maß" - -#: ../../library/turtle.rst:349 -msgid ":func:`degrees`" -msgstr ":func:`degrees`" - -#: ../../library/turtle.rst:350 -msgid ":func:`radians`" -msgstr ":func:`radians`" - -#: ../../library/turtle.rst:353 ../../library/turtle.rst:1055 -msgid "Drawing state" -msgstr "Zeichenzustand" - -#: ../../library/turtle.rst:354 -msgid ":func:`pendown` | :func:`pd` | :func:`down`" -msgstr ":func:`pendown` | :func:`pd` | :func:`down`" - -#: ../../library/turtle.rst:355 -msgid ":func:`penup` | :func:`pu` | :func:`up`" -msgstr ":func:`penup` | :func:`pu` | :func:`up`" - -#: ../../library/turtle.rst:356 -msgid ":func:`pensize` | :func:`width`" -msgstr ":func:`pensize` | :func:`width`" - -#: ../../library/turtle.rst:357 -msgid ":func:`pen`" -msgstr ":func:`pen`" - -#: ../../library/turtle.rst:358 -msgid ":func:`isdown`" -msgstr ":func:`isdown`" - -#: ../../library/turtle.rst:360 ../../library/turtle.rst:1147 -msgid "Color control" -msgstr "Farbkontrolle" - -#: ../../library/turtle.rst:361 -msgid ":func:`color`" -msgstr ":func:`color`" - -#: ../../library/turtle.rst:362 -msgid ":func:`pencolor`" -msgstr ":func:`pencolor`" - -#: ../../library/turtle.rst:363 -msgid ":func:`fillcolor`" -msgstr ":func:`fillcolor`" - -#: ../../library/turtle.rst:365 ../../library/turtle.rst:1286 -msgid "Filling" -msgstr "Füllen" - -#: ../../library/turtle.rst:366 -msgid ":func:`filling`" -msgstr ":func:`filling`" - -#: ../../library/turtle.rst:367 -msgid ":func:`fill`" -msgstr ":func:`fill`" - -#: ../../library/turtle.rst:368 -msgid ":func:`begin_fill`" -msgstr ":func:`begin_fill`" - -#: ../../library/turtle.rst:369 -msgid ":func:`end_fill`" -msgstr ":func:`end_fill`" - -#: ../../library/turtle.rst:371 ../../library/turtle.rst:1356 -msgid "More drawing control" -msgstr "Mehr Zeichenkontrolle" - -#: ../../library/turtle.rst:372 -msgid ":func:`reset`" -msgstr ":func:`reset`" - -#: ../../library/turtle.rst:373 -msgid ":func:`clear`" -msgstr ":func:`clear`" - -#: ../../library/turtle.rst:374 -msgid ":func:`write`" -msgstr ":func:`write`" - -#: ../../library/turtle.rst:376 ../../library/turtle.rst:1405 -msgid "Turtle state" -msgstr "Turtle-Status" - -#: ../../library/turtle.rst:377 ../../library/turtle.rst:1408 -msgid "Visibility" -msgstr "Sichtbarkeit" - -#: ../../library/turtle.rst:378 -msgid ":func:`showturtle` | :func:`st`" -msgstr ":func:`showturtle` | :func:`st`" - -#: ../../library/turtle.rst:379 -msgid ":func:`hideturtle` | :func:`ht`" -msgstr ":func:`hideturtle` | :func:`ht`" - -#: ../../library/turtle.rst:380 -msgid ":func:`isvisible`" -msgstr ":func:`isvisible`" - -#: ../../library/turtle.rst:382 ../../library/turtle.rst:1450 -msgid "Appearance" -msgstr "Erscheinungsbild" - -#: ../../library/turtle.rst:383 -msgid ":func:`shape`" -msgstr ":func:`shape`" - -#: ../../library/turtle.rst:384 -msgid ":func:`resizemode`" -msgstr ":func:`resizemode`" - -#: ../../library/turtle.rst:385 -msgid ":func:`shapesize` | :func:`turtlesize`" -msgstr ":func:`shapesize` | :func:`turtlesize`" - -#: ../../library/turtle.rst:386 -msgid ":func:`shearfactor`" -msgstr ":func:`shearfactor`" - -#: ../../library/turtle.rst:387 -msgid ":func:`tiltangle`" -msgstr ":func:`tiltangle`" - -#: ../../library/turtle.rst:388 -msgid ":func:`tilt`" -msgstr ":func:`tilt`" - -#: ../../library/turtle.rst:389 -msgid ":func:`shapetransform`" -msgstr ":func:`shapetransform`" - -#: ../../library/turtle.rst:390 -msgid ":func:`get_shapepoly`" -msgstr ":func:`get_shapepoly`" - -#: ../../library/turtle.rst:392 ../../library/turtle.rst:1633 -msgid "Using events" -msgstr "Ereignisse verwenden" - -#: ../../library/turtle.rst:393 ../../library/turtle.rst:2852 -msgid ":func:`onclick`" -msgstr ":func:`onclick`" - -#: ../../library/turtle.rst:394 -msgid ":func:`onrelease`" -msgstr ":func:`onrelease`" - -#: ../../library/turtle.rst:395 ../../library/turtle.rst:2835 -msgid ":func:`ondrag`" -msgstr ":func:`ondrag`" - -#: ../../library/turtle.rst:397 ../../library/turtle.rst:1707 -msgid "Special Turtle methods" -msgstr "Spezielle Turtle-Methoden" - -#: ../../library/turtle.rst:398 -msgid ":func:`poly`" -msgstr ":func:`poly`" - -#: ../../library/turtle.rst:399 -msgid ":func:`begin_poly`" -msgstr ":func:`begin_poly`" - -#: ../../library/turtle.rst:400 -msgid ":func:`end_poly`" -msgstr ":func:`end_poly`" - -#: ../../library/turtle.rst:401 -msgid ":func:`get_poly`" -msgstr ":func:`get_poly`" - -#: ../../library/turtle.rst:402 ../../library/turtle.rst:2874 -msgid ":func:`clone`" -msgstr ":func:`clone`" - -#: ../../library/turtle.rst:403 -msgid ":func:`getturtle` | :func:`getpen`" -msgstr ":func:`getturtle` | :func:`getpen`" - -#: ../../library/turtle.rst:404 -msgid ":func:`getscreen`" -msgstr ":func:`getscreen`" - -#: ../../library/turtle.rst:405 -msgid ":func:`setundobuffer`" -msgstr ":func:`setundobuffer`" - -#: ../../library/turtle.rst:406 -msgid ":func:`undobufferentries`" -msgstr ":func:`undobufferentries`" - -#: ../../library/turtle.rst:410 -msgid "Methods of TurtleScreen/Screen" -msgstr "Methoden von TurtleScreen/Screen" - -#: ../../library/turtle.rst:412 ../../library/turtle.rst:1878 -msgid "Window control" -msgstr "Fenstersteuerung" - -#: ../../library/turtle.rst:413 -msgid ":func:`bgcolor`" -msgstr ":func:`bgcolor`" - -#: ../../library/turtle.rst:414 -msgid ":func:`bgpic`" -msgstr ":func:`bgpic`" - -#: ../../library/turtle.rst:415 -msgid ":func:`clearscreen`" -msgstr ":func:`clearscreen`" - -#: ../../library/turtle.rst:416 -msgid ":func:`resetscreen`" -msgstr ":func:`resetscreen`" - -#: ../../library/turtle.rst:417 -msgid ":func:`screensize`" -msgstr ":func:`screensize`" - -#: ../../library/turtle.rst:418 -msgid ":func:`setworldcoordinates`" -msgstr ":func:`setworldcoordinates`" - -#: ../../library/turtle.rst:420 ../../library/turtle.rst:2024 -msgid "Animation control" -msgstr "Animationskontrolle" - -#: ../../library/turtle.rst:421 -msgid ":func:`no_animation`" -msgstr ":func:`no_animation`" - -#: ../../library/turtle.rst:422 -msgid ":func:`delay`" -msgstr ":func:`delay`" - -#: ../../library/turtle.rst:423 -msgid ":func:`tracer`" -msgstr ":func:`tracer`" - -#: ../../library/turtle.rst:424 -msgid ":func:`update`" -msgstr ":func:`update`" - -#: ../../library/turtle.rst:426 ../../library/turtle.rst:2094 -msgid "Using screen events" -msgstr "Screen-Events verwenden" - -#: ../../library/turtle.rst:427 -msgid ":func:`listen`" -msgstr ":func:`listen`" - -#: ../../library/turtle.rst:428 -msgid ":func:`onkey` | :func:`onkeyrelease`" -msgstr ":func:`onkey` | :func:`onkeyrelease`" - -#: ../../library/turtle.rst:429 -msgid ":func:`onkeypress`" -msgstr ":func:`onkeypress`" - -#: ../../library/turtle.rst:430 -msgid ":func:`onclick` | :func:`onscreenclick`" -msgstr ":func:`onclick` | :func:`onscreenclick`" - -#: ../../library/turtle.rst:431 -msgid ":func:`ontimer`" -msgstr ":func:`ontimer`" - -#: ../../library/turtle.rst:432 -msgid ":func:`mainloop` | :func:`done`" -msgstr ":func:`mainloop` | :func:`done`" - -#: ../../library/turtle.rst:434 ../../library/turtle.rst:2239 -msgid "Settings and special methods" -msgstr "Einstellungen und spezielle Methoden" - -#: ../../library/turtle.rst:435 -msgid ":func:`mode`" -msgstr ":func:`mode`" - -#: ../../library/turtle.rst:436 -msgid ":func:`colormode`" -msgstr ":func:`colormode`" - -#: ../../library/turtle.rst:437 -msgid ":func:`getcanvas`" -msgstr ":func:`getcanvas`" - -#: ../../library/turtle.rst:438 -msgid ":func:`getshapes`" -msgstr ":func:`getshapes`" - -#: ../../library/turtle.rst:439 -msgid ":func:`register_shape` | :func:`addshape`" -msgstr ":func:`register_shape` | :func:`addshape`" - -#: ../../library/turtle.rst:440 -msgid ":func:`turtles`" -msgstr ":func:`turtles`" - -#: ../../library/turtle.rst:441 -msgid ":func:`window_height`" -msgstr ":func:`window_height`" - -#: ../../library/turtle.rst:442 -msgid ":func:`window_width`" -msgstr ":func:`window_width`" - -#: ../../library/turtle.rst:444 ../../library/turtle.rst:2203 -msgid "Input methods" -msgstr "Eingabemethoden" - -#: ../../library/turtle.rst:445 -msgid ":func:`textinput`" -msgstr ":func:`textinput`" - -#: ../../library/turtle.rst:446 -msgid ":func:`numinput`" -msgstr ":func:`numinput`" - -#: ../../library/turtle.rst:448 -msgid "Methods specific to Screen" -msgstr "Spezifische Methoden zum Screen" - -#: ../../library/turtle.rst:449 -msgid ":func:`bye`" -msgstr ":func:`bye`" - -#: ../../library/turtle.rst:450 -msgid ":func:`exitonclick`" -msgstr ":func:`exitonclick`" - -#: ../../library/turtle.rst:451 -msgid ":func:`save`" -msgstr ":func:`save`" - -#: ../../library/turtle.rst:452 -msgid ":func:`setup`" -msgstr ":func:`setup`" - -#: ../../library/turtle.rst:453 -msgid ":func:`title`" -msgstr ":func:`title`" - -#: ../../library/turtle.rst:457 -msgid "Methods of RawTurtle/Turtle and corresponding functions" -msgstr "Methoden von RawTurtle/Turtle und entsprechende Funktionen" - -#: ../../library/turtle.rst:459 -msgid "" -"Most of the examples in this section refer to a Turtle instance called " -"``turtle``." -msgstr "Turtle-Instanz namens ``turtle``." - -#: ../../library/turtle.rst:0 -msgid "Parameters" -msgstr "Parameter" - -#: ../../library/turtle.rst:468 ../../library/turtle.rst:514 -#: ../../library/turtle.rst:539 ../../library/turtle.rst:637 -#: ../../library/turtle.rst:660 ../../library/turtle.rst:683 -msgid "a number (integer or float)" -msgstr "eine Zahl (Ganzzahl oder Gleitkommazahl)" - -#: ../../library/turtle.rst:470 -msgid "" -"Move the turtle forward by the specified *distance*, in the direction the " -"turtle is headed." -msgstr "" -"Bewege die Turtle um die angegebene *distance* vorwärts, in die Richtung, in " -"die die Turtle blickt." - -#: ../../library/turtle.rst:473 -msgid "" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.forward(25)\n" -">>> turtle.position()\n" -"(25.00,0.00)\n" -">>> turtle.forward(-75)\n" -">>> turtle.position()\n" -"(-50.00,0.00)" -msgstr "" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.forward(25)\n" -">>> turtle.position()\n" -"(25.00,0.00)\n" -">>> turtle.forward(-75)\n" -">>> turtle.position()\n" -"(-50.00,0.00)" - -#: ../../library/turtle.rst:490 ../../library/turtle.rst:733 -#: ../../library/turtle.rst:1005 ../../library/turtle.rst:1549 -msgid "a number" -msgstr "eine Zahl" - -#: ../../library/turtle.rst:492 -msgid "" -"Move the turtle backward by *distance*, opposite to the direction the turtle " -"is headed. Do not change the turtle's heading." -msgstr "" -"Bewege die Turtle um *distance* rückwärts, entgegen der Richtung, in die die " -"Turtle blickt. Die Ausrichtung der Turtle wird dabei nicht verändert." - -#: ../../library/turtle.rst:501 -msgid "" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.backward(30)\n" -">>> turtle.position()\n" -"(-30.00,0.00)" -msgstr "" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.backward(30)\n" -">>> turtle.position()\n" -"(-30.00,0.00)" - -#: ../../library/turtle.rst:516 -msgid "" -"Turn turtle right by *angle* units. (Units are by default degrees, but can " -"be set via the :func:`degrees` and :func:`radians` functions.) Angle " -"orientation depends on the turtle mode, see :func:`mode`." -msgstr "" -"Drehe die Turtle um *angle* Einheiten nach rechts. (Die Einheit ist " -"standardmäßig Grad, kann aber über die Funktionen :func:`degrees` und :func:" -"`radians` festgelegt werden.) Die Winkelausrichtung hängt vom Turtle-Modus " -"ab, siehe :func:`mode`." - -#: ../../library/turtle.rst:526 -msgid "" -">>> turtle.heading()\n" -"22.0\n" -">>> turtle.right(45)\n" -">>> turtle.heading()\n" -"337.0" -msgstr "" -">>> turtle.heading()\n" -"22.0\n" -">>> turtle.right(45)\n" -">>> turtle.heading()\n" -"337.0" - -#: ../../library/turtle.rst:541 -msgid "" -"Turn turtle left by *angle* units. (Units are by default degrees, but can " -"be set via the :func:`degrees` and :func:`radians` functions.) Angle " -"orientation depends on the turtle mode, see :func:`mode`." -msgstr "" -"Drehe die Turtle um *angle* Einheiten nach links. (Die Einheit ist " -"standardmäßig Grad, kann aber über die Funktionen :func:`degrees` und :func:" -"`radians` festgelegt werden.) Die Winkelausrichtung hängt vom Turtle-Modus " -"ab, siehe :func:`mode`." - -#: ../../library/turtle.rst:551 -msgid "" -">>> turtle.heading()\n" -"22.0\n" -">>> turtle.left(45)\n" -">>> turtle.heading()\n" -"67.0" -msgstr "" -">>> turtle.heading()\n" -"22.0\n" -">>> turtle.left(45)\n" -">>> turtle.heading()\n" -"67.0" - -#: ../../library/turtle.rst:565 -msgid "a number or a pair/vector of numbers" -msgstr "eine Zahl oder ein Paar/Vektor von Zahlen" - -#: ../../library/turtle.rst:566 ../../library/turtle.rst:599 -#: ../../library/turtle.rst:600 -msgid "a number or ``None``" -msgstr "eine Zahl oder ``None``" - -#: ../../library/turtle.rst:568 -msgid "" -"If *y* is ``None``, *x* must be a pair of coordinates or a :class:`Vec2D` (e." -"g. as returned by :func:`pos`)." -msgstr "" -"Wenn *y* ``None`` ist, muss *x* ein Koordinatenpaar oder ein :class:`Vec2D` " -"sein (z. B. wie von :func:`pos` zurückgegeben)." - -#: ../../library/turtle.rst:571 -msgid "" -"Move turtle to an absolute position. If the pen is down, draw line. Do not " -"change the turtle's orientation." -msgstr "" -"Bewege die Turtle zu einer absoluten Position. Wenn der Stift unten ist, " -"zeichne eine Linie. Die Ausrichtung der Turtle wird dabei nicht verändert." - -#: ../../library/turtle.rst:580 +#: ../../library/turtle.rst:335 +#, fuzzy msgid "" ">>> tp = turtle.pos()\n" ">>> tp\n" "(0.00,0.00)\n" -">>> turtle.setpos(60,30)\n" +">>> turtle.goto(60,30)\n" ">>> turtle.pos()\n" "(60.00,30.00)\n" -">>> turtle.setpos((20,80))\n" +">>> turtle.goto((20,80))\n" ">>> turtle.pos()\n" "(20.00,80.00)\n" -">>> turtle.setpos(tp)\n" +">>> turtle.goto(tp)\n" ">>> turtle.pos()\n" "(0.00,0.00)" msgstr "" @@ -1260,11 +586,11 @@ msgstr "" ">>> turtle.pos()\n" "(0.00,0.00)" -#: ../../library/turtle.rst:601 +#: ../../library/turtle.rst:356 msgid "a boolean" msgstr "Ein Boolean" -#: ../../library/turtle.rst:603 +#: ../../library/turtle.rst:358 msgid "" "Move turtle to an absolute position. Unlike goto(x, y), a line will not be " "drawn. The turtle's orientation does not change. If currently filling, the " @@ -1281,7 +607,7 @@ msgstr "" "wodurch die gedachte Linie, die während des Teleportierens zurückgelegt " "wird, wie bei goto(x, y) als Füllbarriere wirkt." -#: ../../library/turtle.rst:616 +#: ../../library/turtle.rst:371 msgid "" ">>> tp = turtle.pos()\n" ">>> tp\n" @@ -1309,14 +635,14 @@ msgstr "" ">>> turtle.pos()\n" "(20.00,30.00)" -#: ../../library/turtle.rst:639 -msgid "" -"Set the turtle's first coordinate to *x*, leave second coordinate unchanged." +#: ../../library/turtle.rst:394 +#, fuzzy +msgid "Set the turtle's x coordinate to *x*. The y coordinate is unchanged." msgstr "" "Setze die erste Koordinate der Turtle auf *x*, die zweite Koordinate bleibt " "unverändert." -#: ../../library/turtle.rst:648 +#: ../../library/turtle.rst:402 msgid "" ">>> turtle.position()\n" "(0.00,240.00)\n" @@ -1330,14 +656,14 @@ msgstr "" ">>> turtle.position()\n" "(10.00,240.00)" -#: ../../library/turtle.rst:662 -msgid "" -"Set the turtle's second coordinate to *y*, leave first coordinate unchanged." +#: ../../library/turtle.rst:416 +#, fuzzy +msgid "Set the turtle's y coordinate to *y*. The x coordinate is unchanged." msgstr "" "Setze die zweite Koordinate der Turtle auf *y*, die erste Koordinate bleibt " "unverändert." -#: ../../library/turtle.rst:670 +#: ../../library/turtle.rst:424 msgid "" ">>> turtle.position()\n" "(0.00,40.00)\n" @@ -1351,55 +677,56 @@ msgstr "" ">>> turtle.position()\n" "(0.00,-10.00)" -#: ../../library/turtle.rst:685 +#: ../../library/turtle.rst:439 +#, fuzzy msgid "" -"Set the orientation of the turtle to *to_angle*. Here are some common " -"directions in degrees:" +"Set the turtle's heading to *to_angle*. Here are some common directions in " +"degrees:" msgstr "" "Setze die Ausrichtung der Turtle auf *to_angle*. Hier sind einige gängige " "Richtungen in Grad:" -#: ../../library/turtle.rst:689 +#: ../../library/turtle.rst:443 msgid "standard mode" msgstr "Standardmodus" -#: ../../library/turtle.rst:689 +#: ../../library/turtle.rst:443 msgid "logo mode" msgstr "Logo-Modus" -#: ../../library/turtle.rst:691 +#: ../../library/turtle.rst:445 msgid "0 - east" msgstr "0 - Ost" -#: ../../library/turtle.rst:691 +#: ../../library/turtle.rst:445 msgid "0 - north" msgstr "0 - Nord" -#: ../../library/turtle.rst:692 +#: ../../library/turtle.rst:446 msgid "90 - north" msgstr "90 - Nord" -#: ../../library/turtle.rst:692 +#: ../../library/turtle.rst:446 msgid "90 - east" msgstr "90 - Ost" -#: ../../library/turtle.rst:693 +#: ../../library/turtle.rst:447 msgid "180 - west" msgstr "180 - West" -#: ../../library/turtle.rst:693 +#: ../../library/turtle.rst:447 msgid "180 - south" msgstr "180 - Süd" -#: ../../library/turtle.rst:694 +#: ../../library/turtle.rst:448 msgid "270 - south" msgstr "270 - Süd" -#: ../../library/turtle.rst:694 +#: ../../library/turtle.rst:448 msgid "270 - west" msgstr "270 - West" -#: ../../library/turtle.rst:697 +#: ../../library/turtle.rst:451 msgid "" ">>> turtle.setheading(90)\n" ">>> turtle.heading()\n" @@ -1409,16 +736,18 @@ msgstr "" ">>> turtle.heading()\n" "90.0" -#: ../../library/turtle.rst:707 +#: ../../library/turtle.rst:461 +#, fuzzy msgid "" -"Move turtle to the origin -- coordinates (0,0) -- and set its heading to its " -"start-orientation (which depends on the mode, see :func:`mode`)." +"Move the turtle to the origin, coordinates (0,0). The turtle's heading is " +"set to its start orientation, which depends on the turtle mode, see :func:" +"`mode`." msgstr "" "Bewege die Turtle zum Ursprung – Koordinaten (0,0) – und setze ihre " "Ausrichtung auf die Startausrichtung (die vom Modus abhängt, siehe :func:" "`mode`)." -#: ../../library/turtle.rst:717 +#: ../../library/turtle.rst:472 msgid "" ">>> turtle.heading()\n" "90.0\n" @@ -1440,23 +769,19 @@ msgstr "" ">>> turtle.heading()\n" "0.0" -#: ../../library/turtle.rst:734 -msgid "a number (or ``None``)" -msgstr "eine Zahl (oder ``None``)" - -#: ../../library/turtle.rst:735 ../../library/turtle.rst:832 -msgid "an integer (or ``None``)" -msgstr "eine Ganzzahl (oder ``None``)" +#: ../../library/turtle.rst:490 ../../library/turtle.rst:1549 +msgid "an integer or ``None``" +msgstr "eine Ganzzahl oder ``None``" -#: ../../library/turtle.rst:737 +#: ../../library/turtle.rst:492 +#, fuzzy msgid "" -"Draw a circle with given *radius*. The center is *radius* units left of the " -"turtle; *extent* -- an angle -- determines which part of the circle is " -"drawn. If *extent* is not given, draw the entire circle. If *extent* is " -"not a full circle, one endpoint of the arc is the current pen position. " -"Draw the arc in counterclockwise direction if *radius* is positive, " -"otherwise in clockwise direction. Finally the direction of the turtle is " -"changed by the amount of *extent*." +"Draw a circle with the given *radius*. The center is *radius* units left of " +"the turtle; *extent*, an angle, determines which part of the circle is " +"drawn. If *extent* is not given, draw the entire circle. If *extent* is not " +"a full circle, one endpoint of the arc is the current pen position. Draw the " +"arc in counterclockwise direction if *radius* is positive, otherwise in " +"clockwise direction. Finally, the turtle's heading is changed by *extent*." msgstr "" "Zeichne einen Kreis mit dem angegebenen *radius*. Der Mittelpunkt liegt " "*radius* Einheiten links von der Turtle, *extent* – ein Winkel – bestimmt, " @@ -1467,18 +792,19 @@ msgstr "" "Abschließend wird die Richtung der Turtle um den Betrag von *extent* " "geändert." -#: ../../library/turtle.rst:745 +#: ../../library/turtle.rst:500 +#, fuzzy msgid "" "As the circle is approximated by an inscribed regular polygon, *steps* " -"determines the number of steps to use. If not given, it will be calculated " -"automatically. May be used to draw regular polygons." +"determines the number of steps to use. If not given, it will be calculated " +"automatically. May be used to draw regular polygons." msgstr "" "Da der Kreis durch ein einbeschriebenes regelmäßiges Vieleck angenähert " "wird, bestimmt *steps* die Anzahl der zu verwendenden Schritte. Wird es " "nicht angegeben, wird es automatisch berechnet. Kann verwendet werden, um " "regelmäßige Vielecke zu zeichnen." -#: ../../library/turtle.rst:749 +#: ../../library/turtle.rst:504 msgid "" ">>> turtle.home()\n" ">>> turtle.position()\n" @@ -1512,15 +838,15 @@ msgstr "" ">>> turtle.heading()\n" "180.0" -#: ../../library/turtle.rst:775 +#: ../../library/turtle.rst:530 msgid "an integer >= 1 (if given)" msgstr "eine Ganzzahl >= 1 (falls angegeben)" -#: ../../library/turtle.rst:776 +#: ../../library/turtle.rst:531 msgid "a colorstring or a numeric color tuple" msgstr "ein Farbstring oder ein numerisches Farb-Tupel" -#: ../../library/turtle.rst:778 +#: ../../library/turtle.rst:533 msgid "" "Draw a circular dot with diameter *size*, using *color*. If *size* is not " "given, the maximum of ``pensize+4`` and ``2*pensize`` is used." @@ -1529,7 +855,7 @@ msgstr "" "*color*. Wird *size* nicht angegeben, wird das Maximum aus ``pensize+4`` und " "``2*pensize`` verwendet." -#: ../../library/turtle.rst:782 +#: ../../library/turtle.rst:537 msgid "" ">>> turtle.home()\n" ">>> turtle.dot()\n" @@ -1547,7 +873,7 @@ msgstr "" ">>> turtle.heading()\n" "0.0" -#: ../../library/turtle.rst:796 +#: ../../library/turtle.rst:551 msgid "" "Stamp a copy of the turtle shape onto the canvas at the current turtle " "position. Return a stamp_id for that stamp, which can be used to delete it " @@ -1557,7 +883,7 @@ msgstr "" "die Zeichenfläche. Gibt eine stamp_id für diesen Stempel zurück, mit der er " "durch Aufruf von ``clearstamp(stamp_id)`` wieder gelöscht werden kann." -#: ../../library/turtle.rst:800 +#: ../../library/turtle.rst:555 msgid "" ">>> turtle.color(\"blue\")\n" ">>> stamp_id = turtle.stamp()\n" @@ -1567,17 +893,17 @@ msgstr "" ">>> stamp_id = turtle.stamp()\n" ">>> turtle.fd(50)" -#: ../../library/turtle.rst:810 +#: ../../library/turtle.rst:565 msgid "an integer, must be return value of previous :func:`stamp` call" msgstr "" "eine Ganzzahl, muss der Rückgabewert eines vorherigen Aufrufs von :func:" "`stamp` sein" -#: ../../library/turtle.rst:813 +#: ../../library/turtle.rst:568 msgid "Delete stamp with given *stampid*." msgstr "Lösche den Stempel mit der angegebenen *stampid*." -#: ../../library/turtle.rst:815 +#: ../../library/turtle.rst:570 msgid "" ">>> turtle.position()\n" "(150.00,-0.00)\n" @@ -1601,7 +927,11 @@ msgstr "" ">>> turtle.position()\n" "(200.00,-0.00)" -#: ../../library/turtle.rst:834 +#: ../../library/turtle.rst:587 +msgid "an integer (or ``None``)" +msgstr "eine Ganzzahl (oder ``None``)" + +#: ../../library/turtle.rst:589 msgid "" "Delete all or first/last *n* of turtle's stamps. If *n* is ``None``, delete " "all stamps, if *n* > 0 delete first *n* stamps, else if *n* < 0 delete last " @@ -1612,7 +942,7 @@ msgstr "" "ersten *n* Stempel gelöscht, andernfalls, wenn *n* < 0 ist, werden die " "letzten *n* Stempel gelöscht." -#: ../../library/turtle.rst:838 +#: ../../library/turtle.rst:593 msgid "" ">>> for i in range(8):\n" "... unused_stamp_id = turtle.stamp()\n" @@ -1628,7 +958,7 @@ msgstr "" ">>> turtle.clearstamps(-2)\n" ">>> turtle.clearstamps()" -#: ../../library/turtle.rst:851 +#: ../../library/turtle.rst:606 msgid "" "Undo (repeatedly) the last turtle action(s). Number of available undo " "actions is determined by the size of the undobuffer." @@ -1637,7 +967,7 @@ msgstr "" "der verfügbaren Rückgängig-Aktionen wird durch die Größe des Undo-Puffers " "bestimmt." -#: ../../library/turtle.rst:854 +#: ../../library/turtle.rst:609 msgid "" ">>> for i in range(4):\n" "... turtle.fd(50); turtle.lt(80)\n" @@ -1651,11 +981,11 @@ msgstr "" ">>> for i in range(8):\n" "... turtle.undo()" -#: ../../library/turtle.rst:866 +#: ../../library/turtle.rst:621 msgid "an integer in the range 0..10 or a speedstring (see below)" msgstr "eine Ganzzahl im Bereich 0..10 oder ein speedstring (siehe unten)" -#: ../../library/turtle.rst:868 +#: ../../library/turtle.rst:623 msgid "" "Set the turtle's speed to an integer value in the range 0..10. If no " "argument is given, return current speed." @@ -1664,7 +994,7 @@ msgstr "" "0..10. Wird kein Argument angegeben, wird die aktuelle Geschwindigkeit " "zurückgegeben." -#: ../../library/turtle.rst:871 +#: ../../library/turtle.rst:626 msgid "" "If input is a number greater than 10 or smaller than 0.5, speed is set to " "0. Speedstrings are mapped to speedvalues as follows:" @@ -1673,27 +1003,27 @@ msgstr "" "Geschwindigkeit auf 0 gesetzt. Speedstrings werden wie folgt auf Speedvalues " "abgebildet:" -#: ../../library/turtle.rst:874 +#: ../../library/turtle.rst:629 msgid "\"fastest\": 0" msgstr "\"fastest\": 0" -#: ../../library/turtle.rst:875 +#: ../../library/turtle.rst:630 msgid "\"fast\": 10" msgstr "\"fast\": 10" -#: ../../library/turtle.rst:876 +#: ../../library/turtle.rst:631 msgid "\"normal\": 6" msgstr "\"normal\": 6" -#: ../../library/turtle.rst:877 +#: ../../library/turtle.rst:632 msgid "\"slow\": 3" msgstr "\"slow\": 3" -#: ../../library/turtle.rst:878 +#: ../../library/turtle.rst:633 msgid "\"slowest\": 1" msgstr "\"slowest\": 1" -#: ../../library/turtle.rst:880 +#: ../../library/turtle.rst:635 msgid "" "Speeds from 1 to 10 enforce increasingly faster animation of line drawing " "and turtle turning." @@ -1701,7 +1031,7 @@ msgstr "" "Geschwindigkeiten von 1 bis 10 erzwingen eine zunehmend schnellere Animation " "beim Linienzeichnen und Drehen der Turtle." -#: ../../library/turtle.rst:883 +#: ../../library/turtle.rst:638 msgid "" "Attention: *speed* = 0 means that *no* animation takes place. forward/back " "makes turtle jump and likewise left/right make the turtle turn instantly." @@ -1710,7 +1040,7 @@ msgstr "" "back lässt die Turtle springen, und ebenso lassen left/right die Turtle " "sofort drehen." -#: ../../library/turtle.rst:887 +#: ../../library/turtle.rst:642 msgid "" ">>> turtle.speed()\n" "3\n" @@ -1730,14 +1060,18 @@ msgstr "" ">>> turtle.speed()\n" "9" -#: ../../library/turtle.rst:906 -msgid "" -"Return the turtle's current location (x,y) (as a :class:`Vec2D` vector)." +#: ../../library/turtle.rst:656 +msgid "Tell Turtle's state" +msgstr "Zustand der Turtle abfragen" + +#: ../../library/turtle.rst:661 +#, fuzzy +msgid "Return the turtle's current location (x,y) as a :class:`Vec2D` vector." msgstr "" "Gib die aktuelle Position der Turtle (x,y) (als :class:`Vec2D`-Vektor) " "zurück." -#: ../../library/turtle.rst:908 +#: ../../library/turtle.rst:663 msgid "" ">>> turtle.pos()\n" "(440.00,-0.00)" @@ -1745,27 +1079,29 @@ msgstr "" ">>> turtle.pos()\n" "(440.00,-0.00)" -#: ../../library/turtle.rst:917 ../../library/turtle.rst:980 +#: ../../library/turtle.rst:672 ../../library/turtle.rst:737 msgid "a number or a pair/vector of numbers or a turtle instance" msgstr "eine Zahl oder ein Paar/Vektor von Zahlen oder eine Turtle-Instanz" -#: ../../library/turtle.rst:918 ../../library/turtle.rst:981 +#: ../../library/turtle.rst:673 ../../library/turtle.rst:738 msgid "a number if *x* is a number, else ``None``" msgstr "eine Zahl, falls *x* eine Zahl ist, andernfalls ``None``" -#: ../../library/turtle.rst:920 +#: ../../library/turtle.rst:675 +#, fuzzy msgid "" -"Return the angle between the line from turtle position to position specified " -"by (x,y), the vector or the other turtle. This depends on the turtle's " -"start orientation which depends on the mode - \"standard\"/\"world\" or " -"\"logo\"." +"Return the angle of the line from the turtle's position to (x,y). If *y* is " +"``None``, *x* must be a pair of coordinates, a :class:`Vec2D`, for example " +"as returned by :func:`pos`, or another turtle. The angle is measured from " +"the turtle's start orientation, which depends on the turtle mode, see :func:" +"`mode`." msgstr "" "Gib den Winkel zwischen der Linie von der Position der Turtle zu der durch " "(x,y), den Vektor oder die andere Turtle angegebenen Position zurück. Dies " "hängt von der Startausrichtung der Turtle ab, die wiederum vom Modus abhängt " "– \"standard\"/\"world\" oder \"logo\"." -#: ../../library/turtle.rst:924 +#: ../../library/turtle.rst:681 msgid "" ">>> turtle.goto(10, 10)\n" ">>> turtle.towards(0,0)\n" @@ -1775,11 +1111,11 @@ msgstr "" ">>> turtle.towards(0,0)\n" "225.0" -#: ../../library/turtle.rst:934 +#: ../../library/turtle.rst:691 msgid "Return the turtle's x coordinate." msgstr "Gib die x-Koordinate der Turtle zurück." -#: ../../library/turtle.rst:936 +#: ../../library/turtle.rst:693 msgid "" ">>> turtle.home()\n" ">>> turtle.left(50)\n" @@ -1797,11 +1133,11 @@ msgstr "" ">>> print(round(turtle.xcor(), 5))\n" "64.27876" -#: ../../library/turtle.rst:950 +#: ../../library/turtle.rst:707 msgid "Return the turtle's y coordinate." msgstr "Gib die y-Koordinate der Turtle zurück." -#: ../../library/turtle.rst:952 +#: ../../library/turtle.rst:709 msgid "" ">>> turtle.home()\n" ">>> turtle.left(60)\n" @@ -1819,15 +1155,16 @@ msgstr "" ">>> print(round(turtle.ycor(), 5))\n" "86.60254" -#: ../../library/turtle.rst:966 +#: ../../library/turtle.rst:723 +#, fuzzy msgid "" -"Return the turtle's current heading (value depends on the turtle mode, see :" -"func:`mode`)." +"Return the turtle's current heading. The value depends on the turtle mode, " +"see :func:`mode`." msgstr "" "Gibt die aktuelle Ausrichtung der Turtle zurück (der Wert hängt vom Turtle-" "Modus ab, siehe :func:`mode`)." -#: ../../library/turtle.rst:969 +#: ../../library/turtle.rst:726 msgid "" ">>> turtle.home()\n" ">>> turtle.left(67)\n" @@ -1839,15 +1176,17 @@ msgstr "" ">>> turtle.heading()\n" "67.0" -#: ../../library/turtle.rst:983 +#: ../../library/turtle.rst:740 +#, fuzzy msgid "" -"Return the distance from the turtle to (x,y), the given vector, or the given " -"other turtle, in turtle step units." +"Return the distance from the turtle to (x,y) in turtle step units. If *y* is " +"``None``, *x* must be a pair of coordinates, a :class:`Vec2D`, for example " +"as returned by :func:`pos`, or another turtle." msgstr "" -"Gib die Entfernung von der Turtle zu (x,y), dem angegebenen Vektor oder der " -"angegebenen anderen Turtle in Turtle-Schrittweiten zurück." +"Wenn *y* ``None`` ist, muss *x* ein Koordinatenpaar oder ein :class:`Vec2D` " +"sein (z. B. wie von :func:`pos` zurückgegeben)." -#: ../../library/turtle.rst:986 +#: ../../library/turtle.rst:744 msgid "" ">>> turtle.home()\n" ">>> turtle.distance(30,40)\n" @@ -1869,19 +1208,20 @@ msgstr "" ">>> turtle.distance(joe)\n" "77.0" -#: ../../library/turtle.rst:1001 +#: ../../library/turtle.rst:759 msgid "Settings for measurement" msgstr "Einstellungen für Messungen" -#: ../../library/turtle.rst:1007 +#: ../../library/turtle.rst:765 +#, fuzzy msgid "" -"Set angle measurement units, i.e. set number of \"degrees\" for a full " -"circle. Default value is 360 degrees." +"Set the angle measurement units to degrees. The number of degrees in a full " +"circle is set to *fullcircle*, which defaults to 360." msgstr "" "Setze die Winkelmesseinheiten, d. h. setze die Anzahl der \"Grad\" für einen " "vollen Kreis. Der Standardwert ist 360 Grad." -#: ../../library/turtle.rst:1010 +#: ../../library/turtle.rst:768 msgid "" ">>> turtle.home()\n" ">>> turtle.left(90)\n" @@ -1911,14 +1251,15 @@ msgstr "" ">>> turtle.heading()\n" "90.0" -#: ../../library/turtle.rst:1030 +#: ../../library/turtle.rst:788 +#, fuzzy msgid "" -"Set the angle measurement units to radians. Equivalent to ``degrees(2*math." -"pi)``." +"Set the angle measurement units to radians. Equivalent to ``degrees(2 * " +"math.pi)``." msgstr "" "Setze die Winkelmesseinheiten auf Radiant. Entspricht ``degrees(2*math.pi)``." -#: ../../library/turtle.rst:1033 +#: ../../library/turtle.rst:791 msgid "" ">>> turtle.home()\n" ">>> turtle.left(90)\n" @@ -1936,19 +1277,23 @@ msgstr "" ">>> turtle.heading()\n" "1.5707963267948966" -#: ../../library/turtle.rst:1061 +#: ../../library/turtle.rst:813 +msgid "Drawing state" +msgstr "Zeichenzustand" + +#: ../../library/turtle.rst:819 msgid "Pull the pen down -- drawing when moving." msgstr "Senke den Stift -- zeichnet beim Bewegen." -#: ../../library/turtle.rst:1068 +#: ../../library/turtle.rst:826 msgid "Pull the pen up -- no drawing when moving." msgstr "Hebe den Stift -- zeichnet nicht beim Bewegen." -#: ../../library/turtle.rst:1074 +#: ../../library/turtle.rst:832 msgid "a positive number" msgstr "eine positive Zahl" -#: ../../library/turtle.rst:1076 +#: ../../library/turtle.rst:834 msgid "" "Set the line thickness to *width* or return it. If resizemode is set to " "\"auto\" and turtleshape is a polygon, that polygon is drawn with the same " @@ -1959,7 +1304,7 @@ msgstr "" "mit derselben Liniendicke gezeichnet. Wird kein Argument angegeben, wird die " "aktuelle Stiftgröße zurückgegeben." -#: ../../library/turtle.rst:1080 +#: ../../library/turtle.rst:838 msgid "" ">>> turtle.pensize()\n" "1\n" @@ -1969,17 +1314,17 @@ msgstr "" "1\n" ">>> turtle.pensize(10) # from here on lines of width 10 are drawn" -#: ../../library/turtle.rst:1090 +#: ../../library/turtle.rst:848 msgid "a dictionary with some or all of the below listed keys" msgstr "ein Dictionary mit einigen oder allen der unten aufgeführten Schlüssel" -#: ../../library/turtle.rst:1091 +#: ../../library/turtle.rst:849 msgid "one or more keyword-arguments with the below listed keys as keywords" msgstr "" "ein oder mehrere Schlüsselwortargumente mit den unten aufgeführten " "Schlüsseln als Schlüsselwörter" -#: ../../library/turtle.rst:1093 +#: ../../library/turtle.rst:851 msgid "" "Return or set the pen's attributes in a \"pen-dictionary\" with the " "following key/value pairs:" @@ -1987,47 +1332,47 @@ msgstr "" "Gib die Attribute des Stifts in einem \"Stift-Dictionary\" zurück oder setze " "sie, mit den folgenden Schlüssel/Wert-Paaren:" -#: ../../library/turtle.rst:1096 +#: ../../library/turtle.rst:854 msgid "\"shown\": True/False" msgstr "\"shown\": True/False" -#: ../../library/turtle.rst:1097 +#: ../../library/turtle.rst:855 msgid "\"pendown\": True/False" msgstr "\"pendown\": True/False" -#: ../../library/turtle.rst:1098 +#: ../../library/turtle.rst:856 msgid "\"pencolor\": color-string or color-tuple" msgstr "\"pencolor\": Farbstring oder Farb-Tupel" -#: ../../library/turtle.rst:1099 +#: ../../library/turtle.rst:857 msgid "\"fillcolor\": color-string or color-tuple" msgstr "\"fillcolor\": Farbstring oder Farb-Tupel" -#: ../../library/turtle.rst:1100 +#: ../../library/turtle.rst:858 msgid "\"pensize\": positive number" msgstr "\"pensize\": positive Zahl" -#: ../../library/turtle.rst:1101 +#: ../../library/turtle.rst:859 msgid "\"speed\": number in range 0..10" msgstr "\"speed\": Zahl im Bereich 0..10" -#: ../../library/turtle.rst:1102 +#: ../../library/turtle.rst:860 msgid "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" msgstr "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" -#: ../../library/turtle.rst:1103 +#: ../../library/turtle.rst:861 msgid "\"stretchfactor\": (positive number, positive number)" msgstr "\"stretchfactor\": (positive Zahl, positive Zahl)" -#: ../../library/turtle.rst:1104 +#: ../../library/turtle.rst:862 msgid "\"outline\": positive number" msgstr "\"outline\": positive Zahl" -#: ../../library/turtle.rst:1105 +#: ../../library/turtle.rst:863 msgid "\"tilt\": number" msgstr "\"tilt\": Zahl" -#: ../../library/turtle.rst:1107 +#: ../../library/turtle.rst:865 msgid "" "This dictionary can be used as argument for a subsequent call to :func:`pen` " "to restore the former pen-state. Moreover one or more of these attributes " @@ -2040,7 +1385,7 @@ msgstr "" "angegeben werden. Dies kann verwendet werden, um mehrere Stiftattribute in " "einer einzigen Anweisung zu setzen." -#: ../../library/turtle.rst:1112 +#: ../../library/turtle.rst:870 msgid "" ">>> turtle.pen(fillcolor=\"black\", pencolor=\"red\", pensize=10)\n" ">>> sorted(turtle.pen().items())\n" @@ -2072,12 +1417,12 @@ msgstr "" ">>> sorted(turtle.pen().items())[:3]\n" "[('fillcolor', 'green'), ('outline', 1), ('pencolor', 'red')]" -#: ../../library/turtle.rst:1133 +#: ../../library/turtle.rst:891 msgid "Return ``True`` if pen is down, ``False`` if it's up." msgstr "" "Gib ``True`` zurück, wenn der Stift unten ist, ``False``, wenn er oben ist." -#: ../../library/turtle.rst:1135 +#: ../../library/turtle.rst:893 msgid "" ">>> turtle.penup()\n" ">>> turtle.isdown()\n" @@ -2093,34 +1438,39 @@ msgstr "" ">>> turtle.isdown()\n" "True" -#: ../../library/turtle.rst:1153 +#: ../../library/turtle.rst:905 +msgid "Color control" +msgstr "Farbkontrolle" + +#: ../../library/turtle.rst:911 msgid "Return or set the pencolor." msgstr "Gib die Stiftfarbe zurück oder setze sie." -#: ../../library/turtle.rst:1155 ../../library/turtle.rst:1206 -#: ../../library/turtle.rst:1886 +#: ../../library/turtle.rst:913 ../../library/turtle.rst:965 +#: ../../library/turtle.rst:1638 msgid "Four input formats are allowed:" msgstr "Vier Eingabeformate sind erlaubt:" -#: ../../library/turtle.rst:1157 +#: ../../library/turtle.rst:915 msgid "``pencolor()``" msgstr "``pencolor()``" -#: ../../library/turtle.rst:1158 +#: ../../library/turtle.rst:916 +#, fuzzy msgid "" "Return the current pencolor as color specification string or as a tuple (see " -"example). May be used as input to another color/pencolor/fillcolor/bgcolor " -"call." +"example). May be used as input to another :func:`color`, :func:`pencolor`, :" +"func:`fillcolor` or :func:`bgcolor` call." msgstr "" "Gib die aktuelle Stiftfarbe als Farbangabe-String oder als Tupel zurück " "(siehe Beispiel). Kann als Eingabe für einen weiteren color/pencolor/" "fillcolor/bgcolor-Aufruf verwendet werden." -#: ../../library/turtle.rst:1162 +#: ../../library/turtle.rst:921 msgid "``pencolor(colorstring)``" msgstr "``pencolor(colorstring)``" -#: ../../library/turtle.rst:1163 +#: ../../library/turtle.rst:922 msgid "" "Set pencolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." @@ -2128,11 +1478,11 @@ msgstr "" "Setze die Stiftfarbe auf *colorstring*, was ein Tk-Farbangabe-String ist, " "wie zum Beispiel ``\"red\"``, ``\"yellow\"`` oder ``\"#33cc8c\"``." -#: ../../library/turtle.rst:1166 +#: ../../library/turtle.rst:925 msgid "``pencolor((r, g, b))``" msgstr "``pencolor((r, g, b))``" -#: ../../library/turtle.rst:1167 +#: ../../library/turtle.rst:926 msgid "" "Set pencolor to the RGB color represented by the tuple of *r*, *g*, and " "*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " @@ -2143,11 +1493,11 @@ msgstr "" "colormode liegen, wobei colormode entweder 1.0 oder 255 ist (siehe :func:" "`colormode`)." -#: ../../library/turtle.rst:1171 +#: ../../library/turtle.rst:930 msgid "``pencolor(r, g, b)``" msgstr "``pencolor(r, g, b)``" -#: ../../library/turtle.rst:1172 +#: ../../library/turtle.rst:931 msgid "" "Set pencolor to the RGB color represented by *r*, *g*, and *b*. Each of " "*r*, *g*, and *b* must be in the range 0..colormode." @@ -2155,7 +1505,7 @@ msgstr "" "Setze die Stiftfarbe auf die durch *r*, *g* und *b* dargestellte RGB-Farbe. " "Jeder der Werte *r*, *g* und *b* muss im Bereich 0..colormode liegen." -#: ../../library/turtle.rst:1175 +#: ../../library/turtle.rst:934 msgid "" "If turtleshape is a polygon, the outline of that polygon is drawn with the " "newly set pencolor." @@ -2163,7 +1513,7 @@ msgstr "" "Ist die Form der Turtle ein Polygon, wird der Umriss dieses Polygons mit der " "neu gesetzten Stiftfarbe gezeichnet." -#: ../../library/turtle.rst:1178 +#: ../../library/turtle.rst:937 msgid "" ">>> colormode()\n" "1.0\n" @@ -2201,29 +1551,30 @@ msgstr "" ">>> turtle.pencolor()\n" "(50.0, 193.0, 143.0)" -#: ../../library/turtle.rst:1204 +#: ../../library/turtle.rst:963 msgid "Return or set the fillcolor." msgstr "Gib die Füllfarbe zurück oder setze sie." -#: ../../library/turtle.rst:1208 +#: ../../library/turtle.rst:967 msgid "``fillcolor()``" msgstr "``fillcolor()``" -#: ../../library/turtle.rst:1209 +#: ../../library/turtle.rst:968 +#, fuzzy msgid "" "Return the current fillcolor as color specification string, possibly in " -"tuple format (see example). May be used as input to another color/pencolor/" -"fillcolor/bgcolor call." +"tuple format (see example). May be used as input to another :func:`color`, :" +"func:`pencolor`, :func:`fillcolor` or :func:`bgcolor` call." msgstr "" "Gib die aktuelle Füllfarbe als Farbangabe-String zurück, möglicherweise im " "Tupel-Format (siehe Beispiel). Kann als Eingabe für einen weiteren color/" "pencolor/fillcolor/bgcolor-Aufruf verwendet werden." -#: ../../library/turtle.rst:1213 +#: ../../library/turtle.rst:973 msgid "``fillcolor(colorstring)``" msgstr "``fillcolor(colorstring)``" -#: ../../library/turtle.rst:1214 +#: ../../library/turtle.rst:974 msgid "" "Set fillcolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." @@ -2231,11 +1582,11 @@ msgstr "" "Setze die Füllfarbe auf *colorstring*, was ein Tk-Farbangabe-String ist, wie " "zum Beispiel ``\"red\"``, ``\"yellow\"`` oder ``\"#33cc8c\"``." -#: ../../library/turtle.rst:1217 +#: ../../library/turtle.rst:977 msgid "``fillcolor((r, g, b))``" msgstr "``fillcolor((r, g, b))``" -#: ../../library/turtle.rst:1218 +#: ../../library/turtle.rst:978 msgid "" "Set fillcolor to the RGB color represented by the tuple of *r*, *g*, and " "*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " @@ -2246,11 +1597,11 @@ msgstr "" "colormode liegen, wobei colormode entweder 1.0 oder 255 ist (siehe :func:" "`colormode`)." -#: ../../library/turtle.rst:1222 +#: ../../library/turtle.rst:982 msgid "``fillcolor(r, g, b)``" msgstr "``fillcolor(r, g, b)``" -#: ../../library/turtle.rst:1223 +#: ../../library/turtle.rst:983 msgid "" "Set fillcolor to the RGB color represented by *r*, *g*, and *b*. Each of " "*r*, *g*, and *b* must be in the range 0..colormode." @@ -2258,7 +1609,7 @@ msgstr "" "Setze die Füllfarbe auf die durch *r*, *g* und *b* dargestellte RGB-Farbe. " "Jeder der Werte *r*, *g* und *b* muss im Bereich 0..colormode liegen." -#: ../../library/turtle.rst:1226 +#: ../../library/turtle.rst:986 msgid "" "If turtleshape is a polygon, the interior of that polygon is drawn with the " "newly set fillcolor." @@ -2266,7 +1617,7 @@ msgstr "" "Ist die Form der Turtle ein Polygon, wird das Innere dieses Polygons mit der " "neu gesetzten Füllfarbe gezeichnet." -#: ../../library/turtle.rst:1229 +#: ../../library/turtle.rst:989 msgid "" ">>> turtle.fillcolor(\"violet\")\n" ">>> turtle.fillcolor()\n" @@ -2292,22 +1643,22 @@ msgstr "" ">>> turtle.fillcolor()\n" "(255.0, 255.0, 255.0)" -#: ../../library/turtle.rst:1250 +#: ../../library/turtle.rst:1010 msgid "Return or set pencolor and fillcolor." msgstr "Gib die Stiftfarbe und die Füllfarbe zurück oder setze sie." -#: ../../library/turtle.rst:1252 +#: ../../library/turtle.rst:1012 msgid "" "Several input formats are allowed. They use 0 to 3 arguments as follows:" msgstr "" "Mehrere Eingabeformate sind erlaubt. Sie verwenden dabei 0 bis 3 Argumente " "wie folgt:" -#: ../../library/turtle.rst:1255 +#: ../../library/turtle.rst:1015 msgid "``color()``" msgstr "``color()``" -#: ../../library/turtle.rst:1256 +#: ../../library/turtle.rst:1016 msgid "" "Return the current pencolor and the current fillcolor as a pair of color " "specification strings or tuples as returned by :func:`pencolor` and :func:" @@ -2317,11 +1668,11 @@ msgstr "" "Farbangabe-Strings oder Tupeln zurück, wie sie von :func:`pencolor` und :" "func:`fillcolor` zurückgegeben werden." -#: ../../library/turtle.rst:1260 +#: ../../library/turtle.rst:1020 msgid "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" msgstr "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" -#: ../../library/turtle.rst:1261 +#: ../../library/turtle.rst:1021 msgid "" "Inputs as in :func:`pencolor`, set both, fillcolor and pencolor, to the " "given value." @@ -2329,13 +1680,13 @@ msgstr "" "Eingaben wie bei :func:`pencolor`, setzt sowohl fillcolor als auch pencolor " "auf den angegebenen Wert." -#: ../../library/turtle.rst:1264 +#: ../../library/turtle.rst:1024 msgid "" "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" msgstr "" "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" -#: ../../library/turtle.rst:1265 +#: ../../library/turtle.rst:1025 msgid "" "Equivalent to ``pencolor(colorstring1)`` and ``fillcolor(colorstring2)`` and " "analogously if the other input format is used." @@ -2343,7 +1694,7 @@ msgstr "" "Entspricht ``pencolor(colorstring1)`` und ``fillcolor(colorstring2)`` und " "analog, wenn das andere Eingabeformat verwendet wird." -#: ../../library/turtle.rst:1268 +#: ../../library/turtle.rst:1028 msgid "" "If turtleshape is a polygon, outline and interior of that polygon is drawn " "with the newly set colors." @@ -2351,7 +1702,7 @@ msgstr "" "Ist die Form der Turtle ein Polygon, werden Umriss und Inneres dieses " "Polygons mit den neu gesetzten Farben gezeichnet." -#: ../../library/turtle.rst:1271 +#: ../../library/turtle.rst:1031 msgid "" ">>> turtle.color(\"red\", \"green\")\n" ">>> turtle.color()\n" @@ -2367,16 +1718,20 @@ msgstr "" ">>> color()\n" "((40.0, 80.0, 120.0), (160.0, 200.0, 240.0))" -#: ../../library/turtle.rst:1282 +#: ../../library/turtle.rst:1042 msgid "See also: Screen method :func:`colormode`." msgstr "Siehe auch: Screen-Methode :func:`colormode`." -#: ../../library/turtle.rst:1296 +#: ../../library/turtle.rst:1046 +msgid "Filling" +msgstr "Füllen" + +#: ../../library/turtle.rst:1056 msgid "Return fillstate (``True`` if filling, ``False`` else)." msgstr "" "Gib den Füllstatus zurück (``True``, wenn gefüllt wird, sonst ``False``)." -#: ../../library/turtle.rst:1298 +#: ../../library/turtle.rst:1058 msgid "" ">>> turtle.begin_fill()\n" ">>> if turtle.filling():\n" @@ -2390,11 +1745,11 @@ msgstr "" "... else:\n" "... turtle.pensize(3)" -#: ../../library/turtle.rst:1309 +#: ../../library/turtle.rst:1069 msgid "Fill the shape drawn in the ``with turtle.fill():`` block." msgstr "Fülle die Form, die im ``with turtle.fill():``-Block gezeichnet wurde." -#: ../../library/turtle.rst:1311 +#: ../../library/turtle.rst:1071 msgid "" ">>> turtle.color(\"black\", \"red\")\n" ">>> with turtle.fill():\n" @@ -2404,7 +1759,7 @@ msgstr "" ">>> with turtle.fill():\n" "... turtle.circle(80)" -#: ../../library/turtle.rst:1318 +#: ../../library/turtle.rst:1078 msgid "" "Using :func:`!fill` is equivalent to adding the :func:`begin_fill` before " "the fill-block and :func:`end_fill` after the fill-block:" @@ -2412,7 +1767,7 @@ msgstr "" "Die Verwendung von :func:`!fill` entspricht dem Hinzufügen von :func:" "`begin_fill` vor dem Füllblock und :func:`end_fill` nach dem Füllblock:" -#: ../../library/turtle.rst:1321 ../../library/turtle.rst:1346 +#: ../../library/turtle.rst:1081 ../../library/turtle.rst:1106 msgid "" ">>> turtle.color(\"black\", \"red\")\n" ">>> turtle.begin_fill()\n" @@ -2424,18 +1779,18 @@ msgstr "" ">>> turtle.circle(80)\n" ">>> turtle.end_fill()" -#: ../../library/turtle.rst:1334 +#: ../../library/turtle.rst:1094 msgid "To be called just before drawing a shape to be filled." msgstr "" "Muss unmittelbar vor dem Zeichnen einer zu füllenden Form aufgerufen werden." -#: ../../library/turtle.rst:1339 +#: ../../library/turtle.rst:1099 msgid "Fill the shape drawn after the last call to :func:`begin_fill`." msgstr "" "Fülle die Form, die seit dem letzten Aufruf von :func:`begin_fill` " "gezeichnet wurde." -#: ../../library/turtle.rst:1341 +#: ../../library/turtle.rst:1101 msgid "" "Whether or not overlap regions for self-intersecting polygons or multiple " "shapes are filled depends on the operating system graphics, type of overlap, " @@ -2448,15 +1803,20 @@ msgstr "" "gezeigte Turtle-Stern entweder komplett gelb sein oder einige weiße Bereiche " "aufweisen." -#: ../../library/turtle.rst:1360 +#: ../../library/turtle.rst:1116 +msgid "More drawing control" +msgstr "Mehr Zeichenkontrolle" + +#: ../../library/turtle.rst:1120 +#, fuzzy msgid "" -"Delete the turtle's drawings from the screen, re-center the turtle and set " -"variables to the default values." +"Delete the turtle's drawings and re-center the turtle. The turtle's settings " +"are restored to their default values." msgstr "" "Lösche die Zeichnungen der Turtle vom Bildschirm, zentriere die Turtle neu " "und setze die Variablen auf ihre Standardwerte zurück." -#: ../../library/turtle.rst:1363 +#: ../../library/turtle.rst:1123 msgid "" ">>> turtle.goto(0,-22)\n" ">>> turtle.left(100)\n" @@ -2482,32 +1842,32 @@ msgstr "" ">>> turtle.heading()\n" "0.0" -#: ../../library/turtle.rst:1381 +#: ../../library/turtle.rst:1141 +#, fuzzy msgid "" -"Delete the turtle's drawings from the screen. Do not move turtle. State " -"and position of the turtle as well as drawings of other turtles are not " -"affected." +"Delete the turtle's drawings from the screen. The state and position of the " +"turtle as well as the drawings of other turtles are not affected." msgstr "" "Lösche die Zeichnungen der Turtle vom Bildschirm, zentriere die Turtle neu " "und setze die Variablen auf ihre Standardwerte zurück." -#: ../../library/turtle.rst:1387 +#: ../../library/turtle.rst:1147 msgid "object to be written to the TurtleScreen" msgstr "Objekt, das auf den TurtleScreen geschrieben werden soll" -#: ../../library/turtle.rst:1388 +#: ../../library/turtle.rst:1148 msgid "True/False" msgstr "True/False" -#: ../../library/turtle.rst:1389 +#: ../../library/turtle.rst:1149 msgid "one of the strings \"left\", \"center\" or right\"" msgstr "eine der Zeichenketten \"left\", \"center\" oder \"right\"" -#: ../../library/turtle.rst:1390 +#: ../../library/turtle.rst:1150 msgid "a triple (fontname, fontsize, fonttype)" msgstr "ein Tripel (fontname, fontsize, fonttype)" -#: ../../library/turtle.rst:1392 +#: ../../library/turtle.rst:1152 msgid "" "Write text - the string representation of *arg* - at the current turtle " "position according to *align* (\"left\", \"center\" or \"right\") and with " @@ -2519,7 +1879,7 @@ msgstr "" "mit der angegebenen Schriftart. Ist *move* wahr, wird der Stift an die " "untere rechte Ecke des Textes bewegt. Standardmäßig ist *move* ``False``." -#: ../../library/turtle.rst:1397 +#: ../../library/turtle.rst:1157 msgid "" ">>> turtle.write(\"Home = \", True, align=\"center\")\n" ">>> turtle.write((0,0), True)" @@ -2527,35 +1887,30 @@ msgstr "" ">>> turtle.write(\"Home = \", True, align=\"center\")\n" ">>> turtle.write((0,0), True)" -#: ../../library/turtle.rst:1413 -msgid "" -"Make the turtle invisible. It's a good idea to do this while you're in the " -"middle of doing some complex drawing, because hiding the turtle speeds up " -"the drawing observably." -msgstr "" -"Mache die Turtle unsichtbar. Es ist eine gute Idee, dies während einer " -"komplexen Zeichnung zu tun, da das Verstecken der Turtle das Zeichnen " -"merklich beschleunigt." +#: ../../library/turtle.rst:1165 +msgid "Turtle state" +msgstr "Turtle-Status" -#: ../../library/turtle.rst:1417 -msgid ">>> turtle.hideturtle()" -msgstr ">>> turtle.hideturtle()" +#: ../../library/turtle.rst:1168 +msgid "Visibility" +msgstr "Sichtbarkeit" + +#: ../../library/turtle.rst:1173 +msgid "Make the turtle invisible. If the pen is down, movement still draws." +msgstr "" -#: ../../library/turtle.rst:1426 +#: ../../library/turtle.rst:1179 msgid "Make the turtle visible." msgstr "Mache die Turtle sichtbar." -#: ../../library/turtle.rst:1428 -msgid ">>> turtle.showturtle()" -msgstr ">>> turtle.showturtle()" - -#: ../../library/turtle.rst:1436 -msgid "Return ``True`` if the Turtle is shown, ``False`` if it's hidden." +#: ../../library/turtle.rst:1184 +#, fuzzy +msgid "Return ``True`` if the turtle is shown, ``False`` if it's hidden." msgstr "" "Gib ``True`` zurück, wenn die Turtle sichtbar ist, ``False``, wenn sie " "versteckt ist." -#: ../../library/turtle.rst:1438 +#: ../../library/turtle.rst:1186 msgid "" ">>> turtle.hideturtle()\n" ">>> turtle.isvisible()\n" @@ -2571,11 +1926,15 @@ msgstr "" ">>> turtle.isvisible()\n" "True" -#: ../../library/turtle.rst:1454 +#: ../../library/turtle.rst:1198 +msgid "Appearance" +msgstr "Erscheinungsbild" + +#: ../../library/turtle.rst:1202 msgid "a string which is a valid shapename" msgstr "eine Zeichenkette, die ein gültiger Formname ist" -#: ../../library/turtle.rst:1456 +#: ../../library/turtle.rst:1204 msgid "" "Set turtle shape to shape with given *name* or, if name is not given, return " "name of current shape. Shape with *name* must exist in the TurtleScreen's " @@ -2591,7 +1950,7 @@ msgstr "" "\"circle\", \"square\", \"triangle\", \"classic\". Um mehr über den Umgang " "mit Formen zu erfahren, siehe die Screen-Methode :func:`register_shape`." -#: ../../library/turtle.rst:1462 +#: ../../library/turtle.rst:1210 msgid "" ">>> turtle.shape()\n" "'classic'\n" @@ -2605,11 +1964,11 @@ msgstr "" ">>> turtle.shape()\n" "'turtle'" -#: ../../library/turtle.rst:1474 +#: ../../library/turtle.rst:1222 msgid "one of the strings \"auto\", \"user\", \"noresize\"" msgstr "eine der Zeichenketten \"auto\", \"user\", \"noresize\"" -#: ../../library/turtle.rst:1476 +#: ../../library/turtle.rst:1224 msgid "" "Set resizemode to one of the values: \"auto\", \"user\", \"noresize\". If " "*rmode* is not given, return current resizemode. Different resizemodes have " @@ -2619,7 +1978,7 @@ msgstr "" "*rmode* nicht angegeben, wird der aktuelle resizemode zurückgegeben. Die " "verschiedenen resizemodes haben folgende Auswirkungen:" -#: ../../library/turtle.rst:1480 +#: ../../library/turtle.rst:1228 msgid "" "\"auto\": adapts the appearance of the turtle corresponding to the value of " "pensize." @@ -2627,7 +1986,7 @@ msgstr "" "\"auto\": passt das Erscheinungsbild der Turtle entsprechend dem Wert von " "pensize an." -#: ../../library/turtle.rst:1481 +#: ../../library/turtle.rst:1229 msgid "" "\"user\": adapts the appearance of the turtle according to the values of " "stretchfactor and outlinewidth (outline), which are set by :func:`shapesize`." @@ -2636,13 +1995,13 @@ msgstr "" "stretchfactor und outlinewidth (outline) an, die durch :func:`shapesize` " "gesetzt werden." -#: ../../library/turtle.rst:1484 +#: ../../library/turtle.rst:1232 msgid "\"noresize\": no adaption of the turtle's appearance takes place." msgstr "" "\"noresize\": es findet keine Anpassung des Erscheinungsbilds der Turtle " "statt." -#: ../../library/turtle.rst:1486 +#: ../../library/turtle.rst:1234 msgid "" "``resizemode(\"user\")`` is called by :func:`shapesize` when used with " "arguments." @@ -2650,7 +2009,7 @@ msgstr "" "``resizemode(\"user\")`` wird von :func:`shapesize` aufgerufen, wenn es mit " "Argumenten verwendet wird." -#: ../../library/turtle.rst:1488 +#: ../../library/turtle.rst:1236 msgid "" ">>> turtle.resizemode()\n" "'noresize'\n" @@ -2664,12 +2023,12 @@ msgstr "" ">>> turtle.resizemode()\n" "'auto'" -#: ../../library/turtle.rst:1501 ../../library/turtle.rst:1502 -#: ../../library/turtle.rst:1503 +#: ../../library/turtle.rst:1249 ../../library/turtle.rst:1250 +#: ../../library/turtle.rst:1251 msgid "positive number" msgstr "Positive Zahl" -#: ../../library/turtle.rst:1505 +#: ../../library/turtle.rst:1253 msgid "" "Return or set the pen's attributes x/y-stretchfactors and/or outline. Set " "resizemode to \"user\". If and only if resizemode is set to \"user\", the " @@ -2685,7 +2044,7 @@ msgstr "" "Ausrichtung, *stretch_len* ist der Streckfaktor in Richtung ihrer " "Ausrichtung, *outline* bestimmt die Breite des Umrisses der Form." -#: ../../library/turtle.rst:1512 +#: ../../library/turtle.rst:1260 msgid "" ">>> turtle.shapesize()\n" "(1.0, 1.0, 1)\n" @@ -2707,12 +2066,11 @@ msgstr "" ">>> turtle.shapesize()\n" "(5, 5, 8)" -#: ../../library/turtle.rst:1528 ../../library/turtle.rst:2222 -#: ../../library/turtle.rst:2223 ../../library/turtle.rst:2224 +#: ../../library/turtle.rst:1276 msgid "number (optional)" msgstr "Zahl (optional)" -#: ../../library/turtle.rst:1530 +#: ../../library/turtle.rst:1278 msgid "" "Set or return the current shearfactor. Shear the turtleshape according to " "the given shearfactor shear, which is the tangent of the shear angle. Do " @@ -2727,7 +2085,7 @@ msgstr "" "Scherfaktor zurück, d. h. den Tangens des Scherwinkels, um den Linien " "parallel zur Ausrichtung der Turtle geschert werden." -#: ../../library/turtle.rst:1537 +#: ../../library/turtle.rst:1285 msgid "" ">>> turtle.shape(\"circle\")\n" ">>> turtle.shapesize(5,2)\n" @@ -2741,7 +2099,7 @@ msgstr "" ">>> turtle.shearfactor()\n" "0.5" -#: ../../library/turtle.rst:1551 +#: ../../library/turtle.rst:1299 msgid "" "Rotate the turtleshape by *angle* from its current tilt-angle, but do *not* " "change the turtle's heading (direction of movement)." @@ -2749,7 +2107,7 @@ msgstr "" "Drehe die Form der Turtle um *angle* von ihrem aktuellen Kippwinkel aus, " "ändere aber *nicht* die Ausrichtung der Turtle (Bewegungsrichtung)." -#: ../../library/turtle.rst:1554 +#: ../../library/turtle.rst:1302 msgid "" ">>> turtle.reset()\n" ">>> turtle.shape(\"circle\")\n" @@ -2767,13 +2125,13 @@ msgstr "" ">>> turtle.tilt(30)\n" ">>> turtle.fd(50)" -#: ../../library/turtle.rst:1568 ../../library/turtle.rst:1591 -#: ../../library/turtle.rst:1592 ../../library/turtle.rst:1593 -#: ../../library/turtle.rst:1594 +#: ../../library/turtle.rst:1316 ../../library/turtle.rst:1339 +#: ../../library/turtle.rst:1340 ../../library/turtle.rst:1341 +#: ../../library/turtle.rst:1342 msgid "a number (optional)" msgstr "eine Zahl (optional)" -#: ../../library/turtle.rst:1570 +#: ../../library/turtle.rst:1318 msgid "" "Set or return the current tilt-angle. If angle is given, rotate the " "turtleshape to point in the direction specified by angle, regardless of its " @@ -2790,7 +2148,7 @@ msgstr "" "Ausrichtung der Form der Turtle und der Ausrichtung der Turtle (ihrer " "Bewegungsrichtung)." -#: ../../library/turtle.rst:1578 +#: ../../library/turtle.rst:1326 msgid "" ">>> turtle.reset()\n" ">>> turtle.shape(\"circle\")\n" @@ -2806,12 +2164,12 @@ msgstr "" ">>> turtle.tiltangle()\n" "45.0" -#: ../../library/turtle.rst:1596 +#: ../../library/turtle.rst:1344 msgid "Set or return the current transformation matrix of the turtle shape." msgstr "" "Setze die aktuelle Transformationsmatrix der Turtle-Form oder gib sie zurück." -#: ../../library/turtle.rst:1598 +#: ../../library/turtle.rst:1346 msgid "" "If none of the matrix elements are given, return the transformation matrix " "as a tuple of 4 elements. Otherwise set the given elements and transform the " @@ -2828,7 +2186,7 @@ msgstr "" "andernfalls wird ein Fehler ausgelöst. Ändert stretchfactor, shearfactor und " "tiltangle entsprechend der angegebenen Matrix." -#: ../../library/turtle.rst:1607 +#: ../../library/turtle.rst:1355 msgid "" ">>> turtle = Turtle()\n" ">>> turtle.shape(\"square\")\n" @@ -2844,7 +2202,7 @@ msgstr "" ">>> turtle.shapetransform()\n" "(4.0, -1.0, -0.0, 2.0)" -#: ../../library/turtle.rst:1620 +#: ../../library/turtle.rst:1368 msgid "" "Return the current shape polygon as tuple of coordinate pairs. This can be " "used to define a new shape or components of a compound shape." @@ -2853,7 +2211,7 @@ msgstr "" "kann verwendet werden, um eine neue Form oder Komponenten einer " "zusammengesetzten Form zu definieren." -#: ../../library/turtle.rst:1623 +#: ../../library/turtle.rst:1371 msgid "" ">>> turtle.shape(\"square\")\n" ">>> turtle.shapetransform(4, -1, 0, 2)\n" @@ -2865,40 +2223,36 @@ msgstr "" ">>> turtle.get_shapepoly()\n" "((50, -20), (30, 20), (-50, 20), (-30, -20))" -#: ../../library/turtle.rst:1638 ../../library/turtle.rst:1660 -#: ../../library/turtle.rst:1685 ../../library/turtle.rst:2146 -msgid "" -"a function with two arguments which will be called with the coordinates of " -"the clicked point on the canvas" -msgstr "" -"eine Funktion mit zwei Argumenten, die mit den Koordinaten des angeklickten " -"Punkts auf der Zeichenfläche aufgerufen wird" +#: ../../library/turtle.rst:1381 +msgid "Using events" +msgstr "Ereignisse verwenden" -#: ../../library/turtle.rst:1640 ../../library/turtle.rst:1662 -#: ../../library/turtle.rst:1687 ../../library/turtle.rst:2148 -msgid "number of the mouse-button, defaults to 1 (left mouse button)" -msgstr "Nummer der Maustaste, standardmäßig 1 (linke Maustaste)" +#: ../../library/turtle.rst:1386 ../../library/turtle.rst:1898 +#, fuzzy +msgid "a function with two arguments or ``None``" +msgstr "eine Funktion ohne Argumente oder ``None``" -#: ../../library/turtle.rst:1641 ../../library/turtle.rst:1663 -#: ../../library/turtle.rst:1688 ../../library/turtle.rst:2149 -msgid "" -"``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise " -"it will replace a former binding" -msgstr "" -"``True`` oder ``False`` -- ist es ``True``, wird eine neue Bindung " -"hinzugefügt, andernfalls ersetzt sie eine vorherige Bindung" +#: ../../library/turtle.rst:1387 ../../library/turtle.rst:1899 +#, fuzzy +msgid "an integer" +msgstr "eine Ganzzahl oder ``None``" + +#: ../../library/turtle.rst:1388 ../../library/turtle.rst:1900 +#, fuzzy +msgid "a boolean or ``None``" +msgstr "eine Zahl oder ``None``" -#: ../../library/turtle.rst:1644 +#: ../../library/turtle.rst:1390 msgid "" -"Bind *fun* to mouse-click events on this turtle. If *fun* is ``None``, " -"existing bindings are removed. Example for the anonymous turtle, i.e. the " -"procedural way:" +"Bind *fun* to mouse-click events on this turtle. *fun* is called with the " +"coordinates of the clicked point on the canvas. If *fun* is ``None``, " +"existing bindings are removed. *btn* is the number of the mouse button and " +"defaults to 1, the left mouse button. If *add* is ``True``, a new binding is " +"added, otherwise it replaces a former binding. Example for the anonymous " +"turtle, that is, the procedural way:" msgstr "" -"Binde *fun* an Mausklick-Ereignisse dieser Turtle. Ist *fun* ``None``, " -"werden bestehende Bindungen entfernt. Beispiel für die anonyme Turtle, d. h. " -"die prozedurale Vorgehensweise:" -#: ../../library/turtle.rst:1648 +#: ../../library/turtle.rst:1397 msgid "" ">>> def turn(x, y):\n" "... left(180)\n" @@ -2912,7 +2266,27 @@ msgstr "" ">>> onclick(turn) # Now clicking into the turtle will turn it.\n" ">>> onclick(None) # event-binding will be removed" -#: ../../library/turtle.rst:1666 +#: ../../library/turtle.rst:1409 ../../library/turtle.rst:1434 +msgid "" +"a function with two arguments which will be called with the coordinates of " +"the clicked point on the canvas" +msgstr "" +"eine Funktion mit zwei Argumenten, die mit den Koordinaten des angeklickten " +"Punkts auf der Zeichenfläche aufgerufen wird" + +#: ../../library/turtle.rst:1411 ../../library/turtle.rst:1436 +msgid "number of the mouse-button, defaults to 1 (left mouse button)" +msgstr "Nummer der Maustaste, standardmäßig 1 (linke Maustaste)" + +#: ../../library/turtle.rst:1412 ../../library/turtle.rst:1437 +msgid "" +"``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise " +"it will replace a former binding" +msgstr "" +"``True`` oder ``False`` -- ist es ``True``, wird eine neue Bindung " +"hinzugefügt, andernfalls ersetzt sie eine vorherige Bindung" + +#: ../../library/turtle.rst:1415 msgid "" "Bind *fun* to mouse-button-release events on this turtle. If *fun* is " "``None``, existing bindings are removed." @@ -2920,7 +2294,7 @@ msgstr "" "Binde *fun* an Loslassen-der-Maustaste-Ereignisse dieser Turtle. Ist *fun* " "``None``, werden bestehende Bindungen entfernt." -#: ../../library/turtle.rst:1669 +#: ../../library/turtle.rst:1418 msgid "" ">>> class MyTurtle(Turtle):\n" "... def glow(self,x,y):\n" @@ -2944,7 +2318,7 @@ msgstr "" "red,\n" ">>> turtle.onrelease(turtle.unglow) # releasing turns it to transparent." -#: ../../library/turtle.rst:1691 +#: ../../library/turtle.rst:1440 msgid "" "Bind *fun* to mouse-move events on this turtle. If *fun* is ``None``, " "existing bindings are removed." @@ -2952,7 +2326,7 @@ msgstr "" "Binde *fun* an Mausbewegungs-Ereignisse dieser Turtle. Ist *fun* ``None``, " "werden bestehende Bindungen entfernt." -#: ../../library/turtle.rst:1694 +#: ../../library/turtle.rst:1443 msgid "" "Remark: Every sequence of mouse-move-events on a turtle is preceded by a " "mouse-click event on that turtle." @@ -2960,11 +2334,11 @@ msgstr "" "Anmerkung: Jeder Abfolge von Mausbewegungs-Ereignissen auf einer Turtle geht " "ein Mausklick-Ereignis auf dieser Turtle voraus." -#: ../../library/turtle.rst:1697 +#: ../../library/turtle.rst:1446 msgid ">>> turtle.ondrag(turtle.goto)" msgstr ">>> turtle.ondrag(turtle.goto)" -#: ../../library/turtle.rst:1702 +#: ../../library/turtle.rst:1451 msgid "" "Subsequently, clicking and dragging the Turtle will move it across the " "screen thereby producing handdrawings (if pen is down)." @@ -2972,7 +2346,11 @@ msgstr "" "Anschließend bewegt das Klicken und Ziehen der Turtle diese über den " "Bildschirm und erzeugt dabei Handzeichnungen (wenn der Stift unten ist)." -#: ../../library/turtle.rst:1712 +#: ../../library/turtle.rst:1456 +msgid "Special Turtle methods" +msgstr "Spezielle Turtle-Methoden" + +#: ../../library/turtle.rst:1461 msgid "" "Record the vertices of a polygon drawn in the ``with turtle.poly():`` block. " "The first and last vertices will be connected." @@ -2980,7 +2358,7 @@ msgstr "" "Zeichne die Eckpunkte eines Polygons auf, das im ``with turtle.poly():``-" "Block gezeichnet wird. Der erste und letzte Eckpunkt werden verbunden." -#: ../../library/turtle.rst:1715 +#: ../../library/turtle.rst:1464 msgid "" ">>> with turtle.poly():\n" "... turtle.forward(100)\n" @@ -2992,28 +2370,30 @@ msgstr "" "... turtle.right(60)\n" "... turtle.forward(100)" -#: ../../library/turtle.rst:1728 +#: ../../library/turtle.rst:1477 +#, fuzzy msgid "" -"Start recording the vertices of a polygon. Current turtle position is first " -"vertex of polygon." +"Start recording the vertices of a polygon. The current turtle position is " +"the first vertex of the polygon." msgstr "" "Beginne mit dem Aufzeichnen der Eckpunkte eines Polygons. Die aktuelle " "Position der Turtle ist der erste Eckpunkt des Polygons." -#: ../../library/turtle.rst:1734 +#: ../../library/turtle.rst:1483 +#, fuzzy msgid "" -"Stop recording the vertices of a polygon. Current turtle position is last " -"vertex of polygon. This will be connected with the first vertex." +"Stop recording the vertices of a polygon. The current turtle position is the " +"last vertex of the polygon. This will be connected with the first vertex." msgstr "" "Beende das Aufzeichnen der Eckpunkte eines Polygons. Die aktuelle Position " "der Turtle ist der letzte Eckpunkt des Polygons. Dieser wird mit dem ersten " "Eckpunkt verbunden." -#: ../../library/turtle.rst:1740 +#: ../../library/turtle.rst:1489 msgid "Return the last recorded polygon." msgstr "Gib das zuletzt aufgezeichnete Polygon zurück." -#: ../../library/turtle.rst:1742 +#: ../../library/turtle.rst:1491 msgid "" ">>> turtle.home()\n" ">>> turtle.begin_poly()\n" @@ -3037,7 +2417,7 @@ msgstr "" ">>> p = turtle.get_poly()\n" ">>> register_shape(\"myFavouriteShape\", p)" -#: ../../library/turtle.rst:1759 +#: ../../library/turtle.rst:1508 msgid "" "Create and return a clone of the turtle with same position, heading and " "turtle properties." @@ -3045,7 +2425,7 @@ msgstr "" "Erstelle und gib einen Klon der Turtle mit derselben Position, Ausrichtung " "und denselben Turtle-Eigenschaften zurück." -#: ../../library/turtle.rst:1762 +#: ../../library/turtle.rst:1511 msgid "" ">>> mick = Turtle()\n" ">>> joe = mick.clone()" @@ -3053,7 +2433,7 @@ msgstr "" ">>> mick = Turtle()\n" ">>> joe = mick.clone()" -#: ../../library/turtle.rst:1772 +#: ../../library/turtle.rst:1521 msgid "" "Return the Turtle object itself. Only reasonable use: as a function to " "return the \"anonymous turtle\":" @@ -3061,7 +2441,7 @@ msgstr "" "Gib das Turtle-Objekt selbst zurück. Einzig sinnvolle Verwendung: als " "Funktion, um die \"anonyme Turtle\" zurückzugeben:" -#: ../../library/turtle.rst:1775 +#: ../../library/turtle.rst:1524 msgid "" ">>> pet = getturtle()\n" ">>> pet.fd(50)\n" @@ -3073,7 +2453,7 @@ msgstr "" ">>> pet\n" "" -#: ../../library/turtle.rst:1786 +#: ../../library/turtle.rst:1535 msgid "" "Return the :class:`TurtleScreen` object the turtle is drawing on. " "TurtleScreen methods can then be called for that object." @@ -3081,7 +2461,7 @@ msgstr "" "Gib das :class:`TurtleScreen`-Objekt zurück, auf dem die Turtle zeichnet. " "Für dieses Objekt können dann TurtleScreen-Methoden aufgerufen werden." -#: ../../library/turtle.rst:1789 +#: ../../library/turtle.rst:1538 msgid "" ">>> ts = turtle.getscreen()\n" ">>> ts\n" @@ -3093,11 +2473,7 @@ msgstr "" "\n" ">>> ts.bgcolor(\"pink\")" -#: ../../library/turtle.rst:1800 -msgid "an integer or ``None``" -msgstr "eine Ganzzahl oder ``None``" - -#: ../../library/turtle.rst:1802 +#: ../../library/turtle.rst:1551 msgid "" "Set or disable undobuffer. If *size* is an integer, an empty undobuffer of " "given size is installed. *size* gives the maximum number of turtle actions " @@ -3110,15 +2486,15 @@ msgstr "" "`undo` rückgängig gemacht werden können. Ist *size* ``None``, wird der Undo-" "Puffer deaktiviert." -#: ../../library/turtle.rst:1807 +#: ../../library/turtle.rst:1556 msgid ">>> turtle.setundobuffer(42)" msgstr ">>> turtle.setundobuffer(42)" -#: ../../library/turtle.rst:1815 +#: ../../library/turtle.rst:1564 msgid "Return number of entries in the undobuffer." msgstr "Gib die Anzahl der Einträge im Undo-Puffer zurück." -#: ../../library/turtle.rst:1817 +#: ../../library/turtle.rst:1566 msgid "" ">>> while undobufferentries():\n" "... undo()" @@ -3126,11 +2502,11 @@ msgstr "" ">>> while undobufferentries():\n" "... undo()" -#: ../../library/turtle.rst:1828 +#: ../../library/turtle.rst:1577 msgid "Compound shapes" msgstr "Zusammengesetzte Formen" -#: ../../library/turtle.rst:1830 +#: ../../library/turtle.rst:1579 msgid "" "To use compound turtle shapes, which consist of several polygons of " "different color, you must use the helper class :class:`Shape` explicitly as " @@ -3140,11 +2516,11 @@ msgstr "" "unterschiedlicher Farbe bestehen, musst du die Hilfsklasse :class:`Shape` " "explizit verwenden, wie unten beschrieben:" -#: ../../library/turtle.rst:1834 +#: ../../library/turtle.rst:1583 msgid "Create an empty Shape object of type \"compound\"." msgstr "Erstelle ein leeres Shape-Objekt vom Typ \"compound\"." -#: ../../library/turtle.rst:1835 +#: ../../library/turtle.rst:1584 msgid "" "Add as many components to this object as desired, using the :meth:`~Shape." "addcomponent` method." @@ -3152,11 +2528,11 @@ msgstr "" "Füge diesem Objekt beliebig viele Komponenten hinzu, indem du die Methode :" "meth:`~Shape.addcomponent` verwendest." -#: ../../library/turtle.rst:1838 +#: ../../library/turtle.rst:1587 msgid "For example:" msgstr "Zum Beispiel:" -#: ../../library/turtle.rst:1840 +#: ../../library/turtle.rst:1589 msgid "" ">>> s = Shape(\"compound\")\n" ">>> poly1 = ((0,0),(10,-5),(0,10),(-10,-5))\n" @@ -3170,11 +2546,11 @@ msgstr "" ">>> poly2 = ((0,0),(10,-5),(-10,-5))\n" ">>> s.addcomponent(poly2, \"blue\", \"red\")" -#: ../../library/turtle.rst:1849 +#: ../../library/turtle.rst:1598 msgid "Now add the Shape to the Screen's shapelist and use it:" msgstr "Füge nun die Shape zur Formenliste des Screens hinzu und verwende sie:" -#: ../../library/turtle.rst:1851 +#: ../../library/turtle.rst:1600 msgid "" ">>> register_shape(\"myshape\", s)\n" ">>> shape(\"myshape\")" @@ -3182,7 +2558,7 @@ msgstr "" ">>> register_shape(\"myshape\", s)\n" ">>> shape(\"myshape\")" -#: ../../library/turtle.rst:1860 +#: ../../library/turtle.rst:1609 msgid "" "The :class:`Shape` class is used internally by the :func:`register_shape` " "method in different ways. The application programmer has to deal with the " @@ -3193,11 +2569,11 @@ msgstr "" "Shape-Klasse *nur* dann befassen, wenn zusammengesetzte Formen wie oben " "gezeigt verwendet werden!" -#: ../../library/turtle.rst:1866 -msgid "Methods of TurtleScreen/Screen and corresponding functions" -msgstr "Methoden von TurtleScreen/Screen und entsprechende Funktionen" +#: ../../library/turtle.rst:1618 +msgid "Screen methods and functions" +msgstr "" -#: ../../library/turtle.rst:1868 +#: ../../library/turtle.rst:1620 msgid "" "Most of the examples in this section refer to a TurtleScreen instance called " "``screen``." @@ -3205,29 +2581,34 @@ msgstr "" "Die meisten Beispiele in diesem Abschnitt beziehen sich auf eine " "TurtleScreen-Instanz namens ``screen``." -#: ../../library/turtle.rst:1884 +#: ../../library/turtle.rst:1630 +msgid "Window control" +msgstr "Fenstersteuerung" + +#: ../../library/turtle.rst:1636 msgid "Return or set the background color of the TurtleScreen." msgstr "Gib die Hintergrundfarbe des TurtleScreen zurück oder setze sie." -#: ../../library/turtle.rst:1888 +#: ../../library/turtle.rst:1640 msgid "``bgcolor()``" msgstr "``bgcolor()``" -#: ../../library/turtle.rst:1889 +#: ../../library/turtle.rst:1641 +#, fuzzy msgid "" -"Return the current background color as color specification string or as a " -"tuple (see example). May be used as input to another color/pencolor/" -"fillcolor/bgcolor call." +"Return the current background color as a color specification string or as a " +"tuple (see example). May be used as input to another :func:`color`, :func:" +"`pencolor`, :func:`fillcolor` or :func:`bgcolor` call." msgstr "" "Gib die aktuelle Hintergrundfarbe als Farbangabe-String oder als Tupel " "zurück (siehe Beispiel). Kann als Eingabe für einen weiteren color/pencolor/" "fillcolor/bgcolor-Aufruf verwendet werden." -#: ../../library/turtle.rst:1893 +#: ../../library/turtle.rst:1646 msgid "``bgcolor(colorstring)``" msgstr "``bgcolor(colorstring)``" -#: ../../library/turtle.rst:1894 +#: ../../library/turtle.rst:1647 msgid "" "Set the background color to *colorstring*, which is a Tk color specification " "string, such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." @@ -3235,14 +2616,15 @@ msgstr "" "Setzt die Hintergrundfarbe auf *colorstring*, eine Tk-Farbangabe als " "Zeichenkette, etwa ``\"red\"``, ``\"yellow\"`` oder ``\"#33cc8c\"``." -#: ../../library/turtle.rst:1897 +#: ../../library/turtle.rst:1650 msgid "``bgcolor((r, g, b))``" msgstr "``bgcolor((r, g, b))``" -#: ../../library/turtle.rst:1898 +#: ../../library/turtle.rst:1651 +#, fuzzy msgid "" "Set the background color to the RGB color represented by the tuple of *r*, " -"*g*, and *b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, " +"*g*, and *b*. Each of *r*, *g*, and *b* must be between 0 and colormode, " "where colormode is either 1.0 or 255 (see :func:`colormode`)." msgstr "" "Setze die Hintergrundfarbe auf die durch das Tupel aus *r*, *g* und *b* " @@ -3250,19 +2632,20 @@ msgstr "" "colormode liegen, wobei colormode entweder 1.0 oder 255 ist (siehe :func:" "`colormode`)." -#: ../../library/turtle.rst:1903 +#: ../../library/turtle.rst:1656 msgid "``bgcolor(r, g, b)``" msgstr "``bgcolor(r, g, b)``" -#: ../../library/turtle.rst:1904 +#: ../../library/turtle.rst:1657 +#, fuzzy msgid "" -"Set the background color to the RGB color represented by *r*, *g*, and *b*. " -"Each of *r*, *g*, and *b* must be in the range 0..colormode." +"Set the background color to the RGB color represented by *r*, *g*, and *b*. " +"Each of *r*, *g*, and *b* must be between 0 and colormode." msgstr "" "Setze die Hintergrundfarbe auf die durch *r*, *g* und *b* dargestellte RGB-" "Farbe. Jeder der Werte *r*, *g* und *b* muss im Bereich 0..colormode liegen." -#: ../../library/turtle.rst:1907 +#: ../../library/turtle.rst:1660 msgid "" ">>> screen.bgcolor(\"orange\")\n" ">>> screen.bgcolor()\n" @@ -3278,7 +2661,7 @@ msgstr "" ">>> screen.bgcolor()\n" "(128.0, 0.0, 128.0)" -#: ../../library/turtle.rst:1920 +#: ../../library/turtle.rst:1673 msgid "" "a string, name of an image file (PNG, GIF, PGM, and PPM) or ``\"nopic\"``, " "or ``None``" @@ -3286,7 +2669,7 @@ msgstr "" "eine Zeichenkette, Name einer Bilddatei (PNG, GIF, PGM und PPM) oder " "``\"nopic\"``, oder ``None``" -#: ../../library/turtle.rst:1923 +#: ../../library/turtle.rst:1676 msgid "" "Set background image or return name of current backgroundimage. If " "*picname* is a filename, set the corresponding image as background. If " @@ -3299,7 +2682,7 @@ msgstr "" "gelöscht, falls vorhanden. Ist *picname* ``None``, wird der Dateiname des " "aktuellen Hintergrundbilds zurückgegeben. ::" -#: ../../library/turtle.rst:1928 +#: ../../library/turtle.rst:1681 msgid "" ">>> screen.bgpic()\n" "'nopic'\n" @@ -3313,7 +2696,7 @@ msgstr "" ">>> screen.bgpic()\n" "\"landscape.gif\"" -#: ../../library/turtle.rst:1939 +#: ../../library/turtle.rst:1692 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``clearscreen``. The global function ``clear`` is a different one " @@ -3323,7 +2706,7 @@ msgstr "" "``clearscreen`` verfügbar. Die globale Funktion ``clear`` ist eine andere, " "die von der Turtle-Methode ``clear`` abgeleitet ist." -#: ../../library/turtle.rst:1946 +#: ../../library/turtle.rst:1699 msgid "" "Delete all drawings and all turtles from the TurtleScreen. Reset the now " "empty TurtleScreen to its initial state: white background, no background " @@ -3333,7 +2716,7 @@ msgstr "" "leeren TurtleScreen auf seinen Ausgangszustand zurück: weißer Hintergrund, " "kein Hintergrundbild, keine Ereignisbindungen und Tracing aktiviert." -#: ../../library/turtle.rst:1955 +#: ../../library/turtle.rst:1708 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``resetscreen``. The global function ``reset`` is another one derived " @@ -3343,23 +2726,24 @@ msgstr "" "``resetscreen`` verfügbar. Die globale Funktion ``reset`` ist eine andere, " "die von der Turtle-Methode ``reset`` abgeleitet ist." -#: ../../library/turtle.rst:1962 -msgid "Reset all Turtles on the Screen to their initial state." +#: ../../library/turtle.rst:1715 +#, fuzzy +msgid "Reset all turtles on the screen to their initial state." msgstr "Setze alle Turtles auf dem Screen auf ihren Ausgangszustand zurück." -#: ../../library/turtle.rst:1967 +#: ../../library/turtle.rst:1720 msgid "positive integer, new width of canvas in pixels" msgstr "positive Ganzzahl, neue Breite der Zeichenfläche in Pixeln" -#: ../../library/turtle.rst:1968 +#: ../../library/turtle.rst:1721 msgid "positive integer, new height of canvas in pixels" msgstr "positive Ganzzahl, neue Höhe der Zeichenfläche in Pixeln" -#: ../../library/turtle.rst:1969 +#: ../../library/turtle.rst:1722 msgid "colorstring or color-tuple, new background color" msgstr "Farbstring oder Farb-Tupel, neue Hintergrundfarbe" -#: ../../library/turtle.rst:1971 +#: ../../library/turtle.rst:1724 msgid "" "If no arguments are given, return current (canvaswidth, canvasheight). Else " "resize the canvas the turtles are drawing on. Do not alter the drawing " @@ -3375,7 +2759,7 @@ msgstr "" "Zeichnung sichtbar gemacht werden, die zuvor außerhalb der Zeichenfläche " "lagen." -#: ../../library/turtle.rst:1977 +#: ../../library/turtle.rst:1730 msgid "" ">>> screen.screensize()\n" "(400, 300)\n" @@ -3389,46 +2773,21 @@ msgstr "" ">>> screen.screensize()\n" "(2000, 1500)" -#: ../../library/turtle.rst:1986 +#: ../../library/turtle.rst:1739 msgid "e.g. to search for an erroneously escaped turtle ;-)" msgstr "z. B. um nach einer fälschlicherweise entkommenen Turtle zu suchen ;-)" -#: ../../library/turtle.rst:1991 -msgid "a number, x-coordinate of lower left corner of canvas" -msgstr "eine Zahl, x-Koordinate der unteren linken Ecke der Zeichenfläche" - -#: ../../library/turtle.rst:1992 -msgid "a number, y-coordinate of lower left corner of canvas" -msgstr "eine Zahl, y-Koordinate der unteren linken Ecke der Zeichenfläche" - -#: ../../library/turtle.rst:1993 -msgid "a number, x-coordinate of upper right corner of canvas" -msgstr "eine Zahl, x-Koordinate der oberen rechten Ecke der Zeichenfläche" - -#: ../../library/turtle.rst:1994 -msgid "a number, y-coordinate of upper right corner of canvas" -msgstr "eine Zahl, y-Koordinate der oberen rechten Ecke der Zeichenfläche" - -#: ../../library/turtle.rst:1996 -msgid "" -"Set up user-defined coordinate system and switch to mode \"world\" if " -"necessary. This performs a ``screen.reset()``. If mode \"world\" is " -"already active, all drawings are redrawn according to the new coordinates." -msgstr "" -"Richte ein benutzerdefiniertes Koordinatensystem ein und wechsle bei Bedarf " -"in den Modus \"world\". Dies führt ein ``screen.reset()`` aus. Ist der Modus " -"\"world\" bereits aktiv, werden alle Zeichnungen entsprechend den neuen " -"Koordinaten neu gezeichnet." - -#: ../../library/turtle.rst:2000 +#: ../../library/turtle.rst:1749 msgid "" -"**ATTENTION**: in user-defined coordinate systems angles may appear " -"distorted." +"Set up a user-defined coordinate system. *llx* and *lly* are the x and y " +"coordinates of the lower left corner of the canvas. *urx* and *ury* are the " +"x and y coordinates of the upper right corner. Switch to mode \"world\" if " +"necessary, which performs a reset. If mode \"world\" is already active, all " +"drawings are redrawn according to the new coordinates. In user-defined " +"coordinate systems, angles may appear distorted, see :func:`mode`." msgstr "" -"**ACHTUNG**: In benutzerdefinierten Koordinatensystemen können Winkel " -"verzerrt erscheinen." -#: ../../library/turtle.rst:2003 +#: ../../library/turtle.rst:1756 msgid "" ">>> screen.reset()\n" ">>> screen.setworldcoordinates(-50,-7.5,50,7.5)\n" @@ -3446,17 +2805,23 @@ msgstr "" ">>> for _ in range(8):\n" "... left(45); fd(2) # a regular octagon" -#: ../../library/turtle.rst:2028 +#: ../../library/turtle.rst:1777 +msgid "Animation control" +msgstr "Animationskontrolle" + +#: ../../library/turtle.rst:1781 +#, fuzzy msgid "" -"Temporarily disable turtle animation. The code written inside the " -"``no_animation`` block will not be animated; once the code block is exited, " -"the drawing will appear." +"Temporarily turn off turtle animation. The code inside the :keyword:`with` " +"block is not animated. Once the block is exited, the drawing appears. This " +"is useful for drawing complex shapes where even the fastest speed setting is " +"too slow." msgstr "" "Deaktiviere die Turtle-Animation vorübergehend. Der Code, der innerhalb des " "``no_animation``-Blocks geschrieben wird, wird nicht animiert; sobald der " "Codeblock verlassen wird, erscheint die Zeichnung." -#: ../../library/turtle.rst:2032 +#: ../../library/turtle.rst:1786 msgid "" ">>> with screen.no_animation():\n" "... for dist in range(2, 400, 2):\n" @@ -3468,26 +2833,25 @@ msgstr "" "... fd(dist)\n" "... rt(90)" -#: ../../library/turtle.rst:2045 -msgid "positive integer" -msgstr "positive Ganzzahl" +#: ../../library/turtle.rst:1799 ../../library/turtle.rst:1817 +#: ../../library/turtle.rst:1818 +#, fuzzy +msgid "a nonnegative integer or ``None``" +msgstr "eine Ganzzahl oder ``None``" -#: ../../library/turtle.rst:2047 +#: ../../library/turtle.rst:1801 +#, fuzzy msgid "" -"Set or return the drawing *delay* in milliseconds. (This is approximately " -"the time interval between two consecutive canvas updates.) The longer the " -"drawing delay, the slower the animation." +"Return or set the drawing delay in milliseconds. This is approximately the " +"time interval between two consecutive canvas updates. The longer the drawing " +"delay, the slower the animation." msgstr "" "Setze oder gib die Zeichen-*delay* in Millisekunden zurück. (Dies ist " "ungefähr das Zeitintervall zwischen zwei aufeinanderfolgenden " "Aktualisierungen der Zeichenfläche.) Je länger die Zeichen-delay, desto " "langsamer die Animation." -#: ../../library/turtle.rst:2051 -msgid "Optional argument:" -msgstr "Optionales Argument:" - -#: ../../library/turtle.rst:2053 +#: ../../library/turtle.rst:1805 msgid "" ">>> screen.delay()\n" "10\n" @@ -3501,17 +2865,15 @@ msgstr "" ">>> screen.delay()\n" "5" -#: ../../library/turtle.rst:2065 ../../library/turtle.rst:2066 -msgid "nonnegative integer" -msgstr "nichtnegative Ganzzahl" - -#: ../../library/turtle.rst:2068 +#: ../../library/turtle.rst:1820 +#, fuzzy msgid "" -"Turn turtle animation on/off and set delay for update drawings. If *n* is " -"given, only each n-th regular screen update is really performed. (Can be " -"used to accelerate the drawing of complex graphics.) When called without " -"arguments, returns the currently stored value of n. Second argument sets " -"delay value (see :func:`delay`)." +"Turn turtle animation on or off and set the drawing delay. If *n* is given, " +"only every n-th regular screen update is performed, which can be used to " +"speed up the drawing of complex graphics. If *n* is 0, animation is turned " +"off and the screen is only updated by calling :func:`update`. If *delay* is " +"given, it sets the drawing delay, see :func:`delay`. When called without " +"arguments, return the current value of *n*." msgstr "" "Schalte die Turtle-Animation ein/aus und setze die Verzögerung für " "Zeichnungsaktualisierungen. Wird *n* angegeben, wird nur jede n-te reguläre " @@ -3520,7 +2882,7 @@ msgstr "" "aufgerufen, wird der aktuell gespeicherte Wert von n zurückgegeben. Das " "zweite Argument setzt den Verzögerungswert (siehe :func:`delay`)." -#: ../../library/turtle.rst:2075 +#: ../../library/turtle.rst:1827 msgid "" ">>> screen.tracer(8, 25)\n" ">>> dist = 2\n" @@ -3536,17 +2898,21 @@ msgstr "" "... rt(90)\n" "... dist += 2" -#: ../../library/turtle.rst:2088 +#: ../../library/turtle.rst:1840 msgid "Perform a TurtleScreen update. To be used when tracer is turned off." msgstr "" "Führe eine TurtleScreen-Aktualisierung durch. Zu verwenden, wenn tracer " "ausgeschaltet ist." -#: ../../library/turtle.rst:2090 +#: ../../library/turtle.rst:1842 msgid "See also the RawTurtle/Turtle method :func:`speed`." msgstr "Siehe auch die RawTurtle/Turtle-Methode :func:`speed`." -#: ../../library/turtle.rst:2098 +#: ../../library/turtle.rst:1846 +msgid "Using screen events" +msgstr "Screen-Events verwenden" + +#: ../../library/turtle.rst:1850 msgid "" "Set focus on TurtleScreen (in order to collect key-events). Dummy arguments " "are provided in order to be able to pass :func:`listen` to the onclick " @@ -3556,16 +2922,16 @@ msgstr "" "Argumente werden bereitgestellt, um :func:`listen` an die onclick-Methode " "übergeben zu können." -#: ../../library/turtle.rst:2105 ../../library/turtle.rst:2125 +#: ../../library/turtle.rst:1857 ../../library/turtle.rst:1877 msgid "a function with no arguments or ``None``" msgstr "eine Funktion ohne Argumente oder ``None``" -#: ../../library/turtle.rst:2106 ../../library/turtle.rst:2126 +#: ../../library/turtle.rst:1858 ../../library/turtle.rst:1878 msgid "a string: key (e.g. \"a\") or key-symbol (e.g. \"space\")" msgstr "" "eine Zeichenkette: Taste (z.B. \"a\") oder Tastensymbol (z.B. \"space\")" -#: ../../library/turtle.rst:2108 +#: ../../library/turtle.rst:1860 msgid "" "Bind *fun* to key-release event of key. If *fun* is ``None``, event " "bindings are removed. Remark: in order to be able to register key-events, " @@ -3576,7 +2942,7 @@ msgstr "" "registrieren zu können, muss TurtleScreen den Fokus haben. (Siehe Methode :" "func:`listen`.)" -#: ../../library/turtle.rst:2112 +#: ../../library/turtle.rst:1864 msgid "" ">>> def f():\n" "... fd(50)\n" @@ -3592,7 +2958,7 @@ msgstr "" ">>> screen.onkey(f, \"Up\")\n" ">>> screen.listen()" -#: ../../library/turtle.rst:2128 +#: ../../library/turtle.rst:1880 msgid "" "Bind *fun* to key-press event of key if key is given, or to any key-press-" "event if no key is given. Remark: in order to be able to register key-" @@ -3603,7 +2969,7 @@ msgstr "" "Um Tastatur-Ereignisse registrieren zu können, muss TurtleScreen den Fokus " "haben. (Siehe Methode :func:`listen`.)" -#: ../../library/turtle.rst:2133 +#: ../../library/turtle.rst:1885 msgid "" ">>> def f():\n" "... fd(50)\n" @@ -3617,15 +2983,16 @@ msgstr "" ">>> screen.onkey(f, \"Up\")\n" ">>> screen.listen()" -#: ../../library/turtle.rst:2152 +#: ../../library/turtle.rst:1902 msgid "" -"Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, " -"existing bindings are removed." +"Bind *fun* to mouse-click events on this screen. *fun* is called with the " +"coordinates of the clicked point on the canvas. If *fun* is ``None``, " +"existing bindings are removed. *btn* is the number of the mouse button and " +"defaults to 1, the left mouse button. If *add* is ``True``, a new binding is " +"added, otherwise it replaces a former binding." msgstr "" -"Binde *fun* an Mausklick-Ereignisse auf diesem Screen. Ist *fun* ``None``, " -"werden bestehende Bindungen entfernt." -#: ../../library/turtle.rst:2155 +#: ../../library/turtle.rst:1908 msgid "" "Example for a TurtleScreen instance named ``screen`` and a Turtle instance " "named ``turtle``:" @@ -3633,7 +3000,7 @@ msgstr "" "Beispiel für eine TurtleScreen-Instanz namens ``screen`` und eine Turtle-" "Instanz namens ``turtle``:" -#: ../../library/turtle.rst:2158 +#: ../../library/turtle.rst:1911 msgid "" ">>> screen.onclick(turtle.goto) # Subsequently clicking into the " "TurtleScreen will\n" @@ -3647,7 +3014,7 @@ msgstr "" "point.\n" ">>> screen.onclick(None) # remove event binding again" -#: ../../library/turtle.rst:2166 +#: ../../library/turtle.rst:1919 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``onscreenclick``. The global function ``onclick`` is another one " @@ -3657,19 +3024,19 @@ msgstr "" "``onscreenclick`` verfügbar. Die globale Funktion ``onclick`` ist eine " "andere, die von der Turtle-Methode ``onclick`` abgeleitet ist." -#: ../../library/turtle.rst:2173 +#: ../../library/turtle.rst:1926 msgid "a function with no arguments" msgstr "eine Funktion ohne Argumente" -#: ../../library/turtle.rst:2174 +#: ../../library/turtle.rst:1927 msgid "a number >= 0" msgstr "eine Zahl >= 0" -#: ../../library/turtle.rst:2176 +#: ../../library/turtle.rst:1929 msgid "Install a timer that calls *fun* after *t* milliseconds." msgstr "Installiere einen Timer, der *fun* nach *t* Millisekunden aufruft." -#: ../../library/turtle.rst:2178 +#: ../../library/turtle.rst:1931 msgid "" ">>> running = True\n" ">>> def f():\n" @@ -3689,12 +3056,13 @@ msgstr "" ">>> f() ### makes the turtle march around\n" ">>> running = False" -#: ../../library/turtle.rst:2194 +#: ../../library/turtle.rst:1947 +#, fuzzy msgid "" -"Starts event loop - calling Tkinter's mainloop function. Must be the last " -"statement in a turtle graphics program. Must *not* be used if a script is " -"run from within IDLE in -n mode (No subprocess) - for interactive use of " -"turtle graphics. ::" +"Start the event loop by calling Tkinter's :meth:`~tkinter.Misc.mainloop` " +"method. Must be the last statement in a turtle graphics program. Must *not* " +"be used if a script is run from within IDLE in -n mode (see :ref:`idle-no-" +"subprocess`)." msgstr "" "Startet die Ereignisschleife – ruft die mainloop-Funktion von Tkinter auf. " "Muss die letzte Anweisung in einem Turtle-Grafikprogramm sein. Darf *nicht* " @@ -3702,40 +3070,44 @@ msgstr "" "Subprozess) ausgeführt wird – für die interaktive Verwendung von Turtle-" "Grafik. ::" -#: ../../library/turtle.rst:2199 -msgid ">>> screen.mainloop()" -msgstr ">>> screen.mainloop()" +#: ../../library/turtle.rst:1954 +msgid "Input methods" +msgstr "Eingabemethoden" -#: ../../library/turtle.rst:2207 ../../library/turtle.rst:2208 -#: ../../library/turtle.rst:2220 ../../library/turtle.rst:2221 -msgid "string" +#: ../../library/turtle.rst:1958 ../../library/turtle.rst:1959 +#: ../../library/turtle.rst:1970 ../../library/turtle.rst:1971 +#: ../../library/turtle.rst:2068 ../../library/turtle.rst:2201 +#: ../../library/turtle.rst:2257 +#, fuzzy +msgid "a string" msgstr "Zeichenkette" -#: ../../library/turtle.rst:2210 +#: ../../library/turtle.rst:1961 +#, fuzzy msgid "" -"Pop up a dialog window for input of a string. Parameter title is the title " -"of the dialog window, prompt is a text mostly describing what information to " -"input. Return the string input. If the dialog is canceled, return " -"``None``. ::" +"Pop up a dialog window for input of a string. *title* is the title of the " +"dialog window and *prompt* is a text describing what information to input. " +"Return the string entered. If the dialog is canceled, return ``None``. ::" msgstr "" "Öffne ein Dialogfenster zur Eingabe einer Zeichenkette. Der Parameter title " "ist der Titel des Dialogfensters, prompt ist ein Text, der meist beschreibt, " "welche Information einzugeben ist. Gib die eingegebene Zeichenkette zurück. " "Wird der Dialog abgebrochen, wird ``None`` zurückgegeben. ::" -#: ../../library/turtle.rst:2215 +#: ../../library/turtle.rst:1965 msgid ">>> screen.textinput(\"NIM\", \"Name of first player:\")" msgstr ">>> screen.textinput(\"NIM\", \"Name of first player:\")" -#: ../../library/turtle.rst:2226 +#: ../../library/turtle.rst:1976 +#, fuzzy msgid "" -"Pop up a dialog window for input of a number. title is the title of the " -"dialog window, prompt is a text mostly describing what numerical information " -"to input. default: default value, minval: minimum value for input, maxval: " -"maximum value for input. The number input must be in the range minval .. " -"maxval if these are given. If not, a hint is issued and the dialog remains " -"open for correction. Return the number input. If the dialog is canceled, " -"return ``None``. ::" +"Pop up a dialog window for input of a number. *title* is the title of the " +"dialog window and *prompt* is a text describing what numerical information " +"to input. *default* is the default value, *minval* and *maxval* are the " +"minimum and maximum values for input. If these are given, the number entered " +"must be between *minval* and *maxval*. If not, a hint is issued and the " +"dialog remains open for correction. Return the number entered. If the dialog " +"is canceled, return ``None``. ::" msgstr "" "Öffne ein Dialogfenster zur Eingabe einer Zahl. title ist der Titel des " "Dialogfensters, prompt ist ein Text, der meist beschreibt, welche numerische " @@ -3746,7 +3118,7 @@ msgstr "" "Korrektur geöffnet. Gib die eingegebene Zahl zurück. Wird der Dialog " "abgebrochen, wird ``None`` zurückgegeben. ::" -#: ../../library/turtle.rst:2235 +#: ../../library/turtle.rst:1984 msgid "" ">>> screen.numinput(\"Poker\", \"Your stakes:\", 1000, minval=10, " "maxval=10000)" @@ -3754,25 +3126,33 @@ msgstr "" ">>> screen.numinput(\"Poker\", \"Your stakes:\", 1000, minval=10, " "maxval=10000)" -#: ../../library/turtle.rst:2243 -msgid "one of the strings \"standard\", \"logo\" or \"world\"" -msgstr "eine der Zeichenketten \"standard\", \"logo\" oder \"world\"" +#: ../../library/turtle.rst:1988 +msgid "Settings and special methods" +msgstr "Einstellungen und spezielle Methoden" + +#: ../../library/turtle.rst:1992 +#, fuzzy +msgid "a string or ``None``" +msgstr "eine Ganzzahl oder ``None``" -#: ../../library/turtle.rst:2245 +#: ../../library/turtle.rst:1994 +#, fuzzy msgid "" -"Set turtle mode (\"standard\", \"logo\" or \"world\") and perform reset. If " -"mode is not given, current mode is returned." +"Set the turtle mode and perform a reset. *mode* is one of the strings " +"\"standard\", \"logo\" or \"world\". If *mode* is not given, return the " +"current mode." msgstr "" "Setze den Turtle-Modus (\"standard\", \"logo\" oder \"world\") und führe ein " "Reset durch. Wird mode nicht angegeben, wird der aktuelle Modus " "zurückgegeben." -#: ../../library/turtle.rst:2248 +#: ../../library/turtle.rst:1998 +#, fuzzy msgid "" -"Mode \"standard\" is compatible with old :mod:`!turtle`. Mode \"logo\" is " -"compatible with most Logo turtle graphics. Mode \"world\" uses user-defined " -"\"world coordinates\". **Attention**: in this mode angles appear distorted " -"if ``x/y`` unit-ratio doesn't equal 1." +"Mode \"standard\" is compatible with the old :mod:`!turtle` module. Mode " +"\"logo\" is compatible with most Logo turtle graphics. Mode \"world\" uses " +"user-defined world coordinates, see :func:`setworldcoordinates`. In this " +"mode, angles appear distorted if the x and y units are not of equal length." msgstr "" "Der Modus \"standard\" ist kompatibel mit dem alten :mod:`!turtle`. Der " "Modus \"logo\" ist kompatibel mit den meisten Logo-Turtle-Grafiken. Der " @@ -3780,45 +3160,46 @@ msgstr "" "**Achtung**: In diesem Modus erscheinen Winkel verzerrt, wenn das ``x/y``-" "Einheitsverhältnis nicht gleich 1 ist." -#: ../../library/turtle.rst:2254 +#: ../../library/turtle.rst:2004 msgid "Mode" msgstr "Modus" -#: ../../library/turtle.rst:2254 +#: ../../library/turtle.rst:2004 msgid "Initial turtle heading" msgstr "Anfängliche Ausrichtung der Turtle" -#: ../../library/turtle.rst:2254 +#: ../../library/turtle.rst:2004 msgid "positive angles" msgstr "positive Winkel" -#: ../../library/turtle.rst:2256 +#: ../../library/turtle.rst:2006 msgid "\"standard\"" msgstr "\"standard\"" -#: ../../library/turtle.rst:2256 +#: ../../library/turtle.rst:2006 msgid "to the right (east)" msgstr "nach rechts (Osten)" -#: ../../library/turtle.rst:2256 +#: ../../library/turtle.rst:2006 msgid "counterclockwise" msgstr "gegen den Uhrzeigersinn" -#: ../../library/turtle.rst:2257 +#: ../../library/turtle.rst:2007 msgid "\"logo\"" msgstr "\"logo\"" -#: ../../library/turtle.rst:2257 +#: ../../library/turtle.rst:2007 msgid "upward (north)" msgstr "nach oben (Norden)" -#: ../../library/turtle.rst:2257 +#: ../../library/turtle.rst:2007 msgid "clockwise" msgstr "im Uhrzeigersinn" -#: ../../library/turtle.rst:2260 +#: ../../library/turtle.rst:2010 +#, fuzzy msgid "" -">>> mode(\"logo\") # resets turtle heading to north\n" +">>> mode(\"logo\") # resets turtle heading to north\n" ">>> mode()\n" "'logo'" msgstr "" @@ -3826,19 +3207,16 @@ msgstr "" ">>> mode()\n" "'logo'" -#: ../../library/turtle.rst:2270 -msgid "one of the values 1.0 or 255" -msgstr "einer der Werte 1.0 oder 255" - -#: ../../library/turtle.rst:2272 +#: ../../library/turtle.rst:2022 +#, fuzzy msgid "" -"Return the colormode or set it to 1.0 or 255. Subsequently *r*, *g*, *b* " -"values of color triples have to be in the range 0..*cmode*." +"Return the colormode or set it to 1.0 or 255. After setting it, the *r*, *g* " +"and *b* values of color triples have to be between 0 and *cmode*." msgstr "" "Gib den colormode zurück oder setze ihn auf 1.0 oder 255. Anschließend " "müssen die Werte *r*, *g*, *b* von Farb-Tripeln im Bereich 0..*cmode* liegen." -#: ../../library/turtle.rst:2275 +#: ../../library/turtle.rst:2025 msgid "" ">>> screen.colormode(1)\n" ">>> turtle.pencolor(240, 160, 80)\n" @@ -3864,7 +3242,7 @@ msgstr "" "255\n" ">>> turtle.pencolor(240,160,80)" -#: ../../library/turtle.rst:2293 +#: ../../library/turtle.rst:2043 msgid "" "Return the Canvas of this TurtleScreen. Useful for insiders who know what " "to do with a Tkinter Canvas." @@ -3872,7 +3250,7 @@ msgstr "" "Gib die Canvas dieses TurtleScreen zurück. Nützlich für Insider, die wissen, " "was mit einer Tkinter-Canvas anzufangen ist." -#: ../../library/turtle.rst:2296 +#: ../../library/turtle.rst:2046 msgid "" ">>> cv = screen.getcanvas()\n" ">>> cv\n" @@ -3882,12 +3260,12 @@ msgstr "" ">>> cv\n" "" -#: ../../library/turtle.rst:2306 +#: ../../library/turtle.rst:2056 msgid "Return a list of names of all currently available turtle shapes." msgstr "" "Gib eine Liste der Namen aller aktuell verfügbaren Turtle-Formen zurück." -#: ../../library/turtle.rst:2308 +#: ../../library/turtle.rst:2058 msgid "" ">>> screen.getshapes()\n" "['arrow', 'blank', 'circle', ..., 'turtle']" @@ -3895,11 +3273,19 @@ msgstr "" ">>> screen.getshapes()\n" "['arrow', 'blank', 'circle', ..., 'turtle']" -#: ../../library/turtle.rst:2318 -msgid "There are four different ways to call this function:" -msgstr "Es gibt vier verschiedene Möglichkeiten, diese Funktion aufzurufen:" +#: ../../library/turtle.rst:2069 +msgid "" +"a string, a tuple of pairs of numbers, a :class:`Shape` object or ``None``" +msgstr "" + +#: ../../library/turtle.rst:2072 +#, fuzzy +msgid "" +"Add a turtle shape to the TurtleScreen's shape list. It can be called in " +"four different ways:" +msgstr "Füge nun die Shape zur Formenliste des Screens hinzu und verwende sie:" -#: ../../library/turtle.rst:2320 +#: ../../library/turtle.rst:2075 msgid "" "*name* is the name of an image file (PNG, GIF, PGM, and PPM) and *shape* is " "``None``: Install the corresponding image shape. ::" @@ -3907,19 +3293,11 @@ msgstr "" "*name* ist der Name einer Bilddatei (PNG, GIF, PGM und PPM) und *shape* ist " "``None``: Installiere die entsprechende Bildform. ::" -#: ../../library/turtle.rst:2323 +#: ../../library/turtle.rst:2078 msgid ">>> screen.register_shape(\"turtle.gif\")" msgstr ">>> screen.register_shape(\"turtle.gif\")" -#: ../../library/turtle.rst:2326 ../../library/turtle.rst:2335 -msgid "" -"Image shapes *do not* rotate when turning the turtle, so they do not display " -"the heading of the turtle!" -msgstr "" -"Bildformen drehen sich *nicht* mit, wenn die Turtle gedreht wird, sie zeigen " -"also nicht die Ausrichtung der Turtle an!" - -#: ../../library/turtle.rst:2329 +#: ../../library/turtle.rst:2080 msgid "" "*name* is an arbitrary string and *shape* is the name of an image file (PNG, " "GIF, PGM, and PPM): Install the corresponding image shape. ::" @@ -3927,11 +3305,11 @@ msgstr "" "*name* ist eine beliebige Zeichenkette und *shape* ist der Name einer " "Bilddatei (PNG, GIF, PGM und PPM): Installiere die entsprechende Bildform. ::" -#: ../../library/turtle.rst:2332 +#: ../../library/turtle.rst:2083 msgid ">>> screen.register_shape(\"turtle\", \"turtle.gif\")" msgstr ">>> screen.register_shape(\"turtle\", \"turtle.gif\")" -#: ../../library/turtle.rst:2338 +#: ../../library/turtle.rst:2085 msgid "" "*name* is an arbitrary string and *shape* is a tuple of pairs of " "coordinates: Install the corresponding polygon shape." @@ -3939,11 +3317,11 @@ msgstr "" "*name* ist eine beliebige Zeichenkette und *shape* ist ein Tupel aus " "Koordinatenpaaren: Installiere die entsprechende Polygonform." -#: ../../library/turtle.rst:2341 +#: ../../library/turtle.rst:2088 msgid ">>> screen.register_shape(\"triangle\", ((5,-3), (0,5), (-5,-3)))" msgstr ">>> screen.register_shape(\"triangle\", ((5,-3), (0,5), (-5,-3)))" -#: ../../library/turtle.rst:2346 +#: ../../library/turtle.rst:2093 msgid "" "*name* is an arbitrary string and *shape* is a (compound) :class:`Shape` " "object: Install the corresponding compound shape." @@ -3952,16 +3330,17 @@ msgstr "" "(zusammengesetztes) :class:`Shape`-Objekt: Installiere die entsprechende " "zusammengesetzte Form." -#: ../../library/turtle.rst:2349 +#: ../../library/turtle.rst:2096 +#, fuzzy msgid "" -"Add a turtle shape to TurtleScreen's shapelist. Only thusly registered " -"shapes can be used by issuing the command ``shape(shapename)``." +"Image shapes do not rotate when turning the turtle, so they do not display " +"the heading of the turtle. To use a registered shape, call :func:`shape` " +"with its name." msgstr "" -"Füge eine Turtle-Form zur Formenliste des TurtleScreen hinzu. Nur so " -"registrierte Formen können durch den Befehl ``shape(shapename)`` verwendet " -"werden." +"Bildformen drehen sich *nicht* mit, wenn die Turtle gedreht wird, sie zeigen " +"also nicht die Ausrichtung der Turtle an!" -#: ../../library/turtle.rst:2352 +#: ../../library/turtle.rst:2100 msgid "" "Added support for PNG, PGM, and PPM image formats. Both a shape name and an " "image file name can be specified." @@ -3969,11 +3348,11 @@ msgstr "" "Unterstützung für die Bildformate PNG, PGM und PPM hinzugefügt. Es kann " "sowohl ein Formname als auch ein Bilddateiname angegeben werden." -#: ../../library/turtle.rst:2359 +#: ../../library/turtle.rst:2107 msgid "Return the list of turtles on the screen." msgstr "Gib die Liste der Turtles auf dem Screen zurück." -#: ../../library/turtle.rst:2361 +#: ../../library/turtle.rst:2109 msgid "" ">>> for turtle in screen.turtles():\n" "... turtle.color(\"red\")" @@ -3981,11 +3360,11 @@ msgstr "" ">>> for turtle in screen.turtles():\n" "... turtle.color(\"red\")" -#: ../../library/turtle.rst:2370 +#: ../../library/turtle.rst:2118 msgid "Return the height of the turtle window. ::" msgstr "Gib die Höhe des Turtle-Fensters zurück. ::" -#: ../../library/turtle.rst:2372 +#: ../../library/turtle.rst:2120 msgid "" ">>> screen.window_height()\n" "480" @@ -3993,11 +3372,11 @@ msgstr "" ">>> screen.window_height()\n" "480" -#: ../../library/turtle.rst:2378 +#: ../../library/turtle.rst:2126 msgid "Return the width of the turtle window. ::" msgstr "Gib die Weite des Turtle-Fensters zurück. ::" -#: ../../library/turtle.rst:2380 +#: ../../library/turtle.rst:2128 msgid "" ">>> screen.window_width()\n" "640" @@ -4005,19 +3384,21 @@ msgstr "" ">>> screen.window_width()\n" "640" -#: ../../library/turtle.rst:2387 -msgid "Methods specific to Screen, not inherited from TurtleScreen" -msgstr "Methoden spezifisch für Screen, nicht von TurtleScreen geerbt" +#: ../../library/turtle.rst:2136 +#, fuzzy +msgid "Screen-only methods" +msgstr "Turtle-Methoden" -#: ../../library/turtle.rst:2391 -msgid "Shut the turtlegraphics window." +#: ../../library/turtle.rst:2140 +#, fuzzy +msgid "Close the turtle graphics window." msgstr "Schließe das Turtle-Grafikfenster." -#: ../../library/turtle.rst:2396 +#: ../../library/turtle.rst:2145 msgid "Bind ``bye()`` method to mouse clicks on the Screen." msgstr "Binde die Methode ``bye()`` an Mausklicks auf dem Screen." -#: ../../library/turtle.rst:2399 +#: ../../library/turtle.rst:2148 msgid "" "If the value \"using_IDLE\" in the configuration dictionary is ``False`` " "(default value), also enter mainloop. Remark: If IDLE with the ``-n`` " @@ -4031,16 +3412,16 @@ msgstr "" "`turtle.cfg` auf ``True`` gesetzt werden. In diesem Fall ist IDLEs eigene " "mainloop auch für das Client-Skript aktiv." -#: ../../library/turtle.rst:2408 +#: ../../library/turtle.rst:2157 msgid "Save the current turtle drawing (and turtles) as a PostScript file." msgstr "" "Speichere die aktuelle Turtle-Zeichnung (und Turtles) als PostScript-Datei." -#: ../../library/turtle.rst:2410 +#: ../../library/turtle.rst:2159 msgid "the path of the saved PostScript file" msgstr "der Pfad der gespeicherten PostScript-Datei" -#: ../../library/turtle.rst:2411 +#: ../../library/turtle.rst:2160 msgid "" "if ``False`` and there already exists a file with the given filename, then " "the function will raise a ``FileExistsError``. If it is ``True``, the file " @@ -4050,7 +3431,7 @@ msgstr "" "Dateinamen, löst die Funktion einen ``FileExistsError`` aus. Ist es " "``True``, wird die Datei überschrieben." -#: ../../library/turtle.rst:2416 +#: ../../library/turtle.rst:2165 msgid "" ">>> screen.save(\"my_drawing.ps\")\n" ">>> screen.save(\"my_drawing.ps\", overwrite=True)" @@ -4058,7 +3439,7 @@ msgstr "" ">>> screen.save(\"my_drawing.ps\")\n" ">>> screen.save(\"my_drawing.ps\", overwrite=True)" -#: ../../library/turtle.rst:2426 +#: ../../library/turtle.rst:2175 msgid "" "Set the size and position of the main window. Default values of arguments " "are stored in the configuration dictionary and can be changed via a :file:" @@ -4068,7 +3449,7 @@ msgstr "" "sind im Konfigurations-Dictionary gespeichert und können über eine :file:" "`turtle.cfg`-Datei geändert werden." -#: ../../library/turtle.rst:2430 +#: ../../library/turtle.rst:2179 msgid "" "if an integer, a size in pixels, if a float, a fraction of the screen; " "default is 50% of screen" @@ -4076,7 +3457,7 @@ msgstr "" "bei einer Ganzzahl eine Größe in Pixeln, bei einer Gleitkommazahl ein Anteil " "des Bildschirms; Standard ist 50 % des Bildschirms" -#: ../../library/turtle.rst:2432 +#: ../../library/turtle.rst:2181 msgid "" "if an integer, the height in pixels, if a float, a fraction of the screen; " "default is 75% of screen" @@ -4084,7 +3465,7 @@ msgstr "" "bei einer Ganzzahl die Höhe in Pixeln, bei einer Gleitkommazahl ein Anteil " "des Bildschirms; Standard ist 75 % des Bildschirms" -#: ../../library/turtle.rst:2434 +#: ../../library/turtle.rst:2183 msgid "" "if positive, starting position in pixels from the left edge of the screen, " "if negative from the right edge, if ``None``, center window horizontally" @@ -4093,7 +3474,7 @@ msgstr "" "Bildschirmrand aus, bei einem negativen Wert vom rechten Rand aus, bei " "``None`` wird das Fenster horizontal zentriert" -#: ../../library/turtle.rst:2437 +#: ../../library/turtle.rst:2186 msgid "" "if positive, starting position in pixels from the top edge of the screen, if " "negative from the bottom edge, if ``None``, center window vertically" @@ -4102,7 +3483,7 @@ msgstr "" "Bildschirmrand aus, bei einem negativen Wert vom unteren Rand aus, bei " "``None`` wird das Fenster vertikal zentriert" -#: ../../library/turtle.rst:2441 +#: ../../library/turtle.rst:2190 msgid "" ">>> screen.setup (width=200, height=200, startx=0, starty=0)\n" ">>> # sets window to 200x200 pixels, in upper left of screen\n" @@ -4114,25 +3495,24 @@ msgstr "" ">>> screen.setup(width=.75, height=0.5, startx=None, starty=None)\n" ">>> # sets window to 75% of screen by 50% of screen and centers" -#: ../../library/turtle.rst:2452 -msgid "a string that is shown in the titlebar of the turtle graphics window" +#: ../../library/turtle.rst:2203 +#, fuzzy +msgid "" +"Set the title of the turtle window to *titlestring*. The title is shown in " +"the title bar of the turtle graphics window." msgstr "" "eine Zeichenkette, die in der Titelleiste des Turtle-Grafikfensters " "angezeigt wird" -#: ../../library/turtle.rst:2455 -msgid "Set title of turtle window to *titlestring*." -msgstr "Setze den Titel des Turtle-Fensters auf *titlestring*." - -#: ../../library/turtle.rst:2457 +#: ../../library/turtle.rst:2206 msgid ">>> screen.title(\"Welcome to the turtle zoo!\")" msgstr ">>> screen.title(\"Welcome to the turtle zoo!\")" -#: ../../library/turtle.rst:2464 +#: ../../library/turtle.rst:2213 msgid "Public classes" msgstr "Öffentliche Klassen" -#: ../../library/turtle.rst:2470 +#: ../../library/turtle.rst:2219 msgid "" "a :class:`!tkinter.Canvas`, a :class:`ScrolledCanvas` or a :class:" "`TurtleScreen`" @@ -4140,7 +3520,7 @@ msgstr "" "ein :class:`!tkinter.Canvas`, ein :class:`ScrolledCanvas` oder ein :class:" "`TurtleScreen`" -#: ../../library/turtle.rst:2473 +#: ../../library/turtle.rst:2222 msgid "" "Create a turtle. The turtle has all methods described above as \"methods of " "Turtle/RawTurtle\"." @@ -4148,7 +3528,7 @@ msgstr "" "Erstelle eine Turtle. Die Turtle hat alle oben als \"Methoden von Turtle/" "RawTurtle\" beschriebenen Methoden." -#: ../../library/turtle.rst:2479 +#: ../../library/turtle.rst:2228 msgid "" "Subclass of RawTurtle, has the same interface but draws on a default :class:" "`Screen` object created automatically when needed for the first time." @@ -4157,11 +3537,11 @@ msgstr "" "einem Standard-:class:`Screen`-Objekt, das automatisch erstellt wird, wenn " "es zum ersten Mal benötigt wird." -#: ../../library/turtle.rst:2485 +#: ../../library/turtle.rst:2234 msgid "a :class:`!tkinter.Canvas`" msgstr "a :class:`!tkinter.Canvas`" -#: ../../library/turtle.rst:2487 +#: ../../library/turtle.rst:2236 msgid "" "Provides screen oriented methods like :func:`bgcolor` etc. that are " "described above." @@ -4169,256 +3549,389 @@ msgstr "" "Stellt bildschirmorientierte Methoden wie :func:`bgcolor` usw. bereit, die " "oben beschrieben sind." -#: ../../library/turtle.rst:2492 +#: ../../library/turtle.rst:2241 msgid "" -"Subclass of TurtleScreen, with :ref:`four methods added `." +"Subclass of :class:`TurtleScreen`, with :ref:`four methods added " +"`. Calling ``Screen()`` returns the single screen object. If " +"it does not exist yet, it is created. Otherwise the existing one is returned." msgstr "" -"Unterklasse von TurtleScreen, mit :ref:`vier hinzugefügten Methoden " -"`." -#: ../../library/turtle.rst:2497 +#: ../../library/turtle.rst:2249 msgid "" "some Tkinter widget to contain the ScrolledCanvas, i.e. a Tkinter-canvas " "with scrollbars added" msgstr "" -"ein Tkinter-Widget, das den ScrolledCanvas enthält, d. h. ein Tkinter-Canvas " -"mit hinzugefügten Bildlaufleisten" +"ein Tkinter-Widget, das den ScrolledCanvas enthält, d. h. ein Tkinter-Canvas " +"mit hinzugefügten Bildlaufleisten" + +#: ../../library/turtle.rst:2252 +msgid "" +"Used by class Screen, which thus automatically provides a ScrolledCanvas as " +"playground for the turtles." +msgstr "" +"Wird von der Klasse Screen verwendet, die dadurch automatisch einen " +"ScrolledCanvas als Spielfläche für die Turtles bereitstellt." + +#: ../../library/turtle.rst:2258 +msgid "depends on *type_*" +msgstr "" + +#: ../../library/turtle.rst:2260 +msgid "" +"Data structure modeling shapes. *type_* is one of the strings \"polygon\", " +"\"image\" or \"compound\". What *data* must be depends on *type_*: for " +"\"polygon\" a tuple of pairs of coordinates, for \"image\" an image (only " +"used internally), and for \"compound\" ``None``, as a compound shape is " +"built up using the :meth:`addcomponent` method." +msgstr "" + +#: ../../library/turtle.rst:2268 +#, fuzzy +msgid "a tuple of pairs of numbers" +msgstr "ein Polygon, d.h. ein Tupel aus Zahlenpaaren" + +#: ../../library/turtle.rst:2269 +msgid "a color" +msgstr "" + +#: ../../library/turtle.rst:2270 +#, fuzzy +msgid "a color or ``None``" +msgstr "eine Zahl oder ``None``" + +#: ../../library/turtle.rst:2272 +msgid "" +"Add a component to a shape of type \"compound\". *poly* is a polygon, a " +"tuple of pairs of numbers. *fill* is the color the polygon is filled with " +"and *outline* is the color of its outline. If *outline* is not given, *fill* " +"is used for it as well." +msgstr "" + +#: ../../library/turtle.rst:2277 +msgid "Example:" +msgstr "Beispiel:" + +#: ../../library/turtle.rst:2279 +#, fuzzy +msgid "" +">>> poly = ((0,0), (10,-5), (0,10), (-10,-5))\n" +">>> s = Shape(\"compound\")\n" +">>> s.addcomponent(poly, \"red\", \"blue\")\n" +">>> # ... add more components and then use register_shape()" +msgstr "" +">>> poly = ((0,0),(10,-5),(0,10),(-10,-5))\n" +">>> s = Shape(\"compound\")\n" +">>> s.addcomponent(poly, \"red\", \"blue\")\n" +">>> # ... add more components and then use register_shape()" + +#: ../../library/turtle.rst:2287 +msgid "See :ref:`compoundshapes`." +msgstr "Siehe :ref:`compoundshapes`." + +#: ../../library/turtle.rst:2292 +msgid "" +"A two-dimensional vector class, used as a helper class for implementing " +"turtle graphics. May be useful for turtle graphics programs too. Derived " +"from tuple, so a vector is a tuple!" +msgstr "" +"Eine zweidimensionale Vektorklasse, die als Hilfsklasse zur Implementierung " +"von Turtle-Grafik dient. Kann auch für Turtle-Grafik-Programme selbst " +"nützlich sein. Von tuple abgeleitet, ein Vektor ist also ein Tupel!" + +#: ../../library/turtle.rst:2296 +msgid "Provides (for *a*, *b* vectors, *k* number):" +msgstr "Bietet (für Vektoren *a*, *b*, Zahl *k*):" + +#: ../../library/turtle.rst:2298 +msgid "``a + b`` vector addition" +msgstr "``a + b`` Vectoraddition" + +#: ../../library/turtle.rst:2299 +msgid "``a - b`` vector subtraction" +msgstr "``a - b`` Vectorsubtraction" + +#: ../../library/turtle.rst:2300 +msgid "``a * b`` inner product" +msgstr "``a * b`` Skalarprodukt" + +#: ../../library/turtle.rst:2301 +msgid "``k * a`` and ``a * k`` multiplication with scalar" +msgstr "``k * a`` und ``a * k`` Multiplikation mit Skalar" + +#: ../../library/turtle.rst:2302 +msgid "``abs(a)`` absolute value of a" +msgstr "``abs(a)`` Absolutwert von a" + +#: ../../library/turtle.rst:2303 +msgid "``a.rotate(angle)`` rotation" +msgstr "``a.rotate(angle)`` Rotation" + +#: ../../library/turtle.rst:2307 +msgid "Exceptions" +msgstr "Erklärungen" + +#: ../../library/turtle.rst:2309 +msgid "The :mod:`!turtle` module defines the following exception:" +msgstr "Das Modul :mod:`!turtle` definiert die folgende Ausnahme:" + +#: ../../library/turtle.rst:2313 +msgid "" +"Raised for invalid arguments or operations. For example, a malformed color " +"string:" +msgstr "" +"Wird bei ungültigen Argumenten oder Operationen ausgelöst. Zum Beispiel bei " +"einer fehlerhaften Farbzeichenkette:" + +#: ../../library/turtle.rst:2316 +msgid "" +">>> turtle.color(\"blau\")\n" +"Traceback (most recent call last):\n" +" ...\n" +"turtle.TurtleGraphicsError: bad color string: blau" +msgstr "" +">>> turtle.color(\"blau\")\n" +"Traceback (most recent call last):\n" +" ...\n" +"turtle.TurtleGraphicsError: bad color string: blau" + +#: ../../library/turtle.rst:2330 +msgid "How-to guides" +msgstr "How-to-Anleitungen" + +#: ../../library/turtle.rst:2332 +msgid "This section covers some typical turtle use-cases and approaches." +msgstr "" +"Dieser Abschnitt behandelt einige typische Anwendungsfälle und " +"Vorgehensweisen für Turtle." + +#: ../../library/turtle.rst:2336 +msgid "Automatically begin and end filling" +msgstr "Füllen automatisch beginnen und beenden" + +#: ../../library/turtle.rst:2338 +msgid "" +"Starting with Python 3.14, you can use the :func:`fill` :term:`context " +"manager` instead of :func:`begin_fill` and :func:`end_fill` to automatically " +"begin and end fill. Here is an example::" +msgstr "" +"Ab Python 3.14 kannst du den :term:`Kontextmanager ` :func:" +"`fill` anstelle von :func:`begin_fill` und :func:`end_fill` verwenden, um " +"das Füllen automatisch zu beginnen und zu beenden. Hier ist ein Beispiel::" + +#: ../../library/turtle.rst:2342 +msgid "" +"with fill():\n" +" for i in range(4):\n" +" forward(100)\n" +" right(90)\n" +"\n" +"forward(200)" +msgstr "" +"with fill():\n" +" for i in range(4):\n" +" forward(100)\n" +" right(90)\n" +"\n" +"forward(200)" + +#: ../../library/turtle.rst:2349 +msgid "The code above is equivalent to::" +msgstr "Der obige Code ist äquivalent zu::" + +#: ../../library/turtle.rst:2351 +msgid "" +"begin_fill()\n" +"for i in range(4):\n" +" forward(100)\n" +" right(90)\n" +"end_fill()\n" +"\n" +"forward(200)" +msgstr "" +"begin_fill()\n" +"for i in range(4):\n" +" forward(100)\n" +" right(90)\n" +"end_fill()\n" +"\n" +"forward(200)" + +#: ../../library/turtle.rst:2361 +msgid "Use the ``turtle`` module namespace" +msgstr "Das ``turtle``-Modul im eigenen Namensraum verwenden" + +#: ../../library/turtle.rst:2363 +msgid "" +"Using ``from turtle import *`` is convenient - but be warned that it imports " +"a rather large collection of objects, and if you're doing anything but " +"turtle graphics you run the risk of a name conflict (this becomes even more " +"an issue if you're using turtle graphics in a script where other modules " +"might be imported)." +msgstr "" +"Es ist praktisch, ``from turtle import *`` zu verwenden – aber sei gewarnt, " +"dass dadurch eine recht große Sammlung von Objekten importiert wird, und " +"wenn du irgendetwas außer Turtle-Grafik machst, läufst du Gefahr eines " +"Namenskonflikts (dies wird noch problematischer, wenn du Turtle-Grafik in " +"einem Skript verwendest, in dem auch andere Module importiert werden " +"könnten)." -#: ../../library/turtle.rst:2500 +#: ../../library/turtle.rst:2369 msgid "" -"Used by class Screen, which thus automatically provides a ScrolledCanvas as " -"playground for the turtles." +"The solution is to use ``import turtle`` - ``fd()`` becomes ``turtle.fd()``, " +"``width()`` becomes ``turtle.width()`` and so on. (If typing \"turtle\" over " +"and over again becomes tedious, use for example ``import turtle as t`` " +"instead.)" msgstr "" -"Wird von der Klasse Screen verwendet, die dadurch automatisch einen " -"ScrolledCanvas als Spielfläche für die Turtles bereitstellt." +"Die Lösung besteht darin, ``import turtle`` zu verwenden - ``fd()`` wird zu " +"``turtle.fd()``, ``width()`` wird zu ``turtle.width()`` und so weiter. " +"(Falls es lästig wird, immer wieder \"turtle\" zu tippen, verwende " +"stattdessen zum Beispiel ``import turtle as t``.)" -#: ../../library/turtle.rst:2505 -msgid "one of the strings \"polygon\", \"image\", \"compound\"" -msgstr "eine der Zeichenketten \"polygon\", \"image\", \"compound\"" +#: ../../library/turtle.rst:2376 +msgid "Use turtle graphics in a script" +msgstr "Turtle-Grafik in einem Skript verwenden" -#: ../../library/turtle.rst:2507 +#: ../../library/turtle.rst:2378 msgid "" -"Data structure modeling shapes. The pair ``(type_, data)`` must follow this " -"specification:" +"It's recommended to use the ``turtle`` module namespace as described " +"immediately above, for example::" msgstr "" -"Datenstruktur zur Modellierung von Formen. Das Paar ``(type_, data)`` muss " -"dieser Spezifikation folgen:" - -#: ../../library/turtle.rst:2512 -msgid "*type_*" -msgstr "*type_*" - -#: ../../library/turtle.rst:2512 -msgid "*data*" -msgstr "*data*" - -#: ../../library/turtle.rst:2514 -msgid "\"polygon\"" -msgstr "\"polygon\"" - -#: ../../library/turtle.rst:2514 -msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" -msgstr "ein Polygon-Tupel, d. h. ein Tupel aus Koordinatenpaaren" - -#: ../../library/turtle.rst:2515 -msgid "\"image\"" -msgstr "\"image\"" - -#: ../../library/turtle.rst:2515 -msgid "an image (in this form only used internally!)" -msgstr "ein Bild (in dieser Form nur intern verwendet!)" - -#: ../../library/turtle.rst:2516 -msgid "\"compound\"" -msgstr "\"compound\"" +"Es wird empfohlen, den Namensraum des Moduls ``turtle`` wie unmittelbar oben " +"beschrieben zu verwenden, zum Beispiel::" -#: ../../library/turtle.rst:2516 +#: ../../library/turtle.rst:2381 msgid "" -"``None`` (a compound shape has to be constructed using the :meth:" -"`addcomponent` method)" +"import turtle as t\n" +"from random import random\n" +"\n" +"for i in range(100):\n" +" steps = int(random() * 100)\n" +" angle = int(random() * 360)\n" +" t.right(angle)\n" +" t.fd(steps)" msgstr "" -"``None`` (eine zusammengesetzte Form muss mit der Methode :meth:" -"`addcomponent` erstellt werden)" - -#: ../../library/turtle.rst:2522 -msgid "a polygon, i.e. a tuple of pairs of numbers" -msgstr "ein Polygon, d.h. ein Tupel aus Zahlenpaaren" - -#: ../../library/turtle.rst:2523 -msgid "a color the *poly* will be filled with" -msgstr "eine Farbe, mit der das *poly* gefüllt wird" - -#: ../../library/turtle.rst:2524 -msgid "a color for the poly's outline (if given)" -msgstr "eine Farbe für den Umriss des poly (falls angegeben)" - -#: ../../library/turtle.rst:2526 -msgid "Example:" -msgstr "Beispiel:" +"import turtle as t\n" +"from random import random\n" +"\n" +"for i in range(100):\n" +" steps = int(random() * 100)\n" +" angle = int(random() * 360)\n" +" t.right(angle)\n" +" t.fd(steps)" -#: ../../library/turtle.rst:2528 +#: ../../library/turtle.rst:2390 msgid "" -">>> poly = ((0,0),(10,-5),(0,10),(-10,-5))\n" -">>> s = Shape(\"compound\")\n" -">>> s.addcomponent(poly, \"red\", \"blue\")\n" -">>> # ... add more components and then use register_shape()" +"Another step is also required though - as soon as the script ends, Python " +"will also close the turtle's window. Add::" msgstr "" -">>> poly = ((0,0),(10,-5),(0,10),(-10,-5))\n" -">>> s = Shape(\"compound\")\n" -">>> s.addcomponent(poly, \"red\", \"blue\")\n" -">>> # ... add more components and then use register_shape()" +"Ein weiterer Schritt ist jedoch ebenfalls erforderlich - sobald das Skript " +"endet, wird Python auch das Fenster der Turtle schließen. Füge Folgendes " +"hinzu::" -#: ../../library/turtle.rst:2536 -msgid "See :ref:`compoundshapes`." -msgstr "Siehe :ref:`compoundshapes`." +#: ../../library/turtle.rst:2393 +msgid "t.mainloop()" +msgstr "t.mainloop()" -#: ../../library/turtle.rst:2541 +#: ../../library/turtle.rst:2395 msgid "" -"A two-dimensional vector class, used as a helper class for implementing " -"turtle graphics. May be useful for turtle graphics programs too. Derived " -"from tuple, so a vector is a tuple!" +"to the end of the script. The script will now wait to be dismissed and will " +"not exit until it is terminated, for example by closing the turtle graphics " +"window." msgstr "" -"Eine zweidimensionale Vektorklasse, die als Hilfsklasse zur Implementierung " -"von Turtle-Grafik dient. Kann auch für Turtle-Grafik-Programme selbst " -"nützlich sein. Von tuple abgeleitet, ein Vektor ist also ein Tupel!" - -#: ../../library/turtle.rst:2545 -msgid "Provides (for *a*, *b* vectors, *k* number):" -msgstr "Bietet (für Vektoren *a*, *b*, Zahl *k*):" - -#: ../../library/turtle.rst:2547 -msgid "``a + b`` vector addition" -msgstr "``a + b`` Vectoraddition" - -#: ../../library/turtle.rst:2548 -msgid "``a - b`` vector subtraction" -msgstr "``a - b`` Vectorsubtraction" - -#: ../../library/turtle.rst:2549 -msgid "``a * b`` inner product" -msgstr "``a * b`` Skalarprodukt" - -#: ../../library/turtle.rst:2550 -msgid "``k * a`` and ``a * k`` multiplication with scalar" -msgstr "``k * a`` und ``a * k`` Multiplikation mit Skalar" - -#: ../../library/turtle.rst:2551 -msgid "``abs(a)`` absolute value of a" -msgstr "``abs(a)`` Absolutwert von a" - -#: ../../library/turtle.rst:2552 -msgid "``a.rotate(angle)`` rotation" -msgstr "``a.rotate(angle)`` Rotation" - -#: ../../library/turtle.rst:2556 -msgid "Exceptions" -msgstr "Erklärungen" +"am Ende des Skripts. Das Skript wartet nun darauf, geschlossen zu werden, " +"und beendet sich nicht, bis es beendet wird, zum Beispiel durch Schließen " +"des Turtle-Grafikfensters." -#: ../../library/turtle.rst:2558 -msgid "The :mod:`!turtle` module defines the following exception:" -msgstr "Das Modul :mod:`!turtle` definiert die folgende Ausnahme:" +#: ../../library/turtle.rst:2401 +msgid "Use object-oriented turtle graphics" +msgstr "Objektorientierte Turtle-Grafik verwenden" -#: ../../library/turtle.rst:2562 +#: ../../library/turtle.rst:2403 msgid "" -"Raised for invalid arguments or operations. For example, a malformed color " -"string:" +":ref:`Explanation of the object-oriented interface `" msgstr "" -"Wird bei ungültigen Argumenten oder Operationen ausgelöst. Zum Beispiel bei " -"einer fehlerhaften Farbzeichenkette:" +":ref:`Erklärung der objektorientierten Schnittstelle `" -#: ../../library/turtle.rst:2565 +#: ../../library/turtle.rst:2405 msgid "" -">>> turtle.color(\"blau\")\n" -"Traceback (most recent call last):\n" -" ...\n" -"turtle.TurtleGraphicsError: bad color string: blau" +"Other than for very basic introductory purposes, or for trying things out as " +"quickly as possible, it's more usual and much more powerful to use the " +"object-oriented approach to turtle graphics. For example, this allows " +"multiple turtles on screen at once." msgstr "" -">>> turtle.color(\"blau\")\n" -"Traceback (most recent call last):\n" -" ...\n" -"turtle.TurtleGraphicsError: bad color string: blau" - -#: ../../library/turtle.rst:2577 -msgid "Explanation" -msgstr "Erklärung" +"Abgesehen von sehr grundlegenden Einführungszwecken oder um Dinge so schnell " +"wie möglich auszuprobieren, ist es üblicher und deutlich leistungsfähiger, " +"den objektorientierten Ansatz für Turtle-Grafik zu verwenden. Dies " +"ermöglicht zum Beispiel mehrere Turtles gleichzeitig auf dem Bildschirm." -#: ../../library/turtle.rst:2579 +#: ../../library/turtle.rst:2410 msgid "" -"A turtle object draws on a screen object, and there a number of key classes " -"in the turtle object-oriented interface that can be used to create them and " -"relate them to each other." +"In this approach, the various turtle commands are methods of objects (mostly " +"of ``Turtle`` objects). You *can* use the object-oriented approach in the " +"shell, but it would be more typical in a Python script." msgstr "" -"Ein Turtle-Objekt zeichnet auf einem Screen-Objekt, und es gibt eine Reihe " -"zentraler Klassen in der objektorientierten Turtle-Schnittstelle, mit denen " -"man diese erstellen und miteinander in Beziehung setzen kann." +"Bei diesem Ansatz sind die verschiedenen Turtle-Befehle Methoden von " +"Objekten (meist von ``Turtle``-Objekten). Du *kannst* den objektorientierten " +"Ansatz auch in der Shell verwenden, typischer wäre es aber in einem Python-" +"Skript." -#: ../../library/turtle.rst:2583 -msgid "" -"A :class:`Turtle` instance will automatically create a :class:`Screen` " -"instance if one is not already present." -msgstr "" -"Eine :class:`Turtle`-Instanz erstellt automatisch eine :class:`Screen`-" -"Instanz, falls noch keine vorhanden ist." +#: ../../library/turtle.rst:2414 +msgid "The example above then becomes::" +msgstr "Das obige Beispiel wird dann zu::" -#: ../../library/turtle.rst:2586 +#: ../../library/turtle.rst:2416 msgid "" -"``Turtle`` is a subclass of :class:`RawTurtle`, which *doesn't* " -"automatically create a drawing surface - a *canvas* will need to be provided " -"or created for it. The *canvas* can be a :class:`!tkinter.Canvas`, :class:" -"`ScrolledCanvas` or :class:`TurtleScreen`." +"from turtle import Turtle\n" +"from random import random\n" +"\n" +"t = Turtle()\n" +"for i in range(100):\n" +" steps = int(random() * 100)\n" +" angle = int(random() * 360)\n" +" t.right(angle)\n" +" t.fd(steps)\n" +"\n" +"t.screen.mainloop()" msgstr "" -"``Turtle`` ist eine Unterklasse von :class:`RawTurtle`, die *keine* " -"Zeichenfläche automatisch erstellt - eine *canvas* muss dafür bereitgestellt " -"oder erstellt werden. Die *canvas* kann ein :class:`!tkinter.Canvas`, :class:" -"`ScrolledCanvas` oder :class:`TurtleScreen` sein." +"from turtle import Turtle\n" +"from random import random\n" +"\n" +"t = Turtle()\n" +"for i in range(100):\n" +" steps = int(random() * 100)\n" +" angle = int(random() * 360)\n" +" t.right(angle)\n" +" t.fd(steps)\n" +"\n" +"t.screen.mainloop()" -#: ../../library/turtle.rst:2592 +#: ../../library/turtle.rst:2428 msgid "" -":class:`TurtleScreen` is the basic drawing surface for a turtle. :class:" -"`Screen` is a subclass of ``TurtleScreen``, and includes :ref:`some " -"additional methods ` for managing its appearance (including " -"size and title) and behaviour. ``TurtleScreen``'s constructor needs a :class:" -"`!tkinter.Canvas` or a :class:`ScrolledCanvas` as an argument." +"Note the last line. ``t.screen`` is an instance of the :class:`Screen` that " +"a Turtle instance exists on; it's created automatically along with the " +"turtle." msgstr "" -":class:`TurtleScreen` ist die grundlegende Zeichenfläche für eine Turtle. :" -"class:`Screen` ist eine Unterklasse von ``TurtleScreen`` und enthält :ref:" -"`einige zusätzliche Methoden ` zur Verwaltung ihres " -"Erscheinungsbilds (einschließlich Größe und Titel) und Verhaltens. Der " -"Konstruktor von ``TurtleScreen`` benötigt ein :class:`!tkinter.Canvas` oder " -"ein :class:`ScrolledCanvas` als Argument." +"Beachte die letzte Zeile. ``t.screen`` ist eine Instanz der :class:`Screen`, " +"auf der eine Turtle-Instanz existiert; sie wird automatisch zusammen mit der " +"Turtle erstellt." -#: ../../library/turtle.rst:2599 -msgid "" -"The functional interface for turtle graphics uses the various methods of " -"``Turtle`` and ``TurtleScreen``/``Screen``. Behind the scenes, a screen " -"object is automatically created whenever a function derived from a " -"``Screen`` method is called. Similarly, a turtle object is automatically " -"created whenever any of the functions derived from a Turtle method is called." -msgstr "" -"Die funktionale Schnittstelle für Turtle-Grafik verwendet die verschiedenen " -"Methoden von ``Turtle`` und ``TurtleScreen``/``Screen``. Im Hintergrund wird " -"automatisch ein Screen-Objekt erstellt, sobald eine von einer ``Screen``-" -"Methode abgeleitete Funktion aufgerufen wird. Ebenso wird automatisch ein " -"Turtle-Objekt erstellt, sobald eine der von einer Turtle-Methode " -"abgeleiteten Funktionen aufgerufen wird." +#: ../../library/turtle.rst:2432 +msgid "The turtle's screen can be customised, for example::" +msgstr "Der Turtle-Scree kann angepasst werden, zum Beispiel::" -#: ../../library/turtle.rst:2605 +#: ../../library/turtle.rst:2434 msgid "" -"To use multiple turtles on a screen, the object-oriented interface must be " -"used." +"t.screen.title('Object-oriented turtle demo')\n" +"t.screen.bgcolor(\"orange\")" msgstr "" -"Um mehrere Turtles auf einem Screen zu verwenden, muss die objektorientierte " -"Schnittstelle genutzt werden." - -#: ../../library/turtle.rst:2610 -msgid "Help and configuration" -msgstr "Hilfe und Konfiguration" +"t.screen.title('Object-oriented turtle demo')\n" +"t.screen.bgcolor(\"orange\")" -#: ../../library/turtle.rst:2613 +#: ../../library/turtle.rst:2441 msgid "How to use help" msgstr "Wie man die Hilfe verwendet" -#: ../../library/turtle.rst:2615 +#: ../../library/turtle.rst:2443 msgid "" "The public methods of the Screen and Turtle classes are documented " "extensively via docstrings. So these can be used as online-help via the " @@ -4428,7 +3941,7 @@ msgstr "" "über Docstrings dokumentiert. Diese können daher über die Python-" "Hilfefunktionen als Online-Hilfe verwendet werden:" -#: ../../library/turtle.rst:2619 +#: ../../library/turtle.rst:2447 msgid "" "When using IDLE, tooltips show the signatures and first lines of the " "docstrings of typed in function-/method calls." @@ -4436,13 +3949,13 @@ msgstr "" "Bei Verwendung von IDLE zeigen Tooltips die Signaturen und die ersten Zeilen " "der Docstrings eingetippter Funktions-/Methodenaufrufe." -#: ../../library/turtle.rst:2622 +#: ../../library/turtle.rst:2450 msgid "Calling :func:`help` on methods or functions displays the docstrings::" msgstr "" "Der Aufruf von :func:`help` für Methoden oder Funktionen zeigt die " "Docstrings an::" -#: ../../library/turtle.rst:2624 +#: ../../library/turtle.rst:2452 msgid "" ">>> help(Screen.bgcolor)\n" "Help on method bgcolor in module turtle:\n" @@ -4502,7 +4015,7 @@ msgstr "" "\n" " >>> turtle.penup()" -#: ../../library/turtle.rst:2653 +#: ../../library/turtle.rst:2481 msgid "" "The docstrings of the functions which are derived from methods have a " "modified form::" @@ -4510,7 +4023,7 @@ msgstr "" "Die Docstrings der Funktionen, die von Methoden abgeleitet sind, haben eine " "abgewandelte Form::" -#: ../../library/turtle.rst:2656 +#: ../../library/turtle.rst:2484 msgid "" ">>> help(bgcolor)\n" "Help on function bgcolor in module turtle:\n" @@ -4574,7 +4087,7 @@ msgstr "" " Example:\n" " >>> penup()" -#: ../../library/turtle.rst:2687 +#: ../../library/turtle.rst:2515 msgid "" "These modified docstrings are created automatically together with the " "function definitions that are derived from the methods at import time." @@ -4583,11 +4096,11 @@ msgstr "" "Funktionsdefinitionen erstellt, die zur Importzeit von den Methoden " "abgeleitet werden." -#: ../../library/turtle.rst:2692 +#: ../../library/turtle.rst:2520 msgid "Translation of docstrings into different languages" msgstr "Übersetzung von Docstrings in verschiedene Sprachen" -#: ../../library/turtle.rst:2694 +#: ../../library/turtle.rst:2522 msgid "" "There is a utility to create a dictionary the keys of which are the method " "names and the values of which are the docstrings of the public methods of " @@ -4597,11 +4110,11 @@ msgstr "" "die Methodennamen und dessen Werte die Docstrings der öffentlichen Methoden " "der Klassen Screen und Turtle sind." -#: ../../library/turtle.rst:2700 +#: ../../library/turtle.rst:2528 msgid "a string, used as filename" msgstr "eine Zeichenkette, verwendet als Dateiname" -#: ../../library/turtle.rst:2702 +#: ../../library/turtle.rst:2530 msgid "" "Create and write docstring-dictionary to a Python script with the given " "filename. This function has to be called explicitly (it is not used by the " @@ -4616,7 +4129,7 @@ msgstr "" "ist als Vorlage für die Übersetzung der Docstrings in verschiedene Sprachen " "gedacht." -#: ../../library/turtle.rst:2708 +#: ../../library/turtle.rst:2536 msgid "" "If you (or your students) want to use :mod:`!turtle` with online help in " "your native language, you have to translate the docstrings and save the " @@ -4626,7 +4139,7 @@ msgstr "" "Muttersprache verwenden möchtest, musst du die Docstrings übersetzen und die " "entstehende Datei z. B. als :file:`turtle_docstringdict_german.py` speichern." -#: ../../library/turtle.rst:2712 +#: ../../library/turtle.rst:2540 msgid "" "If you have an appropriate entry in your :file:`turtle.cfg` file this " "dictionary will be read in at import time and will replace the original " @@ -4636,7 +4149,7 @@ msgstr "" "hast, wird dieses Dictionary zur Importzeit eingelesen und ersetzt die " "ursprünglichen englischen Docstrings." -#: ../../library/turtle.rst:2715 +#: ../../library/turtle.rst:2543 msgid "" "At the time of this writing there are docstring dictionaries in German and " "in Italian. (Requests please to glingl@aon.at.)" @@ -4644,11 +4157,11 @@ msgstr "" "Zum Zeitpunkt der Erstellung dieses Textes gibt es Docstring-Dictionaries " "auf Deutsch und auf Italienisch. (Anfragen bitte an glingl@aon.at.)" -#: ../../library/turtle.rst:2721 +#: ../../library/turtle.rst:2549 msgid "How to configure Screen and Turtles" msgstr "Wie man Screen und Turtles konfiguriert" -#: ../../library/turtle.rst:2723 +#: ../../library/turtle.rst:2551 msgid "" "The built-in default configuration mimics the appearance and behaviour of " "the old turtle module in order to retain best possible compatibility with it." @@ -4657,7 +4170,7 @@ msgstr "" "Verhalten des alten turtle-Moduls nach, um eine möglichst gute " "Kompatibilität damit zu bewahren." -#: ../../library/turtle.rst:2726 +#: ../../library/turtle.rst:2554 msgid "" "If you want to use a different configuration which better reflects the " "features of this module or which better fits to your needs, e.g. for use in " @@ -4671,13 +4184,13 @@ msgstr "" "``turtle.cfg`` vorbereiten, die zur Importzeit eingelesen wird und die " "Konfiguration entsprechend ihrer Einstellungen ändert." -#: ../../library/turtle.rst:2731 +#: ../../library/turtle.rst:2559 msgid "" "The built in configuration would correspond to the following ``turtle.cfg``:" msgstr "" "Die integrierte Konfiguration würde der folgenden ``turtle.cfg`` entsprechen:" -#: ../../library/turtle.rst:2733 +#: ../../library/turtle.rst:2561 msgid "" "width = 0.5\n" "height = 0.75\n" @@ -4721,11 +4234,11 @@ msgstr "" "title = Python Turtle Graphics\n" "using_IDLE = False" -#: ../../library/turtle.rst:2756 +#: ../../library/turtle.rst:2584 msgid "Short explanation of selected entries:" msgstr "Kurze Erklärung ausgewählter Einträge:" -#: ../../library/turtle.rst:2758 +#: ../../library/turtle.rst:2586 msgid "" "The first four lines correspond to the arguments of the :func:`Screen.setup " "` method." @@ -4733,7 +4246,7 @@ msgstr "" "Die ersten vier Zeilen entsprechen den Argumenten der Methode :func:`Screen." "setup `." -#: ../../library/turtle.rst:2760 +#: ../../library/turtle.rst:2588 msgid "" "Line 5 and 6 correspond to the arguments of the method :func:`Screen." "screensize `." @@ -4741,7 +4254,7 @@ msgstr "" "Zeile 5 und 6 entsprechen den Argumenten der Methode :func:`Screen." "screensize `." -#: ../../library/turtle.rst:2762 +#: ../../library/turtle.rst:2590 msgid "" "*shape* can be any of the built-in shapes, e.g: arrow, turtle, etc. For " "more info try ``help(shape)``." @@ -4749,7 +4262,7 @@ msgstr "" "*shape* kann eine der integrierten Formen sein, z. B.: arrow, turtle usw. " "Für weitere Informationen versuche ``help(shape)``." -#: ../../library/turtle.rst:2764 +#: ../../library/turtle.rst:2592 msgid "" "If you want to use no fill color (i.e. make the turtle transparent), you " "have to write ``fillcolor = \"\"`` (but all nonempty strings must not have " @@ -4760,7 +4273,7 @@ msgstr "" "nichtleeren Zeichenketten dürfen in der cfg-Datei keine Anführungszeichen " "haben)." -#: ../../library/turtle.rst:2767 +#: ../../library/turtle.rst:2595 msgid "" "If you want to reflect the turtle its state, you have to use ``resizemode = " "auto``." @@ -4768,7 +4281,7 @@ msgstr "" "Wenn die Turtle ihren Zustand widerspiegeln soll, musst du ``resizemode = " "auto`` verwenden." -#: ../../library/turtle.rst:2769 +#: ../../library/turtle.rst:2597 msgid "" "If you set e.g. ``language = italian`` the docstringdict :file:" "`turtle_docstringdict_italian.py` will be loaded at import time (if present " @@ -4778,7 +4291,7 @@ msgstr "" "`turtle_docstringdict_italian.py` zur Importzeit geladen (sofern es im " "Importpfad vorhanden ist, z. B. im selben Verzeichnis wie :mod:`!turtle`)." -#: ../../library/turtle.rst:2772 +#: ../../library/turtle.rst:2600 msgid "" "The entries *exampleturtle* and *examplescreen* define the names of these " "objects as they occur in the docstrings. The transformation of method-" @@ -4790,7 +4303,7 @@ msgstr "" "Methoden-Docstrings in Funktions-Docstrings werden diese Namen aus den " "Docstrings entfernt." -#: ../../library/turtle.rst:2776 +#: ../../library/turtle.rst:2604 msgid "" "*using_IDLE*: Set this to ``True`` if you regularly work with IDLE and its " "``-n`` switch (\"no subprocess\"). This will prevent :func:`exitonclick` to " @@ -4800,7 +4313,7 @@ msgstr "" "dessen Schalter ``-n`` (\"no subprocess\") arbeitest. Dies verhindert, dass :" "func:`exitonclick` die mainloop aufruft." -#: ../../library/turtle.rst:2780 +#: ../../library/turtle.rst:2608 msgid "" "There can be a :file:`turtle.cfg` file in the directory where :mod:`!turtle` " "is stored and an additional one in the current working directory. The " @@ -4810,7 +4323,7 @@ msgstr "" "turtle` gespeichert ist, sowie eine zusätzliche im aktuellen " "Arbeitsverzeichnis. Letztere überschreibt die Einstellungen der ersten." -#: ../../library/turtle.rst:2784 +#: ../../library/turtle.rst:2612 msgid "" "The :file:`Lib/turtledemo` directory contains a :file:`turtle.cfg` file. " "You can study it as an example and see its effects when running the demos " @@ -4820,11 +4333,83 @@ msgstr "" "Datei. Du kannst sie als Beispiel studieren und ihre Auswirkungen beim " "Ausführen der Demos sehen (vorzugsweise nicht innerhalb des Demo-Viewers)." -#: ../../library/turtle.rst:2790 +#: ../../library/turtle.rst:2620 +msgid "Explanation" +msgstr "Erklärung" + +#: ../../library/turtle.rst:2622 +msgid "" +"A turtle object draws on a screen object, and there a number of key classes " +"in the turtle object-oriented interface that can be used to create them and " +"relate them to each other." +msgstr "" +"Ein Turtle-Objekt zeichnet auf einem Screen-Objekt, und es gibt eine Reihe " +"zentraler Klassen in der objektorientierten Turtle-Schnittstelle, mit denen " +"man diese erstellen und miteinander in Beziehung setzen kann." + +#: ../../library/turtle.rst:2626 +msgid "" +"A :class:`Turtle` instance will automatically create a :class:`Screen` " +"instance if one is not already present." +msgstr "" +"Eine :class:`Turtle`-Instanz erstellt automatisch eine :class:`Screen`-" +"Instanz, falls noch keine vorhanden ist." + +#: ../../library/turtle.rst:2629 +msgid "" +"``Turtle`` is a subclass of :class:`RawTurtle`, which *doesn't* " +"automatically create a drawing surface - a *canvas* will need to be provided " +"or created for it. The *canvas* can be a :class:`!tkinter.Canvas`, :class:" +"`ScrolledCanvas` or :class:`TurtleScreen`." +msgstr "" +"``Turtle`` ist eine Unterklasse von :class:`RawTurtle`, die *keine* " +"Zeichenfläche automatisch erstellt - eine *canvas* muss dafür bereitgestellt " +"oder erstellt werden. Die *canvas* kann ein :class:`!tkinter.Canvas`, :class:" +"`ScrolledCanvas` oder :class:`TurtleScreen` sein." + +#: ../../library/turtle.rst:2635 +msgid "" +":class:`TurtleScreen` is the basic drawing surface for a turtle. :class:" +"`Screen` is a subclass of ``TurtleScreen``, and includes :ref:`some " +"additional methods ` for managing its appearance (including " +"size and title) and behaviour. ``TurtleScreen``'s constructor needs a :class:" +"`!tkinter.Canvas` or a :class:`ScrolledCanvas` as an argument." +msgstr "" +":class:`TurtleScreen` ist die grundlegende Zeichenfläche für eine Turtle. :" +"class:`Screen` ist eine Unterklasse von ``TurtleScreen`` und enthält :ref:" +"`einige zusätzliche Methoden ` zur Verwaltung ihres " +"Erscheinungsbilds (einschließlich Größe und Titel) und Verhaltens. Der " +"Konstruktor von ``TurtleScreen`` benötigt ein :class:`!tkinter.Canvas` oder " +"ein :class:`ScrolledCanvas` als Argument." + +#: ../../library/turtle.rst:2642 +msgid "" +"The functional interface for turtle graphics uses the various methods of " +"``Turtle`` and ``TurtleScreen``/``Screen``. Behind the scenes, a screen " +"object is automatically created whenever a function derived from a " +"``Screen`` method is called. Similarly, a turtle object is automatically " +"created whenever any of the functions derived from a Turtle method is called." +msgstr "" +"Die funktionale Schnittstelle für Turtle-Grafik verwendet die verschiedenen " +"Methoden von ``Turtle`` und ``TurtleScreen``/``Screen``. Im Hintergrund wird " +"automatisch ein Screen-Objekt erstellt, sobald eine von einer ``Screen``-" +"Methode abgeleitete Funktion aufgerufen wird. Ebenso wird automatisch ein " +"Turtle-Objekt erstellt, sobald eine der von einer Turtle-Methode " +"abgeleiteten Funktionen aufgerufen wird." + +#: ../../library/turtle.rst:2648 +msgid "" +"To use multiple turtles on a screen, the object-oriented interface must be " +"used." +msgstr "" +"Um mehrere Turtles auf einem Screen zu verwenden, muss die objektorientierte " +"Schnittstelle genutzt werden." + +#: ../../library/turtle.rst:2653 msgid ":mod:`!turtledemo` --- Demo scripts" msgstr ":mod:`!turtledemo` --- Demo-Skripte" -#: ../../library/turtle.rst:2795 +#: ../../library/turtle.rst:2658 msgid "" "The :mod:`!turtledemo` package includes a set of demo scripts. These " "scripts can be run and viewed using the supplied demo viewer as follows::" @@ -4833,26 +4418,26 @@ msgstr "" "Skripte können mit dem mitgelieferten Demo-Viewer wie folgt ausgeführt und " "betrachtet werden::" -#: ../../library/turtle.rst:2798 +#: ../../library/turtle.rst:2661 msgid "python -m turtledemo" msgstr "python -m turtledemo" -#: ../../library/turtle.rst:2800 +#: ../../library/turtle.rst:2663 msgid "" "Alternatively, you can run the demo scripts individually. For example, ::" msgstr "" "Alternativ kannst du die Demo-Skripte auch einzeln ausführen. Zum " "Beispiel: ::" -#: ../../library/turtle.rst:2802 +#: ../../library/turtle.rst:2665 msgid "python -m turtledemo.bytedesign" msgstr "python -m turtledemo.bytedesign" -#: ../../library/turtle.rst:2804 +#: ../../library/turtle.rst:2667 msgid "The :mod:`!turtledemo` package directory contains:" msgstr "Das Paketverzeichnis :mod:`!turtledemo` enthält:" -#: ../../library/turtle.rst:2806 +#: ../../library/turtle.rst:2669 msgid "" "A demo viewer :file:`__main__.py` which can be used to view the sourcecode " "of the scripts and run them at the same time." @@ -4860,7 +4445,7 @@ msgstr "" "Einen Demo-Viewer :file:`__main__.py`, mit dem der Quellcode der Skripte " "betrachtet und gleichzeitig ausgeführt werden kann." -#: ../../library/turtle.rst:2808 +#: ../../library/turtle.rst:2671 msgid "" "Multiple scripts demonstrating different features of the :mod:`!turtle` " "module. Examples can be accessed via the Examples menu. They can also be " @@ -4870,7 +4455,7 @@ msgstr "" "demonstrieren. Auf die Beispiele kann über das Menü Examples zugegriffen " "werden. Sie können auch eigenständig ausgeführt werden." -#: ../../library/turtle.rst:2811 +#: ../../library/turtle.rst:2674 msgid "" "A :file:`turtle.cfg` file which serves as an example of how to write and use " "such files." @@ -4878,39 +4463,39 @@ msgstr "" "Eine :file:`turtle.cfg`-Datei, die als Beispiel dient, wie solche Dateien " "geschrieben und verwendet werden." -#: ../../library/turtle.rst:2814 +#: ../../library/turtle.rst:2677 msgid "The demo scripts are:" msgstr "Die Demo-Skripte sind:" -#: ../../library/turtle.rst:2821 +#: ../../library/turtle.rst:2684 msgid "Name" msgstr "Name" -#: ../../library/turtle.rst:2821 +#: ../../library/turtle.rst:2684 msgid "Description" msgstr "Beschreibung" -#: ../../library/turtle.rst:2821 +#: ../../library/turtle.rst:2684 msgid "Features" msgstr "Feature" -#: ../../library/turtle.rst:2823 +#: ../../library/turtle.rst:2686 msgid "``bytedesign``" msgstr "``bytedesign``" -#: ../../library/turtle.rst:2823 +#: ../../library/turtle.rst:2686 msgid "complex classical turtle graphics pattern" msgstr "komplexes klassisches Turtle-Grafik-Muster" -#: ../../library/turtle.rst:2823 +#: ../../library/turtle.rst:2686 msgid ":func:`tracer`, :func:`delay`, :func:`update`" msgstr ":func:`tracer`, :func:`delay`, :func:`update`" -#: ../../library/turtle.rst:2826 +#: ../../library/turtle.rst:2689 msgid "``chaos``" msgstr "``chaos``" -#: ../../library/turtle.rst:2826 +#: ../../library/turtle.rst:2689 msgid "" "graphs Verhulst dynamics, shows that computer's computations can generate " "results sometimes against the common sense expectations" @@ -4919,156 +4504,168 @@ msgstr "" "Computerberechnungen manchmal Ergebnisse liefern können, die dem gesunden " "Menschenverstand widersprechen" -#: ../../library/turtle.rst:2826 +#: ../../library/turtle.rst:2689 msgid "world coordinates" msgstr "Welt Koordinaten" -#: ../../library/turtle.rst:2832 +#: ../../library/turtle.rst:2695 msgid "``clock``" msgstr "``clock``" -#: ../../library/turtle.rst:2832 +#: ../../library/turtle.rst:2695 msgid "analog clock showing time of your computer" msgstr "analoge Uhr, die die Zeit deines Computers anzeigt" -#: ../../library/turtle.rst:2832 +#: ../../library/turtle.rst:2695 msgid "turtles as clock's hands, :func:`ontimer`" msgstr "Turtles als Uhrzeiger, :func:`ontimer`" -#: ../../library/turtle.rst:2835 +#: ../../library/turtle.rst:2698 msgid "``colormixer``" msgstr "``colormixer``" -#: ../../library/turtle.rst:2835 +#: ../../library/turtle.rst:2698 msgid "experiment with r, g, b" msgstr "Experiment mit r, g, b" -#: ../../library/turtle.rst:2837 +#: ../../library/turtle.rst:2698 +msgid ":func:`ondrag`" +msgstr ":func:`ondrag`" + +#: ../../library/turtle.rst:2700 msgid "``forest``" msgstr "``forest``" -#: ../../library/turtle.rst:2837 +#: ../../library/turtle.rst:2700 msgid "3 breadth-first trees" msgstr "3 Breitensuche-Bäume" -#: ../../library/turtle.rst:2837 +#: ../../library/turtle.rst:2700 msgid "randomization" msgstr "Zufallsgenerierung" -#: ../../library/turtle.rst:2839 +#: ../../library/turtle.rst:2702 msgid "``fractalcurves``" msgstr "``fractalcurves``" -#: ../../library/turtle.rst:2839 +#: ../../library/turtle.rst:2702 msgid "Hilbert & Koch curves" msgstr "Hilbert & Koch Kurven" -#: ../../library/turtle.rst:2839 +#: ../../library/turtle.rst:2702 msgid "recursion" msgstr "Rekursion" -#: ../../library/turtle.rst:2841 +#: ../../library/turtle.rst:2704 msgid "``lindenmayer``" msgstr "``lindenmayer``" -#: ../../library/turtle.rst:2841 +#: ../../library/turtle.rst:2704 msgid "ethnomathematics (indian kolams)" msgstr "Ethnomathematik (indische Kolams)" -#: ../../library/turtle.rst:2841 +#: ../../library/turtle.rst:2704 msgid "L-System" msgstr "L-System" -#: ../../library/turtle.rst:2844 +#: ../../library/turtle.rst:2707 msgid "``minimal_hanoi``" msgstr "``minimal_hanoi``" -#: ../../library/turtle.rst:2844 +#: ../../library/turtle.rst:2707 msgid "Towers of Hanoi" msgstr "Türme von Hannoi" -#: ../../library/turtle.rst:2844 +#: ../../library/turtle.rst:2707 msgid "Rectangular Turtles as Hanoi discs (:func:`shape`, :func:`shapesize`)" msgstr "" "Rechteckige Turtles als Hanoi-Scheiben (:func:`shape`, :func:`shapesize`)" -#: ../../library/turtle.rst:2848 +#: ../../library/turtle.rst:2711 msgid "``nim``" msgstr "``nim``" -#: ../../library/turtle.rst:2848 +#: ../../library/turtle.rst:2711 msgid "" "play the classical nim game with three heaps of sticks against the computer." msgstr "" "spiele das klassische Nim-Spiel mit drei Stapeln aus Stäbchen gegen den " "Computer." -#: ../../library/turtle.rst:2848 +#: ../../library/turtle.rst:2711 msgid "turtles as nimsticks, event driven (mouse, keyboard)" msgstr "Turtles als Nim-Stäbchen, ereignisgesteuert (Maus, Tastatur)" -#: ../../library/turtle.rst:2852 +#: ../../library/turtle.rst:2715 msgid "``paint``" msgstr "``paint``" -#: ../../library/turtle.rst:2852 +#: ../../library/turtle.rst:2715 msgid "super minimalistic drawing program" msgstr "super minimalistisches Zeichenprogramm" -#: ../../library/turtle.rst:2855 +#: ../../library/turtle.rst:2715 +msgid ":func:`onclick`" +msgstr ":func:`onclick`" + +#: ../../library/turtle.rst:2718 msgid "``peace``" msgstr "``peace``" -#: ../../library/turtle.rst:2855 +#: ../../library/turtle.rst:2718 msgid "elementary" msgstr "Elementar" -#: ../../library/turtle.rst:2855 +#: ../../library/turtle.rst:2718 msgid "turtle: appearance and animation" msgstr "Turtle: Erscheinungsbild und Animation" -#: ../../library/turtle.rst:2858 +#: ../../library/turtle.rst:2721 msgid "``penrose``" msgstr "``penrose``" -#: ../../library/turtle.rst:2858 +#: ../../library/turtle.rst:2721 msgid "aperiodic tiling with kites and darts" msgstr "aperiodische Kachelung mit Drachen und Pfeilen" -#: ../../library/turtle.rst:2861 +#: ../../library/turtle.rst:2721 +msgid ":func:`stamp`" +msgstr ":func:`stamp`" + +#: ../../library/turtle.rst:2724 msgid "``planet_and_moon``" msgstr "``planet_and_moon``" -#: ../../library/turtle.rst:2861 +#: ../../library/turtle.rst:2724 msgid "simulation of gravitational system" msgstr "Simulation eines Gravitationssystems" -#: ../../library/turtle.rst:2861 +#: ../../library/turtle.rst:2724 msgid "compound shapes, :class:`Vec2D`" msgstr "zusammengesetzte Formen, :class:`Vec2D`" -#: ../../library/turtle.rst:2864 +#: ../../library/turtle.rst:2727 msgid "``rosette``" msgstr "``rosette``" -#: ../../library/turtle.rst:2864 +#: ../../library/turtle.rst:2727 msgid "a pattern from the wikipedia article on turtle graphics" msgstr "ein Muster aus dem Wikipedia-Artikel über Turtle-Grafik" -#: ../../library/turtle.rst:2864 +#: ../../library/turtle.rst:2727 msgid ":func:`clone`, :func:`undo`" msgstr ":func:`clone`, :func:`undo`" -#: ../../library/turtle.rst:2867 +#: ../../library/turtle.rst:2730 msgid "``round_dance``" msgstr "``round_dance``" -#: ../../library/turtle.rst:2867 +#: ../../library/turtle.rst:2730 msgid "dancing turtles rotating pairwise in opposite direction" msgstr "" "tanzende Turtles, die sich paarweise in entgegengesetzter Richtung drehen" -#: ../../library/turtle.rst:2867 +#: ../../library/turtle.rst:2730 msgid "" "compound shapes, :func:`clone` :func:`shapesize`, :func:`tilt`, :func:" "`get_shapepoly`, :func:`update`" @@ -5076,50 +4673,517 @@ msgstr "" "zusammengesetzte Formen, :func:`clone` :func:`shapesize`, :func:`tilt`, :" "func:`get_shapepoly`, :func:`update`" -#: ../../library/turtle.rst:2871 +#: ../../library/turtle.rst:2734 msgid "``sorting_animate``" msgstr "``sorting_animate``" -#: ../../library/turtle.rst:2871 +#: ../../library/turtle.rst:2734 msgid "visual demonstration of different sorting methods" msgstr "visuelle Demonstration verschiedener Sortiermethoden" -#: ../../library/turtle.rst:2871 +#: ../../library/turtle.rst:2734 msgid "simple alignment, randomization" msgstr "einfache Ausrichtung, Zufallsgenerierung" -#: ../../library/turtle.rst:2874 +#: ../../library/turtle.rst:2737 msgid "``tree``" msgstr "``tree``" -#: ../../library/turtle.rst:2874 +#: ../../library/turtle.rst:2737 msgid "a (graphical) breadth first tree (using generators)" msgstr "ein (grafischer) Breitensuche-Baum (unter Verwendung von Generatoren)" -#: ../../library/turtle.rst:2877 +#: ../../library/turtle.rst:2737 +msgid ":func:`clone`" +msgstr ":func:`clone`" + +#: ../../library/turtle.rst:2740 msgid "``two_canvases``" msgstr "``two_canvases``" -#: ../../library/turtle.rst:2877 +#: ../../library/turtle.rst:2740 msgid "simple design" msgstr "einfaches Design" -#: ../../library/turtle.rst:2877 +#: ../../library/turtle.rst:2740 msgid "turtles on two canvases" msgstr "Turtles auf zwei Canvas" -#: ../../library/turtle.rst:2880 +#: ../../library/turtle.rst:2743 msgid "``yinyang``" msgstr "``yinyang``" -#: ../../library/turtle.rst:2880 +#: ../../library/turtle.rst:2743 msgid "another elementary example" msgstr "ein weiteres elementares Beispiel" -#: ../../library/turtle.rst:2883 +#: ../../library/turtle.rst:2743 +msgid ":func:`circle`" +msgstr ":func:`circle`" + +#: ../../library/turtle.rst:2746 msgid "Have fun!" msgstr "Viel Spaß!" +#~ msgid "" +#~ "In the following documentation the argument list for functions is given. " +#~ "Methods, of course, have the additional first argument *self* which is " +#~ "omitted here." +#~ msgstr "" +#~ "In der folgenden Dokumentation wird die Argumentliste für Funktionen " +#~ "angegeben. Methoden haben natürlich das zusätzliche erste Argument " +#~ "*self*, das hier weggelassen wird." + +#~ msgid "Turtle motion" +#~ msgstr "Turtle-Bewegung" + +#~ msgid ":func:`forward` | :func:`fd`" +#~ msgstr ":func:`forward` | :func:`fd`" + +#~ msgid ":func:`backward` | :func:`bk` | :func:`back`" +#~ msgstr ":func:`backward` | :func:`bk` | :func:`back`" + +#~ msgid ":func:`right` | :func:`rt`" +#~ msgstr ":func:`right` | :func:`rt`" + +#~ msgid ":func:`left` | :func:`lt`" +#~ msgstr ":func:`left` | :func:`lt`" + +#~ msgid ":func:`goto` | :func:`setpos` | :func:`setposition`" +#~ msgstr ":func:`goto` | :func:`setpos` | :func:`setposition`" + +#~ msgid ":func:`teleport`" +#~ msgstr ":func:`teleport`" + +#~ msgid ":func:`setx`" +#~ msgstr ":func:`setx`" + +#~ msgid ":func:`sety`" +#~ msgstr ":func:`sety`" + +#~ msgid ":func:`setheading` | :func:`seth`" +#~ msgstr ":func:`setheading` | :func:`seth`" + +#~ msgid ":func:`home`" +#~ msgstr ":func:`home`" + +#~ msgid ":func:`dot`" +#~ msgstr ":func:`dot`" + +#~ msgid ":func:`clearstamp`" +#~ msgstr ":func:`clearstamp`" + +#~ msgid ":func:`clearstamps`" +#~ msgstr ":func:`clearstamps`" + +#~ msgid ":func:`undo`" +#~ msgstr ":func:`undo`" + +#~ msgid ":func:`speed`" +#~ msgstr ":func:`speed`" + +#~ msgid ":func:`position` | :func:`pos`" +#~ msgstr ":func:`position` | :func:`pos`" + +#~ msgid ":func:`towards`" +#~ msgstr ":func:`towards`" + +#~ msgid ":func:`xcor`" +#~ msgstr ":func:`xcor`" + +#~ msgid ":func:`ycor`" +#~ msgstr ":func:`ycor`" + +#~ msgid ":func:`heading`" +#~ msgstr ":func:`heading`" + +#~ msgid ":func:`distance`" +#~ msgstr ":func:`distance`" + +#~ msgid "Setting and measurement" +#~ msgstr "Einstellung und Maß" + +#~ msgid ":func:`degrees`" +#~ msgstr ":func:`degrees`" + +#~ msgid ":func:`radians`" +#~ msgstr ":func:`radians`" + +#~ msgid ":func:`pendown` | :func:`pd` | :func:`down`" +#~ msgstr ":func:`pendown` | :func:`pd` | :func:`down`" + +#~ msgid ":func:`penup` | :func:`pu` | :func:`up`" +#~ msgstr ":func:`penup` | :func:`pu` | :func:`up`" + +#~ msgid ":func:`pensize` | :func:`width`" +#~ msgstr ":func:`pensize` | :func:`width`" + +#~ msgid ":func:`pen`" +#~ msgstr ":func:`pen`" + +#~ msgid ":func:`isdown`" +#~ msgstr ":func:`isdown`" + +#~ msgid ":func:`color`" +#~ msgstr ":func:`color`" + +#~ msgid ":func:`pencolor`" +#~ msgstr ":func:`pencolor`" + +#~ msgid ":func:`fillcolor`" +#~ msgstr ":func:`fillcolor`" + +#~ msgid ":func:`filling`" +#~ msgstr ":func:`filling`" + +#~ msgid ":func:`fill`" +#~ msgstr ":func:`fill`" + +#~ msgid ":func:`begin_fill`" +#~ msgstr ":func:`begin_fill`" + +#~ msgid ":func:`end_fill`" +#~ msgstr ":func:`end_fill`" + +#~ msgid ":func:`reset`" +#~ msgstr ":func:`reset`" + +#~ msgid ":func:`clear`" +#~ msgstr ":func:`clear`" + +#~ msgid ":func:`write`" +#~ msgstr ":func:`write`" + +#~ msgid ":func:`showturtle` | :func:`st`" +#~ msgstr ":func:`showturtle` | :func:`st`" + +#~ msgid ":func:`hideturtle` | :func:`ht`" +#~ msgstr ":func:`hideturtle` | :func:`ht`" + +#~ msgid ":func:`isvisible`" +#~ msgstr ":func:`isvisible`" + +#~ msgid ":func:`shape`" +#~ msgstr ":func:`shape`" + +#~ msgid ":func:`resizemode`" +#~ msgstr ":func:`resizemode`" + +#~ msgid ":func:`shapesize` | :func:`turtlesize`" +#~ msgstr ":func:`shapesize` | :func:`turtlesize`" + +#~ msgid ":func:`shearfactor`" +#~ msgstr ":func:`shearfactor`" + +#~ msgid ":func:`tiltangle`" +#~ msgstr ":func:`tiltangle`" + +#~ msgid ":func:`tilt`" +#~ msgstr ":func:`tilt`" + +#~ msgid ":func:`shapetransform`" +#~ msgstr ":func:`shapetransform`" + +#~ msgid ":func:`get_shapepoly`" +#~ msgstr ":func:`get_shapepoly`" + +#~ msgid ":func:`onrelease`" +#~ msgstr ":func:`onrelease`" + +#~ msgid ":func:`poly`" +#~ msgstr ":func:`poly`" + +#~ msgid ":func:`begin_poly`" +#~ msgstr ":func:`begin_poly`" + +#~ msgid ":func:`end_poly`" +#~ msgstr ":func:`end_poly`" + +#~ msgid ":func:`get_poly`" +#~ msgstr ":func:`get_poly`" + +#~ msgid ":func:`getturtle` | :func:`getpen`" +#~ msgstr ":func:`getturtle` | :func:`getpen`" + +#~ msgid ":func:`getscreen`" +#~ msgstr ":func:`getscreen`" + +#~ msgid ":func:`setundobuffer`" +#~ msgstr ":func:`setundobuffer`" + +#~ msgid ":func:`undobufferentries`" +#~ msgstr ":func:`undobufferentries`" + +#~ msgid "Methods of TurtleScreen/Screen" +#~ msgstr "Methoden von TurtleScreen/Screen" + +#~ msgid ":func:`bgcolor`" +#~ msgstr ":func:`bgcolor`" + +#~ msgid ":func:`bgpic`" +#~ msgstr ":func:`bgpic`" + +#~ msgid ":func:`clearscreen`" +#~ msgstr ":func:`clearscreen`" + +#~ msgid ":func:`resetscreen`" +#~ msgstr ":func:`resetscreen`" + +#~ msgid ":func:`screensize`" +#~ msgstr ":func:`screensize`" + +#~ msgid ":func:`setworldcoordinates`" +#~ msgstr ":func:`setworldcoordinates`" + +#~ msgid ":func:`no_animation`" +#~ msgstr ":func:`no_animation`" + +#~ msgid ":func:`delay`" +#~ msgstr ":func:`delay`" + +#~ msgid ":func:`tracer`" +#~ msgstr ":func:`tracer`" + +#~ msgid ":func:`update`" +#~ msgstr ":func:`update`" + +#~ msgid ":func:`listen`" +#~ msgstr ":func:`listen`" + +#~ msgid ":func:`onkey` | :func:`onkeyrelease`" +#~ msgstr ":func:`onkey` | :func:`onkeyrelease`" + +#~ msgid ":func:`onkeypress`" +#~ msgstr ":func:`onkeypress`" + +#~ msgid ":func:`onclick` | :func:`onscreenclick`" +#~ msgstr ":func:`onclick` | :func:`onscreenclick`" + +#~ msgid ":func:`ontimer`" +#~ msgstr ":func:`ontimer`" + +#~ msgid ":func:`mainloop` | :func:`done`" +#~ msgstr ":func:`mainloop` | :func:`done`" + +#~ msgid ":func:`mode`" +#~ msgstr ":func:`mode`" + +#~ msgid ":func:`colormode`" +#~ msgstr ":func:`colormode`" + +#~ msgid ":func:`getcanvas`" +#~ msgstr ":func:`getcanvas`" + +#~ msgid ":func:`getshapes`" +#~ msgstr ":func:`getshapes`" + +#~ msgid ":func:`register_shape` | :func:`addshape`" +#~ msgstr ":func:`register_shape` | :func:`addshape`" + +#~ msgid ":func:`turtles`" +#~ msgstr ":func:`turtles`" + +#~ msgid ":func:`window_height`" +#~ msgstr ":func:`window_height`" + +#~ msgid ":func:`window_width`" +#~ msgstr ":func:`window_width`" + +#~ msgid ":func:`textinput`" +#~ msgstr ":func:`textinput`" + +#~ msgid ":func:`numinput`" +#~ msgstr ":func:`numinput`" + +#~ msgid "Methods specific to Screen" +#~ msgstr "Spezifische Methoden zum Screen" + +#~ msgid ":func:`bye`" +#~ msgstr ":func:`bye`" + +#~ msgid ":func:`exitonclick`" +#~ msgstr ":func:`exitonclick`" + +#~ msgid ":func:`save`" +#~ msgstr ":func:`save`" + +#~ msgid ":func:`setup`" +#~ msgstr ":func:`setup`" + +#~ msgid ":func:`title`" +#~ msgstr ":func:`title`" + +#~ msgid "Methods of RawTurtle/Turtle and corresponding functions" +#~ msgstr "Methoden von RawTurtle/Turtle und entsprechende Funktionen" + +#~ msgid "a number (integer or float)" +#~ msgstr "eine Zahl (Ganzzahl oder Gleitkommazahl)" + +#~ msgid "" +#~ "Move turtle to an absolute position. If the pen is down, draw line. Do " +#~ "not change the turtle's orientation." +#~ msgstr "" +#~ "Bewege die Turtle zu einer absoluten Position. Wenn der Stift unten ist, " +#~ "zeichne eine Linie. Die Ausrichtung der Turtle wird dabei nicht verändert." + +#~ msgid "a number (or ``None``)" +#~ msgstr "eine Zahl (oder ``None``)" + +#~ msgid "" +#~ "Return the distance from the turtle to (x,y), the given vector, or the " +#~ "given other turtle, in turtle step units." +#~ msgstr "" +#~ "Gib die Entfernung von der Turtle zu (x,y), dem angegebenen Vektor oder " +#~ "der angegebenen anderen Turtle in Turtle-Schrittweiten zurück." + +#~ msgid "" +#~ "Make the turtle invisible. It's a good idea to do this while you're in " +#~ "the middle of doing some complex drawing, because hiding the turtle " +#~ "speeds up the drawing observably." +#~ msgstr "" +#~ "Mache die Turtle unsichtbar. Es ist eine gute Idee, dies während einer " +#~ "komplexen Zeichnung zu tun, da das Verstecken der Turtle das Zeichnen " +#~ "merklich beschleunigt." + +#~ msgid ">>> turtle.hideturtle()" +#~ msgstr ">>> turtle.hideturtle()" + +#~ msgid "" +#~ "Bind *fun* to mouse-click events on this turtle. If *fun* is ``None``, " +#~ "existing bindings are removed. Example for the anonymous turtle, i.e. " +#~ "the procedural way:" +#~ msgstr "" +#~ "Binde *fun* an Mausklick-Ereignisse dieser Turtle. Ist *fun* ``None``, " +#~ "werden bestehende Bindungen entfernt. Beispiel für die anonyme Turtle, d. " +#~ "h. die prozedurale Vorgehensweise:" + +#~ msgid "Methods of TurtleScreen/Screen and corresponding functions" +#~ msgstr "Methoden von TurtleScreen/Screen und entsprechende Funktionen" + +#~ msgid "a number, x-coordinate of lower left corner of canvas" +#~ msgstr "eine Zahl, x-Koordinate der unteren linken Ecke der Zeichenfläche" + +#~ msgid "a number, y-coordinate of lower left corner of canvas" +#~ msgstr "eine Zahl, y-Koordinate der unteren linken Ecke der Zeichenfläche" + +#~ msgid "a number, x-coordinate of upper right corner of canvas" +#~ msgstr "eine Zahl, x-Koordinate der oberen rechten Ecke der Zeichenfläche" + +#~ msgid "a number, y-coordinate of upper right corner of canvas" +#~ msgstr "eine Zahl, y-Koordinate der oberen rechten Ecke der Zeichenfläche" + +#~ msgid "" +#~ "Set up user-defined coordinate system and switch to mode \"world\" if " +#~ "necessary. This performs a ``screen.reset()``. If mode \"world\" is " +#~ "already active, all drawings are redrawn according to the new coordinates." +#~ msgstr "" +#~ "Richte ein benutzerdefiniertes Koordinatensystem ein und wechsle bei " +#~ "Bedarf in den Modus \"world\". Dies führt ein ``screen.reset()`` aus. Ist " +#~ "der Modus \"world\" bereits aktiv, werden alle Zeichnungen entsprechend " +#~ "den neuen Koordinaten neu gezeichnet." + +#~ msgid "" +#~ "**ATTENTION**: in user-defined coordinate systems angles may appear " +#~ "distorted." +#~ msgstr "" +#~ "**ACHTUNG**: In benutzerdefinierten Koordinatensystemen können Winkel " +#~ "verzerrt erscheinen." + +#~ msgid "positive integer" +#~ msgstr "positive Ganzzahl" + +#~ msgid "Optional argument:" +#~ msgstr "Optionales Argument:" + +#~ msgid "nonnegative integer" +#~ msgstr "nichtnegative Ganzzahl" + +#~ msgid "" +#~ "Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, " +#~ "existing bindings are removed." +#~ msgstr "" +#~ "Binde *fun* an Mausklick-Ereignisse auf diesem Screen. Ist *fun* " +#~ "``None``, werden bestehende Bindungen entfernt." + +#~ msgid ">>> screen.mainloop()" +#~ msgstr ">>> screen.mainloop()" + +#~ msgid "one of the strings \"standard\", \"logo\" or \"world\"" +#~ msgstr "eine der Zeichenketten \"standard\", \"logo\" oder \"world\"" + +#~ msgid "one of the values 1.0 or 255" +#~ msgstr "einer der Werte 1.0 oder 255" + +#~ msgid "There are four different ways to call this function:" +#~ msgstr "Es gibt vier verschiedene Möglichkeiten, diese Funktion aufzurufen:" + +#~ msgid "" +#~ "Add a turtle shape to TurtleScreen's shapelist. Only thusly registered " +#~ "shapes can be used by issuing the command ``shape(shapename)``." +#~ msgstr "" +#~ "Füge eine Turtle-Form zur Formenliste des TurtleScreen hinzu. Nur so " +#~ "registrierte Formen können durch den Befehl ``shape(shapename)`` " +#~ "verwendet werden." + +#~ msgid "Methods specific to Screen, not inherited from TurtleScreen" +#~ msgstr "Methoden spezifisch für Screen, nicht von TurtleScreen geerbt" + +#~ msgid "Set title of turtle window to *titlestring*." +#~ msgstr "Setze den Titel des Turtle-Fensters auf *titlestring*." + +#~ msgid "" +#~ "Subclass of TurtleScreen, with :ref:`four methods added `." +#~ msgstr "" +#~ "Unterklasse von TurtleScreen, mit :ref:`vier hinzugefügten Methoden " +#~ "`." + +#~ msgid "one of the strings \"polygon\", \"image\", \"compound\"" +#~ msgstr "eine der Zeichenketten \"polygon\", \"image\", \"compound\"" + +#~ msgid "" +#~ "Data structure modeling shapes. The pair ``(type_, data)`` must follow " +#~ "this specification:" +#~ msgstr "" +#~ "Datenstruktur zur Modellierung von Formen. Das Paar ``(type_, data)`` " +#~ "muss dieser Spezifikation folgen:" + +#~ msgid "*type_*" +#~ msgstr "*type_*" + +#~ msgid "*data*" +#~ msgstr "*data*" + +#~ msgid "\"polygon\"" +#~ msgstr "\"polygon\"" + +#~ msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" +#~ msgstr "ein Polygon-Tupel, d. h. ein Tupel aus Koordinatenpaaren" + +#~ msgid "\"image\"" +#~ msgstr "\"image\"" + +#~ msgid "an image (in this form only used internally!)" +#~ msgstr "ein Bild (in dieser Form nur intern verwendet!)" + +#~ msgid "\"compound\"" +#~ msgstr "\"compound\"" + +#~ msgid "" +#~ "``None`` (a compound shape has to be constructed using the :meth:" +#~ "`addcomponent` method)" +#~ msgstr "" +#~ "``None`` (eine zusammengesetzte Form muss mit der Methode :meth:" +#~ "`addcomponent` erstellt werden)" + +#~ msgid "a color the *poly* will be filled with" +#~ msgstr "eine Farbe, mit der das *poly* gefüllt wird" + +#~ msgid "a color for the poly's outline (if given)" +#~ msgstr "eine Farbe für den Umriss des poly (falls angegeben)" + +#~ msgid "Help and configuration" +#~ msgstr "Hilfe und Konfiguration" + #~ msgid "Introduction" #~ msgstr "Einführung" diff --git a/using/android.po b/using/android.po index fa56fbbc..637ccea5 100644 --- a/using/android.po +++ b/using/android.po @@ -140,9 +140,9 @@ msgid "" "`Android/README.md`. The ``prefix`` directory will be created under :samp:" "`cross-build/{HOST}`." msgstr "" -"Oder folge, wenn du es selbst bauen willst, der Anleitung in " -":source:`Android/README.md`. Das Verzeichnis ``prefix`` wird unter " -":samp:`cross-build/{HOST}` erzeugt." +"Oder folge, wenn du es selbst bauen willst, der Anleitung in :source:" +"`Android/README.md`. Das Verzeichnis ``prefix`` wird unter :samp:`cross-" +"build/{HOST}` erzeugt." #: ../../using/android.rst:53 msgid "" @@ -150,10 +150,10 @@ msgid "" "kts>` file to copy the following items into your project. All except your " "own Python code can be copied from ``prefix/lib``:" msgstr "" -"Füge in deiner Datei :source:`build.gradle " -"` Code ein, der die folgenden " -"Bestandteile in dein Projekt kopiert. Alles außer deinem eigenen Python-Code " -"lässt sich aus ``prefix/lib`` kopieren:" +"Füge in deiner Datei :source:`build.gradle ` Code ein, der die folgenden Bestandteile in dein Projekt kopiert. " +"Alles außer deinem eigenen Python-Code lässt sich aus ``prefix/lib`` " +"kopieren:" #: ../../using/android.rst:57 msgid "In your JNI libraries:" diff --git a/using/cmdline.po b/using/cmdline.po index 8a8871dc..bebb6148 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-05 16:53+0200\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-10-13 21:00+0200\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://github.com/python/python-docs-de)\n" @@ -1177,8 +1177,9 @@ msgstr "" "auch :envvar:`PYTHON_PERF_JIT_SUPPORT` und :ref:`perf_profiling`." #: ../../using/cmdline.rst:637 +#, fuzzy msgid "" -"``-X disable_remote_debug`` disables the remote debugging support as " +"``-X disable-remote-debug`` disables the remote debugging support as " "described in :pep:`768`. This includes both the functionality to schedule " "code for execution in another process and the functionality to receive code " "for execution in the current process." @@ -1222,10 +1223,10 @@ msgid "" "for this option to exist. See also :envvar:`PYTHON_PRESITE`." msgstr "" ":samp:`-X presite={package.module}` gibt ein Modul an, das importiert werden " -"soll, bevor das Modul :mod:`site` ausgeführt wird und bevor das Modul " -":mod:`__main__` existiert. Das importierte Modul ist deshalb nicht " -":mod:`__main__`. Damit lässt sich früh während der Python-Initialisierung " -"Code ausführen. Python muss :ref:`im Debug-Modus gebaut ` sein, " +"soll, bevor das Modul :mod:`site` ausgeführt wird und bevor das Modul :mod:" +"`__main__` existiert. Das importierte Modul ist deshalb nicht :mod:" +"`__main__`. Damit lässt sich früh während der Python-Initialisierung Code " +"ausführen. Python muss :ref:`im Debug-Modus gebaut ` sein, " "damit es diese Option gibt. Siehe auch :envvar:`PYTHON_PRESITE`." #: ../../using/cmdline.rst:666 @@ -2214,7 +2215,8 @@ msgstr "" "Prozess zu empfangen." #: ../../using/cmdline.rst:1247 -msgid "See also the :option:`-X disable_remote_debug` command-line option." +#, fuzzy +msgid "See also the :option:`-X disable-remote-debug` command-line option." msgstr "Siehe auch die Befehlszeilenoption :option:`-X disable_remote_debug`." #: ../../using/cmdline.rst:1253 diff --git a/using/configure.po b/using/configure.po index 94b119cf..d4293003 100644 --- a/using/configure.po +++ b/using/configure.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-10-13 21:00+0200\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://github.com/python/python-docs-de)\n" @@ -217,66 +217,62 @@ msgid "`OpenSSL `_" msgstr "`OpenSSL `_" #: ../../using/configure.rst:97 -msgid "3.0.18 recommended" -msgstr "3.0.18 empfohlen" +msgid "[6]_" +msgstr "" #: ../../using/configure.rst:98 -msgid "(1.1.1 minimum)" -msgstr "(1.1.1 mindestens)" - -#: ../../using/configure.rst:99 msgid ":mod:`ssl`, :mod:`hashlib` [5]_" msgstr ":mod:`ssl`, :mod:`hashlib` [5]_" -#: ../../using/configure.rst:100 +#: ../../using/configure.rst:99 msgid "`SQLite `_" msgstr "`SQLite `_" -#: ../../using/configure.rst:101 +#: ../../using/configure.rst:100 msgid "3.15.2" msgstr "3.15.2" -#: ../../using/configure.rst:102 +#: ../../using/configure.rst:101 msgid ":mod:`sqlite3`" msgstr ":mod:`sqlite3`" -#: ../../using/configure.rst:103 +#: ../../using/configure.rst:102 msgid "`Tcl/Tk `_" msgstr "`Tcl/Tk `_" -#: ../../using/configure.rst:104 +#: ../../using/configure.rst:103 msgid "8.5.12" msgstr "8.5.12" -#: ../../using/configure.rst:105 +#: ../../using/configure.rst:104 msgid ":mod:`tkinter`, :ref:`IDLE `, :mod:`turtle`" msgstr ":mod:`tkinter`, :ref:`IDLE `, :mod:`turtle`" -#: ../../using/configure.rst:106 +#: ../../using/configure.rst:105 msgid "`zlib `_" msgstr "`zlib `_" -#: ../../using/configure.rst:107 +#: ../../using/configure.rst:106 msgid "1.2.2.1" msgstr "1.2.2.1" -#: ../../using/configure.rst:108 +#: ../../using/configure.rst:107 msgid ":mod:`zlib`, :mod:`gzip`, :mod:`ensurepip`" msgstr ":mod:`zlib`, :mod:`gzip`, :mod:`ensurepip`" -#: ../../using/configure.rst:109 +#: ../../using/configure.rst:108 msgid "`zstd `_" msgstr "`zstd `_" -#: ../../using/configure.rst:110 +#: ../../using/configure.rst:109 msgid "1.4.5" msgstr "1.4.5" -#: ../../using/configure.rst:111 +#: ../../using/configure.rst:110 msgid ":mod:`compression.zstd`" msgstr ":mod:`compression.zstd`" -#: ../../using/configure.rst:113 +#: ../../using/configure.rst:112 msgid "" "If *libmpdec* is not available, the :mod:`decimal` module will use a pure-" "Python implementation. See :option:`--with-system-libmpdec` for details." @@ -285,7 +281,7 @@ msgstr "" "Umsetzung in reinem Python. Einzelheiten unter :option:`--with-system-" "libmpdec`." -#: ../../using/configure.rst:116 +#: ../../using/configure.rst:115 msgid "" "See :option:`--with-readline` for choosing the backend for the :mod:" "`readline` module." @@ -293,7 +289,7 @@ msgstr "" "Unter :option:`--with-readline` steht, wie du das Backend für das Modul :mod:" "`readline` auswählst." -#: ../../using/configure.rst:118 +#: ../../using/configure.rst:117 msgid "" "The :mod:`uuid` module uses ``_uuid`` to generate \"safe\" UUIDs. See the " "module documentation for details." @@ -301,7 +297,7 @@ msgstr "" "Das Modul :mod:`uuid` verwendet ``_uuid``, um „sichere“ UUIDs zu erzeugen. " "Einzelheiten stehen in der Dokumentation des Moduls." -#: ../../using/configure.rst:120 +#: ../../using/configure.rst:119 msgid "" "The :mod:`curses` module requires the ``libncurses`` or ``libncursesw`` " "library. The :mod:`curses.panel` module additionally requires the " @@ -311,7 +307,7 @@ msgstr "" "``libncursesw``. Das Modul :mod:`curses.panel` benötigt zusätzlich die " "Bibliothek ``libpanel`` oder ``libpanelw``." -#: ../../using/configure.rst:124 +#: ../../using/configure.rst:123 msgid "" "If OpenSSL is not available, the :mod:`hashlib` module will use bundled " "implementations of several hash functions. See :option:`--with-builtin-" @@ -321,7 +317,18 @@ msgstr "" "Umsetzungen mehrerer Hashfunktionen. Unter :option:`--with-builtin-hashlib-" "hashes` steht, wie du die Verwendung von OpenSSL *erzwingst*." -#: ../../using/configure.rst:128 +#: ../../using/configure.rst:126 +msgid "" +"OpenSSL 1.1.1 is the minimum possible version to build against, but the " +"series is end-of-life and no longer receives public security fixes. Use the " +"latest patch release of a currently supported LTS release series (see the " +"`OpenSSL Roadmap `__), or " +"the package provided by your operating system if available. Other libraries " +"that offer an API compatible with OpenSSL 1.1.1 or later may work, but are " +"not officially supported." +msgstr "" + +#: ../../using/configure.rst:135 msgid "" "Note that the table does not include all optional modules; in particular, " "platform-specific modules like :mod:`winreg` are not listed here." @@ -329,7 +336,7 @@ msgstr "" "Beachte, dass die Tabelle nicht alle optionalen Module enthält. Insbesondere " "plattformspezifische Module wie :mod:`winreg` sind hier nicht aufgeführt." -#: ../../using/configure.rst:133 +#: ../../using/configure.rst:140 msgid "" "The `devguide `_ includes a full list of dependencies required to " @@ -341,7 +348,7 @@ msgstr "" "die zum Bauen aller Module nötig sind, sowie Anleitungen, wie du sie auf den " "verbreiteten Plattformen installierst." -#: ../../using/configure.rst:136 +#: ../../using/configure.rst:143 msgid "" ":option:`--with-system-expat` allows building with an external `libexpat " "`_ library." @@ -349,23 +356,23 @@ msgstr "" ":option:`--with-system-expat` erlaubt das Bauen mit einer externen " "Bibliothek `libexpat `_." -#: ../../using/configure.rst:138 +#: ../../using/configure.rst:145 msgid ":ref:`configure-options-for-dependencies`" msgstr ":ref:`configure-options-for-dependencies`" -#: ../../using/configure.rst:140 +#: ../../using/configure.rst:147 msgid "Tcl/Tk version 8.3.1 is now required for :mod:`tkinter`." msgstr "Für :mod:`tkinter` wird jetzt Tcl/Tk in Version 8.3.1 benötigt." -#: ../../using/configure.rst:143 +#: ../../using/configure.rst:150 msgid "Tcl/Tk version 8.4 is now required for :mod:`tkinter`." msgstr "Für :mod:`tkinter` wird jetzt Tcl/Tk in Version 8.4 benötigt." -#: ../../using/configure.rst:146 +#: ../../using/configure.rst:153 msgid "OpenSSL 1.0.2 is now required for :mod:`hashlib` and :mod:`ssl`." msgstr "Für :mod:`hashlib` und :mod:`ssl` wird jetzt OpenSSL 1.0.2 benötigt." -#: ../../using/configure.rst:149 +#: ../../using/configure.rst:156 msgid "" "OpenSSL 1.1.1 is now required for :mod:`hashlib` and :mod:`ssl`. SQLite " "3.7.15 is now required for :mod:`sqlite3`." @@ -373,19 +380,19 @@ msgstr "" "Für :mod:`hashlib` und :mod:`ssl` wird jetzt OpenSSL 1.1.1 benötigt. Für :" "mod:`sqlite3` wird jetzt SQLite 3.7.15 benötigt." -#: ../../using/configure.rst:153 +#: ../../using/configure.rst:160 msgid "Tcl/Tk version 8.5.12 is now required for :mod:`tkinter`." msgstr "Für :mod:`tkinter` wird jetzt Tcl/Tk in Version 8.5.12 benötigt." -#: ../../using/configure.rst:156 +#: ../../using/configure.rst:163 msgid "SQLite 3.15.2 is now required for :mod:`sqlite3`." msgstr "Für :mod:`sqlite3` wird jetzt SQLite 3.15.2 benötigt." -#: ../../using/configure.rst:161 +#: ../../using/configure.rst:168 msgid "Generated files" msgstr "Erzeugte Dateien" -#: ../../using/configure.rst:163 +#: ../../using/configure.rst:170 msgid "" "To reduce build dependencies, Python source code contains multiple generated " "files. Commands to regenerate all generated files::" @@ -394,7 +401,7 @@ msgstr "" "mehrere erzeugte Dateien. Befehle, um alle erzeugten Dateien neu zu " "erzeugen::" -#: ../../using/configure.rst:166 +#: ../../using/configure.rst:173 msgid "" "make regen-all\n" "make regen-stdlib-module-names\n" @@ -406,7 +413,7 @@ msgstr "" "make regen-limited-abi\n" "make regen-configure" -#: ../../using/configure.rst:171 +#: ../../using/configure.rst:178 msgid "" "The ``Makefile.pre.in`` file documents generated files, their inputs, and " "tools used to regenerate them. Search for ``regen-*`` make targets." @@ -415,11 +422,11 @@ msgstr "" "Eingaben und die Werkzeuge, mit denen sie neu erzeugt werden. Suche dort " "nach den make-Zielen ``regen-*``." -#: ../../using/configure.rst:175 +#: ../../using/configure.rst:182 msgid "configure script" msgstr "Das Skript configure" -#: ../../using/configure.rst:177 +#: ../../using/configure.rst:184 msgid "" "The ``make regen-configure`` command regenerates the ``aclocal.m4`` file and " "the ``configure`` script using the ``Tools/build/regen-configure.sh`` shell " @@ -431,17 +438,17 @@ msgstr "" "regen-configure.sh``, das einen Ubuntu-Container nutzt, um dieselben " "Werkzeugversionen zu erhalten und eine reproduzierbare Ausgabe zu bekommen." -#: ../../using/configure.rst:182 +#: ../../using/configure.rst:189 msgid "The container is optional, the following command can be run locally::" msgstr "" "Der Container ist nicht zwingend, der folgende Befehl lässt sich auch lokal " "ausführen::" -#: ../../using/configure.rst:184 +#: ../../using/configure.rst:191 msgid "autoreconf -ivf -Werror" msgstr "autoreconf -ivf -Werror" -#: ../../using/configure.rst:186 +#: ../../using/configure.rst:193 msgid "" "The generated files can change depending on the exact versions of the tools " "used. The container that CPython uses has `Autoconf `_ 1.16.5 und `pkg-" "config `_ 1.8.1." -#: ../../using/configure.rst:193 +#: ../../using/configure.rst:200 msgid "" "Autoconf 2.71 and aclocal 1.16.5 and are now used to regenerate :file:" "`configure`." @@ -463,35 +470,35 @@ msgstr "" "Zum Neuerzeugen von :file:`configure` werden jetzt Autoconf 2.71 und aclocal " "1.16.5 verwendet." -#: ../../using/configure.rst:197 +#: ../../using/configure.rst:204 msgid "Autoconf 2.72 is now used to regenerate :file:`configure`." msgstr "" "Zum Neuerzeugen von :file:`configure` wird jetzt Autoconf 2.72 verwendet." -#: ../../using/configure.rst:204 +#: ../../using/configure.rst:211 msgid "Configure Options" msgstr "Optionen von configure" -#: ../../using/configure.rst:206 +#: ../../using/configure.rst:213 msgid "List all :file:`configure` script options using::" msgstr "Alle Optionen des Skripts :file:`configure` listest du so auf::" -#: ../../using/configure.rst:208 +#: ../../using/configure.rst:215 msgid "./configure --help" msgstr "./configure --help" -#: ../../using/configure.rst:210 +#: ../../using/configure.rst:217 msgid "" "See also the :file:`Misc/SpecialBuilds.txt` in the Python source " "distribution." msgstr "" "Siehe auch :file:`Misc/SpecialBuilds.txt` in der Python-Quelldistribution." -#: ../../using/configure.rst:213 +#: ../../using/configure.rst:220 msgid "General Options" msgstr "Allgemeine Optionen" -#: ../../using/configure.rst:217 +#: ../../using/configure.rst:224 msgid "" "Support loadable extensions in the :mod:`!_sqlite` extension module (default " "is no) of the :mod:`sqlite3` module." @@ -499,7 +506,7 @@ msgstr "" "Unterstützt ladbare Erweiterungen im Erweiterungsmodul :mod:`!_sqlite` des " "Moduls :mod:`sqlite3` (Vorgabe ist nein)." -#: ../../using/configure.rst:220 +#: ../../using/configure.rst:227 msgid "" "See the :meth:`sqlite3.Connection.enable_load_extension` method of the :mod:" "`sqlite3` module." @@ -507,7 +514,7 @@ msgstr "" "Siehe die Methode :meth:`sqlite3.Connection.enable_load_extension` des " "Moduls :mod:`sqlite3`." -#: ../../using/configure.rst:227 +#: ../../using/configure.rst:234 msgid "" "Disable IPv6 support (enabled by default if supported), see the :mod:" "`socket` module." @@ -515,29 +522,29 @@ msgstr "" "Schaltet die Unterstützung für IPv6 ab (standardmäßig eingeschaltet, sofern " "unterstützt), siehe das Modul :mod:`socket`." -#: ../../using/configure.rst:232 +#: ../../using/configure.rst:239 msgid "Define the size in bits of Python :class:`int` digits: 15 or 30 bits." msgstr "" "Legt die Größe der Ziffern von Python-:class:`int` in Bit fest: 15 oder 30 " "Bit." -#: ../../using/configure.rst:234 +#: ../../using/configure.rst:241 msgid "By default, the digit size is 30." msgstr "Standardmäßig beträgt die Zifferngröße 30." -#: ../../using/configure.rst:236 +#: ../../using/configure.rst:243 msgid "Define the ``PYLONG_BITS_IN_DIGIT`` to ``15`` or ``30``." msgstr "Setzt ``PYLONG_BITS_IN_DIGIT`` auf ``15`` oder ``30``." -#: ../../using/configure.rst:238 +#: ../../using/configure.rst:245 msgid "See :data:`sys.int_info.bits_per_digit `." msgstr "Siehe :data:`sys.int_info.bits_per_digit `." -#: ../../using/configure.rst:242 +#: ../../using/configure.rst:249 msgid "Set the Python executable suffix to *SUFFIX*." msgstr "Setzt das Suffix der ausführbaren Python-Datei auf *SUFFIX*." -#: ../../using/configure.rst:244 +#: ../../using/configure.rst:251 msgid "" "The default suffix is ``.exe`` on Windows and macOS (``python.exe`` " "executable), ``.js`` on Emscripten node, ``.html`` on Emscripten browser, ``." @@ -549,7 +556,7 @@ msgstr "" "browser, ``.wasm`` bei WASI und eine leere Zeichenkette auf den übrigen " "Plattformen (ausführbare Datei ``python``)." -#: ../../using/configure.rst:249 +#: ../../using/configure.rst:256 msgid "" "The default suffix on WASM platform is one of ``.js``, ``.html`` or ``." "wasm``." @@ -557,7 +564,7 @@ msgstr "" "Das Standardsuffix auf der WASM-Plattform ist eines von ``.js``, ``.html`` " "oder ``.wasm``." -#: ../../using/configure.rst:255 +#: ../../using/configure.rst:262 msgid "" "Select the default time zone search path for :const:`zoneinfo.TZPATH`. See " "the :ref:`Compile-time configuration ` of " @@ -567,7 +574,7 @@ msgstr "" "Siehe die :ref:`Konfiguration zur Übersetzungszeit " "` des Moduls :mod:`zoneinfo`." -#: ../../using/configure.rst:259 +#: ../../using/configure.rst:266 msgid "" "Default: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/" "etc/zoneinfo``." @@ -575,11 +582,11 @@ msgstr "" "Vorgabe: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/" "etc/zoneinfo``." -#: ../../using/configure.rst:261 +#: ../../using/configure.rst:268 msgid "See :data:`os.pathsep` path separator." msgstr "Siehe den Pfadtrenner :data:`os.pathsep`." -#: ../../using/configure.rst:267 +#: ../../using/configure.rst:274 msgid "" "Build the ``_decimal`` extension module using a thread-local context rather " "than a coroutine-local context (default), see the :mod:`decimal` module." @@ -588,63 +595,63 @@ msgstr "" "anstelle eines Coroutine-lokalen Kontexts (Vorgabe), siehe das Modul :mod:" "`decimal`." -#: ../../using/configure.rst:270 +#: ../../using/configure.rst:277 msgid "See :const:`decimal.HAVE_CONTEXTVAR` and the :mod:`contextvars` module." msgstr "" "Siehe :const:`decimal.HAVE_CONTEXTVAR` und das Modul :mod:`contextvars`." -#: ../../using/configure.rst:276 +#: ../../using/configure.rst:283 msgid "Override order to check db backends for the :mod:`dbm` module" msgstr "" "Überschreibt die Reihenfolge, in der die Datenbank-Backends für das Modul :" "mod:`dbm` geprüft werden" -#: ../../using/configure.rst:278 +#: ../../using/configure.rst:285 msgid "" "A valid value is a colon (``:``) separated string with the backend names:" msgstr "" "Ein gültiger Wert ist eine mit Doppelpunkt (``:``) getrennte Zeichenkette " "mit den Namen der Backends:" -#: ../../using/configure.rst:280 +#: ../../using/configure.rst:287 msgid "``ndbm``;" msgstr "``ndbm``;" -#: ../../using/configure.rst:281 +#: ../../using/configure.rst:288 msgid "``gdbm``;" msgstr "``gdbm``;" -#: ../../using/configure.rst:282 +#: ../../using/configure.rst:289 msgid "``bdb``." msgstr "``bdb``." -#: ../../using/configure.rst:286 +#: ../../using/configure.rst:293 msgid "Disable C locale coercion to a UTF-8 based locale (enabled by default)." msgstr "" "Schaltet die Angleichung der C-Locale an eine UTF-8-basierte Locale ab " "(standardmäßig eingeschaltet)." -#: ../../using/configure.rst:288 +#: ../../using/configure.rst:295 msgid "Don't define the ``PY_COERCE_C_LOCALE`` macro." msgstr "Definiert das Makro ``PY_COERCE_C_LOCALE`` nicht." -#: ../../using/configure.rst:290 +#: ../../using/configure.rst:297 msgid "See :envvar:`PYTHONCOERCECLOCALE` and the :pep:`538`." msgstr "Siehe :envvar:`PYTHONCOERCECLOCALE` und :pep:`538`." -#: ../../using/configure.rst:294 +#: ../../using/configure.rst:301 msgid "Python library directory name (default is ``lib``)." msgstr "Name des Verzeichnisses der Python-Bibliothek (Vorgabe ist ``lib``)." -#: ../../using/configure.rst:296 +#: ../../using/configure.rst:303 msgid "Fedora and SuSE use ``lib64`` on 64-bit platforms." msgstr "Fedora und SuSE verwenden auf 64-Bit-Plattformen ``lib64``." -#: ../../using/configure.rst:298 +#: ../../using/configure.rst:305 msgid "See :data:`sys.platlibdir`." msgstr "Siehe :data:`sys.platlibdir`." -#: ../../using/configure.rst:304 +#: ../../using/configure.rst:311 msgid "" "Directory of wheel packages used by the :mod:`ensurepip` module (none by " "default)." @@ -652,7 +659,7 @@ msgstr "" "Verzeichnis der Wheel-Pakete, die das Modul :mod:`ensurepip` verwendet " "(standardmäßig keines)." -#: ../../using/configure.rst:307 +#: ../../using/configure.rst:314 msgid "" "Some Linux distribution packaging policies recommend against bundling " "dependencies. For example, Fedora installs wheel packages in the ``/usr/" @@ -664,7 +671,7 @@ msgstr "" "Beispiel im Verzeichnis ``/usr/share/python-wheels/`` und installiert das " "Paket :mod:`!ensurepip._bundled` nicht." -#: ../../using/configure.rst:316 +#: ../../using/configure.rst:323 msgid "" "Whether configure should use :program:`pkg-config` to detect build " "dependencies." @@ -672,25 +679,25 @@ msgstr "" "Ob configure :program:`pkg-config` verwenden soll, um die Abhängigkeiten für " "den Build zu erkennen." -#: ../../using/configure.rst:319 +#: ../../using/configure.rst:326 msgid "``check`` (default): :program:`pkg-config` is optional" msgstr "``check`` (Vorgabe): :program:`pkg-config` ist optional" -#: ../../using/configure.rst:320 +#: ../../using/configure.rst:327 msgid "``yes``: :program:`pkg-config` is mandatory" msgstr "``yes``: :program:`pkg-config` ist zwingend" -#: ../../using/configure.rst:321 +#: ../../using/configure.rst:328 msgid "``no``: configure does not use :program:`pkg-config` even when present" msgstr "" "``no``: configure verwendet :program:`pkg-config` nicht, selbst wenn es " "vorhanden ist" -#: ../../using/configure.rst:327 +#: ../../using/configure.rst:334 msgid "Turn on internal Python performance statistics gathering." msgstr "Schaltet die interne Erfassung von Leistungsdaten in Python ein." -#: ../../using/configure.rst:329 +#: ../../using/configure.rst:336 msgid "" "By default, statistics gathering is off. Use ``python3 -X pystats`` command " "or set ``PYTHONSTATS=1`` environment variable to turn on statistics " @@ -700,7 +707,7 @@ msgstr "" "oder der Umgebungsvariablen ``PYTHONSTATS=1`` schaltest du die Erfassung " "beim Start von Python ein." -#: ../../using/configure.rst:333 +#: ../../using/configure.rst:340 msgid "" "At Python exit, dump statistics if statistics gathering was on and not " "cleared." @@ -708,45 +715,45 @@ msgstr "" "Beim Beenden von Python werden die Daten ausgegeben, sofern die Erfassung " "eingeschaltet war und die Daten nicht gelöscht wurden." -#: ../../using/configure.rst:336 ../../using/configure.rst:860 +#: ../../using/configure.rst:343 ../../using/configure.rst:867 msgid "Effects:" msgstr "Wirkung:" -#: ../../using/configure.rst:338 +#: ../../using/configure.rst:345 msgid "Add :option:`-X pystats <-X>` command line option." msgstr "Fügt die Befehlszeilenoption :option:`-X pystats <-X>` hinzu." -#: ../../using/configure.rst:339 +#: ../../using/configure.rst:346 msgid "Add :envvar:`!PYTHONSTATS` environment variable." msgstr "Fügt die Umgebungsvariable :envvar:`!PYTHONSTATS` hinzu." -#: ../../using/configure.rst:340 +#: ../../using/configure.rst:347 msgid "Define the ``Py_STATS`` macro." msgstr "Definiert das Makro ``Py_STATS``." -#: ../../using/configure.rst:341 +#: ../../using/configure.rst:348 msgid "Add functions to the :mod:`sys` module:" msgstr "Fügt dem Modul :mod:`sys` Funktionen hinzu:" -#: ../../using/configure.rst:343 +#: ../../using/configure.rst:350 msgid ":func:`!sys._stats_on`: Turns on statistics gathering." msgstr ":func:`!sys._stats_on`: Schaltet die Erfassung ein." -#: ../../using/configure.rst:344 +#: ../../using/configure.rst:351 msgid ":func:`!sys._stats_off`: Turns off statistics gathering." msgstr ":func:`!sys._stats_off`: Schaltet die Erfassung aus." -#: ../../using/configure.rst:345 +#: ../../using/configure.rst:352 msgid ":func:`!sys._stats_clear`: Clears the statistics." msgstr ":func:`!sys._stats_clear`: Löscht die Daten." -#: ../../using/configure.rst:346 +#: ../../using/configure.rst:353 msgid "" ":func:`!sys._stats_dump`: Dump statistics to file, and clears the statistics." msgstr "" ":func:`!sys._stats_dump`: Gibt die Daten in eine Datei aus und löscht sie." -#: ../../using/configure.rst:348 +#: ../../using/configure.rst:355 msgid "" "The statistics will be dumped to a arbitrary (probably unique) file in ``/" "tmp/py_stats/`` (Unix) or ``C:\\temp\\py_stats\\`` (Windows). If that " @@ -757,52 +764,52 @@ msgstr "" "ausgegeben. Existiert dieses Verzeichnis nicht, werden die Ergebnisse auf " "stderr ausgegeben." -#: ../../using/configure.rst:352 +#: ../../using/configure.rst:359 msgid "Use ``Tools/scripts/summarize_stats.py`` to read the stats." msgstr "Zum Lesen der Daten verwende ``Tools/scripts/summarize_stats.py``." -#: ../../using/configure.rst:354 +#: ../../using/configure.rst:361 msgid "Statistics:" msgstr "Daten:" -#: ../../using/configure.rst:356 +#: ../../using/configure.rst:363 msgid "Opcode:" msgstr "Opcode:" -#: ../../using/configure.rst:358 +#: ../../using/configure.rst:365 msgid "Specialization: success, failure, hit, deferred, miss, deopt, failures;" msgstr "" "Spezialisierung: success, failure, hit, deferred, miss, deopt, failures;" -#: ../../using/configure.rst:359 +#: ../../using/configure.rst:366 msgid "Execution count;" msgstr "Ausführungszahl;" -#: ../../using/configure.rst:360 +#: ../../using/configure.rst:367 msgid "Pair count." msgstr "Paarzahl." -#: ../../using/configure.rst:362 +#: ../../using/configure.rst:369 msgid "Call:" msgstr "Aufruf:" -#: ../../using/configure.rst:364 +#: ../../using/configure.rst:371 msgid "Inlined Python calls;" msgstr "Inline eingesetzte Python-Aufrufe;" -#: ../../using/configure.rst:365 +#: ../../using/configure.rst:372 msgid "PyEval calls;" msgstr "PyEval-Aufrufe;" -#: ../../using/configure.rst:366 +#: ../../using/configure.rst:373 msgid "Frames pushed;" msgstr "Auf den Stapel gelegte Frames;" -#: ../../using/configure.rst:367 +#: ../../using/configure.rst:374 msgid "Frame object created;" msgstr "Erzeugte Frame-Objekte;" -#: ../../using/configure.rst:368 +#: ../../using/configure.rst:375 msgid "" "Eval calls: vector, generator, legacy, function VECTORCALL, build class, " "slot, function \"ex\", API, method." @@ -810,67 +817,67 @@ msgstr "" "Eval-Aufrufe: vector, generator, legacy, function VECTORCALL, build class, " "slot, function „ex“, API, method." -#: ../../using/configure.rst:371 +#: ../../using/configure.rst:378 msgid "Object:" msgstr "Objekt:" -#: ../../using/configure.rst:373 +#: ../../using/configure.rst:380 msgid "incref and decref;" msgstr "incref und decref;" -#: ../../using/configure.rst:374 +#: ../../using/configure.rst:381 msgid "interpreter incref and decref;" msgstr "incref und decref des Interpreters;" -#: ../../using/configure.rst:375 +#: ../../using/configure.rst:382 msgid "allocations: all, 512 bytes, 4 kiB, big;" msgstr "Allokationen: alle, 512 Bytes, 4 kiB, groß;" -#: ../../using/configure.rst:376 +#: ../../using/configure.rst:383 msgid "free;" msgstr "Freigaben;" -#: ../../using/configure.rst:377 +#: ../../using/configure.rst:384 msgid "to/from free lists;" msgstr "in und aus Freelists;" -#: ../../using/configure.rst:378 +#: ../../using/configure.rst:385 msgid "dictionary materialized/dematerialized;" msgstr "Wörterbuch materialisiert/dematerialisiert;" -#: ../../using/configure.rst:379 +#: ../../using/configure.rst:386 msgid "type cache;" msgstr "Typ-Cache;" -#: ../../using/configure.rst:380 +#: ../../using/configure.rst:387 msgid "optimization attempts;" msgstr "Optimierungsversuche;" -#: ../../using/configure.rst:381 +#: ../../using/configure.rst:388 msgid "optimization traces created/executed;" msgstr "erzeugte und ausgeführte Optimierungs-Traces;" -#: ../../using/configure.rst:382 +#: ../../using/configure.rst:389 msgid "uops executed." msgstr "ausgeführte uops." -#: ../../using/configure.rst:384 +#: ../../using/configure.rst:391 msgid "Garbage collector:" msgstr "Garbage Collector:" -#: ../../using/configure.rst:386 +#: ../../using/configure.rst:393 msgid "Garbage collections;" msgstr "Durchläufe der Garbage Collection;" -#: ../../using/configure.rst:387 +#: ../../using/configure.rst:394 msgid "Objects visited;" msgstr "besuchte Objekte;" -#: ../../using/configure.rst:388 +#: ../../using/configure.rst:395 msgid "Objects collected." msgstr "eingesammelte Objekte." -#: ../../using/configure.rst:396 +#: ../../using/configure.rst:403 msgid "" "Enables support for running Python without the :term:`global interpreter " "lock` (GIL): :term:`free-threaded build`." @@ -878,7 +885,7 @@ msgstr "" "Schaltet die Unterstützung dafür ein, Python ohne den :term:`global " "interpreter lock` (GIL) zu betreiben: :term:`free-threaded build`." -#: ../../using/configure.rst:399 +#: ../../using/configure.rst:406 msgid "" "Defines the ``Py_GIL_DISABLED`` macro and adds ``\"t\"`` to :data:`sys." "abiflags`." @@ -886,11 +893,11 @@ msgstr "" "Definiert das Makro ``Py_GIL_DISABLED`` und fügt ``\"t\"`` zu :data:`sys." "abiflags` hinzu." -#: ../../using/configure.rst:402 +#: ../../using/configure.rst:409 msgid "See :ref:`whatsnew313-free-threaded-cpython` for more detail." msgstr "Mehr dazu steht unter :ref:`whatsnew313-free-threaded-cpython`." -#: ../../using/configure.rst:408 +#: ../../using/configure.rst:415 msgid "" "Indicate how to integrate the :ref:`experimental just-in-time compiler " "`." @@ -898,11 +905,11 @@ msgstr "" "Gibt an, wie der :ref:`experimentelle Just-in-time-Compiler ` eingebunden wird." -#: ../../using/configure.rst:410 +#: ../../using/configure.rst:417 msgid "``no``: Don't build the JIT." msgstr "``no``: Baut den JIT nicht." -#: ../../using/configure.rst:411 +#: ../../using/configure.rst:418 msgid "" "``yes``: Enable the JIT. To disable it at runtime, set the environment " "variable :envvar:`PYTHON_JIT=0 `." @@ -910,7 +917,7 @@ msgstr "" "``yes``: Schaltet den JIT ein. Um ihn zur Laufzeit abzuschalten, setze die " "Umgebungsvariable :envvar:`PYTHON_JIT=0 `." -#: ../../using/configure.rst:413 +#: ../../using/configure.rst:420 msgid "" "``yes-off``: Build the JIT, but disable it by default. To enable it at " "runtime, set the environment variable :envvar:`PYTHON_JIT=1 `." @@ -919,7 +926,7 @@ msgstr "" "Laufzeit einzuschalten, setze die Umgebungsvariable :envvar:`PYTHON_JIT=1 " "`." -#: ../../using/configure.rst:415 +#: ../../using/configure.rst:422 msgid "" "``interpreter``: Enable the \"JIT interpreter\" (only useful for those " "debugging the JIT itself). To disable it at runtime, set the environment " @@ -929,7 +936,7 @@ msgstr "" "Fehlersuche am JIT selbst). Um ihn zur Laufzeit abzuschalten, setze die " "Umgebungsvariable :envvar:`PYTHON_JIT=0 `." -#: ../../using/configure.rst:419 +#: ../../using/configure.rst:426 msgid "" "``--enable-experimental-jit=no`` is the default behavior if the option is " "not provided, and ``--enable-experimental-jit`` is shorthand for ``--enable-" @@ -942,7 +949,7 @@ msgstr "" "README.md`, auch wie du die nötigen Abhängigkeiten für die Bauzeit " "installierst." -#: ../../using/configure.rst:426 +#: ../../using/configure.rst:433 msgid "" "When building CPython with JIT enabled, ensure that your system has Python " "3.11 or later installed." @@ -950,56 +957,56 @@ msgstr "" "Wenn du CPython mit eingeschaltetem JIT baust, stelle sicher, dass auf " "deinem System Python 3.11 oder neuer installiert ist." -#: ../../using/configure.rst:432 +#: ../../using/configure.rst:439 msgid "Path to ``pkg-config`` utility." msgstr "Pfad zum Werkzeug ``pkg-config``." -#: ../../using/configure.rst:437 +#: ../../using/configure.rst:444 msgid "``pkg-config`` options." msgstr "Optionen von ``pkg-config``." -#: ../../using/configure.rst:441 +#: ../../using/configure.rst:448 msgid "C compiler options" msgstr "Optionen des C-Compilers" -#: ../../using/configure.rst:445 ../../using/configure.rst:1437 +#: ../../using/configure.rst:452 ../../using/configure.rst:1448 msgid "C compiler command." msgstr "Befehl des C-Compilers." -#: ../../using/configure.rst:449 ../../using/configure.rst:1449 +#: ../../using/configure.rst:456 ../../using/configure.rst:1460 msgid "C compiler flags." msgstr "Flags des C-Compilers." -#: ../../using/configure.rst:453 +#: ../../using/configure.rst:460 msgid "C preprocessor command." msgstr "Befehl des C-Präprozessors." -#: ../../using/configure.rst:457 +#: ../../using/configure.rst:464 msgid "C preprocessor flags, e.g. :samp:`-I{include_dir}`." msgstr "Flags des C-Präprozessors, etwa :samp:`-I{include_dir}`." -#: ../../using/configure.rst:461 ../../using/configure.rst:934 +#: ../../using/configure.rst:468 ../../using/configure.rst:945 msgid "Linker options" msgstr "Optionen des Linkers" -#: ../../using/configure.rst:465 +#: ../../using/configure.rst:472 msgid "Linker flags, e.g. :samp:`-L{library_directory}`." msgstr "Linker-Flags, etwa :samp:`-L{library_directory}`." -#: ../../using/configure.rst:469 +#: ../../using/configure.rst:476 msgid "Libraries to pass to the linker, e.g. :samp:`-l{library}`." msgstr "" "Bibliotheken, die an den Linker übergeben werden, etwa :samp:`-l{library}`." -#: ../../using/configure.rst:473 +#: ../../using/configure.rst:480 msgid "Name for machine-dependent library files." msgstr "Name für maschinenabhängige Bibliotheksdateien." -#: ../../using/configure.rst:479 +#: ../../using/configure.rst:486 msgid "Options for third-party dependencies" msgstr "Optionen für Abhängigkeiten von Dritten" -#: ../../using/configure.rst:486 +#: ../../using/configure.rst:493 msgid "" "C compiler and linker flags to link Python to ``libbz2``, used by :mod:`bz2` " "module, overriding ``pkg-config``." @@ -1007,7 +1014,7 @@ msgstr "" "C-Compiler- und Linker-Flags, um Python gegen ``libbz2`` zu linken, " "verwendet vom Modul :mod:`bz2`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:492 +#: ../../using/configure.rst:499 msgid "" "C compiler and linker flags for ``libncurses`` or ``libncursesw``, used by :" "mod:`curses` module, overriding ``pkg-config``." @@ -1015,11 +1022,11 @@ msgstr "" "C-Compiler- und Linker-Flags für ``libncurses`` oder ``libncursesw``, " "verwendet vom Modul :mod:`curses`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:498 +#: ../../using/configure.rst:505 msgid "C compiler and linker flags for ``gdbm``." msgstr "C-Compiler- und Linker-Flags für ``gdbm``." -#: ../../using/configure.rst:503 +#: ../../using/configure.rst:510 msgid "" "C compiler and linker flags for ``libedit``, used by :mod:`readline` module, " "overriding ``pkg-config``." @@ -1027,7 +1034,7 @@ msgstr "" "C-Compiler- und Linker-Flags für ``libedit``, verwendet vom Modul :mod:" "`readline`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:509 +#: ../../using/configure.rst:516 msgid "" "C compiler and linker flags for ``libffi``, used by :mod:`ctypes` module, " "overriding ``pkg-config``." @@ -1035,7 +1042,7 @@ msgstr "" "C-Compiler- und Linker-Flags für ``libffi``, verwendet vom Modul :mod:" "`ctypes`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:515 +#: ../../using/configure.rst:522 msgid "" "C compiler and linker flags for ``libmpdec``, used by :mod:`decimal` module, " "overriding ``pkg-config``." @@ -1043,7 +1050,7 @@ msgstr "" "C-Compiler- und Linker-Flags für ``libmpdec``, verwendet vom Modul :mod:" "`decimal`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:520 +#: ../../using/configure.rst:527 msgid "" "These environment variables have no effect unless :option:`--with-system-" "libmpdec` is specified." @@ -1051,7 +1058,7 @@ msgstr "" "Diese Umgebungsvariablen haben keine Wirkung, sofern nicht :option:`--with-" "system-libmpdec` angegeben ist." -#: ../../using/configure.rst:526 +#: ../../using/configure.rst:533 msgid "" "C compiler and linker flags for ``liblzma``, used by :mod:`lzma` module, " "overriding ``pkg-config``." @@ -1059,7 +1066,7 @@ msgstr "" "C-Compiler- und Linker-Flags für ``liblzma``, verwendet vom Modul :mod:" "`lzma`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:532 +#: ../../using/configure.rst:539 msgid "" "C compiler and linker flags for ``libreadline``, used by :mod:`readline` " "module, overriding ``pkg-config``." @@ -1067,7 +1074,7 @@ msgstr "" "C-Compiler- und Linker-Flags für ``libreadline``, verwendet vom Modul :mod:" "`readline`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:538 +#: ../../using/configure.rst:545 msgid "" "C compiler and linker flags for ``libsqlite3``, used by :mod:`sqlite3` " "module, overriding ``pkg-config``." @@ -1075,7 +1082,7 @@ msgstr "" "C-Compiler- und Linker-Flags für ``libsqlite3``, verwendet vom Modul :mod:" "`sqlite3`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:544 +#: ../../using/configure.rst:551 msgid "" "C compiler and linker flags for ``libuuid``, used by :mod:`uuid` module, " "overriding ``pkg-config``." @@ -1083,7 +1090,7 @@ msgstr "" "C-Compiler- und Linker-Flags für ``libuuid``, verwendet vom Modul :mod:" "`uuid`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:550 +#: ../../using/configure.rst:557 msgid "" "C compiler and linker flags for ``libzstd``, used by :mod:`compression.zstd` " "module, overriding ``pkg-config``." @@ -1091,11 +1098,11 @@ msgstr "" "C-Compiler- und Linker-Flags für ``libzstd``, verwendet vom Modul :mod:" "`compression.zstd`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:558 +#: ../../using/configure.rst:565 msgid "C compiler and linker flags for PANEL, overriding ``pkg-config``." msgstr "C-Compiler- und Linker-Flags für PANEL, überschreibt ``pkg-config``." -#: ../../using/configure.rst:560 +#: ../../using/configure.rst:567 msgid "" "C compiler and linker flags for ``libpanel`` or ``libpanelw``, used by :mod:" "`curses.panel` module, overriding ``pkg-config``." @@ -1103,11 +1110,11 @@ msgstr "" "C-Compiler- und Linker-Flags für ``libpanel`` oder ``libpanelw``, verwendet " "vom Modul :mod:`curses.panel`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:566 +#: ../../using/configure.rst:573 msgid "C compiler and linker flags for TCLTK, overriding ``pkg-config``." msgstr "C-Compiler- und Linker-Flags für TCLTK, überschreibt ``pkg-config``." -#: ../../using/configure.rst:571 +#: ../../using/configure.rst:578 msgid "" "C compiler and linker flags for ``libzlib``, used by :mod:`gzip` module, " "overriding ``pkg-config``." @@ -1115,15 +1122,15 @@ msgstr "" "C-Compiler- und Linker-Flags für ``libzlib``, verwendet vom Modul :mod:" "`gzip`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:576 +#: ../../using/configure.rst:583 msgid "WebAssembly Options" msgstr "WebAssembly-Optionen" -#: ../../using/configure.rst:580 +#: ../../using/configure.rst:587 msgid "Turn on dynamic linking support for WASM." msgstr "Schaltet die Unterstützung für dynamisches Linken bei WASM ein." -#: ../../using/configure.rst:582 +#: ../../using/configure.rst:589 msgid "" "Dynamic linking enables ``dlopen``. File size of the executable increases " "due to limited dead code elimination and additional features." @@ -1132,15 +1139,15 @@ msgstr "" "Datei wächst, weil toter Code nur begrenzt entfernt werden kann und " "zusätzliche Funktionen hinzukommen." -#: ../../using/configure.rst:589 +#: ../../using/configure.rst:596 msgid "Turn on pthreads support for WASM." msgstr "Schaltet die Unterstützung für pthreads bei WASM ein." -#: ../../using/configure.rst:595 +#: ../../using/configure.rst:602 msgid "Install Options" msgstr "Optionen für die Installation" -#: ../../using/configure.rst:599 +#: ../../using/configure.rst:606 msgid "" "Install architecture-independent files in PREFIX. On Unix, it defaults to :" "file:`/usr/local`." @@ -1148,11 +1155,11 @@ msgstr "" "Installiert architekturunabhängige Dateien in PREFIX. Unter Unix ist die " "Vorgabe :file:`/usr/local`." -#: ../../using/configure.rst:602 +#: ../../using/configure.rst:609 msgid "This value can be retrieved at runtime using :data:`sys.prefix`." msgstr "Dieser Wert lässt sich zur Laufzeit über :data:`sys.prefix` abrufen." -#: ../../using/configure.rst:604 +#: ../../using/configure.rst:611 msgid "" "As an example, one can use ``--prefix=\"$HOME/.local/\"`` to install a " "Python in its home directory." @@ -1160,7 +1167,7 @@ msgstr "" "Mit ``--prefix=\"$HOME/.local/\"`` lässt sich Python zum Beispiel im eigenen " "Benutzerverzeichnis installieren." -#: ../../using/configure.rst:609 +#: ../../using/configure.rst:616 msgid "" "Install architecture-dependent files in EPREFIX, defaults to :option:`--" "prefix`." @@ -1168,12 +1175,12 @@ msgstr "" "Installiert architekturabhängige Dateien in EPREFIX, Vorgabe ist :option:`--" "prefix`." -#: ../../using/configure.rst:611 +#: ../../using/configure.rst:618 msgid "This value can be retrieved at runtime using :data:`sys.exec_prefix`." msgstr "" "Dieser Wert lässt sich zur Laufzeit über :data:`sys.exec_prefix` abrufen." -#: ../../using/configure.rst:615 +#: ../../using/configure.rst:622 msgid "" "Don't build nor install test modules, like the :mod:`test` package or the :" "mod:`!_testcapi` extension module (built and installed by default)." @@ -1182,13 +1189,13 @@ msgstr "" "das Erweiterungsmodul :mod:`!_testcapi` (werden standardmäßig gebaut und " "installiert)." -#: ../../using/configure.rst:622 +#: ../../using/configure.rst:629 msgid "Select the :mod:`ensurepip` command run on Python installation:" msgstr "" "Wählt den Befehl von :mod:`ensurepip`, der bei der Python-Installation " "ausgeführt wird:" -#: ../../using/configure.rst:624 +#: ../../using/configure.rst:631 msgid "" "``upgrade`` (default): run ``python -m ensurepip --altinstall --upgrade`` " "command." @@ -1196,19 +1203,19 @@ msgstr "" "``upgrade`` (Vorgabe): führt ``python -m ensurepip --altinstall --upgrade`` " "aus." -#: ../../using/configure.rst:626 +#: ../../using/configure.rst:633 msgid "``install``: run ``python -m ensurepip --altinstall`` command;" msgstr "``install``: führt ``python -m ensurepip --altinstall`` aus;" -#: ../../using/configure.rst:627 +#: ../../using/configure.rst:634 msgid "``no``: don't run ensurepip;" msgstr "``no``: führt ensurepip nicht aus;" -#: ../../using/configure.rst:633 +#: ../../using/configure.rst:640 msgid "Performance options" msgstr "Optionen für die Leistung" -#: ../../using/configure.rst:635 +#: ../../using/configure.rst:642 msgid "" "Configuring Python using ``--enable-optimizations --with-lto`` (PGO + LTO) " "is recommended for best performance. The experimental ``--enable-bolt`` flag " @@ -1218,7 +1225,7 @@ msgstr "" "with-lto`` (PGO + LTO) zu konfigurieren. Auch das experimentelle Flag ``--" "enable-bolt`` lässt sich verwenden, um die Leistung zu verbessern." -#: ../../using/configure.rst:641 +#: ../../using/configure.rst:648 msgid "" "Enable Profile Guided Optimization (PGO) using :envvar:`PROFILE_TASK` " "(disabled by default)." @@ -1226,7 +1233,7 @@ msgstr "" "Schaltet Profile Guided Optimization (PGO) über :envvar:`PROFILE_TASK` ein " "(standardmäßig abgeschaltet)." -#: ../../using/configure.rst:644 +#: ../../using/configure.rst:651 msgid "" "The C compiler Clang requires ``llvm-profdata`` program for PGO. On macOS, " "GCC also requires it: GCC is just an alias to Clang on macOS." @@ -1234,7 +1241,7 @@ msgstr "" "Der C-Compiler Clang benötigt für PGO das Programm ``llvm-profdata``. Unter " "macOS benötigt es auch GCC, denn GCC ist dort nur ein anderer Name für Clang." -#: ../../using/configure.rst:647 +#: ../../using/configure.rst:654 msgid "" "Disable also semantic interposition in libpython if ``--enable-shared`` and " "GCC is used: add ``-fno-semantic-interposition`` to the compiler and linker " @@ -1244,7 +1251,7 @@ msgstr "" "enable-shared`` und GCC verwendet werden: fügt ``-fno-semantic-" "interposition`` zu den Compiler- und Linker-Flags hinzu." -#: ../../using/configure.rst:653 +#: ../../using/configure.rst:660 msgid "" "During the build, you may encounter compiler warnings about profile data not " "being available for some source files. These warnings are harmless, as only " @@ -1258,11 +1265,11 @@ msgstr "" "Clang abzuschalten, unterdrücke sie von Hand, indem du ``-Wno-profile-instr-" "unprofiled`` zu :envvar:`CFLAGS` hinzufügst." -#: ../../using/configure.rst:662 +#: ../../using/configure.rst:669 msgid "Use ``-fno-semantic-interposition`` on GCC." msgstr "Verwendet ``-fno-semantic-interposition`` bei GCC." -#: ../../using/configure.rst:667 +#: ../../using/configure.rst:674 msgid "" "Environment variable used in the Makefile: Python command line arguments for " "the PGO generation task." @@ -1270,21 +1277,21 @@ msgstr "" "Im Makefile verwendete Umgebungsvariable: die Python-Befehlszeilenargumente " "für die Aufgabe, die das Profil erzeugt." -#: ../../using/configure.rst:670 +#: ../../using/configure.rst:677 msgid "Default: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." msgstr "Vorgabe: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." -#: ../../using/configure.rst:674 +#: ../../using/configure.rst:681 msgid "Task failure is no longer ignored silently." msgstr "Ein Fehlschlag der Aufgabe wird nicht mehr stillschweigend übergangen." -#: ../../using/configure.rst:679 +#: ../../using/configure.rst:686 msgid "Enable Link Time Optimization (LTO) in any build (disabled by default)." msgstr "" "Schaltet Link Time Optimization (LTO) in jedem Build ein (standardmäßig " "abgeschaltet)." -#: ../../using/configure.rst:681 +#: ../../using/configure.rst:688 msgid "" "The C compiler Clang requires ``llvm-ar`` for LTO (``ar`` on macOS), as well " "as an LTO-aware linker (``ld.gold`` or ``lld``)." @@ -1292,11 +1299,11 @@ msgstr "" "Der C-Compiler Clang benötigt für LTO ``llvm-ar`` (unter macOS ``ar``) sowie " "einen LTO-fähigen Linker (``ld.gold`` oder ``lld``)." -#: ../../using/configure.rst:686 +#: ../../using/configure.rst:693 msgid "To use ThinLTO feature, use ``--with-lto=thin`` on Clang." msgstr "Um ThinLTO zu verwenden, nimm bei Clang ``--with-lto=thin``." -#: ../../using/configure.rst:689 +#: ../../using/configure.rst:696 msgid "" "Use ThinLTO as the default optimization policy on Clang if the compiler " "accepts the flag." @@ -1304,7 +1311,7 @@ msgstr "" "Verwendet ThinLTO bei Clang als Standardvorgehen für die Optimierung, sofern " "der Compiler das Flag annimmt." -#: ../../using/configure.rst:694 +#: ../../using/configure.rst:701 msgid "" "Enable usage of the `BOLT post-link binary optimizer `_ (disabled by default)." @@ -1312,7 +1319,7 @@ msgstr "" "Schaltet die Verwendung des `BOLT post-link binary optimizer `_ ein (standardmäßig abgeschaltet)." -#: ../../using/configure.rst:698 +#: ../../using/configure.rst:705 msgid "" "BOLT is part of the LLVM project but is not always included in their binary " "distributions. This flag requires that ``llvm-bolt`` and ``merge-fdata`` are " @@ -1322,7 +1329,7 @@ msgstr "" "Binärdistributionen enthalten. Dieses Flag setzt voraus, dass ``llvm-bolt`` " "und ``merge-fdata`` verfügbar sind." -#: ../../using/configure.rst:702 +#: ../../using/configure.rst:709 msgid "" "BOLT is still a fairly new project so this flag should be considered " "experimental for now. Because this tool operates on machine code its success " @@ -1340,7 +1347,7 @@ msgstr "" "bekannt, dass BOLT in manchen Fällen abstürzt. Für die Optimierung mit BOLT " "wird LLVM 16 oder neuer dringend empfohlen." -#: ../../using/configure.rst:710 +#: ../../using/configure.rst:717 msgid "" "The :envvar:`!BOLT_INSTRUMENT_FLAGS` and :envvar:`!BOLT_APPLY_FLAGS` :" "program:`configure` variables can be defined to override the default set of " @@ -1352,7 +1359,7 @@ msgstr "" "program:`llvm-bolt` überschreiben, mit denen Binärdateien instrumentiert " "beziehungsweise BOLT-Daten auf sie angewandt werden." -#: ../../using/configure.rst:719 +#: ../../using/configure.rst:726 msgid "" "Arguments to ``llvm-bolt`` when creating a `BOLT optimized binary `_." @@ -1360,11 +1367,11 @@ msgstr "" "Argumente für ``llvm-bolt`` beim Erzeugen einer `mit BOLT optimierten " "Binärdatei `_." -#: ../../using/configure.rst:726 +#: ../../using/configure.rst:733 msgid "Arguments to ``llvm-bolt`` when instrumenting binaries." msgstr "Argumente für ``llvm-bolt`` beim Instrumentieren von Binärdateien." -#: ../../using/configure.rst:732 +#: ../../using/configure.rst:739 msgid "" "Enable computed gotos in evaluation loop (enabled by default on supported " "compilers)." @@ -1372,7 +1379,7 @@ msgstr "" "Schaltet berechnete gotos in der Auswertungsschleife ein (auf unterstützten " "Compilern standardmäßig eingeschaltet)." -#: ../../using/configure.rst:737 +#: ../../using/configure.rst:744 msgid "" "Enable interpreters using tail calls in CPython. If enabled, enabling PGO (:" "option:`--enable-optimizations`) is highly recommended. This option " @@ -1388,14 +1395,14 @@ msgstr "" "`_ " "voraus. Clang 19 und neuer unterstützt das zum Beispiel." -#: ../../using/configure.rst:747 +#: ../../using/configure.rst:754 msgid "" "Disable the fast :ref:`mimalloc ` allocator (enabled by default)." msgstr "" "Schaltet den schnellen Allokator :ref:`mimalloc ` ab " "(standardmäßig eingeschaltet)." -#: ../../using/configure.rst:750 +#: ../../using/configure.rst:757 msgid "" "This option cannot be used together with :option:`--disable-gil` because " "the :term:`free-threaded ` build requires mimalloc." @@ -1404,11 +1411,11 @@ msgstr "" "verwenden, weil der :term:`free-threaded ` Build mimalloc " "benötigt." -#: ../../using/configure.rst:753 ../../using/configure.rst:760 +#: ../../using/configure.rst:760 ../../using/configure.rst:767 msgid "See also :envvar:`PYTHONMALLOC` environment variable." msgstr "Siehe auch die Umgebungsvariable :envvar:`PYTHONMALLOC`." -#: ../../using/configure.rst:757 +#: ../../using/configure.rst:764 msgid "" "Disable the specialized Python memory allocator :ref:`pymalloc ` " "(enabled by default)." @@ -1416,7 +1423,7 @@ msgstr "" "Schaltet den spezialisierten Python-Speicherallokator :ref:`pymalloc " "` ab (standardmäßig eingeschaltet)." -#: ../../using/configure.rst:764 +#: ../../using/configure.rst:771 msgid "" "Disable static documentation strings to reduce the memory footprint (enabled " "by default). Documentation strings defined in Python are not affected." @@ -1425,21 +1432,21 @@ msgstr "" "verringern (standardmäßig eingeschaltet). In Python definierte " "Dokumentationszeichenketten sind davon nicht betroffen." -#: ../../using/configure.rst:767 +#: ../../using/configure.rst:774 msgid "Don't define the ``WITH_DOC_STRINGS`` macro." msgstr "Definiert das Makro ``WITH_DOC_STRINGS`` nicht." -#: ../../using/configure.rst:769 +#: ../../using/configure.rst:776 msgid "See the ``PyDoc_STRVAR()`` macro." msgstr "Siehe das Makro ``PyDoc_STRVAR()``." -#: ../../using/configure.rst:773 +#: ../../using/configure.rst:780 msgid "Enable C-level code profiling with ``gprof`` (disabled by default)." msgstr "" "Schaltet die Profilierung von Code auf C-Ebene mit ``gprof`` ein " "(standardmäßig abgeschaltet)." -#: ../../using/configure.rst:777 +#: ../../using/configure.rst:784 msgid "" "Add ``-fstrict-overflow`` to the C compiler flags (by default we add ``-fno-" "strict-overflow`` instead)." @@ -1447,7 +1454,7 @@ msgstr "" "Fügt ``-fstrict-overflow`` zu den Flags des C-Compilers hinzu (standardmäßig " "fügen wir stattdessen ``-fno-strict-overflow`` hinzu)." -#: ../../using/configure.rst:782 +#: ../../using/configure.rst:789 msgid "" "Deactivate remote debugging support described in :pep:`768` (enabled by " "default). When this flag is provided the code that allows the interpreter to " @@ -1463,7 +1470,7 @@ msgstr "" "beschrieben. Das betrifft sowohl die Möglichkeit, Code zur Ausführung " "einzuplanen, als auch die, Code zur Ausführung zu empfangen." -#: ../../using/configure.rst:790 +#: ../../using/configure.rst:797 msgid "" "This macro is defined by default, unless Python is configured with :option:" "`--without-remote-debug`." @@ -1471,7 +1478,7 @@ msgstr "" "Dieses Makro ist standardmäßig definiert, sofern Python nicht mit :option:`--" "without-remote-debug` konfiguriert wurde." -#: ../../using/configure.rst:793 +#: ../../using/configure.rst:800 msgid "" "Note that even if the macro is defined, remote debugging may not be " "available (for example, on an incompatible platform)." @@ -1479,11 +1486,11 @@ msgstr "" "Beachte, dass die Fernfehlersuche auch bei definiertem Makro möglicherweise " "nicht verfügbar ist, etwa auf einer unverträglichen Plattform." -#: ../../using/configure.rst:802 +#: ../../using/configure.rst:809 msgid "Python Debug Build" msgstr "Debug-Build von Python" -#: ../../using/configure.rst:804 +#: ../../using/configure.rst:811 msgid "" "A debug build is Python built with the :option:`--with-pydebug` configure " "option." @@ -1491,11 +1498,11 @@ msgstr "" "Ein Debug-Build ist ein Python, das mit der configure-Option :option:`--with-" "pydebug` gebaut wurde." -#: ../../using/configure.rst:807 +#: ../../using/configure.rst:814 msgid "Effects of a debug build:" msgstr "Wirkung eines Debug-Builds:" -#: ../../using/configure.rst:809 +#: ../../using/configure.rst:816 msgid "" "Display all warnings by default: the list of default warning filters is " "empty in the :mod:`warnings` module." @@ -1503,19 +1510,19 @@ msgstr "" "Zeigt standardmäßig alle Warnungen an: die Liste der Standard-Warnfilter im " "Modul :mod:`warnings` ist leer." -#: ../../using/configure.rst:811 +#: ../../using/configure.rst:818 msgid "Add ``d`` to :data:`sys.abiflags`." msgstr "Fügt ``d`` zu :data:`sys.abiflags` hinzu." -#: ../../using/configure.rst:812 +#: ../../using/configure.rst:819 msgid "Add :func:`!sys.gettotalrefcount` function." msgstr "Fügt die Funktion :func:`!sys.gettotalrefcount` hinzu." -#: ../../using/configure.rst:813 +#: ../../using/configure.rst:820 msgid "Add :option:`-X showrefcount <-X>` command line option." msgstr "Fügt die Befehlszeilenoption :option:`-X showrefcount <-X>` hinzu." -#: ../../using/configure.rst:814 +#: ../../using/configure.rst:821 msgid "" "Add :option:`-d` command line option and :envvar:`PYTHONDEBUG` environment " "variable to debug the parser." @@ -1523,7 +1530,7 @@ msgstr "" "Fügt die Befehlszeilenoption :option:`-d` und die Umgebungsvariable :envvar:" "`PYTHONDEBUG` hinzu, um den Parser zu untersuchen." -#: ../../using/configure.rst:816 +#: ../../using/configure.rst:823 msgid "" "Add support for the ``__lltrace__`` variable: enable low-level tracing in " "the bytecode evaluation loop if the variable is defined." @@ -1532,7 +1539,7 @@ msgstr "" "Verfolgung auf niedriger Ebene in der Bytecode-Auswertungsschleife ein, wenn " "die Variable definiert ist." -#: ../../using/configure.rst:818 +#: ../../using/configure.rst:825 msgid "" "Install :ref:`debug hooks on memory allocators ` " "to detect buffer overflow and other memory errors." @@ -1540,11 +1547,11 @@ msgstr "" "Installiert :ref:`Debug-Haken an den Speicherallokatoren `, um Pufferüberläufe und andere Speicherfehler zu erkennen." -#: ../../using/configure.rst:820 +#: ../../using/configure.rst:827 msgid "Define ``Py_DEBUG`` and ``Py_REF_DEBUG`` macros." msgstr "Definiert die Makros ``Py_DEBUG`` und ``Py_REF_DEBUG``." -#: ../../using/configure.rst:821 +#: ../../using/configure.rst:828 msgid "" "Add runtime checks: code surrounded by ``#ifdef Py_DEBUG`` and ``#endif``. " "Enable ``assert(...)`` and ``_PyObject_ASSERT(...)`` assertions: don't set " @@ -1557,11 +1564,11 @@ msgstr "" "(siehe auch die configure-Option :option:`--with-assertions`). Die " "wichtigsten Laufzeitprüfungen:" -#: ../../using/configure.rst:826 +#: ../../using/configure.rst:833 msgid "Add sanity checks on the function arguments." msgstr "Fügt Plausibilitätsprüfungen der Funktionsargumente hinzu." -#: ../../using/configure.rst:827 +#: ../../using/configure.rst:834 msgid "" "Unicode and int objects are created with their memory filled with a pattern " "to detect usage of uninitialized objects." @@ -1569,7 +1576,7 @@ msgstr "" "Unicode- und int-Objekte werden mit einem Muster im Speicher erzeugt, damit " "die Verwendung nicht initialisierter Objekte auffällt." -#: ../../using/configure.rst:829 +#: ../../using/configure.rst:836 msgid "" "Ensure that functions which can clear or replace the current exception are " "not called with an exception raised." @@ -1577,11 +1584,11 @@ msgstr "" "Stellt sicher, dass Funktionen, die die aktuelle Ausnahme löschen oder " "ersetzen können, nicht bei ausgelöster Ausnahme aufgerufen werden." -#: ../../using/configure.rst:831 +#: ../../using/configure.rst:838 msgid "Check that deallocator functions don't change the current exception." msgstr "Prüft, dass Freigabefunktionen die aktuelle Ausnahme nicht verändern." -#: ../../using/configure.rst:832 +#: ../../using/configure.rst:839 msgid "" "The garbage collector (:func:`gc.collect` function) runs some basic checks " "on objects consistency." @@ -1589,7 +1596,7 @@ msgstr "" "Der Garbage Collector (Funktion :func:`gc.collect`) führt einige " "grundlegende Prüfungen der Objektkonsistenz durch." -#: ../../using/configure.rst:834 +#: ../../using/configure.rst:841 msgid "" "The :c:macro:`!Py_SAFE_DOWNCAST()` macro checks for integer underflow and " "overflow when downcasting from wide types to narrow types." @@ -1597,7 +1604,7 @@ msgstr "" "Das Makro :c:macro:`!Py_SAFE_DOWNCAST()` prüft auf Unter- und Überlauf von " "Ganzzahlen, wenn von breiten auf schmale Typen herabgecastet wird." -#: ../../using/configure.rst:837 +#: ../../using/configure.rst:844 msgid "" "See also the :ref:`Python Development Mode ` and the :option:`--" "with-trace-refs` configure option." @@ -1605,7 +1612,7 @@ msgstr "" "Siehe auch den :ref:`Entwicklungsmodus von Python ` und die " "configure-Option :option:`--with-trace-refs`." -#: ../../using/configure.rst:840 +#: ../../using/configure.rst:847 msgid "" "Release builds are now ABI compatible with debug builds: defining the " "``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro (see the :" @@ -1620,11 +1627,11 @@ msgstr "" "gegen einen Debug-Build gebaut wurde, ist nicht zwangsläufig mit einem " "Release-Build verträglich." -#: ../../using/configure.rst:849 +#: ../../using/configure.rst:856 msgid "Debug options" msgstr "Debug-Optionen" -#: ../../using/configure.rst:853 +#: ../../using/configure.rst:860 msgid "" ":ref:`Build Python in debug mode `: define the ``Py_DEBUG`` " "macro (disabled by default)." @@ -1632,25 +1639,25 @@ msgstr "" ":ref:`Baut Python im Debug-Modus `: definiert das Makro " "``Py_DEBUG`` (standardmäßig abgeschaltet)." -#: ../../using/configure.rst:858 +#: ../../using/configure.rst:865 msgid "Enable tracing references for debugging purpose (disabled by default)." msgstr "" "Schaltet die Verfolgung von Referenzen zur Fehlersuche ein (standardmäßig " "abgeschaltet)." -#: ../../using/configure.rst:862 +#: ../../using/configure.rst:869 msgid "Define the ``Py_TRACE_REFS`` macro." msgstr "Definiert das Makro ``Py_TRACE_REFS``." -#: ../../using/configure.rst:863 +#: ../../using/configure.rst:870 msgid "Add :func:`sys.getobjects` function." msgstr "Fügt die Funktion :func:`sys.getobjects` hinzu." -#: ../../using/configure.rst:864 +#: ../../using/configure.rst:871 msgid "Add :envvar:`PYTHONDUMPREFS` environment variable." msgstr "Fügt die Umgebungsvariable :envvar:`PYTHONDUMPREFS` hinzu." -#: ../../using/configure.rst:866 +#: ../../using/configure.rst:873 msgid "" "The :envvar:`PYTHONDUMPREFS` environment variable can be used to dump " "objects and reference counts still alive at Python exit." @@ -1658,11 +1665,11 @@ msgstr "" "Mit der Umgebungsvariablen :envvar:`PYTHONDUMPREFS` lassen sich Objekte und " "Referenzzähler ausgeben, die beim Beenden von Python noch leben." -#: ../../using/configure.rst:869 +#: ../../using/configure.rst:876 msgid ":ref:`Statically allocated objects ` are not traced." msgstr ":ref:`Statisch belegte Objekte ` werden nicht verfolgt." -#: ../../using/configure.rst:873 +#: ../../using/configure.rst:880 msgid "" "This build is now ABI compatible with release build and :ref:`debug build " "`." @@ -1670,7 +1677,7 @@ msgstr "" "Dieser Build ist nun ABI-verträglich mit dem Release-Build und dem :ref:" "`Debug-Build `." -#: ../../using/configure.rst:879 +#: ../../using/configure.rst:886 msgid "" "Build with C assertions enabled (default is no): ``assert(...);`` and " "``_PyObject_ASSERT(...);``." @@ -1678,7 +1685,7 @@ msgstr "" "Baut mit eingeschalteten C-Zusicherungen (Vorgabe ist nein): ``assert(...);" "`` und ``_PyObject_ASSERT(...);``." -#: ../../using/configure.rst:882 +#: ../../using/configure.rst:889 msgid "" "If set, the ``NDEBUG`` macro is not defined in the :envvar:`OPT` compiler " "variable." @@ -1686,7 +1693,7 @@ msgstr "" "Wenn gesetzt, wird das Makro ``NDEBUG`` in der Compiler-Variablen :envvar:" "`OPT` nicht definiert." -#: ../../using/configure.rst:885 +#: ../../using/configure.rst:892 msgid "" "See also the :option:`--with-pydebug` option (:ref:`debug build `) which also enables assertions." @@ -1694,22 +1701,22 @@ msgstr "" "Siehe auch die Option :option:`--with-pydebug` (:ref:`Debug-Build `), die Zusicherungen ebenfalls einschaltet." -#: ../../using/configure.rst:892 +#: ../../using/configure.rst:899 msgid "Enable Valgrind support (default is no)." msgstr "Schaltet die Unterstützung für Valgrind ein (Vorgabe ist nein)." -#: ../../using/configure.rst:896 +#: ../../using/configure.rst:903 msgid "Enable DTrace support (default is no)." msgstr "Schaltet die Unterstützung für DTrace ein (Vorgabe ist nein)." -#: ../../using/configure.rst:898 +#: ../../using/configure.rst:905 msgid "" "See :ref:`Instrumenting CPython with DTrace and SystemTap `." msgstr "" "Siehe :ref:`CPython mit DTrace und SystemTap instrumentieren " "`." -#: ../../using/configure.rst:905 +#: ../../using/configure.rst:912 msgid "" "Enable AddressSanitizer memory error detector, ``asan`` (default is no). To " "improve ASan detection capabilities you may also want to combine this with :" @@ -1722,14 +1729,21 @@ msgstr "" "spezialisierten Allokator für kleine Objekte abzuschalten, dessen Belegungen " "ASan nicht verfolgt." -#: ../../using/configure.rst:914 +#: ../../using/configure.rst:921 msgid "" "Enable MemorySanitizer allocation error detector, ``msan`` (default is no)." msgstr "" "Schaltet den Belegungsfehlersucher MemorySanitizer ein, ``msan`` (Vorgabe " "ist nein)." -#: ../../using/configure.rst:920 +#: ../../using/configure.rst:923 +msgid "" +"MSan reports false positives for memory initialized by libraries that are " +"not built with MSan, so either build all dependencies with MSan or disable " +"the extension modules that use them in :file:`Modules/Setup.local`." +msgstr "" + +#: ../../using/configure.rst:931 msgid "" "Enable UndefinedBehaviorSanitizer undefined behaviour detector, ``ubsan`` " "(default is no)." @@ -1737,18 +1751,18 @@ msgstr "" "Schaltet den Sucher für undefiniertes Verhalten UndefinedBehaviorSanitizer " "ein, ``ubsan`` (Vorgabe ist nein)." -#: ../../using/configure.rst:927 +#: ../../using/configure.rst:938 msgid "Enable ThreadSanitizer data race detector, ``tsan`` (default is no)." msgstr "" "Schaltet den Wettlaufsucher ThreadSanitizer ein, ``tsan`` (Vorgabe ist nein)." -#: ../../using/configure.rst:938 +#: ../../using/configure.rst:949 msgid "Enable building a shared Python library: ``libpython`` (default is no)." msgstr "" "Schaltet das Bauen einer gemeinsam genutzten Python-Bibliothek ein: " "``libpython`` (Vorgabe ist nein)." -#: ../../using/configure.rst:942 +#: ../../using/configure.rst:953 msgid "" "Do not build ``libpythonMAJOR.MINOR.a`` and do not install ``python.o`` " "(built and enabled by default)." @@ -1756,15 +1770,15 @@ msgstr "" "Baut ``libpythonMAJOR.MINOR.a`` nicht und installiert ``python.o`` nicht " "(wird standardmäßig gebaut und eingeschaltet)." -#: ../../using/configure.rst:949 +#: ../../using/configure.rst:960 msgid "Libraries options" msgstr "Optionen für Bibliotheken" -#: ../../using/configure.rst:953 +#: ../../using/configure.rst:964 msgid "Link against additional libraries (default is no)." msgstr "Linkt gegen zusätzliche Bibliotheken (Vorgabe ist nein)." -#: ../../using/configure.rst:957 +#: ../../using/configure.rst:968 msgid "" "Build the :mod:`!pyexpat` module using an installed ``expat`` library " "(default is no)." @@ -1772,7 +1786,7 @@ msgstr "" "Baut das Modul :mod:`!pyexpat` mit einer installierten ``expat``-Bibliothek " "(Vorgabe ist nein)." -#: ../../using/configure.rst:962 +#: ../../using/configure.rst:973 msgid "" "Build the ``_decimal`` extension module using an installed ``mpdecimal`` " "library, see the :mod:`decimal` module (default is yes)." @@ -1780,11 +1794,11 @@ msgstr "" "Baut das Erweiterungsmodul ``_decimal`` mit einer installierten " "``mpdecimal``-Bibliothek, siehe das Modul :mod:`decimal` (Vorgabe ist ja)." -#: ../../using/configure.rst:967 +#: ../../using/configure.rst:978 msgid "Default to using the installed ``mpdecimal`` library." msgstr "Verwendet standardmäßig die installierte ``mpdecimal``-Bibliothek." -#: ../../using/configure.rst:972 +#: ../../using/configure.rst:983 msgid "" "A bundled copy of the library will no longer be selected implicitly if an " "installed ``mpdecimal`` library is not found. In Python 3.15 only, it can " @@ -1796,7 +1810,7 @@ msgstr "" "in Python 3.15 lässt sie sich noch ausdrücklich mit ``--with-system-" "libmpdec=no`` oder ``--without-system-libmpdec`` auswählen." -#: ../../using/configure.rst:977 +#: ../../using/configure.rst:988 msgid "" "A copy of the ``mpdecimal`` library sources will no longer be distributed " "with Python 3.16." @@ -1804,141 +1818,141 @@ msgstr "" "Eine Kopie der Quellen der ``mpdecimal``-Bibliothek wird mit Python 3.16 " "nicht mehr ausgeliefert." -#: ../../using/configure.rst:981 +#: ../../using/configure.rst:992 msgid ":option:`LIBMPDEC_CFLAGS` and :option:`LIBMPDEC_LIBS`." msgstr ":option:`LIBMPDEC_CFLAGS` and :option:`LIBMPDEC_LIBS`." -#: ../../using/configure.rst:985 +#: ../../using/configure.rst:996 msgid "Designate a backend library for the :mod:`readline` module." msgstr "Bestimmt eine Backend-Bibliothek für das Modul :mod:`readline`." -#: ../../using/configure.rst:987 +#: ../../using/configure.rst:998 msgid "readline: Use readline as the backend." msgstr "readline: Verwendet readline als Backend." -#: ../../using/configure.rst:988 +#: ../../using/configure.rst:999 msgid "editline: Use editline as the backend." msgstr "editline: Verwendet editline als Backend." -#: ../../using/configure.rst:994 +#: ../../using/configure.rst:1005 msgid "Don't build the :mod:`readline` module (built by default)." msgstr "Baut das Modul :mod:`readline` nicht (wird standardmäßig gebaut)." -#: ../../using/configure.rst:996 +#: ../../using/configure.rst:1007 msgid "Don't define the ``HAVE_LIBREADLINE`` macro." msgstr "Definiert das Makro ``HAVE_LIBREADLINE`` nicht." -#: ../../using/configure.rst:1002 +#: ../../using/configure.rst:1013 msgid "" "Override ``libm`` math library to *STRING* (default is system-dependent)." msgstr "" "Überschreibt die Mathematikbibliothek ``libm`` mit *STRING* (Vorgabe ist " "systemabhängig)." -#: ../../using/configure.rst:1006 +#: ../../using/configure.rst:1017 msgid "Override ``libc`` C library to *STRING* (default is system-dependent)." msgstr "" "Überschreibt die C-Bibliothek ``libc`` mit *STRING* (Vorgabe ist " "systemabhängig)." -#: ../../using/configure.rst:1010 +#: ../../using/configure.rst:1021 msgid "Root of the OpenSSL directory." msgstr "Wurzelverzeichnis von OpenSSL." -#: ../../using/configure.rst:1016 +#: ../../using/configure.rst:1027 msgid "Set runtime library directory (rpath) for OpenSSL libraries:" msgstr "" "Legt das Laufzeit-Bibliotheksverzeichnis (rpath) für die OpenSSL-" "Bibliotheken fest:" -#: ../../using/configure.rst:1018 +#: ../../using/configure.rst:1029 msgid "``no`` (default): don't set rpath;" msgstr "``no`` (Vorgabe): setzt keinen rpath;" -#: ../../using/configure.rst:1019 +#: ../../using/configure.rst:1030 msgid "" "``auto``: auto-detect rpath from :option:`--with-openssl` and ``pkg-config``;" msgstr "" "``auto``: ermittelt den rpath selbsttätig aus :option:`--with-openssl` und " "``pkg-config``;" -#: ../../using/configure.rst:1021 +#: ../../using/configure.rst:1032 msgid "*DIR*: set an explicit rpath." msgstr "*DIR*: setzt einen ausdrücklichen rpath." -#: ../../using/configure.rst:1027 +#: ../../using/configure.rst:1038 msgid "Security Options" msgstr "Sicherheitsoptionen" -#: ../../using/configure.rst:1031 +#: ../../using/configure.rst:1042 msgid "Select hash algorithm for use in ``Python/pyhash.c``:" msgstr "Wählt den Hash-Algorithmus für die Verwendung in ``Python/pyhash.c``:" -#: ../../using/configure.rst:1033 +#: ../../using/configure.rst:1044 msgid "``siphash13`` (default);" msgstr "``siphash13`` (default);" -#: ../../using/configure.rst:1034 +#: ../../using/configure.rst:1045 msgid "``siphash24``;" msgstr "``siphash24``;" -#: ../../using/configure.rst:1035 +#: ../../using/configure.rst:1046 msgid "``fnv``." msgstr "``fnv``." -#: ../../using/configure.rst:1039 +#: ../../using/configure.rst:1050 msgid "``siphash13`` is added and it is the new default." msgstr "``siphash13`` kam hinzu und ist die neue Vorgabe." -#: ../../using/configure.rst:1044 +#: ../../using/configure.rst:1055 msgid "Built-in hash modules:" msgstr "Integrierte Hash-Module:" -#: ../../using/configure.rst:1046 +#: ../../using/configure.rst:1057 msgid "``md5``;" msgstr "``md5``;" -#: ../../using/configure.rst:1047 +#: ../../using/configure.rst:1058 msgid "``sha1``;" msgstr "``sha1``;" -#: ../../using/configure.rst:1048 +#: ../../using/configure.rst:1059 msgid "``sha256``;" msgstr "``sha256``;" -#: ../../using/configure.rst:1049 +#: ../../using/configure.rst:1060 msgid "``sha512``;" msgstr "``sha512``;" -#: ../../using/configure.rst:1050 +#: ../../using/configure.rst:1061 msgid "``sha3`` (with shake);" msgstr "``sha3`` (mit shake);" -#: ../../using/configure.rst:1051 +#: ../../using/configure.rst:1062 msgid "``blake2``." msgstr "``blake2``." -#: ../../using/configure.rst:1057 +#: ../../using/configure.rst:1068 msgid "Override the OpenSSL default cipher suites string:" msgstr "Überschreibt die Zeichenkette der Standard-Cipher-Suites von OpenSSL:" -#: ../../using/configure.rst:1059 +#: ../../using/configure.rst:1070 msgid "``python`` (default): use Python's preferred selection;" msgstr "``python`` (Vorgabe): verwendet die von Python bevorzugte Auswahl;" -#: ../../using/configure.rst:1060 +#: ../../using/configure.rst:1071 msgid "``openssl``: leave OpenSSL's defaults untouched;" msgstr "``openssl``: lässt die Vorgaben von OpenSSL unangetastet;" -#: ../../using/configure.rst:1061 +#: ../../using/configure.rst:1072 msgid "*STRING*: use a custom string" msgstr "*STRING*: verwendet eine eigene Zeichenkette" -#: ../../using/configure.rst:1063 +#: ../../using/configure.rst:1074 msgid "See the :mod:`ssl` module." msgstr "Siehe das Modul :mod:`ssl`." -#: ../../using/configure.rst:1069 +#: ../../using/configure.rst:1080 msgid "" "The settings ``python`` and *STRING* also set TLS 1.2 as minimum protocol " "version." @@ -1946,7 +1960,7 @@ msgstr "" "Die Einstellungen ``python`` und *STRING* setzen zusätzlich TLS 1.2 als " "niedrigste Protokollversion." -#: ../../using/configure.rst:1074 +#: ../../using/configure.rst:1085 msgid "" "Disable compiler options that are `recommended by OpenSSF`_ for security " "reasons with no performance overhead. If this option is not enabled, CPython " @@ -1961,14 +1975,14 @@ msgstr "" "Ist sie eingeschaltet, wird CPython ohne die unten aufgeführten Compiler-" "Optionen gebaut." -#: ../../using/configure.rst:1078 +#: ../../using/configure.rst:1089 msgid "" "The following compiler options are disabled with :option:`!--disable-safety`:" msgstr "" "Mit :option:`!--disable-safety` werden die folgenden Compiler-Optionen " "abgeschaltet:" -#: ../../using/configure.rst:1080 +#: ../../using/configure.rst:1091 msgid "" "`-fstack-protector-strong`_: Enable run-time checks for stack-based buffer " "overflows." @@ -1976,7 +1990,7 @@ msgstr "" "`-fstack-protector-strong`_: Schaltet Laufzeitprüfungen auf Pufferüberläufe " "im Stapel ein." -#: ../../using/configure.rst:1081 +#: ../../using/configure.rst:1092 msgid "" "`-Wtrampolines`_: Enable warnings about trampolines that require executable " "stacks." @@ -1984,7 +1998,7 @@ msgstr "" "`-Wtrampolines`_: Schaltet Warnungen über Trampoline ein, die ausführbare " "Stapel benötigen." -#: ../../using/configure.rst:1091 +#: ../../using/configure.rst:1102 msgid "" "Enable compiler options that are `recommended by OpenSSF`_ for security " "reasons which require overhead. If this option is not enabled, CPython will " @@ -1999,7 +2013,7 @@ msgstr "" "beeinträchtigen. Ist sie eingeschaltet, wird CPython mit den unten " "aufgeführten Compiler-Optionen gebaut." -#: ../../using/configure.rst:1095 +#: ../../using/configure.rst:1106 msgid "" "The following compiler options are enabled with :option:`!--enable-slower-" "safety`:" @@ -2007,7 +2021,7 @@ msgstr "" "Mit :option:`!--enable-slower-safety` werden die folgenden Compiler-Optionen " "eingeschaltet:" -#: ../../using/configure.rst:1097 +#: ../../using/configure.rst:1108 msgid "" "`-D_FORTIFY_SOURCE=3`_: Fortify sources with compile- and run-time checks " "for unsafe libc usage and buffer overflows." @@ -2015,15 +2029,15 @@ msgstr "" "`-D_FORTIFY_SOURCE=3`_: Härtet die Quellen mit Prüfungen zur Übersetzungs- " "und Laufzeit gegen unsichere Verwendung der libc und gegen Pufferüberläufe." -#: ../../using/configure.rst:1105 +#: ../../using/configure.rst:1116 msgid "macOS Options" msgstr "macOS-Optionen" -#: ../../using/configure.rst:1107 +#: ../../using/configure.rst:1118 msgid "See :source:`Mac/README.rst`." msgstr "Siehe :source:`Mac/README.rst`." -#: ../../using/configure.rst:1112 +#: ../../using/configure.rst:1123 msgid "" "Create a universal binary build. *SDKDIR* specifies which macOS SDK should " "be used to perform the build (default is no)." @@ -2031,7 +2045,7 @@ msgstr "" "Erzeugt einen Build als universelle Binärdatei. *SDKDIR* gibt an, welches " "macOS-SDK für den Build verwendet werden soll (Vorgabe ist nein)." -#: ../../using/configure.rst:1118 +#: ../../using/configure.rst:1129 msgid "" "Create a Python.framework rather than a traditional Unix install. Optional " "*INSTALLDIR* specifies the installation path (default is no)." @@ -2039,7 +2053,7 @@ msgstr "" "Erzeugt ein Python.framework anstelle einer herkömmlichen Unix-Installation. " "Das optionale *INSTALLDIR* gibt den Installationspfad an (Vorgabe ist nein)." -#: ../../using/configure.rst:1123 +#: ../../using/configure.rst:1134 msgid "" "Specify the kind of universal binary that should be created. This option is " "only valid when :option:`--enable-universalsdk` is set." @@ -2047,43 +2061,43 @@ msgstr "" "Gibt an, welche Art universeller Binärdatei erzeugt werden soll. Diese " "Option ist nur gültig, wenn :option:`--enable-universalsdk` gesetzt ist." -#: ../../using/configure.rst:1126 +#: ../../using/configure.rst:1137 msgid "Options:" msgstr "Optionen:" -#: ../../using/configure.rst:1128 +#: ../../using/configure.rst:1139 msgid "``universal2`` (x86-64 and arm64);" msgstr "``universal2`` (x86-64 und arm64);" -#: ../../using/configure.rst:1129 +#: ../../using/configure.rst:1140 msgid "``32-bit`` (PPC and i386);" msgstr "``32-bit`` (PPC und i386);" -#: ../../using/configure.rst:1130 +#: ../../using/configure.rst:1141 msgid "``64-bit`` (PPC64 and x86-64);" msgstr "``64-bit`` (PPC64 und x86-64);" -#: ../../using/configure.rst:1131 +#: ../../using/configure.rst:1142 msgid "``3-way`` (i386, PPC and x86-64);" msgstr "``3-way`` (i386, PPC und x86-64);" -#: ../../using/configure.rst:1132 +#: ../../using/configure.rst:1143 msgid "``intel`` (i386 and x86-64);" msgstr "``intel`` (i386 und x86-64);" -#: ../../using/configure.rst:1133 +#: ../../using/configure.rst:1144 msgid "``intel-32`` (i386);" msgstr "``intel-32`` (i386);" -#: ../../using/configure.rst:1134 +#: ../../using/configure.rst:1145 msgid "``intel-64`` (x86-64);" msgstr "``intel-64`` (x86-64);" -#: ../../using/configure.rst:1135 +#: ../../using/configure.rst:1146 msgid "``all`` (PPC, i386, PPC64 and x86-64)." msgstr "``all`` (PPC, i386, PPC64 und x86-64)." -#: ../../using/configure.rst:1137 +#: ../../using/configure.rst:1148 msgid "" "Note that values for this configuration item are *not* the same as the " "identifiers used for universal binary wheels on macOS. See the Python " @@ -2097,7 +2111,7 @@ msgstr "" "`_ stehen im Python Packaging User Guide" -#: ../../using/configure.rst:1145 +#: ../../using/configure.rst:1156 msgid "" "Specify the name for the python framework on macOS only valid when :option:" "`--enable-framework` is set (default: ``Python``)." @@ -2105,7 +2119,7 @@ msgstr "" "Gibt den Namen des Python-Frameworks unter macOS an, nur gültig, wenn :" "option:`--enable-framework` gesetzt ist (Vorgabe: ``Python``)." -#: ../../using/configure.rst:1151 +#: ../../using/configure.rst:1162 msgid "" "The Python standard library contains strings that are known to trigger " "automated inspection tool errors when submitted for distribution by the " @@ -2120,15 +2134,15 @@ msgstr "" "der App-Stores erfüllen. Eine eigene Patch-Datei lässt sich ebenfalls " "angeben. Diese Option ist standardmäßig abgeschaltet." -#: ../../using/configure.rst:1160 +#: ../../using/configure.rst:1171 msgid "iOS Options" msgstr "iOS-Optionen" -#: ../../using/configure.rst:1162 +#: ../../using/configure.rst:1173 msgid "See :source:`iOS/README.rst`." msgstr "Siehe :source:`iOS/README.rst`." -#: ../../using/configure.rst:1166 +#: ../../using/configure.rst:1177 msgid "" "Create a Python.framework. Unlike macOS, the *INSTALLDIR* argument " "specifying the installation path is mandatory." @@ -2136,15 +2150,15 @@ msgstr "" "Erzeugt ein Python.framework. Anders als unter macOS ist das Argument " "*INSTALLDIR*, das den Installationspfad angibt, zwingend." -#: ../../using/configure.rst:1171 +#: ../../using/configure.rst:1182 msgid "Specify the name for the framework (default: ``Python``)." msgstr "Gibt den Namen des Frameworks an (Vorgabe: ``Python``)." -#: ../../using/configure.rst:1175 +#: ../../using/configure.rst:1186 msgid "Cross Compiling Options" msgstr "Optionen für das Cross-Kompilieren" -#: ../../using/configure.rst:1177 +#: ../../using/configure.rst:1188 msgid "" "Cross compiling, also known as cross building, can be used to build Python " "for another CPU architecture or platform. Cross compiling requires a Python " @@ -2156,35 +2170,35 @@ msgstr "" "Python-Interpreter für die Bauplattform voraus. Die Version des bauenden " "Python muss zur Version des cross-kompilierten Ziel-Python passen." -#: ../../using/configure.rst:1184 +#: ../../using/configure.rst:1195 msgid "" "configure for building on BUILD, usually guessed by :program:`config.guess`." msgstr "" "konfiguriert für das Bauen auf BUILD, wird üblicherweise von :program:" "`config.guess` erraten." -#: ../../using/configure.rst:1188 +#: ../../using/configure.rst:1199 msgid "cross-compile to build programs to run on HOST (target platform)" msgstr "" "cross-kompiliert, um Programme zu bauen, die auf HOST (der Zielplattform) " "laufen" -#: ../../using/configure.rst:1192 +#: ../../using/configure.rst:1203 msgid "path to build ``python`` binary for cross compiling" msgstr "" "Pfad zur ausführbaren ``python``-Datei des Builds für das Cross-Kompilieren" -#: ../../using/configure.rst:1198 +#: ../../using/configure.rst:1209 msgid "An environment variable that points to a file with configure overrides." msgstr "" "Eine Umgebungsvariable, die auf eine Datei mit Überschreibungen für " "configure verweist." -#: ../../using/configure.rst:1200 +#: ../../using/configure.rst:1211 msgid "Example *config.site* file:" msgstr "Beispiel für eine Datei *config.site*:" -#: ../../using/configure.rst:1202 +#: ../../using/configure.rst:1213 msgid "" "# config.site-aarch64\n" "ac_cv_buggy_getaddrinfo=no\n" @@ -2196,17 +2210,17 @@ msgstr "" "ac_cv_file__dev_ptmx=yes\n" "ac_cv_file__dev_ptc=no" -#: ../../using/configure.rst:1211 +#: ../../using/configure.rst:1222 msgid "Program to run CPython for the host platform for cross-compilation." msgstr "" "Programm, mit dem CPython für die Zielplattform beim Cross-Kompilieren " "ausgeführt wird." -#: ../../using/configure.rst:1216 +#: ../../using/configure.rst:1227 msgid "Cross compiling example::" msgstr "Beispiel für Cross-Kompilieren::" -#: ../../using/configure.rst:1218 +#: ../../using/configure.rst:1229 msgid "" "CONFIG_SITE=config.site-aarch64 ../configure \\\n" " --build=x86_64-pc-linux-gnu \\\n" @@ -2218,29 +2232,29 @@ msgstr "" " --host=aarch64-unknown-linux-gnu \\\n" " --with-build-python=../x86_64/python" -#: ../../using/configure.rst:1225 +#: ../../using/configure.rst:1236 msgid "Python Build System" msgstr "Das Bausystem von Python" -#: ../../using/configure.rst:1228 +#: ../../using/configure.rst:1239 msgid "Main files of the build system" msgstr "Die wichtigsten Dateien des Bausystems" -#: ../../using/configure.rst:1230 +#: ../../using/configure.rst:1241 msgid ":file:`configure.ac` => :file:`configure`;" msgstr ":file:`configure.ac` => :file:`configure`;" -#: ../../using/configure.rst:1231 +#: ../../using/configure.rst:1242 msgid "" ":file:`Makefile.pre.in` => :file:`Makefile` (created by :file:`configure`);" msgstr "" ":file:`Makefile.pre.in` => :file:`Makefile` (von :file:`configure` erzeugt);" -#: ../../using/configure.rst:1232 +#: ../../using/configure.rst:1243 msgid ":file:`pyconfig.h` (created by :file:`configure`);" msgstr ":file:`pyconfig.h` (von :file:`configure` erzeugt);" -#: ../../using/configure.rst:1233 +#: ../../using/configure.rst:1244 msgid "" ":file:`Modules/Setup`: C extensions built by the Makefile using :file:" "`Module/makesetup` shell script;" @@ -2248,21 +2262,21 @@ msgstr "" ":file:`Modules/Setup`: C-Erweiterungen, die das Makefile mit dem Shell-" "Skript :file:`Module/makesetup` baut;" -#: ../../using/configure.rst:1237 +#: ../../using/configure.rst:1248 msgid "Main build steps" msgstr "Die wichtigsten Bauschritte" -#: ../../using/configure.rst:1239 +#: ../../using/configure.rst:1250 msgid "C files (``.c``) are built as object files (``.o``)." msgstr "C-Dateien (``.c``) werden zu Objektdateien (``.o``) gebaut." -#: ../../using/configure.rst:1240 +#: ../../using/configure.rst:1251 msgid "A static ``libpython`` library (``.a``) is created from objects files." msgstr "" "Aus den Objektdateien wird eine statische ``libpython``-Bibliothek (``.a``) " "erzeugt." -#: ../../using/configure.rst:1241 +#: ../../using/configure.rst:1252 msgid "" "``python.o`` and the static ``libpython`` library are linked into the final " "``python`` program." @@ -2270,19 +2284,19 @@ msgstr "" "``python.o`` und die statische ``libpython``-Bibliothek werden zum " "endgültigen Programm ``python`` gelinkt." -#: ../../using/configure.rst:1243 +#: ../../using/configure.rst:1254 msgid "C extensions are built by the Makefile (see :file:`Modules/Setup`)." msgstr "C-Erweiterungen baut das Makefile (siehe :file:`Modules/Setup`)." -#: ../../using/configure.rst:1246 +#: ../../using/configure.rst:1257 msgid "Main Makefile targets" msgstr "Die wichtigsten Makefile-Ziele" -#: ../../using/configure.rst:1249 +#: ../../using/configure.rst:1260 msgid "make" msgstr "make" -#: ../../using/configure.rst:1251 +#: ../../using/configure.rst:1262 msgid "" "For the most part, when rebuilding after editing some code or refreshing " "your checkout from upstream, all you need to do is execute ``make``, which " @@ -2300,11 +2314,11 @@ msgstr "" "``@DEF_MAKE_ALL_RULE@`` ein, die genau beschreibt, welche Ziele ``make all`` " "baut. Es gibt drei Möglichkeiten:" -#: ../../using/configure.rst:1260 +#: ../../using/configure.rst:1271 msgid "``profile-opt`` (configured with ``--enable-optimizations``)" msgstr "``profile-opt`` (konfiguriert mit ``--enable-optimizations``)" -#: ../../using/configure.rst:1261 +#: ../../using/configure.rst:1272 msgid "" "``build_wasm`` (chosen if the host platform matches ``wasm32-wasi*`` or " "``wasm32-emscripten``)" @@ -2312,14 +2326,14 @@ msgstr "" "``build_wasm`` (gewählt, wenn die Zielplattform auf ``wasm32-wasi*`` oder " "``wasm32-emscripten`` passt)" -#: ../../using/configure.rst:1263 +#: ../../using/configure.rst:1274 msgid "" "``build_all`` (configured without explicitly using either of the others)" msgstr "" "``build_all`` (konfiguriert, ohne eines der beiden anderen ausdrücklich zu " "verwenden)" -#: ../../using/configure.rst:1265 +#: ../../using/configure.rst:1276 msgid "" "Depending on the most recent source file changes, Make will rebuild any " "targets (object files and executables) deemed out-of-date, including running " @@ -2341,11 +2355,11 @@ msgstr "" "Testprobleme hast, die du nicht anders erklären kannst, umgeht ``make clean " "&& make`` die meisten Abhängigkeitsprobleme — auf Kosten längerer Bauzeiten." -#: ../../using/configure.rst:1278 +#: ../../using/configure.rst:1289 msgid "make platform" msgstr "make platform" -#: ../../using/configure.rst:1280 +#: ../../using/configure.rst:1291 msgid "" "Build the ``python`` program, but don't build the standard library extension " "modules. This generates a file named ``platform`` which contains a single " @@ -2357,11 +2371,11 @@ msgstr "" "einer einzigen Zeile die Einzelheiten der Bauplattform beschreibt, etwa " "``macosx-14.3-arm64-3.12`` oder ``linux-x86_64-3.13``." -#: ../../using/configure.rst:1287 +#: ../../using/configure.rst:1298 msgid "make profile-opt" msgstr "make profile-opt" -#: ../../using/configure.rst:1289 +#: ../../using/configure.rst:1300 msgid "" "Build Python using profile-guided optimization (PGO). You can use the " "configure :option:`--enable-optimizations` option to make this the default " @@ -2371,19 +2385,19 @@ msgstr "" "option:`--enable-optimizations` machst du das zum Standardziel des Befehls " "``make`` (``make all`` oder einfach ``make``)." -#: ../../using/configure.rst:1297 +#: ../../using/configure.rst:1308 msgid "make clean" msgstr "make clean" -#: ../../using/configure.rst:1299 +#: ../../using/configure.rst:1310 msgid "Remove built files." msgstr "Entfernt die gebauten Dateien." -#: ../../using/configure.rst:1303 +#: ../../using/configure.rst:1314 msgid "make distclean" msgstr "make distclean" -#: ../../using/configure.rst:1305 +#: ../../using/configure.rst:1316 msgid "" "In addition to the work done by ``make clean``, remove files created by the " "configure script. ``configure`` will have to be run before building again. " @@ -2393,19 +2407,19 @@ msgstr "" "erzeugten Dateien. ``configure`` muss dann vor dem nächsten Bauen erneut " "ausgeführt werden. [#]_" -#: ../../using/configure.rst:1311 +#: ../../using/configure.rst:1322 msgid "make install" msgstr "make install" -#: ../../using/configure.rst:1313 +#: ../../using/configure.rst:1324 msgid "Build the ``all`` target and install Python." msgstr "Baut das Ziel ``all`` und installiert Python." -#: ../../using/configure.rst:1317 +#: ../../using/configure.rst:1328 msgid "make test" msgstr "make test" -#: ../../using/configure.rst:1319 +#: ../../using/configure.rst:1330 msgid "" "Build the ``all`` target and run the Python test suite with the ``--fast-" "ci`` option without GUI tests. Variables:" @@ -2413,23 +2427,23 @@ msgstr "" "Baut das Ziel ``all`` und führt die Python-Testsammlung mit der Option ``--" "fast-ci`` ohne die GUI-Tests aus. Variablen:" -#: ../../using/configure.rst:1322 +#: ../../using/configure.rst:1333 msgid "``TESTOPTS``: additional regrtest command-line options." msgstr "``TESTOPTS``: zusätzliche Befehlszeilenoptionen für regrtest." -#: ../../using/configure.rst:1323 +#: ../../using/configure.rst:1334 msgid "``TESTPYTHONOPTS``: additional Python command-line options." msgstr "``TESTPYTHONOPTS``: zusätzliche Befehlszeilenoptionen für Python." -#: ../../using/configure.rst:1324 +#: ../../using/configure.rst:1335 msgid "``TESTTIMEOUT``: timeout in seconds (default: 10 minutes)." msgstr "``TESTTIMEOUT``: Zeitgrenze in Sekunden (Vorgabe: 10 Minuten)." -#: ../../using/configure.rst:1328 +#: ../../using/configure.rst:1339 msgid "make ci" msgstr "make ci" -#: ../../using/configure.rst:1330 +#: ../../using/configure.rst:1341 msgid "" "This is similar to ``make test``, but uses the ``-ugui`` to also run GUI " "tests." @@ -2437,11 +2451,11 @@ msgstr "" "Entspricht ``make test``, verwendet aber ``-ugui``, um auch die GUI-Tests " "auszuführen." -#: ../../using/configure.rst:1336 +#: ../../using/configure.rst:1347 msgid "make buildbottest" msgstr "make buildbottest" -#: ../../using/configure.rst:1338 +#: ../../using/configure.rst:1349 msgid "" "This is similar to ``make test``, but uses the ``--slow-ci`` option and " "default timeout of 20 minutes, instead of ``--fast-ci`` option." @@ -2449,11 +2463,11 @@ msgstr "" "Entspricht ``make test``, verwendet aber die Option ``--slow-ci`` und eine " "Standard-Zeitgrenze von 20 Minuten anstelle der Option ``--fast-ci``." -#: ../../using/configure.rst:1343 +#: ../../using/configure.rst:1354 msgid "make regen-all" msgstr "make regen-all" -#: ../../using/configure.rst:1345 +#: ../../using/configure.rst:1356 msgid "" "Regenerate (almost) all generated files. These include (but are not limited " "to) bytecode cases, and parser generator file. ``make regen-stdlib-module-" @@ -2465,11 +2479,11 @@ msgstr "" "module-names`` und ``autoconf`` müssen für die übrigen `erzeugten Dateien " "<#generated-files>`_ getrennt ausgeführt werden." -#: ../../using/configure.rst:1352 +#: ../../using/configure.rst:1363 msgid "C extensions" msgstr "C-Erweiterungen" -#: ../../using/configure.rst:1354 +#: ../../using/configure.rst:1365 msgid "" "Some C extensions are built as built-in modules, like the ``sys`` module. " "They are built with the ``Py_BUILD_CORE_BUILTIN`` macro defined. Built-in " @@ -2479,7 +2493,7 @@ msgstr "" "``sys``. Sie werden mit definiertem Makro ``Py_BUILD_CORE_BUILTIN`` gebaut. " "Integrierte Module haben kein Attribut ``__file__``:" -#: ../../using/configure.rst:1358 +#: ../../using/configure.rst:1369 msgid "" ">>> import sys\n" ">>> sys\n" @@ -2497,7 +2511,7 @@ msgstr "" " File \"\", line 1, in \n" "AttributeError: module 'sys' has no attribute '__file__'" -#: ../../using/configure.rst:1368 +#: ../../using/configure.rst:1379 msgid "" "Other C extensions are built as dynamic libraries, like the ``_asyncio`` " "module. They are built with the ``Py_BUILD_CORE_MODULE`` macro defined. " @@ -2507,7 +2521,7 @@ msgstr "" "Modul ``_asyncio``. Sie werden mit definiertem Makro " "``Py_BUILD_CORE_MODULE`` gebaut. Beispiel unter Linux x86-64:" -#: ../../using/configure.rst:1372 +#: ../../using/configure.rst:1383 msgid "" ">>> import _asyncio\n" ">>> _asyncio\n" @@ -2523,7 +2537,7 @@ msgstr "" ">>> _asyncio.__file__\n" "'/usr/lib64/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'" -#: ../../using/configure.rst:1380 +#: ../../using/configure.rst:1391 msgid "" ":file:`Modules/Setup` is used to generate Makefile targets to build C " "extensions. At the beginning of the files, C extensions are built as built-" @@ -2535,7 +2549,7 @@ msgstr "" "integrierte Module gebaut. Erweiterungen, die nach der Marke ``*shared*`` " "definiert sind, werden als dynamische Bibliotheken gebaut." -#: ../../using/configure.rst:1384 +#: ../../using/configure.rst:1395 msgid "" "The :c:macro:`!PyAPI_FUNC()`, :c:macro:`!PyAPI_DATA()` and :c:macro:" "`PyMODINIT_FUNC` macros of :file:`Include/exports.h` are defined differently " @@ -2545,16 +2559,16 @@ msgstr "" "`PyMODINIT_FUNC` aus :file:`Include/exports.h` werden unterschiedlich " "definiert, je nachdem, ob das Makro ``Py_BUILD_CORE_MODULE`` definiert ist:" -#: ../../using/configure.rst:1388 +#: ../../using/configure.rst:1399 msgid "Use ``Py_EXPORTED_SYMBOL`` if the ``Py_BUILD_CORE_MODULE`` is defined" msgstr "" "Verwendet ``Py_EXPORTED_SYMBOL``, wenn ``Py_BUILD_CORE_MODULE`` definiert ist" -#: ../../using/configure.rst:1389 +#: ../../using/configure.rst:1400 msgid "Use ``Py_IMPORTED_SYMBOL`` otherwise." msgstr "Verwendet andernfalls ``Py_IMPORTED_SYMBOL``." -#: ../../using/configure.rst:1391 +#: ../../using/configure.rst:1402 msgid "" "If the ``Py_BUILD_CORE_BUILTIN`` macro is used by mistake on a C extension " "built as a shared library, its :samp:`PyInit_{xxx}()` function is not " @@ -2565,11 +2579,11 @@ msgstr "" "wird deren Funktion :samp:`PyInit_{xxx}()` nicht exportiert, was beim Import " "einen :exc:`ImportError` auslöst." -#: ../../using/configure.rst:1397 +#: ../../using/configure.rst:1408 msgid "Compiler and linker flags" msgstr "Compiler- und Linker-Flags" -#: ../../using/configure.rst:1399 +#: ../../using/configure.rst:1410 msgid "" "Options set by the ``./configure`` script and environment variables and used " "by ``Makefile``." @@ -2577,18 +2591,18 @@ msgstr "" "Optionen, die das Skript ``./configure`` und Umgebungsvariablen setzen und " "die das ``Makefile`` verwendet." -#: ../../using/configure.rst:1403 +#: ../../using/configure.rst:1414 msgid "Preprocessor flags" msgstr "Flags des Präprozessors" -#: ../../using/configure.rst:1407 +#: ../../using/configure.rst:1418 msgid "" "Value of :envvar:`CPPFLAGS` variable passed to the ``./configure`` script." msgstr "" "Wert der Variablen :envvar:`CPPFLAGS`, der an das Skript ``./configure`` " "übergeben wird." -#: ../../using/configure.rst:1413 +#: ../../using/configure.rst:1424 msgid "" "(Objective) C/C++ preprocessor flags, e.g. :samp:`-I{include_dir}` if you " "have headers in a nonstandard directory *include_dir*." @@ -2597,7 +2611,7 @@ msgstr "" "wenn deine Headerdateien in einem nicht standardmäßigen Verzeichnis " "*include_dir* liegen." -#: ../../using/configure.rst:1416 ../../using/configure.rst:1612 +#: ../../using/configure.rst:1427 ../../using/configure.rst:1623 msgid "" "Both :envvar:`CPPFLAGS` and :envvar:`LDFLAGS` need to contain the shell's " "value to be able to build extension modules using the directories specified " @@ -2607,14 +2621,14 @@ msgstr "" "Shell enthalten, damit sich Erweiterungsmodule mit den in den " "Umgebungsvariablen angegebenen Verzeichnissen bauen lassen." -#: ../../using/configure.rst:1426 +#: ../../using/configure.rst:1437 msgid "" "Extra preprocessor flags added for building the interpreter object files." msgstr "" "Zusätzliche Präprozessor-Flags, die beim Bauen der Objektdateien des " "Interpreters hinzugefügt werden." -#: ../../using/configure.rst:1428 +#: ../../using/configure.rst:1439 msgid "" "Default: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) " "$(CPPFLAGS)``." @@ -2622,23 +2636,23 @@ msgstr "" "Vorgabe: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) " "$(CPPFLAGS)``." -#: ../../using/configure.rst:1433 +#: ../../using/configure.rst:1444 msgid "Compiler flags" msgstr "Compiler-Flags" -#: ../../using/configure.rst:1439 +#: ../../using/configure.rst:1450 msgid "Example: ``gcc -pthread``." msgstr "Beispiel: ``gcc -pthread``." -#: ../../using/configure.rst:1443 +#: ../../using/configure.rst:1454 msgid "C++ compiler command." msgstr "Befehl des C++-Compilers." -#: ../../using/configure.rst:1445 +#: ../../using/configure.rst:1456 msgid "Example: ``g++ -pthread``." msgstr "Beispiel: ``g++ -pthread``." -#: ../../using/configure.rst:1453 +#: ../../using/configure.rst:1464 msgid "" ":envvar:`CFLAGS_NODIST` is used for building the interpreter and stdlib C " "extensions. Use it when a compiler flag should *not* be part of :envvar:" @@ -2649,11 +2663,11 @@ msgstr "" "nach der Installation von Python *nicht* Teil von :envvar:`CFLAGS` sein soll " "(:gh:`65320`)." -#: ../../using/configure.rst:1457 +#: ../../using/configure.rst:1468 msgid "In particular, :envvar:`CFLAGS` should not contain:" msgstr "Insbesondere sollte :envvar:`CFLAGS` nicht enthalten:" -#: ../../using/configure.rst:1459 +#: ../../using/configure.rst:1470 msgid "" "the compiler flag ``-I`` (for setting the search path for include files). " "The ``-I`` flags are processed from left to right, and any flags in :envvar:" @@ -2664,7 +2678,7 @@ msgstr "" "`CFLAGS` hätten daher Vorrang vor ``-I``-Flags, die Benutzer oder Pakete " "mitgeben." -#: ../../using/configure.rst:1464 +#: ../../using/configure.rst:1475 msgid "" "hardening flags such as ``-Werror`` because distributions cannot control " "whether packages installed by users conform to such heightened standards." @@ -2672,7 +2686,7 @@ msgstr "" "Härtungsflags wie ``-Werror``, weil Distributionen nicht steuern können, ob " "von Benutzern installierte Pakete solchen verschärften Maßstäben entsprechen." -#: ../../using/configure.rst:1472 +#: ../../using/configure.rst:1483 msgid "" "Options passed to the :mod:`compileall` command line when building PYC files " "in ``make install``. Default: ``-j0``." @@ -2680,18 +2694,18 @@ msgstr "" "Optionen, die beim Erzeugen der PYC-Dateien in ``make install`` an die " "Befehlszeile von :mod:`compileall` übergeben werden. Vorgabe: ``-j0``." -#: ../../using/configure.rst:1479 +#: ../../using/configure.rst:1490 msgid "Extra C compiler flags." msgstr "Zusätzliche Flags für den C-Compiler." -#: ../../using/configure.rst:1483 +#: ../../using/configure.rst:1494 msgid "" "Value of :envvar:`CFLAGS` variable passed to the ``./configure`` script." msgstr "" "Wert der Variablen :envvar:`CFLAGS`, der an das Skript ``./configure`` " "übergeben wird." -#: ../../using/configure.rst:1490 +#: ../../using/configure.rst:1501 msgid "" "Value of :envvar:`CFLAGS_NODIST` variable passed to the ``./configure`` " "script." @@ -2699,39 +2713,39 @@ msgstr "" "Wert der Variablen :envvar:`CFLAGS_NODIST`, der an das Skript ``./" "configure`` übergeben wird." -#: ../../using/configure.rst:1497 +#: ../../using/configure.rst:1508 msgid "Base compiler flags." msgstr "Grundlegende Compiler-Flags." -#: ../../using/configure.rst:1501 +#: ../../using/configure.rst:1512 msgid "Optimization flags." msgstr "Optimierungsflags." -#: ../../using/configure.rst:1505 +#: ../../using/configure.rst:1516 msgid "Strict or non-strict aliasing flags used to compile ``Python/dtoa.c``." msgstr "" "Flags für strenges oder nicht strenges Aliasing, mit denen ``Python/dtoa.c`` " "kompiliert wird." -#: ../../using/configure.rst:1511 +#: ../../using/configure.rst:1522 msgid "Flags used to compile ``Python/ceval.c``." msgstr "Flags, mit denen ``Python/ceval.c`` kompiliert wird." -#: ../../using/configure.rst:1517 +#: ../../using/configure.rst:1528 msgid "Compiler flags used to build a shared library." msgstr "Compiler-Flags zum Bauen einer gemeinsam genutzten Bibliothek." -#: ../../using/configure.rst:1519 +#: ../../using/configure.rst:1530 msgid "For example, ``-fPIC`` is used on Linux and on BSD." msgstr "Unter Linux und BSD wird zum Beispiel ``-fPIC`` verwendet." -#: ../../using/configure.rst:1523 +#: ../../using/configure.rst:1534 msgid "Extra C flags added for building the interpreter object files." msgstr "" "Zusätzliche C-Flags, die beim Bauen der Objektdateien des Interpreters " "hinzugefügt werden." -#: ../../using/configure.rst:1525 +#: ../../using/configure.rst:1536 msgid "" "Default: ``$(CCSHARED)`` when :option:`--enable-shared` is used, or an empty " "string otherwise." @@ -2739,7 +2753,7 @@ msgstr "" "Vorgabe: ``$(CCSHARED)``, wenn :option:`--enable-shared` verwendet wird, " "andernfalls eine leere Zeichenkette." -#: ../../using/configure.rst:1530 +#: ../../using/configure.rst:1541 msgid "" "Default: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " "$(EXTRA_CFLAGS)``." @@ -2747,7 +2761,7 @@ msgstr "" "Vorgabe: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " "$(EXTRA_CFLAGS)``." -#: ../../using/configure.rst:1534 +#: ../../using/configure.rst:1545 msgid "" "Default: ``$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/" "internal``." @@ -2755,11 +2769,11 @@ msgstr "" "Vorgabe: ``$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/" "internal``." -#: ../../using/configure.rst:1540 +#: ../../using/configure.rst:1551 msgid "C flags used for building the interpreter object files." msgstr "C-Flags, mit denen die Objektdateien des Interpreters gebaut werden." -#: ../../using/configure.rst:1542 +#: ../../using/configure.rst:1553 msgid "" "Default: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " "$(CFLAGSFORSHARED)``." @@ -2767,11 +2781,11 @@ msgstr "" "Vorgabe: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " "$(CFLAGSFORSHARED)``." -#: ../../using/configure.rst:1548 +#: ../../using/configure.rst:1559 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." msgstr "Vorgabe: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." -#: ../../using/configure.rst:1554 +#: ../../using/configure.rst:1565 msgid "" "Compiler flags to build a standard library extension module as a built-in " "module, like the :mod:`posix` module." @@ -2779,41 +2793,41 @@ msgstr "" "Compiler-Flags, um ein Erweiterungsmodul der Standardbibliothek als " "integriertes Modul zu bauen, etwa das Modul :mod:`posix`." -#: ../../using/configure.rst:1557 +#: ../../using/configure.rst:1568 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." msgstr "Vorgabe: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." -#: ../../using/configure.rst:1563 +#: ../../using/configure.rst:1574 msgid "Purify command. Purify is a memory debugger program." msgstr "Befehl für Purify. Purify ist ein Programm zur Speicherfehlersuche." -#: ../../using/configure.rst:1565 +#: ../../using/configure.rst:1576 msgid "Default: empty string (not used)." msgstr "Vorgabe: leere Zeichenkette (nicht verwendet)." -#: ../../using/configure.rst:1569 +#: ../../using/configure.rst:1580 msgid "Linker flags" msgstr "Linker-Flags" -#: ../../using/configure.rst:1573 +#: ../../using/configure.rst:1584 msgid "" "Linker command used to build programs like ``python`` and ``_testembed``." msgstr "" "Linker-Befehl, mit dem Programme wie ``python`` und ``_testembed`` gebaut " "werden." -#: ../../using/configure.rst:1575 +#: ../../using/configure.rst:1586 msgid "Default: ``$(PURIFY) $(CC)``." msgstr "Vorgabe: ``$(PURIFY) $(CC)``." -#: ../../using/configure.rst:1579 +#: ../../using/configure.rst:1590 msgid "" "Value of :envvar:`LDFLAGS` variable passed to the ``./configure`` script." msgstr "" "Wert der Variablen :envvar:`LDFLAGS`, der an das Skript ``./configure`` " "übergeben wird." -#: ../../using/configure.rst:1581 +#: ../../using/configure.rst:1592 msgid "" "Avoid assigning :envvar:`CFLAGS`, :envvar:`LDFLAGS`, etc. so users can use " "them on the command line to append to these values without stomping the pre-" @@ -2823,7 +2837,7 @@ msgstr "" "damit Benutzer sie auf der Befehlszeile verwenden können, um etwas an diese " "Werte anzuhängen, ohne die vorbelegten Werte zu zertreten." -#: ../../using/configure.rst:1589 +#: ../../using/configure.rst:1600 msgid "" ":envvar:`LDFLAGS_NODIST` is used in the same manner as :envvar:" "`CFLAGS_NODIST`. Use it when a linker flag should *not* be part of :envvar:" @@ -2833,11 +2847,11 @@ msgstr "" "Verwende es, wenn ein Linker-Flag nach der Installation von Python *nicht* " "Teil von :envvar:`LDFLAGS` sein soll (:gh:`65320`)." -#: ../../using/configure.rst:1593 +#: ../../using/configure.rst:1604 msgid "In particular, :envvar:`LDFLAGS` should not contain:" msgstr "Insbesondere sollte :envvar:`LDFLAGS` nicht enthalten:" -#: ../../using/configure.rst:1595 +#: ../../using/configure.rst:1606 msgid "" "the compiler flag ``-L`` (for setting the search path for libraries). The ``-" "L`` flags are processed from left to right, and any flags in :envvar:" @@ -2848,7 +2862,7 @@ msgstr "" "`LDFLAGS` hätten daher Vorrang vor ``-L``-Flags, die Benutzer oder Pakete " "mitgeben." -#: ../../using/configure.rst:1602 +#: ../../using/configure.rst:1613 msgid "" "Value of :envvar:`LDFLAGS_NODIST` variable passed to the ``./configure`` " "script." @@ -2856,7 +2870,7 @@ msgstr "" "Wert der Variablen :envvar:`LDFLAGS_NODIST`, der an das Skript ``./" "configure`` übergeben wird." -#: ../../using/configure.rst:1609 +#: ../../using/configure.rst:1620 msgid "" "Linker flags, e.g. :samp:`-L{lib_dir}` if you have libraries in a " "nonstandard directory *lib_dir*." @@ -2864,7 +2878,7 @@ msgstr "" "Linker-Flags, etwa :samp:`-L{lib_dir}`, wenn deine Bibliotheken in einem " "nicht standardmäßigen Verzeichnis *lib_dir* liegen." -#: ../../using/configure.rst:1618 +#: ../../using/configure.rst:1629 msgid "" "Linker flags to pass libraries to the linker when linking the Python " "executable." @@ -2872,44 +2886,44 @@ msgstr "" "Linker-Flags, um dem Linker beim Linken der ausführbaren Python-Datei " "Bibliotheken zu übergeben." -#: ../../using/configure.rst:1621 +#: ../../using/configure.rst:1632 msgid "Example: ``-lrt``." msgstr "Beispiel: ``-lrt``." -#: ../../using/configure.rst:1625 +#: ../../using/configure.rst:1636 msgid "Command to build a shared library." msgstr "Befehl zum Bauen einer gemeinsam genutzten Bibliothek." -#: ../../using/configure.rst:1627 +#: ../../using/configure.rst:1638 msgid "Default: ``@LDSHARED@ $(PY_LDFLAGS)``." msgstr "Vorgabe: ``@LDSHARED@ $(PY_LDFLAGS)``." -#: ../../using/configure.rst:1631 +#: ../../using/configure.rst:1642 msgid "Command to build ``libpython`` shared library." msgstr "Befehl zum Bauen der gemeinsam genutzten Bibliothek ``libpython``." -#: ../../using/configure.rst:1633 +#: ../../using/configure.rst:1644 msgid "Default: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." msgstr "Vorgabe: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." -#: ../../using/configure.rst:1637 +#: ../../using/configure.rst:1648 msgid "Default: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." msgstr "Vorgabe: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." -#: ../../using/configure.rst:1641 +#: ../../using/configure.rst:1652 msgid "Default: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." msgstr "Vorgabe: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." -#: ../../using/configure.rst:1647 +#: ../../using/configure.rst:1658 msgid "Linker flags used for building the interpreter object files." msgstr "" "Linker-Flags, mit denen die Objektdateien des Interpreters gebaut werden." -#: ../../using/configure.rst:1653 +#: ../../using/configure.rst:1664 msgid "Footnotes" msgstr "Fußnoten" -#: ../../using/configure.rst:1654 +#: ../../using/configure.rst:1665 msgid "" "``git clean -fdx`` is an even more extreme way to \"clean\" your checkout. " "It removes all files not known to Git. When bug hunting using ``git " @@ -2925,3 +2939,9 @@ msgstr "" "um einen vollständig sauberen Build zu garantieren. **Mit Vorsicht " "verwenden**, denn es löscht alle Dateien, die nicht in Git eingecheckt sind, " "auch deine neue, nicht committete Arbeit." + +#~ msgid "3.0.18 recommended" +#~ msgstr "3.0.18 empfohlen" + +#~ msgid "(1.1.1 minimum)" +#~ msgstr "(1.1.1 mindestens)" diff --git a/using/ios.po b/using/ios.po index bcbdff96..8f31406b 100644 --- a/using/ios.po +++ b/using/ios.po @@ -403,11 +403,11 @@ msgid "" "that supports ``arm64-apple-ios``, plus one of either ``arm64-apple-ios-" "simulator`` or ``x86_64-apple-ios-simulator``." msgstr "" -"Baue oder beschaffe ein Python-``XCFramework``. Wie du ein " -"Python-``XCFramework`` baust, steht ausführlich in " -":source:`Apple/iOS/README.md` in der CPython-Quelldistribution. Mindestens " -"brauchst du einen Build, der ``arm64-apple-ios`` unterstützt, dazu entweder " -"``arm64-apple-ios-simulator`` oder ``x86_64-apple-ios-simulator``." +"Baue oder beschaffe ein Python-``XCFramework``. Wie du ein Python-" +"``XCFramework`` baust, steht ausführlich in :source:`Apple/iOS/README.md` in " +"der CPython-Quelldistribution. Mindestens brauchst du einen Build, der " +"``arm64-apple-ios`` unterstützt, dazu entweder ``arm64-apple-ios-simulator`` " +"oder ``x86_64-apple-ios-simulator``." #: ../../using/ios.rst:178 msgid "" @@ -658,11 +658,10 @@ msgid "" "This testbed can also be used as a testbed project for running your Python " "library's test suite on iOS." msgstr "" -"Der CPython-Quellbaum enthält :source:`ein Testbed-Projekt " -"`, mit dem die CPython-Testsuite im iOS-Simulator " -"ausgeführt wird. Dieses Testbed lässt sich auch als Testbed-Projekt " -"verwenden, um die Testsuite deiner eigenen Python-Bibliothek unter iOS " -"auszuführen." +"Der CPython-Quellbaum enthält :source:`ein Testbed-Projekt `, mit dem die CPython-Testsuite im iOS-Simulator ausgeführt wird. " +"Dieses Testbed lässt sich auch als Testbed-Projekt verwenden, um die " +"Testsuite deiner eigenen Python-Bibliothek unter iOS auszuführen." #: ../../using/ios.rst:273 msgid "" @@ -670,10 +669,10 @@ msgid "" "README.md` for details), create a clone of the Python iOS testbed project. " "If you used the ``Apple`` build script to build the XCframework, you can run:" msgstr "" -"Nachdem du ein iOS-XCFramework gebaut oder beschafft hast (Einzelheiten in " -":source:`Apple/iOS/README.md`), erstelle einen Klon des " -"Python-iOS-Testbed-Projekts. Wenn du das Build-Skript ``Apple`` verwendet " -"hast, um das XCframework zu bauen, kannst du Folgendes ausführen:" +"Nachdem du ein iOS-XCFramework gebaut oder beschafft hast (Einzelheiten in :" +"source:`Apple/iOS/README.md`), erstelle einen Klon des Python-iOS-Testbed-" +"Projekts. Wenn du das Build-Skript ``Apple`` verwendet hast, um das " +"XCframework zu bauen, kannst du Folgendes ausführen:" #: ../../using/ios.rst:277 msgid "" @@ -692,9 +691,8 @@ msgid "" "$ python Apple/testbed clone --platform iOS --framework --app --app app-testbed" msgstr "" -"$ python Apple/testbed clone --platform iOS --framework " -" --app --app " -"app-testbed" +"$ python Apple/testbed clone --platform iOS --framework --app --app app-testbed" #: ../../using/ios.rst:287 msgid "" diff --git a/using/mac.po b/using/mac.po index 08250bf5..230d54ce 100644 --- a/using/mac.po +++ b/using/mac.po @@ -75,14 +75,14 @@ msgstr "" "Für `aktuelle Python-Versionen `_ – mit " "Ausnahme derer im Status ``security`` – erstellt das Release-Team zu jeder " "neuen Veröffentlichung ein Installationspaket **Python for macOS**. Eine " -"Liste der verfügbaren Installationsprogramme findest du `hier " -"`_. Wir empfehlen, wenn möglich die " -"neueste unterstützte Python-Version zu verwenden. Die aktuellen " +"Liste der verfügbaren Installationsprogramme findest du `hier `_. Wir empfehlen, wenn möglich die neueste " +"unterstützte Python-Version zu verwenden. Die aktuellen " "Installationsprogramme enthalten einen Python-Build als `universal2-Binary " "`_, der auf allen Macs " -"(Apple Silicon und Intel) nativ läuft und von einer großen Spanne an " -"macOS-Versionen unterstützt wird, derzeit typischerweise ab mindestens " -"**macOS 10.15 Catalina**." +"(Apple Silicon und Intel) nativ läuft und von einer großen Spanne an macOS-" +"Versionen unterstützt wird, derzeit typischerweise ab mindestens **macOS " +"10.15 Catalina**." #: ../../using/mac.rst:45 msgid "" @@ -93,13 +93,13 @@ msgid "" "Apple Developer ID certificates to meet `macOS Gatekeeper requirements " "`_." msgstr "" -"Die herunterladbare Datei ist ein gewöhnliches macOS-Installationspaket " -"(``.pkg``). Angaben zur Integrität jeder Datei – Prüfsumme, Größe, " -"Sigstore-Signatur und weitere – stehen auf der Download-Seite der jeweiligen " -"Veröffentlichung. Die Installationspakete und ihr Inhalt sind mit " -"Apple-Developer-ID-Zertifikaten der ``Python Software Foundation`` signiert " -"und notarisiert, um die `Anforderungen von macOS Gatekeeper " -"`_ zu erfüllen." +"Die herunterladbare Datei ist ein gewöhnliches macOS-Installationspaket (``." +"pkg``). Angaben zur Integrität jeder Datei – Prüfsumme, Größe, Sigstore-" +"Signatur und weitere – stehen auf der Download-Seite der jeweiligen " +"Veröffentlichung. Die Installationspakete und ihr Inhalt sind mit Apple-" +"Developer-ID-Zertifikaten der ``Python Software Foundation`` signiert und " +"notarisiert, um die `Anforderungen von macOS Gatekeeper `_ zu erfüllen." #: ../../using/mac.rst:51 msgid "" @@ -160,8 +160,8 @@ msgstr "" "Über die Schaltfläche **Anpassen** kannst du einzelne Paketbestandteile des " "Installationsprogramms auswählen oder weglassen. Klicke auf einen " "Paketnamen, um zu sehen, was er installiert. Wie du zusätzlich die " -"Unterstützung für das optionale Free-Threading installierst, steht unter " -":ref:`install-freethreaded-macos`." +"Unterstützung für das optionale Free-Threading installierst, steht unter :" +"ref:`install-freethreaded-macos`." #: ../../using/mac.rst:85 msgid "" @@ -531,12 +531,12 @@ msgid "" "(running with the :term:`global interpreter lock` disabled). Check the " "release page on ``python.org`` for possible updated information." msgstr "" -"Das Installationspaket :ref:`Python for macOS " -"` von ``python.org`` kann auf Wunsch einen " -"zusätzlichen Build von Python |version| installieren, der :pep:`703` " -"unterstützt – das Free-Threading, also den Betrieb mit abgeschaltetem " -":term:`Global Interpreter Lock `. Mögliche " -"aktuellere Angaben findest du auf der Release-Seite auf ``python.org``." +"Das Installationspaket :ref:`Python for macOS ` von ``python.org`` kann auf Wunsch einen zusätzlichen Build von " +"Python |version| installieren, der :pep:`703` unterstützt – das Free-" +"Threading, also den Betrieb mit abgeschaltetem :term:`Global Interpreter " +"Lock `. Mögliche aktuellere Angaben findest du auf " +"der Release-Seite auf ``python.org``." #: ../../using/mac.rst:264 msgid "" @@ -553,12 +553,12 @@ msgstr "" "gegenüber dem gewöhnlichen Build aber einen zusätzlichen Aufwand bei " "Arbeitslasten mit nur einem Thread mit sich. Außerdem sind Pakete von " "Dritten, insbesondere solche mit einem :term:`Erweiterungsmodul `, möglicherweise noch nicht für den Einsatz in einem " -"Free-Threading-Build vorbereitet und schalten den :term:`GIL` wieder ein. " -"Deshalb wird die Unterstützung für Free-Threading nicht standardmäßig " -"installiert. Sie ist als eigene Installationsoption verpackt und über die " -"Schaltfläche **Anpassen** im Schritt **Installationstyp** des " -"Installationsprogramms erreichbar, wie oben beschrieben." +"module>`, möglicherweise noch nicht für den Einsatz in einem Free-Threading-" +"Build vorbereitet und schalten den :term:`GIL` wieder ein. Deshalb wird die " +"Unterstützung für Free-Threading nicht standardmäßig installiert. Sie ist " +"als eigene Installationsoption verpackt und über die Schaltfläche " +"**Anpassen** im Schritt **Installationstyp** des Installationsprogramms " +"erreichbar, wie oben beschrieben." #: ../../using/mac.rst:276 msgid "" @@ -571,13 +571,12 @@ msgid "" "change in future releases." msgstr "" "Ist das Kästchen neben dem Paketnamen **Free-threaded Python** angehakt, " -"wird neben dem gewöhnlichen :file:`Python.framework` zusätzlich ein eigenes " -":file:`PythonT.framework` in :file:`/Library/Frameworks` installiert. Durch " +"wird neben dem gewöhnlichen :file:`Python.framework` zusätzlich ein eigenes :" +"file:`PythonT.framework` in :file:`/Library/Frameworks` installiert. Durch " "diese Anordnung kann ein Free-Threading-Build von Python |version| mit " "geringem Risiko neben einem herkömmlichen Build von Python |version| – nur " "mit GIL – auf deinem System bestehen, während du installierst oder testest. " -"Diese Installationsstruktur kann sich in künftigen Veröffentlichungen " -"ändern." +"Diese Installationsstruktur kann sich in künftigen Veröffentlichungen ändern." #: ../../using/mac.rst:284 msgid "Known cautions and limitations:" @@ -593,14 +592,13 @@ msgid "" "no changes to your ``PATH`` environment variables should be needed to use |" "python_x_dot_y_t_literal|." msgstr "" -"Das standardmäßig ausgewählte Paket **UNIX command-line tools** legt in " -":file:`/usr/local/bin` Verknüpfungen für |python_x_dot_y_t_literal| an, den " +"Das standardmäßig ausgewählte Paket **UNIX command-line tools** legt in :" +"file:`/usr/local/bin` Verknüpfungen für |python_x_dot_y_t_literal| an, den " "Free-Threading-Interpreter, sowie für |python_x_dot_y_t_literal_config|, ein " -"Konfigurationswerkzeug, das für Paketbauer nützlich sein kann. Da " -":file:`/usr/local/bin` üblicherweise in deinem ``PATH`` der Shell enthalten " -"ist, sind in den meisten Fällen keine Änderungen an deinen " -"``PATH``-Umgebungsvariablen nötig, um |python_x_dot_y_t_literal| zu " -"verwenden." +"Konfigurationswerkzeug, das für Paketbauer nützlich sein kann. Da :file:`/" +"usr/local/bin` üblicherweise in deinem ``PATH`` der Shell enthalten ist, " +"sind in den meisten Fällen keine Änderungen an deinen ``PATH``-" +"Umgebungsvariablen nötig, um |python_x_dot_y_t_literal| zu verwenden." #: ../../using/mac.rst:294 msgid "" @@ -813,7 +811,8 @@ msgstr "" "# while accepting the other defaults (install all other packages)\n" "cat > ./choicechanges.plist <\n" -"\n" +"\n" "\n" "\n" " \n" @@ -822,13 +821,15 @@ msgstr "" " choiceAttribute\n" " selected\n" " choiceIdentifier\n" -" org.python.Python.PythonTFramework-\\ |version|\\ \n" +" org.python.Python.PythonTFramework-\\ |version|\\ \n" " \n" "\n" "\n" "EOF\n" "\n" -"sudo installer -pkg ./${RELEASE} -applyChoiceChangesXML ./choicechanges.plist -target /" +"sudo installer -pkg ./${RELEASE} -applyChoiceChangesXML ./choicechanges." +"plist -target /" #: ../../using/mac.rst:407 msgid "" diff --git a/using/windows.po b/using/windows.po index 86919e17..46ec5bdf 100644 --- a/using/windows.po +++ b/using/windows.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2026-10-13 21:00+0200\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://github.com/python/python-docs-de)\n" @@ -615,13 +615,15 @@ msgstr "" "vorhandene Installation entfernt, um sie durch die angegebene zu ersetzen." #: ../../using/windows.rst:282 +#, fuzzy msgid "" "Passing ``--update`` will replace existing installs if the new version is " "newer. Otherwise, they will be left. If no tags are provided with ``--" "update``, all installs managed by the Python install manager will be updated " "if newer versions are available. Updates will remove any modifications made " -"to the install, including globally installed packages, but virtual " -"environments will continue to work." +"to the install, including globally installed packages, but will leave ``site-" +"packages`` and ``Scripts`` directories as is. Virtual environments are also " +"unaffected." msgstr "" "Mit ``--update`` werden vorhandene Installationen ersetzt, sofern die neue " "Version neuer ist. Andernfalls bleiben sie unverändert. Werden zu ``--" @@ -850,15 +852,16 @@ msgstr "" "oder überschriebene Installationen Einstellungen anders auflösen können." #: ../../using/windows.rst:397 +#, fuzzy msgid "" -"A global configuration file may be configured by an administrator, and would " -"be read first. The user configuration file is stored at :file:`%AppData%\\" -"\\Python\\\\pymanager.json` (note that this location is under ``Roaming``, " -"not ``Local``) and is read next, overwriting any settings from earlier " -"files. An additional configuration file may be specified as the " -"``PYTHON_MANAGER_CONFIG`` environment variable or the ``--config`` command " -"line option (but not both). These locations may be modified by " -"administrative customization options listed later." +"A global configuration file may be configured by an :ref:`administrator " +"` and would be read first. The user configuration " +"file is stored at :file:`%AppData%\\\\Python\\\\pymanager.json` (note that " +"this location is under ``Roaming``, not ``Local``) and is read next, " +"overwriting any settings from earlier files. An additional configuration " +"file may be specified as the ``PYTHON_MANAGER_CONFIG`` environment variable " +"or the ``--config`` command line option (but not both). These locations may " +"be modified by administrative customization options listed later." msgstr "" "Eine globale Konfigurationsdatei kann von der Administration eingerichtet " "werden und wird zuerst gelesen. Die Benutzerkonfigurationsdatei liegt unter :" @@ -870,7 +873,7 @@ msgstr "" "(nicht aber über beide). Diese Orte lassen sich über die weiter unten " "aufgeführten administrativen Anpassungsoptionen verändern." -#: ../../using/windows.rst:407 +#: ../../using/windows.rst:408 msgid "" "The following settings are those that are considered likely to be modified " "in normal use. Later sections list those that are intended for " @@ -880,29 +883,29 @@ msgstr "" "wahrscheinlich verändert werden. Spätere Abschnitte führen jene auf, die für " "administrative Anpassungen gedacht sind." -#: ../../using/windows.rst:415 +#: ../../using/windows.rst:416 msgid "Standard configuration options" msgstr "Übliche Konfigurationsoptionen" -#: ../../using/windows.rst:419 ../../using/windows.rst:756 +#: ../../using/windows.rst:420 ../../using/windows.rst:757 msgid "Config Key" msgstr "Konfigurationsschlüssel" -#: ../../using/windows.rst:420 +#: ../../using/windows.rst:421 msgid "Environment Variable" msgstr "Umgebungsvariable" -#: ../../using/windows.rst:421 ../../using/windows.rst:757 -#: ../../using/windows.rst:1624 ../../using/windows.rst:1644 -#: ../../using/windows.rst:2234 +#: ../../using/windows.rst:422 ../../using/windows.rst:758 +#: ../../using/windows.rst:1625 ../../using/windows.rst:1645 +#: ../../using/windows.rst:2235 msgid "Description" msgstr "Beschreibung" -#: ../../using/windows.rst:423 +#: ../../using/windows.rst:424 msgid "``default_tag``" msgstr "``default_tag``" -#: ../../using/windows.rst:425 +#: ../../using/windows.rst:426 msgid "" "The preferred default version to launch or install. By default, this is " "interpreted as the most recent non-prerelease version from the CPython team." @@ -911,15 +914,15 @@ msgstr "" "wird darunter die neueste Version des CPython-Teams verstanden, die keine " "Vorabversion ist." -#: ../../using/windows.rst:429 +#: ../../using/windows.rst:430 msgid "``default_platform``" msgstr "``default_platform``" -#: ../../using/windows.rst:430 +#: ../../using/windows.rst:431 msgid "``PYTHON_MANAGER_DEFAULT_PLATFORM``" msgstr "``PYTHON_MANAGER_DEFAULT_PLATFORM``" -#: ../../using/windows.rst:431 +#: ../../using/windows.rst:432 msgid "" "The preferred default platform to launch or install. This is treated as a " "suffix to the specified tag, such that ``py -V:3.14`` would prefer an " @@ -932,25 +935,25 @@ msgstr "" "``default_platform`` den Wert ``-64`` hat), aber ``3.14`` verwendet, wenn es " "keine so gekennzeichnete Installation gibt." -#: ../../using/windows.rst:437 +#: ../../using/windows.rst:438 msgid "``logs_dir``" msgstr "``logs_dir``" -#: ../../using/windows.rst:438 +#: ../../using/windows.rst:439 msgid "``PYTHON_MANAGER_LOGS``" msgstr "``PYTHON_MANAGER_LOGS``" -#: ../../using/windows.rst:439 +#: ../../using/windows.rst:440 msgid "The location where log files are written. By default, :file:`%TEMP%`." msgstr "" "Der Ort, an den Protokolldateien geschrieben werden. Standardmäßig :file:" "`%TEMP%`." -#: ../../using/windows.rst:442 +#: ../../using/windows.rst:443 msgid "``automatic_install``" msgstr "``automatic_install``" -#: ../../using/windows.rst:444 +#: ../../using/windows.rst:445 msgid "" "True to allow automatic installs when using ``py exec`` to launch (or ``py`` " "when no runtimes are installed yet). Other commands will not automatically " @@ -961,15 +964,15 @@ msgstr "" "Andere Befehle installieren unabhängig von dieser Einstellung nicht " "automatisch. Standardmäßig true." -#: ../../using/windows.rst:450 +#: ../../using/windows.rst:451 msgid "``include_unmanaged``" msgstr "``include_unmanaged``" -#: ../../using/windows.rst:451 +#: ../../using/windows.rst:452 msgid "``PYTHON_MANAGER_INCLUDE_UNMANAGED``" msgstr "``PYTHON_MANAGER_INCLUDE_UNMANAGED``" -#: ../../using/windows.rst:452 +#: ../../using/windows.rst:453 msgid "" "True to allow listing and launching runtimes that were not installed by the " "Python install manager, or false to exclude them. By default, true." @@ -978,15 +981,15 @@ msgstr "" "Manager installiert wurden, oder false, um sie auszuschließen. Standardmäßig " "true." -#: ../../using/windows.rst:456 +#: ../../using/windows.rst:457 msgid "``shebang_can_run_anything``" msgstr "``shebang_can_run_anything``" -#: ../../using/windows.rst:457 +#: ../../using/windows.rst:458 msgid "``PYTHON_MANAGER_SHEBANG_CAN_RUN_ANYTHING``" msgstr "``PYTHON_MANAGER_SHEBANG_CAN_RUN_ANYTHING``" -#: ../../using/windows.rst:458 +#: ../../using/windows.rst:459 msgid "" "True to allow shebangs in ``.py`` files to launch applications other than " "Python runtimes, or false to prevent it. By default, true." @@ -995,17 +998,17 @@ msgstr "" "Runtimes starten zu lassen, oder false, um das zu verhindern. Standardmäßig " "true." -#: ../../using/windows.rst:462 +#: ../../using/windows.rst:463 msgid "``shebang_templates``" msgstr "``shebang_templates``" -#: ../../using/windows.rst:463 ../../using/windows.rst:487 -#: ../../using/windows.rst:500 ../../using/windows.rst:506 -#: ../../using/windows.rst:513 +#: ../../using/windows.rst:464 ../../using/windows.rst:488 +#: ../../using/windows.rst:501 ../../using/windows.rst:507 +#: ../../using/windows.rst:514 msgid "(none)" msgstr "(keine)" -#: ../../using/windows.rst:464 +#: ../../using/windows.rst:465 msgid "" "Mapping from shebang line template to alternative command, such as ``py -V:" "`` or a substitute string. See :ref:`pymanager-shebang` for more " @@ -1015,15 +1018,15 @@ msgstr "" "``py -V:``, oder zu einer Ersetzungszeichenkette. Mehr dazu unter :ref:" "`pymanager-shebang`." -#: ../../using/windows.rst:468 +#: ../../using/windows.rst:469 msgid "``log_level``" msgstr "``log_level``" -#: ../../using/windows.rst:469 +#: ../../using/windows.rst:470 msgid "``PYMANAGER_VERBOSE``, ``PYMANAGER_DEBUG``" msgstr "``PYMANAGER_VERBOSE``, ``PYMANAGER_DEBUG``" -#: ../../using/windows.rst:470 +#: ../../using/windows.rst:471 msgid "" "Set the default level of output (0-50). By default, 20. Lower values produce " "more output. The environment variables are boolean, and may produce " @@ -1035,15 +1038,15 @@ msgstr "" "während des Starts zusätzliche Ausgaben erzeugen, die später von anderen " "Konfigurationen unterdrückt werden." -#: ../../using/windows.rst:476 +#: ../../using/windows.rst:477 msgid "``confirm``" msgstr "``confirm``" -#: ../../using/windows.rst:477 +#: ../../using/windows.rst:478 msgid "``PYTHON_MANAGER_CONFIRM``" msgstr "``PYTHON_MANAGER_CONFIRM``" -#: ../../using/windows.rst:478 +#: ../../using/windows.rst:479 msgid "" "True to confirm certain actions before taking them (such as uninstall), or " "false to skip the confirmation. By default, true." @@ -1052,24 +1055,24 @@ msgstr "" "bestätigen, oder false, um die Bestätigung zu überspringen. Standardmäßig " "true." -#: ../../using/windows.rst:482 +#: ../../using/windows.rst:483 msgid "``install.source``" msgstr "``install.source``" -#: ../../using/windows.rst:483 +#: ../../using/windows.rst:484 msgid "``PYTHON_MANAGER_SOURCE_URL``" msgstr "``PYTHON_MANAGER_SOURCE_URL``" -#: ../../using/windows.rst:484 +#: ../../using/windows.rst:485 msgid "Override the index feed to obtain new installs from." msgstr "" "Überschreibt den Index-Feed, von dem neue Installationen bezogen werden." -#: ../../using/windows.rst:486 +#: ../../using/windows.rst:487 msgid "``install.enable_entrypoints``" msgstr "``install.enable_entrypoints``" -#: ../../using/windows.rst:488 +#: ../../using/windows.rst:489 msgid "" "True to generate global commands for installed packages (such as ``pip." "exe``). These are defined by the packages themselves. If set to false, only " @@ -1082,15 +1085,15 @@ msgstr "" "angelegt. Standardmäßig true. Nach einer Änderung dieser Einstellung " "solltest du ``py install --refresh`` ausführen." -#: ../../using/windows.rst:494 +#: ../../using/windows.rst:495 msgid "``list.format``" msgstr "``list.format``" -#: ../../using/windows.rst:495 +#: ../../using/windows.rst:496 msgid "``PYTHON_MANAGER_LIST_FORMAT``" msgstr "``PYTHON_MANAGER_LIST_FORMAT``" -#: ../../using/windows.rst:496 +#: ../../using/windows.rst:497 msgid "" "Specify the default format used by the ``py list`` command. By default, " "``table``." @@ -1098,11 +1101,11 @@ msgstr "" "Legt das Standardformat des Befehls ``py list`` fest. Standardmäßig " "``table``." -#: ../../using/windows.rst:499 +#: ../../using/windows.rst:500 msgid "``install_dir``" msgstr "``install_dir``" -#: ../../using/windows.rst:501 +#: ../../using/windows.rst:502 msgid "" "Specify the root directory that runtimes will be installed into. If you " "change this setting, previously installed runtimes will not be usable unless " @@ -1112,11 +1115,11 @@ msgstr "" "diese Einstellung änderst, sind zuvor installierte Runtimes nicht mehr " "verwendbar, sofern du sie nicht an den neuen Ort verschiebst." -#: ../../using/windows.rst:505 +#: ../../using/windows.rst:506 msgid "``global_dir``" msgstr "``global_dir``" -#: ../../using/windows.rst:507 +#: ../../using/windows.rst:508 msgid "" "Specify the directory where global commands (such as ``python3.14.exe`` and " "``pip.exe``) are stored. This directory should be added to your :envvar:" @@ -1127,11 +1130,11 @@ msgstr "" "envvar:`PATH` hinzugefügt werden, damit die Befehle im Terminal verfügbar " "sind." -#: ../../using/windows.rst:512 +#: ../../using/windows.rst:513 msgid "``download_dir``" msgstr "``download_dir``" -#: ../../using/windows.rst:514 +#: ../../using/windows.rst:515 msgid "" "Specify the directory where downloaded files are stored. This directory is a " "temporary cache, and can be cleaned up from time to time." @@ -1140,7 +1143,7 @@ msgstr "" "Dieses Verzeichnis ist ein vorübergehender Zwischenspeicher und kann von " "Zeit zu Zeit aufgeräumt werden." -#: ../../using/windows.rst:519 +#: ../../using/windows.rst:520 msgid "" "Dotted names should be nested inside JSON objects, for example, ``list." "format`` would be specified as ``{\"list\": {\"format\": \"table\"}}``." @@ -1148,11 +1151,11 @@ msgstr "" "Namen mit Punkten gehören verschachtelt in JSON-Objekte, ``list.format`` " "wird also als ``{\"list\": {\"format\": \"table\"}}`` angegeben." -#: ../../using/windows.rst:525 ../../using/windows.rst:1990 +#: ../../using/windows.rst:526 ../../using/windows.rst:1991 msgid "Shebang lines" msgstr "Shebang-Zeilen" -#: ../../using/windows.rst:527 +#: ../../using/windows.rst:528 msgid "" "If the first line of a script file starts with ``#!``, it is known as a " "\"shebang\" line. Linux and other Unix like operating systems have native " @@ -1166,7 +1169,7 @@ msgstr "" "anzugeben, wie ein Skript ausgeführt werden soll. Die Befehle ``python`` und " "``py`` erlauben dasselbe für Python-Skripte unter Windows." -#: ../../using/windows.rst:533 +#: ../../using/windows.rst:534 msgid "" "To allow shebang lines in Python scripts to be portable between Unix and " "Windows, a number of 'virtual' commands are supported to specify which " @@ -1177,35 +1180,35 @@ msgstr "" "denen sich der zu verwendende Interpreter angeben lässt. Die unterstützten " "virtuellen Befehle sind:" -#: ../../using/windows.rst:537 +#: ../../using/windows.rst:538 msgid "``/usr/bin/env ``" msgstr "``/usr/bin/env ``" -#: ../../using/windows.rst:538 +#: ../../using/windows.rst:539 msgid "``/usr/bin/env -S ``" msgstr "``/usr/bin/env -S ``" -#: ../../using/windows.rst:539 +#: ../../using/windows.rst:540 msgid "``/usr/bin/``" msgstr "``/usr/bin/``" -#: ../../using/windows.rst:540 +#: ../../using/windows.rst:541 msgid "``/usr/local/bin/``" msgstr "``/usr/local/bin/``" -#: ../../using/windows.rst:541 +#: ../../using/windows.rst:542 msgid "````" msgstr "````" -#: ../../using/windows.rst:543 ../../using/windows.rst:2008 +#: ../../using/windows.rst:544 ../../using/windows.rst:2009 msgid "For example, if the first line of your script starts with" msgstr "Beginnt die erste Zeile deines Skripts zum Beispiel mit" -#: ../../using/windows.rst:545 ../../using/windows.rst:2010 +#: ../../using/windows.rst:546 ../../using/windows.rst:2011 msgid "#! /usr/bin/python" msgstr "#! /usr/bin/python" -#: ../../using/windows.rst:549 ../../using/windows.rst:2014 +#: ../../using/windows.rst:550 ../../using/windows.rst:2015 msgid "" "The default Python or an active virtual environment will be located and " "used. As many Python scripts written to work on Unix will already have this " @@ -1221,7 +1224,7 @@ msgstr "" "Skript schreibst, das auch unter Unix nützlich sein soll, solltest du eine " "der Shebang-Zeilen verwenden, die mit ``/usr`` beginnen." -#: ../../using/windows.rst:555 +#: ../../using/windows.rst:556 msgid "" "Any of the above virtual commands can have ```` replaced by an alias " "from an installed runtime. That is, any command generated in the global " @@ -1238,7 +1241,7 @@ msgstr "" "envvar:`PATH` liegt. So lassen sich Shebangs wie ``/usr/bin/python3.12`` " "verwenden, um eine bestimmte Runtime auszuwählen." -#: ../../using/windows.rst:561 +#: ../../using/windows.rst:562 msgid "" "If no runtimes are installed, or if automatic installation is enabled, the " "requested runtime will be installed if necessary. See :ref:`pymanager-" @@ -1248,7 +1251,7 @@ msgstr "" "eingeschaltet, wird die verlangte Runtime bei Bedarf installiert. Unter :ref:" "`pymanager-config` steht mehr zu den Konfigurationseinstellungen." -#: ../../using/windows.rst:565 +#: ../../using/windows.rst:566 msgid "" "The ``/usr/bin/env`` form of shebang line will also search the :envvar:" "`PATH` environment variable for unrecognized commands. This corresponds to " @@ -1264,7 +1267,7 @@ msgstr "" "Warnung erscheinen. Diese Suche lässt sich über die Konfigurationsoption " "``shebang_can_run_anything`` abschalten." -#: ../../using/windows.rst:572 +#: ../../using/windows.rst:573 msgid "" "Shebang lines that do not match any of patterns are treated as *Windows* " "executable paths that are absolute or relative to the directory containing " @@ -1285,7 +1288,7 @@ msgstr "" "lässt sich über die Konfigurationsoption ``shebang_can_run_anything`` " "abschalten." -#: ../../using/windows.rst:581 +#: ../../using/windows.rst:582 msgid "" "Since version 26.3 of the Python install manager, custom shebang templates " "may be added to your configuration file. Add the ``shebang_templates`` " @@ -1304,7 +1307,7 @@ msgstr "" "`` ist erlaubt, ebenso ein einfaches ``py``, um die Standardversion " "zu starten. Andere Argumente werden nicht unterstützt." -#: ../../using/windows.rst:589 +#: ../../using/windows.rst:590 msgid "" "{\n" " \"shebang_templates\": {\n" @@ -1320,7 +1323,7 @@ msgstr "" " }\n" "}" -#: ../../using/windows.rst:598 +#: ../../using/windows.rst:599 msgid "" "If the substitute command is not ``py`` or ``pyw``, it will be written back " "into the shebang and regular handling continues. If launching arbitrary " @@ -1336,7 +1339,7 @@ msgstr "" "entweder auf die ganze Zeile passen (ohne führende und abschließende " "Leerzeichen) oder bis zum ersten Leerzeichen in der Shebang-Zeile." -#: ../../using/windows.rst:607 +#: ../../using/windows.rst:608 msgid "" "The behaviour of shebangs in the Python install manager is subtly different " "from the previous ``py.exe`` launcher, and the old configuration options no " @@ -1353,11 +1356,11 @@ msgstr "" "überschreibt standardmäßig den des PyManagers, und du wirst zum Installieren " "und Deinstallieren die Befehle von ``pymanager`` verwenden müssen." -#: ../../using/windows.rst:625 +#: ../../using/windows.rst:626 msgid "Advanced installation" msgstr "Fortgeschrittene Installation" -#: ../../using/windows.rst:627 +#: ../../using/windows.rst:628 msgid "" "For situations where an MSIX cannot be installed, such as some older " "administrative distribution platforms, there is an MSI available from the " @@ -1374,7 +1377,7 @@ msgstr "" "vornehmen. Es versucht, die System-Umgebungsvariable :envvar:`PATH` um " "diesen Installationsort zu ergänzen. Prüfe das aber in deiner Umgebung nach." -#: ../../using/windows.rst:636 +#: ../../using/windows.rst:637 msgid "" "Windows Server 2019 is the only version of Windows that CPython supports " "that does not support MSIX. For Windows Server 2019, you should use the MSI." @@ -1383,7 +1386,7 @@ msgstr "" "Version, die MSIX nicht unterstützt. Für Windows Server 2019 solltest du das " "MSI verwenden." -#: ../../using/windows.rst:639 +#: ../../using/windows.rst:640 msgid "" "Be aware that the MSI package does not bundle any runtimes, and so is not " "suitable for installs into offline environments without also creating an " @@ -1396,7 +1399,7 @@ msgstr "" "offline` und :ref:`pymanager-admin-config` steht, wie du mit diesen Fällen " "umgehst." -#: ../../using/windows.rst:644 +#: ../../using/windows.rst:645 msgid "" "Runtimes installed by the MSI are shared with those installed by the MSIX, " "and are all per-user only. The Python install manager does not support " @@ -1412,7 +1415,7 @@ msgstr "" "install --target=`` verwenden und eigene systemweite " "Änderungen an :envvar:`PATH`, der Registrierung oder dem Startmenü vornehmen." -#: ../../using/windows.rst:650 +#: ../../using/windows.rst:651 msgid "" "When the MSIX is installed, but commands are not available in the :envvar:" "`PATH` environment variable, they can be found under :file:`%LocalAppData%\\" @@ -1432,7 +1435,7 @@ msgstr "" "Die ausführbare Datei direkt aus „Programme“ zu starten, ist nicht " "empfehlenswert." -#: ../../using/windows.rst:659 +#: ../../using/windows.rst:660 msgid "" "To programmatically install the Python install manager, it is easiest to use " "WinGet, which is included with all supported versions of Windows:" @@ -1440,7 +1443,7 @@ msgstr "" "Um den Python Install Manager programmgesteuert zu installieren, ist WinGet " "am einfachsten. Es ist in allen unterstützten Windows-Versionen enthalten:" -#: ../../using/windows.rst:662 +#: ../../using/windows.rst:663 msgid "" "$> winget install 9NQ7512CXL7T -e --accept-package-agreements --disable-" "interactivity\n" @@ -1454,7 +1457,7 @@ msgstr "" "# Optional die Konfigurationsprüfung ausführen und alle Änderungen annehmen\n" "$> py install --configure -y" -#: ../../using/windows.rst:669 +#: ../../using/windows.rst:670 msgid "" "To download the Python install manager and install on another machine, the " "following WinGet command will download the required files from the Store to " @@ -1470,7 +1473,7 @@ msgstr "" "nicht benötigt wird, denn das heruntergeladene MSIX lässt sich durch Starten " "oder mit den folgenden Befehlen installieren." -#: ../../using/windows.rst:675 +#: ../../using/windows.rst:676 msgid "" "$> winget download 9NQ7512CXL7T -e --skip-license --accept-package-" "agreements --accept-source-agreements" @@ -1478,7 +1481,7 @@ msgstr "" "$> winget download 9NQ7512CXL7T -e --skip-license --accept-package-" "agreements --accept-source-agreements" -#: ../../using/windows.rst:679 +#: ../../using/windows.rst:680 msgid "" "To programmatically install or uninstall an MSIX using only PowerShell, the " "`Add-AppxPackage`_ and `Remove-AppxPackage`_ PowerShell cmdlets are " @@ -1488,7 +1491,7 @@ msgstr "" "deinstallieren, empfehlen sich die PowerShell-Cmdlets `Add-AppxPackage`_ und " "`Remove-AppxPackage`_:" -#: ../../using/windows.rst:682 +#: ../../using/windows.rst:683 msgid "" "$> Add-AppxPackage C:\\Downloads\\python-manager-25.0.msix\n" "...\n" @@ -1500,7 +1503,7 @@ msgstr "" "$> Get-AppxPackage PythonSoftwareFoundation.PythonManager | Remove-" "AppxPackage" -#: ../../using/windows.rst:688 +#: ../../using/windows.rst:689 msgid "" "The latest release can be downloaded and installed by Windows by passing the " "AppInstaller file to the Add-AppxPackage command. This installs using the " @@ -1513,7 +1516,7 @@ msgstr "" "Fälle empfehlenswert, in denen eine Installation über den Store (von Hand " "oder mit WinGet) nicht möglich ist." -#: ../../using/windows.rst:693 +#: ../../using/windows.rst:694 msgid "" "$> Add-AppxPackage -AppInstallerFile https://www.python.org/ftp/python/" "pymanager/pymanager.appinstaller" @@ -1521,7 +1524,7 @@ msgstr "" "$> Add-AppxPackage -AppInstallerFile https://www.python.org/ftp/python/" "pymanager/pymanager.appinstaller" -#: ../../using/windows.rst:697 +#: ../../using/windows.rst:698 msgid "" "Other tools and APIs may also be used to provision an MSIX package for all " "users on a machine, but Python does not consider this a supported scenario. " @@ -1536,7 +1539,7 @@ msgstr "" "Klasse `PackageManager`_ oder die Dokumentation und Unterstützung deines " "Bereitstellungswerkzeugs zu werfen." -#: ../../using/windows.rst:703 +#: ../../using/windows.rst:704 msgid "" "Regardless of the install method, users will still need to install their own " "copies of Python itself, as there is no way to trigger those installs " @@ -1549,7 +1552,7 @@ msgstr "" "neueste Python-Version allen Benutzern ohne Netzzugang zur Installation " "bereit." -#: ../../using/windows.rst:708 +#: ../../using/windows.rst:709 msgid "" "Note that the MSIX downloadable from the Store and from the Python website " "are subtly different and cannot be installed at the same time. Wherever " @@ -1565,11 +1568,11 @@ msgstr "" "verringern. Es gibt beim Python Install Manager keine Lizenzeinschränkungen, " "die einer solchen Verwendung des Store-Pakets entgegenstünden." -#: ../../using/windows.rst:719 +#: ../../using/windows.rst:720 msgid "Administrative configuration" msgstr "Administrative Konfiguration" -#: ../../using/windows.rst:721 +#: ../../using/windows.rst:722 msgid "" "There are a number of options that may be useful for administrators to " "override configuration of the Python install manager. These can be used to " @@ -1583,7 +1586,7 @@ msgstr "" "Arten von Verknüpfungen abschalten und mitgelieferte Inhalte überschreiben. " "Alle obigen Konfigurationsoptionen lassen sich setzen, ebenso die folgenden." -#: ../../using/windows.rst:726 +#: ../../using/windows.rst:727 msgid "" "Configuration options may be overridden in the registry by setting values " "under :file:`HKEY_LOCAL_MACHINE\\\\Software\\\\Policies\\\\Python\\" @@ -1607,7 +1610,7 @@ msgstr "" "eingestellte Einstellung, während ``base_config`` es Benutzern erlaubt, " "Einstellungen weiter nach Bedarf anzupassen." -#: ../../using/windows.rst:736 +#: ../../using/windows.rst:737 msgid "" "Note that most settings with environment variables support those variables " "because their default setting specifies the variable. If you override them, " @@ -1627,7 +1630,7 @@ msgstr "" "Umgebungsvariable nicht mehr verwendet. Überschreibst du ihn mit " "``%CONFIRM%``, wird stattdessen jene Umgebungsvariable verwendet." -#: ../../using/windows.rst:745 +#: ../../using/windows.rst:746 msgid "" "Configuration settings that are paths are interpreted as relative to the " "directory containing the configuration file that specified them." @@ -1636,15 +1639,15 @@ msgstr "" "Verzeichnis gelesen, in dem die Konfigurationsdatei liegt, die sie angegeben " "hat." -#: ../../using/windows.rst:752 +#: ../../using/windows.rst:753 msgid "Administrative configuration options" msgstr "Administrative Konfigurationsoptionen" -#: ../../using/windows.rst:759 +#: ../../using/windows.rst:760 msgid "``base_config``" msgstr "``base_config``" -#: ../../using/windows.rst:760 +#: ../../using/windows.rst:761 msgid "" "The highest priority configuration file to read. Note that only the built-in " "configuration file and the registry can modify this setting." @@ -1653,27 +1656,27 @@ msgstr "" "integrierte Konfigurationsdatei und die Registrierung diese Einstellung " "ändern können." -#: ../../using/windows.rst:764 +#: ../../using/windows.rst:765 msgid "``user_config``" msgstr "``user_config``" -#: ../../using/windows.rst:765 +#: ../../using/windows.rst:766 msgid "The second configuration file to read." msgstr "Die zweite zu lesende Konfigurationsdatei." -#: ../../using/windows.rst:767 +#: ../../using/windows.rst:768 msgid "``additional_config``" msgstr "``additional_config``" -#: ../../using/windows.rst:768 +#: ../../using/windows.rst:769 msgid "The third configuration file to read." msgstr "Die dritte zu lesende Konfigurationsdatei." -#: ../../using/windows.rst:770 +#: ../../using/windows.rst:771 msgid "``registry_override_key``" msgstr "``registry_override_key``" -#: ../../using/windows.rst:771 +#: ../../using/windows.rst:772 msgid "" "Registry location to check for overrides. Note that only the built-in " "configuration file can modify this setting." @@ -1681,30 +1684,30 @@ msgstr "" "Ort in der Registrierung, der auf Überschreibungen geprüft wird. Beachte, " "dass nur die integrierte Konfigurationsdatei diese Einstellung ändern kann." -#: ../../using/windows.rst:774 +#: ../../using/windows.rst:775 msgid "``bundled_dir``" msgstr "``bundled_dir``" -#: ../../using/windows.rst:775 +#: ../../using/windows.rst:776 msgid "Read-only directory containing locally cached files." msgstr "Nur lesbares Verzeichnis mit lokal zwischengespeicherten Dateien." -#: ../../using/windows.rst:777 +#: ../../using/windows.rst:778 msgid "``install.fallback_source``" msgstr "``install.fallback_source``" -#: ../../using/windows.rst:778 +#: ../../using/windows.rst:779 msgid "" "Path or URL to an index to consult when the main index cannot be accessed." msgstr "" "Pfad oder URL zu einem Index, der herangezogen wird, wenn der Hauptindex " "nicht erreichbar ist." -#: ../../using/windows.rst:780 +#: ../../using/windows.rst:781 msgid "``install.enable_shortcut_kinds``" msgstr "``install.enable_shortcut_kinds``" -#: ../../using/windows.rst:781 +#: ../../using/windows.rst:782 msgid "" "Comma-separated list of shortcut kinds to allow (e.g. ``\"pep514,start\"``). " "Enabled shortcuts may still be disabled by ``disable_shortcut_kinds``." @@ -1713,11 +1716,11 @@ msgstr "" "start\"``). Erlaubte Verknüpfungen können durch ``disable_shortcut_kinds`` " "dennoch abgeschaltet werden." -#: ../../using/windows.rst:784 +#: ../../using/windows.rst:785 msgid "``install.disable_shortcut_kinds``" msgstr "``install.disable_shortcut_kinds``" -#: ../../using/windows.rst:785 +#: ../../using/windows.rst:786 msgid "" "Comma-separated list of shortcut kinds to exclude (e.g. ``\"pep514," "start\"``). Disabled shortcuts are not reactivated by " @@ -1727,11 +1730,11 @@ msgstr "" "``\"pep514,start\"``). Abgeschaltete Verknüpfungen werden durch " "``enable_shortcut_kinds`` nicht wieder aktiviert." -#: ../../using/windows.rst:789 +#: ../../using/windows.rst:790 msgid "``install.hard_link_entrypoints``" msgstr "``install.hard_link_entrypoints``" -#: ../../using/windows.rst:790 +#: ../../using/windows.rst:791 msgid "" "True to use hard links for global shortcuts to save disk space. If false, " "each shortcut executable is copied instead. After changing this setting, you " @@ -1746,11 +1749,11 @@ msgstr "" "aktualisieren. Standardmäßig true. Das Abschalten kann zur Fehlersuche nötig " "sein oder auf Systemen, die mit Dateiverknüpfungen Schwierigkeiten haben." -#: ../../using/windows.rst:797 +#: ../../using/windows.rst:798 msgid "``pep514_root``" msgstr "``pep514_root``" -#: ../../using/windows.rst:798 +#: ../../using/windows.rst:799 msgid "" "Registry location to read and write PEP 514 entries into. By default, :file:" "`HKEY_CURRENT_USER\\\\Software\\\\Python`." @@ -1759,11 +1762,11 @@ msgstr "" "geschrieben werden. Standardmäßig :file:`HKEY_CURRENT_USER\\\\Software\\" "\\Python`." -#: ../../using/windows.rst:801 +#: ../../using/windows.rst:802 msgid "``start_folder``" msgstr "``start_folder``" -#: ../../using/windows.rst:802 +#: ../../using/windows.rst:803 msgid "" "Start menu folder to write shortcuts into. By default, ``Python``. This path " "is relative to the user's Programs folder." @@ -1771,11 +1774,11 @@ msgstr "" "Startmenü-Ordner, in den Verknüpfungen geschrieben werden. Standardmäßig " "``Python``. Dieser Pfad ist relativ zum Programme-Ordner des Benutzers." -#: ../../using/windows.rst:806 +#: ../../using/windows.rst:807 msgid "``virtual_env``" msgstr "``virtual_env``" -#: ../../using/windows.rst:807 +#: ../../using/windows.rst:808 msgid "" "Path to the active virtual environment. By default, this is " "``%VIRTUAL_ENV%``, but may be set empty to disable venv detection." @@ -1784,11 +1787,11 @@ msgstr "" "aber leer gesetzt werden, um die Erkennung virtueller Umgebungen " "abzuschalten." -#: ../../using/windows.rst:811 +#: ../../using/windows.rst:812 msgid "``shebang_can_run_anything_silently``" msgstr "``shebang_can_run_anything_silently``" -#: ../../using/windows.rst:812 +#: ../../using/windows.rst:813 msgid "" "True to suppress visible warnings when a shebang launches an application " "other than a Python runtime." @@ -1796,11 +1799,11 @@ msgstr "" "True, um sichtbare Warnungen zu unterdrücken, wenn ein Shebang eine andere " "Anwendung als eine Python-Runtime startet." -#: ../../using/windows.rst:815 +#: ../../using/windows.rst:816 msgid "``source_settings``" msgstr "``source_settings``" -#: ../../using/windows.rst:816 +#: ../../using/windows.rst:817 msgid "" "A mapping from source URL to settings specific to that index. When multiple " "configuration files include this section, URL settings are added or " @@ -1813,11 +1816,11 @@ msgstr "" "zusammengeführt. Diese Einstellungen dienen derzeit ausschließlich den :ref:" "`Index-Signaturen `." -#: ../../using/windows.rst:826 ../../using/windows.rst:1803 +#: ../../using/windows.rst:827 ../../using/windows.rst:1804 msgid "Installing free-threaded binaries" msgstr "Free-Threading-Binärdateien installieren" -#: ../../using/windows.rst:830 +#: ../../using/windows.rst:831 msgid "" "Pre-built distributions of the free-threaded build are available by " "installing tags with the ``t`` suffix." @@ -1825,7 +1828,7 @@ msgstr "" "Vorgefertigte Distributionen des Free-Threading-Builds lassen sich " "installieren, indem Tags mit dem Suffix ``t`` angegeben werden." -#: ../../using/windows.rst:833 +#: ../../using/windows.rst:834 msgid "" "$> py install 3.14t\n" "$> py install 3.14t-arm64\n" @@ -1835,7 +1838,7 @@ msgstr "" "$> py install 3.14t-arm64\n" "$> py install 3.14t-32" -#: ../../using/windows.rst:839 +#: ../../using/windows.rst:840 msgid "" "This will install and register as normal. If you have no other runtimes " "installed, then ``python`` will launch this one. Otherwise, you will need to " @@ -1849,11 +1852,11 @@ msgstr "" "Aliasnamen zu deiner Umgebungsvariablen :envvar:`PATH` hinzugefügt hast, die " "Befehle ``python3.14t.exe``." -#: ../../using/windows.rst:848 +#: ../../using/windows.rst:849 msgid "Index signatures" msgstr "Index-Signaturen" -#: ../../using/windows.rst:852 +#: ../../using/windows.rst:853 msgid "" "Index files may be signed to detect tampering. A signature is a catalog file " "at the same URL as the index with ``.cat`` added to the filename. The " @@ -1872,7 +1875,7 @@ msgstr "" "werden, solange das Betriebssystem des Clients dessen Zertifizierungsstelle " "(Wurzel-CA) bereits vertraut." -#: ../../using/windows.rst:859 +#: ../../using/windows.rst:860 msgid "" "Index signatures are only downloaded and checked when the local " "configuration's ``source_settings`` section includes the index URL and " @@ -1887,7 +1890,7 @@ msgstr "" "lokalen Konfiguration — selbst auf false —, werden die Einstellungen im " "Index ignoriert." -#: ../../using/windows.rst:865 +#: ../../using/windows.rst:866 msgid "" "As well as requiring a valid signature, the ``required_root_subject`` and " "``required_publisher_subject`` settings can further restrict acceptable " @@ -1905,7 +1908,7 @@ msgstr "" "ignoriert). Übliche Attribute sind ``CN=`` für den Common Name, ``O=`` für " "die Organisationseinheit und ``C=`` für das Land des Herausgebers." -#: ../../using/windows.rst:873 +#: ../../using/windows.rst:874 msgid "" "Finally, the ``required_publisher_eku`` setting allows requiring that a " "specific Enhanced Key Usage (EKU) has been assigned to the publisher " @@ -1922,7 +1925,7 @@ msgstr "" "Authentifizierung). In Verbindung mit einer bestimmten Wurzel-CA ergibt das " "eine weitere Möglichkeit, eine rechtmäßige Signatur zu überprüfen." -#: ../../using/windows.rst:880 +#: ../../using/windows.rst:881 msgid "" "This is an example ``source_settings`` section from a configuration file. In " "this case, the publisher of the feed is uniquely identified by the " @@ -1937,7 +1940,7 @@ msgstr "" "Fall unter ``https://www.python.org/ftp/python/index-windows.json.cat`` zu " "finden." -#: ../../using/windows.rst:886 +#: ../../using/windows.rst:887 msgid "" "{\n" " \"source_settings\": {\n" @@ -1965,7 +1968,7 @@ msgstr "" " }\n" "}" -#: ../../using/windows.rst:899 +#: ../../using/windows.rst:900 msgid "" "The same settings could be specified in the ``index.json`` file instead. In " "this case, the root and EKU are omitted, meaning that the signature must be " @@ -1977,7 +1980,7 @@ msgstr "" "gültig sein und einen bestimmten Common Name im Zertifikat des Herausgebers " "tragen, weitere Prüfungen finden aber nicht statt." -#: ../../using/windows.rst:904 +#: ../../using/windows.rst:905 msgid "" "{\n" " \"requires_signature\": true,\n" @@ -1995,7 +1998,7 @@ msgstr "" " ]\n" "}" -#: ../../using/windows.rst:914 +#: ../../using/windows.rst:915 msgid "" "When settings from inside a feed are used, the user is notified and the " "settings are shown in the log file or verbose output. It is recommended to " @@ -2009,7 +2012,7 @@ msgstr "" "Einstellungen in eine lokale Konfigurationsdatei zu übernehmen, damit " "unbefugte Änderungen am Feed die Überprüfung nicht abschalten können." -#: ../../using/windows.rst:919 +#: ../../using/windows.rst:920 msgid "" "It is not possible to override the location of the signature file in the " "feed or through a configuration file. Administrators can provide their own " @@ -2021,7 +2024,7 @@ msgstr "" "``source_settings`` in einer verbindlichen Konfigurationsdatei bereitstellen " "(siehe :ref:`pymanager-admin-config`)." -#: ../../using/windows.rst:924 +#: ../../using/windows.rst:925 msgid "" "If signature validation fails, you will be notified and prompted to " "continue. When interactive confirmation is not allowed (for example, because " @@ -2036,7 +2039,7 @@ msgstr "" "Konfigurationsdatei bereitstellen, die die Signaturprüfung für diesen Feed " "abschaltet." -#: ../../using/windows.rst:930 +#: ../../using/windows.rst:931 msgid "" "\"source_settings\": {\n" " \"https://www.example.com/feed-with-invalid-signature.json\": {\n" @@ -2050,11 +2053,11 @@ msgstr "" " }\n" "}" -#: ../../using/windows.rst:940 +#: ../../using/windows.rst:941 msgid "Proxy settings" msgstr "Proxy-Einstellungen" -#: ../../using/windows.rst:944 +#: ../../using/windows.rst:945 msgid "" "By default, the Python install manager will use your system-wide proxy " "settings, including automatic authentication. For most users, this behaves " @@ -2065,7 +2068,7 @@ msgstr "" "Benutzer verhält er sich damit genauso wie der Browser und andere " "Anwendungen." -#: ../../using/windows.rst:948 +#: ../../using/windows.rst:949 msgid "" "To override the settings, use the ``NO_PROXY``, ``HTTP_PROXY`` and " "``HTTPS_PROXY`` environment variables. These should be set in the terminal " @@ -2079,7 +2082,7 @@ msgstr "" "verwendest. Auch andere Anwendungen können diese Variablen verwenden, sei " "also vorsichtig, bevor du sie global für den ganzen Rechner setzt." -#: ../../using/windows.rst:954 +#: ../../using/windows.rst:955 msgid "" "Setting ``NO_PROXY`` to any non-empty value will disable the use of any " "proxy. Use this to bypass your system's default proxy setting and attempt to " @@ -2089,7 +2092,7 @@ msgstr "" "Proxy verwendet. Damit umgehst du die Standard-Proxy-Einstellung deines " "Systems und versuchst, den Index-Server direkt zu erreichen." -#: ../../using/windows.rst:958 +#: ../../using/windows.rst:959 msgid "" "Setting ``HTTPS_PROXY`` to a string like ``example.com:8080`` will connect " "to that proxy server for all HTTPS connections. For the default index, all " @@ -2101,7 +2104,7 @@ msgstr "" "Standardindex laufen alle Verbindungen über HTTPS, deshalb ist das die " "übliche Einstellung zum Überschreiben." -#: ../../using/windows.rst:962 +#: ../../using/windows.rst:963 msgid "" "The ``HTTP_PROXY`` variable may be needed if you are using a private index " "server that does not use encrypted connections, but does require the default " @@ -2112,7 +2115,7 @@ msgstr "" "aber der Standard-Proxy-Server überschrieben werden muss. Sie hat dasselbe " "Format wie ``HTTPS_PROXY``." -#: ../../using/windows.rst:966 +#: ../../using/windows.rst:967 msgid "" "Credentials may be embedded in either setting, however, when ``HTTPS_PROXY`` " "has credentials embedded they will be used in preference to other " @@ -2124,11 +2127,11 @@ msgstr "" "Anmeldedaten vorgezogen. Für beide Proxy-Arten wird nur ein Satz " "Anmeldedaten verwendet." -#: ../../using/windows.rst:973 ../../using/windows.rst:985 +#: ../../using/windows.rst:974 ../../using/windows.rst:986 msgid "Troubleshooting" msgstr "Fehlersuche" -#: ../../using/windows.rst:975 +#: ../../using/windows.rst:976 msgid "" "If your Python install manager does not seem to be working correctly, please " "work through these tests and fixes to see if it helps. If not, please report " @@ -2143,15 +2146,15 @@ msgstr "" "bei (sie werden standardmäßig in dein Verzeichnis :file:`%TEMP%` " "geschrieben)." -#: ../../using/windows.rst:989 +#: ../../using/windows.rst:990 msgid "Symptom" msgstr "Symptom" -#: ../../using/windows.rst:990 +#: ../../using/windows.rst:991 msgid "Things to try" msgstr "Das kannst du versuchen" -#: ../../using/windows.rst:992 +#: ../../using/windows.rst:993 msgid "" "``python`` gives me a \"command not found\" error or opens the Store app " "when I type it in my terminal." @@ -2159,11 +2162,11 @@ msgstr "" "``python`` meldet „command not found“ oder öffnet die Store-App, wenn ich es " "im Terminal eingebe." -#: ../../using/windows.rst:994 ../../using/windows.rst:1013 +#: ../../using/windows.rst:995 ../../using/windows.rst:1014 msgid "Did you :ref:`install the Python install manager `?" msgstr "Hast du :ref:`den Python Install Manager installiert `?" -#: ../../using/windows.rst:997 ../../using/windows.rst:1016 +#: ../../using/windows.rst:998 ../../using/windows.rst:1017 msgid "" "Click Start, open \"Manage app execution aliases\", and check that the " "aliases for \"Python (default)\" are enabled. If they already are, try " @@ -2176,11 +2179,11 @@ msgstr "" "Befehle „Python (default windowed)“ und „Python install manager“ müssen " "möglicherweise erneuert werden." -#: ../../using/windows.rst:1004 +#: ../../using/windows.rst:1005 msgid "Check that the ``py`` and ``pymanager`` commands work." msgstr "Prüfe, ob die Befehle ``py`` und ``pymanager`` funktionieren." -#: ../../using/windows.rst:1007 ../../using/windows.rst:1023 +#: ../../using/windows.rst:1008 ../../using/windows.rst:1024 msgid "" "Ensure your :envvar:`PATH` variable contains the entry for ``%UserProfile%" "\\AppData\\Local\\Microsoft\\WindowsApps``. The operating system includes " @@ -2192,18 +2195,18 @@ msgstr "" "bringt diesen Eintrag standardmäßig einmal mit, hinter den anderen " "Benutzerpfaden. Wurde er entfernt, werden die Verknüpfungen nicht gefunden." -#: ../../using/windows.rst:1012 +#: ../../using/windows.rst:1013 msgid "" "``py`` gives me a \"command not found\" error when I type it in my terminal." msgstr "``py`` meldet „command not found“, wenn ich es im Terminal eingebe." -#: ../../using/windows.rst:1028 +#: ../../using/windows.rst:1029 msgid "" "``py`` gives me a \"can't open file\" error when I type commands in my " "terminal." msgstr "``py`` meldet „can't open file“, wenn ich Befehle im Terminal eingebe." -#: ../../using/windows.rst:1030 +#: ../../using/windows.rst:1031 msgid "" "This usually means you have the legacy launcher installed and it has " "priority over the Python install manager. To remove, click Start, open " @@ -2213,11 +2216,11 @@ msgstr "" "dem Python Install Manager hat. Zum Entfernen klicke auf Start, öffne " "„Installierte Apps“, suche nach „Python launcher“ und deinstalliere ihn." -#: ../../using/windows.rst:1035 +#: ../../using/windows.rst:1036 msgid "``python`` doesn't launch the same runtime as ``py``" msgstr "``python`` startet nicht dieselbe Runtime wie ``py``" -#: ../../using/windows.rst:1036 +#: ../../using/windows.rst:1037 msgid "" "Click Start, open \"Installed apps\", look for any existing Python runtimes, " "and either remove them or Modify and disable the :envvar:`PATH` options." @@ -2226,7 +2229,7 @@ msgstr "" "Runtimes und entferne sie entweder oder wähle „Ändern“ und schalte die :" "envvar:`PATH`-Optionen ab." -#: ../../using/windows.rst:1040 +#: ../../using/windows.rst:1041 msgid "" "Click Start, open \"Manage app execution aliases\", and check that your " "``python.exe`` alias is set to \"Python (default)\"" @@ -2234,11 +2237,11 @@ msgstr "" "Klicke auf Start, öffne „App-Ausführungsaliase verwalten“ und prüfe, ob dein " "Alias ``python.exe`` auf „Python (default)“ gesetzt ist." -#: ../../using/windows.rst:1043 +#: ../../using/windows.rst:1044 msgid "``python`` and ``py`` don't launch the runtime I expect" msgstr "``python`` und ``py`` starten nicht die Runtime, die ich erwarte" -#: ../../using/windows.rst:1044 +#: ../../using/windows.rst:1045 msgid "" "Check your :envvar:`PYTHON_MANAGER_DEFAULT` environment variable or " "``default_tag`` configuration. The ``py list`` command will show your " @@ -2248,7 +2251,7 @@ msgstr "" "Konfiguration ``default_tag``. Der Befehl ``py list`` zeigt deine " "Standardversion auf Grundlage dieser Einstellungen an." -#: ../../using/windows.rst:1049 +#: ../../using/windows.rst:1050 msgid "" "Installs that are managed by the Python install manager will be chosen ahead " "of unmanaged installs. Use ``py install`` to install the runtime you expect, " @@ -2258,7 +2261,7 @@ msgstr "" "verwalteten Installationen vorgezogen. Verwende ``py install``, um die " "erwartete Runtime zu installieren, oder stelle dein Standard-Tag ein." -#: ../../using/windows.rst:1055 +#: ../../using/windows.rst:1056 msgid "" "Prerelease and experimental installs that are not managed by the Python " "install manager may be chosen ahead of stable releases. Configure your " @@ -2270,14 +2273,14 @@ msgstr "" "Stelle dein Standard-Tag ein oder deinstalliere die Vorabversion und " "installiere sie mit ``py install`` erneut." -#: ../../using/windows.rst:1060 +#: ../../using/windows.rst:1061 msgid "" "``pythonw`` or ``pyw`` don't launch the same runtime as ``python`` or ``py``" msgstr "" "``pythonw`` oder ``pyw`` starten nicht dieselbe Runtime wie ``python`` oder " "``py``" -#: ../../using/windows.rst:1061 +#: ../../using/windows.rst:1062 msgid "" "Click Start, open \"Manage app execution aliases\", and check that your " "``pythonw.exe`` and ``pyw.exe`` aliases are consistent with your others." @@ -2285,12 +2288,12 @@ msgstr "" "Klicke auf Start, öffne „App-Ausführungsaliase verwalten“ und prüfe, ob " "deine Aliase ``pythonw.exe`` und ``pyw.exe`` zu den übrigen passen." -#: ../../using/windows.rst:1064 +#: ../../using/windows.rst:1065 msgid "" "``pip`` gives me a \"command not found\" error when I type it in my terminal." msgstr "``pip`` meldet „command not found“, wenn ich es im Terminal eingebe." -#: ../../using/windows.rst:1065 ../../using/windows.rst:1077 +#: ../../using/windows.rst:1066 ../../using/windows.rst:1078 msgid "" "Have you activated a virtual environment? Run the ``." "venv\\Scripts\\activate`` script in your terminal to activate." @@ -2298,7 +2301,7 @@ msgstr "" "Hast du eine virtuelle Umgebung aktiviert? Führe dazu das Skript ``." "venv\\Scripts\\activate`` im Terminal aus." -#: ../../using/windows.rst:1069 +#: ../../using/windows.rst:1070 msgid "" "The package may be available but missing the generated executable. We " "recommend using the ``python -m pip`` command instead. Running ``py install " @@ -2313,13 +2316,13 @@ msgstr "" "es in der Ausgabe des Befehls genannt), sollten Befehle wie ``pip`` und die " "anderer installierter Pakete verfügbar sein." -#: ../../using/windows.rst:1076 +#: ../../using/windows.rst:1077 msgid "I installed a package with ``pip`` but its command is not found." msgstr "" "Ich habe ein Paket mit ``pip`` installiert, aber sein Befehl wird nicht " "gefunden." -#: ../../using/windows.rst:1081 +#: ../../using/windows.rst:1082 msgid "" "New packages do not automatically have global shortcuts created by the " "Python install manager. Similarly, uninstalled packages do not have their " @@ -2331,12 +2334,12 @@ msgstr "" "nicht entfernt. Führe ``py install --refresh`` aus, um die globalen " "Verknüpfungen für neu installierte Pakete zu aktualisieren." -#: ../../using/windows.rst:1087 +#: ../../using/windows.rst:1088 msgid "Typing ``script-name.py`` in the terminal opens in a new window." msgstr "" "Die Eingabe von ``script-name.py`` im Terminal öffnet ein neues Fenster." -#: ../../using/windows.rst:1088 +#: ../../using/windows.rst:1089 msgid "" "This is a known limitation of the operating system. Either specify ``py`` " "before the script name, create a batch file containing ``@py \"%~dpn0.py\" " @@ -2348,11 +2351,11 @@ msgstr "" "Skript an, die ``@py \"%~dpn0.py\" %*`` enthält, oder installiere den " "`legacy launcher`_ und wähle ihn als Verknüpfung für Skripte." -#: ../../using/windows.rst:1093 +#: ../../using/windows.rst:1094 msgid "Drag-dropping files onto a script doesn't work" msgstr "Dateien auf ein Skript zu ziehen funktioniert nicht" -#: ../../using/windows.rst:1094 +#: ../../using/windows.rst:1095 msgid "" "This is a known limitation of the operating system. It is supported with the " "`legacy launcher`_, or with the Python install manager when installed from " @@ -2362,11 +2365,11 @@ msgstr "" "vom `legacy launcher`_ oder vom Python Install Manager, wenn er aus dem MSI " "installiert wurde." -#: ../../using/windows.rst:1098 +#: ../../using/windows.rst:1099 msgid "I have installed the Python install manager multiple times." msgstr "Ich habe den Python Install Manager mehrfach installiert." -#: ../../using/windows.rst:1099 +#: ../../using/windows.rst:1100 msgid "" "It is possible to install from the Store or WinGet, from the MSIX on the " "Python website, and from the MSI, all at once. They are all compatible and " @@ -2376,7 +2379,7 @@ msgstr "" "auf der Python-Webseite und aus dem MSI zu installieren. Alle sind " "miteinander verträglich und teilen Konfiguration und Runtimes." -#: ../../using/windows.rst:1104 +#: ../../using/windows.rst:1105 msgid "" "See the earlier :ref:`pymanager-advancedinstall` section for ways to " "uninstall the install manager other than the typical Installed Apps (Add and " @@ -2386,11 +2389,11 @@ msgstr "" "Install Manager anders zu deinstallieren als über die übliche " "Einstellungsseite „Installierte Apps“ (Programme hinzufügen oder entfernen)." -#: ../../using/windows.rst:1108 +#: ../../using/windows.rst:1109 msgid "My old ``py.ini`` settings no longer work." msgstr "Meine alten ``py.ini``-Einstellungen funktionieren nicht mehr." -#: ../../using/windows.rst:1109 +#: ../../using/windows.rst:1110 msgid "" "The new Python install manager no longer supports this configuration file or " "its settings, and so it will be ignored. See :ref:`pymanager-config` for " @@ -2400,11 +2403,11 @@ msgstr "" "ihre Einstellungen nicht mehr, sie wird daher ignoriert. Unter :ref:" "`pymanager-config` steht mehr zu den Konfigurationseinstellungen." -#: ../../using/windows.rst:1116 +#: ../../using/windows.rst:1117 msgid "The embeddable package" msgstr "Das einbettbare Paket" -#: ../../using/windows.rst:1120 +#: ../../using/windows.rst:1121 msgid "" "The embedded distribution is a ZIP file containing a minimal Python " "environment. It is intended for acting as part of another application, " @@ -2414,7 +2417,7 @@ msgstr "" "Umgebung. Sie ist dafür gedacht, Teil einer anderen Anwendung zu sein, und " "nicht dafür, von Endbenutzern direkt verwendet zu werden." -#: ../../using/windows.rst:1124 +#: ../../using/windows.rst:1125 msgid "" "To install an embedded distribution, we recommend using ``py install`` with " "the ``--target`` option:" @@ -2422,11 +2425,11 @@ msgstr "" "Um eine einbettbare Distribution zu installieren, empfehlen wir ``py " "install`` mit der Option ``--target``:" -#: ../../using/windows.rst:1127 +#: ../../using/windows.rst:1128 msgid "$> py install 3.14-embed --target=" msgstr "$> py install 3.14-embed --target=" -#: ../../using/windows.rst:1131 +#: ../../using/windows.rst:1132 msgid "" "When extracted, the embedded distribution is (almost) fully isolated from " "the user's system, including environment variables, system registry " @@ -2444,7 +2447,7 @@ msgstr "" "sowie ``pythonw.exe`` sind alle enthalten. Tcl/tk (samt allem, was darauf " "aufbaut, etwa Idle), pip und die Python-Dokumentation sind nicht enthalten." -#: ../../using/windows.rst:1138 +#: ../../using/windows.rst:1139 msgid "" "A default ``._pth`` file is included, which further restricts the default " "search paths (as described below in :ref:`windows_finding_modules`). This " @@ -2455,7 +2458,7 @@ msgstr "" "Diese Datei ist dafür gedacht, von Einbettenden nach Bedarf angepasst zu " "werden." -#: ../../using/windows.rst:1142 +#: ../../using/windows.rst:1143 msgid "" "Third-party packages should be installed by the application installer " "alongside the embedded distribution. Using pip to manage dependencies as for " @@ -2475,18 +2478,18 @@ msgstr "" "Versionen sicherstellen kann, bevor sie Aktualisierungen an die Benutzer " "ausliefert." -#: ../../using/windows.rst:1150 +#: ../../using/windows.rst:1151 msgid "" "The two recommended use cases for this distribution are described below." msgstr "" "Die beiden empfohlenen Anwendungsfälle dieser Distribution sind unten " "beschrieben." -#: ../../using/windows.rst:1153 +#: ../../using/windows.rst:1154 msgid "Python application" msgstr "Python-Anwendung" -#: ../../using/windows.rst:1155 +#: ../../using/windows.rst:1156 msgid "" "An application written in Python does not necessarily require users to be " "aware of that fact. The embedded distribution may be used in this case to " @@ -2500,7 +2503,7 @@ msgstr "" "aufzunehmen. Je nachdem, wie unauffällig das sein soll (oder umgekehrt, wie " "professionell es wirken soll), gibt es zwei Möglichkeiten." -#: ../../using/windows.rst:1161 +#: ../../using/windows.rst:1162 msgid "" "Using a specialized executable as a launcher requires some coding, but " "provides the most transparent experience for users. With a customized " @@ -2518,7 +2521,7 @@ msgstr "" "richtig. In den meisten Fällen sollte ein eigener Starter einfach " "``Py_Main`` mit einer festgelegten Befehlszeile aufrufen können." -#: ../../using/windows.rst:1168 +#: ../../using/windows.rst:1169 msgid "" "The simpler approach is to provide a batch file or generated shortcut that " "directly calls the ``python.exe`` or ``pythonw.exe`` with the required " @@ -2533,7 +2536,7 @@ msgstr "" "könnten Schwierigkeiten haben, sie von anderen laufenden Python-Prozessen " "oder Dateiverknüpfungen zu unterscheiden." -#: ../../using/windows.rst:1174 +#: ../../using/windows.rst:1175 msgid "" "With the latter approach, packages should be installed as directories " "alongside the Python executable to ensure they are available on the path. " @@ -2546,11 +2549,11 @@ msgstr "" "besonderen Starter können Pakete auch an anderen Orten liegen, weil sich der " "Suchpfad vor dem Starten der Anwendung festlegen lässt." -#: ../../using/windows.rst:1180 +#: ../../using/windows.rst:1181 msgid "Embedding Python" msgstr "Python einbetten" -#: ../../using/windows.rst:1182 +#: ../../using/windows.rst:1183 msgid "" "Applications written in native code often require some form of scripting " "language, and the embedded Python distribution can be used for this purpose. " @@ -2568,7 +2571,7 @@ msgstr "" "Unterverzeichnis der Anwendungsinstallation zu entpacken, um einen ladbaren " "Python-Interpreter bereitzustellen." -#: ../../using/windows.rst:1189 +#: ../../using/windows.rst:1190 msgid "" "As with the application use, packages can be installed to any location as " "there is an opportunity to specify search paths before initializing the " @@ -2580,11 +2583,11 @@ msgstr "" "festlegen lassen. Davon abgesehen gibt es keine grundlegenden Unterschiede " "zwischen der einbettbaren Distribution und einer gewöhnlichen Installation." -#: ../../using/windows.rst:1198 +#: ../../using/windows.rst:1199 msgid "The nuget.org packages" msgstr "Die Pakete von nuget.org" -#: ../../using/windows.rst:1202 +#: ../../using/windows.rst:1203 msgid "" "The nuget.org package is a reduced size Python environment intended for use " "on continuous integration and build systems that do not have a system-wide " @@ -2597,7 +2600,7 @@ msgstr "" "Paketmanager für .NET“, funktioniert aber auch für Pakete mit Werkzeugen für " "die Bauzeit einwandfrei." -#: ../../using/windows.rst:1207 +#: ../../using/windows.rst:1208 msgid "" "Visit `nuget.org `_ for the most up-to-date " "information on using nuget. What follows is a summary that is sufficient for " @@ -2607,7 +2610,7 @@ msgstr "" "`_. Es folgt eine Zusammenfassung, die Python-" "Entwicklern genügt." -#: ../../using/windows.rst:1211 +#: ../../using/windows.rst:1212 msgid "" "The ``nuget.exe`` command line tool may be downloaded directly from " "``https://dist.nuget.org/win-x86-commandline/latest/nuget.exe``, for " @@ -2619,7 +2622,7 @@ msgstr "" "mit curl oder PowerShell. Mit dem Werkzeug wird die neueste Python-Version " "für 64-Bit- oder 32-Bit-Rechner so installiert::" -#: ../../using/windows.rst:1216 +#: ../../using/windows.rst:1217 msgid "" "nuget.exe install python -ExcludeVersion -OutputDirectory .\n" "nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory ." @@ -2627,7 +2630,7 @@ msgstr "" "nuget.exe install python -ExcludeVersion -OutputDirectory .\n" "nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory ." -#: ../../using/windows.rst:1219 +#: ../../using/windows.rst:1220 msgid "" "To select a particular version, add a ``-Version 3.x.y``. The output " "directory may be changed from ``.``, and the package will be installed into " @@ -2643,7 +2646,7 @@ msgstr "" "enthält dieser Name die installierte Version. In dem Unterverzeichnis liegt " "ein Verzeichnis ``tools`` mit der Python-Installation:" -#: ../../using/windows.rst:1226 +#: ../../using/windows.rst:1227 msgid "" "# Without -ExcludeVersion\n" "> .\\python.3.5.2\\tools\\python.exe -V\n" @@ -2661,7 +2664,7 @@ msgstr "" "> .\\python\\tools\\python.exe -V\n" "Python 3.5.2" -#: ../../using/windows.rst:1236 +#: ../../using/windows.rst:1237 msgid "" "In general, nuget packages are not upgradeable, and newer versions should be " "installed side-by-side and referenced using the full path. Alternatively, " @@ -2674,7 +2677,7 @@ msgstr "" "löschen und es erneut installieren. Viele CI-Systeme tun das automatisch, " "wenn sie Dateien zwischen Builds nicht aufbewahren." -#: ../../using/windows.rst:1241 +#: ../../using/windows.rst:1242 msgid "" "Alongside the ``tools`` directory is a ``build\\native`` directory. This " "contains a MSBuild properties file ``python.props`` that can be used in a C+" @@ -2687,7 +2690,7 @@ msgstr "" "Werden die Einstellungen eingebunden, verwendet dein Build automatisch die " "Headerdateien und Importbibliotheken." -#: ../../using/windows.rst:1246 +#: ../../using/windows.rst:1247 msgid "" "The package information pages on nuget.org are `www.nuget.org/packages/" "python `_ for the 64-bit version, " @@ -2701,11 +2704,11 @@ msgstr "" "pythonx86>`_ für die 32-Bit-Version und `www.nuget.org/packages/pythonarm64 " "`_ für die ARM64-Version" -#: ../../using/windows.rst:1254 +#: ../../using/windows.rst:1255 msgid "Free-threaded packages" msgstr "Free-Threading-Pakete" -#: ../../using/windows.rst:1258 +#: ../../using/windows.rst:1259 msgid "" "Packages containing free-threaded binaries are named `python-freethreaded " "`_ for the 64-bit " @@ -2723,11 +2726,11 @@ msgstr "" "Version. Diese Pakete enthalten sowohl den Einsprungpunkt ``python3.13t." "exe`` als auch ``python.exe``, die beide im Free-Threading-Betrieb laufen." -#: ../../using/windows.rst:1269 +#: ../../using/windows.rst:1270 msgid "Alternative bundles" msgstr "Alternative Distributionen" -#: ../../using/windows.rst:1271 +#: ../../using/windows.rst:1272 msgid "" "Besides the standard CPython distribution, there are modified packages " "including additional functionality. The following is a list of popular " @@ -2737,21 +2740,21 @@ msgstr "" "zusätzlichen Funktionen. Es folgt eine Liste verbreiteter Varianten und " "ihrer wichtigsten Eigenschaften:" -#: ../../using/windows.rst:1275 +#: ../../using/windows.rst:1276 msgid "`ActivePython `_" msgstr "`ActivePython `_" -#: ../../using/windows.rst:1276 +#: ../../using/windows.rst:1277 msgid "Installer with multi-platform compatibility, documentation, PyWin32" msgstr "" "Installationsprogramm mit plattformübergreifender Verträglichkeit, " "Dokumentation, PyWin32" -#: ../../using/windows.rst:1278 +#: ../../using/windows.rst:1279 msgid "`Anaconda `_" msgstr "`Anaconda `_" -#: ../../using/windows.rst:1279 +#: ../../using/windows.rst:1280 msgid "" "Popular scientific modules (such as numpy, scipy and pandas) and the " "``conda`` package manager." @@ -2759,17 +2762,17 @@ msgstr "" "Verbreitete wissenschaftliche Module (etwa numpy, scipy und pandas) und der " "Paketmanager ``conda``." -#: ../../using/windows.rst:1282 +#: ../../using/windows.rst:1283 msgid "" "`Enthought Deployment Manager `_" msgstr "" "`Enthought Deployment Manager `_" -#: ../../using/windows.rst:1283 +#: ../../using/windows.rst:1284 msgid "\"The Next Generation Python Environment and Package Manager\"." msgstr "„The Next Generation Python Environment and Package Manager“." -#: ../../using/windows.rst:1285 +#: ../../using/windows.rst:1286 msgid "" "Previously Enthought provided Canopy, but it `reached end of life in 2016 " "`_." -#: ../../using/windows.rst:1288 +#: ../../using/windows.rst:1289 msgid "`WinPython `_" msgstr "`WinPython `_" -#: ../../using/windows.rst:1289 +#: ../../using/windows.rst:1290 msgid "" "Windows-specific distribution with prebuilt scientific packages and tools " "for building packages." @@ -2793,7 +2796,7 @@ msgstr "" "Windows-spezifische Distribution mit vorgefertigten wissenschaftlichen " "Paketen und Werkzeugen zum Bauen von Paketen." -#: ../../using/windows.rst:1292 +#: ../../using/windows.rst:1293 msgid "" "Note that these packages may not include the latest versions of Python or " "other libraries, and are not maintained or supported by the core Python team." @@ -2802,11 +2805,11 @@ msgstr "" "anderen Bibliotheken enthalten müssen und nicht vom Kern-Team von Python " "gepflegt oder unterstützt werden." -#: ../../using/windows.rst:1297 +#: ../../using/windows.rst:1298 msgid "Supported Windows versions" msgstr "Unterstützte Windows-Versionen" -#: ../../using/windows.rst:1299 +#: ../../using/windows.rst:1300 msgid "" "As specified in :pep:`11`, a Python release only supports a Windows platform " "while Microsoft considers the platform under extended support. This means " @@ -2820,11 +2823,11 @@ msgstr "" "Unterstützung für Windows 7 brauchst, installiere bitte Python 3.8. Brauchst " "du Unterstützung für Windows 8.1, installiere bitte Python 3.12." -#: ../../using/windows.rst:1309 ../../using/windows.rst:1590 +#: ../../using/windows.rst:1310 ../../using/windows.rst:1591 msgid "Removing the MAX_PATH limitation" msgstr "Die Beschränkung durch MAX_PATH aufheben" -#: ../../using/windows.rst:1311 ../../using/windows.rst:1592 +#: ../../using/windows.rst:1312 ../../using/windows.rst:1593 msgid "" "Windows historically has limited path lengths to 260 characters. This meant " "that paths longer than this would not resolve and errors would result." @@ -2833,7 +2836,7 @@ msgstr "" "beschränkt. Längere Pfade ließen sich dadurch nicht auflösen, und es kam zu " "Fehlern." -#: ../../using/windows.rst:1314 +#: ../../using/windows.rst:1315 msgid "" "In the latest versions of Windows, this limitation can be expanded to over " "32,000 characters. Your administrator will need to activate the \"Enable " @@ -2848,7 +2851,7 @@ msgstr "" "``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem`` auf " "``1`` setzen." -#: ../../using/windows.rst:1319 ../../using/windows.rst:1601 +#: ../../using/windows.rst:1320 ../../using/windows.rst:1602 msgid "" "This allows the :func:`open` function, the :mod:`os` module and most other " "path functionality to accept and return paths longer than 260 characters." @@ -2857,7 +2860,7 @@ msgstr "" "anderen Pfadfunktionen Pfade mit mehr als 260 Zeichen annehmen und " "zurückgeben." -#: ../../using/windows.rst:1322 +#: ../../using/windows.rst:1323 msgid "" "After changing the above option and rebooting, no further configuration is " "required." @@ -2865,11 +2868,11 @@ msgstr "" "Nach dem Ändern der obigen Option und einem Neustart ist keine weitere " "Einrichtung nötig." -#: ../../using/windows.rst:1329 +#: ../../using/windows.rst:1330 msgid "UTF-8 mode" msgstr "UTF-8-Modus" -#: ../../using/windows.rst:1333 +#: ../../using/windows.rst:1334 msgid "" "Windows still uses legacy encodings for the system encoding (the ANSI Code " "Page). Python uses it for the default encoding of text files (e.g. :func:" @@ -2879,7 +2882,7 @@ msgstr "" "ANSI-Codepage). Python verwendet sie als Standardkodierung für Textdateien, " "etwa in :func:`locale.getencoding`." -#: ../../using/windows.rst:1337 +#: ../../using/windows.rst:1338 msgid "" "This may cause issues because UTF-8 is widely used on the internet and most " "Unix systems, including WSL (Windows Subsystem for Linux)." @@ -2887,7 +2890,7 @@ msgstr "" "Das kann Schwierigkeiten machen, weil UTF-8 im Internet und auf den meisten " "Unix-Systemen weit verbreitet ist, auch im WSL (Windows-Subsystem für Linux)." -#: ../../using/windows.rst:1340 +#: ../../using/windows.rst:1341 msgid "" "You can use the :ref:`Python UTF-8 Mode ` to change the default " "text encoding to UTF-8. You can enable the :ref:`Python UTF-8 Mode ` kannst du die " -"Standardkodierung für Text auf UTF-8 umstellen. Einschalten lässt sich der " -":ref:`Python-UTF-8-Modus ` über die Befehlszeilenoption ``-X " +"Standardkodierung für Text auf UTF-8 umstellen. Einschalten lässt sich der :" +"ref:`Python-UTF-8-Modus ` über die Befehlszeilenoption ``-X " "utf8`` oder über die Umgebungsvariable ``PYTHONUTF8=1``. Zum Einschalten des " "UTF-8-Modus siehe :envvar:`PYTHONUTF8`, und wie du Umgebungsvariablen " "änderst, steht unter :ref:`setting-envvars`." -#: ../../using/windows.rst:1346 +#: ../../using/windows.rst:1347 msgid "" "When the :ref:`Python UTF-8 Mode ` is enabled, you can still use " "the system encoding (the ANSI Code Page) via the \"mbcs\" codec." @@ -2911,7 +2914,7 @@ msgstr "" "Systemkodierung (die ANSI-Codepage) weiterhin über den Codec „mbcs“ " "verwenden." -#: ../../using/windows.rst:1349 +#: ../../using/windows.rst:1350 msgid "" "Note that adding ``PYTHONUTF8=1`` to the default environment variables will " "affect all Python 3.7+ applications on your system. If you have any Python " @@ -2925,7 +2928,7 @@ msgstr "" "du die Umgebungsvariable besser nur zeitweise setzen oder die " "Befehlszeilenoption ``-X utf8`` verwenden." -#: ../../using/windows.rst:1356 +#: ../../using/windows.rst:1357 msgid "" "Even when UTF-8 mode is disabled, Python uses UTF-8 by default on Windows " "for:" @@ -2933,13 +2936,13 @@ msgstr "" "Auch bei abgeschaltetem UTF-8-Modus verwendet Python unter Windows " "standardmäßig UTF-8 für:" -#: ../../using/windows.rst:1359 +#: ../../using/windows.rst:1360 msgid "Console I/O including standard I/O (see :pep:`528` for details)." msgstr "" "Ein- und Ausgabe der Konsole einschließlich der Standard-Ein- und -Ausgabe " "(Einzelheiten in :pep:`528`)." -#: ../../using/windows.rst:1360 +#: ../../using/windows.rst:1361 msgid "" "The :term:`filesystem encoding ` " "(see :pep:`529` for details)." @@ -2947,11 +2950,11 @@ msgstr "" "Die :term:`Dateisystemkodierung ` " "(Einzelheiten in :pep:`529`)." -#: ../../using/windows.rst:1367 +#: ../../using/windows.rst:1368 msgid "Finding modules" msgstr "Module finden" -#: ../../using/windows.rst:1369 +#: ../../using/windows.rst:1370 msgid "" "These notes supplement the description at :ref:`sys-path-init` with detailed " "Windows notes." @@ -2959,7 +2962,7 @@ msgstr "" "Diese Hinweise ergänzen die Beschreibung unter :ref:`sys-path-init` um " "Einzelheiten zu Windows." -#: ../../using/windows.rst:1372 +#: ../../using/windows.rst:1373 msgid "" "When no ``._pth`` file is found, this is how :data:`sys.path` is populated " "on Windows:" @@ -2967,7 +2970,7 @@ msgstr "" "Wird keine Datei ``._pth`` gefunden, wird :data:`sys.path` unter Windows so " "gefüllt:" -#: ../../using/windows.rst:1375 +#: ../../using/windows.rst:1376 msgid "" "An empty entry is added at the start, which corresponds to the current " "directory." @@ -2975,7 +2978,7 @@ msgstr "" "Am Anfang wird ein leerer Eintrag hinzugefügt, der dem aktuellen Verzeichnis " "entspricht." -#: ../../using/windows.rst:1378 +#: ../../using/windows.rst:1379 msgid "" "If the environment variable :envvar:`PYTHONPATH` exists, as described in :" "ref:`using-on-envvars`, its entries are added next. Note that on Windows, " @@ -2988,7 +2991,7 @@ msgstr "" "getrennt sein müssen, um sie vom Doppelpunkt in Laufwerksbezeichnungen (``C:" "\\`` und so weiter) zu unterscheiden." -#: ../../using/windows.rst:1383 +#: ../../using/windows.rst:1384 msgid "" "Additional \"application paths\" can be added in the registry as subkeys of :" "samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` under " @@ -3005,7 +3008,7 @@ msgstr "" "zu :data:`sys.path` hinzugefügt wird. (Beachte, dass alle bekannten " "Installationsprogramme nur HKLM verwenden, HKCU ist daher meist leer.)" -#: ../../using/windows.rst:1390 +#: ../../using/windows.rst:1391 msgid "" "If the environment variable :envvar:`PYTHONHOME` is set, it is assumed as " "\"Python Home\". Otherwise, the path of the main Python executable is used " @@ -3024,7 +3027,7 @@ msgstr "" "Andernfalls wird der Kernpfad von Python aus dem in der Registrierung " "gespeicherten PythonPath gebildet." -#: ../../using/windows.rst:1398 +#: ../../using/windows.rst:1399 msgid "" "If the Python Home cannot be located, no :envvar:`PYTHONPATH` is specified " "in the environment, and no registry entries can be found, a default path " @@ -3035,7 +3038,7 @@ msgstr "" "finden, wird ein Standardpfad mit relativen Einträgen verwendet (etwa ``." "\\Lib;.\\plat-win`` und so weiter)." -#: ../../using/windows.rst:1402 +#: ../../using/windows.rst:1403 msgid "" "If a ``pyvenv.cfg`` file is found alongside the main executable or in the " "directory one level above the executable, the following variations apply:" @@ -3043,7 +3046,7 @@ msgstr "" "Wird neben der ausführbaren Hauptdatei oder im Verzeichnis eine Ebene " "darüber eine Datei ``pyvenv.cfg`` gefunden, gilt Folgendes abweichend:" -#: ../../using/windows.rst:1405 +#: ../../using/windows.rst:1406 msgid "" "If ``home`` is an absolute path and :envvar:`PYTHONHOME` is not set, this " "path is used instead of the path to the main executable when deducing the " @@ -3053,11 +3056,11 @@ msgstr "" "beim Erschließen der Heimat dieser Pfad anstelle des Pfads zur ausführbaren " "Hauptdatei verwendet." -#: ../../using/windows.rst:1409 +#: ../../using/windows.rst:1410 msgid "The end result of all this is:" msgstr "Unterm Strich ergibt sich daraus:" -#: ../../using/windows.rst:1411 +#: ../../using/windows.rst:1412 msgid "" "When running :file:`python.exe`, or any other .exe in the main Python " "directory (either an installed version, or directly from the PCbuild " @@ -3070,7 +3073,7 @@ msgstr "" "Registrierung werden ignoriert. Andere „Anwendungspfade“ in der " "Registrierung werden immer gelesen." -#: ../../using/windows.rst:1416 +#: ../../using/windows.rst:1417 msgid "" "When Python is hosted in another .exe (different directory, embedded via " "COM, etc), the \"Python Home\" will not be deduced, so the core path from " @@ -3082,7 +3085,7 @@ msgstr "" "wird daher der Kernpfad aus der Registrierung verwendet. Andere " "„Anwendungspfade“ in der Registrierung werden immer gelesen." -#: ../../using/windows.rst:1420 +#: ../../using/windows.rst:1421 msgid "" "If Python can't find its home and there are no registry value (frozen .exe, " "some very strange installation setup) you get a path with some default, but " @@ -3092,7 +3095,7 @@ msgstr "" "(eingefrorene .exe, sehr eigenartige Installationsaufbauten), erhältst du " "einen Pfad mit einigen vorgegebenen, aber relativen Pfaden." -#: ../../using/windows.rst:1424 +#: ../../using/windows.rst:1425 msgid "" "For those who want to bundle Python into their application or distribution, " "the following advice will prevent conflicts with other installations:" @@ -3100,7 +3103,7 @@ msgstr "" "Wer Python in seine Anwendung oder Distribution einpacken möchte, vermeidet " "mit den folgenden Ratschlägen Konflikte mit anderen Installationen:" -#: ../../using/windows.rst:1427 +#: ../../using/windows.rst:1428 msgid "" "Include a ``._pth`` file alongside your executable containing the " "directories to include. This will ignore paths listed in the registry and " @@ -3112,7 +3115,7 @@ msgstr "" "und in Umgebungsvariablen aufgeführte Pfade ignoriert, ebenso :mod:`site`, " "sofern dort nicht ``import site`` steht." -#: ../../using/windows.rst:1432 +#: ../../using/windows.rst:1433 msgid "" "If you are loading :file:`python3.dll` or :file:`python37.dll` in your own " "executable, explicitly set :c:member:`PyConfig.module_search_paths` before :" @@ -3122,7 +3125,7 @@ msgstr "" "ausführbaren Datei lädst, setze :c:member:`PyConfig.module_search_paths` " "ausdrücklich vor :c:func:`Py_InitializeFromConfig`." -#: ../../using/windows.rst:1436 +#: ../../using/windows.rst:1437 msgid "" "Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` " "before launching :file:`python.exe` from your application." @@ -3130,7 +3133,7 @@ msgstr "" "Leere beziehungsweise überschreibe :envvar:`PYTHONPATH` und setze :envvar:" "`PYTHONHOME`, bevor du :file:`python.exe` aus deiner Anwendung startest." -#: ../../using/windows.rst:1439 +#: ../../using/windows.rst:1440 msgid "" "If you cannot use the previous suggestions (for example, you are a " "distribution that allows people to run :file:`python.exe` directly), ensure " @@ -3144,7 +3147,7 @@ msgstr "" "Installationsverzeichnis vorhanden ist. (Beachte, dass sie innerhalb einer " "ZIP-Datei nicht erkannt wird, eine richtig benannte ZIP-Datei dagegen schon.)" -#: ../../using/windows.rst:1445 +#: ../../using/windows.rst:1446 msgid "" "These will ensure that the files in a system-wide installation will not take " "precedence over the copy of the standard library bundled with your " @@ -3160,7 +3163,7 @@ msgstr "" "die anderen weiterhin für ungewöhnliche Pfade in der Registrierung und für " "site-packages des Benutzers anfällig sein können." -#: ../../using/windows.rst:1453 +#: ../../using/windows.rst:1454 msgid "" "Add ``._pth`` file support and removes ``applocal`` option from ``pyvenv." "cfg``." @@ -3168,7 +3171,7 @@ msgstr "" "Unterstützung für die Datei ``._pth`` hinzugefügt und die Option " "``applocal`` aus ``pyvenv.cfg`` entfernt." -#: ../../using/windows.rst:1458 +#: ../../using/windows.rst:1459 msgid "" "Add :file:`python{XX}.zip` as a potential landmark when directly adjacent to " "the executable." @@ -3176,7 +3179,7 @@ msgstr "" ":file:`python{XX}.zip` als mögliche Wegmarke hinzugefügt, wenn sie direkt " "neben der ausführbaren Datei liegt." -#: ../../using/windows.rst:1463 +#: ../../using/windows.rst:1464 msgid "" "Modules specified in the registry under ``Modules`` (not ``PythonPath``) may " "be imported by :class:`importlib.machinery.WindowsRegistryFinder`. This " @@ -3189,11 +3192,11 @@ msgstr "" "3.6.0 und früher eingeschaltet, muss künftig aber möglicherweise " "ausdrücklich zu :data:`sys.meta_path` hinzugefügt werden." -#: ../../using/windows.rst:1469 +#: ../../using/windows.rst:1470 msgid "Additional modules" msgstr "Zusätzliche Module" -#: ../../using/windows.rst:1471 +#: ../../using/windows.rst:1472 msgid "" "Even though Python aims to be portable among all platforms, there are " "features that are unique to Windows. A couple of modules, both in the " @@ -3204,7 +3207,7 @@ msgstr "" "der Standardbibliothek und außerhalb — sowie Codeschnipsel, um diese " "Funktionen zu nutzen." -#: ../../using/windows.rst:1475 +#: ../../using/windows.rst:1476 msgid "" "The Windows-specific standard modules are documented in :ref:`mswin-specific-" "services`." @@ -3212,11 +3215,11 @@ msgstr "" "Die Windows-spezifischen Standardmodule sind unter :ref:`mswin-specific-" "services` beschrieben." -#: ../../using/windows.rst:1479 +#: ../../using/windows.rst:1480 msgid "PyWin32" msgstr "PyWin32" -#: ../../using/windows.rst:1481 +#: ../../using/windows.rst:1482 msgid "" "The :pypi:`PyWin32` module by Mark Hammond is a collection of modules for " "advanced Windows-specific support. This includes utilities for:" @@ -3225,7 +3228,7 @@ msgstr "" "fortgeschrittene Windows-spezifische Unterstützung. Dazu gehören Hilfsmittel " "für:" -#: ../../using/windows.rst:1485 +#: ../../using/windows.rst:1486 msgid "" "`Component Object Model `_ (COM)" @@ -3233,19 +3236,19 @@ msgstr "" "`Component Object Model `_ (COM)" -#: ../../using/windows.rst:1488 +#: ../../using/windows.rst:1489 msgid "Win32 API calls" msgstr "Win32-API-Aufrufe" -#: ../../using/windows.rst:1489 +#: ../../using/windows.rst:1490 msgid "Registry" msgstr "Registrierung" -#: ../../using/windows.rst:1490 +#: ../../using/windows.rst:1491 msgid "Event log" msgstr "Ereignisprotokoll" -#: ../../using/windows.rst:1491 +#: ../../using/windows.rst:1492 msgid "" "`Microsoft Foundation Classes `_ (MFC) user interfaces" @@ -3253,7 +3256,7 @@ msgstr "" "Benutzeroberflächen mit `Microsoft Foundation Classes `_ (MFC)" -#: ../../using/windows.rst:1495 +#: ../../using/windows.rst:1496 msgid "" "`PythonWin `_ is a sample MFC application shipped with PyWin32. " @@ -3264,29 +3267,29 @@ msgstr "" "PyWin32 ausgeliefert wird. Es ist eine einbettbare Entwicklungsumgebung mit " "integriertem Debugger." -#: ../../using/windows.rst:1501 +#: ../../using/windows.rst:1502 msgid "" "`Win32 How Do I...? `_" msgstr "" "`Win32 How Do I...? `_" -#: ../../using/windows.rst:1502 +#: ../../using/windows.rst:1503 msgid "by Tim Golden" msgstr "von Tim Golden" -#: ../../using/windows.rst:1504 +#: ../../using/windows.rst:1505 msgid "`Python and COM `_" msgstr "`Python and COM `_" -#: ../../using/windows.rst:1505 +#: ../../using/windows.rst:1506 msgid "by David and Paul Boddie" msgstr "von David und Paul Boddie" -#: ../../using/windows.rst:1509 +#: ../../using/windows.rst:1510 msgid "cx_Freeze" msgstr "cx_Freeze" -#: ../../using/windows.rst:1511 +#: ../../using/windows.rst:1512 msgid "" "`cx_Freeze `_ wraps Python " "scripts into executable Windows programs (:file:`{*}.exe` files). When you " @@ -3298,11 +3301,11 @@ msgstr "" "kannst du deine Anwendung weitergeben, ohne dass deine Benutzer Python " "installieren müssen." -#: ../../using/windows.rst:1518 +#: ../../using/windows.rst:1519 msgid "Compiling Python on Windows" msgstr "Python unter Windows kompilieren" -#: ../../using/windows.rst:1520 +#: ../../using/windows.rst:1521 msgid "" "If you want to compile CPython yourself, first thing you should do is get " "the `source `_. You can download " @@ -3315,7 +3318,7 @@ msgstr "" "frischen `Checkout `_ holen." -#: ../../using/windows.rst:1525 +#: ../../using/windows.rst:1526 msgid "" "The source tree contains a build solution and project files for Microsoft " "Visual Studio, which is the compiler used to build the official Python " @@ -3326,22 +3329,22 @@ msgstr "" "Veröffentlichungen gebaut werden. Diese Dateien liegen im Verzeichnis :file:" "`PCbuild`." -#: ../../using/windows.rst:1529 +#: ../../using/windows.rst:1530 msgid "" "Check :file:`PCbuild/readme.txt` for general information on the build " "process." msgstr "" "Allgemeine Hinweise zum Bauvorgang stehen in :file:`PCbuild/readme.txt`." -#: ../../using/windows.rst:1531 +#: ../../using/windows.rst:1532 msgid "For extension modules, consult :ref:`building-on-windows`." msgstr "Für Erweiterungsmodule siehe :ref:`building-on-windows`." -#: ../../using/windows.rst:1538 +#: ../../using/windows.rst:1539 msgid "The full installer (deprecated)" msgstr "Das vollständige Installationsprogramm (veraltet)" -#: ../../using/windows.rst:1542 +#: ../../using/windows.rst:1543 msgid "" "This installer is deprecated since 3.14 and will not be produced for Python " "3.16 or later. See :ref:`pymanager` for the modern installer." @@ -3350,11 +3353,11 @@ msgstr "" "und neuer nicht mehr erstellt. Das aktuelle Installationsprogramm findest du " "unter :ref:`pymanager`." -#: ../../using/windows.rst:1547 +#: ../../using/windows.rst:1548 msgid "Installation steps" msgstr "Installationsschritte" -#: ../../using/windows.rst:1549 +#: ../../using/windows.rst:1550 msgid "" "Four Python |version| installers are available for download - two each for " "the 32-bit and 64-bit versions of the interpreter. The *web installer* is a " @@ -3373,17 +3376,17 @@ msgstr "" "Funktionen eine Internetverbindung. Unter :ref:`install-layout-option` " "stehen weitere Wege, das Herunterladen während der Installation zu vermeiden." -#: ../../using/windows.rst:1557 +#: ../../using/windows.rst:1558 msgid "After starting the installer, one of two options may be selected:" msgstr "" "Nach dem Starten den Installers kann eine der beiden Optionen ausgewählt " "werden:" -#: ../../using/windows.rst:1561 +#: ../../using/windows.rst:1562 msgid "If you select \"Install Now\":" msgstr "Wenn du „Jetzt installieren“ wählst:" -#: ../../using/windows.rst:1563 +#: ../../using/windows.rst:1564 msgid "" "You will *not* need to be an administrator (unless a system update for the C " "Runtime Library is required or you install the :ref:`launcher` for all users)" @@ -3392,11 +3395,11 @@ msgstr "" "Systemaktualisierung der C-Laufzeitbibliothek ist nötig oder du installierst " "den :ref:`launcher` für alle Benutzer)" -#: ../../using/windows.rst:1566 +#: ../../using/windows.rst:1567 msgid "Python will be installed into your user directory" msgstr "Python wird in dein Benutzerverzeichnis installiert" -#: ../../using/windows.rst:1567 +#: ../../using/windows.rst:1568 msgid "" "The :ref:`launcher` will be installed according to the option at the bottom " "of the first page" @@ -3404,23 +3407,23 @@ msgstr "" "Der :ref:`launcher` wird gemäß der Option am unteren Rand der ersten Seite " "installiert" -#: ../../using/windows.rst:1569 +#: ../../using/windows.rst:1570 msgid "The standard library, test suite, launcher and pip will be installed" msgstr "" "Die Standardbibliothek, die Testsammlung, der Starter und pip werden " "installiert" -#: ../../using/windows.rst:1570 +#: ../../using/windows.rst:1571 msgid "If selected, the install directory will be added to your :envvar:`PATH`" msgstr "" "Wenn ausgewählt, wird das Installationsverzeichnis zu deinem :envvar:`PATH` " "hinzugefügt" -#: ../../using/windows.rst:1571 +#: ../../using/windows.rst:1572 msgid "Shortcuts will only be visible for the current user" msgstr "Verknüpfungen sind nur für den aktuellen Benutzer sichtbar" -#: ../../using/windows.rst:1573 +#: ../../using/windows.rst:1574 msgid "" "Selecting \"Customize installation\" will allow you to select the features " "to install, the installation location and other options or post-install " @@ -3432,7 +3435,7 @@ msgstr "" "Installation auswählen. Um Debugsymbole oder Debug-Binärdateien zu " "installieren, brauchst du diese Option." -#: ../../using/windows.rst:1577 +#: ../../using/windows.rst:1578 msgid "" "To perform an all-users installation, you should select \"Customize " "installation\". In this case:" @@ -3440,40 +3443,40 @@ msgstr "" "Für eine Installation für alle Benutzer solltest du „Customize installation“ " "wählen. In diesem Fall:" -#: ../../using/windows.rst:1580 +#: ../../using/windows.rst:1581 msgid "You may be required to provide administrative credentials or approval" msgstr "" "Möglicherweise musst du administrative Anmeldedaten oder eine Freigabe " "bereitstellen" -#: ../../using/windows.rst:1581 +#: ../../using/windows.rst:1582 msgid "Python will be installed into the Program Files directory" msgstr "Python wird in das Verzeichnis „Programme“ installiert" -#: ../../using/windows.rst:1582 +#: ../../using/windows.rst:1583 msgid "The :ref:`launcher` will be installed into the Windows directory" msgstr "Der :ref:`launcher` wird in das Windows-Verzeichnis installiert" -#: ../../using/windows.rst:1583 +#: ../../using/windows.rst:1584 msgid "Optional features may be selected during installation" msgstr "Optionale Funktionen lassen sich während der Installation auswählen" -#: ../../using/windows.rst:1584 +#: ../../using/windows.rst:1585 msgid "The standard library can be pre-compiled to bytecode" msgstr "Die Standardbibliothek kann vorab zu Bytecode kompiliert werden" -#: ../../using/windows.rst:1585 +#: ../../using/windows.rst:1586 msgid "" "If selected, the install directory will be added to the system :envvar:`PATH`" msgstr "" "Wenn ausgewählt, wird das Installationsverzeichnis zum System-:envvar:`PATH` " "hinzugefügt" -#: ../../using/windows.rst:1586 +#: ../../using/windows.rst:1587 msgid "Shortcuts are available for all users" msgstr "Verknüpfungen stehen allen Benutzern zur Verfügung" -#: ../../using/windows.rst:1595 +#: ../../using/windows.rst:1596 msgid "" "In the latest versions of Windows, this limitation can be expanded to " "approximately 32,000 characters. Your administrator will need to activate " @@ -3488,19 +3491,19 @@ msgstr "" "``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem`` auf " "``1`` setzen." -#: ../../using/windows.rst:1604 +#: ../../using/windows.rst:1605 msgid "After changing the above option, no further configuration is required." msgstr "Nach dem Ändern der obigen Option ist keine weitere Einrichtung nötig." -#: ../../using/windows.rst:1608 +#: ../../using/windows.rst:1609 msgid "Support for long paths was enabled in Python." msgstr "Die Unterstützung langer Pfade wurde in Python eingeschaltet." -#: ../../using/windows.rst:1613 +#: ../../using/windows.rst:1614 msgid "Installing without UI" msgstr "Ohne Oberfläche installieren" -#: ../../using/windows.rst:1615 +#: ../../using/windows.rst:1616 msgid "" "All of the options available in the installer UI can also be specified from " "the command line, allowing scripted installers to replicate an installation " @@ -3513,7 +3516,7 @@ msgstr "" "Rechnern nachbilden können. Diese Optionen lassen sich auch setzen, ohne die " "Oberfläche zu unterdrücken, um einige der Vorgaben zu ändern." -#: ../../using/windows.rst:1620 +#: ../../using/windows.rst:1621 msgid "" "The following options (found by executing the installer with ``/?``) can be " "passed into the installer:" @@ -3521,61 +3524,61 @@ msgstr "" "Die folgenden Optionen (zu finden, indem das Installationsprogramm mit ``/?" "`` aufgerufen wird) lassen sich an das Installationsprogramm übergeben:" -#: ../../using/windows.rst:1624 ../../using/windows.rst:1644 -#: ../../using/windows.rst:2234 +#: ../../using/windows.rst:1625 ../../using/windows.rst:1645 +#: ../../using/windows.rst:2235 msgid "Name" msgstr "Name" -#: ../../using/windows.rst:1626 +#: ../../using/windows.rst:1627 msgid "/passive" msgstr "/passive" -#: ../../using/windows.rst:1626 +#: ../../using/windows.rst:1627 msgid "to display progress without requiring user interaction" msgstr "zeigt den Fortschritt an, ohne Zutun des Benutzers zu verlangen" -#: ../../using/windows.rst:1628 +#: ../../using/windows.rst:1629 msgid "/quiet" msgstr "/quiet" -#: ../../using/windows.rst:1628 +#: ../../using/windows.rst:1629 msgid "to install/uninstall without displaying any UI" msgstr "" "installiert beziehungsweise deinstalliert, ohne eine Oberfläche anzuzeigen" -#: ../../using/windows.rst:1630 +#: ../../using/windows.rst:1631 msgid "/simple" msgstr "/simple" -#: ../../using/windows.rst:1630 +#: ../../using/windows.rst:1631 msgid "to prevent user customization" msgstr "verhindert Anpassungen durch den Benutzer" -#: ../../using/windows.rst:1632 +#: ../../using/windows.rst:1633 msgid "/uninstall" msgstr "/uninstall" -#: ../../using/windows.rst:1632 +#: ../../using/windows.rst:1633 msgid "to remove Python (without confirmation)" msgstr "entfernt Python (ohne Bestätigung)" -#: ../../using/windows.rst:1634 +#: ../../using/windows.rst:1635 msgid "/layout [directory]" msgstr "/layout [directory]" -#: ../../using/windows.rst:1634 +#: ../../using/windows.rst:1635 msgid "to pre-download all components" msgstr "lädt alle Bestandteile vorab herunter" -#: ../../using/windows.rst:1636 +#: ../../using/windows.rst:1637 msgid "/log [filename]" msgstr "/log [filename]" -#: ../../using/windows.rst:1636 +#: ../../using/windows.rst:1637 msgid "to specify log files location" msgstr "gibt den Ort der Protokolldateien an" -#: ../../using/windows.rst:1639 +#: ../../using/windows.rst:1640 msgid "" "All other options are passed as ``name=value``, where the value is usually " "``0`` to disable a feature, ``1`` to enable a feature, or a path. The full " @@ -3586,47 +3589,47 @@ msgstr "" "Funktion oder ein Pfad ist. Die vollständige Liste der verfügbaren Optionen " "steht unten." -#: ../../using/windows.rst:1644 +#: ../../using/windows.rst:1645 msgid "Default" msgstr "Standard" -#: ../../using/windows.rst:1646 +#: ../../using/windows.rst:1647 msgid "InstallAllUsers" msgstr "InstallAllUsers" -#: ../../using/windows.rst:1646 +#: ../../using/windows.rst:1647 msgid "Perform a system-wide installation." msgstr "Nimmt eine systemweite Installation vor." -#: ../../using/windows.rst:1646 ../../using/windows.rst:1672 -#: ../../using/windows.rst:1675 ../../using/windows.rst:1679 -#: ../../using/windows.rst:1688 ../../using/windows.rst:1710 -#: ../../using/windows.rst:1718 ../../using/windows.rst:1721 +#: ../../using/windows.rst:1647 ../../using/windows.rst:1673 +#: ../../using/windows.rst:1676 ../../using/windows.rst:1680 +#: ../../using/windows.rst:1689 ../../using/windows.rst:1711 +#: ../../using/windows.rst:1719 ../../using/windows.rst:1722 msgid "0" msgstr "0" -#: ../../using/windows.rst:1648 +#: ../../using/windows.rst:1649 msgid "TargetDir" msgstr "TargetDir" -#: ../../using/windows.rst:1648 +#: ../../using/windows.rst:1649 msgid "The installation directory" msgstr "Das Installations-Verzeichnis" -#: ../../using/windows.rst:1648 +#: ../../using/windows.rst:1649 msgid "Selected based on InstallAllUsers" msgstr "Wird anhand von InstallAllUsers gewählt" -#: ../../using/windows.rst:1651 +#: ../../using/windows.rst:1652 msgid "DefaultAllUsersTargetDir" msgstr "DefaultAllUsersTargetDir" -#: ../../using/windows.rst:1651 +#: ../../using/windows.rst:1652 msgid "The default installation directory for all-user installs" msgstr "" "Das Standardinstallationsverzeichnis für Installationen für alle Benutzer" -#: ../../using/windows.rst:1651 +#: ../../using/windows.rst:1652 msgid "" ":file:`%ProgramFiles%\\\\ Python X.Y` or :file:` %ProgramFiles(x86)%\\\\ " "Python X.Y`" @@ -3634,15 +3637,15 @@ msgstr "" ":file:`%ProgramFiles%\\\\ Python X.Y` or :file:` %ProgramFiles(x86)%\\\\ " "Python X.Y`" -#: ../../using/windows.rst:1656 +#: ../../using/windows.rst:1657 msgid "DefaultJustForMeTargetDir" msgstr "DefaultJustForMeTargetDir" -#: ../../using/windows.rst:1656 +#: ../../using/windows.rst:1657 msgid "The default install directory for just-for-me installs" msgstr "Das Standardinstallationsverzeichnis für Installationen nur für mich" -#: ../../using/windows.rst:1656 +#: ../../using/windows.rst:1657 msgid "" ":file:`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY` or :file:" "`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY-32` or :file:" @@ -3652,50 +3655,50 @@ msgstr "" "`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY-32` or :file:" "`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY-64`" -#: ../../using/windows.rst:1666 +#: ../../using/windows.rst:1667 msgid "DefaultCustomTargetDir" msgstr "DefaultCustomTargetDir" -#: ../../using/windows.rst:1666 +#: ../../using/windows.rst:1667 msgid "The default custom install directory displayed in the UI" msgstr "" "Das in der Oberfläche angezeigte Standardverzeichnis für eine eigene " "Installation" -#: ../../using/windows.rst:1666 ../../using/windows.rst:1723 +#: ../../using/windows.rst:1667 ../../using/windows.rst:1724 msgid "(empty)" msgstr "(leer)" -#: ../../using/windows.rst:1669 +#: ../../using/windows.rst:1670 msgid "AssociateFiles" msgstr "AssociateFiles" -#: ../../using/windows.rst:1669 +#: ../../using/windows.rst:1670 msgid "Create file associations if the launcher is also installed." msgstr "Legt Dateiverknüpfungen an, wenn auch der Starter installiert ist." -#: ../../using/windows.rst:1669 ../../using/windows.rst:1683 -#: ../../using/windows.rst:1686 ../../using/windows.rst:1690 -#: ../../using/windows.rst:1694 ../../using/windows.rst:1698 -#: ../../using/windows.rst:1700 ../../using/windows.rst:1704 -#: ../../using/windows.rst:1708 ../../using/windows.rst:1712 -#: ../../using/windows.rst:1714 ../../using/windows.rst:1716 +#: ../../using/windows.rst:1670 ../../using/windows.rst:1684 +#: ../../using/windows.rst:1687 ../../using/windows.rst:1691 +#: ../../using/windows.rst:1695 ../../using/windows.rst:1699 +#: ../../using/windows.rst:1701 ../../using/windows.rst:1705 +#: ../../using/windows.rst:1709 ../../using/windows.rst:1713 +#: ../../using/windows.rst:1715 ../../using/windows.rst:1717 msgid "1" msgstr "1" -#: ../../using/windows.rst:1672 +#: ../../using/windows.rst:1673 msgid "CompileAll" msgstr "CompileAll" -#: ../../using/windows.rst:1672 +#: ../../using/windows.rst:1673 msgid "Compile all ``.py`` files to ``.pyc``." msgstr "Kompiliert alle ``.py``-Dateien zu ``.pyc``." -#: ../../using/windows.rst:1675 +#: ../../using/windows.rst:1676 msgid "PrependPath" msgstr "PrependPath" -#: ../../using/windows.rst:1675 +#: ../../using/windows.rst:1676 msgid "" "Prepend install and Scripts directories to :envvar:`PATH` and add ``.PY`` " "to :envvar:`PATHEXT`" @@ -3703,11 +3706,11 @@ msgstr "" "Stellt die Installations- und Scripts-Verzeichnisse an den Anfang von :" "envvar:`PATH` und fügt ``.PY`` zu :envvar:`PATHEXT` hinzu" -#: ../../using/windows.rst:1679 +#: ../../using/windows.rst:1680 msgid "AppendPath" msgstr "AppendPath" -#: ../../using/windows.rst:1679 +#: ../../using/windows.rst:1680 msgid "" "Append install and Scripts directories to :envvar:`PATH` and add ``.PY`` " "to :envvar:`PATHEXT`" @@ -3715,38 +3718,38 @@ msgstr "" "Hängt die Installations- und Scripts-Verzeichnisse an :envvar:`PATH` an und " "fügt ``.PY`` zu :envvar:`PATHEXT` hinzu" -#: ../../using/windows.rst:1683 +#: ../../using/windows.rst:1684 msgid "Shortcuts" msgstr "Shortcuts" -#: ../../using/windows.rst:1683 +#: ../../using/windows.rst:1684 msgid "" "Create shortcuts for the interpreter, documentation and IDLE if installed." msgstr "" "Legt Verknüpfungen für den Interpreter, die Dokumentation und IDLE an, " "sofern installiert." -#: ../../using/windows.rst:1686 +#: ../../using/windows.rst:1687 msgid "Include_doc" msgstr "Include_doc" -#: ../../using/windows.rst:1686 +#: ../../using/windows.rst:1687 msgid "Install Python manual" msgstr "Installiert das Python-Handbuch" -#: ../../using/windows.rst:1688 +#: ../../using/windows.rst:1689 msgid "Include_debug" msgstr "Include_debug" -#: ../../using/windows.rst:1688 +#: ../../using/windows.rst:1689 msgid "Install debug binaries" msgstr "Installiert die Debug-Binärdateien" -#: ../../using/windows.rst:1690 +#: ../../using/windows.rst:1691 msgid "Include_dev" msgstr "Include_dev" -#: ../../using/windows.rst:1690 +#: ../../using/windows.rst:1691 msgid "" "Install developer headers and libraries. Omitting this may lead to an " "unusable installation." @@ -3754,11 +3757,11 @@ msgstr "" "Installiert Headerdateien und Bibliotheken für die Entwicklung. Wird das " "weggelassen, kann die Installation unbrauchbar sein." -#: ../../using/windows.rst:1694 +#: ../../using/windows.rst:1695 msgid "Include_exe" msgstr "Include_exe" -#: ../../using/windows.rst:1694 +#: ../../using/windows.rst:1695 msgid "" "Install :file:`python.exe` and related files. Omitting this may lead to an " "unusable installation." @@ -3766,19 +3769,19 @@ msgstr "" "Installiert :file:`python.exe` und zugehörige Dateien. Wird das weggelassen, " "kann die Installation unbrauchbar sein." -#: ../../using/windows.rst:1698 +#: ../../using/windows.rst:1699 msgid "Include_launcher" msgstr "Include_launcher" -#: ../../using/windows.rst:1698 +#: ../../using/windows.rst:1699 msgid "Install :ref:`launcher`." msgstr "Installiert den :ref:`launcher`." -#: ../../using/windows.rst:1700 +#: ../../using/windows.rst:1701 msgid "InstallLauncherAllUsers" msgstr "InstallLauncherAllUsers" -#: ../../using/windows.rst:1700 +#: ../../using/windows.rst:1701 msgid "" "Installs the launcher for all users. Also requires ``Include_launcher`` to " "be set to 1" @@ -3786,11 +3789,11 @@ msgstr "" "Installiert den Starter für alle Benutzer. Erfordert außerdem, dass " "``Include_launcher`` auf 1 gesetzt ist" -#: ../../using/windows.rst:1704 +#: ../../using/windows.rst:1705 msgid "Include_lib" msgstr "Include_lib" -#: ../../using/windows.rst:1704 +#: ../../using/windows.rst:1705 msgid "" "Install standard library and extension modules. Omitting this may lead to an " "unusable installation." @@ -3798,74 +3801,74 @@ msgstr "" "Installiert die Standardbibliothek und die Erweiterungsmodule. Wird das " "weggelassen, kann die Installation unbrauchbar sein." -#: ../../using/windows.rst:1708 +#: ../../using/windows.rst:1709 msgid "Include_pip" msgstr "Include_pip" -#: ../../using/windows.rst:1708 +#: ../../using/windows.rst:1709 msgid "Install bundled pip and setuptools" msgstr "Installiert die beiliegenden pip und setuptools" -#: ../../using/windows.rst:1710 +#: ../../using/windows.rst:1711 msgid "Include_symbols" msgstr "Include_symbols" -#: ../../using/windows.rst:1710 +#: ../../using/windows.rst:1711 msgid "Install debugging symbols (``*.pdb``)" msgstr "Installiert Debugsymbole (``*.pdb``)" -#: ../../using/windows.rst:1712 +#: ../../using/windows.rst:1713 msgid "Include_tcltk" msgstr "Include_tcltk" -#: ../../using/windows.rst:1712 +#: ../../using/windows.rst:1713 msgid "Install Tcl/Tk support and IDLE" msgstr "Installiert die Unterstützung für Tcl/Tk und IDLE" -#: ../../using/windows.rst:1714 +#: ../../using/windows.rst:1715 msgid "Include_test" msgstr "Include_test" -#: ../../using/windows.rst:1714 +#: ../../using/windows.rst:1715 msgid "Install standard library test suite" msgstr "Installiert die Testsammlung der Standardbibliothek" -#: ../../using/windows.rst:1716 +#: ../../using/windows.rst:1717 msgid "Include_tools" msgstr "Include_tools" -#: ../../using/windows.rst:1716 +#: ../../using/windows.rst:1717 msgid "Install utility scripts" msgstr "Installiert Hilfsskripte" -#: ../../using/windows.rst:1718 +#: ../../using/windows.rst:1719 msgid "LauncherOnly" msgstr "LauncherOnly" -#: ../../using/windows.rst:1718 +#: ../../using/windows.rst:1719 msgid "Only installs the launcher. This will override most other options." msgstr "" "Installiert nur den Starter. Das überschreibt die meisten anderen Optionen." -#: ../../using/windows.rst:1721 +#: ../../using/windows.rst:1722 msgid "SimpleInstall" msgstr "SimpleInstall" -#: ../../using/windows.rst:1721 +#: ../../using/windows.rst:1722 msgid "Disable most install UI" msgstr "Schaltet den größten Teil der Installationsoberfläche ab" -#: ../../using/windows.rst:1723 +#: ../../using/windows.rst:1724 msgid "SimpleInstallDescription" msgstr "SimpleInstallDescription" -#: ../../using/windows.rst:1723 +#: ../../using/windows.rst:1724 msgid "A custom message to display when the simplified install UI is used." msgstr "" "Eine eigene Meldung, die bei der vereinfachten Installationsoberfläche " "angezeigt wird." -#: ../../using/windows.rst:1727 +#: ../../using/windows.rst:1728 msgid "" "For example, to silently install a default, system-wide Python installation, " "you could use the following command (from an elevated command prompt)::" @@ -3874,11 +3877,11 @@ msgstr "" "Python vorzunehmen, kannst du den folgenden Befehl verwenden (an einer " "Eingabeaufforderung mit erhöhten Rechten)::" -#: ../../using/windows.rst:1730 +#: ../../using/windows.rst:1731 msgid "python-3.9.0.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0" msgstr "python-3.9.0.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0" -#: ../../using/windows.rst:1732 +#: ../../using/windows.rst:1733 msgid "" "To allow users to easily install a personal copy of Python without the test " "suite, you could provide a shortcut with the following command. This will " @@ -3889,7 +3892,7 @@ msgstr "" "bereitstellen. Dabei wird eine vereinfachte erste Seite angezeigt und eine " "Anpassung verhindert::" -#: ../../using/windows.rst:1736 +#: ../../using/windows.rst:1737 msgid "" "python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0\n" " SimpleInstall=1 SimpleInstallDescription=\"Just for me, no test suite.\"" @@ -3897,7 +3900,7 @@ msgstr "" "python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0\n" " SimpleInstall=1 SimpleInstallDescription=\"Just for me, no test suite.\"" -#: ../../using/windows.rst:1739 +#: ../../using/windows.rst:1740 msgid "" "(Note that omitting the launcher also omits file associations, and is only " "recommended for per-user installs when there is also a system-wide " @@ -3907,7 +3910,7 @@ msgstr "" "ist nur für Installationen je Benutzer empfehlenswert, wenn es zusätzlich " "eine systemweite Installation gibt, die den Starter enthielt.)" -#: ../../using/windows.rst:1743 +#: ../../using/windows.rst:1744 msgid "" "The options listed above can also be provided in a file named ``unattend." "xml`` alongside the executable. This file specifies a list of options and " @@ -3922,7 +3925,7 @@ msgstr "" "Werte bleiben immer Zeichenketten. Diese Beispieldatei setzt dieselben " "Optionen wie das vorige Beispiel:" -#: ../../using/windows.rst:1749 +#: ../../using/windows.rst:1750 msgid "" "\n" " " -#: ../../using/windows.rst:1762 +#: ../../using/windows.rst:1763 msgid "Installing without downloading" msgstr "Ohne Herunterladen installieren" -#: ../../using/windows.rst:1764 +#: ../../using/windows.rst:1765 msgid "" "As some features of Python are not included in the initial installer " "download, selecting those features may require an internet connection. To " @@ -3965,7 +3968,7 @@ msgstr "" "kann als nötig. Wenn aber viele Installationen vorgenommen werden sollen, " "ist eine lokal zwischengespeicherte Kopie sehr nützlich." -#: ../../using/windows.rst:1772 +#: ../../using/windows.rst:1773 msgid "" "Execute the following command from Command Prompt to download all possible " "required files. Remember to substitute ``python-3.9.0.exe`` for the actual " @@ -3978,22 +3981,22 @@ msgstr "" "Installationsprogramms zu ersetzen und Layouts in eigenen Verzeichnissen " "anzulegen, damit Dateien gleichen Namens nicht zusammenstoßen." -#: ../../using/windows.rst:1779 +#: ../../using/windows.rst:1780 msgid "python-3.9.0.exe /layout [optional target directory]" msgstr "python-3.9.0.exe /layout [optional target directory]" -#: ../../using/windows.rst:1781 +#: ../../using/windows.rst:1782 msgid "" "You may also specify the ``/quiet`` option to hide the progress display." msgstr "" "Mit der Option ``/quiet`` lässt sich außerdem die Fortschrittsanzeige " "verbergen." -#: ../../using/windows.rst:1784 +#: ../../using/windows.rst:1785 msgid "Modifying an install" msgstr "Eine Installation ändern" -#: ../../using/windows.rst:1786 +#: ../../using/windows.rst:1787 msgid "" "Once Python has been installed, you can add or remove features through the " "Programs and Features tool that is part of Windows. Select the Python entry " @@ -4004,7 +4007,7 @@ msgstr "" "den Python-Eintrag und dann „Deinstallieren/Ändern“, um das " "Installationsprogramm im Wartungsmodus zu öffnen." -#: ../../using/windows.rst:1790 +#: ../../using/windows.rst:1791 msgid "" "\"Modify\" allows you to add or remove features by modifying the checkboxes " "- unchanged checkboxes will not install or remove anything. Some options " @@ -4017,7 +4020,7 @@ msgstr "" "Installationsverzeichnis. Dafür musst du Python vollständig entfernen und " "neu installieren." -#: ../../using/windows.rst:1795 +#: ../../using/windows.rst:1796 msgid "" "\"Repair\" will verify all the files that should be installed using the " "current settings and replace any that have been removed or modified." @@ -4026,7 +4029,7 @@ msgstr "" "Einstellungen installiert sein sollten, und alle ersetzt, die entfernt oder " "verändert wurden." -#: ../../using/windows.rst:1798 +#: ../../using/windows.rst:1799 msgid "" "\"Uninstall\" will remove Python entirely, with the exception of the :ref:" "`launcher`, which has its own entry in Programs and Features." @@ -4034,7 +4037,7 @@ msgstr "" "Mit „Uninstall“ wird Python vollständig entfernt, mit Ausnahme des :ref:" "`launcher`, der seinen eigenen Eintrag in „Programme und Features“ hat." -#: ../../using/windows.rst:1807 +#: ../../using/windows.rst:1808 msgid "" "To install pre-built binaries with free-threading enabled (see :pep:`703`), " "you should select \"Customize installation\". The second page of options " @@ -4045,7 +4048,7 @@ msgstr "" "wählen. Auf der zweiten Optionsseite findet sich das Kontrollkästchen " "„Download free-threaded binaries“." -#: ../../using/windows.rst:1813 +#: ../../using/windows.rst:1814 msgid "" "Selecting this option will download and install additional binaries to the " "same location as the main Python install. The main executable is called " @@ -4060,7 +4063,7 @@ msgstr "" "Quelldateien und beiliegende Abhängigkeiten von Dritten werden mit der " "Hauptinstallation gemeinsam genutzt." -#: ../../using/windows.rst:1819 +#: ../../using/windows.rst:1820 msgid "" "The free-threaded version is registered as a regular Python install with the " "tag ``3.13t`` (with a ``-32`` or ``-arm64`` suffix as normal for those " @@ -4081,7 +4084,7 @@ msgstr "" "verwendest, ziehst du es vielleicht vor, die Free-Threading-Binärdateien " "zunächst nicht zu installieren." -#: ../../using/windows.rst:1828 +#: ../../using/windows.rst:1829 msgid "" "To specify the install option at the command line, use " "``Include_freethreaded=1``. See :ref:`install-layout-option` for " @@ -4095,7 +4098,7 @@ msgstr "" "herunterlädst. Die Optionen zum Einbeziehen von Debugsymbolen und -" "binärdateien gelten auch für die Free-Threading-Builds." -#: ../../using/windows.rst:1834 +#: ../../using/windows.rst:1835 msgid "" "Free-threaded binaries are also available :ref:`on nuget.org `." @@ -4103,11 +4106,11 @@ msgstr "" "Free-Threading-Binärdateien gibt es auch :ref:`auf nuget.org `." -#: ../../using/windows.rst:1838 +#: ../../using/windows.rst:1839 msgid "Python launcher for Windows (deprecated)" msgstr "Python-Starter für Windows (veraltet)" -#: ../../using/windows.rst:1842 +#: ../../using/windows.rst:1843 msgid "" "The launcher and this documentation have been superseded by the Python " "Install Manager described above. This is preserved temporarily for " @@ -4117,7 +4120,7 @@ msgstr "" "Python Install Manager ersetzt. Beides bleibt vorübergehend aus historischem " "Interesse erhalten." -#: ../../using/windows.rst:1848 +#: ../../using/windows.rst:1849 msgid "" "The Python launcher for Windows is a utility which aids in locating and " "executing of different Python versions. It allows scripts (or the command-" @@ -4129,7 +4132,7 @@ msgstr "" "der Befehlszeile), eine bestimmte Python-Version zu bevorzugen, und findet " "und führt diese Version aus." -#: ../../using/windows.rst:1853 +#: ../../using/windows.rst:1854 msgid "" "Unlike the :envvar:`PATH` variable, the launcher will correctly select the " "most appropriate version of Python. It will prefer per-user installations " @@ -4141,19 +4144,19 @@ msgstr "" "systemweiten vor und ordnet nach Sprachversion, statt die zuletzt " "installierte Version zu nehmen." -#: ../../using/windows.rst:1858 +#: ../../using/windows.rst:1859 msgid "The launcher was originally specified in :pep:`397`." msgstr "Der Starter wurde ursprünglich in :pep:`397` festgelegt." -#: ../../using/windows.rst:1861 +#: ../../using/windows.rst:1862 msgid "Getting started" msgstr "Los geht's" -#: ../../using/windows.rst:1864 +#: ../../using/windows.rst:1865 msgid "From the command-line" msgstr "Von der Befehlszeile" -#: ../../using/windows.rst:1868 +#: ../../using/windows.rst:1869 msgid "" "System-wide installations of Python 3.3 and later will put the launcher on " "your :envvar:`PATH`. The launcher is compatible with all available versions " @@ -4166,11 +4169,11 @@ msgstr "" "ist. Um zu prüfen, ob der Starter verfügbar ist, führe den folgenden Befehl " "an der Eingabeaufforderung aus::" -#: ../../using/windows.rst:1873 +#: ../../using/windows.rst:1874 msgid "py" msgstr "py" -#: ../../using/windows.rst:1875 +#: ../../using/windows.rst:1876 msgid "" "You should find that the latest version of Python you have installed is " "started - it can be exited as normal, and any additional command-line " @@ -4180,7 +4183,7 @@ msgstr "" "startet — sie lässt sich wie üblich verlassen, und alle zusätzlich " "angegebenen Befehlszeilenargumente werden direkt an Python weitergegeben." -#: ../../using/windows.rst:1879 +#: ../../using/windows.rst:1880 msgid "" "If you have multiple versions of Python installed (e.g., 3.7 and |version|) " "you will have noticed that Python |version| was started - to launch Python " @@ -4190,11 +4193,11 @@ msgstr "" "dir aufgefallen, dass Python |version| gestartet wurde — um Python 3.7 zu " "starten, versuche den Befehl::" -#: ../../using/windows.rst:1883 +#: ../../using/windows.rst:1884 msgid "py -3.7" msgstr "py -3.7" -#: ../../using/windows.rst:1885 +#: ../../using/windows.rst:1886 msgid "" "If you want the latest version of Python 2 you have installed, try the " "command::" @@ -4202,17 +4205,17 @@ msgstr "" "Wenn du die neueste installierte Version von Python 2 möchtest, versuche den " "Befehl::" -#: ../../using/windows.rst:1888 +#: ../../using/windows.rst:1889 msgid "py -2" msgstr "py -2" -#: ../../using/windows.rst:1890 +#: ../../using/windows.rst:1891 msgid "" "If you see the following error, you do not have the launcher installed::" msgstr "" "Wenn du den folgenden Fehler siehst, ist der Starter nicht installiert::" -#: ../../using/windows.rst:1892 +#: ../../using/windows.rst:1893 msgid "" "'py' is not recognized as an internal or external command,\n" "operable program or batch file." @@ -4220,21 +4223,21 @@ msgstr "" "'py' is not recognized as an internal or external command,\n" "operable program or batch file." -#: ../../using/windows.rst:1895 +#: ../../using/windows.rst:1896 msgid "The command::" msgstr "Der Befehl::" -#: ../../using/windows.rst:1897 +#: ../../using/windows.rst:1898 msgid "py --list" msgstr "py --list" -#: ../../using/windows.rst:1899 +#: ../../using/windows.rst:1900 msgid "displays the currently installed version(s) of Python." msgstr "" "zeigt die derzeit installierte Python-Version beziehungsweise die " "installierten Versionen an." -#: ../../using/windows.rst:1901 +#: ../../using/windows.rst:1902 msgid "" "The ``-x.y`` argument is the short form of the ``-V:Company/Tag`` argument, " "which allows selecting a specific Python runtime, including those that may " @@ -4248,7 +4251,7 @@ msgstr "" "auffindbar. Der Befehl ``--list`` führt alle verfügbaren Runtimes im Format " "``-V:`` auf." -#: ../../using/windows.rst:1907 +#: ../../using/windows.rst:1908 msgid "" "When using the ``-V:`` argument, specifying the Company will limit selection " "to runtimes from that provider, while specifying only the Tag will select " @@ -4259,7 +4262,7 @@ msgstr "" "Anbietern auswählt. Beachte, dass ein fehlender Schrägstrich ein Tag " "bedeutet::" -#: ../../using/windows.rst:1911 +#: ../../using/windows.rst:1912 msgid "" "# Select any '3.*' tagged runtime\n" "py -V:3\n" @@ -4279,7 +4282,7 @@ msgstr "" "# Die neueste Python-3-Runtime von PythonCore auswählen\n" "py -V:PythonCore/3" -#: ../../using/windows.rst:1920 +#: ../../using/windows.rst:1921 msgid "" "The short form of the argument (``-3``) only ever selects from core Python " "releases, and not other distributions. However, the longer form (``-V:3``) " @@ -4289,7 +4292,7 @@ msgstr "" "Veröffentlichungen von Python und nicht aus anderen Distributionen. Die " "längere Form (``-V:3``) wählt dagegen aus allen." -#: ../../using/windows.rst:1924 +#: ../../using/windows.rst:1925 msgid "" "The Company is matched on the full string, case-insensitive. The Tag is " "matched on either the full string, or a prefix, provided the next character " @@ -4304,11 +4307,11 @@ msgstr "" "``3.10``. Tags werden numerisch sortiert (``3.10`` ist neuer als ``3.1``), " "aber als Text verglichen (``-V:3.01`` passt nicht auf ``3.1``)." -#: ../../using/windows.rst:1932 +#: ../../using/windows.rst:1933 msgid "Virtual environments" msgstr "Virtuelle Umgebungen" -#: ../../using/windows.rst:1936 +#: ../../using/windows.rst:1937 msgid "" "If the launcher is run with no explicit Python version specification, and a " "virtual environment (created with the standard library :mod:`venv` module or " @@ -4324,11 +4327,11 @@ msgstr "" "Um den globalen Interpreter auszuführen, deaktiviere entweder die virtuelle " "Umgebung oder gib die globale Python-Version ausdrücklich an." -#: ../../using/windows.rst:1944 +#: ../../using/windows.rst:1945 msgid "From a script" msgstr "Aus einem Skript" -#: ../../using/windows.rst:1946 +#: ../../using/windows.rst:1947 msgid "" "Let's create a test Python script - create a file called ``hello.py`` with " "the following contents" @@ -4336,7 +4339,7 @@ msgstr "" "Legen wir ein Python-Testskript an — erstelle eine Datei namens ``hello.py`` " "mit folgendem Inhalt" -#: ../../using/windows.rst:1949 +#: ../../using/windows.rst:1950 msgid "" "#! python\n" "import sys\n" @@ -4346,16 +4349,16 @@ msgstr "" "import sys\n" "sys.stdout.write(\"hello from Python %s\\n\" % (sys.version,))" -#: ../../using/windows.rst:1955 +#: ../../using/windows.rst:1956 msgid "From the directory in which hello.py lives, execute the command::" msgstr "" "Führe aus dem Verzeichnis, in dem hello.py liegt, den folgenden Befehl aus::" -#: ../../using/windows.rst:1957 +#: ../../using/windows.rst:1958 msgid "py hello.py" msgstr "py hello.py" -#: ../../using/windows.rst:1959 +#: ../../using/windows.rst:1960 msgid "" "You should notice the version number of your latest Python 2.x installation " "is printed. Now try changing the first line to be:" @@ -4363,11 +4366,11 @@ msgstr "" "Du solltest sehen, dass die Versionsnummer deiner neuesten Installation von " "Python 2.x ausgegeben wird. Versuche jetzt, die erste Zeile zu ändern in:" -#: ../../using/windows.rst:1962 +#: ../../using/windows.rst:1963 msgid "#! python3" msgstr "#! python3" -#: ../../using/windows.rst:1966 +#: ../../using/windows.rst:1967 msgid "" "Re-executing the command should now print the latest Python 3.x information. " "As with the above command-line examples, you can specify a more explicit " @@ -4381,7 +4384,7 @@ msgstr "" "versuche, die erste Zeile in ``#! python3.7`` zu ändern, dann sollten die " "Versionsangaben von 3.7 ausgegeben werden." -#: ../../using/windows.rst:1972 +#: ../../using/windows.rst:1973 msgid "" "Note that unlike interactive use, a bare \"python\" will use the latest " "version of Python 2.x that you have installed. This is for backward " @@ -4393,11 +4396,11 @@ msgstr "" "Abwärtsverträglichkeit und der Verträglichkeit mit Unix, wo der Befehl " "``python`` üblicherweise Python 2 meint." -#: ../../using/windows.rst:1978 +#: ../../using/windows.rst:1979 msgid "From file associations" msgstr "Über Dateiverknüpfungen" -#: ../../using/windows.rst:1980 +#: ../../using/windows.rst:1981 msgid "" "The launcher should have been associated with Python files (i.e. ``.py``, ``." "pyw``, ``.pyc`` files) when it was installed. This means that when you " @@ -4411,7 +4414,7 @@ msgstr "" "Starter verwendet, und du kannst daher dieselben oben beschriebenen Mittel " "nutzen, um im Skript die zu verwendende Version anzugeben." -#: ../../using/windows.rst:1986 +#: ../../using/windows.rst:1987 msgid "" "The key benefit of this is that a single launcher can support multiple " "Python versions at the same time depending on the contents of the first line." @@ -4419,7 +4422,7 @@ msgstr "" "Der wesentliche Vorteil dabei ist, dass ein einziger Starter je nach Inhalt " "der ersten Zeile gleichzeitig mehrere Python-Versionen unterstützen kann." -#: ../../using/windows.rst:1992 +#: ../../using/windows.rst:1993 msgid "" "If the first line of a script file starts with ``#!``, it is known as a " "\"shebang\" line. Linux and other Unix like operating systems have native " @@ -4435,7 +4438,7 @@ msgstr "" "dasselbe für Python-Skripte unter Windows, und die obigen Beispiele zeigen " "die Verwendung." -#: ../../using/windows.rst:1999 +#: ../../using/windows.rst:2000 msgid "" "To allow shebang lines in Python scripts to be portable between Unix and " "Windows, this launcher supports a number of 'virtual' commands to specify " @@ -4446,23 +4449,23 @@ msgstr "" "mit denen sich der zu verwendende Interpreter angeben lässt. Die " "unterstützten virtuellen Befehle sind:" -#: ../../using/windows.rst:2003 +#: ../../using/windows.rst:2004 msgid "``/usr/bin/env``" msgstr "``/usr/bin/env``" -#: ../../using/windows.rst:2004 +#: ../../using/windows.rst:2005 msgid "``/usr/bin/python``" msgstr "``/usr/bin/python``" -#: ../../using/windows.rst:2005 +#: ../../using/windows.rst:2006 msgid "``/usr/local/bin/python``" msgstr "``/usr/local/bin/python``" -#: ../../using/windows.rst:2006 +#: ../../using/windows.rst:2007 msgid "``python``" msgstr "``python``" -#: ../../using/windows.rst:2020 +#: ../../using/windows.rst:2021 msgid "" "Any of the above virtual commands can be suffixed with an explicit version " "(either just the major version, or the major and minor version). Furthermore " @@ -4478,7 +4481,7 @@ msgstr "" "fordert die Verwendung des 32-Bit-Python 3.7 an. Ist eine virtuelle Umgebung " "aktiv, wird die Version ignoriert und die Umgebung verwendet." -#: ../../using/windows.rst:2029 +#: ../../using/windows.rst:2030 msgid "" "Beginning with python launcher 3.7 it is possible to request 64-bit version " "by the \"-64\" suffix. Furthermore it is possible to specify a major and " @@ -4488,7 +4491,7 @@ msgstr "" "anfordern. Außerdem lassen sich Hauptversion und Architektur ohne " "Nebenversion angeben (also ``/usr/bin/python3-64``)." -#: ../../using/windows.rst:2035 +#: ../../using/windows.rst:2036 msgid "" "The \"-64\" suffix is deprecated, and now implies \"any architecture that is " "not provably i386/32-bit\". To request a specific environment, use the new :" @@ -4498,7 +4501,7 @@ msgstr "" "nicht nachweislich i386/32-Bit ist“. Um eine bestimmte Umgebung anzufordern, " "verwende das neue Argument :samp:`-V:{TAG}` mit dem vollständigen Tag." -#: ../../using/windows.rst:2041 +#: ../../using/windows.rst:2042 msgid "" "Virtual commands referencing ``python`` now prefer an active virtual " "environment rather than searching :envvar:`PATH`. This handles cases where " @@ -4510,7 +4513,7 @@ msgstr "" "abgedeckt, in denen der Shebang ``/usr/bin/env python3`` angibt, :file:" "`python3.exe` in der aktiven Umgebung aber nicht vorhanden ist." -#: ../../using/windows.rst:2046 +#: ../../using/windows.rst:2047 msgid "" "The ``/usr/bin/env`` form of shebang line has one further special property. " "Before looking for installed Python interpreters, this form will search the " @@ -4534,7 +4537,7 @@ msgstr "" "envvar:`!PYLAUNCHER_NO_SEARCH_PATH` lässt sich (auf einen beliebigen Wert) " "setzen, um diese Suche in :envvar:`PATH` zu überspringen." -#: ../../using/windows.rst:2057 +#: ../../using/windows.rst:2058 msgid "" "Shebang lines that do not match any of these patterns are looked up in the " "``[commands]`` section of the launcher's :ref:`.INI file `. " @@ -4553,7 +4556,7 @@ msgstr "" "INI angegebene zusätzliche Argumente werden als Teil des Dateinamens in " "Anführungszeichen gesetzt)." -#: ../../using/windows.rst:2065 +#: ../../using/windows.rst:2066 msgid "" "[commands]\n" "/bin/xpython=C:\\Program Files\\XPython\\python.exe" @@ -4561,7 +4564,7 @@ msgstr "" "[commands]\n" "/bin/xpython=C:\\Program Files\\XPython\\python.exe" -#: ../../using/windows.rst:2070 +#: ../../using/windows.rst:2071 msgid "" "Any commands not found in the .INI file are treated as **Windows** " "executable paths that are absolute or relative to the directory containing " @@ -4580,11 +4583,11 @@ msgstr "" "mehrere Argumente enthalten. Danach werden der Pfad zum Skript und etwaige " "weitere Argumente angehängt." -#: ../../using/windows.rst:2079 +#: ../../using/windows.rst:2080 msgid "Arguments in shebang lines" msgstr "Argumente in Shebang-Zeilen" -#: ../../using/windows.rst:2081 +#: ../../using/windows.rst:2082 msgid "" "The shebang lines can also specify additional options to be passed to the " "Python interpreter. For example, if you have a shebang line:" @@ -4593,23 +4596,23 @@ msgstr "" "Python-Interpreter weitergegeben werden. Wenn du zum Beispiel diese Shebang-" "Zeile hast:" -#: ../../using/windows.rst:2084 +#: ../../using/windows.rst:2085 msgid "#! /usr/bin/python -v" msgstr "#! /usr/bin/python -v" -#: ../../using/windows.rst:2088 +#: ../../using/windows.rst:2089 msgid "Then Python will be started with the ``-v`` option" msgstr "dann wird Python mit der Option ``-v`` gestartet" -#: ../../using/windows.rst:2091 +#: ../../using/windows.rst:2092 msgid "Customization" msgstr "Anpassung" -#: ../../using/windows.rst:2096 +#: ../../using/windows.rst:2097 msgid "Customization via INI files" msgstr "Anpassung über INI-Dateien" -#: ../../using/windows.rst:2098 +#: ../../using/windows.rst:2099 msgid "" "Two .ini files will be searched by the launcher - ``py.ini`` in the current " "user's application data directory (``%LOCALAPPDATA%`` or ``$env:" @@ -4623,7 +4626,7 @@ msgstr "" "Dieselben .ini-Dateien werden sowohl für die „Konsolen“-Fassung des Starters " "(also py.exe) als auch für die „Windows“-Fassung (also pyw.exe) verwendet." -#: ../../using/windows.rst:2104 +#: ../../using/windows.rst:2105 msgid "" "Customization specified in the \"application directory\" will have " "precedence over the one next to the executable, so a user, who may not have " @@ -4635,11 +4638,11 @@ msgstr "" "Schreibzugriff auf die .ini-Datei neben dem Starter hat, Befehle in dieser " "globalen .ini-Datei überschreiben kann." -#: ../../using/windows.rst:2109 +#: ../../using/windows.rst:2110 msgid "Customizing default Python versions" msgstr "Standard-Python-Versionen anpassen" -#: ../../using/windows.rst:2111 +#: ../../using/windows.rst:2112 msgid "" "In some cases, a version qualifier can be included in a command to dictate " "which version of Python will be used by the command. A version qualifier " @@ -4655,7 +4658,7 @@ msgstr "" "durch Anfügen von „-32“ oder „-64“ angeben, ob eine 32- oder 64-Bit-" "Umsetzung angefordert wird." -#: ../../using/windows.rst:2117 +#: ../../using/windows.rst:2118 msgid "" "For example, a shebang line of ``#!python`` has no version qualifier, while " "``#!python3`` has a version qualifier which specifies only a major version." @@ -4664,7 +4667,7 @@ msgstr "" "während ``#!python3`` einen Versionszusatz hat, der nur eine Hauptversion " "angibt." -#: ../../using/windows.rst:2120 +#: ../../using/windows.rst:2121 msgid "" "If no version qualifiers are found in a command, the environment variable :" "envvar:`!PY_PYTHON` can be set to specify the default version qualifier. If " @@ -4680,7 +4683,7 @@ msgstr "" "kann, etwa „3“, „3.7“, „3.7-32“ oder „3.7-64“. (Beachte, dass die Option " "„-64“ nur beim Starter ab Python 3.7 verfügbar ist.)" -#: ../../using/windows.rst:2127 +#: ../../using/windows.rst:2128 msgid "" "If no minor version qualifiers are found, the environment variable " "``PY_PYTHON{major}`` (where ``{major}`` is the current major version " @@ -4698,7 +4701,7 @@ msgstr "" "Hauptversion. Das ist wahrscheinlich, aber nicht garantiert die zuletzt " "installierte Version dieser Familie." -#: ../../using/windows.rst:2135 +#: ../../using/windows.rst:2136 msgid "" "On 64-bit Windows with both 32-bit and 64-bit implementations of the same " "(major.minor) Python version installed, the 64-bit version will always be " @@ -4722,11 +4725,11 @@ msgstr "" "Starter installiert wurde). Wie oben erwähnt, lässt sich dieses Verhalten " "mit einem optionalen Suffix „-32“ oder „-64“ an der Versionsangabe ändern." -#: ../../using/windows.rst:2146 +#: ../../using/windows.rst:2147 msgid "Examples:" msgstr "Beispiele:" -#: ../../using/windows.rst:2148 +#: ../../using/windows.rst:2149 msgid "" "If no relevant options are set, the commands ``python`` and ``python2`` will " "use the latest Python 2.x version installed and the command ``python3`` will " @@ -4736,7 +4739,7 @@ msgstr "" "und ``python2`` die neueste installierte Version von Python 2.x, und der " "Befehl ``python3`` verwendet das neueste installierte Python 3.x." -#: ../../using/windows.rst:2152 +#: ../../using/windows.rst:2153 msgid "" "The command ``python3.7`` will not consult any options at all as the " "versions are fully specified." @@ -4744,7 +4747,7 @@ msgstr "" "Der Befehl ``python3.7`` zieht überhaupt keine Optionen heran, da die " "Versionen vollständig angegeben sind." -#: ../../using/windows.rst:2155 +#: ../../using/windows.rst:2156 msgid "" "If ``PY_PYTHON=3``, the commands ``python`` and ``python3`` will both use " "the latest installed Python 3 version." @@ -4752,7 +4755,7 @@ msgstr "" "Bei ``PY_PYTHON=3`` verwenden die Befehle ``python`` und ``python3`` beide " "die neueste installierte Python-3-Version." -#: ../../using/windows.rst:2158 +#: ../../using/windows.rst:2159 msgid "" "If ``PY_PYTHON=3.7-32``, the command ``python`` will use the 32-bit " "implementation of 3.7 whereas the command ``python3`` will use the latest " @@ -4764,7 +4767,7 @@ msgstr "" "Python verwendet (PY_PYTHON wurde überhaupt nicht herangezogen, da eine " "Hauptversion angegeben war)." -#: ../../using/windows.rst:2163 +#: ../../using/windows.rst:2164 msgid "" "If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7``, the commands ``python`` and " "``python3`` will both use specifically 3.7" @@ -4772,7 +4775,7 @@ msgstr "" "Bei ``PY_PYTHON=3`` und ``PY_PYTHON3=3.7`` verwenden die Befehle ``python`` " "und ``python3`` beide ausdrücklich 3.7" -#: ../../using/windows.rst:2166 +#: ../../using/windows.rst:2167 msgid "" "In addition to environment variables, the same settings can be configured in " "the .INI file used by the launcher. The section in the INI file is called " @@ -4789,16 +4792,16 @@ msgstr "" "gelesen werden). Der Inhalt einer Umgebungsvariablen überschreibt die " "Angaben in der INI-Datei." -#: ../../using/windows.rst:2173 +#: ../../using/windows.rst:2174 msgid "For example:" msgstr "Zum Beispiel:" -#: ../../using/windows.rst:2175 +#: ../../using/windows.rst:2176 msgid "Setting ``PY_PYTHON=3.7`` is equivalent to the INI file containing:" msgstr "" "``PY_PYTHON=3.7`` zu setzen entspricht einer INI-Datei mit folgendem Inhalt:" -#: ../../using/windows.rst:2177 +#: ../../using/windows.rst:2178 msgid "" "[defaults]\n" "python=3.7" @@ -4806,7 +4809,7 @@ msgstr "" "[defaults]\n" "python=3.7" -#: ../../using/windows.rst:2182 +#: ../../using/windows.rst:2183 msgid "" "Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7`` is equivalent to the INI file " "containing:" @@ -4814,7 +4817,7 @@ msgstr "" "``PY_PYTHON=3`` und ``PY_PYTHON3=3.7`` zu setzen entspricht einer INI-Datei " "mit folgendem Inhalt:" -#: ../../using/windows.rst:2185 +#: ../../using/windows.rst:2186 msgid "" "[defaults]\n" "python=3\n" @@ -4824,11 +4827,11 @@ msgstr "" "python=3\n" "python3=3.7" -#: ../../using/windows.rst:2192 +#: ../../using/windows.rst:2193 msgid "Diagnostics" msgstr "Diagnose" -#: ../../using/windows.rst:2194 +#: ../../using/windows.rst:2195 msgid "" "If an environment variable :envvar:`!PYLAUNCHER_DEBUG` is set (to any " "value), the launcher will print diagnostic information to stderr (i.e. to " @@ -4846,11 +4849,11 @@ msgstr "" "genau ausgeführt wurde. Sie sind vor allem zum Testen und zur Fehlersuche " "gedacht." -#: ../../using/windows.rst:2202 +#: ../../using/windows.rst:2203 msgid "Dry run" msgstr "Trockenlauf" -#: ../../using/windows.rst:2204 +#: ../../using/windows.rst:2205 msgid "" "If an environment variable :envvar:`!PYLAUNCHER_DRYRUN` is set (to any " "value), the launcher will output the command it would have run, but will not " @@ -4867,11 +4870,11 @@ msgstr "" "UTF-8 kodiert ist und in der Konsole möglicherweise nicht richtig " "dargestellt wird." -#: ../../using/windows.rst:2212 +#: ../../using/windows.rst:2213 msgid "Install on demand" msgstr "Installation bei Bedarf" -#: ../../using/windows.rst:2214 +#: ../../using/windows.rst:2215 msgid "" "If an environment variable :envvar:`!PYLAUNCHER_ALLOW_INSTALL` is set (to " "any value), and the requested Python version is not installed but is " @@ -4885,7 +4888,7 @@ msgstr "" "installieren. Dafür kann ein Eingreifen des Benutzers nötig sein, und du " "musst den Befehl möglicherweise erneut ausführen." -#: ../../using/windows.rst:2219 +#: ../../using/windows.rst:2220 msgid "" "An additional :envvar:`!PYLAUNCHER_ALWAYS_INSTALL` variable causes the " "launcher to always try to install Python, even if it is detected. This is " @@ -4897,11 +4900,11 @@ msgstr "" "wird. Das ist vor allem zum Testen gedacht (und sollte mit :envvar:`!" "PYLAUNCHER_DRYRUN` verwendet werden)." -#: ../../using/windows.rst:2224 +#: ../../using/windows.rst:2225 msgid "Return codes" msgstr "Rückgabewerte" -#: ../../using/windows.rst:2226 +#: ../../using/windows.rst:2227 msgid "" "The following exit codes may be returned by the Python launcher. " "Unfortunately, there is no way to distinguish these from the exit code of " @@ -4910,7 +4913,7 @@ msgstr "" "Der Python-Starter kann die folgenden Beendigungswerte zurückgeben. Leider " "lassen sie sich nicht vom Beendigungswert von Python selbst unterscheiden." -#: ../../using/windows.rst:2229 +#: ../../using/windows.rst:2230 msgid "" "The names of codes are as used in the sources, and are only for reference. " "There is no way to access or resolve them apart from reading this page. " @@ -4921,43 +4924,43 @@ msgstr "" "außer diese Seite zu lesen. Die Einträge stehen in alphabetischer " "Reihenfolge der Namen." -#: ../../using/windows.rst:2234 +#: ../../using/windows.rst:2235 msgid "Value" msgstr "Wert" -#: ../../using/windows.rst:2236 +#: ../../using/windows.rst:2237 msgid "RC_BAD_VENV_CFG" msgstr "RC_BAD_VENV_CFG" -#: ../../using/windows.rst:2236 +#: ../../using/windows.rst:2237 msgid "107" msgstr "107" -#: ../../using/windows.rst:2236 +#: ../../using/windows.rst:2237 msgid "A :file:`pyvenv.cfg` was found but is corrupt." msgstr "Eine :file:`pyvenv.cfg` wurde gefunden, ist aber beschädigt." -#: ../../using/windows.rst:2238 +#: ../../using/windows.rst:2239 msgid "RC_CREATE_PROCESS" msgstr "RC_CREATE_PROCESS" -#: ../../using/windows.rst:2238 +#: ../../using/windows.rst:2239 msgid "101" msgstr "101" -#: ../../using/windows.rst:2238 +#: ../../using/windows.rst:2239 msgid "Failed to launch Python." msgstr "Python konnte nicht gestartet werden." -#: ../../using/windows.rst:2240 +#: ../../using/windows.rst:2241 msgid "RC_INSTALLING" msgstr "RC_INSTALLING" -#: ../../using/windows.rst:2240 +#: ../../using/windows.rst:2241 msgid "111" msgstr "111" -#: ../../using/windows.rst:2240 +#: ../../using/windows.rst:2241 msgid "" "An install was started, but the command will need to be re-run after it " "completes." @@ -4965,50 +4968,50 @@ msgstr "" "Eine Installation wurde angestoßen, der Befehl muss aber nach deren " "Abschluss erneut ausgeführt werden." -#: ../../using/windows.rst:2243 +#: ../../using/windows.rst:2244 msgid "RC_INTERNAL_ERROR" msgstr "RC_INTERNAL_ERROR" -#: ../../using/windows.rst:2243 +#: ../../using/windows.rst:2244 msgid "109" msgstr "109" -#: ../../using/windows.rst:2243 +#: ../../using/windows.rst:2244 msgid "Unexpected error. Please report a bug." msgstr "Unerwarteter Fehler. Bitte melde einen Fehlerbericht." -#: ../../using/windows.rst:2245 +#: ../../using/windows.rst:2246 msgid "RC_NO_COMMANDLINE" msgstr "RC_NO_COMMANDLINE" -#: ../../using/windows.rst:2245 +#: ../../using/windows.rst:2246 msgid "108" msgstr "108" -#: ../../using/windows.rst:2245 +#: ../../using/windows.rst:2246 msgid "Unable to obtain command line from the operating system." msgstr "Die Befehlszeile konnte nicht vom Betriebssystem bezogen werden." -#: ../../using/windows.rst:2248 +#: ../../using/windows.rst:2249 msgid "RC_NO_PYTHON" msgstr "RC_NO_PYTHON" -#: ../../using/windows.rst:2248 +#: ../../using/windows.rst:2249 msgid "103" msgstr "103" -#: ../../using/windows.rst:2248 +#: ../../using/windows.rst:2249 msgid "Unable to locate the requested version." msgstr "Die verlangte Version konnte nicht gefunden werden." -#: ../../using/windows.rst:2250 +#: ../../using/windows.rst:2251 msgid "RC_NO_VENV_CFG" msgstr "RC_NO_VENV_CFG" -#: ../../using/windows.rst:2250 +#: ../../using/windows.rst:2251 msgid "106" msgstr "106" -#: ../../using/windows.rst:2250 +#: ../../using/windows.rst:2251 msgid "A :file:`pyvenv.cfg` was required but not found." msgstr "Eine :file:`pyvenv.cfg` war erforderlich, wurde aber nicht gefunden." diff --git a/whatsnew/changelog.po b/whatsnew/changelog.po index 54a0a06f..53876a44 100644 --- a/whatsnew/changelog.po +++ b/whatsnew/changelog.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-17 13:50+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -32,29 +32,666 @@ msgstr "" msgid "*Release date: XXXX-XX-XX*" msgstr "" -#: ../NEWS:8 ../NEWS:725 ../NEWS:1646 ../NEWS:1944 ../NEWS:2002 ../NEWS:2258 -#: ../NEWS:2800 ../NEWS:3233 ../NEWS:3337 ../NEWS:4133 ../NEWS:4165 -#: ../NEWS:4379 ../NEWS:4531 ../NEWS:4741 ../NEWS:5019 ../NEWS:5311 -#: ../NEWS:6126 ../NEWS:6512 ../NEWS:7075 ../NEWS:7974 ../NEWS:8436 -#: ../NEWS:9176 ../NEWS:11456 ../NEWS:12606 ../NEWS:13062 ../NEWS:13618 -#: ../NEWS:15137 ../NEWS:17616 ../NEWS:18834 ../NEWS:19155 ../NEWS:19849 -#: ../NEWS:20191 ../NEWS:20633 ../NEWS:22906 ../NEWS:26608 ../NEWS:28565 -#: ../NEWS:29281 ../NEWS:29712 ../NEWS:29958 ../NEWS:30600 ../NEWS:31191 -#: ../NEWS:31547 ../NEWS:32801 ../NEWS:33154 ../NEWS:33606 ../NEWS:34112 -#: ../NEWS:34813 ../NEWS:35198 ../NEWS:37151 ../NEWS:37909 ../NEWS:38453 -#: ../NEWS:38984 ../NEWS:42514 ../NEWS:42732 ../NEWS:44460 ../NEWS:46913 -#: ../NEWS:47680 ../NEWS:48144 ../NEWS:48171 ../NEWS:50215 ../NEWS:50426 -#: ../NEWS:50717 ../NEWS:52013 ../NEWS:52072 ../NEWS:52489 ../NEWS:53192 +#: ../NEWS:8 ../NEWS:275 ../NEWS:1038 ../NEWS:1959 ../NEWS:2257 ../NEWS:2315 +#: ../NEWS:2571 ../NEWS:3113 ../NEWS:3546 ../NEWS:3650 ../NEWS:4446 +#: ../NEWS:4478 ../NEWS:4692 ../NEWS:4844 ../NEWS:5054 ../NEWS:5332 +#: ../NEWS:5624 ../NEWS:6439 ../NEWS:6825 ../NEWS:7388 ../NEWS:8287 +#: ../NEWS:8749 ../NEWS:9489 ../NEWS:11769 ../NEWS:12919 ../NEWS:13375 +#: ../NEWS:13931 ../NEWS:15450 ../NEWS:17929 ../NEWS:19147 ../NEWS:19468 +#: ../NEWS:20162 ../NEWS:20504 ../NEWS:20946 ../NEWS:23219 ../NEWS:26921 +#: ../NEWS:28878 ../NEWS:29594 ../NEWS:30025 ../NEWS:30271 ../NEWS:30913 +#: ../NEWS:31504 ../NEWS:31860 ../NEWS:33114 ../NEWS:33467 ../NEWS:33919 +#: ../NEWS:34425 ../NEWS:35126 ../NEWS:35511 ../NEWS:37464 ../NEWS:38222 +#: ../NEWS:38766 ../NEWS:39297 ../NEWS:42827 ../NEWS:43045 ../NEWS:44773 +#: ../NEWS:47226 ../NEWS:47993 ../NEWS:48457 ../NEWS:48484 ../NEWS:50528 +#: ../NEWS:50739 ../NEWS:51030 ../NEWS:52326 ../NEWS:52385 ../NEWS:52802 +#: ../NEWS:53505 msgid "Security" msgstr "" #: ../NEWS:10 msgid "" +":gh:`159428`: :mod:`mimetypes` no longer reads the files listed in :data:" +"`mimetypes.knownfiles` by default on Windows, and uses only the registry." +msgstr "" + +#: ../NEWS:14 +msgid "" +":gh:`157265`: In :mod:`tarfile`, when extracting a link falls back to " +"extracting a member of the archive, skip the member when the filter function " +"returns None when called with the extracted member's name replaced with the " +"link's." +msgstr "" + +#: ../NEWS:19 +msgid "" +":gh:`157579`: Fix a race condition in the cleanup of :class:`tempfile." +"TemporaryDirectory`. When working around file system permission errors, " +"files are now removed relative to open directory file descriptors instead of " +"resolving their path again, so that replacing a directory of the tree with a " +"symbolic link can no longer make the cleanup delete files outside of the " +"temporary directory. This addresses :cve:`2026-12345`." +msgstr "" + +#: ../NEWS:28 ../NEWS:333 ../NEWS:1086 ../NEWS:2001 ../NEWS:2264 ../NEWS:2355 +#: ../NEWS:2595 ../NEWS:3399 ../NEWS:3587 ../NEWS:4125 ../NEWS:4137 +#: ../NEWS:4175 ../NEWS:4188 ../NEWS:4224 ../NEWS:4297 ../NEWS:4327 +#: ../NEWS:4542 ../NEWS:4637 ../NEWS:4745 ../NEWS:4756 ../NEWS:4785 +#: ../NEWS:4986 ../NEWS:5172 ../NEWS:5190 ../NEWS:5214 ../NEWS:5229 +#: ../NEWS:5507 ../NEWS:6050 ../NEWS:6091 ../NEWS:6153 ../NEWS:6637 +#: ../NEWS:6721 ../NEWS:7103 ../NEWS:7211 ../NEWS:7271 ../NEWS:7679 +#: ../NEWS:7715 ../NEWS:7816 ../NEWS:8106 ../NEWS:8131 ../NEWS:8163 +#: ../NEWS:8522 ../NEWS:8568 ../NEWS:9149 ../NEWS:9169 ../NEWS:9186 +#: ../NEWS:10766 ../NEWS:10790 ../NEWS:10885 ../NEWS:11058 ../NEWS:11130 +#: ../NEWS:11193 ../NEWS:11211 ../NEWS:11378 ../NEWS:11779 ../NEWS:11807 +#: ../NEWS:12421 ../NEWS:12532 ../NEWS:12936 ../NEWS:12978 ../NEWS:12991 +#: ../NEWS:13383 ../NEWS:13940 ../NEWS:14814 ../NEWS:15475 ../NEWS:17953 +#: ../NEWS:18083 ../NEWS:18850 ../NEWS:18891 ../NEWS:18927 ../NEWS:19168 +#: ../NEWS:19477 ../NEWS:19726 ../NEWS:19775 ../NEWS:19840 ../NEWS:20176 +#: ../NEWS:20214 ../NEWS:20524 ../NEWS:20657 ../NEWS:20984 ../NEWS:21020 +#: ../NEWS:21096 ../NEWS:21141 ../NEWS:21334 ../NEWS:21352 ../NEWS:21369 +#: ../NEWS:21494 ../NEWS:21617 ../NEWS:21632 ../NEWS:23226 ../NEWS:23371 +#: ../NEWS:23416 ../NEWS:23986 ../NEWS:24062 ../NEWS:24087 ../NEWS:24599 +#: ../NEWS:24682 ../NEWS:24734 ../NEWS:24759 ../NEWS:25058 ../NEWS:25149 +#: ../NEWS:25176 ../NEWS:25455 ../NEWS:25505 ../NEWS:25529 ../NEWS:25594 +#: ../NEWS:25907 ../NEWS:25965 ../NEWS:26395 ../NEWS:26948 ../NEWS:26982 +#: ../NEWS:26994 ../NEWS:27053 ../NEWS:27073 ../NEWS:27105 ../NEWS:27235 +#: ../NEWS:27286 ../NEWS:27306 ../NEWS:27405 ../NEWS:28934 ../NEWS:28971 +#: ../NEWS:29062 ../NEWS:29616 ../NEWS:29637 ../NEWS:30032 ../NEWS:30077 +#: ../NEWS:30102 ../NEWS:30277 ../NEWS:30330 ../NEWS:30540 ../NEWS:30582 +#: ../NEWS:30615 ../NEWS:30920 ../NEWS:30972 ../NEWS:31017 ../NEWS:31028 +#: ../NEWS:31515 ../NEWS:31594 ../NEWS:31881 ../NEWS:31903 ../NEWS:31931 +#: ../NEWS:31950 ../NEWS:31963 ../NEWS:31979 ../NEWS:31993 ../NEWS:32005 +#: ../NEWS:32023 ../NEWS:32064 ../NEWS:32083 ../NEWS:32132 ../NEWS:32162 +#: ../NEWS:32276 ../NEWS:32296 ../NEWS:33120 ../NEWS:33482 ../NEWS:33926 +#: ../NEWS:34436 ../NEWS:34777 ../NEWS:35144 ../NEWS:35560 ../NEWS:37479 +#: ../NEWS:38240 ../NEWS:38778 ../NEWS:39084 ../NEWS:39345 ../NEWS:42325 +#: ../NEWS:42437 ../NEWS:42650 ../NEWS:42841 ../NEWS:43051 ../NEWS:43295 +#: ../NEWS:43614 ../NEWS:43918 ../NEWS:44518 ../NEWS:44807 ../NEWS:46899 +#: ../NEWS:47236 ../NEWS:47553 ../NEWS:48002 ../NEWS:48491 ../NEWS:48833 +#: ../NEWS:48857 ../NEWS:49181 ../NEWS:49211 ../NEWS:49275 ../NEWS:49389 +#: ../NEWS:49513 ../NEWS:49781 ../NEWS:50290 ../NEWS:50537 ../NEWS:50751 +#: ../NEWS:51043 ../NEWS:52349 ../NEWS:52410 ../NEWS:52811 ../NEWS:53484 +#: ../NEWS:53527 ../NEWS:54235 ../NEWS:54253 ../NEWS:54776 ../NEWS:54811 +#: ../NEWS:54839 ../NEWS:54931 ../NEWS:55018 ../NEWS:55123 ../NEWS:55166 +#: ../NEWS:55442 ../NEWS:55677 ../NEWS:55863 ../NEWS:56002 +msgid "Core and Builtins" +msgstr "" + +#: ../NEWS:30 +msgid "" +":gh:`159430`: Report the correct exception if looking up :meth:`~object." +"__bytes__` raises an exception while performing %-formatting of :class:" +"`bytes`." +msgstr "" + +#: ../NEWS:34 +msgid "" +":gh:`159320`: Add dynamic detection of stack sizes on Android, allowing " +"safer deep recursion." +msgstr "" + +#: ../NEWS:37 +msgid "" +":gh:`158918`: Reduce C stack usage of ``_PyModule_IsPossiblyShadowing``, " +"which could potentially cause stack overflows during module attribute access " +"while deeply recursing in agressively optimized builds." +msgstr "" + +#: ../NEWS:41 +msgid "" +":gh:`158803`: Fix a crash in :meth:`bytes.join` and :meth:`bytearray.join` " +"in the :term:`free-threaded build` when another thread concurrently mutates " +"the list being joined. Patch by Christian Aurich Zanettini Martins." +msgstr "" + +#: ../NEWS:45 +msgid "" +":gh:`158592`: Skip the array reallocation when shrinking a small :class:" +"`list`. Patch by Donghee Na." +msgstr "" + +#: ../NEWS:48 +msgid "" +":gh:`158583`: :meth:`bytes.fromhex` and :meth:`bytearray.fromhex`: Fix " +"uninitialized memory read. Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:51 +msgid "" +":gh:`158592`: ``del list[index]`` now triggers shrinking the list's internal " +"array." +msgstr "" + +#: ../NEWS:54 +msgid "" +":gh:`156204`: Fix a crash in :c:func:`PyErr_GivenExceptionMatches` when " +"evaluating deeply nested exception tuples. The recursion is now bounded, and " +"exceeding the limit is reported as an unraisable exception." +msgstr "" + +#: ../NEWS:58 +msgid "" +":gh:`152075`: Reduced lock contention during LOAD_GLOBAL bytecode " +"specialization under free threading." +msgstr "" + +#: ../NEWS:61 +msgid "" +":gh:`149816`: Fix a Use-After-Free race condition in " +"``subtype_getweakref()`` during concurrent weakref creation and destruction " +"in the free-threading build." +msgstr "" + +#: ../NEWS:66 ../NEWS:441 ../NEWS:1222 ../NEWS:2070 ../NEWS:2272 ../NEWS:2418 +#: ../NEWS:2757 ../NEWS:3136 ../NEWS:3559 ../NEWS:3593 ../NEWS:3683 +#: ../NEWS:4131 ../NEWS:4169 ../NEWS:4182 ../NEWS:4216 ../NEWS:4291 +#: ../NEWS:4317 ../NEWS:4455 ../NEWS:4488 ../NEWS:4600 ../NEWS:4702 +#: ../NEWS:4751 ../NEWS:4779 ../NEWS:4881 ../NEWS:5069 ../NEWS:5183 +#: ../NEWS:5208 ../NEWS:5223 ../NEWS:5342 ../NEWS:5634 ../NEWS:6085 +#: ../NEWS:6147 ../NEWS:6295 ../NEWS:6454 ../NEWS:6715 ../NEWS:6833 +#: ../NEWS:7206 ../NEWS:7264 ../NEWS:7416 ../NEWS:7709 ../NEWS:7809 +#: ../NEWS:7823 ../NEWS:7929 ../NEWS:8124 ../NEWS:8156 ../NEWS:8295 +#: ../NEWS:8557 ../NEWS:8754 ../NEWS:9162 ../NEWS:9179 ../NEWS:9282 +#: ../NEWS:9540 ../NEWS:10784 ../NEWS:10879 ../NEWS:11052 ../NEWS:11123 +#: ../NEWS:11186 ../NEWS:11204 ../NEWS:11372 ../NEWS:11800 ../NEWS:11978 +#: ../NEWS:12523 ../NEWS:12538 ../NEWS:12971 ../NEWS:12984 ../NEWS:13007 +#: ../NEWS:13493 ../NEWS:14099 ../NEWS:14986 ../NEWS:16111 ../NEWS:17947 +#: ../NEWS:18073 ../NEWS:18169 ../NEWS:18884 ../NEWS:18933 ../NEWS:19248 +#: ../NEWS:19538 ../NEWS:19769 ../NEWS:19835 ../NEWS:19847 ../NEWS:20205 +#: ../NEWS:20251 ../NEWS:20682 ../NEWS:21012 ../NEWS:21091 ../NEWS:21134 +#: ../NEWS:21328 ../NEWS:21345 ../NEWS:21358 ../NEWS:21484 ../NEWS:21612 +#: ../NEWS:21627 ../NEWS:21654 ../NEWS:23362 ../NEWS:23434 ../NEWS:24055 +#: ../NEWS:24081 ../NEWS:24117 ../NEWS:24677 ../NEWS:24727 ../NEWS:24750 +#: ../NEWS:24774 ../NEWS:25143 ../NEWS:25166 ../NEWS:25183 ../NEWS:25499 +#: ../NEWS:25524 ../NEWS:25588 ../NEWS:25620 ../NEWS:25959 ../NEWS:26039 +#: ../NEWS:26504 ../NEWS:26973 ../NEWS:26987 ../NEWS:27046 ../NEWS:27065 +#: ../NEWS:27099 ../NEWS:27228 ../NEWS:27278 ../NEWS:27299 ../NEWS:27398 +#: ../NEWS:27522 ../NEWS:28963 ../NEWS:29056 ../NEWS:29076 ../NEWS:29631 +#: ../NEWS:29714 ../NEWS:30064 ../NEWS:30093 ../NEWS:30109 ../NEWS:30323 +#: ../NEWS:30339 ../NEWS:30575 ../NEWS:30589 ../NEWS:30625 ../NEWS:30966 +#: ../NEWS:31012 ../NEWS:31023 ../NEWS:31040 ../NEWS:31587 ../NEWS:31601 +#: ../NEWS:31897 ../NEWS:31913 ../NEWS:31938 ../NEWS:31956 ../NEWS:31973 +#: ../NEWS:31988 ../NEWS:31999 ../NEWS:32017 ../NEWS:32059 ../NEWS:32076 +#: ../NEWS:32127 ../NEWS:32156 ../NEWS:32269 ../NEWS:32288 ../NEWS:32305 +#: ../NEWS:33178 ../NEWS:33566 ../NEWS:34053 ../NEWS:34513 ../NEWS:34875 +#: ../NEWS:35221 ../NEWS:35877 ../NEWS:37643 ../NEWS:38310 ../NEWS:38853 +#: ../NEWS:39148 ../NEWS:39899 ../NEWS:42307 ../NEWS:42340 ../NEWS:42468 +#: ../NEWS:42676 ../NEWS:42867 ../NEWS:43072 ../NEWS:43370 ../NEWS:43691 +#: ../NEWS:44016 ../NEWS:44606 ../NEWS:45266 ../NEWS:46936 ../NEWS:47282 +#: ../NEWS:47648 ../NEWS:47972 ../NEWS:48075 ../NEWS:48538 ../NEWS:48925 +#: ../NEWS:49228 ../NEWS:49310 ../NEWS:49413 ../NEWS:49583 ../NEWS:49918 +#: ../NEWS:50336 ../NEWS:50554 ../NEWS:50791 ../NEWS:51328 ../NEWS:52355 +#: ../NEWS:52373 ../NEWS:52461 ../NEWS:52942 ../NEWS:53657 ../NEWS:54321 +#: ../NEWS:54759 ../NEWS:54786 ../NEWS:54824 ../NEWS:54844 ../NEWS:54951 +#: ../NEWS:55045 ../NEWS:55141 ../NEWS:55216 ../NEWS:55474 ../NEWS:55697 +#: ../NEWS:55870 ../NEWS:56228 +msgid "Library" +msgstr "" + +#: ../NEWS:68 +msgid "" +":gh:`159430`: Report the correct exception if looking up ``__name__`` raises " +"an exception when calling :func:`repr` on a :class:`weakref.ref`." +msgstr "" + +#: ../NEWS:71 +msgid "" +":gh:`159304`: Fix :exc:`AttributeError` in :meth:`email.message.EmailMessage." +"get_body` when a nested ``multipart`` part is malformed and its payload is a " +"string." +msgstr "" + +#: ../NEWS:75 +msgid "" +":gh:`159225`: Prevent ``input`` calls in PyREPL from modifying readline " +"history." +msgstr "" + +#: ../NEWS:78 +msgid "" +":gh:`159044`: Restore the previous behaviour of :meth:`http.client." +"HTTPConnection.set_tunnel` where header values that are not strings (such " +"as :const:`None`, :class:`int` or other objects) are converted with :class:" +"`str` instead of raising :exc:`AttributeError` when the request is sent." +msgstr "" + +#: ../NEWS:84 +msgid "" +":gh:`159184`: Fix :func:`marshal.dumps` raising :exc:`MemoryError` for a set " +"or frozenset containing several complex NaNs, which also made it impossible " +"to write a :file:`.pyc` file for source code containing such a constant." +msgstr "" + +#: ../NEWS:89 +msgid "" +":gh:`159185`: Fix a crash in :func:`marshal.dumps` and :func:`marshal.dump` " +"when a set is modified while its elements are serialized, for example by " +"the :meth:`~object.__buffer__` method of one of its elements. :exc:" +"`RuntimeError` is now raised." +msgstr "" + +#: ../NEWS:94 +msgid "" +":gh:`87720`: Fixed error in :mod:`email` new policies where header folding " +"failed to detect the need to re-quote text obtained from encoded words in " +"certain cases." +msgstr "" + +#: ../NEWS:98 +msgid "" +":gh:`158929`: Fix crash when calling :func:`syslog.syslog` while a " +"subinterpreter in another thread calls :func:`syslog.openlog` or :func:" +"`syslog.closelog`." +msgstr "" + +#: ../NEWS:102 +msgid "" +":gh:`158893`: Make :func:`os.strerror` thread-safe: use the reentrant " +"``strerror_r()`` function if available. Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:105 +msgid "" +":gh:`158539`: Fix macOS runtime section lookup for remote debugging when " +"virtual memory region sizes differ from Mach-O segment file sizes." +msgstr "" + +#: ../NEWS:108 +msgid "" +":gh:`156321`: Fix :func:`asyncio.shield` reporting an exception from the " +"inner future through the loop exception handler as soon as it completes " +"after the shield was cancelled, even when the exception is retrieved " +"afterwards. The exception is now reported only if it is never retrieved, as " +"with any other future." +msgstr "" + +#: ../NEWS:114 +msgid "" +":gh:`158563`: Fix :func:`turtle.undo` after :func:`turtle.teleport` and " +"after an exception in :func:`turtle.circle`, :func:`turtle.dot` or :func:" +"`turtle.write`. Fix :func:`turtle.stamp`, :func:`turtle.clearstamp`, :func:" +"`turtle.clear` and :func:`turtle.reset` when the undo buffer is disabled." +msgstr "" + +#: ../NEWS:120 +msgid "" +":gh:`157364`: Fix a use-after-free in :class:`io.TextIOWrapper` when a call " +"to the underlying buffer reentrantly detaches it. Patched by Shamil Abdulaev." +msgstr "" + +#: ../NEWS:124 +msgid "" +":gh:`157242`: :class:`io.BytesIO` is no longer closed on ``write()`` and " +"``truncate()`` failure (:exc:`MemoryError`). Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:127 +msgid "" +":gh:`157146`: :mod:`linecache` can now read the source of a module that was " +"imported from a zip archive on :data:`sys.path` when given only the file " +"name, as :mod:`pdb`, :mod:`warnings` and :mod:`doctest` do." +msgstr "" + +#: ../NEWS:131 +msgid "" +":gh:`156920`: Fix :mod:`asyncio` on Windows: closing a :class:`~asyncio." +"DatagramTransport` under :class:`~asyncio.ProactorEventLoop` while datagrams " +"were still queued, or while an in-flight write failed right as ``close()`` " +"was draining the buffer, could strand the queued data and never call " +"``connection_lost()``, hanging the close indefinitely." +msgstr "" + +#: ../NEWS:138 +msgid "" +":gh:`156698`: Fix :class:`asyncio.ProactorEventLoop` UDP transports so that " +"a write error no longer strands a paused protocol: the write loop is now " +"rescheduled when data remains buffered, and the protocol is resumed when the " +"buffer has drained." +msgstr "" + +#: ../NEWS:143 +msgid "" +":gh:`156568`: :func:`zipapp.create_archive` now correctly sets the " +"executable bit on the target archive when copying a zipapp where the target " +"is a path-like object." +msgstr "" + +#: ../NEWS:147 +msgid "" +":gh:`155835`: :mod:`hashlib`: Fix data races when accessing :attr:`~hashlib." +"hash.digest_size` and :attr:`~hashlib.hash.block_size` on SHA-3 objects. " +"Patch by Bénédikt Tran." +msgstr "" + +#: ../NEWS:151 +msgid "" +":gh:`155717`: :mod:`multiprocessing`'s default start method is now :ref:" +"`\"spawn\" ` instead of ``\"forkserver\"`` " +"when there is no writable temporary directory, such as on a read-only file " +"system. Previously starting a process failed with an :exc:`OSError` there. " +"Patch by Bénédikt Tran." +msgstr "" + +#: ../NEWS:157 +msgid "" +":gh:`150449`: Fix :class:`sqlite3.Blob` slices with a negative step. Reading " +"or writing such a slice raised :exc:`SystemError`. It now raises :exc:" +"`ValueError`." +msgstr "" + +#: ../NEWS:161 +msgid "" +":gh:`154523`: Fixed data-race when calling :meth:`io.TextIOBase.detach` in :" +"term:`free-threaded build`." +msgstr "" + +#: ../NEWS:164 +msgid "" +":gh:`82535`: :class:`logging.handlers.SysLogHandler` no longer fails if the " +"address cannot be resolved when the handler is created. The address is " +"resolved again when a record is emitted." +msgstr "" + +#: ../NEWS:168 +msgid "" +":gh:`154194`: Fix the sampling profiler dropping entire samples when a non-" +"fatal read fails; frames now keep any readable metadata, and long funcnames " +"and filenames are truncated instead. Patch by Maurycy Pawłowski-Wieroński." +msgstr "" + +#: ../NEWS:173 +msgid "" +":gh:`152754`: Fix a crash when the same :func:`os.scandir` iterator is used " +"concurrently from multiple threads. It no longer releases the directory " +"handle while another thread is reading from it. Sharing an iterator between " +"threads remains subject to race conditions: which entries each thread " +"receives is unspecified." +msgstr "" + +#: ../NEWS:179 +msgid "" +":gh:`153364`: Make frame, coroutine and task-waiter walks iterative and " +"bounded, avoiding potential hangs and stack overflows. Fix asyncio task " +"inspection when awaited-by sets contain removed entries. Patch by Maurycy " +"Pawłowski-Wieroński." +msgstr "" + +#: ../NEWS:184 +msgid "" +":gh:`152692`: Fix :func:`annotationlib.type_repr` returning a string such as " +"``None.list.append`` for bound built-in methods, whose ``__module__`` is " +"``None``. It now returns the qualified name, as it already did for other " +"builtins." +msgstr "" + +#: ../NEWS:189 +msgid "" +":gh:`133998`: Fix :func:`tarfile.open` in streaming write mode (``w|gz``) " +"raising :exc:`struct.error` when given an *mtime* outside the range of the " +"gzip header's 32-bit timestamp field. Out-of-range values are now stored as " +"``0``, matching :mod:`gzip`." +msgstr "" + +#: ../NEWS:194 ../NEWS:2079 +msgid "" +":gh:`143008`: Fix race conditions when re-initializing a :class:`io." +"TextIOWrapper` object." +msgstr "" + +#: ../NEWS:197 +msgid "" +":gh:`143008`: Fix crash in :class:`io.TextIOWrapper` when reentrant :meth:" +"`io.TextIOBase.detach` is called reentrantly from the underlying buffer." +msgstr "" + +#: ../NEWS:201 +msgid "" +":gh:`133998`: Fix :exc:`struct.error` exception when creating a file with :" +"class:`gzip.GzipFile` or compressing data with :func:`gzip.compress` if the " +"system time is outside the range 00:00:00 UTC, January 1, 1970 through " +"06:28:15 UTC, February 7, 2106, or explicitly passed *mtime* argument is " +"outside the range ``0`` to ``2**32-1``." +msgstr "" + +#: ../NEWS:208 ../NEWS:809 ../NEWS:1778 ../NEWS:2193 ../NEWS:2522 ../NEWS:2983 +#: ../NEWS:3394 ../NEWS:4112 ../NEWS:4632 ../NEWS:4981 ../NEWS:5163 +#: ../NEWS:6041 ../NEWS:6631 ../NEWS:7091 ../NEWS:7669 ../NEWS:8516 +#: ../NEWS:9136 ../NEWS:10712 ../NEWS:12307 ../NEWS:12772 ../NEWS:13250 +#: ../NEWS:13787 ../NEWS:14602 ../NEWS:17125 ../NEWS:18652 ../NEWS:19097 +#: ../NEWS:19368 ../NEWS:19647 ../NEWS:20058 ../NEWS:20383 ../NEWS:20815 +#: ../NEWS:22571 ../NEWS:23816 ../NEWS:24422 ../NEWS:24949 ../NEWS:25312 +#: ../NEWS:25776 ../NEWS:26172 ../NEWS:26671 ../NEWS:28334 ../NEWS:29413 +#: ../NEWS:29881 ../NEWS:30173 ../NEWS:30449 ../NEWS:30814 ../NEWS:31275 +#: ../NEWS:31747 ../NEWS:32791 ../NEWS:33339 ../NEWS:33783 ../NEWS:34241 +#: ../NEWS:34645 ../NEWS:35068 ../NEWS:35383 ../NEWS:36728 ../NEWS:38034 +#: ../NEWS:38501 ../NEWS:38979 ../NEWS:39221 ../NEWS:41405 ../NEWS:42381 +#: ../NEWS:42591 ../NEWS:42741 ../NEWS:42959 ../NEWS:43204 ../NEWS:43529 +#: ../NEWS:43869 ../NEWS:44352 ../NEWS:44695 ../NEWS:46305 ../NEWS:47059 +#: ../NEWS:47415 ../NEWS:47812 ../NEWS:48211 ../NEWS:48780 ../NEWS:49100 +#: ../NEWS:49256 ../NEWS:49359 ../NEWS:50718 ../NEWS:50969 ../NEWS:52136 +#: ../NEWS:52696 ../NEWS:53363 ../NEWS:54089 ../NEWS:54650 ../NEWS:54903 +#: ../NEWS:55102 ../NEWS:55413 ../NEWS:57614 +msgid "Documentation" +msgstr "" + +#: ../NEWS:210 +msgid "" +":gh:`142083`: Document the ``'w'`` type code in the :class:`array.array` " +"docstring, so that it lists the same type codes as :data:`array.typecodes` " +"and the :mod:`array` module documentation." +msgstr "" + +#: ../NEWS:215 ../NEWS:816 ../NEWS:1789 ../NEWS:2203 ../NEWS:2291 ../NEWS:3000 +#: ../NEWS:3089 ../NEWS:3634 ../NEWS:4835 ../NEWS:5043 ../NEWS:5317 +#: ../NEWS:5603 ../NEWS:6428 ../NEWS:6808 ../NEWS:7372 ../NEWS:7922 +#: ../NEWS:8270 ../NEWS:8738 ../NEWS:9423 ../NEWS:12783 ../NEWS:13258 +#: ../NEWS:13801 ../NEWS:14616 ../NEWS:15208 ../NEWS:17172 ../NEWS:18672 +#: ../NEWS:19103 ../NEWS:19377 ../NEWS:19654 ../NEWS:20072 ../NEWS:20404 +#: ../NEWS:20823 ../NEWS:22657 ../NEWS:23853 ../NEWS:24448 ../NEWS:24955 +#: ../NEWS:25318 ../NEWS:25789 ../NEWS:26203 ../NEWS:26706 ../NEWS:28469 +#: ../NEWS:29436 ../NEWS:29896 ../NEWS:30182 ../NEWS:30458 ../NEWS:30823 +#: ../NEWS:31287 ../NEWS:31768 ../NEWS:32833 ../NEWS:33356 ../NEWS:33797 +#: ../NEWS:34260 ../NEWS:34670 ../NEWS:35397 ../NEWS:36832 ../NEWS:38083 +#: ../NEWS:38536 ../NEWS:38993 ../NEWS:39232 ../NEWS:41570 ../NEWS:42606 +#: ../NEWS:42760 ../NEWS:42976 ../NEWS:43228 ../NEWS:43542 ../NEWS:43874 +#: ../NEWS:44358 ../NEWS:46353 ../NEWS:47097 ../NEWS:47210 ../NEWS:47435 +#: ../NEWS:47825 ../NEWS:48223 ../NEWS:48802 ../NEWS:49113 ../NEWS:49364 +#: ../NEWS:49499 ../NEWS:49770 ../NEWS:50200 ../NEWS:50473 ../NEWS:50727 +#: ../NEWS:50981 ../NEWS:52154 ../NEWS:52714 ../NEWS:53368 ../NEWS:53489 +#: ../NEWS:54112 ../NEWS:54674 ../NEWS:54918 ../NEWS:55095 ../NEWS:55404 +#: ../NEWS:55633 ../NEWS:55843 ../NEWS:57654 +msgid "Tests" +msgstr "" + +#: ../NEWS:217 +msgid "" +":gh:`159293`: Restore the recursion limit after the free-threading recursion-" +"limit race test to avoid failures in subsequent tests run in the same " +"process." +msgstr "" + +#: ../NEWS:221 +msgid "" +":gh:`159211`: The iOS testbed no longer gathers simulator diagnostics when a " +"test run fails." +msgstr "" + +#: ../NEWS:224 +msgid "" +":gh:`157628`: In regrtest, only consider that a test leaks if all test runs " +"leak at least one file descriptor. For example, ignore \"[0, 1, -1] file " +"descriptors, sum=0\" deltas, instead of reporting a leak. Patch by Victor " +"Stinner." +msgstr "" + +#: ../NEWS:229 +msgid "" +":gh:`75876`: A test decorated with :func:`~test.support.bigmemtest` now runs " +"in a subprocess if it really allocates the memory it asks for (that is, if " +"the ``-M`` option is used), so that the memory it uses and the address space " +"it fragments are released when it ends. A dummy run stays in the process. " +"The separate memory watchdog process is no longer used." +msgstr "" + +#: ../NEWS:236 ../NEWS:835 ../NEWS:1824 ../NEWS:2211 ../NEWS:2532 ../NEWS:3015 +#: ../NEWS:3524 ../NEWS:4381 ../NEWS:4675 ../NEWS:4813 ../NEWS:5024 +#: ../NEWS:5264 ../NEWS:5567 ../NEWS:6359 ../NEWS:6746 ../NEWS:7326 +#: ../NEWS:7894 ../NEWS:8214 ../NEWS:8679 ../NEWS:9314 ../NEWS:11659 +#: ../NEWS:12313 ../NEWS:12809 ../NEWS:13290 ../NEWS:13811 ../NEWS:14656 +#: ../NEWS:15242 ../NEWS:17420 ../NEWS:18694 ../NEWS:18921 ../NEWS:19113 +#: ../NEWS:19390 ../NEWS:19660 ../NEWS:20084 ../NEWS:20425 ../NEWS:20651 +#: ../NEWS:20843 ../NEWS:22779 ../NEWS:23411 ../NEWS:23884 ../NEWS:24472 +#: ../NEWS:24977 ../NEWS:25171 ../NEWS:25362 ../NEWS:25816 ../NEWS:26225 +#: ../NEWS:26755 ../NEWS:28591 ../NEWS:29459 ../NEWS:29905 ../NEWS:30188 +#: ../NEWS:30468 ../NEWS:30845 ../NEWS:31322 ../NEWS:31784 ../NEWS:32884 +#: ../NEWS:33365 ../NEWS:33823 ../NEWS:34276 ../NEWS:34679 ../NEWS:35081 +#: ../NEWS:35452 ../NEWS:37002 ../NEWS:38119 ../NEWS:38590 ../NEWS:39006 +#: ../NEWS:41737 ../NEWS:42393 ../NEWS:42615 ../NEWS:42766 ../NEWS:42986 +#: ../NEWS:43233 ../NEWS:43562 ../NEWS:44385 ../NEWS:44705 ../NEWS:46416 +#: ../NEWS:47105 ../NEWS:47215 ../NEWS:47450 ../NEWS:47842 ../NEWS:47978 +#: ../NEWS:48239 ../NEWS:48760 ../NEWS:48844 ../NEWS:49135 ../NEWS:49200 +#: ../NEWS:49372 ../NEWS:49490 ../NEWS:49759 ../NEWS:50214 ../NEWS:50500 +#: ../NEWS:50688 ../NEWS:51001 ../NEWS:52197 ../NEWS:52752 ../NEWS:53414 +#: ../NEWS:54135 ../NEWS:54687 ../NEWS:54747 ../NEWS:54764 ../NEWS:55006 +#: ../NEWS:55111 ../NEWS:55624 ../NEWS:55838 ../NEWS:55973 ../NEWS:57505 +msgid "Build" +msgstr "" + +#: ../NEWS:238 +msgid "" +":gh:`159440`: The version string reported by ``sys.version`` no longer " +"carries a spurious ``-dirty`` suffix when CPython is built out-of-tree from " +"a clean git checkout: the build stamp now checks the source tree instead of " +"the build directory." +msgstr "" + +#: ../NEWS:243 +msgid "" +":gh:`158683`: Fix the :file:`Modules/Setup` entry for the :mod:`!_zstd` " +"module by adding missing source files." +msgstr "" + +#: ../NEWS:247 ../NEWS:863 ../NEWS:1850 ../NEWS:2217 ../NEWS:2552 ../NEWS:3037 +#: ../NEWS:3077 ../NEWS:3605 ../NEWS:4427 ../NEWS:4466 ../NEWS:4595 +#: ../NEWS:5036 ../NEWS:5291 ../NEWS:5585 ../NEWS:6404 ../NEWS:6779 +#: ../NEWS:8254 ../NEWS:8700 ../NEWS:9370 ../NEWS:12335 ../NEWS:12819 +#: ../NEWS:13316 ../NEWS:13826 ../NEWS:14685 ../NEWS:15266 ../NEWS:17507 +#: ../NEWS:18732 ../NEWS:19121 ../NEWS:19407 ../NEWS:19693 ../NEWS:20102 +#: ../NEWS:20447 ../NEWS:20879 ../NEWS:22893 ../NEWS:23899 ../NEWS:24504 +#: ../NEWS:25007 ../NEWS:25402 ../NEWS:25863 ../NEWS:26353 ../NEWS:26810 +#: ../NEWS:28637 ../NEWS:29468 ../NEWS:29927 ../NEWS:30211 ../NEWS:30494 +#: ../NEWS:31346 ../NEWS:31791 ../NEWS:32905 ../NEWS:33375 ../NEWS:33835 +#: ../NEWS:34293 ../NEWS:34684 ../NEWS:35462 ../NEWS:37074 ../NEWS:38142 +#: ../NEWS:38651 ../NEWS:39020 ../NEWS:39265 ../NEWS:41855 ../NEWS:42400 +#: ../NEWS:42783 ../NEWS:42991 ../NEWS:43238 ../NEWS:43577 ../NEWS:43883 +#: ../NEWS:44418 ../NEWS:46528 ../NEWS:47125 ../NEWS:47456 ../NEWS:47867 +#: ../NEWS:48245 ../NEWS:48816 ../NEWS:49065 ../NEWS:49195 ../NEWS:49485 +#: ../NEWS:49726 ../NEWS:50256 ../NEWS:50488 ../NEWS:50991 ../NEWS:52260 +#: ../NEWS:52765 ../NEWS:53399 ../NEWS:54194 ../NEWS:54241 ../NEWS:54698 +#: ../NEWS:55987 ../NEWS:57801 +msgid "Windows" +msgstr "" + +#: ../NEWS:249 +msgid "" +":gh:`157906`: Fix an incorrect architecture macro check that prevented CPU " +"prefetching in the free-threaded garbage collector on 32-bit Windows builds." +msgstr "" + +#: ../NEWS:253 +msgid "" +":gh:`157789`: Use compiler option ``-Og`` in case of clang-cl debug builds " +"on Windows to reduce stack usage. Patch by Chris Eibl." +msgstr "" + +#: ../NEWS:257 ../NEWS:1015 ../NEWS:1938 ../NEWS:2239 ../NEWS:3056 ../NEWS:3515 +#: ../NEWS:4353 ../NEWS:4669 ../NEWS:4802 ../NEWS:5018 ../NEWS:5247 +#: ../NEWS:5561 ../NEWS:6300 ../NEWS:6738 ../NEWS:7277 ../NEWS:7829 +#: ../NEWS:8196 ../NEWS:8629 ../NEWS:9291 ../NEWS:11404 ../NEWS:12379 +#: ../NEWS:12848 ../NEWS:13356 ../NEWS:13884 ../NEWS:14791 ../NEWS:15315 +#: ../NEWS:17632 ../NEWS:18790 ../NEWS:19135 ../NEWS:19438 ../NEWS:20142 +#: ../NEWS:20480 ../NEWS:20902 ../NEWS:23057 ../NEWS:23933 ../NEWS:24545 +#: ../NEWS:25031 ../NEWS:25429 ../NEWS:25875 ../NEWS:26383 ../NEWS:26836 +#: ../NEWS:28746 ../NEWS:29544 ../NEWS:29940 ../NEWS:30228 ../NEWS:30522 +#: ../NEWS:30887 ../NEWS:31400 ../NEWS:31824 ../NEWS:33002 ../NEWS:33413 +#: ../NEWS:33874 ../NEWS:34347 ../NEWS:34718 ../NEWS:35105 ../NEWS:35492 +#: ../NEWS:37342 ../NEWS:38186 ../NEWS:38724 ../NEWS:39068 ../NEWS:42223 +#: ../NEWS:42313 ../NEWS:43029 ../NEWS:43599 ../NEWS:43896 ../NEWS:44489 +#: ../NEWS:44751 ../NEWS:46823 ../NEWS:47198 ../NEWS:47531 ../NEWS:47951 +#: ../NEWS:48754 ../NEWS:49083 ../NEWS:49251 ../NEWS:49752 ../NEWS:50191 +#: ../NEWS:50681 ../NEWS:51010 ../NEWS:52299 ../NEWS:52774 ../NEWS:53354 +#: ../NEWS:55666 ../NEWS:55981 ../NEWS:57585 +msgid "C API" +msgstr "" + +#: ../NEWS:259 +msgid "" +":gh:`158810`: Fix :c:macro:`Py_ARRAY_LENGTH()` macro on C++: do not use " +"``__builtin_types_compatible_p()`` on C++. Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:262 +msgid "" +":gh:`158451`: Fix :c:func:`!_PyUnicodeWriter_WriteLatin1String` when the " +"writer buffer kind is UCS-2 or UCS-4. Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:265 +msgid "" +":gh:`142217`: Add tests on the undocumented and deprecated " +"``_Py_Identifier`` C API. Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:270 +msgid "Python 3.14.8 final" +msgstr "" + +#: ../NEWS:272 +msgid "*Release date: 2026-09-30*" +msgstr "" + +#: ../NEWS:277 +msgid "" +":gh:`158446`: Fix a crash or incorrect output that could occur when " +"formatting a :class:`float` or :class:`complex` with a precision close to " +"the platform's ``INT_MAX``. :c:func:`PyOS_double_to_string` now raises :exc:" +"`ValueError` for any precision of that magnitude, regardless of presentation " +"type or value, as the format string parsers already did for precisions above " +"``INT_MAX``." +msgstr "" + +#: ../NEWS:284 +msgid "" +":gh:`156793`: :mod:`asyncio`: :meth:`loop.start_tls() ` and :meth:`loop.create_connection() ` now validate the *server_hostname* argument if an :class:" +"`ssl.SSLContext` is passed with *check_hostname* set to ``True``." +msgstr "" + +#: ../NEWS:290 +msgid "" +":gh:`156793`: :meth:`ssl.SSLContext.wrap_bio` now validates its " +"*server_side*, *server_hostname* and *session* arguments similar to :meth:" +"`ssl.SSLContext.wrap_socket`." +msgstr "" + +#: ../NEWS:294 +msgid "" +"In particular, a context with :attr:`~ssl.SSLContext.check_hostname` enabled " +"and no *server_hostname* passed to :meth:`!wrap_bio` now raises :exc:" +"`ValueError` instead of completing a handshake that verified the certificate " +"chain without verifying the peer's identity, with no indication that the " +"check had been skipped." +msgstr "" + +#: ../NEWS:300 +msgid "" ":gh:`157953`: Update bundled `libexpat `_ to " "version 2.8.5." msgstr "" -#: ../NEWS:13 +#: ../NEWS:303 msgid "" ":gh:`156002`: Bound the amount of data :mod:`zipfile` decompresses per read " "for members compressed with bzip2, LZMA, or Zstandard, matching the existing " @@ -62,7 +699,7 @@ msgid "" "unbounded allocation even when read in small chunks." msgstr "" -#: ../NEWS:18 +#: ../NEWS:308 msgid "" ":gh:`155999`: Fix the :mod:`tarfile` ``tar`` and ``data`` extraction filters " "creating directories outside the destination for members whose name leaves " @@ -71,14 +708,24 @@ msgid "" "created from the name as given." msgstr "" -#: ../NEWS:24 +#: ../NEWS:314 +msgid "" +":gh:`156293`: Fix a crash in :mod:`ssl` when an :attr:`~ssl.SSLContext." +"sni_callback` switches a connection to another :class:`~ssl.SSLContext` and " +"the context that carries the callback is no longer referenced by the " +"application. Servers that keep their ``sni_callback`` context alive (the " +"usual case when it wraps the listening socket or is stored on the server " +"object) were not affected. This addresses :cve:`2026-19445`." +msgstr "" + +#: ../NEWS:322 msgid "" ":gh:`155292`: Change the :mod:`stringprep` module and :mod:`encodings.idna` " "codec to not consider Unicode codepoint attributes beyond those defined in :" "rfc:`3454`." msgstr "" -#: ../NEWS:28 +#: ../NEWS:326 msgid "" ":gh:`155694`: Fix :cve:`2026-15806` by scoping :class:`~urllib.request." "HTTPPasswordMgr` credentials to the URL scheme, preventing credentials " @@ -86,66 +733,34 @@ msgid "" "without a scheme continue to match any scheme." msgstr "" -#: ../NEWS:35 ../NEWS:773 ../NEWS:1688 ../NEWS:1951 ../NEWS:2042 ../NEWS:2282 -#: ../NEWS:3086 ../NEWS:3274 ../NEWS:3812 ../NEWS:3824 ../NEWS:3862 -#: ../NEWS:3875 ../NEWS:3911 ../NEWS:3984 ../NEWS:4014 ../NEWS:4229 -#: ../NEWS:4324 ../NEWS:4432 ../NEWS:4443 ../NEWS:4472 ../NEWS:4673 -#: ../NEWS:4859 ../NEWS:4877 ../NEWS:4901 ../NEWS:4916 ../NEWS:5194 -#: ../NEWS:5737 ../NEWS:5778 ../NEWS:5840 ../NEWS:6324 ../NEWS:6408 -#: ../NEWS:6790 ../NEWS:6898 ../NEWS:6958 ../NEWS:7366 ../NEWS:7402 -#: ../NEWS:7503 ../NEWS:7793 ../NEWS:7818 ../NEWS:7850 ../NEWS:8209 -#: ../NEWS:8255 ../NEWS:8836 ../NEWS:8856 ../NEWS:8873 ../NEWS:10453 -#: ../NEWS:10477 ../NEWS:10572 ../NEWS:10745 ../NEWS:10817 ../NEWS:10880 -#: ../NEWS:10898 ../NEWS:11065 ../NEWS:11466 ../NEWS:11494 ../NEWS:12108 -#: ../NEWS:12219 ../NEWS:12623 ../NEWS:12665 ../NEWS:12678 ../NEWS:13070 -#: ../NEWS:13627 ../NEWS:14501 ../NEWS:15162 ../NEWS:17640 ../NEWS:17770 -#: ../NEWS:18537 ../NEWS:18578 ../NEWS:18614 ../NEWS:18855 ../NEWS:19164 -#: ../NEWS:19413 ../NEWS:19462 ../NEWS:19527 ../NEWS:19863 ../NEWS:19901 -#: ../NEWS:20211 ../NEWS:20344 ../NEWS:20671 ../NEWS:20707 ../NEWS:20783 -#: ../NEWS:20828 ../NEWS:21021 ../NEWS:21039 ../NEWS:21056 ../NEWS:21181 -#: ../NEWS:21304 ../NEWS:21319 ../NEWS:22913 ../NEWS:23058 ../NEWS:23103 -#: ../NEWS:23673 ../NEWS:23749 ../NEWS:23774 ../NEWS:24286 ../NEWS:24369 -#: ../NEWS:24421 ../NEWS:24446 ../NEWS:24745 ../NEWS:24836 ../NEWS:24863 -#: ../NEWS:25142 ../NEWS:25192 ../NEWS:25216 ../NEWS:25281 ../NEWS:25594 -#: ../NEWS:25652 ../NEWS:26082 ../NEWS:26635 ../NEWS:26669 ../NEWS:26681 -#: ../NEWS:26740 ../NEWS:26760 ../NEWS:26792 ../NEWS:26922 ../NEWS:26973 -#: ../NEWS:26993 ../NEWS:27092 ../NEWS:28621 ../NEWS:28658 ../NEWS:28749 -#: ../NEWS:29303 ../NEWS:29324 ../NEWS:29719 ../NEWS:29764 ../NEWS:29789 -#: ../NEWS:29964 ../NEWS:30017 ../NEWS:30227 ../NEWS:30269 ../NEWS:30302 -#: ../NEWS:30607 ../NEWS:30659 ../NEWS:30704 ../NEWS:30715 ../NEWS:31202 -#: ../NEWS:31281 ../NEWS:31568 ../NEWS:31590 ../NEWS:31618 ../NEWS:31637 -#: ../NEWS:31650 ../NEWS:31666 ../NEWS:31680 ../NEWS:31692 ../NEWS:31710 -#: ../NEWS:31751 ../NEWS:31770 ../NEWS:31819 ../NEWS:31849 ../NEWS:31963 -#: ../NEWS:31983 ../NEWS:32807 ../NEWS:33169 ../NEWS:33613 ../NEWS:34123 -#: ../NEWS:34464 ../NEWS:34831 ../NEWS:35247 ../NEWS:37166 ../NEWS:37927 -#: ../NEWS:38465 ../NEWS:38771 ../NEWS:39032 ../NEWS:42012 ../NEWS:42124 -#: ../NEWS:42337 ../NEWS:42528 ../NEWS:42738 ../NEWS:42982 ../NEWS:43301 -#: ../NEWS:43605 ../NEWS:44205 ../NEWS:44494 ../NEWS:46586 ../NEWS:46923 -#: ../NEWS:47240 ../NEWS:47689 ../NEWS:48178 ../NEWS:48520 ../NEWS:48544 -#: ../NEWS:48868 ../NEWS:48898 ../NEWS:48962 ../NEWS:49076 ../NEWS:49200 -#: ../NEWS:49468 ../NEWS:49977 ../NEWS:50224 ../NEWS:50438 ../NEWS:50730 -#: ../NEWS:52036 ../NEWS:52097 ../NEWS:52498 ../NEWS:53171 ../NEWS:53214 -#: ../NEWS:53922 ../NEWS:53940 ../NEWS:54463 ../NEWS:54498 ../NEWS:54526 -#: ../NEWS:54618 ../NEWS:54705 ../NEWS:54810 ../NEWS:54853 ../NEWS:55129 -#: ../NEWS:55364 ../NEWS:55550 ../NEWS:55689 -msgid "Core and Builtins" +#: ../NEWS:335 +msgid "" +":gh:`158364`: Fix crash when :func:`sys._current_frames` or :func:`sys." +"_current_exceptions` is called while another interpreter is running." msgstr "" -#: ../NEWS:37 +#: ../NEWS:339 msgid "" ":gh:`158254`: Reverse iterators over a :class:`dict` and its views now " "raise :exc:`RuntimeError` if the dictionary's keys change during iteration, " "like forward iterators, instead of yielding entries for the new keys." msgstr "" -#: ../NEWS:41 +#: ../NEWS:343 +msgid "" +":gh:`157838`: Merge biased reference counts on behalf of threads that are " +"detached instead of waiting for them to attach again, in the free-threaded " +"build." +msgstr "" + +#: ../NEWS:347 msgid "" ":gh:`157378`: Fix ``SyntaxError.offset`` and ``SyntaxError.end_offset`` for " "the \"Non-UTF-8 code starting with ...\" error when a non-ASCII character " "precedes the invalid byte on the same line. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:45 +#: ../NEWS:351 msgid "" ":gh:`156762`: Fix undefined behaviour in :class:`operator.methodcaller`: " "its :c:member:`~PyTypeObject.tp_clear` slot function returned ``void`` " @@ -153,7 +768,7 @@ msgid "" "incompatible function type. Patched by Shamil Abdulaev." msgstr "" -#: ../NEWS:50 +#: ../NEWS:356 msgid "" ":gh:`157377`: Fix :func:`gc.get_count` on the free-threaded build resetting " "the thread-local allocation counter that schedules automatic garbage " @@ -161,76 +776,76 @@ msgid "" "garbage from ever being collected." msgstr "" -#: ../NEWS:55 +#: ../NEWS:361 msgid "" ":gh:`156091`: Fix a crash when compiling deeply nested inlined list, set, or " "dict comprehensions. A :exc:`SyntaxError` is now raised when the nesting " "exceeds the compiler's static block limit." msgstr "" -#: ../NEWS:59 +#: ../NEWS:365 msgid "" ":gh:`156894`: Fix the position of syntax errors which cover a range if the " "line contains non-ASCII characters before the error." msgstr "" -#: ../NEWS:62 +#: ../NEWS:368 msgid "" ":gh:`155525`: Fix quadratic-time tokenization of modules containing many f-" "strings or t-strings." msgstr "" -#: ../NEWS:65 +#: ../NEWS:371 msgid "" ":gh:`156689`: Fix an out-of-bounds read in :func:`compile` and :func:`ast." "parse` when an AST object is passed with ``mode='func_type'``." msgstr "" -#: ../NEWS:68 +#: ../NEWS:374 msgid "" ":gh:`156371`: Fix missing ``PyRefTracer_DESTROY`` events for trashcan " "deferred objects. Patch by Donghee Na." msgstr "" -#: ../NEWS:71 +#: ../NEWS:377 msgid "" ":gh:`156114`: Fix a crash in the perf trampoline when a code object has a " "name or filename that cannot be encoded to UTF-8. Patched by Shamil Abdulaev." msgstr "" -#: ../NEWS:75 +#: ../NEWS:381 msgid "" ":gh:`156126`: Fix a crash when importing a module whose name contains " "characters that cannot be encoded to UTF-8 (such as lone surrogates) while :" "option:`-X importtime <-X>` is enabled." msgstr "" -#: ../NEWS:79 +#: ../NEWS:385 msgid "" ":gh:`155752`: Fix a crash when a :class:`types.GenericAlias` argument gains " "a ``__typing_subst__`` hook after the alias parameters have been cached." msgstr "" -#: ../NEWS:82 +#: ../NEWS:388 msgid "" ":gh:`155504`: Fix a crash when thread state creation fails before the thread " "state is fully initialized." msgstr "" -#: ../NEWS:85 +#: ../NEWS:391 msgid "" ":gh:`155526`: Fix spurious :exc:`OverflowError` for ``abs(nanj)`` in case :c:" "data:`errno` was previously set to :c:macro:`!ERANGE` by some library call. " "Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:89 +#: ../NEWS:395 msgid "" ":gh:`129752`: Don't update adaptive counters in the free-threaded build when " "thread-local bytecode is disabled (``-X tlbc=0``). Patch by Donghee Na." msgstr "" -#: ../NEWS:92 +#: ../NEWS:398 msgid "" ":gh:`155515`: Track the internal HAMT iterators, which back iteration over " "a :class:`contextvars.Context`, with the garbage collector. A reference " @@ -238,26 +853,26 @@ msgid "" "whole context it iterated over." msgstr "" -#: ../NEWS:97 +#: ../NEWS:403 msgid "" ":gh:`154937`: Fix a data race on thread handle identifiers when ``_thread." "_shutdown()`` runs concurrently with the startup of non-daemon threads in " "the :term:`free-threaded build`." msgstr "" -#: ../NEWS:101 +#: ../NEWS:407 msgid "" ":gh:`154902`: Fix a crash when ``__conditional_annotations__`` is rebound to " "a non-set object." msgstr "" -#: ../NEWS:104 +#: ../NEWS:410 msgid "" ":gh:`151464`: Exclude invalid token ``<>`` from :mod:`tokenize` output. :exc:" "`SyntaxError` for ``<>`` now suggests ``!=``." msgstr "" -#: ../NEWS:107 +#: ../NEWS:413 msgid "" ":gh:`154719`: Trailing whitespace in a t-string interpolation expression is " "now preserved in :attr:`string.templatelib.Interpolation.expression`, up to " @@ -269,14 +884,14 @@ msgid "" "containing comments." msgstr "" -#: ../NEWS:116 +#: ../NEWS:422 msgid "" ":gh:`153578`: Fix an out-of-bounds write in :meth:`bytearray.extend` when " "the bytearray is resized while the argument's :meth:`~object.__buffer__` is " "being acquired, for example by another thread. Patch by tonghuaroot." msgstr "" -#: ../NEWS:120 +#: ../NEWS:426 msgid "" ":gh:`148817`: Fold large constant list and set literals used as the iterable " "of a :keyword:`for` loop or ``in``/``not in`` test into a constant :class:" @@ -284,13 +899,13 @@ msgid "" "the AST optimizer that was lost when constant folding moved to the CFG." msgstr "" -#: ../NEWS:126 +#: ../NEWS:432 msgid "" ":gh:`146096`: Fixed segmentation fault when called repr for " "BaseExceptionGroup with empty or 1-size tuple args." msgstr "" -#: ../NEWS:129 +#: ../NEWS:435 msgid "" ":gh:`85260`: :func:`compile` now raises :exc:`ValueError` instead of " "crashing on a debug build if an identifier field of an AST node (such as the " @@ -298,73 +913,27 @@ msgid "" "``\"None\"``, ``\"True\"`` or ``\"False\"``." msgstr "" -#: ../NEWS:135 ../NEWS:909 ../NEWS:1757 ../NEWS:1959 ../NEWS:2105 ../NEWS:2444 -#: ../NEWS:2823 ../NEWS:3246 ../NEWS:3280 ../NEWS:3370 ../NEWS:3818 -#: ../NEWS:3856 ../NEWS:3869 ../NEWS:3903 ../NEWS:3978 ../NEWS:4004 -#: ../NEWS:4142 ../NEWS:4175 ../NEWS:4287 ../NEWS:4389 ../NEWS:4438 -#: ../NEWS:4466 ../NEWS:4568 ../NEWS:4756 ../NEWS:4870 ../NEWS:4895 -#: ../NEWS:4910 ../NEWS:5029 ../NEWS:5321 ../NEWS:5772 ../NEWS:5834 -#: ../NEWS:5982 ../NEWS:6141 ../NEWS:6402 ../NEWS:6520 ../NEWS:6893 -#: ../NEWS:6951 ../NEWS:7103 ../NEWS:7396 ../NEWS:7496 ../NEWS:7510 -#: ../NEWS:7616 ../NEWS:7811 ../NEWS:7843 ../NEWS:7982 ../NEWS:8244 -#: ../NEWS:8441 ../NEWS:8849 ../NEWS:8866 ../NEWS:8969 ../NEWS:9227 -#: ../NEWS:10471 ../NEWS:10566 ../NEWS:10739 ../NEWS:10810 ../NEWS:10873 -#: ../NEWS:10891 ../NEWS:11059 ../NEWS:11487 ../NEWS:11665 ../NEWS:12210 -#: ../NEWS:12225 ../NEWS:12658 ../NEWS:12671 ../NEWS:12694 ../NEWS:13180 -#: ../NEWS:13786 ../NEWS:14673 ../NEWS:15798 ../NEWS:17634 ../NEWS:17760 -#: ../NEWS:17856 ../NEWS:18571 ../NEWS:18620 ../NEWS:18935 ../NEWS:19225 -#: ../NEWS:19456 ../NEWS:19522 ../NEWS:19534 ../NEWS:19892 ../NEWS:19938 -#: ../NEWS:20369 ../NEWS:20699 ../NEWS:20778 ../NEWS:20821 ../NEWS:21015 -#: ../NEWS:21032 ../NEWS:21045 ../NEWS:21171 ../NEWS:21299 ../NEWS:21314 -#: ../NEWS:21341 ../NEWS:23049 ../NEWS:23121 ../NEWS:23742 ../NEWS:23768 -#: ../NEWS:23804 ../NEWS:24364 ../NEWS:24414 ../NEWS:24437 ../NEWS:24461 -#: ../NEWS:24830 ../NEWS:24853 ../NEWS:24870 ../NEWS:25186 ../NEWS:25211 -#: ../NEWS:25275 ../NEWS:25307 ../NEWS:25646 ../NEWS:25726 ../NEWS:26191 -#: ../NEWS:26660 ../NEWS:26674 ../NEWS:26733 ../NEWS:26752 ../NEWS:26786 -#: ../NEWS:26915 ../NEWS:26965 ../NEWS:26986 ../NEWS:27085 ../NEWS:27209 -#: ../NEWS:28650 ../NEWS:28743 ../NEWS:28763 ../NEWS:29318 ../NEWS:29401 -#: ../NEWS:29751 ../NEWS:29780 ../NEWS:29796 ../NEWS:30010 ../NEWS:30026 -#: ../NEWS:30262 ../NEWS:30276 ../NEWS:30312 ../NEWS:30653 ../NEWS:30699 -#: ../NEWS:30710 ../NEWS:30727 ../NEWS:31274 ../NEWS:31288 ../NEWS:31584 -#: ../NEWS:31600 ../NEWS:31625 ../NEWS:31643 ../NEWS:31660 ../NEWS:31675 -#: ../NEWS:31686 ../NEWS:31704 ../NEWS:31746 ../NEWS:31763 ../NEWS:31814 -#: ../NEWS:31843 ../NEWS:31956 ../NEWS:31975 ../NEWS:31992 ../NEWS:32865 -#: ../NEWS:33253 ../NEWS:33740 ../NEWS:34200 ../NEWS:34562 ../NEWS:34908 -#: ../NEWS:35564 ../NEWS:37330 ../NEWS:37997 ../NEWS:38540 ../NEWS:38835 -#: ../NEWS:39586 ../NEWS:41994 ../NEWS:42027 ../NEWS:42155 ../NEWS:42363 -#: ../NEWS:42554 ../NEWS:42759 ../NEWS:43057 ../NEWS:43378 ../NEWS:43703 -#: ../NEWS:44293 ../NEWS:44953 ../NEWS:46623 ../NEWS:46969 ../NEWS:47335 -#: ../NEWS:47659 ../NEWS:47762 ../NEWS:48225 ../NEWS:48612 ../NEWS:48915 -#: ../NEWS:48997 ../NEWS:49100 ../NEWS:49270 ../NEWS:49605 ../NEWS:50023 -#: ../NEWS:50241 ../NEWS:50478 ../NEWS:51015 ../NEWS:52042 ../NEWS:52060 -#: ../NEWS:52148 ../NEWS:52629 ../NEWS:53344 ../NEWS:54008 ../NEWS:54446 -#: ../NEWS:54473 ../NEWS:54511 ../NEWS:54531 ../NEWS:54638 ../NEWS:54732 -#: ../NEWS:54828 ../NEWS:54903 ../NEWS:55161 ../NEWS:55384 ../NEWS:55557 -#: ../NEWS:55915 -msgid "Library" -msgstr "" - -#: ../NEWS:137 +#: ../NEWS:443 msgid "" ":gh:`158169`: Fix :attr:`zlib.Decompress.unconsumed_tail` duplicating :attr:" "`~zlib.Decompress.unused_data` after end of stream when *max_length* was " "used." msgstr "" -#: ../NEWS:141 +#: ../NEWS:447 msgid "" ":gh:`157788`: Fix ``python -m asyncio ps`` failing on a process that has a " "task with a name longer than 255 characters." msgstr "" -#: ../NEWS:144 +#: ../NEWS:450 msgid "" ":gh:`157660`: Fix ``_remote_debugging`` reporting errors or incorrect line " "numbers in free-threaded builds when a thread-local bytecode array grows or " "gains entries after being cached." msgstr "" -#: ../NEWS:148 +#: ../NEWS:454 msgid "" ":gh:`157672`: Fix :mod:`tkinter` on macOS: creating a :class:`~tkinter.Tk` " "instance no longer replaces the Python handlers of SIGINT, SIGHUP and " @@ -372,14 +941,14 @@ msgid "" "`KeyboardInterrupt` again." msgstr "" -#: ../NEWS:153 +#: ../NEWS:459 msgid "" ":gh:`157639`: Fix a crash in :mod:`!cProfile` when an external timer re-" "enters the profiler. Profiling events raised while the external timer runs " "are now ignored." msgstr "" -#: ../NEWS:157 +#: ../NEWS:463 msgid "" ":gh:`69919`: :meth:`code.InteractiveInterpreter.runsource` and the REPL now " "report any exception raised by compiling the source, such as :exc:" @@ -387,14 +956,14 @@ msgid "" "of propagating it or printing a traceback of the REPL internals." msgstr "" -#: ../NEWS:162 +#: ../NEWS:468 msgid "" ":gh:`157451`: Fix :mod:`gettext` plural form selection when the ``Plural-" "Forms`` expression combines the unary ``!`` operator with a binary operator, " "for example ``!n + 1`` or ``2 * !n``. The latter raised :exc:`SyntaxError`." msgstr "" -#: ../NEWS:167 +#: ../NEWS:473 msgid "" ":gh:`157335`: Fix out-of-bounds write in ``mmap.mmap.__setitem__`` that " "could occur when converting the index or the assigned value (via :meth:" @@ -402,7 +971,7 @@ msgid "" "slice) resized or closed the mmap object during the assignment." msgstr "" -#: ../NEWS:172 +#: ../NEWS:478 msgid "" ":gh:`157406`: Fix the Python implementation of :class:`xml.etree.ElementTree." "XMLParser`: the ``doctype()`` method of the target is now called for a " @@ -410,19 +979,25 @@ msgid "" "html>``, as in the C implementation." msgstr "" -#: ../NEWS:177 +#: ../NEWS:483 msgid "" ":gh:`128509`: :func:`marshal.load` and :func:`marshal.loads` can now get 1-" "byte string singletons. Patch by Victor Stinner." msgstr "" -#: ../NEWS:180 +#: ../NEWS:486 +msgid "" +":gh:`157325`: Fix an out-of-bounds read in the ``hz`` incremental decoder " +"when the input ends with ``~``." +msgstr "" + +#: ../NEWS:489 msgid "" ":gh:`157213`: Fix :func:`asyncio.gather` leaving stale await-graph edges on " "children that outlive it." msgstr "" -#: ../NEWS:183 +#: ../NEWS:492 msgid "" ":gh:`156002`: :mod:`zipfile` again reads members through a third-party " "decompressor installed by monkey-patching the private " @@ -432,13 +1007,13 @@ msgid "" "`2026-15310`." msgstr "" -#: ../NEWS:190 +#: ../NEWS:499 msgid "" ":gh:`157159`: The usage message printed by ``python -m tabnanny`` when no " "arguments are given now suggests ``python -m`` instead of the source file." msgstr "" -#: ../NEWS:193 +#: ../NEWS:502 msgid "" ":gh:`123018`: Fix :func:`readline.write_history_file` and :func:`readline." "append_history_file` producing a history file that :func:`readline." @@ -447,64 +1022,64 @@ msgid "" "around `NetBSD PR 60322 `_." msgstr "" -#: ../NEWS:200 +#: ../NEWS:509 msgid "" ":gh:`157058`: :func:`asyncio.wait_for` with a non-positive timeout now " "records the waiter in the call graph." msgstr "" -#: ../NEWS:203 +#: ../NEWS:512 msgid "" ":gh:`156933`: Fix incorrect integer return values from :mod:`ctypes` " "callbacks on some platforms, such as s390x." msgstr "" -#: ../NEWS:206 +#: ../NEWS:515 msgid "" ":gh:`157048`: Preserve the position and contents of :class:`io.BytesIO` " "when :meth:`!BytesIO.__init__` fails because a buffer is exported." msgstr "" -#: ../NEWS:209 +#: ../NEWS:518 msgid "" ":gh:`156961`: Fix :func:`tkinter.font.nametofont` and the :class:`tkinter." "font.Font` constructor for a font name returned by Tk as a Tcl object, for " "example by :meth:`ttk.Style.lookup() `." msgstr "" -#: ../NEWS:214 +#: ../NEWS:523 msgid "" ":gh:`156988`: :func:`asyncio.print_call_graph` no longer truncates the call " "stack at a synchronous generator." msgstr "" -#: ../NEWS:217 +#: ../NEWS:526 msgid "" ":gh:`156970`: Set the docstring of :attr:`unittest.mock.Mock.return_value`." msgstr "" -#: ../NEWS:219 +#: ../NEWS:528 msgid "" ":gh:`156946`: Fix a crash in :mod:`curses.panel` when the finalizer of a " "panel's user pointer runs while the panel is being deallocated. The panel " "is now taken off the panel stack before its user pointer is dropped." msgstr "" -#: ../NEWS:223 +#: ../NEWS:532 msgid "" ":gh:`156797`: Fix :class:`xml.sax.saxutils.XMLGenerator`: the namespace URI " "is now escaped in the namespace declaration. Previously a URI containing " "``&``, ``<`` or a quote character produced a document which cannot be parsed." msgstr "" -#: ../NEWS:228 +#: ../NEWS:537 msgid "" ":gh:`83895`: :mod:`xml.etree.ElementTree` now accepts input larger than 2 " "GiB in the C implementation. The data is fed to Expat in chunks, as :mod:" "`xml.parsers.expat` already did, instead of raising :exc:`OverflowError`." msgstr "" -#: ../NEWS:233 +#: ../NEWS:542 msgid "" ":gh:`99064`: Fix :func:`xml.etree.ElementTree.parse` with a text file or " "other source of :class:`str` data in the C implementation. The encoding " @@ -513,7 +1088,7 @@ msgid "" "feed` or :func:`~xml.etree.ElementTree.fromstring`." msgstr "" -#: ../NEWS:239 +#: ../NEWS:548 msgid "" ":gh:`156713`: Fix :func:`!nturl2path.pathname2url` and :func:`!nturl2path." "url2pathname`: the filesystem encoding and error handler are now used for " @@ -521,14 +1096,14 @@ msgid "" "paths containing surrogate characters raised :exc:`UnicodeEncodeError`." msgstr "" -#: ../NEWS:245 +#: ../NEWS:554 msgid "" ":gh:`127057`: Fix :class:`asyncio.ProactorEventLoop` UDP transports so that " "a :exc:`ConnectionResetError` raised by ``WSARecvFrom`` no longer stops the " "read loop." msgstr "" -#: ../NEWS:249 +#: ../NEWS:558 msgid "" ":gh:`156658`: :mod:`xml.dom` and :mod:`xml.etree.ElementTree` no longer " "treat characters which are not white space in XML (such as U+00A0) as white " @@ -538,26 +1113,26 @@ msgid "" "content`` feature turned off." msgstr "" -#: ../NEWS:257 +#: ../NEWS:566 msgid "" ":gh:`156512`: Fix :mod:`asyncio` losing a connection twice when " "``resume_writing()`` closes the transport." msgstr "" -#: ../NEWS:260 +#: ../NEWS:569 msgid "" ":gh:`156523`: Fix :func:`asyncio.as_completed` not recording the awaiting " "task in the call graph." msgstr "" -#: ../NEWS:263 +#: ../NEWS:572 msgid "" ":gh:`156476`: The pure Python implementation of :meth:`queue.SimpleQueue." "get` now ignores *timeout* when *block* is false, matching the documented " "behavior and the C implementation. It previously raised :exc:`ValueError`." msgstr "" -#: ../NEWS:267 +#: ../NEWS:576 msgid "" ":gh:`156444`: Fix matching of a negated character set in a bytes pattern " "compiled with both :const:`re.IGNORECASE` and :const:`re.LOCALE`. The case " @@ -565,19 +1140,19 @@ msgid "" "longer matches ``b'B'``." msgstr "" -#: ../NEWS:272 +#: ../NEWS:581 msgid "" ":gh:`156408`: Fix :func:`asyncio.print_call_graph` raising :exc:" "`AttributeError` when called on a task that has already finished." msgstr "" -#: ../NEWS:275 +#: ../NEWS:584 msgid "" ":gh:`156353`: Fix :mod:`configparser` parsing when using whitespace in " "*delimiters*." msgstr "" -#: ../NEWS:278 +#: ../NEWS:587 msgid "" ":gh:`156166`: :mod:`ssl`: A failed assignment or deletion of the " "``_msg_callback`` attribute of :class:`ssl.SSLContext` no longer removes the " @@ -585,25 +1160,25 @@ msgid "" "exc:`TypeError`." msgstr "" -#: ../NEWS:283 +#: ../NEWS:592 msgid "" ":gh:`156173`: Calling :meth:`zlib.Decompress.flush` on invalid compressed " "data now raises :exc:`zlib.error` instead of being silently ignored." msgstr "" -#: ../NEWS:286 +#: ../NEWS:595 msgid "" ":gh:`152817`: :mod:`sqlite3`: Disallow removing the ``row_factory`` " "attribute of a cursor to prevent a crash on a query." msgstr "" -#: ../NEWS:289 +#: ../NEWS:598 msgid "" ":gh:`156124`: Fix a crash in the free-threaded build when deleting the :attr:" "`!contents` attribute of a :mod:`ctypes` pointer." msgstr "" -#: ../NEWS:292 +#: ../NEWS:601 msgid "" ":gh:`156112`: :mod:`!_ios_support` no longer fails to import when :func:" "`ctypes.util.find_library` cannot resolve the ObjC runtime through the dyld " @@ -611,40 +1186,40 @@ msgid "" "which dyld resolves against the cache directly." msgstr "" -#: ../NEWS:297 +#: ../NEWS:606 msgid "" ":gh:`156101`: Fix :attr:`sqlite3.Cursor.arraysize` being set to 0 if the " "assigned value is too large. The attribute is now left unchanged if the " "assignment fails." msgstr "" -#: ../NEWS:301 +#: ../NEWS:610 msgid "" ":gh:`156100`: Fix crashes in :class:`sqlite3.Connection` when deleting the :" "attr:`~sqlite3.Connection.autocommit` attribute or setting it to an integer " "which does not fit in C :c:expr:`long`. Both now raise an exception." msgstr "" -#: ../NEWS:306 +#: ../NEWS:615 msgid "" ":gh:`156099`: Fix a crash when deleting the ``keylog_filename`` attribute " "of :class:`ssl.SSLContext`. It now raises :exc:`AttributeError`." msgstr "" -#: ../NEWS:309 +#: ../NEWS:618 msgid "" ":gh:`156067`: Fix error handling in the :mod:`zoneinfo` accelerator module " "when a transition index is ``-1`` or a TZ string's ``__bool__`` raises." msgstr "" -#: ../NEWS:312 +#: ../NEWS:621 msgid "" ":gh:`155997`: Fix :func:`concurrent.interpreters.list_all`. It failed if an " "interpreter was destroyed during the call, in particular by a garbage " "collection which finalized the object owning the last reference to it." msgstr "" -#: ../NEWS:316 +#: ../NEWS:625 msgid "" ":gh:`155941`: Fix :func:`asyncio.start_server` when a plain-function " "*client_connected_cb* raises: the error is now reported like the coroutine " @@ -652,20 +1227,20 @@ msgid "" "forever (which also made :meth:`asyncio.Server.wait_closed` hang)." msgstr "" -#: ../NEWS:321 +#: ../NEWS:630 msgid "" ":gh:`155952`: Fix the signatures of :meth:`sqlite3.Connection.execute`, :" "func:`warnings.warn` and :func:`locale.setlocale` which rendered " "```` instead of the correct defaults for parameters." msgstr "" -#: ../NEWS:325 +#: ../NEWS:634 msgid "" ":gh:`155888`: Fix :meth:`asyncio.WriteTransport.writelines` hanging the " "transport when the last data chunk is empty." msgstr "" -#: ../NEWS:328 +#: ../NEWS:637 msgid "" ":gh:`155775`: Fix a regression in :mod:`imaplib` introduced in the fix for :" "gh:`63121`: refreshing the capabilities after a successful :meth:`~imaplib." @@ -674,7 +1249,7 @@ msgid "" "IMAP4.response`." msgstr "" -#: ../NEWS:334 +#: ../NEWS:643 msgid "" ":gh:`113318`: Fix crashes when deleting an attribute whose setter is " "generated by Argument Clinic and is not prepared for deletion, among them :" @@ -683,26 +1258,26 @@ msgid "" "`AttributeError`." msgstr "" -#: ../NEWS:340 +#: ../NEWS:649 msgid "" ":gh:`155468`: Fix :mod:`netrc` to distinguish empty quoted tokens from end-" "of-file, so malformed files no longer cause the remaining content to be " "silently ignored." msgstr "" -#: ../NEWS:344 +#: ../NEWS:653 msgid "" ":gh:`155519`: Avoid a data-race in free-threaded builds when reading and " "writing context variables from different threads." msgstr "" -#: ../NEWS:347 +#: ../NEWS:656 msgid "" ":gh:`155336`: Fix error handling in :func:`socket.gethostbyaddr` and :func:" "`socket.gethostbyname_ex` when hostname resolution fails." msgstr "" -#: ../NEWS:350 +#: ../NEWS:659 msgid "" ":gh:`102475`: Fix :func:`os.path.realpath` on Windows: the unresolved part " "of the path is now appended, not joined, so a file name which looks like a " @@ -711,20 +1286,20 @@ msgid "" "drive." msgstr "" -#: ../NEWS:356 +#: ../NEWS:665 msgid "" ":gh:`89760`: Fix :func:`os.path.realpath` on Windows: the ``\\\\?\\`` prefix " "is no longer stripped from a volume GUID path, which made the result invalid." msgstr "" -#: ../NEWS:359 +#: ../NEWS:668 msgid "" ":gh:`84419`: Fix :func:`os.stat` on Windows: trailing dots and spaces, which " "are ignored by the operating system, are no longer taken into account when " "the execute permissions are guessed from the file extension." msgstr "" -#: ../NEWS:363 +#: ../NEWS:672 msgid "" ":gh:`155319`: :func:`warnings.warn_explicit` now displays the source line " "taken from the loader of the module whose globals are passed as " @@ -732,14 +1307,14 @@ msgid "" "out of the range of the module source." msgstr "" -#: ../NEWS:368 +#: ../NEWS:677 msgid "" ":gh:`123011`: :func:`warnings.warn_explicit` no longer emits a spurious :exc:" "`DeprecationWarning` or raises :exc:`ImportError` when it is called with the " "globals of the :mod:`__main__` module." msgstr "" -#: ../NEWS:372 +#: ../NEWS:681 msgid "" ":gh:`69370`: :program:`python -m inspect --details` no longer fails with :" "exc:`UnicodeEncodeError` if the path of the module contains characters " @@ -747,7 +1322,7 @@ msgid "" "escaped with backslashes." msgstr "" -#: ../NEWS:377 +#: ../NEWS:686 msgid "" ":gh:`69371`: Fix :mod:`pydoc` for modules whose path contains undecodable " "bytes. :func:`!pydoc.writedoc` and the pydoc HTTP server no longer fail " @@ -756,40 +1331,40 @@ msgid "" "page are escaped with backslashes." msgstr "" -#: ../NEWS:383 +#: ../NEWS:692 msgid "" ":gh:`155143`: Fix :func:`asyncio.shield` leaking the calling task via the " "await-graph and callbacks when called on a future that never resolves." msgstr "" -#: ../NEWS:386 +#: ../NEWS:695 msgid "" ":gh:`154871`: Fixed a crash in :meth:`asyncio.Task.get_context` when called " "on an uninitialized task." msgstr "" -#: ../NEWS:389 +#: ../NEWS:698 msgid "" ":gh:`154855`: Fix :meth:`curses.window.instr` returning one character too " "few when the :mod:`curses` module is built against a curses library that " "counts the terminator in the requested length, such as the NetBSD one." msgstr "" -#: ../NEWS:393 +#: ../NEWS:702 msgid "" ":gh:`135683`: :class:`logging.FileHandler` and :class:`logging.handlers." "WatchedFileHandler` now honor :data:`logging.raiseExceptions` for errors " "that occur while opening the file, like for other errors during logging." msgstr "" -#: ../NEWS:398 +#: ../NEWS:707 msgid "" ":gh:`153970`: Calling :func:`str` on a :exc:`subprocess.CalledProcessError` " "no longer raises :exc:`TypeError` when its :attr:`!returncode` is not an " "integer, such as ``None``." msgstr "" -#: ../NEWS:402 +#: ../NEWS:711 msgid "" ":gh:`153005`: :meth:`!concurrent.interpreters.Queue.get` and :meth:`!" "concurrent.interpreters.Queue.put` now compute their ``timeout`` deadline " @@ -797,7 +1372,7 @@ msgid "" "system clock during the call no longer makes them over- or under-wait." msgstr "" -#: ../NEWS:408 +#: ../NEWS:717 msgid "" ":gh:`153772`: :func:`isinstance` checks against :mod:`collections.abc` " "classes such as :class:`~collections.abc.Mapping` no longer raise :exc:" @@ -806,27 +1381,27 @@ msgid "" "the behaviour of the built-in :func:`isinstance`." msgstr "" -#: ../NEWS:414 +#: ../NEWS:723 msgid "" ":gh:`81241`: Fix :exc:`OSError` when importing :mod:`ctypes` from a " "statically linked interpreter." msgstr "" -#: ../NEWS:417 +#: ../NEWS:726 msgid "" ":gh:`153603`: Fix a crash in the ISO-2022 decoders when decoding a byte " "after an unknown charset designation is set via the decoder's ``setstate`` " "method. Patch by tonghuaroot." msgstr "" -#: ../NEWS:421 +#: ../NEWS:730 msgid "" ":gh:`153539`: Fix a crash in the C implementation of :meth:`io.TextIOWrapper." "tell` when the decoder's ``getstate`` method triggers a reentrant seek, or " "when another thread seeks the same stream concurrently. Patch by tonghuaroot." msgstr "" -#: ../NEWS:426 +#: ../NEWS:735 msgid "" ":gh:`152907`: Restore cooked-mode terminal output flags around :c:data:" "`PyOS_InputHook` callbacks in the new :term:`REPL` (:mod:`!_pyrepl`), so " @@ -834,19 +1409,19 @@ msgid "" "is no longer emitted with ``OPOST`` disabled and keeps its carriage returns." msgstr "" -#: ../NEWS:432 +#: ../NEWS:741 msgid "" ":gh:`153319`: The :mod:`turtledemo` viewer now reads each demo script as " "UTF-8 instead of the locale encoding." msgstr "" -#: ../NEWS:435 +#: ../NEWS:744 msgid "" ":gh:`153133`: Fix a socket leak in :meth:`asyncio.loop.create_connection` " "when the transport cannot be created." msgstr "" -#: ../NEWS:438 +#: ../NEWS:747 msgid "" ":gh:`152068`: Fixes a bug when a line was split (particularly on macOS " "Terminal.app) in the middle of a colorized keyword, causing the ANSI Color " @@ -854,7 +1429,7 @@ msgid "" "colored when it shouldn't" msgstr "" -#: ../NEWS:443 +#: ../NEWS:752 msgid "" ":gh:`152204`: Fix the pure-Python implementations of :meth:`datetime.date." "fromisoformat`, :meth:`datetime.time.fromisoformat` and :meth:`datetime." @@ -864,13 +1439,13 @@ msgid "" "exactly *N* ASCII digits, matching the C implementation." msgstr "" -#: ../NEWS:451 +#: ../NEWS:760 msgid "" ":gh:`151955`: Allow more types to be used in the ``bound`` argument to :" "class:`typing.ParamSpec`." msgstr "" -#: ../NEWS:454 +#: ../NEWS:763 msgid "" ":gh:`150771`: Fix serialization of :mod:`email` messages using the " "``shift_jis`` or ``euc-jp`` charsets: ``set_content()`` now encodes the " @@ -878,7 +1453,7 @@ msgid "" "`UnicodeEncodeError`." msgstr "" -#: ../NEWS:459 +#: ../NEWS:768 msgid "" ":gh:`145856`: Fix :func:`plistlib.dumps` and :func:`plistlib.dump` so that " "``skipkeys=True`` together with ``sort_keys=True`` correctly drops non-" @@ -886,20 +1461,20 @@ msgid "" "keys. Previously the sort ran before the filter and raised :exc:`TypeError`." msgstr "" -#: ../NEWS:465 +#: ../NEWS:774 msgid "" ":gh:`140729`: Fix a pickling error in the ``cProfile`` module when profiling " "a script that uses :class:`multiprocessing.Process` with the ``spawn`` and " "``forkserver`` start methods." msgstr "" -#: ../NEWS:469 +#: ../NEWS:778 msgid "" ":gh:`113329`: Fix :exc:`OSError` being raised when trying to run doctests on " "a class objects in the REPL. Patch by Sten Wessel." msgstr "" -#: ../NEWS:472 +#: ../NEWS:781 msgid "" ":gh:`102967`: A bug in :func:`!doctest._SpoofOut.truncate` was causing None " "to be passed to :func:`!StringIO.seek` when no size was given. A simple fix " @@ -907,19 +1482,19 @@ msgid "" "from the current position." msgstr "" -#: ../NEWS:477 +#: ../NEWS:786 msgid "" ":gh:`82039`: :meth:`http.cookiejar.FileCookieJar.load` now checks the first, " "format signature line in a case-insensitive manner. Patch by Ashley Harvey." msgstr "" -#: ../NEWS:481 +#: ../NEWS:790 msgid "" ":gh:`70758`: Creating a new :mod:`turtle` screen after the previous one was " "closed no longer raises ``turtle.Terminator`` on the first turtle command." msgstr "" -#: ../NEWS:484 +#: ../NEWS:793 msgid "" ":issue:`44012`: The ``exploded`` attribute of :class:`ipaddress.IPv6Address` " "and :class:`ipaddress.IPv6Interface` now supports addresses with a scope ID " @@ -927,7 +1502,7 @@ msgid "" "AddressValueError` and the latter omitted the scope ID." msgstr "" -#: ../NEWS:489 +#: ../NEWS:798 msgid "" ":gh:`83869`: Fix :mod:`tarfile` reading an archive with a GNU sparse 1.0 " "member whose size is set in the pax extended header. The offset of the next " @@ -936,77 +1511,34 @@ msgid "" "of the sparse file. All following members were unreachable." msgstr "" -#: ../NEWS:495 +#: ../NEWS:804 msgid "" ":gh:`61366`: :class:`http.cookiejar.MozillaCookieJar` now reads session " "cookies written by curl and Wget, which use ``0`` in the expiration time " "field. Contributed by Jérémie Detrey." msgstr "" -#: ../NEWS:500 ../NEWS:1465 ../NEWS:1880 ../NEWS:2209 ../NEWS:2670 ../NEWS:3081 -#: ../NEWS:3799 ../NEWS:4319 ../NEWS:4668 ../NEWS:4850 ../NEWS:5728 -#: ../NEWS:6318 ../NEWS:6778 ../NEWS:7356 ../NEWS:8203 ../NEWS:8823 -#: ../NEWS:10399 ../NEWS:11994 ../NEWS:12459 ../NEWS:12937 ../NEWS:13474 -#: ../NEWS:14289 ../NEWS:16812 ../NEWS:18339 ../NEWS:18784 ../NEWS:19055 -#: ../NEWS:19334 ../NEWS:19745 ../NEWS:20070 ../NEWS:20502 ../NEWS:22258 -#: ../NEWS:23503 ../NEWS:24109 ../NEWS:24636 ../NEWS:24999 ../NEWS:25463 -#: ../NEWS:25859 ../NEWS:26358 ../NEWS:28021 ../NEWS:29100 ../NEWS:29568 -#: ../NEWS:29860 ../NEWS:30136 ../NEWS:30501 ../NEWS:30962 ../NEWS:31434 -#: ../NEWS:32478 ../NEWS:33026 ../NEWS:33470 ../NEWS:33928 ../NEWS:34332 -#: ../NEWS:34755 ../NEWS:35070 ../NEWS:36415 ../NEWS:37721 ../NEWS:38188 -#: ../NEWS:38666 ../NEWS:38908 ../NEWS:41092 ../NEWS:42068 ../NEWS:42278 -#: ../NEWS:42428 ../NEWS:42646 ../NEWS:42891 ../NEWS:43216 ../NEWS:43556 -#: ../NEWS:44039 ../NEWS:44382 ../NEWS:45992 ../NEWS:46746 ../NEWS:47102 -#: ../NEWS:47499 ../NEWS:47898 ../NEWS:48467 ../NEWS:48787 ../NEWS:48943 -#: ../NEWS:49046 ../NEWS:50405 ../NEWS:50656 ../NEWS:51823 ../NEWS:52383 -#: ../NEWS:53050 ../NEWS:53776 ../NEWS:54337 ../NEWS:54590 ../NEWS:54789 -#: ../NEWS:55100 ../NEWS:57301 -msgid "Documentation" -msgstr "" - -#: ../NEWS:502 +#: ../NEWS:811 msgid "" ":gh:`57491`: Reduce the depth of the table of contents in the EPUB " "documentation from three levels to two, making it much shorter and easier to " "navigate in e-book readers." msgstr "" -#: ../NEWS:507 ../NEWS:1476 ../NEWS:1890 ../NEWS:1978 ../NEWS:2687 ../NEWS:2776 -#: ../NEWS:3321 ../NEWS:4522 ../NEWS:4730 ../NEWS:5004 ../NEWS:5290 -#: ../NEWS:6115 ../NEWS:6495 ../NEWS:7059 ../NEWS:7609 ../NEWS:7957 -#: ../NEWS:8425 ../NEWS:9110 ../NEWS:12470 ../NEWS:12945 ../NEWS:13488 -#: ../NEWS:14303 ../NEWS:14895 ../NEWS:16859 ../NEWS:18359 ../NEWS:18790 -#: ../NEWS:19064 ../NEWS:19341 ../NEWS:19759 ../NEWS:20091 ../NEWS:20510 -#: ../NEWS:22344 ../NEWS:23540 ../NEWS:24135 ../NEWS:24642 ../NEWS:25005 -#: ../NEWS:25476 ../NEWS:25890 ../NEWS:26393 ../NEWS:28156 ../NEWS:29123 -#: ../NEWS:29583 ../NEWS:29869 ../NEWS:30145 ../NEWS:30510 ../NEWS:30974 -#: ../NEWS:31455 ../NEWS:32520 ../NEWS:33043 ../NEWS:33484 ../NEWS:33947 -#: ../NEWS:34357 ../NEWS:35084 ../NEWS:36519 ../NEWS:37770 ../NEWS:38223 -#: ../NEWS:38680 ../NEWS:38919 ../NEWS:41257 ../NEWS:42293 ../NEWS:42447 -#: ../NEWS:42663 ../NEWS:42915 ../NEWS:43229 ../NEWS:43561 ../NEWS:44045 -#: ../NEWS:46040 ../NEWS:46784 ../NEWS:46897 ../NEWS:47122 ../NEWS:47512 -#: ../NEWS:47910 ../NEWS:48489 ../NEWS:48800 ../NEWS:49051 ../NEWS:49186 -#: ../NEWS:49457 ../NEWS:49887 ../NEWS:50160 ../NEWS:50414 ../NEWS:50668 -#: ../NEWS:51841 ../NEWS:52401 ../NEWS:53055 ../NEWS:53176 ../NEWS:53799 -#: ../NEWS:54361 ../NEWS:54605 ../NEWS:54782 ../NEWS:55091 ../NEWS:55320 -#: ../NEWS:55530 ../NEWS:57341 -msgid "Tests" -msgstr "" - -#: ../NEWS:509 +#: ../NEWS:818 msgid "" ":gh:`158051`: The iOS testbed has been updated for compatibilty with Xcode " "27." msgstr "" -#: ../NEWS:512 +#: ../NEWS:821 msgid "" ":gh:`155411`: Fix :func:`!test.support.subTests` for asynchronous test " "methods. They were wrapped in a synchronous function, which discarded the " "coroutine without awaiting it, so the test silently did not run at all." msgstr "" -#: ../NEWS:516 +#: ../NEWS:825 msgid "" ":gh:`132581`: The list of tests which altered the execution environment now " "includes the reasons why the environment was considered altered, for example " @@ -1014,44 +1546,25 @@ msgid "" "longer repeats the same state twice (like ``ENV CHANGED then ENV CHANGED``)." msgstr "" -#: ../NEWS:522 +#: ../NEWS:831 msgid "" ":gh:`142414`: Isolate reloading modules in test_interpreters to avoid having " "broken references." msgstr "" -#: ../NEWS:526 ../NEWS:1511 ../NEWS:1898 ../NEWS:2219 ../NEWS:2702 ../NEWS:3211 -#: ../NEWS:4068 ../NEWS:4362 ../NEWS:4500 ../NEWS:4711 ../NEWS:4951 -#: ../NEWS:5254 ../NEWS:6046 ../NEWS:6433 ../NEWS:7013 ../NEWS:7581 -#: ../NEWS:7901 ../NEWS:8366 ../NEWS:9001 ../NEWS:11346 ../NEWS:12000 -#: ../NEWS:12496 ../NEWS:12977 ../NEWS:13498 ../NEWS:14343 ../NEWS:14929 -#: ../NEWS:17107 ../NEWS:18381 ../NEWS:18608 ../NEWS:18800 ../NEWS:19077 -#: ../NEWS:19347 ../NEWS:19771 ../NEWS:20112 ../NEWS:20338 ../NEWS:20530 -#: ../NEWS:22466 ../NEWS:23098 ../NEWS:23571 ../NEWS:24159 ../NEWS:24664 -#: ../NEWS:24858 ../NEWS:25049 ../NEWS:25503 ../NEWS:25912 ../NEWS:26442 -#: ../NEWS:28278 ../NEWS:29146 ../NEWS:29592 ../NEWS:29875 ../NEWS:30155 -#: ../NEWS:30532 ../NEWS:31009 ../NEWS:31471 ../NEWS:32571 ../NEWS:33052 -#: ../NEWS:33510 ../NEWS:33963 ../NEWS:34366 ../NEWS:34768 ../NEWS:35139 -#: ../NEWS:36689 ../NEWS:37806 ../NEWS:38277 ../NEWS:38693 ../NEWS:41424 -#: ../NEWS:42080 ../NEWS:42302 ../NEWS:42453 ../NEWS:42673 ../NEWS:42920 -#: ../NEWS:43249 ../NEWS:44072 ../NEWS:44392 ../NEWS:46103 ../NEWS:46792 -#: ../NEWS:46902 ../NEWS:47137 ../NEWS:47529 ../NEWS:47665 ../NEWS:47926 -#: ../NEWS:48447 ../NEWS:48531 ../NEWS:48822 ../NEWS:48887 ../NEWS:49059 -#: ../NEWS:49177 ../NEWS:49446 ../NEWS:49901 ../NEWS:50187 ../NEWS:50375 -#: ../NEWS:50688 ../NEWS:51884 ../NEWS:52439 ../NEWS:53101 ../NEWS:53822 -#: ../NEWS:54374 ../NEWS:54434 ../NEWS:54451 ../NEWS:54693 ../NEWS:54798 -#: ../NEWS:55311 ../NEWS:55525 ../NEWS:55660 ../NEWS:57192 -msgid "Build" +#: ../NEWS:837 +msgid "" +":gh:`158010`: Update Android and iOS build scripts to use OpenSSL 3.5.9." msgstr "" -#: ../NEWS:528 +#: ../NEWS:839 msgid "" ":gh:`157549`: Use ``sysconf(_SC_PAGESIZE)`` instead of ``getpagesize()`` in " "``remote_debug.h`` so ``_remote_debugging`` builds on Darwin with ``-" "Werror=implicit-function-declaration``." msgstr "" -#: ../NEWS:532 +#: ../NEWS:843 msgid "" ":gh:`157142`: Fix the link of ``Programs/_freeze_module`` when extension " "modules are built in (``MODULE_BUILDTYPE=static``) and the test modules are " @@ -1059,18 +1572,13 @@ msgid "" "``_Py_Get_Getpath_CodeObject()``, which ``_testinternalcapi`` uses." msgstr "" -#: ../NEWS:537 -msgid "" -":gh:`156369`: Update Android and iOS build scripts to use OpenSSL 3.5.8." -msgstr "" - -#: ../NEWS:539 +#: ../NEWS:848 msgid "" ":gh:`155911`: Fix curses detection when a curses library is already in " "``LIBS``. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:542 +#: ../NEWS:851 msgid "" ":gh:`156115`: iOS simulator builds are now configured with ``-mios-simulator-" "version-min`` instead of the device's ``-mios-version-min``. The device flag " @@ -1078,65 +1586,44 @@ msgid "" "detection silently failed." msgstr "" -#: ../NEWS:547 +#: ../NEWS:856 msgid "" ":gh:`152023`: Update Android builds to SQLite 3.53.4. Additionally, enable " "the ``median()`` and ``percentile()`` functions." msgstr "" -#: ../NEWS:550 +#: ../NEWS:859 msgid "" ":gh:`144679`: When building with Visual Studio 2026 (Version 18), use " "PlatformToolSet v145 by default. Patch by Chris Eibl." msgstr "" -#: ../NEWS:554 ../NEWS:1537 ../NEWS:1904 ../NEWS:2239 ../NEWS:2724 ../NEWS:2764 -#: ../NEWS:3292 ../NEWS:4114 ../NEWS:4153 ../NEWS:4282 ../NEWS:4723 -#: ../NEWS:4978 ../NEWS:5272 ../NEWS:6091 ../NEWS:6466 ../NEWS:7941 -#: ../NEWS:8387 ../NEWS:9057 ../NEWS:12022 ../NEWS:12506 ../NEWS:13003 -#: ../NEWS:13513 ../NEWS:14372 ../NEWS:14953 ../NEWS:17194 ../NEWS:18419 -#: ../NEWS:18808 ../NEWS:19094 ../NEWS:19380 ../NEWS:19789 ../NEWS:20134 -#: ../NEWS:20566 ../NEWS:22580 ../NEWS:23586 ../NEWS:24191 ../NEWS:24694 -#: ../NEWS:25089 ../NEWS:25550 ../NEWS:26040 ../NEWS:26497 ../NEWS:28324 -#: ../NEWS:29155 ../NEWS:29614 ../NEWS:29898 ../NEWS:30181 ../NEWS:31033 -#: ../NEWS:31478 ../NEWS:32592 ../NEWS:33062 ../NEWS:33522 ../NEWS:33980 -#: ../NEWS:34371 ../NEWS:35149 ../NEWS:36761 ../NEWS:37829 ../NEWS:38338 -#: ../NEWS:38707 ../NEWS:38952 ../NEWS:41542 ../NEWS:42087 ../NEWS:42470 -#: ../NEWS:42678 ../NEWS:42925 ../NEWS:43264 ../NEWS:43570 ../NEWS:44105 -#: ../NEWS:46215 ../NEWS:46812 ../NEWS:47143 ../NEWS:47554 ../NEWS:47932 -#: ../NEWS:48503 ../NEWS:48752 ../NEWS:48882 ../NEWS:49172 ../NEWS:49413 -#: ../NEWS:49943 ../NEWS:50175 ../NEWS:50678 ../NEWS:51947 ../NEWS:52452 -#: ../NEWS:53086 ../NEWS:53881 ../NEWS:53928 ../NEWS:54385 ../NEWS:55674 -#: ../NEWS:57488 -msgid "Windows" +#: ../NEWS:865 +msgid ":gh:`158010`: Updated Windows builds to use OpenSSL 3.5.9." msgstr "" -#: ../NEWS:556 +#: ../NEWS:867 msgid "" ":gh:`157368`: Fix truncated :data:`sys.version` in the case of clang-cl " "versions 22 or newer on Windows. Also fixes the Windows on Arm case, where " "the Microsoft compiler was reported instead of clang. Patch by Chris Eibl." msgstr "" -#: ../NEWS:560 -msgid ":gh:`156369`: Updated Windows builds to use OpenSSL 3.5.8." -msgstr "" - -#: ../NEWS:562 +#: ../NEWS:871 msgid "" ":gh:`72353`: Reading from the console on Windows now continues if the read " "was cancelled by Ctrl+C, but the :const:`~signal.SIGINT` handler did not " "raise an exception. Previously the read ended as if at end of file." msgstr "" -#: ../NEWS:566 +#: ../NEWS:875 msgid "" ":gh:`86427`: Fix the encoding of the standard streams in the legacy Windows " "stdio mode (:envvar:`PYTHONLEGACYWINDOWSSTDIO`). It is now the code page of " "the console, as in Python 3.7, not the ANSI code page." msgstr "" -#: ../NEWS:570 +#: ../NEWS:879 msgid "" ":gh:`87587`: :func:`os.device_encoding` on Windows now returns the code page " "of any console file descriptor, not only 0, 1 and 2, and returns ``None`` " @@ -1144,101 +1631,101 @@ msgid "" "reported as ``\"utf-8\"`` instead of ``\"cp65001\"``." msgstr "" -#: ../NEWS:576 ../NEWS:1550 ../NEWS:1909 ../NEWS:1987 ../NEWS:2247 ../NEWS:2735 -#: ../NEWS:4107 ../NEWS:4273 ../NEWS:6081 ../NEWS:6460 ../NEWS:7045 -#: ../NEWS:7596 ../NEWS:9047 ../NEWS:12047 ../NEWS:13024 ../NEWS:13535 -#: ../NEWS:14413 ../NEWS:14965 ../NEWS:17244 ../NEWS:18440 ../NEWS:19120 -#: ../NEWS:19812 ../NEWS:20149 ../NEWS:20584 ../NEWS:22677 ../NEWS:23602 -#: ../NEWS:24217 ../NEWS:25103 ../NEWS:25556 ../NEWS:26065 ../NEWS:26511 -#: ../NEWS:28352 ../NEWS:29185 ../NEWS:29903 ../NEWS:30188 ../NEWS:30555 -#: ../NEWS:31042 ../NEWS:31493 ../NEWS:32635 ../NEWS:33074 ../NEWS:33529 -#: ../NEWS:34003 ../NEWS:35156 ../NEWS:36880 ../NEWS:37843 ../NEWS:38391 -#: ../NEWS:41652 ../NEWS:42315 ../NEWS:42475 ../NEWS:42687 ../NEWS:42944 -#: ../NEWS:43275 ../NEWS:44120 ../NEWS:46817 ../NEWS:47168 ../NEWS:47563 +#: ../NEWS:885 ../NEWS:1863 ../NEWS:2222 ../NEWS:2300 ../NEWS:2560 ../NEWS:3048 +#: ../NEWS:4420 ../NEWS:4586 ../NEWS:6394 ../NEWS:6773 ../NEWS:7358 +#: ../NEWS:7909 ../NEWS:9360 ../NEWS:12360 ../NEWS:13337 ../NEWS:13848 +#: ../NEWS:14726 ../NEWS:15278 ../NEWS:17557 ../NEWS:18753 ../NEWS:19433 +#: ../NEWS:20125 ../NEWS:20462 ../NEWS:20897 ../NEWS:22990 ../NEWS:23915 +#: ../NEWS:24530 ../NEWS:25416 ../NEWS:25869 ../NEWS:26378 ../NEWS:26824 +#: ../NEWS:28665 ../NEWS:29498 ../NEWS:30216 ../NEWS:30501 ../NEWS:30868 +#: ../NEWS:31355 ../NEWS:31806 ../NEWS:32948 ../NEWS:33387 ../NEWS:33842 +#: ../NEWS:34316 ../NEWS:35469 ../NEWS:37193 ../NEWS:38156 ../NEWS:38704 +#: ../NEWS:41965 ../NEWS:42628 ../NEWS:42788 ../NEWS:43000 ../NEWS:43257 +#: ../NEWS:43588 ../NEWS:44433 ../NEWS:47130 ../NEWS:47481 ../NEWS:47876 msgid "macOS" msgstr "" -#: ../NEWS:578 -msgid ":gh:`156369`: Update macOS installer to use OpenSSL 3.5.8." -msgstr "" - -#: ../NEWS:581 ../NEWS:1559 ../NEWS:1921 ../NEWS:3076 ../NEWS:3790 ../NEWS:5723 -#: ../NEWS:7350 ../NEWS:10378 ../NEWS:12061 ../NEWS:13029 ../NEWS:13548 -#: ../NEWS:14462 ../NEWS:14986 ../NEWS:17253 ../NEWS:18460 ../NEWS:22687 -#: ../NEWS:24709 ../NEWS:25108 ../NEWS:26518 ../NEWS:28378 ../NEWS:29212 -#: ../NEWS:29620 ../NEWS:29908 ../NEWS:30195 ../NEWS:31065 ../NEWS:31498 -#: ../NEWS:32656 ../NEWS:33539 ../NEWS:34008 ../NEWS:34390 ../NEWS:34781 -#: ../NEWS:35163 ../NEWS:36901 ../NEWS:37850 ../NEWS:38399 ../NEWS:38719 -#: ../NEWS:38968 ../NEWS:41688 ../NEWS:42092 ../NEWS:42322 ../NEWS:42480 -#: ../NEWS:42696 ../NEWS:42949 ../NEWS:44125 ../NEWS:44411 ../NEWS:46282 -#: ../NEWS:46822 ../NEWS:47176 ../NEWS:47568 ../NEWS:47946 ../NEWS:48418 -#: ../NEWS:48744 ../NEWS:49858 ../NEWS:50131 ../NEWS:50333 ../NEWS:50594 -#: ../NEWS:51713 ../NEWS:53013 ../NEWS:53181 ../NEWS:53723 ../NEWS:54240 -#: ../NEWS:54573 ../NEWS:55085 ../NEWS:57109 +#: ../NEWS:887 +msgid ":gh:`158010`: Update macOS installer to use OpenSSL 3.5.9." +msgstr "" + +#: ../NEWS:890 ../NEWS:1872 ../NEWS:2234 ../NEWS:3389 ../NEWS:4103 ../NEWS:6036 +#: ../NEWS:7663 ../NEWS:10691 ../NEWS:12374 ../NEWS:13342 ../NEWS:13861 +#: ../NEWS:14775 ../NEWS:15299 ../NEWS:17566 ../NEWS:18773 ../NEWS:23000 +#: ../NEWS:25022 ../NEWS:25421 ../NEWS:26831 ../NEWS:28691 ../NEWS:29525 +#: ../NEWS:29933 ../NEWS:30221 ../NEWS:30508 ../NEWS:31378 ../NEWS:31811 +#: ../NEWS:32969 ../NEWS:33852 ../NEWS:34321 ../NEWS:34703 ../NEWS:35094 +#: ../NEWS:35476 ../NEWS:37214 ../NEWS:38163 ../NEWS:38712 ../NEWS:39032 +#: ../NEWS:39281 ../NEWS:42001 ../NEWS:42405 ../NEWS:42635 ../NEWS:42793 +#: ../NEWS:43009 ../NEWS:43262 ../NEWS:44438 ../NEWS:44724 ../NEWS:46595 +#: ../NEWS:47135 ../NEWS:47489 ../NEWS:47881 ../NEWS:48259 ../NEWS:48731 +#: ../NEWS:49057 ../NEWS:50171 ../NEWS:50444 ../NEWS:50646 ../NEWS:50907 +#: ../NEWS:52026 ../NEWS:53326 ../NEWS:53494 ../NEWS:54036 ../NEWS:54553 +#: ../NEWS:54886 ../NEWS:55398 ../NEWS:57422 msgid "IDLE" msgstr "" -#: ../NEWS:583 +#: ../NEWS:892 msgid "" ":gh:`158067`: Fix the IDLE File Open dialog listing text files before Python " "files when opened from the Shell or an Output window." msgstr "" -#: ../NEWS:586 +#: ../NEWS:895 msgid "" ":gh:`56596`: Make IDLE keyboard shortcuts with ascii letters work when Caps " "Lock is on even when only one of the upper and lowercase versions are " "defined." msgstr "" -#: ../NEWS:590 +#: ../NEWS:899 msgid "" ":gh:`75512`: Output from a thread printed in the IDLE Shell while a " "statement is being entered no longer takes over the prompt of the statement." msgstr "" -#: ../NEWS:593 +#: ../NEWS:902 msgid "" ":gh:`64007`: IDLE no longer applies syntax coloring to the text entered for :" "func:`input` in the Shell." msgstr "" -#: ../NEWS:596 +#: ../NEWS:905 msgid "" ":gh:`85560`: Fix IDLE failing to find the opening parenthesis when a " "continuation line inside the parentheses starts with ``else`` of a " "conditional expression or with ``yield``." msgstr "" -#: ../NEWS:600 +#: ../NEWS:909 msgid "" ":gh:`75487`: Fix saving a truncated number when an integer entry in the IDLE " "Settings dialog is blanked with the Backspace key." msgstr "" -#: ../NEWS:603 +#: ../NEWS:912 msgid "" ":gh:`74112`: Ctrl-C in the IDLE Shell now interrupts blocking calls such as :" "func:`time.sleep` and :meth:`socket.recv `." msgstr "" -#: ../NEWS:606 +#: ../NEWS:915 msgid ":gh:`151471`: Colorize the soft keyword ``type`` in IDLE." msgstr "" -#: ../NEWS:608 +#: ../NEWS:917 msgid "" ":gh:`103089`: IDLE no longer hangs when opening a file with very long lines. " "Only the first 2,000 characters of a line are colorized." msgstr "" -#: ../NEWS:611 +#: ../NEWS:920 msgid "" ":gh:`89544`: Fix IDLE hanging after Restart Shell while receiving a large " "output from the user process." msgstr "" -#: ../NEWS:614 +#: ../NEWS:923 msgid "" ":gh:`70331`: IDLE no longer fails to start with ``python -m idlelib``, and " "its user process no longer fails to start, when the current directory " @@ -1246,83 +1733,83 @@ msgid "" "IDLE imports, such as ``random.py`` or ``tkinter.py``." msgstr "" -#: ../NEWS:619 +#: ../NEWS:928 msgid "" ":gh:`93016`: Fix parsing of command line arguments in the IDLE \"Run... " "Customized\" dialog on Windows: backslashes are no longer treated as escape " "characters. Fix also display of the previous arguments in the dialog." msgstr "" -#: ../NEWS:623 +#: ../NEWS:932 msgid "" ":gh:`59568`: Fix \"Save As\" and \"Open\" dialogs in IDLE for a file whose " "name starts with ``~`` on Windows and X11 with Tcl/Tk older than 9." msgstr "" -#: ../NEWS:626 +#: ../NEWS:935 msgid "" ":gh:`69004`: The Debugger item of the IDLE Debug menu is now disabled while " "user code runs, like Stack Viewer." msgstr "" -#: ../NEWS:629 +#: ../NEWS:938 msgid "" ":gh:`69365`: The IDLE search dialogs now show a regular expression error " "below the entry instead of in a message box." msgstr "" -#: ../NEWS:632 +#: ../NEWS:941 msgid "" ":gh:`93966`: The highlighting of a syntax error in the IDLE Shell is now " "removed when the next statement is entered, not only when the next syntax " "error occurs." msgstr "" -#: ../NEWS:636 +#: ../NEWS:945 msgid "" ":gh:`105689`: Fix calltips, parenthesis matching and auto-indent in the IDLE " "Shell after output containing unbalanced quotes or parentheses." msgstr "" -#: ../NEWS:639 +#: ../NEWS:948 msgid "" ":gh:`60402`: In IDLE, Tab in a string that is not the start of a file name " "inserts a tab instead of opening the completion list." msgstr "" -#: ../NEWS:642 +#: ../NEWS:951 msgid "" ":gh:`68453`: Fix running IDLE with the -s option together with -c, -r or -: " "the command or script now runs after the startup file, without an error " "dialog and without restarting the shell." msgstr "" -#: ../NEWS:646 +#: ../NEWS:955 msgid "" ":gh:`75234`: Fix editing help sources and key bindings in the IDLE Settings " "dialog after selecting them with the keyboard." msgstr "" -#: ../NEWS:649 +#: ../NEWS:958 msgid "" ":gh:`69919`: IDLE now reports any exception raised by compiling the source, " "such as :exc:`MemoryError` for too deeply nested source, instead of hanging " "the Shell." msgstr "" -#: ../NEWS:653 +#: ../NEWS:962 msgid "" ":gh:`91398`: Remove the border around the IDLE Shell sidebar, which was " "drawn in the window background color and stood out with dark themes." msgstr "" -#: ../NEWS:656 +#: ../NEWS:965 msgid "" ":gh:`71136`: Fix a hang of the IDLE Shell when code run under the debugger " "raises :exc:`KeyboardInterrupt`." msgstr "" -#: ../NEWS:659 +#: ../NEWS:968 msgid "" ":gh:`154511`: Consolidate IDLE's mouse wheel handling in ``idlelib.util``. " "``wheel_event`` moves there from ``idlelib.tree`` and joins ``x11_buttons``, " @@ -1331,12 +1818,12 @@ msgid "" "sends." msgstr "" -#: ../NEWS:665 +#: ../NEWS:974 msgid "" ":gh:`156896`: Stop deleting tkinter submodules when idlelib.run is imported." msgstr "" -#: ../NEWS:667 +#: ../NEWS:976 msgid "" ":gh:`153480`: Fix IDLE failing to start when opening a file which does not " "exist yet. Fix a traceback when a file open in the IDLE editor is deleted by " @@ -1344,50 +1831,57 @@ msgid "" "elsewhere, or ignore it." msgstr "" -#: ../NEWS:672 +#: ../NEWS:981 msgid "" ":gh:`55646`: Fix IDLE crash at startup when the user configuration contains " "an invalid key binding, such as ```` instead of ````. The invalid binding is now ignored with a warning." msgstr "" -#: ../NEWS:676 +#: ../NEWS:985 msgid "" ":gh:`66172`: IDLE no longer fails to start when a user configuration file is " "corrupt. The unparsable file is renamed with a \".bad\" suffix, default " "settings are used instead, and a warning lists the affected files." msgstr "" -#: ../NEWS:680 +#: ../NEWS:989 msgid "" ":gh:`90304`: Prevent IDLE from failing to start when a font reports a zero " "width for the ``'0'`` character. Such a broken font caused a :exc:" "`ZeroDivisionError`; the editor now falls back to the configured width." msgstr "" -#: ../NEWS:685 +#: ../NEWS:994 msgid "" ":gh:`135511`: Fix display of :exc:`NameError` and :exc:`AttributeError` with " "multi-line message." msgstr "" -#: ../NEWS:689 ../NEWS:1611 ../NEWS:2770 ../NEWS:3298 ../NEWS:4119 ../NEWS:4158 -#: ../NEWS:4373 ../NEWS:4512 ../NEWS:4998 ../NEWS:5281 ../NEWS:6106 -#: ../NEWS:6472 ../NEWS:7050 ../NEWS:7602 ../NEWS:7951 ../NEWS:8416 -#: ../NEWS:9104 ../NEWS:13035 ../NEWS:13557 ../NEWS:14994 ../NEWS:17259 -#: ../NEWS:18470 ../NEWS:18817 ../NEWS:19820 ../NEWS:20157 ../NEWS:22709 -#: ../NEWS:23607 ../NEWS:24226 ../NEWS:28412 ../NEWS:30565 ../NEWS:31077 -#: ../NEWS:33087 ../NEWS:33549 ../NEWS:34022 ../NEWS:37004 ../NEWS:37867 -#: ../NEWS:38406 ../NEWS:38748 ../NEWS:41871 ../NEWS:42493 ../NEWS:42710 -#: ../NEWS:42970 ../NEWS:43576 ../NEWS:44164 ../NEWS:46479 ../NEWS:46867 -#: ../NEWS:47208 ../NEWS:47631 ../NEWS:48118 ../NEWS:48483 ../NEWS:48877 -#: ../NEWS:48951 ../NEWS:49936 ../NEWS:50397 ../NEWS:50705 ../NEWS:51965 -#: ../NEWS:53074 ../NEWS:53900 ../NEWS:54423 ../NEWS:55110 ../NEWS:55329 -#: ../NEWS:55537 ../NEWS:57449 +#: ../NEWS:998 ../NEWS:1924 ../NEWS:3083 ../NEWS:3611 ../NEWS:4432 ../NEWS:4471 +#: ../NEWS:4686 ../NEWS:4825 ../NEWS:5311 ../NEWS:5594 ../NEWS:6419 +#: ../NEWS:6785 ../NEWS:7363 ../NEWS:7915 ../NEWS:8264 ../NEWS:8729 +#: ../NEWS:9417 ../NEWS:13348 ../NEWS:13870 ../NEWS:15307 ../NEWS:17572 +#: ../NEWS:18783 ../NEWS:19130 ../NEWS:20133 ../NEWS:20470 ../NEWS:23022 +#: ../NEWS:23920 ../NEWS:24539 ../NEWS:28725 ../NEWS:30878 ../NEWS:31390 +#: ../NEWS:33400 ../NEWS:33862 ../NEWS:34335 ../NEWS:37317 ../NEWS:38180 +#: ../NEWS:38719 ../NEWS:39061 ../NEWS:42184 ../NEWS:42806 ../NEWS:43023 +#: ../NEWS:43283 ../NEWS:43889 ../NEWS:44477 ../NEWS:46792 ../NEWS:47180 +#: ../NEWS:47521 ../NEWS:47944 ../NEWS:48431 ../NEWS:48796 ../NEWS:49190 +#: ../NEWS:49264 ../NEWS:50249 ../NEWS:50710 ../NEWS:51018 ../NEWS:52278 +#: ../NEWS:53387 ../NEWS:54213 ../NEWS:54736 ../NEWS:55423 ../NEWS:55642 +#: ../NEWS:55850 ../NEWS:57762 msgid "Tools/Demos" msgstr "" -#: ../NEWS:691 +#: ../NEWS:1000 +msgid "" +":gh:`158451`: ``python-gdb.py`` is now able to format an invalid Unicode " +"string: render invalid characters as ``\\Uhhhhhhhh`` instead of raising an " +"exception. Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:1004 msgid "" ":gh:`113318`: Fix Argument Clinic for ``@getter`` and ``@setter`` in a " "preprocessor conditional block. It failed with an internal error. Argument " @@ -1396,41 +1890,21 @@ msgid "" "invalid or duplicated entries of :c:type:`PyGetSetDef`." msgstr "" -#: ../NEWS:697 +#: ../NEWS:1010 msgid "" ":gh:`64502`: Fix Argument Clinic support of parameters with a default value " "used together with optional groups. Such parameters were always required in " "the generated parsing code." msgstr "" -#: ../NEWS:702 ../NEWS:1625 ../NEWS:1926 ../NEWS:2743 ../NEWS:3202 ../NEWS:4040 -#: ../NEWS:4356 ../NEWS:4489 ../NEWS:4705 ../NEWS:4934 ../NEWS:5248 -#: ../NEWS:5987 ../NEWS:6425 ../NEWS:6964 ../NEWS:7516 ../NEWS:7883 -#: ../NEWS:8316 ../NEWS:8978 ../NEWS:11091 ../NEWS:12066 ../NEWS:12535 -#: ../NEWS:13043 ../NEWS:13571 ../NEWS:14478 ../NEWS:15002 ../NEWS:17319 -#: ../NEWS:18477 ../NEWS:18822 ../NEWS:19125 ../NEWS:19829 ../NEWS:20167 -#: ../NEWS:20589 ../NEWS:22744 ../NEWS:23620 ../NEWS:24232 ../NEWS:24718 -#: ../NEWS:25116 ../NEWS:25562 ../NEWS:26070 ../NEWS:26523 ../NEWS:28433 -#: ../NEWS:29231 ../NEWS:29627 ../NEWS:29915 ../NEWS:30209 ../NEWS:30574 -#: ../NEWS:31087 ../NEWS:31511 ../NEWS:32689 ../NEWS:33100 ../NEWS:33561 -#: ../NEWS:34034 ../NEWS:34405 ../NEWS:34792 ../NEWS:35179 ../NEWS:37029 -#: ../NEWS:37873 ../NEWS:38411 ../NEWS:38755 ../NEWS:41910 ../NEWS:42000 -#: ../NEWS:42716 ../NEWS:43286 ../NEWS:43583 ../NEWS:44176 ../NEWS:44438 -#: ../NEWS:46510 ../NEWS:46885 ../NEWS:47218 ../NEWS:47638 ../NEWS:48441 -#: ../NEWS:48770 ../NEWS:48938 ../NEWS:49439 ../NEWS:49878 ../NEWS:50368 -#: ../NEWS:50697 ../NEWS:51986 ../NEWS:52461 ../NEWS:53041 ../NEWS:55353 -#: ../NEWS:55668 ../NEWS:57272 -msgid "C API" -msgstr "" - -#: ../NEWS:704 +#: ../NEWS:1017 msgid "" ":gh:`156995`: On Free Threading, ``_PyBytes_Resize(&obj, 1)`` no longer " "returns a single byte singleton if the current thread is different than the " "thread which created the object. Patch by Stan Ulbrych." msgstr "" -#: ../NEWS:708 +#: ../NEWS:1021 msgid "" ":gh:`156101`: Don't set the result in error in :c:func:`PyLong_AsInt32`, :c:" "func:`PyLong_AsUInt32`, :c:func:`PyLong_AsInt64` and :c:func:" @@ -1438,7 +1912,7 @@ msgid "" "Stinner." msgstr "" -#: ../NEWS:713 +#: ../NEWS:1026 msgid "" ":gh:`131740`: On the free-threaded build, :c:func:" "`PyUnstable_GC_VisitObjects` now also visits frozen objects (objects moved " @@ -1446,22 +1920,22 @@ msgid "" "the default build." msgstr "" -#: ../NEWS:720 +#: ../NEWS:1033 msgid "Python 3.14.7 final" msgstr "" -#: ../NEWS:722 +#: ../NEWS:1035 msgid "*Release date: 2026-08-05*" msgstr "" -#: ../NEWS:727 +#: ../NEWS:1040 msgid "" ":gh:`153030`: Fixed quadratic complexity in incremental parsing of long " "unterminated constructs (such as tags or comments) in :class:`html.parser." "HTMLParser`, which could be exploited for a denial of service." msgstr "" -#: ../NEWS:732 +#: ../NEWS:1045 msgid "" ":gh:`152674`: The :class:`xml.etree.ElementTree.Element` methods :meth:`~xml." "etree.ElementTree.Element.findall`, :meth:`~xml.etree.ElementTree.Element." @@ -1470,25 +1944,25 @@ msgid "" "N]``) on XML documents with many same-tag siblings." msgstr "" -#: ../NEWS:739 +#: ../NEWS:1052 msgid "" ":gh:`152216`: Update bundled `libexpat `_ to " "version 2.8.2." msgstr "" -#: ../NEWS:742 +#: ../NEWS:1055 msgid "" ":gh:`151987`: The :meth:`tarfile.TarFile.extract` method now applies the " "given filter when it extracts a link target from the archive as a fallback." msgstr "" -#: ../NEWS:746 +#: ../NEWS:1059 msgid "" ":gh:`151981`: In :mod:`tarfile`, seeking a stream now stops when end of the " "stream is reached." msgstr "" -#: ../NEWS:749 +#: ../NEWS:1062 msgid "" ":gh:`151544`: :file:`Modules/Setup.local` is no longer used as a landmark to " "discover whether Python is running in a source tree, as it could potentially " @@ -1496,7 +1970,7 @@ msgid "" "indicator of running in a source tree." msgstr "" -#: ../NEWS:754 +#: ../NEWS:1067 msgid "" ":gh:`151558`: Fixed an vulnerability in the :mod:`tarfile` ``data`` and " "``tar`` extraction filters where crafted archives could create a symlink " @@ -1504,7 +1978,7 @@ msgid "" "`2025-4330`." msgstr "" -#: ../NEWS:759 +#: ../NEWS:1072 msgid "" ":gh:`150743`: :mod:`http.client` now limits the number of chunked-response " "trailer lines it will read to 100, and the number of interim (1xx) responses " @@ -1514,151 +1988,151 @@ msgid "" "g22w-6fr4." msgstr "" -#: ../NEWS:766 +#: ../NEWS:1079 msgid "" ":gh:`143927`: Normalize all line endings (CR, CRLF, and LF) to LF+TAB when " "writing multi-line configparser values." msgstr "" -#: ../NEWS:769 +#: ../NEWS:1082 msgid "" ":gh:`143921`: Reject NUL, CR and LF characters in IMAP commands. Other " "control characters are allowed and sent quoted." msgstr "" -#: ../NEWS:775 +#: ../NEWS:1088 msgid "" ":gh:`133931`: Fix data races when setting attributes of function objects on " "the :term:`free threaded ` build." msgstr "" -#: ../NEWS:778 +#: ../NEWS:1091 msgid "" ":gh:`154709`: Fix an out-of-bounds access in reverse dictionary iterators " "when the underlying dictionary is cleared and modified after the iterator is " "created." msgstr "" -#: ../NEWS:782 +#: ../NEWS:1095 msgid "" ":gh:`154695`: Fix :class:`asyncio.Task` raising :exc:`AttributeError` when " "created with ``eager_start=True`` and no explicit *loop* argument." msgstr "" -#: ../NEWS:785 +#: ../NEWS:1098 msgid "" ":gh:`153809`: Fix interpreter crash while deallocating objects of :class:" "`asyncio.Task` on free-threaded builds. Contributed by Sergey Miryanov." msgstr "" -#: ../NEWS:789 +#: ../NEWS:1102 msgid "" ":gh:`154275`: Fix a crash when getting deeply nested ``__parameters__`` from " "a :class:`types.GenericAlias` objects." msgstr "" -#: ../NEWS:792 +#: ../NEWS:1105 msgid "" ":gh:`153932`: Fix thread safety issue in the ``__reduce__`` method of :py:" "class:`enumerate`." msgstr "" -#: ../NEWS:795 +#: ../NEWS:1108 msgid "" ":gh:`153298`: Fixes a data race in :class:`types.GenericAlias` " "``__parameters__`` initialization on free-threading builds." msgstr "" -#: ../NEWS:798 +#: ../NEWS:1111 msgid "" ":gh:`153205`: Fix a potential :exc:`SystemError` during vector calls when " "memory allocation fails. A :exc:`MemoryError` is now raised instead." msgstr "" -#: ../NEWS:801 +#: ../NEWS:1114 msgid "" ":gh:`152682`: Fix NULL pointer dereference in :func:`compile` when a " "reserved name (e.g. ``__classdict__``) is used as a type parameter name and " "memory allocation fails while formatting the error message." msgstr "" -#: ../NEWS:805 +#: ../NEWS:1118 msgid "" ":gh:`152635`: Fix a crash caused when running out of memory creating a :mod:" "`!_interpchannels` channel. Now a :exc:`MemoryError` is correctly raised." msgstr "" -#: ../NEWS:809 +#: ../NEWS:1122 msgid "" ":gh:`152375`: Fix undefined behaviour when a :mod:`sys.monitoring` callback " "raised an exception while the program was following a branch or loop." msgstr "" -#: ../NEWS:812 +#: ../NEWS:1125 msgid "" ":gh:`152235`: Defer GC tracking of :meth:`set.intersection`, :meth:`set." "difference`, :meth:`set.symmetric_difference`, :meth:`set.union` and ``set." "__sub__``. Patch by Donghee Na." msgstr "" -#: ../NEWS:816 +#: ../NEWS:1129 msgid "" ":gh:`152235`: Defer GC tracking of a :class:`set` or :class:`frozenset` to " "the end of its construction from iterable. Patch by Donghee Na." msgstr "" -#: ../NEWS:819 +#: ../NEWS:1132 msgid "" ":gh:`152228`: Fix an assertion failure when python is built in a debug mode " "that happened in :meth:`str.replace` under a limited memory situation." msgstr "" -#: ../NEWS:822 +#: ../NEWS:1135 msgid "" ":gh:`151763`: Fixes possible crash on :class:`types.CodeType` deallocation." msgstr "" -#: ../NEWS:824 +#: ../NEWS:1137 msgid "" ":gh:`152020`: On the free-threaded build, :func:`asyncio.all_tasks` no " "longer loses eager-started tasks when called from a thread other than the " "one running the event loop." msgstr "" -#: ../NEWS:828 +#: ../NEWS:1141 msgid "" ":gh:`151763`: Fix a potential crash in :func:`compile`, :func:`exec`, :func:" "`eval` and :func:`ast.parse` when an allocation fails: the parser or " "compiler could return without setting an exception." msgstr "" -#: ../NEWS:832 +#: ../NEWS:1145 msgid "" ":gh:`151912`: Fixed a crash in ``type()`` when selecting a metaclass whose " "``tp_new`` slot is ``NULL``. Such metaclasses are now rejected with " "``TypeError`` instead of causing a NULL pointer dereference." msgstr "" -#: ../NEWS:836 +#: ../NEWS:1149 msgid "" ":gh:`151905`: Fix OOM error handling in :c:func:`PyFrame_GetBack` to " "propagate exceptions instead of masking them as None." msgstr "" -#: ../NEWS:839 +#: ../NEWS:1152 msgid "" ":gh:`151773`: Fix a crash in :func:`contextvars.ContextVar.set` when memory " "allocation fails." msgstr "" -#: ../NEWS:842 +#: ../NEWS:1155 msgid "" ":gh:`151126`: Fix a crash when sharing :class:`memoryview` objects between " "interpreters fails due to running out of memory. It now raises a proper :exc:" "`MemoryError`." msgstr "" -#: ../NEWS:846 +#: ../NEWS:1159 msgid "" ":gh:`151644`: Fix a data race in :func:`sys.setdlopenflags` and :func:`sys." "getdlopenflags` when called concurrently in the free-threaded build. The " @@ -1666,138 +2140,138 @@ msgid "" "functions now use atomic load/store operations." msgstr "" -#: ../NEWS:852 +#: ../NEWS:1165 msgid "" ":gh:`151126`: Avoid possible crash in ``_winapi.c`` where a device has no " "memory left. Now it properly raises a :exc:`MemoryError`. Patch by Ivy Xu." msgstr "" -#: ../NEWS:855 +#: ../NEWS:1168 msgid "" ":gh:`151546`: Fix the stack limit check if Python is linked to musl (ex: " "Alpine Linux). Use the stack size set by the linker to compute the stack " "limits. Patch by Victor Stinner." msgstr "" -#: ../NEWS:859 +#: ../NEWS:1172 msgid "" ":gh:`151461`: Fix direct execution of files with invalid source encodings to " "report the underlying codec lookup or decoding error instead of the generic " "``SyntaxError: encoding problem`` message. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:864 +#: ../NEWS:1177 msgid "" ":gh:`151218`: :c:func:`PyConfig_Set` and :func:`sys.set_int_max_str_digits` " "now replace :data:`sys.flags` (create a new object), instead of modifying :" "data:`sys.flags` in-place. Patch by Victor Stinner." msgstr "" -#: ../NEWS:868 +#: ../NEWS:1181 msgid "" ":gh:`151253`: If ``import encodings`` (first import) fails at Python " "startup, dump the Python path configuration to help users debugging their " "configuration. Patch by Victor Stinner." msgstr "" -#: ../NEWS:872 +#: ../NEWS:1185 msgid "" ":gh:`151238`: Fix a crash when compiling a concatenated f-string or t-string " "if an error occurs when processing one of it's parts." msgstr "" -#: ../NEWS:875 ../NEWS:1352 +#: ../NEWS:1188 ../NEWS:1665 msgid "" ":gh:`151126`: Fix a crash, when there's no memory left on a device, which " "happened in :mod:`!_interpchannels` module." msgstr "" -#: ../NEWS:878 ../NEWS:1355 +#: ../NEWS:1191 ../NEWS:1668 msgid "Now it raises proper :exc:`MemoryError` errors." msgstr "" -#: ../NEWS:880 +#: ../NEWS:1193 msgid "" ":gh:`150902`: Apply an existing optimization of PyCriticalSection (single " "mutex) to PyCriticalSection2: avoid acquiring the same locks that the " "current CS has already acquired." msgstr "" -#: ../NEWS:884 +#: ../NEWS:1197 msgid "" ":gh:`151065`: Fix memory leak when using the :ref:`mimalloc memory allocator " "`." msgstr "" -#: ../NEWS:887 +#: ../NEWS:1200 msgid "" ":gh:`151029`: On Linux, fix :func:`sys.remote_exec` unable to find remote " "writable memory when ``libpython`` replaced on disk." msgstr "" -#: ../NEWS:890 +#: ../NEWS:1203 msgid "" ":gh:`150988`: Fix a reference leak in :exc:`OSError` when attributes are set " "before ``super().__init__()``." msgstr "" -#: ../NEWS:893 +#: ../NEWS:1206 msgid "" ":gh:`144774`: Fix data race in :class:`BaseException` when an exception is " "copied while being mutated." msgstr "" -#: ../NEWS:896 +#: ../NEWS:1209 msgid "" ":gh:`150411`: Fix a data race in the free-threaded build when :func:`gc." "get_count` reads the young generation allocation count while another thread " "updates it." msgstr "" -#: ../NEWS:900 +#: ../NEWS:1213 msgid "" ":gh:`149689`: Fix missing error propagation in parser action helpers when " "memory allocation fails. Patch by Thomas Kowalski." msgstr "" -#: ../NEWS:903 +#: ../NEWS:1216 msgid "" ":gh:`149162`: Fix a potential deadlock in :c:func:" "`PyUnicode_InternFromString` and other interning functions in the :term:" "`free-threaded build` when called from C++ static local initializers." msgstr "" -#: ../NEWS:911 +#: ../NEWS:1224 msgid "" ":gh:`155009`: Fix :class:`argparse.ArgumentParser` to preserve the program " "name from ``sys.argv[0]`` when a named module is executed as the main " "program without replacing ``sys.argv[0]``." msgstr "" -#: ../NEWS:915 +#: ../NEWS:1228 msgid "" ":gh:`155063`: Bump the version of pip bundled in ensurepip to version 26.2.1" msgstr "" -#: ../NEWS:917 +#: ../NEWS:1230 msgid "" ":gh:`155063`: Bump the version of pip bundled in ensurepip to version 26.2" msgstr "" -#: ../NEWS:919 +#: ../NEWS:1232 msgid "" ":gh:`154936`: Fix the pure Python :mod:`json` decoder to report the correct " "position for invalid literal control characters in JSON strings." msgstr "" -#: ../NEWS:922 +#: ../NEWS:1235 msgid "" ":gh:`154892`: Fix a bug in the C accelerator for :mod:`zoneinfo` where :" "class:`datetime.datetime` subclasses returning ``-1`` for ``hour``, " "``minute``, or ``second`` could incorrectly raise a :exc:`SystemError`." msgstr "" -#: ../NEWS:926 +#: ../NEWS:1239 msgid "" ":gh:`154848`: The :mod:`pickle` C accelerator now enforces frame boundaries " "when unpickling, as the pure Python implementation already did. An argument " @@ -1807,21 +2281,21 @@ msgid "" "diverging from the :mod:`pickletools` disassembly of the same pickle." msgstr "" -#: ../NEWS:934 +#: ../NEWS:1247 msgid "" ":gh:`109638`: Fix exponential time in :meth:`csv.Sniffer.sniff` for a sample " "which contains many quote characters. A doubled quote character is now also " "detected in a field which contains the delimiter or a line break." msgstr "" -#: ../NEWS:938 +#: ../NEWS:1251 msgid "" ":gh:`98820`: Fix quadratic time in :meth:`csv.Sniffer.sniff` for a sample " "which contains quoted fields, in particular for a single column of quoted " "fields." msgstr "" -#: ../NEWS:942 +#: ../NEWS:1255 msgid "" ":gh:`154738`: Fix :meth:`!ExternalEntityParserCreate` not propagating the " "reparse-deferral setting to the subparser, which left :meth:`!" @@ -1829,7 +2303,7 @@ msgid "" "tonghuaroot." msgstr "" -#: ../NEWS:947 +#: ../NEWS:1260 msgid "" ":gh:`93251`: Fix :exc:`UnicodeDecodeError` in :mod:`socket` functions (such " "as :func:`~socket.getaddrinfo` and :func:`~socket.gethostbyaddr`) when the " @@ -1837,20 +2311,20 @@ msgid "" "locale encoding." msgstr "" -#: ../NEWS:952 +#: ../NEWS:1265 msgid "" ":gh:`154551`: Fix :func:`ctypes.util.find_library` returning ``None`` in non-" "UTF-8 locales." msgstr "" -#: ../NEWS:955 +#: ../NEWS:1268 msgid "" ":gh:`79366`: Fixed a race condition in :mod:`logging`: if a handler was " "removed while a record was being emitted, the following handlers of the same " "logger could be skipped." msgstr "" -#: ../NEWS:959 +#: ../NEWS:1272 msgid "" ":gh:`73458`: Fix :func:`logging.config.listen`: it left the caller waiting " "for the ``ready`` event forever if the server could not be started, for " @@ -1859,66 +2333,66 @@ msgid "" "is only aliased to ``::1``." msgstr "" -#: ../NEWS:965 +#: ../NEWS:1278 msgid "" ":gh:`154460`: Fix :func:`time.strftime` and :meth:`datetime.datetime." "strftime` returning a wrong ISO 8601 week number (``%V``) on OpenBSD." msgstr "" -#: ../NEWS:969 +#: ../NEWS:1282 msgid "" ":gh:`154435`: Fix :func:`os.posix_fadvise` and :func:`os.posix_fallocate` on " "DragonFly BSD: they raised :exc:`OSError` with a meaningless error code, " "because these functions return -1 and set ``errno`` there." msgstr "" -#: ../NEWS:973 +#: ../NEWS:1286 msgid "" ":gh:`154399`: Fix :mod:`venv` activation in a non-interactive csh: " "``activate.csh`` no longer fails when the ``prompt`` variable is not set." msgstr "" -#: ../NEWS:976 +#: ../NEWS:1289 msgid "" ":gh:`154389`: Fix :func:`uuid.uuid1` on OpenBSD: it returned a version 4 " "UUID, because ``uuid_create()`` generates random UUIDs on this platform." msgstr "" -#: ../NEWS:979 +#: ../NEWS:1292 msgid "" ":gh:`154324`: Fix :func:`os.sendfile` on illumos: it no longer reports a " "successful transfer when the underlying system call failed without writing " "any data." msgstr "" -#: ../NEWS:983 +#: ../NEWS:1296 msgid "" ":gh:`154307`: Fix :meth:`tempfile.TemporaryDirectory.cleanup` on DragonFly " "BSD, where removing a file with the ``UF_NOUNLINK`` flag failed with " "``EISDIR`` instead of ``EPERM``." msgstr "" -#: ../NEWS:987 +#: ../NEWS:1300 msgid "" ":gh:`154291`: Fix :func:`socket.has_dualstack_ipv6` to return ``False`` on " "platforms such as DragonFly BSD where setting ``IPV6_V6ONLY`` to 0 silently " "has no effect." msgstr "" -#: ../NEWS:991 +#: ../NEWS:1304 msgid "" ":gh:`154283`: On DragonFly BSD, :func:`threading.get_native_id` now returns " "a value that is unique across processes, matching the other platforms." msgstr "" -#: ../NEWS:994 +#: ../NEWS:1307 msgid "" ":gh:`154258`: Fix a crash in :meth:`mmap.mmap.resize` on NetBSD when growing " "a shared anonymous mapping. :meth:`!resize` now raises :exc:`ValueError` in " "this case, as it already did on Linux." msgstr "" -#: ../NEWS:998 +#: ../NEWS:1311 msgid "" ":gh:`131565`: :func:`ctypes.util.dllist` now works on NetBSD. It is " "implemented in the :mod:`!_ctypes` extension module so that " @@ -1927,20 +2401,20 @@ msgid "" "called through ctypes." msgstr "" -#: ../NEWS:1004 +#: ../NEWS:1317 msgid "" ":gh:`154225`: Fix :func:`os.openpty` on Solaris and illumos: it no longer " "leaves the pseudo-terminal as the controlling terminal of the calling " "process." msgstr "" -#: ../NEWS:1008 +#: ../NEWS:1321 msgid "" ":gh:`154227`: Fix :func:`os.posix_openpt` on OpenBSD, where it rejected the :" "data:`~os.O_CLOEXEC` flag." msgstr "" -#: ../NEWS:1011 +#: ../NEWS:1324 msgid "" ":gh:`145030`: Fix :mod:`asyncio` write pipe transports for named FIFOs on " "macOS and Solaris. Unread data sitting in the FIFO made the transport " @@ -1948,23 +2422,23 @@ msgid "" "transport." msgstr "" -#: ../NEWS:1016 +#: ../NEWS:1329 msgid "" ":gh:`154001`: Fix :func:`random.binomialvariate` raising :exc:" "`ZeroDivisionError` when :func:`random.random` returns zero." msgstr "" -#: ../NEWS:1019 +#: ../NEWS:1332 msgid "" ":gh:`153908`: Fix data race when calling :func:`repr` on :class:`itertools." "count` under the :term:`free-threaded build`." msgstr "" -#: ../NEWS:1022 +#: ../NEWS:1335 msgid ":gh:`153896`: Deduplicate unhashable args in :data:`typing.Literal`." msgstr "" -#: ../NEWS:1024 +#: ../NEWS:1337 msgid "" ":gh:`153864`: On a wide :mod:`curses` build, :meth:`curses.window.insch` now " "inserts a non-ASCII byte as the character it encodes in the window's " @@ -1972,34 +2446,34 @@ msgid "" "code point." msgstr "" -#: ../NEWS:1029 +#: ../NEWS:1342 msgid "" ":gh:`153862`: On a wide :mod:`curses` build, :meth:`curses.window.inch` now " "returns the locale-encoded byte of a non-ASCII character, matching :meth:" "`~curses.window.instr`, instead of the low byte of its code point." msgstr "" -#: ../NEWS:1033 +#: ../NEWS:1346 msgid "" ":gh:`146011`: Fix a heap-use-after-free in the C implementation of :mod:" "`decimal` when calling :func:`repr` after deleting the :class:`~decimal." "Context`." msgstr "" -#: ../NEWS:1037 +#: ../NEWS:1350 msgid "" ":gh:`153761`: Fix cancelling :meth:`asyncio.loop.sock_accept` dropping a " "pending connection." msgstr "" -#: ../NEWS:1040 +#: ../NEWS:1353 msgid "" ":gh:`153695`: Hashing a :class:`sqlite3.Row` that contains an unhashable " "value now raises :exc:`TypeError` instead of :exc:`SystemError`. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:1044 +#: ../NEWS:1357 msgid "" ":gh:`127049`: Fix a race condition in :mod:`asyncio` on Unix where :meth:" "`asyncio.subprocess.Process.send_signal`, :meth:`~asyncio.subprocess.Process." @@ -2008,14 +2482,14 @@ msgid "" "when ThreadedChildWatcher is used. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:1051 +#: ../NEWS:1364 msgid "" ":gh:`153658`: Fix :meth:`sqlite3.Connection.iterdump` raising :exc:`sqlite3." "OperationalError` when a table name contains a single quote. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:1055 +#: ../NEWS:1368 msgid "" ":gh:`85943`: Fix :mod:`struct` functions raising :exc:`BytesWarning` under " "the ``-bb`` command line option when a :class:`str` format is used after an " @@ -2023,7 +2497,7 @@ msgid "" "longer mixes :class:`str` and :class:`bytes` keys." msgstr "" -#: ../NEWS:1060 +#: ../NEWS:1373 msgid "" ":gh:`153404`: :class:`urllib.robotparser.RobotFileParser` now silently " "ignores a ``Crawl-delay`` or ``Request-rate`` value written with non-decimal " @@ -2031,33 +2505,33 @@ msgid "" "`ValueError` and aborting the parse of the whole ``robots.txt`` file." msgstr "" -#: ../NEWS:1065 +#: ../NEWS:1378 msgid "" ":gh:`153417`: Error messages from :meth:`imaplib.IMAP4.select` and :meth:" "`imaplib.IMAP4.uid` no longer raise :exc:`BytesWarning` under :option:`!-bb` " "when the mailbox or command argument is :class:`bytes`." msgstr "" -#: ../NEWS:1069 +#: ../NEWS:1382 msgid "" ":gh:`153406`: :func:`email.utils.parsedate_to_datetime` now raises :exc:" "`ValueError` instead of :exc:`OverflowError` when the parsed year or " "timezone offset is out of range, matching its documented behavior." msgstr "" -#: ../NEWS:1073 +#: ../NEWS:1386 msgid "" ":gh:`153083`: Defer GC tracking of an :class:`array.array` to the end of its " "construction. Patch by Donghee Na." msgstr "" -#: ../NEWS:1076 +#: ../NEWS:1389 msgid "" ":gh:`153292`: Fix data race in repr of :class:`threading.RLock` in free-" "threading build." msgstr "" -#: ../NEWS:1079 +#: ../NEWS:1392 msgid "" ":gh:`143990`: A :class:`tkinter.font.Font` created from a named font, " "including by :meth:`~tkinter.font.Font.copy`, now copies its configured " @@ -2065,37 +2539,37 @@ msgid "" "preserving a size specified in pixels (a negative size)." msgstr "" -#: ../NEWS:1084 +#: ../NEWS:1397 msgid "" ":gh:`148286`: Fix undefined behavior in :attr:`compression.zstd." "ZstdDecompressor.unused_data` when a complete frame was decompressed in a " "single call." msgstr "" -#: ../NEWS:1088 +#: ../NEWS:1401 msgid ":gh:`153210`: Fix crash on :mod:`array` import under a memory pressure." msgstr "" -#: ../NEWS:1090 +#: ../NEWS:1403 msgid "" ":gh:`153200`: Fix :func:`math.isqrt` returning an incorrect result for " "arguments not less than 2**64 that are instances of an :class:`int` subclass " "with an overridden comparison operator." msgstr "" -#: ../NEWS:1094 +#: ../NEWS:1407 msgid "" ":gh:`153068`: Fix :meth:`!cProfile.Profile.enable` to no longer overwrite " "errors from :mod:`sys.monitoring`." msgstr "" -#: ../NEWS:1097 +#: ../NEWS:1410 msgid "" ":gh:`153062`: Fix a crash when concurrently iterating an :func:`itertools." "tee` iterator on the free-threaded build." msgstr "" -#: ../NEWS:1100 +#: ../NEWS:1413 msgid "" ":gh:`153056`: Fix :class:`string.Template` raising a spurious :exc:" "`ValueError` when the *pattern* attribute is a compiled regular expression " @@ -2103,27 +2577,27 @@ msgid "" "also occurred as a data race on the first concurrent use." msgstr "" -#: ../NEWS:1105 +#: ../NEWS:1418 msgid "" ":gh:`153037`: Fix :class:`~compression.zstd.ZstdFile` raising :exc:" "`AttributeError` instead of :exc:`io.UnsupportedOperation` when iterating " "over a file that is not open for reading." msgstr "" -#: ../NEWS:1109 +#: ../NEWS:1422 msgid "" ":gh:`135661`: Fix :class:`html.parser.HTMLParser`: an abruptly closed empty " "comment (```` or ````) no longer extends up to a later ``-->`` in " "the same :meth:`~html.parser.HTMLParser.feed` call." msgstr "" -#: ../NEWS:1113 +#: ../NEWS:1426 msgid "" ":gh:`152851`: Prevent a crash when allocation fails while copying a :func:" "`BLAKE-2s/2b ` object. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:1116 +#: ../NEWS:1429 msgid "" ":gh:`54930`: Error responses of :class:`http.server.BaseHTTPRequestHandler` " "to malformed request lines now include a status line and headers instead of " @@ -2131,7 +2605,7 @@ msgid "" "word ``GET`` request line) now receives an HTTP/0.9 style response." msgstr "" -#: ../NEWS:1121 +#: ../NEWS:1434 msgid "" ":gh:`119592`: Fix :class:`concurrent.futures.ProcessPoolExecutor` stranding " "submitted work forever when a worker process exited upon reaching its " @@ -2145,33 +2619,33 @@ msgid "" "crash the executor management thread." msgstr "" -#: ../NEWS:1133 +#: ../NEWS:1446 msgid "" ":gh:`152951`: :class:`collections.deque` prevent rare crash when calling " "``extend`` under high memory pressure conditions." msgstr "" -#: ../NEWS:1136 +#: ../NEWS:1449 msgid "" ":gh:`150880`: Normalize non-extended Windows paths before appending the " "wildcard used by ``os.listdir()`` and ``os.scandir()``, making paths with " "trailing spaces behave consistently with other filesystem APIs." msgstr "" -#: ../NEWS:1140 +#: ../NEWS:1453 msgid "" ":gh:`152849`: Out-of-range float and integer timestamps now raise :exc:" "`OverflowError` with the same message. Patch by tonghuaroot." msgstr "" -#: ../NEWS:1143 +#: ../NEWS:1456 msgid "" ":gh:`152847`: Reject a POSIX TZ transition rule with non-digit characters in " "the day-of-year field in the pure-Python :mod:`zoneinfo` parser. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:1147 +#: ../NEWS:1460 msgid "" ":gh:`108280`: Connecting :mod:`imaplib` to a server that does not send a " "valid IMAP4 greeting (for example a POP3 server answering on the IMAP port) " @@ -2179,7 +2653,7 @@ msgid "" "IMAP4.error: None``." msgstr "" -#: ../NEWS:1152 +#: ../NEWS:1465 msgid "" ":gh:`63121`: :mod:`imaplib` now refreshes the cached capability list after a " "successful :meth:`~imaplib.IMAP4.login` or :meth:`~imaplib.IMAP4." @@ -2190,7 +2664,7 @@ msgid "" "redundant ``CAPABILITY`` command." msgstr "" -#: ../NEWS:1161 +#: ../NEWS:1474 msgid "" ":gh:`88574`: :mod:`imaplib` no longer fails when a server sends a spurious " "blank line after the counted data of a literal, including after a literal " @@ -2198,7 +2672,7 @@ msgid "" "Such blank lines are now skipped without swallowing the following line." msgstr "" -#: ../NEWS:1166 +#: ../NEWS:1479 msgid "" ":gh:`152502`: Detect the :mod:`curses` mouse interface (:func:`~curses." "getmouse`, the ``BUTTON*`` constants, and others) with a configure " @@ -2208,13 +2682,13 @@ msgid "" "``windows-curses``)." msgstr "" -#: ../NEWS:1173 +#: ../NEWS:1486 msgid "" ":gh:`151842`: Fix a crash in :func:`!_interpreters.capture_exception` when :" "exc:`MemoryError` happens. Patch by Amrutha Modela." msgstr "" -#: ../NEWS:1176 +#: ../NEWS:1489 msgid "" ":gh:`40038`: :mod:`imaplib` now again quotes command arguments when " "necessary, for example mailbox names containing a space. Such quoting was " @@ -2224,7 +2698,7 @@ msgid "" "unchanged, so code that quotes arguments itself keeps working." msgstr "" -#: ../NEWS:1183 +#: ../NEWS:1496 msgid "" ":gh:`50966`: Fix unbounded recursion in :mod:`turtle` when a mouse event " "handler that moves the turtle is reentered while the screen is being " @@ -2232,7 +2706,7 @@ msgid "" "previously crash the interpreter." msgstr "" -#: ../NEWS:1188 +#: ../NEWS:1501 msgid "" ":gh:`152569`: Fix :func:`asyncio.wait` leaking waiting tasks via the await-" "graph when racing a future that never resolves. The waiting task is now " @@ -2240,7 +2714,7 @@ msgid "" "returns, even for pending futures." msgstr "" -#: ../NEWS:1193 +#: ../NEWS:1506 msgid "" ":gh:`78335`: Update the docstrings of :mod:`tkinter` and :mod:`tkinter.ttk` " "widget classes to list all supported widget options, including options added " @@ -2248,26 +2722,26 @@ msgid "" "previously had no option list at all." msgstr "" -#: ../NEWS:1198 +#: ../NEWS:1511 msgid "" ":gh:`152431`: Fix ``asyncio.StreamWriter.start_tls()`` to keep the linked " "``StreamReader`` transport in sync with the upgraded transport." msgstr "" -#: ../NEWS:1201 +#: ../NEWS:1514 msgid "" ":gh:`151126`: Fix two crashes in :mod:`tkinter` and :mod:`socket` modules " "initialization under a memory pressure. Sets missing :exc:`MemoryError`." msgstr "" -#: ../NEWS:1204 +#: ../NEWS:1517 msgid "" ":gh:`133031`: :class:`curses.textpad.Textbox` now enters and reads back the " "non-ASCII characters of an 8-bit locale encoding, instead of mangling them " "with a 7-bit mask." msgstr "" -#: ../NEWS:1208 +#: ../NEWS:1521 msgid "" ":gh:`71880`: :class:`curses.textpad.Textbox` now lets the lower-right cell " "of the window be edited. Writing it with :meth:`~curses.window.addch` would " @@ -2276,7 +2750,7 @@ msgid "" "which keeps the cursor in place." msgstr "" -#: ../NEWS:1214 +#: ../NEWS:1527 msgid "" ":gh:`83274`: Deallocating a :mod:`tkinter` application from a thread other " "than the one it was created in no longer crashes the interpreter. The " @@ -2284,14 +2758,14 @@ msgid "" "reported." msgstr "" -#: ../NEWS:1219 +#: ../NEWS:1532 msgid "" ":gh:`152305`: Fix the pure-Python :meth:`datetime.time.strftime` " "implementation raising :exc:`AttributeError` for the year directives. Patch " "by tonghuaroot." msgstr "" -#: ../NEWS:1223 +#: ../NEWS:1536 msgid "" ":gh:`88758`: :meth:`!tkinter.Misc.focus_get`, :meth:`!focus_displayof`, :" "meth:`!focus_lastfor` and :meth:`!winfo_containing` now return ``None`` " @@ -2299,21 +2773,21 @@ msgid "" "`tkinter` (for example a torn-off menu)." msgstr "" -#: ../NEWS:1228 +#: ../NEWS:1541 msgid "" ":gh:`38464`: :meth:`!tkinter.Misc.nametowidget` now resolves the auto-" "generated names of cloned menus (a menu used as a menubar or a cascade) back " "to the original widget." msgstr "" -#: ../NEWS:1232 +#: ../NEWS:1545 msgid "" ":gh:`152248`: Make the C and pure-Python :mod:`zoneinfo` parsers validate " "POSIX TZ abbreviations consistently, rejecting unquoted abbreviations with " "non-letter characters and empty quoted abbreviations. Patch by tonghuaroot." msgstr "" -#: ../NEWS:1237 +#: ../NEWS:1550 msgid "" ":gh:`80937`: Fix a memory leak in :mod:`tkinter` when a Tcl command created " "with ``createcommand`` was not explicitly removed before the interpreter was " @@ -2321,14 +2795,14 @@ msgid "" "reference cycle." msgstr "" -#: ../NEWS:1242 +#: ../NEWS:1555 msgid "" ":gh:`152246`: Fix the pure-Python :mod:`zoneinfo` parser accepting an " "invalid POSIX TZ transition rule with a non-period separator. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:1246 +#: ../NEWS:1559 msgid "" ":gh:`139816`: Fix a hang in :mod:`tkinter` on interactive Python built " "without :mod:`readline`. An exception raised in a callback no longer causes " @@ -2336,7 +2810,7 @@ msgid "" "callbacks now keep running until input is actually available on stdin." msgstr "" -#: ../NEWS:1252 +#: ../NEWS:1565 msgid "" ":gh:`139145`: Fix a busy loop in :mod:`tkinter` on interactive Python. When " "a Tcl command running its own event loop (such as ``vwait`` or :meth:`!" @@ -2345,7 +2819,7 @@ msgid "" "is available. Based on a patch by Michiel de Hoon." msgstr "" -#: ../NEWS:1258 +#: ../NEWS:1571 msgid "" ":gh:`152212`: Fix the pure-Python :mod:`zoneinfo` parser accepting a POSIX " "TZ string with a ``std`` abbreviation but no offset. This is invalid per " @@ -2353,13 +2827,13 @@ msgid "" "tonghuaroot." msgstr "" -#: ../NEWS:1263 +#: ../NEWS:1576 msgid "" ":gh:`152156`: Fix a possible crash in :func:`concurrent.interpreters.create` " "under limited memory conditions." msgstr "" -#: ../NEWS:1266 +#: ../NEWS:1579 msgid "" ":gh:`152157`: The C implementations of :meth:`~datetime.datetime." "fromisoformat` and :meth:`~datetime.time.fromisoformat` now reject a decimal " @@ -2367,72 +2841,72 @@ msgid "" "designator." msgstr "" -#: ../NEWS:1271 +#: ../NEWS:1584 msgid "" ":gh:`151763`: Fix crash in :func:`!_interpqueues.create` whe :exc:" "`MemoryError` happens on queue creation." msgstr "" -#: ../NEWS:1274 +#: ../NEWS:1587 msgid "" ":gh:`105895`: Add :keyword:`match` and :keyword:`case` to the list of " "supported topics by :func:`help`." msgstr "" -#: ../NEWS:1277 +#: ../NEWS:1590 msgid "" ":gh:`152079`: Fix :meth:`datetime.datetime.fromisoformat` in the C " "implementation dropping the sub-second part of a UTC offset whose whole-" "second part is zero, matching the pure-Python implementation." msgstr "" -#: ../NEWS:1281 +#: ../NEWS:1594 msgid "" ":gh:`152052`: The :mod:`json` C accelerator now correctly reports an " "unterminated string for a ``\\uXXXX`` escape at the end of the input." msgstr "" -#: ../NEWS:1284 +#: ../NEWS:1597 msgid "" ":gh:`152060`: Fix :meth:`datetime.datetime.fromisoformat` raising :exc:" "`AssertionError` instead of :exc:`ValueError` for some malformed strings in " "the pure-Python implementation, matching the C implementation." msgstr "" -#: ../NEWS:1288 +#: ../NEWS:1601 msgid "" ":gh:`126219`: Fixed a crash in :class:`tkinter.Tk` when *className* contains " "a non-BMP character and tkinter is built against Tcl/Tk 8.x. Such a name is " "now rejected with a :exc:`ValueError`." msgstr "" -#: ../NEWS:1292 +#: ../NEWS:1605 msgid "" ":gh:`86165`: Fix :func:`imaplib.Time2Internaldate` to use the local timezone " "offset for ``time.struct_time`` values with ``tm_gmtoff`` set to ``None``, " "as returned by ``datetime.datetime.timetuple()``. Contributed by Xiao Yuan." msgstr "" -#: ../NEWS:1297 +#: ../NEWS:1610 msgid "" ":gh:`151814`: Fix unbounded memory growth in :class:`io.TextIOWrapper` when " "repeatedly writing an empty string." msgstr "" -#: ../NEWS:1300 +#: ../NEWS:1613 msgid "" ":gh:`151770`: Fix :meth:`datetime.datetime.fromisoformat` raising :exc:" "`AssertionError` instead of :exc:`ValueError` for an out-of-range month " "combined with a ``24:00`` time." msgstr "" -#: ../NEWS:1304 +#: ../NEWS:1617 msgid "" ":gh:`151665`: :func:`inspect.signature` now works on the lazy evaluators of " "type aliases and type parameters instead of raising :exc:`ValueError`." msgstr "" -#: ../NEWS:1307 +#: ../NEWS:1620 msgid "" ":gh:`151695`: Fix a use-after-free in the :mod:`curses` module. The " "encoding of the initial screen, used by :func:`curses.unctrl` and :func:" @@ -2441,27 +2915,27 @@ msgid "" "deallocated." msgstr "" -#: ../NEWS:1313 +#: ../NEWS:1626 msgid "" ":gh:`151596`: Add missing ``size`` positional argument to the pure-Python " "implementation of :meth:`io.TextIOBase.readline`." msgstr "" -#: ../NEWS:1316 +#: ../NEWS:1629 msgid "" ":gh:`151640`: Fix a data race in :class:`io.BytesIO` in free-threaded builds " "when whole-buffer reads or peeks, or :meth:`~io.BytesIO.getvalue`, share the " "internal buffer with concurrent writes." msgstr "" -#: ../NEWS:1320 +#: ../NEWS:1633 msgid "" ":gh:`148660`: Fix a crash in :meth:`!collections.OrderedDict.copy` when a " "key's ``__eq__`` or a subclass method mutates the dict during the copy. Now " "raises :exc:`RuntimeError` instead, as iteration does." msgstr "" -#: ../NEWS:1324 +#: ../NEWS:1637 msgid "" ":gh:`151497`: Opening a :mod:`tarfile` archive no longer attempts to pre-" "allocate a huge buffer when a crafted or truncated member claims an " @@ -2470,26 +2944,26 @@ msgid "" "longer trigger memory exhaustion." msgstr "" -#: ../NEWS:1330 +#: ../NEWS:1643 msgid "" ":gh:`151403`: Fixed a crash in :class:`subprocess.Popen` (and " "``_posixsubprocess.fork_exec``) when an ``argv`` item's :meth:`~os.PathLike." "__fspath__` concurrently mutates the ``args`` sequence being converted." msgstr "" -#: ../NEWS:1335 +#: ../NEWS:1648 msgid "" ":gh:`151390`: Colorize ``match`` in the :term:`REPL` when followed by a " "unary ``+`` or ``-`` operator. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:1338 +#: ../NEWS:1651 msgid "" ":gh:`151126`: Fix crash on unset :exc:`MemoryError` on allocation failure " "in :func:`ctypes.get_errno`." msgstr "" -#: ../NEWS:1341 +#: ../NEWS:1654 msgid "" ":gh:`151416`: Fix a crash in :func:`os.spawnv` and :func:`os.spawnve` when " "an *argv* item's :meth:`~os.PathLike.__fspath__` method mutates the *argv* " @@ -2498,17 +2972,17 @@ msgid "" "embedded null, are no longer replaced with a generic :exc:`TypeError`." msgstr "" -#: ../NEWS:1347 +#: ../NEWS:1660 msgid ":gh:`151337`: Avoid possible memory leak in ``tkinter.c`` on Windows." msgstr "" -#: ../NEWS:1349 +#: ../NEWS:1662 msgid "" ":gh:`151126`: Fix a crash when :exc:`MemoryError` in :func:`!os." "_path_splitroot` was not set properly." msgstr "" -#: ../NEWS:1357 +#: ../NEWS:1670 msgid "" ":gh:`119710`: Fix :mod:`asyncio` subprocess :meth:`~asyncio.subprocess." "Process.wait` hanging when the process has exited but one of its pipes is " @@ -2517,7 +2991,7 @@ msgid "" "pipes' state." msgstr "" -#: ../NEWS:1363 +#: ../NEWS:1676 msgid "" ":gh:`151295`: Fixed a crash (use-after-free) in :meth:`bytes.join` and :meth:" "`bytearray.join` that could occur if an item's :meth:`~object.__buffer__` " @@ -2525,50 +2999,50 @@ msgid "" "as a :exc:`RuntimeError` instead." msgstr "" -#: ../NEWS:1368 +#: ../NEWS:1681 msgid "" ":gh:`109940`: Fix Windows :mod:`venv` activation in ``cmd.exe`` to respect " "``VIRTUAL_ENV_DISABLE_PROMPT``." msgstr "" -#: ../NEWS:1371 +#: ../NEWS:1684 msgid "" ":gh:`117807`: Fix :mod:`mimetypes` initialization from MIME map files " "containing invalid UTF-8 bytes." msgstr "" -#: ../NEWS:1374 +#: ../NEWS:1687 msgid "" ":gh:`150583`: Correctly set the default compression level in :mod:" "`compression.zstd` when passing a digested dictionary during compression." msgstr "" -#: ../NEWS:1378 +#: ../NEWS:1691 msgid "" ":gh:`150641`: Fix bug where :func:`typing.evaluate_forward_ref` with the " "``STRING`` format could leak internal names used by the annotation machinery." msgstr "" -#: ../NEWS:1382 +#: ../NEWS:1695 msgid "" ":gh:`150484`: Fix :func:`unittest.mock.mock_open` ``__exit__`` raising " "``TypeError`` when used with :class:`contextlib.ExitStack`." msgstr "" -#: ../NEWS:1385 +#: ../NEWS:1698 msgid "" ":gh:`149816`: Fix a potential use after free condition in :func:`pickle." "dumps` in free-threaded mode when serializing lists." msgstr "" -#: ../NEWS:1388 +#: ../NEWS:1701 msgid "" ":gh:`149319`: The :mod:`asyncio` REPL now ignores :envvar:`PYTHONSTARTUP` " "and :envvar:`PYTHON_BASIC_REPL` when :option:`-E` or :option:`-I` is used. " "Patch by Jonathan Dung." msgstr "" -#: ../NEWS:1392 +#: ../NEWS:1705 msgid "" ":gh:`47005`: Fix :meth:`!urllib.request.AbstractHTTPHandler.do_open` to give " "regular headers set via :meth:`~urllib.request.Request.add_header` priority " @@ -2576,13 +3050,13 @@ msgid "" "get_header` and :meth:`~urllib.request.Request.header_items`." msgstr "" -#: ../NEWS:1398 +#: ../NEWS:1711 msgid "" ":gh:`123471`: Make concurrent iteration over :class:`itertools.zip_longest` " "safe under free-threading." msgstr "" -#: ../NEWS:1401 +#: ../NEWS:1714 msgid "" ":gh:`123720`: asyncio: Fix :func:`asyncio.Server.serve_forever` shutdown " "regression. Since 3.12, cancelling ``serve_forever()`` could hang waiting " @@ -2592,33 +3066,33 @@ msgid "" "observe EOF." msgstr "" -#: ../NEWS:1408 +#: ../NEWS:1721 msgid "" ":gh:`123471`: Make concurrent iteration over :class:`itertools.accumulate` " "safe under free-threading." msgstr "" -#: ../NEWS:1411 +#: ../NEWS:1724 msgid "" ":gh:`123471`: Make concurrent iteration over :class:`itertools." "combinations_with_replacement` and :class:`itertools.permutations` safe " "under free-threading." msgstr "" -#: ../NEWS:1415 +#: ../NEWS:1728 msgid "" ":gh:`143988`: Fixed crashes in :meth:`socket.socket.sendmsg` and :meth:" "`socket.socket.recvmsg_into` that could occur if buffer sequences are " "concurrently mutated." msgstr "" -#: ../NEWS:1419 +#: ../NEWS:1732 msgid "" ":gh:`130796`: Undeprecate the :func:`locale.getdefaultlocale` function. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:1422 +#: ../NEWS:1735 msgid "" ":gh:`115634`: Fix a deadlock in :class:`concurrent.futures." "ProcessPoolExecutor` when using ``max_tasks_per_child``, present since the " @@ -2627,58 +3101,58 @@ msgid "" "Based on a fix proposed by Tabrez Mohammed." msgstr "" -#: ../NEWS:1429 +#: ../NEWS:1742 msgid "" ":gh:`140326`: Fix the :mod:`asyncio` REPL namespace so that relative imports " "no longer resolve against the :mod:`asyncio` package and ``__file__`` is no " "longer set." msgstr "" -#: ../NEWS:1433 +#: ../NEWS:1746 msgid "" ":gh:`79638`: Disallow all access in :mod:`urllib.robotparser` if the " "``robots.txt`` file is unreachable due to server or network errors." msgstr "" -#: ../NEWS:1436 +#: ../NEWS:1749 msgid "" ":gh:`123471`: Make concurrent iterations over :class:`itertools.chain` safe " "under :term:`free threading`." msgstr "" -#: ../NEWS:1439 +#: ../NEWS:1752 msgid "" ":gh:`123471`: Make concurrent iterations over :class:`itertools." "combinations` and :class:`itertools.product` safe under free-threading." msgstr "" -#: ../NEWS:1442 +#: ../NEWS:1755 msgid "" ":gh:`123471`: Make concurrent iterations over :class:`itertools.cycle` safe " "under free-threading." msgstr "" -#: ../NEWS:1445 +#: ../NEWS:1758 msgid "" ":gh:`120665`: Fixed an issue where ``unittest`` loaders would load and " "instantiate :class:`unittest.TestCase`-derived subclasses that are also " "abstract base classes, which can't be instantiated." msgstr "" -#: ../NEWS:1449 +#: ../NEWS:1762 msgid "" ":gh:`105708`: Accept an uppercase V prefix in IPvFuture addresses in :func:" "`urllib.parse.urlsplit`." msgstr "" -#: ../NEWS:1452 +#: ../NEWS:1765 msgid "" ":gh:`103925`: Fix :meth:`csv.Sniffer.sniff` for a sample with ``\\r\\n`` " "line endings in which a quoted field ends a line: a letter could be detected " "as the delimiter." msgstr "" -#: ../NEWS:1456 +#: ../NEWS:1769 msgid "" ":gh:`101267`: When a worker process terminates unexpectedly, :class:" "`concurrent.futures.ProcessPoolExecutor` now sets a separate :exc:" @@ -2689,13 +3163,13 @@ msgid "" "appending another copy of the traceback to it." msgstr "" -#: ../NEWS:1467 +#: ../NEWS:1780 msgid "" ":gh:`118150`: Clarify in the :mod:`difflib` documentation what *junk* " "actually does, its drawbacks, and how to control it." msgstr "" -#: ../NEWS:1470 +#: ../NEWS:1783 msgid "" ":gh:`86726`: Greatly expand the :mod:`tkinter` documentation to cover the " "full public API of the package and its submodules. The descriptions are " @@ -2703,43 +3177,43 @@ msgid "" "``versionadded``/``versionchanged`` information." msgstr "" -#: ../NEWS:1478 +#: ../NEWS:1791 msgid "" ":gh:`155109`: Add ``test.support.run_with_limited_c_stack()`` and use it in " "tests that exhaust the C stack with a fixed number of recursive calls, so " "that their outcome no longer depends on the C stack size." msgstr "" -#: ../NEWS:1482 +#: ../NEWS:1795 msgid ":gh:`76595`: Add C API tests for :c:func:`PyCapsule_Import`." msgstr "" -#: ../NEWS:1484 +#: ../NEWS:1797 msgid "" ":gh:`154211`: Add ``test.support.skip_if_huge_c_stack()`` and use it to skip " "tests that exhaust the C stack if the stack limit is very large (e.g. on " "DragonFly BSD or with ``ulimit -s unlimited``)." msgstr "" -#: ../NEWS:1488 +#: ../NEWS:1801 msgid "" ":gh:`154167`: The test runner (regrtest) now restores the default SIGINT " "handler if it was inherited as ignored, so the test suite no longer hangs " "when run as a shell background job." msgstr "" -#: ../NEWS:1492 +#: ../NEWS:1805 msgid ":gh:`154144`: Fix building the :mod:`!_testcapi` module on NetBSD." msgstr "" -#: ../NEWS:1494 +#: ../NEWS:1807 msgid "" ":gh:`152548`: Add the :func:`test.support.isolation.runInSubprocess` " "decorator to run a test method or ``TestCase`` subclass in a fresh " "interpreter subprocess, isolated from the rest of the test run." msgstr "" -#: ../NEWS:1498 +#: ../NEWS:1811 msgid "" ":gh:`151626`: Fix several tests in ``test.test_inspect``, ``test." "test_import``, ``test.test_importlib``, ``test.test_py_compile`` and ``test." @@ -2748,19 +3222,19 @@ msgid "" "where they assume the default ``__pycache__`` bytecode layout." msgstr "" -#: ../NEWS:1504 +#: ../NEWS:1817 msgid "" ":gh:`151096`: Fix ``test_embed`` failing when CPython is configured with a " "split exec prefix (``--exec-prefix`` differing from ``--prefix``)." msgstr "" -#: ../NEWS:1507 +#: ../NEWS:1820 msgid "" ":gh:`148853`: Fix tests failing on FreeBSD in test.support's " "in_systemd_nspawn_sync_suppressed() due to unreadable /run directory." msgstr "" -#: ../NEWS:1513 +#: ../NEWS:1826 msgid "" ":gh:`154070`: Build the :mod:`curses` module against a wide-character " "capable ncurses even when it is not named ``ncursesw`` -- for example the " @@ -2768,19 +3242,19 @@ msgid "" "a library previously produced a narrow build." msgstr "" -#: ../NEWS:1518 +#: ../NEWS:1831 msgid "" ":gh:`126877`: Fix the :program:`configure` check for Tcl/Tk which could " "wrongly succeed with optimizing compilers when the libraries are missing." msgstr "" -#: ../NEWS:1521 +#: ../NEWS:1834 msgid "" ":gh:`153438`: Update Windows build and installer tooling and documentation " "to use the current download URL for ``nuget.exe``." msgstr "" -#: ../NEWS:1524 +#: ../NEWS:1837 msgid "" ":gh:`152502`: The :mod:`curses` module now detects ``set_escdelay()``, " "``set_tabsize()`` and the ``ESCDELAY`` and ``TABSIZE`` variables with :" @@ -2789,28 +3263,28 @@ msgid "" "curses implementations such as NetBSD curses that provide them." msgstr "" -#: ../NEWS:1530 +#: ../NEWS:1843 msgid "" ":gh:`148260`: On Linux when Python is linked to the musl C library, use a " "thread stack size of at least 1 MiB instead of musl default which is 128 " "kiB. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1534 +#: ../NEWS:1847 msgid ":gh:`138800`: Fix library name in python3.pc on Android." msgstr "" -#: ../NEWS:1539 +#: ../NEWS:1852 msgid ":gh:`124111`: Updated Windows builds to use Tcl/Tk 9.0.4." msgstr "" -#: ../NEWS:1541 +#: ../NEWS:1854 msgid "" ":gh:`150836`: Make installed tkinter work with Tcl/Tk 9 builds that embed " "the Tk script library in the Tk DLL on Windows." msgstr "" -#: ../NEWS:1544 +#: ../NEWS:1857 msgid "" ":gh:`140146`: Prevent :mod:`tkinter` from hanging on Windows if stdin is " "redirected to a pipe in an interactive session. This is helpful for testing " @@ -2818,80 +3292,80 @@ msgid "" "cpython test suite." msgstr "" -#: ../NEWS:1552 +#: ../NEWS:1865 msgid "" ":gh:`153711`: On macOS, do not attempt to use the :manpage:`dup3(2)` and :" "manpage:`pipe2(2)` system calls introduced in macOS 27 to prevent problems " "when running on older systems." msgstr "" -#: ../NEWS:1556 +#: ../NEWS:1869 msgid ":gh:`124111`: Update macOS installer to use Tcl/Tk 9.0.4." msgstr "" -#: ../NEWS:1561 +#: ../NEWS:1874 msgid "" ":gh:`82183`: When the shell is busy running code, using \"Run... " "Customized\" with \"Restart shell\" unchecked now reports that the shell is " "executing instead of restarting it anyway." msgstr "" -#: ../NEWS:1565 +#: ../NEWS:1878 msgid "" ":gh:`83653`: Blanking an integer entry in IDLE's Settings dialog, such as " "\"Auto squeeze min lines\", no longer saves an empty string as an invalid " "configuration value." msgstr "" -#: ../NEWS:1569 +#: ../NEWS:1882 msgid "" ":gh:`65339`: Saving the IDLE Shell or an Output window now defaults to a ``." "txt`` extension and lists text files before Python files, since their " "content is not Python source." msgstr "" -#: ../NEWS:1573 +#: ../NEWS:1886 msgid "" ":gh:`80504`: The \"In files:\" field of IDLE's Find in Files dialog now " "always contains a full directory path, even for an unsaved editor or the " "Shell. This shows in the grep output which directory was searched." msgstr "" -#: ../NEWS:1577 +#: ../NEWS:1890 msgid "" ":gh:`134300`: Do not add the ``idlelib`` directory to the path of the IDLE " "user process. User code run in IDLE can no longer import ``idlelib`` " "submodules as top-level modules, such as ``import help``." msgstr "" -#: ../NEWS:1581 +#: ../NEWS:1894 msgid "" ":gh:`89360`: Fix a rare crash in the IDLE editor when the completion window " "is closed: deleting a key binding for a sequence that is not bound to the " "virtual event is now ignored instead of raising a ``ValueError``." msgstr "" -#: ../NEWS:1585 +#: ../NEWS:1898 msgid "" ":gh:`71956`: Fix Replace All in the IDLE editor's Replace dialog when the " "search direction is \"Up\" and \"Wrap around\" is off: it now replaces all " "matches above the current position instead of only the first one." msgstr "" -#: ../NEWS:1589 +#: ../NEWS:1902 msgid "" ":gh:`152728`: Move functions run.fix_scaling, editor.fixwordbreaks (as " "fix_word_breaks) and pyshell.fix_x11_paste to idlelib.util." msgstr "" -#: ../NEWS:1592 +#: ../NEWS:1905 msgid "" ":gh:`66331`: Set the ``WM_CLASS`` window property of IDLE's windows to " "``Idle`` on X11, so that window managers group and label them correctly " "instead of using the default ``Toplevel``." msgstr "" -#: ../NEWS:1596 +#: ../NEWS:1909 msgid "" ":gh:`85320`: IDLE now reads and writes its configuration files and the " "breakpoints file using UTF-8 instead of the locale encoding. This keeps non-" @@ -2899,97 +3373,97 @@ msgid "" "files portable between environments." msgstr "" -#: ../NEWS:1601 +#: ../NEWS:1914 msgid "" ":gh:`94523`: Detect file if modified at local disk and prompt to ask " "refresh. Patch by Shixian Li." msgstr "" -#: ../NEWS:1604 +#: ../NEWS:1917 msgid ":gh:`139551`: Support rendering :exc:`BaseExceptionGroup` in IDLE." msgstr "" -#: ../NEWS:1606 +#: ../NEWS:1919 msgid "" ":gh:`89520`: Make IDLE extension configuration look at user config files, " "allowing user-installed extensions to have settings and key bindings defined " "in ~/.idlerc." msgstr "" -#: ../NEWS:1613 +#: ../NEWS:1926 msgid "" ":gh:`155218`: Fix Argument Clinic generating the flags of the optional " "groups in different order on 32-bit and 64-bit platforms." msgstr "" -#: ../NEWS:1616 +#: ../NEWS:1929 msgid "" ":gh:`155207`: Argument Clinic now supports the ``--dry-run`` and ``--diff`` " "options. They list the files which would be changed, or write a unified diff " "of the changes to the standard output, without modifying any file." msgstr "" -#: ../NEWS:1620 +#: ../NEWS:1933 msgid "" ":gh:`154580`: Fix ``python-gdb.py`` raising :exc:`UnicodeEncodeError` when " "pretty-printing a non-ASCII :class:`str` in a locale whose host charset " "cannot encode it, such as any non-ASCII string in the C locale." msgstr "" -#: ../NEWS:1627 +#: ../NEWS:1940 msgid "" ":gh:`152132`: Fix :c:func:`Py_RunMain` to return an exit code, rather than " "calling :c:func:`Py_Exit`, when running a script, a command, or the REPL. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:1631 +#: ../NEWS:1944 msgid "" ":gh:`153300`: :c:func:`PyConfig_Set()` now also set global configuration " "variables. For example, ``PyConfig_Set(\"inspect\", value)`` now also sets :" "c:var:`Py_InspectFlag`. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1635 +#: ../NEWS:1948 msgid "" ":gh:`123619`: :c:func:`PyUnstable_Object_EnableDeferredRefcount` now returns " "``0`` if the object is not tracked by the garbage collector: if :func:`gc." "is_tracked` is false. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1641 +#: ../NEWS:1954 msgid "Python 3.14.6 final" msgstr "" -#: ../NEWS:1643 +#: ../NEWS:1956 msgid "*Release date: 2026-06-10*" msgstr "" -#: ../NEWS:1648 +#: ../NEWS:1961 msgid ":gh:`151159`: Update Android and iOS installers to use OpenSSL 3.5.7." msgstr "" -#: ../NEWS:1650 +#: ../NEWS:1963 msgid "" ":gh:`150599`: Fix a possible stack buffer overflow in :mod:`bz2` when a :" "class:`bz2.BZ2Decompressor` is reused after a decompression error. The " "decompressor now becomes unusable after libbz2 reports an error." msgstr "" -#: ../NEWS:1654 +#: ../NEWS:1967 msgid "" ":gh:`149835`: :func:`shutil.move` now resolves symlinks via :func:`os.path." "realpath` when checking whether the destination is inside the source " "directory, preventing a symlink-based bypass of that guard." msgstr "" -#: ../NEWS:1658 +#: ../NEWS:1971 msgid "" ":gh:`149698`: Update bundled `libexpat `_ to " "version 2.8.1 for the fix for :cve:`2026-45186`." msgstr "" -#: ../NEWS:1661 +#: ../NEWS:1974 msgid "" ":gh:`87451`: The :mod:`ftplib` module's undocumented ``ftpcp`` function no " "longer trusts the IPv4 address value returned from the source server in " @@ -3000,7 +3474,7 @@ msgid "" "Aurascape AI for the report." msgstr "" -#: ../NEWS:1669 +#: ../NEWS:1982 msgid "" ":gh:`149486`: :func:`tarfile.data_filter` now validates link targets using " "the same normalised value that is written to disk, strips trailing " @@ -3010,7 +3484,7 @@ msgid "" "filter." msgstr "" -#: ../NEWS:1676 +#: ../NEWS:1989 msgid "" ":gh:`149079`: Fix a potential denial of service in :func:`unicodedata." "normalize`. The canonical ordering step of Unicode normalization used a " @@ -3020,34 +3494,34 @@ msgid "" "runs." msgstr "" -#: ../NEWS:1683 +#: ../NEWS:1996 msgid "" ":gh:`149018`: Improved protection against XML hash-flooding attacks in :mod:" "`xml.parsers.expat` and :mod:`xml.etree.ElementTree` when Python is compiled " "with libExpat 2.8.0 or later." msgstr "" -#: ../NEWS:1690 +#: ../NEWS:2003 msgid "" ":gh:`151112`: Fix a crash in the compiler that could occur when running out " "of memory." msgstr "" -#: ../NEWS:1693 +#: ../NEWS:2006 msgid "" ":gh:`151126`: Fix a crash, when there's no memory left on a device, which " "happened in:" msgstr "" -#: ../NEWS:1696 +#: ../NEWS:2009 msgid "code compilation - :func:`!_winapi.CreateProcess`" msgstr "" -#: ../NEWS:1698 +#: ../NEWS:2011 msgid "Now these places raise proper :exc:`MemoryError` errors." msgstr "" -#: ../NEWS:1700 +#: ../NEWS:2013 msgid "" ":gh:`150700`: Fix a :exc:`SystemError` when compiling a class-scope " "comprehension containing a ``lambda`` that references ``__class__``, " @@ -3055,27 +3529,27 @@ msgid "" "Sławecki." msgstr "" -#: ../NEWS:1705 +#: ../NEWS:2018 msgid "" ":gh:`150633`: Fix the frozen importer accepting module names with embedded " "null bytes, which caused it to bypass the :data:`sys.modules` cache and " "create duplicate module objects." msgstr "" -#: ../NEWS:1709 +#: ../NEWS:2022 msgid "" ":gh:`148613`: Fix a data race in the free-threaded build between :func:`gc." "set_threshold` and garbage collection scheduling during object allocation." msgstr "" -#: ../NEWS:1713 +#: ../NEWS:2026 msgid "" ":gh:`149156`: Fix an intermittent crash after :func:`os.fork` when perf " "trampoline profiling is enabled and the child returns through trampoline " "frames inherited from the parent process." msgstr "" -#: ../NEWS:1717 +#: ../NEWS:2030 msgid "" ":gh:`149449`: Fix a use-after-free crash when the :mod:`unicodedata` module " "was removed from :data:`sys.modules` and garbage-collected between calls " @@ -3083,128 +3557,122 @@ msgid "" "handler." msgstr "" -#: ../NEWS:1722 +#: ../NEWS:2035 msgid "" ":gh:`150207`: Fix a crash when a memory allocation fails during tokenizer " "initialization. A proper :exc:`MemoryError` is now raised instead." msgstr "" -#: ../NEWS:1725 +#: ../NEWS:2038 msgid "" ":gh:`150107`: :mod:`asyncio`: ``sendfile()`` and ``sock_sendfile()`` event " "loop methods now call ``file.seek(offset)`` if *file* has a ``seek()`` " "method, even if *offset* is ``0`` (default value)." msgstr "" -#: ../NEWS:1729 +#: ../NEWS:2042 msgid ":gh:`150146`: Fix a crash on a complex type variable substitution." msgstr "" -#: ../NEWS:1731 +#: ../NEWS:2044 msgid "" "``from typing import TypeVar; memoryview[TypeVar(\"\")][*typing." "Mapping[..., ...]]`` used to fail due to missing ``NULL`` check on " "``_unpack_args`` C function call." msgstr "" -#: ../NEWS:1735 +#: ../NEWS:2048 msgid ":gh:`149590`: Fix crash when faulthandler is imported more than once." msgstr "" -#: ../NEWS:1737 +#: ../NEWS:2050 msgid "" ":gh:`149816`: Fix a race condition in ``_PyBytes_FromList`` in free-" "threading mode." msgstr "" -#: ../NEWS:1740 +#: ../NEWS:2053 msgid "" ":gh:`149816`: Fix a race condition in :class:`memoryview` with free-" "threading." msgstr "" -#: ../NEWS:1743 +#: ../NEWS:2056 msgid "" ":gh:`149805`: Fix a :exc:`SystemError` when compiling a compiling " "``__classdict__`` class annotation. Found by OSS-Fuzz in :oss-fuzz:" "`512907042`." msgstr "" -#: ../NEWS:1747 +#: ../NEWS:2060 msgid "" ":gh:`149738`: :mod:`sqlite3`: Disallow removing ``row_factory`` and " "``text_factory`` attributes of a connection to prevent a crash on a query." msgstr "" -#: ../NEWS:1750 +#: ../NEWS:2063 msgid "" ":gh:`139808`: Add branch protections for AArch64 (BTI/PAC) in assembly code " "used by :option:`-X perf_jit <-X>` (Linux perf profiler integration)." msgstr "" -#: ../NEWS:1753 +#: ../NEWS:2066 msgid "" ":gh:`148450`: Fix ``abc.register()`` so it invalidates type version tags for " "registered classes." msgstr "" -#: ../NEWS:1759 +#: ../NEWS:2072 msgid "" ":gh:`151039`: Fix a crash when static :mod:`datetime` types outlive the " "``_datetime`` module." msgstr "" -#: ../NEWS:1762 +#: ../NEWS:2075 msgid "" ":gh:`150913`: Fix :class:`sqlite3.Blob` slice assignment to raise :exc:" "`TypeError` and :exc:`IndexError` for type and size mismatches respectively, " "even when the target slice is empty." msgstr "" -#: ../NEWS:1766 -msgid "" -":gh:`143008`: Fix race conditions when re-initializing a :class:`io." -"TextIOWrapper` object." -msgstr "" - -#: ../NEWS:1769 +#: ../NEWS:2082 msgid "" ":gh:`150750`: Fix a race condition in :meth:`collections.deque.index` with " "free-threading." msgstr "" -#: ../NEWS:1772 +#: ../NEWS:2085 msgid ":gh:`150685`: Update bundled pip to 26.1.2" msgstr "" -#: ../NEWS:1774 +#: ../NEWS:2087 msgid "" ":gh:`150406`: Fix a possible crash occurring during :mod:`socket` module " "initialization when the system is out of memory on platforms without a " "reentrant ``gethostbyname``." msgstr "" -#: ../NEWS:1778 +#: ../NEWS:2091 msgid "" ":gh:`150372`: :mod:`readline`: Fix a potential crash during tab completion " "caused by an out-of-memory error during module initialization." msgstr "" -#: ../NEWS:1781 +#: ../NEWS:2094 msgid "" ":gh:`150157`: Fix a crash in free-threaded builds that occurs when pickling " "by name objects without a ``__module__`` attribute while :data:`sys.modules` " "is concurrently being modified." msgstr "" -#: ../NEWS:1785 +#: ../NEWS:2098 msgid "" ":gh:`150175`: Fix race condition in :class:`unittest.mock.ThreadingMock` " "where concurrent calls could lose increments to ``call_count`` and other " "attributes due to a missing lock in ``_increment_mock_call``." msgstr "" -#: ../NEWS:1789 +#: ../NEWS:2102 msgid "" ":gh:`84353`: Preserve non-UTF-8 encoded filenames when appending to a :class:" "`zipfile.ZipFile`. Previously, non-ASCII names stored in a legacy encoding " @@ -3213,54 +3681,54 @@ msgid "" "UTF-8." msgstr "" -#: ../NEWS:1795 +#: ../NEWS:2108 msgid ":gh:`149816`: Fix race condition in :attr:`ssl.SSLContext.sni_callback`" msgstr "" -#: ../NEWS:1797 +#: ../NEWS:2110 msgid ":gh:`149995`: Update various docstrings in :mod:`typing`." msgstr "" -#: ../NEWS:1799 +#: ../NEWS:2112 msgid "" ":gh:`88726`: The :mod:`email` package now uses standard MIME charset names " "\"gb2312\" and \"big5\" instead of non-standard names \"eucgb2312_cn\" and " "\"big5_tw\"." msgstr "" -#: ../NEWS:1803 +#: ../NEWS:2116 msgid "" ":gh:`149571`: Fix the C implementation of :meth:`xml.etree.ElementTree." "Element.itertext`: it no longer emits text for comments and processing " "instructions." msgstr "" -#: ../NEWS:1807 +#: ../NEWS:2120 msgid "" ":gh:`149921`: Fix reference leaks in error paths of the :mod:`!" "_interpchannels` and :mod:`!_interpqueues` extension modules." msgstr "" -#: ../NEWS:1810 +#: ../NEWS:2123 msgid "" ":gh:`149816`: Fix a race condition in ``_random.Random.__init__`` method in " "free-threading mode." msgstr "" -#: ../NEWS:1813 +#: ../NEWS:2126 msgid "" ":gh:`149801`: Add IANA registered names and aliases with leading zeros " "before number (like IBM00858, CP00858, IBM01140, CP01140) for corresponding " "codecs." msgstr "" -#: ../NEWS:1817 +#: ../NEWS:2130 msgid "" ":gh:`149701`: Fix bad return code from Lib/venv/bin/activate if hashing is " "disabled" msgstr "" -#: ../NEWS:1820 +#: ../NEWS:2133 msgid "" ":gh:`112821`: In the REPL, autocompletion might run arbitrary code in the " "getter of a descriptor. If that getter raised an exception, autocompletion " @@ -3268,7 +3736,7 @@ msgid "" "works as expected for these objects." msgstr "" -#: ../NEWS:1825 +#: ../NEWS:2138 msgid "" ":gh:`149489`: Fix :mod:`~xml.etree.ElementTree` serialization to HTML. The " "content of elements \"xmp\", \"iframe\", \"noembed\", \"noframes\", and " @@ -3276,26 +3744,26 @@ msgid "" "the closing tag." msgstr "" -#: ../NEWS:1830 +#: ../NEWS:2143 msgid "" ":gh:`149231`: In :mod:`tomllib`, the number of parts in TOML keys is now " "limited." msgstr "" -#: ../NEWS:1833 +#: ../NEWS:2146 msgid "" ":gh:`149046`: :mod:`io`: Fix :class:`io.StringIO` serialization: no longer " "call ``str(obj)`` on :class:`str` subclasses. Patch by Thomas Kowalski." msgstr "" -#: ../NEWS:1836 +#: ../NEWS:2149 msgid "" ":gh:`148954`: Fix XML injection vulnerability in :func:`xmlrpc.client.dumps` " "where the ``methodname`` was not being escaped before interpolation into the " "XML body." msgstr "" -#: ../NEWS:1840 +#: ../NEWS:2153 msgid "" ":gh:`148441`: :mod:`xml.parsers.expat`: prevent a crash in :meth:`~xml." "parsers.expat.xmlparser.CharacterDataHandler` when the character data size " @@ -3303,19 +3771,19 @@ msgid "" "buffer_size>`." msgstr "" -#: ../NEWS:1845 +#: ../NEWS:2158 msgid "" ":gh:`146452`: Fix segfault in :mod:`pickle` when pickling a dictionary " "concurrently mutated by another thread in the free-threaded build." msgstr "" -#: ../NEWS:1848 +#: ../NEWS:2161 msgid "" ":gh:`142831`: Fix a crash in the :mod:`json` module where a use-after-free " "could occur if the object being encoded is modified during serialization." msgstr "" -#: ../NEWS:1851 +#: ../NEWS:2164 msgid "" ":gh:`90949`: Add :meth:`~xml.parsers.expat.xmlparser." "SetBillionLaughsAttackProtectionActivationThreshold` and :meth:`~xml.parsers." @@ -3325,13 +3793,13 @@ msgid "" "attacks. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:1860 +#: ../NEWS:2173 msgid "" ":gh:`134261`: zip: On reproducible builds, ZipFile uses UTC instead of the " "local time when writing file datetimes to avoid underflows." msgstr "" -#: ../NEWS:1863 +#: ../NEWS:2176 msgid "" ":gh:`128110`: Fix bug in the parsing of :mod:`email` address headers that " "could result in extraneous spaces in the decoded text when using a modern " @@ -3340,204 +3808,204 @@ msgid "" "unstructured headers like *Subject*)." msgstr "" -#: ../NEWS:1869 +#: ../NEWS:2182 msgid "" ":gh:`107398`: Fix :mod:`tarfile` stream mode exception when process the file " "with the gzip extra field." msgstr "" -#: ../NEWS:1872 +#: ../NEWS:2185 msgid "" ":gh:`123853`: Update the table of Windows language code identifiers (LCIDs) " "used by :func:`locale.getdefaultlocale` on Windows to protocol version 16.0 " "(2024-04-23)." msgstr "" -#: ../NEWS:1876 +#: ../NEWS:2189 msgid "" ":gh:`91099`: :meth:`imaplib.IMAP4.login` now raises exceptions with :class:" "`str` instead of :class:`bytes`. Patch by Florian Best." msgstr "" -#: ../NEWS:1882 +#: ../NEWS:2195 msgid "" ":gh:`150319`: Generic builtin and standard library types now document the " "meaning of their type parameters." msgstr "" -#: ../NEWS:1885 +#: ../NEWS:2198 msgid "" ":gh:`109503`: Fix documentation for :func:`shutil.move` on usage of :func:" "`os.rename` since nonatomic move might be used even if the files are on the " "same filesystem. Patch by Fang Li" msgstr "" -#: ../NEWS:1892 +#: ../NEWS:2205 msgid ":gh:`151130`: Add more tests for ``PyWeakref_*`` C API." msgstr "" -#: ../NEWS:1894 +#: ../NEWS:2207 msgid "" ":gh:`149776`: Fix test_socket on Linux kernel 7.1 and newer: skip UDP Lite " "tests if it's not supported. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1900 +#: ../NEWS:2213 msgid "" ":gh:`148294`: Corrected the use of ``AC_PATH_TOOL`` in ``configure.ac`` to " "allow a C++ compiler to be found on :envvar:`!PATH`." msgstr "" -#: ../NEWS:1906 +#: ../NEWS:2219 msgid ":gh:`151159`: Updated bundled version of OpenSSL to 3.5.7." msgstr "" -#: ../NEWS:1911 +#: ../NEWS:2224 msgid ":gh:`151159`: Update macOS installer to use OpenSSL 3.5.7." msgstr "" -#: ../NEWS:1913 +#: ../NEWS:2226 msgid "" ":gh:`150644`: When system logging is enabled (with ``config." "use_system_logger``, messages are now tagged as public. This allows the " "macOS 26 system logger to view messages without special configuration." msgstr "" -#: ../NEWS:1918 +#: ../NEWS:2231 msgid ":gh:`115119`: Update macOS installer to use libmpdecimal 4.0.1." msgstr "" -#: ../NEWS:1923 +#: ../NEWS:2236 msgid ":issue:`6699`: Warn the user if a file will be overwritten when saving." msgstr "" -#: ../NEWS:1928 +#: ../NEWS:2241 msgid "" ":gh:`150907`: Fix ``dynamic_annotations.h`` header file when built with C++ " "and Valgrind: add ``extern \"C++\" scope`` for the C++ template. Patch by " "Victor Stinner." msgstr "" -#: ../NEWS:1932 +#: ../NEWS:2245 msgid "" ":gh:`145235`: Made :c:func:`PyDict_AddWatcher`, :c:func:" "`PyDict_ClearWatcher`, :c:func:`PyDict_Watch`, and :c:func:`PyDict_Unwatch` " "thread-safe on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:1939 +#: ../NEWS:2252 msgid "Python 3.14.5 final" msgstr "" -#: ../NEWS:1941 +#: ../NEWS:2254 msgid "*Release date: 2026-05-10*" msgstr "" -#: ../NEWS:1946 +#: ../NEWS:2259 msgid "" ":gh:`148178`: Hardened :mod:`!_remote_debugging` by validating remote debug " "offset tables before using them to size memory reads or interpret remote " "layouts." msgstr "" -#: ../NEWS:1953 +#: ../NEWS:2266 msgid ":gh:`146270`: Fix a sequential consistency bug in ``structmember.c``." msgstr "" -#: ../NEWS:1955 +#: ../NEWS:2268 msgid "" ":gh:`137293`: Fix :exc:`SystemError` when searching ELF Files in :func:`sys." "remote_exec`." msgstr "" -#: ../NEWS:1961 +#: ../NEWS:2274 msgid "" ":gh:`149388`: Make :class:`!asyncio.windows_utils.PipeHandle` closing " "idempotent." msgstr "" -#: ../NEWS:1964 +#: ../NEWS:2277 msgid ":gh:`149377`: Update bundled pip to 26.1.1" msgstr "" -#: ../NEWS:1966 +#: ../NEWS:2279 msgid ":gh:`138907`: Support :rfc:`9309` in :mod:`urllib.robotparser`." msgstr "" -#: ../NEWS:1968 +#: ../NEWS:2281 msgid "" ":gh:`148615`: Fix :mod:`pdb` to accept standard -- end of options separator. " "Reported by haampie. Patched by Shrey Naithani." msgstr "" -#: ../NEWS:1971 +#: ../NEWS:2284 msgid "" ":gh:`130750`: Restore quoting of choices in :mod:`argparse` error messages " "for improved clarity and consistency with documentation." msgstr "" -#: ../NEWS:1974 +#: ../NEWS:2287 msgid "" ":gh:`141449`: Improve tests and documentation for non-function callables as :" "term:`annotate functions `." msgstr "" -#: ../NEWS:1980 +#: ../NEWS:2293 msgid "" ":gh:`149425`: Increase time delta in ``test.test_zipfile.test_core." "OtherTests.test_write_without_source_date_epoch``" msgstr "" -#: ../NEWS:1983 +#: ../NEWS:2296 msgid "" ":gh:`145736`: Fix test_tkinter test_configure_values test case backport miss " "for Tk 9." msgstr "" -#: ../NEWS:1989 +#: ../NEWS:2302 msgid "" ":gh:`142295`: For Python macOS framework builds, update Info.plist files to " "be more compliant with current Apple guidelines. Original patch contributed " "by Martinus Verburg." msgstr "" -#: ../NEWS:1993 +#: ../NEWS:2306 msgid ":gh:`124111`: Update macOS installer to use Tcl/Tk 9.0.3." msgstr "" -#: ../NEWS:1997 +#: ../NEWS:2310 msgid "Python 3.14.5 release candidate 1" msgstr "" -#: ../NEWS:1999 +#: ../NEWS:2312 msgid "*Release date: 2026-05-04*" msgstr "" -#: ../NEWS:2004 +#: ../NEWS:2317 msgid ":gh:`149254`: Update Android and iOS installer to use OpenSSL 3.0.20." msgstr "" -#: ../NEWS:2006 +#: ../NEWS:2319 msgid "" ":gh:`149017`: Update bundled `libexpat `_ to " "version 2.8.0." msgstr "" -#: ../NEWS:2009 +#: ../NEWS:2322 msgid "" ":gh:`90309`: Base64-encode values when embedding cookies to JavaScript using " "the :meth:`http.cookies.BaseCookie.js_output` method to avoid injection and " "escaping." msgstr "" -#: ../NEWS:2013 +#: ../NEWS:2326 msgid "" ":gh:`148808`: Added buffer boundary check when using ``nbytes`` parameter " "with :meth:`!asyncio.AbstractEventLoop.sock_recvfrom_into`. Only relevant " "for Windows and the :class:`asyncio.ProactorEventLoop`." msgstr "" -#: ../NEWS:2017 +#: ../NEWS:2330 msgid "" ":gh:`148395`: Fix a dangling input pointer in :class:`lzma." "LZMADecompressor`, :class:`bz2.BZ2Decompressor`, and internal :class:`!zlib." @@ -3546,13 +4014,13 @@ msgid "" "a stale pointer to the already-released caller buffer." msgstr "" -#: ../NEWS:2024 +#: ../NEWS:2337 msgid "" ":gh:`148169`: A bypass in :mod:`webbrowser` allowed URLs prefixed with " "``%action`` to pass the dash-prefix safety check." msgstr "" -#: ../NEWS:2027 +#: ../NEWS:2340 msgid "" ":gh:`146581`: Fix vulnerability in :func:`shutil.unpack_archive` for ZIP " "files on Windows which allowed to write files outside of the destination " @@ -3561,7 +4029,7 @@ msgid "" "\"foo..bar\") are no longer skipped." msgstr "" -#: ../NEWS:2033 +#: ../NEWS:2346 msgid "" ":gh:`146333`: Fix quadratic backtracking in :class:`configparser." "RawConfigParser` option parsing regexes (``OPTCRE`` and ``OPTCRE_NV``). A " @@ -3569,13 +4037,13 @@ msgid "" "excessive CPU usage." msgstr "" -#: ../NEWS:2038 +#: ../NEWS:2351 msgid "" ":gh:`146211`: Reject CR/LF characters in tunnel request headers for the " "HTTPConnection.set_tunnel() method." msgstr "" -#: ../NEWS:2044 +#: ../NEWS:2357 msgid "" ":gh:`149122`: Fix a crash in optimized calls to :func:`all`, :func:`any`, :" "func:`tuple`, :func:`list`, and :func:`set` with an async generator " @@ -3583,7 +4051,7 @@ msgid "" "calls now correctly raise ``TypeError`` instead of crashing." msgstr "" -#: ../NEWS:2049 +#: ../NEWS:2362 msgid "" ":gh:`113956`: Fix a data race in :func:`sys.intern` in the free-threaded " "build when interning a string owned by another thread. An interned copy " @@ -3591,7 +4059,7 @@ msgid "" "immortalize the original." msgstr "" -#: ../NEWS:2054 +#: ../NEWS:2367 msgid "" ":gh:`148820`: Fix a race in :c:type:`!_PyRawMutex` on the free-threaded " "build where a ``Py_PARK_INTR`` return from ``_PySemaphore_Wait`` could let " @@ -3600,20 +4068,20 @@ msgid "" "error." msgstr "" -#: ../NEWS:2060 +#: ../NEWS:2373 msgid "" ":gh:`148653`: Forbid :mod:`marshalling ` recursive code objects " "and :class:`slice` objects which cannot be correctly unmarshalled." msgstr "" -#: ../NEWS:2063 +#: ../NEWS:2376 msgid "" ":gh:`142516`: Forward-port the generational cycle garbage collector to the " "default 3.14 build, replacing the incremental collector while leaving the " "free-threaded collector unchanged." msgstr "" -#: ../NEWS:2067 +#: ../NEWS:2380 msgid "" ":gh:`148390`: Fix an undefined behavior in :class:`memoryview` when using " "the native boolean format (``?``) in :meth:`~memoryview.cast`. Previously, " @@ -3622,33 +4090,33 @@ msgid "" "*b*. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2073 +#: ../NEWS:2386 msgid "" ":gh:`148418`: Fix a possible reference leak in a corrupted ``TYPE_CODE`` " "marshal stream." msgstr "" -#: ../NEWS:2076 +#: ../NEWS:2389 msgid "" ":gh:`148393`: Fix data races between :c:func:`PyDict_Watch` / :c:func:" "`PyDict_Unwatch` and concurrent dict mutation in the :term:`free-threaded " "build`." msgstr "" -#: ../NEWS:2080 +#: ../NEWS:2393 msgid "" ":gh:`148284`: Fix high stack consumption in Python's interpreter loop on " "Clang 22 by setting function limits for inlining when building with computed " "gotos." msgstr "" -#: ../NEWS:2084 +#: ../NEWS:2397 msgid "" ":gh:`148037`: Remove critical section from :c:func:`!PyCode_Addr2Line` in " "free-threading." msgstr "" -#: ../NEWS:2087 +#: ../NEWS:2400 msgid "" ":gh:`148222`: Fix vectorcall support in :class:`types.GenericAlias` when the " "underlying type does not support the vectorcall protocol. Fix possible leaks " @@ -3656,54 +4124,54 @@ msgid "" "memory error." msgstr "" -#: ../NEWS:2092 +#: ../NEWS:2405 msgid ":gh:`148208`: Fix recursion depth leak in :c:func:`PyObject_Print`" msgstr "" -#: ../NEWS:2094 +#: ../NEWS:2407 msgid "" ":gh:`137814`: Fix the ``__qualname__`` attribute of ``__annotate__`` " "functions on functions." msgstr "" -#: ../NEWS:2097 +#: ../NEWS:2410 msgid "" ":gh:`147998`: Fixed a memory leak in interpreter helper calls so cleanup " "works when an operation falls across interpreter boundaries. Patch by " "Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:2101 +#: ../NEWS:2414 msgid "" ":gh:`146455`: Fix O(N²) compile-time regression in constant folding after it " "was moved from AST to CFG optimizer." msgstr "" -#: ../NEWS:2107 +#: ../NEWS:2420 msgid "" ":gh:`149221`: Catch rare math domain error for :func:`random." "binomialvariate`." msgstr "" -#: ../NEWS:2110 +#: ../NEWS:2423 msgid "" ":gh:`149117`: Fix :func:`runpy.run_module` and :func:`runpy.run_path` to set " "the :attr:`~ImportError.name` attribute on the :exc:`ImportError` they raise." msgstr "" -#: ../NEWS:2114 +#: ../NEWS:2427 msgid "" ":gh:`149148`: :mod:`ensurepip`: Upgrade bundled pip to 26.1. This version " "fixes the :cve:`2026-3219` vulnerability. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2117 +#: ../NEWS:2430 msgid "" ":gh:`148093`: Fix an out-of-bounds read of one byte in :func:`binascii." "a2b_uu`. Raise :exc:`binascii.Error`, instead of reading past the buffer end." msgstr "" -#: ../NEWS:2121 +#: ../NEWS:2434 msgid "" ":gh:`148914`: Fix memoization of in-band :class:`~pickle.PickleBuffer` in " "the Python implementation of :mod:`pickle`. Previously, identical :class:`!" @@ -3712,14 +4180,14 @@ msgid "" "following references to ``b''`` were unpickled as an empty bytearray object." msgstr "" -#: ../NEWS:2128 +#: ../NEWS:2441 msgid "" ":gh:`148947`: Fix crash in :deco:`dataclasses.dataclass` with ``slots=True`` " "that occurred when a function found within the class had an empty " "``__class__`` cell." msgstr "" -#: ../NEWS:2132 +#: ../NEWS:2445 msgid "" ":gh:`148680`: ``ForwardRef`` objects that contain internal names to " "represent known objects now show the ``type_repr`` of the known object " @@ -3727,44 +4195,44 @@ msgid "" "strings." msgstr "" -#: ../NEWS:2136 +#: ../NEWS:2449 msgid "" ":gh:`148801`: :mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element." "__deepcopy__ ` on deeply nested trees." msgstr "" -#: ../NEWS:2139 +#: ../NEWS:2452 msgid "" ":gh:`148735`: :mod:`xml.etree.ElementTree`: Fix a use-after-free in :meth:" "`Element.findtext ` when the element " "tree is mutated concurrently during the search." msgstr "" -#: ../NEWS:2143 +#: ../NEWS:2456 msgid "" ":gh:`148740`: Fix usage for :mod:`uuid` command-line interface to support a " "custom namespace be provided for uuid3 and uuid5." msgstr "" -#: ../NEWS:2146 +#: ../NEWS:2459 msgid "" ":gh:`148651`: Fix reference leak in :class:`compression.zstd." "ZstdDecompressor` when an invalid option key is passed." msgstr "" -#: ../NEWS:2150 +#: ../NEWS:2463 msgid "" ":gh:`146553`: Fix infinite loop in :func:`typing.get_type_hints` when " "``__wrapped__`` forms a cycle. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:2153 +#: ../NEWS:2466 msgid "" ":gh:`148508`: An intermittent timing error when running SSL tests on iOS has " "been resolved." msgstr "" -#: ../NEWS:2156 +#: ../NEWS:2469 msgid "" ":gh:`148518`: If an email containing an address header that ended in an open " "double quote was parsed with a non-``compat32`` policy, accessing the " @@ -3773,34 +4241,34 @@ msgid "" "as the result." msgstr "" -#: ../NEWS:2162 +#: ../NEWS:2475 msgid "" ":gh:`148464`: Add missing ``__ctype_le/be__`` attributes for :class:`~ctypes." "c_float_complex` and :class:`~ctypes.c_double_complex`. Patch by Sergey B " "Kirpichev." msgstr "" -#: ../NEWS:2166 +#: ../NEWS:2479 msgid "" ":gh:`148370`: :mod:`configparser`: prevent quadratic behavior when a :exc:" "`~configparser.ParsingError` is raised after a parser fails to parse " "multiple lines. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2170 +#: ../NEWS:2483 msgid "" ":gh:`148254`: Use singular \"sec\" instead of \"secs\" in :mod:`timeit` " "verbose output for consistency with other time units." msgstr "" -#: ../NEWS:2173 +#: ../NEWS:2486 msgid "" ":gh:`148192`: ``email.generator.Generator._make_boundary`` could fail to " "detect a duplicate boundary string if linesep was not \\n. It now correctly " "detects boundary strings when linesep is \\r\\n as well." msgstr "" -#: ../NEWS:2177 +#: ../NEWS:2490 msgid "" ":gh:`146313`: Fix a deadlock in :mod:`multiprocessing`'s resource tracker " "where the parent process could hang indefinitely in :func:`os.waitpid` " @@ -3808,21 +4276,21 @@ msgid "" "held the resource tracker's pipe open." msgstr "" -#: ../NEWS:2182 +#: ../NEWS:2495 msgid "" ":gh:`145831`: Fix :func:`!email.quoprimime.decode` leaving a stray ``\\r`` " "when ``eol='\\r\\n'`` by stripping the full *eol* string instead of one " "character." msgstr "" -#: ../NEWS:2186 +#: ../NEWS:2499 msgid "" ":gh:`145105`: Fix crash in :mod:`csv` reader when iterating with a re-" "entrant iterator that calls :func:`next` on the same reader from within " "``__next__``." msgstr "" -#: ../NEWS:2190 +#: ../NEWS:2503 msgid "" ":gh:`105936`: Attempting to mutate non-field attributes of :mod:" "`dataclasses` with both *frozen* and *slots* being ``True`` now raises :" @@ -3831,56 +4299,56 @@ msgid "" "and the original non-slotted class can be garbage collected." msgstr "" -#: ../NEWS:2196 +#: ../NEWS:2509 msgid "" ":gh:`140287`: The :mod:`asyncio` REPL now handles exceptions when executing :" "envvar:`PYTHONSTARTUP` scripts. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:2199 +#: ../NEWS:2512 msgid "" ":gh:`132631`: Fix \"I/O operation on closed file\" when parsing JSON Lines " "file with :mod:`JSON CLI `." msgstr "" -#: ../NEWS:2202 +#: ../NEWS:2515 msgid "" ":gh:`70039`: Fixed bug where :meth:`smtplib.SMTP.starttls` could fail if :" "meth:`smtplib.SMTP.connect` is called explicitly rather than implicitly." msgstr "" -#: ../NEWS:2205 +#: ../NEWS:2518 msgid "" ":gh:`83281`: :mod:`email`: improve handling trailing garbage in address " "lists to avoid throwing AttributeError in certain edge cases" msgstr "" -#: ../NEWS:2211 +#: ../NEWS:2524 msgid "" ":gh:`148663`: Document that :class:`calendar.IllegalMonthError` is a " "subclass of both :exc:`ValueError` and :exc:`IndexError` since Python 3.12." msgstr "" -#: ../NEWS:2214 +#: ../NEWS:2527 msgid "" ":gh:`146646`: Document that :func:`glob.glob`, :func:`glob.iglob`, :meth:" "`pathlib.Path.glob`, and :meth:`pathlib.Path.rglob` silently suppress :exc:" "`OSError` exceptions raised from scanning the filesystem." msgstr "" -#: ../NEWS:2221 +#: ../NEWS:2534 msgid "" ":gh:`149351`: Avoid possible broken macOS framework install names when " "DESTDIR is specified during builds." msgstr "" -#: ../NEWS:2224 +#: ../NEWS:2537 msgid "" ":gh:`146475`: Block Apple Clang from being used to build the JIT as it ships " "without required LLVM tools." msgstr "" -#: ../NEWS:2227 +#: ../NEWS:2540 msgid "" ":gh:`148535`: No longer use the ``gcc -fprofile-update=atomic`` flag on " "i686. The flag has been added to fix a random GCC internal error on PGO " @@ -3890,90 +4358,90 @@ msgid "" "fprofile-update=atomic`` on i686 anymore. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2234 +#: ../NEWS:2547 msgid "" ":gh:`146264`: Fix static module builds on non-WASI targets by linking HACL " "dependencies as static libraries when ``MODULE_BUILDTYPE=static``, " "preventing duplicate ``_Py_LibHacl_*`` symbol errors at link time." msgstr "" -#: ../NEWS:2241 +#: ../NEWS:2554 msgid ":gh:`149254`: Updated bundled version of OpenSSL to 3.0.20." msgstr "" -#: ../NEWS:2243 +#: ../NEWS:2556 msgid "" ":gh:`146458`: Fix incorrect REPL height and width tracking on console window " "resize on Windows." msgstr "" -#: ../NEWS:2249 +#: ../NEWS:2562 msgid ":gh:`149254`: Update macOS installer to use OpenSSL 3.0.20." msgstr "" -#: ../NEWS:2253 +#: ../NEWS:2566 msgid "Python 3.14.4 final" msgstr "" -#: ../NEWS:2255 +#: ../NEWS:2568 msgid "*Release date: 2026-04-07*" msgstr "" -#: ../NEWS:2260 +#: ../NEWS:2573 msgid "" ":gh:`145986`: :mod:`xml.parsers.expat`: Fixed a crash caused by unbounded C " "recursion when converting deeply nested XML content models with :meth:`~xml." "parsers.expat.xmlparser.ElementDeclHandler`. This addresses :cve:`2026-4224`." msgstr "" -#: ../NEWS:2265 +#: ../NEWS:2578 msgid "" ":gh:`145599`: Reject control characters in :class:`http.cookies.Morsel` :" "meth:`~http.cookies.Morsel.update` and :meth:`~http.cookies.BaseCookie." "js_output`. This addresses :cve:`2026-3644`." msgstr "" -#: ../NEWS:2270 +#: ../NEWS:2583 msgid "" ":gh:`145506`: Fixes :cve:`2026-2297` by ensuring that " "``SourcelessFileLoader`` uses :func:`io.open_code` when opening ``.pyc`` " "files." msgstr "" -#: ../NEWS:2274 +#: ../NEWS:2587 msgid "" ":gh:`144370`: Disallow usage of control characters in status in :mod:" "`wsgiref.handlers` to prevent HTTP header injections. Patch by Benedikt " "Johannes." msgstr "" -#: ../NEWS:2278 +#: ../NEWS:2591 msgid "" ":gh:`143930`: Reject leading dashes in URLs passed to :func:`webbrowser." "open`." msgstr "" -#: ../NEWS:2284 +#: ../NEWS:2597 msgid "" ":gh:`148157`: Fix an unlikely crash when parsing an invalid type comments " "for function parameters. Found by OSS Fuzz in :oss-fuzz:`492782951`." msgstr "" -#: ../NEWS:2287 +#: ../NEWS:2600 msgid "" ":gh:`148144`: Initialize ``_PyInterpreterFrame.visited`` when copying " "interpreter frames so incremental GC does not read an uninitialized byte " "from generator and frame-object copies." msgstr "" -#: ../NEWS:2291 +#: ../NEWS:2604 msgid "" ":gh:`146615`: Fix a crash in :meth:`~object.__get__` for :c:expr:" "`METH_METHOD` descriptors when an invalid (non-type) object is passed as the " "second argument. Patch by Steven Sun." msgstr "" -#: ../NEWS:2295 +#: ../NEWS:2608 msgid "" ":gh:`146308`: Fixed several error handling issues in the :mod:`!" "_remote_debugging` module, including safer validation of remote ``int`` " @@ -3982,186 +4450,186 @@ msgid "" "Pablo Galindo." msgstr "" -#: ../NEWS:2301 +#: ../NEWS:2614 msgid "" ":gh:`146128`: Fix a bug which could cause constant values to be partially " "corrupted in AArch64 JIT code. This issue is theoretical, and hasn't " "actually been observed in unmodified Python interpreters." msgstr "" -#: ../NEWS:2305 +#: ../NEWS:2618 msgid "" ":gh:`146250`: Fixed a memory leak in :exc:`SyntaxError` when re-initializing " "it." msgstr "" -#: ../NEWS:2308 +#: ../NEWS:2621 msgid "" ":gh:`146245`: Fixed reference leaks in :mod:`socket` when audit hooks raise " "exceptions in :func:`socket.getaddrinfo` and :meth:`!socket.sendto`." msgstr "" -#: ../NEWS:2311 +#: ../NEWS:2624 msgid "" ":gh:`146196`: Fix potential Undefined Behavior in :c:func:" "`PyUnicodeWriter_WriteASCII` by adding a zero-length check. Patch by Shamil " "Abdulaev." msgstr "" -#: ../NEWS:2315 +#: ../NEWS:2628 msgid "" ":gh:`146227`: Fix wrong type in ``_Py_atomic_load_uint16`` in the C11 " "atomics backend (``pyatomic_std.h``), which used a 32-bit atomic load " "instead of 16-bit. Found by Mohammed Zuhaib." msgstr "" -#: ../NEWS:2319 +#: ../NEWS:2632 msgid "" ":gh:`146056`: Fix :func:`repr` for lists and tuples containing ``NULL``\\ s." msgstr "" -#: ../NEWS:2321 +#: ../NEWS:2634 msgid "" ":gh:`146092`: Handle properly memory allocation failures on str and float " "opcodes. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2324 +#: ../NEWS:2637 msgid "" ":gh:`146041`: Fix free-threading scaling bottleneck in :func:`sys.intern` " "and :c:func:`PyObject_SetAttr` by avoiding the interpreter-wide lock when " "the string is already interned and immortalized." msgstr "" -#: ../NEWS:2328 +#: ../NEWS:2641 msgid "" ":gh:`145990`: ``python --help-env`` sections are now sorted by environment " "variable name." msgstr "" -#: ../NEWS:2331 +#: ../NEWS:2644 msgid "" ":gh:`145990`: ``python --help-xoptions`` is now sorted by ``-X`` option name." msgstr "" -#: ../NEWS:2333 +#: ../NEWS:2646 msgid ":gh:`145376`: Fix GC tracking in ``structseq.__replace__()``." msgstr "" -#: ../NEWS:2335 +#: ../NEWS:2648 msgid "" ":gh:`145792`: Fix out-of-bounds access when invoking faulthandler on a " "CPython build compiled without support for VLAs." msgstr "" -#: ../NEWS:2338 +#: ../NEWS:2651 msgid "" ":gh:`142183`: Avoid a pathological case where repeated calls at a specific " "stack depth could be significantly slower." msgstr "" -#: ../NEWS:2341 +#: ../NEWS:2654 msgid "" ":gh:`145779`: Improve scaling of :func:`classmethod` and :func:" "`staticmethod` calls in the free-threaded build by avoiding the descriptor " "``__get__`` call." msgstr "" -#: ../NEWS:2345 +#: ../NEWS:2658 msgid "" ":gh:`145783`: Fix an unlikely crash in the parser when certain errors were " "erroneously not propagated. Found by OSS Fuzz in :oss-fuzz:`491369109`." msgstr "" -#: ../NEWS:2348 +#: ../NEWS:2661 msgid "" ":gh:`145685`: Improve scaling of type attribute lookups in the :term:`free-" "threaded build` by avoiding contention on the internal type lock." msgstr "" -#: ../NEWS:2352 +#: ../NEWS:2665 msgid "" ":gh:`145701`: Fix :exc:`SystemError` when ``__classdict__`` or " "``__conditional_annotations__`` is in a class-scope inlined comprehension. " "Found by OSS Fuzz in :oss-fuzz:`491105000`." msgstr "" -#: ../NEWS:2356 +#: ../NEWS:2669 msgid "" ":gh:`145713`: Make :meth:`bytearray.resize` thread-safe in the free-threaded " "build by using a critical section and calling the lock-held variant of the " "resize function." msgstr "" -#: ../NEWS:2360 +#: ../NEWS:2673 msgid "" ":gh:`145615`: Fixed a memory leak in the :term:`free-threaded build` where " "mimalloc pages could become permanently unreclaimable until the owning " "thread exited." msgstr "" -#: ../NEWS:2364 +#: ../NEWS:2677 msgid "" ":gh:`145566`: In the free threading build, skip the stop-the-world pause " "when reassigning ``__class__`` on a newly created object." msgstr "" -#: ../NEWS:2367 +#: ../NEWS:2680 msgid "" ":gh:`145335`: Fix a crash in :func:`os.pathconf` when called with ``-1`` as " "the path argument." msgstr "" -#: ../NEWS:2370 +#: ../NEWS:2683 msgid "" ":gh:`145036`: In free-threaded build, fix race condition when calling :meth:" "`!__sizeof__` on a :class:`list`" msgstr "" -#: ../NEWS:2373 +#: ../NEWS:2686 msgid ":gh:`145376`: Fix reference leaks in various unusual error scenarios." msgstr "" -#: ../NEWS:2375 +#: ../NEWS:2688 msgid "" ":gh:`145234`: Fixed a ``SystemError`` in the parser when an encoding cookie " "(for example, UTF-7) decodes to carriage returns (``\\r``). Newlines are now " "normalized after decoding in the string tokenizer." msgstr "" -#: ../NEWS:2379 +#: ../NEWS:2692 msgid "Patch by Pablo Galindo." msgstr "" -#: ../NEWS:2381 +#: ../NEWS:2694 msgid "" ":gh:`130555`: Fix use-after-free in :meth:`dict.clear` when the dictionary " "values are embedded in an object and a destructor causes re-entrant mutation " "of the dictionary." msgstr "" -#: ../NEWS:2385 +#: ../NEWS:2698 msgid "" ":gh:`145187`: Fix compiler assertion fail when a type parameter bound " "contains an invalid expression in a conditional block." msgstr "" -#: ../NEWS:2388 +#: ../NEWS:2701 msgid "" ":gh:`145142`: Fix a crash in the free-threaded build when the dictionary " "argument to :meth:`str.maketrans` is concurrently modified." msgstr "" -#: ../NEWS:2391 +#: ../NEWS:2704 msgid ":gh:`144872`: Fix heap buffer overflow in the parser found by OSS-Fuzz." msgstr "" -#: ../NEWS:2393 +#: ../NEWS:2706 msgid "" ":gh:`144766`: Fix a crash in fork child process when perf support is enabled." msgstr "" -#: ../NEWS:2395 +#: ../NEWS:2708 msgid "" ":gh:`144759`: Fix undefined behavior in the lexer when ``start`` and " "``multi_line_start`` pointers are ``NULL`` in " @@ -4170,7 +4638,7 @@ msgid "" "(``NULL - valid_pointer``) is now guarded with explicit ``NULL`` checks." msgstr "" -#: ../NEWS:2401 +#: ../NEWS:2714 msgid "" ":gh:`144563`: Fix interaction of the Tachyon profiler and :mod:`ctypes` and " "other modules that load the Python shared library (if present) in an " @@ -4178,75 +4646,75 @@ msgid "" "information to be confused. Patch by Pablo Galindo" msgstr "" -#: ../NEWS:2406 +#: ../NEWS:2719 msgid "" ":gh:`144601`: Fix crash when importing a module whose ``PyInit`` function " "raises an exception from a subinterpreter." msgstr "" -#: ../NEWS:2409 +#: ../NEWS:2722 msgid "" ":gh:`144438`: Align the QSBR thread state array to a 64-byte cache line " "boundary to avoid false sharing in the :term:`free-threaded build`." msgstr "" -#: ../NEWS:2412 +#: ../NEWS:2725 msgid "" ":gh:`144513`: Fix potential deadlock when using critical sections during " "stop-the-world pauses in the free-threaded build." msgstr "" -#: ../NEWS:2415 +#: ../NEWS:2728 msgid "" ":gh:`144446`: Fix data races in the free-threaded build when reading frame " "object attributes while another thread is executing the frame." msgstr "" -#: ../NEWS:2418 +#: ../NEWS:2731 msgid "" ":gh:`143636`: Fix a crash when calling :class:`SimpleNamespace.__replace__() " "` on non-namespace instances. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2422 +#: ../NEWS:2735 msgid "" ":gh:`143650`: Fix race condition in :mod:`importlib` where a thread could " "receive a stale module reference when another thread's import fails." msgstr "" -#: ../NEWS:2425 +#: ../NEWS:2738 msgid "" ":gh:`141732`: Ensure the :meth:`~object.__repr__` for :exc:`ExceptionGroup` " "and :exc:`BaseExceptionGroup` does not change when the exception sequence " "that was original passed in to its constructor is subsequently mutated." msgstr "" -#: ../NEWS:2429 +#: ../NEWS:2742 msgid "" ":gh:`140594`: Fix an out of bounds read when a single NUL character is read " "from the standard input. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:2432 +#: ../NEWS:2745 msgid "" ":gh:`91636`: While performing garbage collection, clear weakrefs to " "unreachable objects that are created during running of finalizers. If those " "weakrefs were are not cleared, they could reveal unreachable objects." msgstr "" -#: ../NEWS:2437 +#: ../NEWS:2750 msgid "" ":gh:`130327`: Fix erroneous clearing of an object's :attr:`~object.__dict__` " "if overwritten at runtime." msgstr "" -#: ../NEWS:2440 +#: ../NEWS:2753 msgid "" ":gh:`80667`: Literals using the ``\\N{name}`` escape syntax can now " "construct CJK ideographs and Hangul syllables using case-insensitive names." msgstr "" -#: ../NEWS:2446 +#: ../NEWS:2759 msgid "" ":gh:`144503`: Fix a regression introduced in 3.14.3 and 3.13.12 where the :" "mod:`multiprocessing` ``forkserver`` start method would fail with :exc:" @@ -4256,19 +4724,19 @@ msgid "" "the operating system's per-argument length limit." msgstr "" -#: ../NEWS:2453 +#: ../NEWS:2766 msgid "" ":gh:`146613`: :mod:`itertools`: Fix a crash in :func:`itertools.groupby` " "when the grouper iterator is concurrently mutated." msgstr "" -#: ../NEWS:2456 +#: ../NEWS:2769 msgid "" ":gh:`146080`: :mod:`ssl`: fix a crash when an SNI callback tries to use an " "SSL object that has already been garbage-collected. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2460 +#: ../NEWS:2773 msgid "" ":gh:`146556`: Fix :func:`annotationlib.get_annotations` hanging indefinitely " "when called with ``eval_str=True`` on a callable that has a circular " @@ -4277,52 +4745,52 @@ msgid "" "found so far, mirroring the approach of :func:`inspect.unwrap`." msgstr "" -#: ../NEWS:2466 +#: ../NEWS:2779 msgid "" ":gh:`146090`: :mod:`sqlite3`: fix a crash when :meth:`sqlite3.Connection." "create_collation` fails with `SQLITE_BUSY `__. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2470 +#: ../NEWS:2783 msgid "" ":gh:`146090`: :mod:`sqlite3`: properly raise :exc:`MemoryError` instead of :" "exc:`SystemError` when a context callback fails to be allocated. Patch by " "Bénédikt Tran." msgstr "" -#: ../NEWS:2474 +#: ../NEWS:2787 msgid "" ":gh:`145633`: Fix ``struct.pack('f', float)``: use :c:func:`PyFloat_Pack4` " "to raise :exc:`OverflowError`. Patch by Sergey B Kirpichev and Victor " "Stinner." msgstr "" -#: ../NEWS:2478 +#: ../NEWS:2791 msgid "" ":gh:`146310`: The :mod:`ensurepip` module no longer looks for ``pip-*.whl`` " "wheel packages in the current directory." msgstr "" -#: ../NEWS:2481 +#: ../NEWS:2794 msgid "" ":gh:`146083`: Update bundled `libexpat `_ to " "version 2.7.5." msgstr "" -#: ../NEWS:2484 +#: ../NEWS:2797 msgid "" ":gh:`146076`: :mod:`zoneinfo`: fix crashes when deleting ``_weak_cache`` " "from a :class:`zoneinfo.ZoneInfo` subclass." msgstr "" -#: ../NEWS:2487 +#: ../NEWS:2800 msgid "" ":gh:`146054`: Limit the size of :func:`encodings.search_function` cache. " "Found by OSS Fuzz in :oss-fuzz:`493449985`." msgstr "" -#: ../NEWS:2490 +#: ../NEWS:2803 msgid "" ":gh:`146004`: All :option:`-X` options from the Python command line are now " "propagated to child processes spawned by :mod:`multiprocessing`, not just a " @@ -4336,61 +4804,61 @@ msgid "" "``warn_default_encoding``." msgstr "" -#: ../NEWS:2501 +#: ../NEWS:2814 msgid "" ":gh:`145883`: :mod:`zoneinfo`: Fix heap buffer overflow reads from malformed " "TZif data. Found by OSS Fuzz, issues :oss-fuzz:`492245058` and :oss-fuzz:" "`492230068`." msgstr "" -#: ../NEWS:2505 +#: ../NEWS:2818 msgid "" ":gh:`145754`: Request signature during mock autospec with ``FORWARDREF`` " "annotation format. This prevents runtime errors when an annotation uses a " "name that is not defined at runtime." msgstr "" -#: ../NEWS:2509 +#: ../NEWS:2822 msgid "" ":gh:`145750`: Avoid undefined behaviour from signed integer overflow when " "parsing format strings in the :mod:`struct` module. Found by OSS Fuzz in :" "oss-fuzz:`488466741`." msgstr "" -#: ../NEWS:2513 +#: ../NEWS:2826 msgid "" ":gh:`145492`: Fix infinite recursion in :class:`collections.defaultdict` " "``__repr__`` when a ``defaultdict`` contains itself. Based on analysis by " "KowalskiThomas in :gh:`145492`." msgstr "" -#: ../NEWS:2517 +#: ../NEWS:2830 msgid "" ":gh:`145623`: Fix crash in :mod:`struct` when calling :func:`repr` or " "``__sizeof__()`` on an uninitialized :class:`struct.Struct` object created " "via ``Struct.__new__()`` without calling ``__init__()``." msgstr "" -#: ../NEWS:2521 +#: ../NEWS:2834 msgid "" ":gh:`145616`: Detect Android sysconfig ABI correctly on 32-bit ARM Android " "on 64-bit ARM kernel" msgstr "" -#: ../NEWS:2524 +#: ../NEWS:2837 msgid "" ":gh:`145551`: Fix InvalidStateError when cancelling process created by :func:" "`asyncio.create_subprocess_exec` or :func:`asyncio.create_subprocess_shell`. " "Patch by Daan De Meyer." msgstr "" -#: ../NEWS:2528 +#: ../NEWS:2841 msgid "" ":gh:`145446`: Now :mod:`functools` is safer in free-threaded build when " "using keywords in :func:`functools.partial`" msgstr "" -#: ../NEWS:2531 +#: ../NEWS:2844 msgid "" ":gh:`145417`: :mod:`venv`: Prevent incorrect preservation of SELinux context " "when copying the ``Activate.ps1`` script. The script inherited the SELinux " @@ -4398,25 +4866,25 @@ msgid "" "destination project directory." msgstr "" -#: ../NEWS:2536 +#: ../NEWS:2849 msgid "" ":gh:`145376`: Fix double free and null pointer dereference in unusual error " "scenarios in :mod:`hashlib` and :mod:`hmac` modules." msgstr "" -#: ../NEWS:2539 +#: ../NEWS:2852 msgid "" ":gh:`145301`: :mod:`hmac`: fix a crash when the initialization of the " "underlying C extension module fails." msgstr "" -#: ../NEWS:2542 +#: ../NEWS:2855 msgid "" ":gh:`145301`: :mod:`hashlib`: fix a crash when the initialization of the " "underlying C extension module fails." msgstr "" -#: ../NEWS:2545 +#: ../NEWS:2858 msgid "" ":gh:`145264`: Base64 decoder (see :func:`binascii.a2b_base64`, :func:`base64." "b64decode`, etc) no longer ignores excess data after the first padded quad " @@ -4425,13 +4893,13 @@ msgid "" "before the end of the encoded data." msgstr "" -#: ../NEWS:2551 +#: ../NEWS:2864 msgid "" ":gh:`145158`: Avoid undefined behaviour from signed integer overflow when " "parsing format strings in the :mod:`struct` module." msgstr "" -#: ../NEWS:2554 +#: ../NEWS:2867 msgid "" ":gh:`144984`: Fix crash in :meth:`xml.parsers.expat.xmlparser." "ExternalEntityParserCreate` when an allocation fails. The error paths could " @@ -4439,55 +4907,55 @@ msgid "" "reference count." msgstr "" -#: ../NEWS:2559 +#: ../NEWS:2872 msgid "" ":gh:`88091`: Fix :func:`unicodedata.decomposition` for Hangul characters." msgstr "" -#: ../NEWS:2561 +#: ../NEWS:2874 msgid "" ":gh:`144986`: Fix a memory leak in :func:`atexit.register`. Patch by Shamil " "Abdulaev." msgstr "" -#: ../NEWS:2564 +#: ../NEWS:2877 msgid "" ":gh:`144777`: Fix data races in :class:`io.IncrementalNewlineDecoder` in " "the :term:`free-threaded build`." msgstr "" -#: ../NEWS:2567 +#: ../NEWS:2880 msgid "" ":gh:`144809`: Make :class:`collections.deque` copy atomic in the :term:`free-" "threaded build`." msgstr "" -#: ../NEWS:2570 +#: ../NEWS:2883 msgid "" ":gh:`144835`: Added missing explanations for some parameters in :func:`glob." "glob` and :func:`glob.iglob`." msgstr "" -#: ../NEWS:2573 +#: ../NEWS:2886 msgid "" ":gh:`144833`: Fixed a use-after-free in :mod:`ssl` when ``SSL_new()`` " "returns NULL in ``newPySSLSocket()``. The error was reported via a dangling " "pointer after the object had already been freed." msgstr "" -#: ../NEWS:2577 +#: ../NEWS:2890 msgid "" ":gh:`144782`: Fix :class:`argparse.ArgumentParser` to be :mod:`pickleable " "`." msgstr "" -#: ../NEWS:2580 +#: ../NEWS:2893 msgid "" ":gh:`144259`: Fix inconsistent display of long multiline pasted content in " "the REPL." msgstr "" -#: ../NEWS:2583 +#: ../NEWS:2896 msgid "" ":gh:`144156`: Fix the folding of headers by the :mod:`email` library when :" "rfc:`2047` encoded words are used. Now whitespace is correctly preserved " @@ -4496,116 +4964,116 @@ msgid "" "failures to preserve whitespace." msgstr "" -#: ../NEWS:2589 +#: ../NEWS:2902 msgid "" ":gh:`66305`: Fixed a hang on Windows in the :mod:`tempfile` module when " "trying to create a temporary file or subdirectory in a non-writable " "directory." msgstr "" -#: ../NEWS:2593 +#: ../NEWS:2906 msgid "" ":gh:`140814`: :func:`multiprocessing.freeze_support` no longer sets the " "default start method as a side effect, which previously caused a subsequent :" "func:`multiprocessing.set_start_method` call to raise :exc:`RuntimeError`." msgstr "" -#: ../NEWS:2598 +#: ../NEWS:2911 msgid "" ":gh:`144475`: Calling :func:`repr` on :func:`functools.partial` is now safer " "when the partial object's internal attributes are replaced while the string " "representation is being generated." msgstr "" -#: ../NEWS:2602 +#: ../NEWS:2915 msgid "" ":gh:`144538`: Bump the version of pip bundled in ensurepip to version 26.0.1" msgstr "" -#: ../NEWS:2604 +#: ../NEWS:2917 msgid "" ":gh:`144494`: Fix performance regression in :func:`asyncio.all_tasks` on :" "term:`free-threaded builds `. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:2607 +#: ../NEWS:2920 msgid "" ":gh:`144316`: Fix crash in ``_remote_debugging`` that caused " "``test_external_inspection`` to intermittently fail. Patch by Taegyun Kim." msgstr "" -#: ../NEWS:2610 +#: ../NEWS:2923 msgid "" ":gh:`144363`: Update bundled `libexpat `_ to " "2.7.4" msgstr "" -#: ../NEWS:2613 +#: ../NEWS:2926 msgid "" ":gh:`143637`: Fixed a crash in socket.sendmsg() that could occur if " "ancillary data is mutated re-entrantly during argument parsing." msgstr "" -#: ../NEWS:2616 +#: ../NEWS:2929 msgid "" ":gh:`143543`: Fix a crash in itertools.groupby that could occur when a user-" "defined :meth:`~object.__eq__` method re-enters the iterator during key " "comparison." msgstr "" -#: ../NEWS:2620 +#: ../NEWS:2933 msgid "" ":gh:`140652`: Fix a crash in :func:`!_interpchannels.list_all` after closing " "a channel." msgstr "" -#: ../NEWS:2623 +#: ../NEWS:2936 msgid "" ":gh:`143698`: Allow *scheduler* and *setpgroup* arguments to be explicitly :" "const:`None` when calling :func:`os.posix_spawn` or :func:`os.posix_spawnp`. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2627 +#: ../NEWS:2940 msgid "" ":gh:`143698`: Raise :exc:`TypeError` instead of :exc:`SystemError` when the " "*scheduler* in :func:`os.posix_spawn` or :func:`os.posix_spawnp` is not a " "tuple. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2631 +#: ../NEWS:2944 msgid "" ":gh:`142516`: :mod:`ssl`: fix reference leaks in :class:`ssl.SSLContext` " "objects. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2634 +#: ../NEWS:2947 msgid "" ":gh:`143304`: Fix :class:`ctypes.CDLL` to honor the ``handle`` parameter on " "POSIX systems." msgstr "" -#: ../NEWS:2637 +#: ../NEWS:2950 msgid "" ":gh:`142781`: :mod:`zoneinfo`: fix a crash when instantiating :class:" "`~zoneinfo.ZoneInfo` objects for which the internal class-level cache is " "inconsistent." msgstr "" -#: ../NEWS:2641 +#: ../NEWS:2954 msgid "" ":gh:`142763`: Fix a race condition between :class:`zoneinfo.ZoneInfo` " "creation and :func:`zoneinfo.ZoneInfo.clear_cache` that could raise :exc:" "`KeyError`." msgstr "" -#: ../NEWS:2645 +#: ../NEWS:2958 msgid "" ":gh:`142787`: Fix assertion failure in :mod:`sqlite3` blob subscript when " "slicing with indices that result in an empty slice." msgstr "" -#: ../NEWS:2648 +#: ../NEWS:2961 msgid "" ":gh:`142352`: Fix :meth:`asyncio.StreamWriter.start_tls` to transfer " "buffered data from :class:`~asyncio.StreamReader` to the SSL layer, " @@ -4613,68 +5081,68 @@ msgid "" "when implementing PROXY protocol support)." msgstr "" -#: ../NEWS:2653 +#: ../NEWS:2966 msgid "" ":gh:`141707`: Don't change :class:`tarfile.TarInfo` type from ``AREGTYPE`` " "to ``DIRTYPE`` when parsing GNU long name or link headers." msgstr "" -#: ../NEWS:2656 +#: ../NEWS:2969 msgid "" ":gh:`139933`: Improve :exc:`AttributeError` suggestions for classes with a " "custom :meth:`~object.__dir__` method returning a list of unsortable values. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2660 +#: ../NEWS:2973 msgid "" ":gh:`137335`: Get rid of any possibility of a name conflict for named pipes " "in :mod:`multiprocessing` and :mod:`asyncio` on Windows, no matter how small." msgstr "" -#: ../NEWS:2664 +#: ../NEWS:2977 msgid "" ":gh:`80667`: Support lookup for Tangut Ideographs in :mod:`unicodedata`." msgstr "" -#: ../NEWS:2666 +#: ../NEWS:2979 msgid "" ":issue:`40243`: Fix :meth:`!unicodedata.ucd_3_2_0.numeric` for non-decimal " "values." msgstr "" -#: ../NEWS:2672 +#: ../NEWS:2985 msgid "" ":gh:`126676`: Expand :mod:`argparse` documentation for ``type=bool`` with a " "demonstration of the surprising behavior and pointers to common alternatives." msgstr "" -#: ../NEWS:2676 +#: ../NEWS:2989 msgid "" ":gh:`145649`: Fix text wrapping and formatting of ``-X`` option descriptions " "in the :manpage:`python(1)` man page by using proper roff markup." msgstr "" -#: ../NEWS:2679 +#: ../NEWS:2992 msgid "" ":gh:`145450`: Document missing public :class:`wave.Wave_write` getter " "methods." msgstr "" -#: ../NEWS:2682 +#: ../NEWS:2995 msgid "" ":gh:`136246`: A new \"Improve this page\" link is available in the left-hand " "sidebar of the docs, offering links to create GitHub issues, discussion " "forum posts, or pull requests." msgstr "" -#: ../NEWS:2689 +#: ../NEWS:3002 msgid "" ":gh:`144418`: The Android testbed's emulator RAM has been increased from 2 " "GB to 4 GB." msgstr "" -#: ../NEWS:2692 +#: ../NEWS:3005 msgid "" ":gh:`146202`: Fix a race condition in regrtest: make sure that the temporary " "directory is created in the worker process. Previously, temp_cwd() could " @@ -4682,39 +5150,39 @@ msgid "" "Stinner." msgstr "" -#: ../NEWS:2697 +#: ../NEWS:3010 msgid "" ":gh:`144739`: When Python was compiled with system expat older then 2.7.2 " "but tests run with newer expat, still skip :class:`!test.test_pyexpat." "MemoryProtectionTest`." msgstr "" -#: ../NEWS:2704 +#: ../NEWS:3017 msgid "" ":gh:`146541`: The Android testbed can now be built for 32-bit ARM and x86 " "targets." msgstr "" -#: ../NEWS:2707 +#: ../NEWS:3020 msgid "" ":gh:`146498`: The iOS XCframework build script now ensures libpython isn't " "included in installed app content, and is more robust in identifying " "standard library binary content that requires processing." msgstr "" -#: ../NEWS:2711 +#: ../NEWS:3024 msgid "" ":gh:`146450`: The Android build script was modified to improve parity with " "other platform build scripts." msgstr "" -#: ../NEWS:2714 +#: ../NEWS:3027 msgid "" ":gh:`146446`: The clean target for the Apple/iOS XCframework build script is " "now more selective when targeting a single architecture." msgstr "" -#: ../NEWS:2717 +#: ../NEWS:3030 msgid "" ":gh:`145801`: When Python build is optimized with GCC using PGO, use ``-" "fprofile-update=atomic`` option to use atomic operations when updating " @@ -4722,45 +5190,45 @@ msgid "" "corruption which can cause random GCC crashes. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2726 +#: ../NEWS:3039 msgid "" ":gh:`145307`: Defers loading of the ``psapi.dll`` module until it is used " "by :func:`ctypes.util.dllist`." msgstr "" -#: ../NEWS:2729 +#: ../NEWS:3042 msgid ":gh:`144551`: Updated bundled version of OpenSSL to 3.0.19." msgstr "" -#: ../NEWS:2731 +#: ../NEWS:3044 msgid "" ":gh:`140131`: Fix REPL cursor position on Windows when module completion " "suggestion line hits console width." msgstr "" -#: ../NEWS:2737 +#: ../NEWS:3050 msgid ":gh:`144551`: Update macOS installer to use OpenSSL 3.0.19." msgstr "" -#: ../NEWS:2739 +#: ../NEWS:3052 msgid "" ":gh:`137586`: Invoke :program:`osascript` with absolute path in :mod:" "`webbrowser` and :mod:`!turtledemo`." msgstr "" -#: ../NEWS:2745 +#: ../NEWS:3058 msgid "" ":gh:`146056`: :c:func:`PyUnicodeWriter_WriteRepr` now supports ``NULL`` " "argument." msgstr "" -#: ../NEWS:2748 +#: ../NEWS:3061 msgid "" ":gh:`145010`: Use GCC dialect alternatives for inline assembly in ``object." "h`` so that the Python headers compile correctly with ``-masm=intel``." msgstr "" -#: ../NEWS:2752 +#: ../NEWS:3065 msgid "" ":gh:`144981`: Made :c:func:`PyUnstable_Code_SetExtra`, :c:func:" "`PyUnstable_Code_GetExtra`, and :c:func:" @@ -4768,27 +5236,27 @@ msgid "" "threaded ` build." msgstr "" -#: ../NEWS:2759 +#: ../NEWS:3072 msgid "Python 3.14.3 final" msgstr "" -#: ../NEWS:2761 +#: ../NEWS:3074 msgid "*Release date: 2026-02-03*" msgstr "" -#: ../NEWS:2766 +#: ../NEWS:3079 msgid "" ":gh:`128067`: Fix a bug in PyREPL on Windows where output without a trailing " "newline was overwritten by the next prompt." msgstr "" -#: ../NEWS:2772 +#: ../NEWS:3085 msgid "" ":gh:`142095`: Make gdb 'py-bt' command use frame from thread local state " "when available. Patch by Sam Gross and Victor Stinner." msgstr "" -#: ../NEWS:2778 +#: ../NEWS:3091 msgid "" ":gh:`144415`: The Android testbed now distinguishes between stdout/stderr " "messages which were triggered by a newline, and those triggered by a manual " @@ -4796,38 +5264,38 @@ msgid "" "content." msgstr "" -#: ../NEWS:2783 +#: ../NEWS:3096 msgid "" ":gh:`143460`: Skip tests relying on infinite recusion if stack size is " "unlimited." msgstr "" -#: ../NEWS:2786 +#: ../NEWS:3099 msgid "" ":gh:`65784`: Add support for parametrized resource ``wantobjects`` in " "regrtests, which allows to run Tkinter tests with the specified value of :" "data:`!tkinter.wantobjects`, for example ``-u wantobjects=0``." msgstr "" -#: ../NEWS:2790 +#: ../NEWS:3103 msgid "" ":gh:`143553`: Add support for parametrized resources, such as ``-u " "xpickle=2.7``." msgstr "" -#: ../NEWS:2793 +#: ../NEWS:3106 msgid "" ":gh:`142836`: Accommodated Solaris in ``test_pdb." "test_script_target_anonymous_pipe``." msgstr "" -#: ../NEWS:2796 +#: ../NEWS:3109 msgid "" ":issue:`31391`: Forward-port test_xpickle from Python 2 to Python 3 and add " "the resource back to test's command line." msgstr "" -#: ../NEWS:2802 +#: ../NEWS:3115 msgid "" ":gh:`144125`: :mod:`~email.generator.BytesGenerator` will now refuse to " "serialize (write) headers that are unsafely folded or delimited; see :attr:" @@ -4835,7 +5303,7 @@ msgid "" "Bloemsaat and Petr Viktorin in :gh:`121650`)." msgstr "" -#: ../NEWS:2807 +#: ../NEWS:3120 msgid "" ":gh:`143935`: Fixed a bug in the folding of comments when flattening an " "email message using a modern email policy. Comments consisting of a very " @@ -4845,80 +5313,80 @@ msgid "" "enabled header injection with carefully crafted inputs." msgstr "" -#: ../NEWS:2814 +#: ../NEWS:3127 msgid ":gh:`143925`: Reject control characters in ``data:`` URL media types." msgstr "" -#: ../NEWS:2816 +#: ../NEWS:3129 msgid "" ":gh:`143919`: Reject control characters in :class:`http.cookies.Morsel` " "fields and values." msgstr "" -#: ../NEWS:2819 +#: ../NEWS:3132 msgid "" ":gh:`143916`: Reject C0 control characters within wsgiref.headers.Headers " "fields, values, and parameters." msgstr "" -#: ../NEWS:2825 +#: ../NEWS:3138 msgid "" ":gh:`144380`: Improve performance of :class:`io.BufferedReader` line " "iteration by ~49%." msgstr "" -#: ../NEWS:2828 +#: ../NEWS:3141 msgid "" ":gh:`144169`: Fix three crashes when non-string keyword arguments are " "supplied to objects in the :mod:`ast` module." msgstr "" -#: ../NEWS:2831 +#: ../NEWS:3144 msgid "" ":gh:`144100`: Fixed a crash in ctypes when using a deprecated " "``POINTER(str)`` type in ``argtypes``. Instead of aborting, ctypes now " "raises a proper Python exception when the pointer target type is unresolved." msgstr "" -#: ../NEWS:2836 +#: ../NEWS:3149 msgid "" ":gh:`144050`: Fix :func:`stat.filemode` in the pure-Python implementation to " "avoid misclassifying invalid mode values as block devices." msgstr "" -#: ../NEWS:2839 +#: ../NEWS:3152 msgid "" ":gh:`144023`: Fixed validation of file descriptor 0 in posix functions when " "used with follow_symlinks parameter." msgstr "" -#: ../NEWS:2842 +#: ../NEWS:3155 msgid "" ":gh:`143999`: Fix an issue where :func:`inspect.getgeneratorstate` and :func:" "`inspect.getcoroutinestate` could fail for generators wrapped by :func:" "`types.coroutine` in the suspended state." msgstr "" -#: ../NEWS:2846 +#: ../NEWS:3159 msgid "" ":gh:`143831`: :class:`annotationlib.ForwardRef` objects are now hashable " "when created from annotation scopes with closures. Previously, hashing such " "objects would throw an exception. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:2850 +#: ../NEWS:3163 msgid "" ":gh:`143874`: Fixed a bug in :mod:`pdb` where expression results were not " "sent back to remote client." msgstr "" -#: ../NEWS:2853 +#: ../NEWS:3166 msgid "" ":gh:`143880`: Fix data race in :func:`functools.partial` in the :term:`free " "threading` build." msgstr "" -#: ../NEWS:2856 +#: ../NEWS:3169 msgid "" ":gh:`143706`: Fix :mod:`multiprocessing` forkserver so that :data:`sys.argv` " "is correctly set before ``__main__`` is preloaded. Previously, :data:`sys." @@ -4927,7 +5395,7 @@ msgid "" "Aaron Wieczorek, test provided by Thomas Watson, thanks!" msgstr "" -#: ../NEWS:2862 +#: ../NEWS:3175 msgid "" ":gh:`143638`: Forbid reentrant calls of the :class:`pickle.Pickler` and :" "class:`pickle.Unpickler` methods for the C implementation. Previously, this " @@ -4935,40 +5403,40 @@ msgid "" "same object raise :exc:`RuntimeError`." msgstr "" -#: ../NEWS:2867 +#: ../NEWS:3180 msgid "" ":gh:`78724`: Raise :exc:`RuntimeError`'s when user attempts to call methods " "on half-initialized :class:`~struct.Struct` objects, For example, created by " "``Struct.__new__(Struct)``. Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:2871 +#: ../NEWS:3184 msgid "" ":gh:`143196`: Fix crash when the internal encoder object returned by " "undocumented function :func:`!json.encoder.c_make_encoder` was called with " "non-zero second (*_current_indent_level*) argument." msgstr "" -#: ../NEWS:2875 +#: ../NEWS:3188 msgid "" ":gh:`143191`: :func:`_thread.stack_size` now raises :exc:`ValueError` if the " "stack size is too small. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2878 +#: ../NEWS:3191 msgid "" ":gh:`143602`: Fix a inconsistency issue in :meth:`~io.RawIOBase.write` that " "leads to unexpected buffer overwrite by deduplicating the buffer exports." msgstr "" -#: ../NEWS:2881 +#: ../NEWS:3194 msgid "" ":gh:`143547`: Fix :func:`sys.unraisablehook` when the hook raises an " "exception and changes :func:`sys.unraisablehook`: hold a strong reference to " "the old hook. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2885 +#: ../NEWS:3198 msgid "" ":gh:`143517`: :func:`annotationlib.get_annotations` no longer raises a :exc:" "`SyntaxError` when evaluating a stringified starred annotation that starts " @@ -4976,67 +5444,67 @@ msgid "" "Sławecki." msgstr "" -#: ../NEWS:2890 +#: ../NEWS:3203 msgid "" ":gh:`143378`: Fix use-after-free crashes when a :class:`~io.BytesIO` object " "is concurrently mutated during :meth:`~io.RawIOBase.write` or :meth:`~io." "IOBase.writelines`." msgstr "" -#: ../NEWS:2894 +#: ../NEWS:3207 msgid "" ":gh:`143346`: Fix incorrect wrapping of the Base64 data in :class:`!plistlib." "_PlistWriter` when the indent contains a mix of tabs and spaces." msgstr "" -#: ../NEWS:2898 +#: ../NEWS:3211 msgid "" ":gh:`143310`: :mod:`tkinter`: fix a crash when a Python :class:`list` is " "mutated during the conversion to a Tcl object (e.g., when setting a Tcl " "variable). Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2902 +#: ../NEWS:3215 msgid "" ":gh:`143309`: Fix a crash in :func:`os.execve` on non-Windows platforms when " "given a custom environment mapping which is then mutated during parsing. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2906 +#: ../NEWS:3219 msgid "" ":gh:`143308`: :mod:`pickle`: fix use-after-free crashes when a :class:" "`~pickle.PickleBuffer` is concurrently mutated by a custom buffer callback " "during pickling. Patch by Bénédikt Tran and Aaron Wieczorek." msgstr "" -#: ../NEWS:2910 +#: ../NEWS:3223 msgid "" ":gh:`143237`: Fix support of named pipes in the rotating :mod:`logging` " "handlers." msgstr "" -#: ../NEWS:2913 +#: ../NEWS:3226 msgid "" ":gh:`143249`: Fix possible buffer leaks in Windows overlapped I/O on error " "handling." msgstr "" -#: ../NEWS:2916 +#: ../NEWS:3229 msgid "" ":gh:`143241`: :mod:`zoneinfo`: fix infinite loop in :meth:`ZoneInfo." "from_file ` when parsing a malformed TZif file. " "Patch by Fatih Celik." msgstr "" -#: ../NEWS:2920 +#: ../NEWS:3233 msgid "" ":gh:`142830`: :mod:`sqlite3`: fix use-after-free crashes when the " "connection's callbacks are mutated during a callback execution. Patch by " "Bénédikt Tran." msgstr "" -#: ../NEWS:2924 +#: ../NEWS:3237 msgid "" ":gh:`143200`: :mod:`xml.etree.ElementTree`: fix use-after-free crashes in :" "meth:`~object.__getitem__` and :meth:`~object.__setitem__` methods of :class:" @@ -5044,83 +5512,83 @@ msgid "" "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2929 +#: ../NEWS:3242 msgid "" ":gh:`142195`: Updated timeout evaluation logic in :mod:`subprocess` to be " "compatible with deterministic environments like Shadow where time moves " "exactly as requested." msgstr "" -#: ../NEWS:2933 +#: ../NEWS:3246 msgid "" ":gh:`142164`: Fix the ctypes bitfield overflow error message to report the " "correct offset and size calculation." msgstr "" -#: ../NEWS:2936 +#: ../NEWS:3249 msgid "" ":gh:`143145`: Fixed a possible reference leak in ctypes when constructing " "results with multiple output parameters on error." msgstr "" -#: ../NEWS:2939 +#: ../NEWS:3252 msgid "" ":gh:`122431`: Corrected the error message in :func:`readline." "append_history_file` to state that ``nelements`` must be non-negative " "instead of positive." msgstr "" -#: ../NEWS:2943 +#: ../NEWS:3256 msgid "" ":gh:`143004`: Fix a potential use-after-free in :meth:`collections.Counter." "update` when user code mutates the Counter during an update." msgstr "" -#: ../NEWS:2947 +#: ../NEWS:3260 msgid "" ":gh:`143046`: The :mod:`asyncio` REPL no longer prints copyright and version " "messages in the quiet mode (:option:`-q`). Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:2950 +#: ../NEWS:3263 msgid "" ":gh:`140648`: The :mod:`asyncio` REPL now respects the :option:`-I` flag " "(isolated mode). Previously, it would load and execute :envvar:" "`PYTHONSTARTUP` even if the flag was set. Contributed by Bartosz Sławecki." msgstr "" -#: ../NEWS:2955 +#: ../NEWS:3268 msgid "" ":gh:`142991`: Fixed socket operations such as recvfrom() and sendto() for " "FreeBSD divert(4) socket." msgstr "" -#: ../NEWS:2958 +#: ../NEWS:3271 msgid "" ":gh:`143010`: Fixed a bug in :mod:`mailbox` where the precise timing of an " "external event could result in the library opening an existing file instead " "of a file it expected to create." msgstr "" -#: ../NEWS:2962 +#: ../NEWS:3275 msgid "" ":gh:`142881`: Fix concurrent and reentrant call of :func:`atexit.unregister`." msgstr "" -#: ../NEWS:2964 +#: ../NEWS:3277 msgid "" ":gh:`112127`: Fix possible use-after-free in :func:`atexit.unregister` when " "the callback is unregistered during comparison." msgstr "" -#: ../NEWS:2967 +#: ../NEWS:3280 msgid "" ":gh:`142783`: Fix zoneinfo use-after-free with descriptor _weak_cache. a " "descriptor as _weak_cache could cause crashes during object creation. The " "fix ensures proper reference counting for descriptor-provided objects." msgstr "" -#: ../NEWS:2971 +#: ../NEWS:3284 msgid "" ":gh:`142754`: Add the *ownerDocument* attribute to :mod:`xml.dom.minidom` " "elements and attributes created by directly instantiating the ``Element`` or " @@ -5129,34 +5597,34 @@ msgid "" "used instead." msgstr "" -#: ../NEWS:2977 +#: ../NEWS:3290 msgid "" ":gh:`142784`: The :mod:`asyncio` REPL now properly closes the loop upon the " "end of interactive session. Previously, it could cause surprising warnings. " "Contributed by Bartosz Sławecki." msgstr "" -#: ../NEWS:2981 +#: ../NEWS:3294 msgid "" ":gh:`142555`: :mod:`array`: fix a crash in ``a[i] = v`` when converting *i* " "to an index via :meth:`i.__index__ ` or :meth:`i.__float__ " "` mutates the array." msgstr "" -#: ../NEWS:2985 +#: ../NEWS:3298 msgid "" ":gh:`142594`: Fix crash in ``TextIOWrapper.close()`` when the underlying " "buffer's ``closed`` property calls :meth:`~io.TextIOBase.detach`." msgstr "" -#: ../NEWS:2988 +#: ../NEWS:3301 msgid "" ":gh:`142451`: :mod:`hmac`: Ensure that the :attr:`HMAC.block_size ` attribute is correctly copied by :meth:`HMAC.copy `. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2992 +#: ../NEWS:3305 msgid "" ":gh:`142495`: :class:`collections.defaultdict` now prioritizes :meth:" "`~object.__setitem__` when inserting default values from " @@ -5164,33 +5632,33 @@ msgid "" "would overwrite a value set before ``default_factory`` returns." msgstr "" -#: ../NEWS:2997 +#: ../NEWS:3310 msgid "" ":gh:`142651`: :mod:`unittest.mock`: fix a thread safety issue where :attr:" "`Mock.call_count ` may return inaccurate " "values when the mock is called concurrently from multiple threads." msgstr "" -#: ../NEWS:3002 +#: ../NEWS:3315 msgid "" ":gh:`142595`: Added type check during initialization of the :mod:`decimal` " "module to prevent a crash in case of broken stdlib. Patch by Sergey B " "Kirpichev." msgstr "" -#: ../NEWS:3006 +#: ../NEWS:3319 msgid "" ":gh:`142556`: Fix crash when a task gets re-registered during finalization " "in :mod:`asyncio`. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:3009 +#: ../NEWS:3322 msgid "" ":gh:`123241`: Avoid reference count operations in garbage collection of :mod:" "`ctypes` objects." msgstr "" -#: ../NEWS:3012 +#: ../NEWS:3325 msgid "" ":gh:`142517`: The non-``compat32`` :mod:`email` policies now correctly " "handle refolding encoded words that contain bytes that can not be decoded in " @@ -5198,174 +5666,174 @@ msgid "" "exception during folding." msgstr "" -#: ../NEWS:3017 +#: ../NEWS:3330 msgid "" ":gh:`112527`: The help text for required options in :mod:`argparse` no " "longer extended with \" (default: None)\"." msgstr "" -#: ../NEWS:3020 +#: ../NEWS:3333 msgid "" ":gh:`142346`: Fix usage formatting for mutually exclusive groups in :mod:" "`argparse` when they are preceded by positional arguments or followed or " "intermixed with other optional arguments." msgstr "" -#: ../NEWS:3024 +#: ../NEWS:3337 msgid "" ":gh:`142315`: Pdb can now run scripts from anonymous pipes used in process " "substitution. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:3027 +#: ../NEWS:3340 msgid "" ":gh:`142332`: Fix usage formatting for positional arguments in mutually " "exclusive groups in :mod:`argparse`. in :mod:`argparse`." msgstr "" -#: ../NEWS:3030 +#: ../NEWS:3343 msgid "" ":gh:`142282`: Fix :func:`winreg.QueryValueEx` to not accidentally read " "garbage buffer under race condition." msgstr "" -#: ../NEWS:3033 +#: ../NEWS:3346 msgid "" ":gh:`75949`: Fix :mod:`argparse` to preserve ``|`` separators in mutually " "exclusive groups when the usage line wraps due to length." msgstr "" -#: ../NEWS:3036 +#: ../NEWS:3349 msgid "" ":gh:`142267`: Improve :mod:`argparse` performance by caching the formatter " "used for argument validation." msgstr "" -#: ../NEWS:3039 +#: ../NEWS:3352 msgid "" ":gh:`68552`: ``MisplacedEnvelopeHeaderDefect`` and ``Missing header name`` " "defects are now correctly passed to the ``handle_defect`` method of " "``policy`` in :class:`~email.parser.FeedParser`." msgstr "" -#: ../NEWS:3043 +#: ../NEWS:3356 msgid "" ":gh:`142006`: Fix a bug in the :mod:`email.policy.default` folding algorithm " "which incorrectly resulted in a doubled newline when a line ending at " "exactly max_line_length was followed by an unfoldable token." msgstr "" -#: ../NEWS:3047 +#: ../NEWS:3360 msgid "" ":gh:`105836`: Fix :meth:`asyncio.run_coroutine_threadsafe` leaving " "underlying cancelled asyncio task running." msgstr "" -#: ../NEWS:3050 +#: ../NEWS:3363 msgid "" ":gh:`139971`: :mod:`pydoc`: Ensure that the link to the online documentation " "of a :term:`stdlib` module is correct." msgstr "" -#: ../NEWS:3053 +#: ../NEWS:3366 msgid "" ":gh:`139262`: Some keystrokes can be swallowed in the new ``PyREPL`` on " "Windows, especially when used together with the ALT key. Fix by Chris Eibl." msgstr "" -#: ../NEWS:3057 +#: ../NEWS:3370 msgid "" ":gh:`138897`: Improved :data:`license`/:data:`copyright`/:data:`credits` " "display in the :term:`REPL`: now uses a pager." msgstr "" -#: ../NEWS:3060 +#: ../NEWS:3373 msgid "" ":gh:`79986`: Add parsing for ``References`` and ``In-Reply-To`` headers to " "the :mod:`email` library that parses the header content as lists of message " "id tokens. This prevents them from being folded incorrectly." msgstr "" -#: ../NEWS:3064 +#: ../NEWS:3377 msgid "" ":gh:`136282`: Add support for :const:`~configparser.UNNAMED_SECTION` when " "creating a section via the mapping protocol access" msgstr "" -#: ../NEWS:3067 +#: ../NEWS:3380 msgid "" ":gh:`109263`: Starting a process from spawn context in :mod:" "`multiprocessing` no longer sets the start method globally." msgstr "" -#: ../NEWS:3070 +#: ../NEWS:3383 msgid ":gh:`133253`: Fix thread-safety issues in :mod:`linecache`." msgstr "" -#: ../NEWS:3072 +#: ../NEWS:3385 msgid "" ":gh:`132715`: Skip writing objects during marshalling once a failure has " "occurred." msgstr "" -#: ../NEWS:3078 +#: ../NEWS:3391 msgid "" ":gh:`143774`: Better explain the operation of Format / Format Paragraph." msgstr "" -#: ../NEWS:3083 +#: ../NEWS:3396 msgid ":gh:`140806`: Add documentation for :func:`enum.bin`." msgstr "" -#: ../NEWS:3088 +#: ../NEWS:3401 msgid "" ":gh:`144307`: Prevent a reference leak in module teardown at interpreter " "finalization." msgstr "" -#: ../NEWS:3091 +#: ../NEWS:3404 msgid "" ":gh:`144194`: Fix error handling in perf jitdump initialization on memory " "allocation failure." msgstr "" -#: ../NEWS:3094 +#: ../NEWS:3407 msgid "" ":gh:`144012`: Check if the result is ``NULL`` in ``BINARY_OP_EXTENT`` opcode." msgstr "" -#: ../NEWS:3096 +#: ../NEWS:3409 msgid "" ":gh:`141805`: Fix crash in :class:`set` when objects with the same hash are " "concurrently added to the set after removing an element with the same hash " "while the set still contains elements with the same hash." msgstr "" -#: ../NEWS:3100 +#: ../NEWS:3413 msgid ":gh:`143670`: Fixes a crash in ``ga_repr_items_list`` function." msgstr "" -#: ../NEWS:3102 +#: ../NEWS:3415 msgid "" ":gh:`143377`: Fix a crash in :func:`!_interpreters.capture_exception` when " "the exception is incorrectly formatted. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3105 +#: ../NEWS:3418 msgid "" ":gh:`136924`: The interactive help mode in the :term:`REPL` no longer " "incorrectly syntax highlights text input as Python code. Contributed by Olga " "Matoula." msgstr "" -#: ../NEWS:3109 +#: ../NEWS:3422 msgid "" ":gh:`143189`: Fix crash when inserting a non-:class:`str` key into a split " "table dictionary when the key matches an existing key in the split table but " "has no corresponding value in the dict." msgstr "" -#: ../NEWS:3113 +#: ../NEWS:3426 msgid "" ":gh:`143228`: Fix use-after-free in perf trampoline when toggling profiling " "while threads are running or during interpreter finalization with daemon " @@ -5374,89 +5842,89 @@ msgid "" "Galindo" msgstr "" -#: ../NEWS:3119 +#: ../NEWS:3432 msgid "" ":gh:`142664`: Fix a use-after-free crash in :meth:`memoryview.__hash__ " "` when the ``__hash__`` method of the referenced object " "mutates that object or the view. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3123 +#: ../NEWS:3436 msgid "" ":gh:`142557`: Fix a use-after-free crash in :ref:`bytearray.__mod__ ` when the :class:`!bytearray` is mutated while formatting the " "``%``-style arguments. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3127 +#: ../NEWS:3440 msgid "" ":gh:`143195`: Fix use-after-free crashes in :meth:`bytearray.hex` and :meth:" "`memoryview.hex` when the separator's :meth:`~object.__len__` mutates the " "original object. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3131 +#: ../NEWS:3444 msgid "" ":gh:`142975`: Fix crash after unfreezing all objects tracked by the garbage " "collector on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:3134 +#: ../NEWS:3447 msgid "" ":gh:`143135`: Set :data:`sys.flags.inspect` to ``1`` when :envvar:" "`PYTHONINSPECT` is ``0``. Previously, it was set to ``0`` in this case." msgstr "" -#: ../NEWS:3138 +#: ../NEWS:3451 msgid "" ":gh:`143003`: Fix an overflow of the shared empty buffer in :meth:`bytearray." "extend` when ``__length_hint__()`` returns 0 for non-empty iterator." msgstr "" -#: ../NEWS:3142 +#: ../NEWS:3455 msgid "" ":gh:`143006`: Fix a possible assertion error when comparing negative non-" "integer ``float`` and ``int`` with the same number of bits in the integer " "part." msgstr "" -#: ../NEWS:3146 +#: ../NEWS:3459 msgid "" ":gh:`143057`: Avoid locking in :c:func:`PyTraceMalloc_Track` and :c:func:" "`PyTraceMalloc_Untrack` when :mod:`tracemalloc` is not enabled." msgstr "" -#: ../NEWS:3149 +#: ../NEWS:3462 msgid ":gh:`142776`: Fix a file descriptor leak in import.c" msgstr "" -#: ../NEWS:3151 +#: ../NEWS:3464 msgid "" ":gh:`142829`: Fix a use-after-free crash in :class:`contextvars.Context` " "comparison when a custom ``__eq__`` method modifies the context via :meth:" "`~contextvars.ContextVar.set`." msgstr "" -#: ../NEWS:3155 +#: ../NEWS:3468 msgid "" ":gh:`142766`: Clear the frame of a generator when :meth:`generator.close` is " "called." msgstr "" -#: ../NEWS:3158 +#: ../NEWS:3471 msgid "" ":gh:`142737`: Tracebacks will be displayed in fallback mode even if :func:" "`io.open` is lost. Previously, this would crash the interpreter. Patch by " "Bartosz Sławecki." msgstr "" -#: ../NEWS:3162 +#: ../NEWS:3475 msgid "" ":gh:`142554`: Fix a crash in :func:`divmod` when :func:`!_pylong.int_divmod` " "does not return a tuple of length two exactly. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3165 +#: ../NEWS:3478 msgid "" ":gh:`142560`: Fix use-after-free in :class:`bytearray` search-like methods (:" "meth:`~bytearray.find`, :meth:`~bytearray.count`, :meth:`~bytearray.index`, :" @@ -5467,7 +5935,7 @@ msgid "" "used for this." msgstr "" -#: ../NEWS:3174 +#: ../NEWS:3487 msgid "" ":gh:`142531`: Fix a free-threaded GC performance regression. If there are " "many untracked tuples, the GC will run too often, resulting in poor " @@ -5476,61 +5944,61 @@ msgid "" "free-threaded GC must scan those too." msgstr "" -#: ../NEWS:3180 +#: ../NEWS:3493 msgid "" ":gh:`142402`: Fix reference counting when adjacent literal parts are merged " "while constructing :class:`string.templatelib.Template`, preventing the " "displaced string object from leaking." msgstr "" -#: ../NEWS:3184 +#: ../NEWS:3497 msgid "" ":gh:`133932`: Fix crash in the free threading build when clearing frames " "that hold tagged integers." msgstr "" -#: ../NEWS:3187 +#: ../NEWS:3500 msgid "" ":gh:`142343`: Fix SIGILL crash on m68k due to incorrect assembly constraint." msgstr "" -#: ../NEWS:3189 +#: ../NEWS:3502 msgid "" ":gh:`100964`: Fix reference cycle in exhausted generator frames. Patch by " "Savannah Ostrowski." msgstr "" -#: ../NEWS:3192 +#: ../NEWS:3505 msgid "" ":gh:`69605`: Fix edge-cases around already imported modules in the :term:" "`REPL` auto-completion of imports." msgstr "" -#: ../NEWS:3195 +#: ../NEWS:3508 msgid "" ":gh:`138568`: Adjusted the built-in :func:`help` function so that empty " "inputs are ignored in interactive mode." msgstr "" -#: ../NEWS:3198 +#: ../NEWS:3511 msgid "" ":gh:`137007`: Fix a bug during JIT compilation failure which caused garbage " "collection debug assertions to fail." msgstr "" -#: ../NEWS:3204 +#: ../NEWS:3517 msgid "" ":gh:`142589`: Fix :c:func:`PyUnstable_Object_IsUniqueReferencedTemporary()` " "handling of tagged ints on the interpreter stack." msgstr "" -#: ../NEWS:3207 +#: ../NEWS:3520 msgid "" ":gh:`142571`: :c:func:`!PyUnstable_CopyPerfMapFile` now checks that opening " "the file succeeded before flushing." msgstr "" -#: ../NEWS:3213 +#: ../NEWS:3526 msgid "" ":gh:`142454`: When calculating the digest of the JIT stencils input, sort " "the hashed files by filenames before adding their content to the hasher. " @@ -5538,7 +6006,7 @@ msgid "" "independent on filesystem order." msgstr "" -#: ../NEWS:3218 +#: ../NEWS:3531 msgid "" ":gh:`141808`: When running ``make clean-retain-profile``, keep the generated " "JIT stencils. That way, the stencils are not generated twice when Profile-" @@ -5546,27 +6014,27 @@ msgid "" "their own pre-built JIT stencils." msgstr "" -#: ../NEWS:3223 +#: ../NEWS:3536 msgid "" ":gh:`138061`: Ensure reproducible builds by making JIT stencil header " "generation deterministic." msgstr "" -#: ../NEWS:3228 +#: ../NEWS:3541 msgid "Python 3.14.2 final" msgstr "" -#: ../NEWS:3230 +#: ../NEWS:3543 msgid "*Release date: 2025-12-05*" msgstr "" -#: ../NEWS:3235 +#: ../NEWS:3548 msgid "" ":gh:`142145`: Remove quadratic behavior in ``xml.minidom`` node ID cache " "clearing." msgstr "" -#: ../NEWS:3238 +#: ../NEWS:3551 msgid "" ":gh:`119452`: Fix a potential memory denial of service in the :mod:`http." "server` module. When a malicious user is connected to the CGI server on " @@ -5575,7 +6043,7 @@ msgid "" "memory (OOM) killed processes or containers, or even system crashes." msgstr "" -#: ../NEWS:3248 +#: ../NEWS:3561 msgid "" ":gh:`140797`: Revert changes to the undocumented :class:`!re.Scanner` class. " "Capturing groups are still allowed for backward compatibility, although " @@ -5583,7 +6051,7 @@ msgid "" "Python versions." msgstr "" -#: ../NEWS:3253 +#: ../NEWS:3566 msgid "" ":gh:`142206`: The resource tracker in the :mod:`multiprocessing` module now " "uses the original communication protocol, as in Python 3.14.0 and below, by " @@ -5593,57 +6061,57 @@ msgid "" "using Python 3.13.10, 3.14.1 and 3.15)." msgstr "" -#: ../NEWS:3260 +#: ../NEWS:3573 msgid "" ":gh:`142214`: Fix two regressions in :mod:`dataclasses` in Python 3.14.1 " "related to annotations." msgstr "" -#: ../NEWS:3263 +#: ../NEWS:3576 msgid "" "An exception is no longer raised if ``slots=True`` is used and the " "``__init__`` method does not have an ``__annotate__`` attribute (likely " "because ``init=False`` was used)." msgstr "" -#: ../NEWS:3267 +#: ../NEWS:3580 msgid "" "An exception is no longer raised if annotations are requested on the " "``__init__`` method and one of the fields is not present in the class " "annotations. This can occur in certain dynamic scenarios." msgstr "" -#: ../NEWS:3271 ../NEWS:28985 +#: ../NEWS:3584 ../NEWS:29298 msgid "Patch by Jelle Zijlstra." msgstr "" -#: ../NEWS:3276 +#: ../NEWS:3589 msgid "" ":gh:`142218`: Fix crash when inserting into a split table dictionary with a " "non :class:`str` key that matches an existing key." msgstr "" -#: ../NEWS:3282 +#: ../NEWS:3595 msgid "" ":gh:`116738`: Fix :mod:`cmath` data race when initializing trigonometric " "tables with subinterpreters." msgstr "" -#: ../NEWS:3287 +#: ../NEWS:3600 msgid "Python 3.14.1 final" msgstr "" -#: ../NEWS:3289 +#: ../NEWS:3602 msgid "*Release date: 2025-12-02*" msgstr "" -#: ../NEWS:3294 +#: ../NEWS:3607 msgid "" ":gh:`139810`: Installing with ``py install 3[.x]-dev`` will now select final " "versions as well as prereleases." msgstr "" -#: ../NEWS:3300 +#: ../NEWS:3613 msgid "" ":gh:`141692`: Each slice of an iOS XCframework now contains a ``lib`` folder " "that contains a symlink to the libpython dylib. This allows binary modules " @@ -5651,69 +6119,69 @@ msgid "" "linking." msgstr "" -#: ../NEWS:3305 +#: ../NEWS:3618 msgid "" ":gh:`141442`: The iOS testbed now correctly handles test arguments that " "contain spaces." msgstr "" -#: ../NEWS:3308 +#: ../NEWS:3621 msgid "" ":gh:`140702`: The iOS testbed app will now expose the ``GITHUB_ACTIONS`` " "environment variable to iOS apps being tested." msgstr "" -#: ../NEWS:3311 +#: ../NEWS:3624 msgid "" ":gh:`137484`: Have ``Tools/wasm/wasi`` put the build Python into a directory " "named after the build triple instead of \"build\"." msgstr "" -#: ../NEWS:3314 +#: ../NEWS:3627 msgid "" ":gh:`137248`: Add a ``--logdir`` option to ``Tools/wasm/wasi`` for " "specifying where to write log files." msgstr "" -#: ../NEWS:3317 +#: ../NEWS:3630 msgid "" ":gh:`137243`: Have Tools/wasm/wasi detect a WASI SDK install in /opt when it " "was directly extracted from a release tarball." msgstr "" -#: ../NEWS:3323 +#: ../NEWS:3636 msgid "" ":gh:`140482`: Preserve and restore the state of ``stty echo`` as part of the " "test environment." msgstr "" -#: ../NEWS:3326 +#: ../NEWS:3639 msgid "" ":gh:`140082`: Update ``python -m test`` to set ``FORCE_COLOR=1`` when being " "run with color enabled so that :mod:`unittest` which is run by it with " "redirected output will output in color." msgstr "" -#: ../NEWS:3330 +#: ../NEWS:3643 msgid "" ":gh:`139208`: Fix regrtest ``--fast-ci --verbose``: don't ignore the ``--" "verbose`` option anymore. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3333 +#: ../NEWS:3646 msgid "" ":gh:`136442`: Use exitcode ``1`` instead of ``5`` if :func:`unittest." "TestCase.setUpClass` raises an exception" msgstr "" -#: ../NEWS:3339 +#: ../NEWS:3652 msgid "" ":gh:`139700`: Check consistency of the zip64 end of central directory " "record. Support records with \"zip64 extensible data\" if there are no bytes " "prepended to the ZIP file." msgstr "" -#: ../NEWS:3343 +#: ../NEWS:3656 msgid "" ":gh:`139283`: :mod:`sqlite3`: correctly handle maximum number of rows to " "fetch in :meth:`Cursor.fetchmany ` and reject " @@ -5721,24 +6189,24 @@ msgid "" "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3348 +#: ../NEWS:3661 msgid "" ":gh:`137836`: Add support of the \"plaintext\" element, RAWTEXT elements " "\"xmp\", \"iframe\", \"noembed\" and \"noframes\", and optionally RAWTEXT " "element \"noscript\" in :class:`html.parser.HTMLParser`." msgstr "" -#: ../NEWS:3352 +#: ../NEWS:3665 msgid "" ":gh:`136063`: :mod:`email.message`: ensure linear complexity for legacy HTTP " "parameters parsing. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3355 +#: ../NEWS:3668 msgid ":gh:`136065`: Fix quadratic complexity in :func:`os.path.expandvars`." msgstr "" -#: ../NEWS:3357 +#: ../NEWS:3670 msgid "" ":gh:`119451`: Fix a potential memory denial of service in the :mod:`http." "client` module. When connecting to a malicious server, it could cause an " @@ -5747,7 +6215,7 @@ msgid "" "processes or containers, or even system crashes." msgstr "" -#: ../NEWS:3363 +#: ../NEWS:3676 msgid "" ":gh:`119342`: Fix a potential memory denial of service in the :mod:" "`plistlib` module. When reading a Plist file received from untrusted source, " @@ -5756,14 +6224,14 @@ msgid "" "(OOM) killed processes or containers, or even system crashes." msgstr "" -#: ../NEWS:3372 +#: ../NEWS:3685 msgid "" ":gh:`74389`: When the stdin being used by a :class:`subprocess.Popen` " "instance is closed, this is now ignored in :meth:`subprocess.Popen." "communicate` instead of leaving the class in an inconsistent state." msgstr "" -#: ../NEWS:3377 +#: ../NEWS:3690 msgid "" ":gh:`87512`: Fix :func:`subprocess.Popen.communicate` timeout handling on " "Windows when writing large input. Previously, the timeout was ignored during " @@ -5772,7 +6240,7 @@ msgid "" "background thread, allowing the timeout to be properly enforced." msgstr "" -#: ../NEWS:3384 +#: ../NEWS:3697 msgid "" ":gh:`141473`: When :meth:`subprocess.Popen.communicate` was called with " "*input* and a *timeout* and is called for a second time after a :exc:" @@ -5780,50 +6248,50 @@ msgid "" "should no longer hang." msgstr "" -#: ../NEWS:3389 +#: ../NEWS:3702 msgid "" ":gh:`59000`: Fix :mod:`pdb` breakpoint resolution for class methods when the " "module defining the class is not imported." msgstr "" -#: ../NEWS:3392 +#: ../NEWS:3705 msgid "" ":gh:`141570`: Support :term:`file-like object` raising :exc:`OSError` from :" "meth:`~io.IOBase.fileno` in color detection (``_colorize.can_colorize()``). " "This can occur when ``sys.stdout`` is redirected." msgstr "" -#: ../NEWS:3397 +#: ../NEWS:3710 msgid "" ":gh:`141659`: Fix bad file descriptor errors from ``_posixsubprocess`` on " "AIX." msgstr "" -#: ../NEWS:3400 +#: ../NEWS:3713 msgid ":gh:`141600`: Fix musl version detection on Void Linux." msgstr "" -#: ../NEWS:3402 +#: ../NEWS:3715 msgid "" ":gh:`141497`: :mod:`ipaddress`: ensure that the methods :meth:`IPv4Network." "hosts() ` and :meth:`IPv6Network.hosts() " "` always return an iterator." msgstr "" -#: ../NEWS:3407 +#: ../NEWS:3720 msgid "" ":gh:`140938`: The :func:`statistics.stdev` and :func:`statistics.pstdev` " "functions now raise a :exc:`ValueError` when the input contains an infinity " "or a NaN." msgstr "" -#: ../NEWS:3411 +#: ../NEWS:3724 msgid "" ":gh:`124111`: Updated Tcl threading configuration in :mod:`_tkinter` to " "assume that threads are always available in Tcl 9 and later." msgstr "" -#: ../NEWS:3414 +#: ../NEWS:3727 msgid "" ":gh:`137109`: The :mod:`os.fork` and related forking APIs will no longer " "warn in the common case where Linux or macOS platform APIs return the number " @@ -5831,39 +6299,39 @@ msgid "" "register_at_fork` ``after_in_parent=`` callback (re)starts a thread." msgstr "" -#: ../NEWS:3420 +#: ../NEWS:3733 msgid "" ":gh:`141314`: Fix assertion failure in :meth:`io.TextIOWrapper.tell` when " "reading files with standalone carriage return (``\\r``) line endings." msgstr "" -#: ../NEWS:3423 +#: ../NEWS:3736 msgid "" ":gh:`141311`: Fix assertion failure in :func:`!io.BytesIO.readinto` and " "undefined behavior arising when read position is above capcity in :class:`io." "BytesIO`." msgstr "" -#: ../NEWS:3427 +#: ../NEWS:3740 msgid "" ":gh:`141141`: Fix a thread safety issue with :func:`base64.b85decode`. " "Contributed by Benel Tayar." msgstr "" -#: ../NEWS:3430 +#: ../NEWS:3743 msgid "" ":gh:`137969`: Fix :meth:`annotationlib.ForwardRef.evaluate` returning :class:" "`~annotationlib.ForwardRef` objects which don't update with new globals." msgstr "" -#: ../NEWS:3434 +#: ../NEWS:3747 msgid "" ":gh:`140911`: :mod:`collections`: Ensure that the methods ``UserString." "rindex()`` and ``UserString.index()`` accept :class:`collections.UserString` " "instances as the sub argument." msgstr "" -#: ../NEWS:3438 +#: ../NEWS:3751 msgid "" ":gh:`140797`: The undocumented :class:`!re.Scanner` class now forbids " "regular expressions containing capturing groups in its lexicon patterns. " @@ -5871,159 +6339,159 @@ msgid "" "segmentation fault. Use non-capturing groups (?:...) instead." msgstr "" -#: ../NEWS:3443 +#: ../NEWS:3756 msgid "" ":gh:`125115`: Refactor the :mod:`pdb` parsing issue so positional arguments " "can pass through intuitively." msgstr "" -#: ../NEWS:3446 +#: ../NEWS:3759 msgid "" ":gh:`140815`: :mod:`faulthandler` now detects if a frame or a code object is " "invalid or freed. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3449 +#: ../NEWS:3762 msgid "" ":gh:`100218`: Correctly set :attr:`~OSError.errno` when :func:`socket." "if_nametoindex` or :func:`socket.if_indextoname` raise an :exc:`OSError`. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3453 +#: ../NEWS:3766 msgid "" ":gh:`140875`: Fix handling of unclosed character references (named and " "numerical) followed by the end of file in :class:`html.parser.HTMLParser` " "with ``convert_charrefs=False``." msgstr "" -#: ../NEWS:3457 +#: ../NEWS:3770 msgid "" ":gh:`140734`: :mod:`multiprocessing`: fix off-by-one error when checking the " "length of a temporary socket file path. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3460 +#: ../NEWS:3773 msgid "" ":gh:`140874`: Bump the version of pip bundled in ensurepip to version 25.3" msgstr "" -#: ../NEWS:3462 +#: ../NEWS:3775 msgid "" ":gh:`140691`: In :mod:`urllib.request`, when opening a FTP URL fails because " "a data connection cannot be made, the control connection's socket is now " "closed to avoid a :exc:`ResourceWarning`." msgstr "" -#: ../NEWS:3466 +#: ../NEWS:3779 msgid "" ":gh:`103847`: Fix hang when cancelling process created by :func:`asyncio." "create_subprocess_exec` or :func:`asyncio.create_subprocess_shell`. Patch by " "Kumar Aditya." msgstr "" -#: ../NEWS:3470 +#: ../NEWS:3783 msgid ":gh:`120057`: Add :func:`os.reload_environ` to ``os.__all__``." msgstr "" -#: ../NEWS:3472 +#: ../NEWS:3785 msgid "" ":gh:`140228`: Avoid making unnecessary filesystem calls for frozen modules " "in :mod:`linecache` when the global module cache is not present." msgstr "" -#: ../NEWS:3475 +#: ../NEWS:3788 msgid "" ":gh:`140590`: Fix arguments checking for the :meth:`!functools.partial." "__setstate__` that may lead to internal state corruption and crash. Patch by " "Sergey Miryanov." msgstr "" -#: ../NEWS:3479 +#: ../NEWS:3792 msgid "" ":gh:`125434`: Display thread name in :mod:`faulthandler` on Windows. Patch " "by Victor Stinner." msgstr "" -#: ../NEWS:3482 +#: ../NEWS:3795 msgid "" ":gh:`140634`: Fix a reference counting bug in :meth:`!os.sched_param." "__reduce__`." msgstr "" -#: ../NEWS:3485 +#: ../NEWS:3798 msgid "" ":gh:`140633`: Ignore :exc:`AttributeError` when setting a module's " "``__file__`` attribute when loading an extension module packaged as Apple " "Framework." msgstr "" -#: ../NEWS:3489 +#: ../NEWS:3802 msgid "" ":gh:`140593`: :mod:`xml.parsers.expat`: Fix a memory leak that could affect " "users with :meth:`~xml.parsers.expat.xmlparser.ElementDeclHandler` set to a " "custom element declaration handler. Patch by Sebastian Pipping." msgstr "" -#: ../NEWS:3493 +#: ../NEWS:3806 msgid "" ":gh:`140607`: Inside :meth:`io.RawIOBase.read`, validate that the count of " "bytes returned by :meth:`io.RawIOBase.readinto` is valid (inside the " "provided buffer)." msgstr "" -#: ../NEWS:3497 +#: ../NEWS:3810 msgid "" ":gh:`138162`: Fix :class:`logging.LoggerAdapter` with ``merge_extra=True`` " "and without the *extra* argument." msgstr "" -#: ../NEWS:3500 +#: ../NEWS:3813 msgid "" ":gh:`138774`: :func:`ast.unparse` now generates full source code when " "handling :class:`ast.Interpolation` nodes that do not have a specified " "source." msgstr "" -#: ../NEWS:3504 +#: ../NEWS:3817 msgid "" ":gh:`140474`: Fix memory leak in :class:`array.array` when creating arrays " "from an empty :class:`str` and the ``u`` type code." msgstr "" -#: ../NEWS:3507 +#: ../NEWS:3820 msgid "" ":gh:`137530`: :mod:`dataclasses` Fix annotations for generated ``__init__`` " "methods by replacing the annotations that were in-line in the generated " "source code with ``__annotate__`` functions attached to the methods." msgstr "" -#: ../NEWS:3511 +#: ../NEWS:3824 msgid "" ":gh:`140348`: Fix regression in Python 3.14.0 where using the ``|`` operator " "on a :class:`typing.Union` object combined with an object that is not a type " "would raise an error." msgstr "" -#: ../NEWS:3515 +#: ../NEWS:3828 msgid "" ":gh:`140272`: Fix memory leak in the :meth:`!clear` method of the :mod:`dbm." "gnu` database." msgstr "" -#: ../NEWS:3518 +#: ../NEWS:3831 msgid "" ":gh:`140041`: Fix import of :mod:`ctypes` on Android and Cygwin when ABI " "flags are present." msgstr "" -#: ../NEWS:3521 +#: ../NEWS:3834 msgid "" ":gh:`140120`: Fixed a memory leak in :mod:`hmac` when it was using the hacl-" "star backend. Discovered by ``@ashm-dev`` using AddressSanitizer." msgstr "" -#: ../NEWS:3524 +#: ../NEWS:3837 msgid "" ":gh:`139905`: Add suggestion to error message for :class:`typing.Generic` " "subclasses when ``cls.__parameters__`` is missing due to a parent class " @@ -6031,38 +6499,38 @@ msgid "" "__init_subclass__>` in its ``__init_subclass__``." msgstr "" -#: ../NEWS:3529 +#: ../NEWS:3842 msgid "" ":gh:`139894`: Fix incorrect sharing of current task with the child process " "while forking in :mod:`asyncio`. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:3532 +#: ../NEWS:3845 msgid "" ":gh:`139845`: Fix to not print KeyboardInterrupt twice in default asyncio " "REPL." msgstr "" -#: ../NEWS:3535 +#: ../NEWS:3848 msgid "" ":gh:`139783`: Fix :func:`inspect.getsourcelines` for the case when a " "decorator is followed by a comment or an empty line." msgstr "" -#: ../NEWS:3538 +#: ../NEWS:3851 msgid "" ":gh:`139809`: Prevent premature colorization of subparser ``prog`` in :meth:" "`argparse.ArgumentParser.add_subparsers` to respect color environment " "variable changes after parser creation." msgstr "" -#: ../NEWS:3542 +#: ../NEWS:3855 msgid "" ":gh:`139736`: Fix excessive indentation in the default :mod:`argparse` :" "class:`!HelpFormatter`. Patch by Alexander Edland." msgstr "" -#: ../NEWS:3545 +#: ../NEWS:3858 msgid "" ":gh:`70765`: :mod:`http.server`: fix default handling of HTTP/0.9 requests " "in :class:`~http.server.BaseHTTPRequestHandler`. Previously, :meth:`!" @@ -6070,38 +6538,38 @@ msgid "" "request although those are not supported in HTTP/0.9. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3551 +#: ../NEWS:3864 msgid "" ":gh:`63161`: Fix :func:`tokenize.detect_encoding`. Support non-UTF-8 shebang " "and comments if non-UTF-8 encoding is specified. Detect decoding error for " "non-UTF-8 encoding. Detect null bytes in source code." msgstr "" -#: ../NEWS:3555 +#: ../NEWS:3868 msgid "" ":gh:`139391`: Fix an issue when, on non-Windows platforms, it was not " "possible to gracefully exit a ``python -m asyncio`` process suspended by " "Ctrl+Z and later resumed by :manpage:`fg` other than with :manpage:`kill`." msgstr "" -#: ../NEWS:3559 +#: ../NEWS:3872 msgid "" ":gh:`101828`: Fix ``'shift_jisx0213'``, ``'shift_jis_2004'``, " "``'euc_jisx0213'`` and ``'euc_jis_2004'`` codecs truncating null chars as " "they were treated as part of multi-character sequences." msgstr "" -#: ../NEWS:3563 +#: ../NEWS:3876 msgid "" ":gh:`139289`: Do a real lazy-import on :mod:`rlcompleter` in :mod:`pdb` and " "restore the existing completer after importing :mod:`rlcompleter`." msgstr "" -#: ../NEWS:3566 +#: ../NEWS:3879 msgid ":gh:`139246`: fix: paste zero-width in default repl width is wrong." msgstr "" -#: ../NEWS:3568 +#: ../NEWS:3881 msgid "" ":gh:`90949`: Add :meth:`~xml.parsers.expat.xmlparser." "SetAllocTrackerActivationThreshold` and :meth:`~xml.parsers.expat.xmlparser." @@ -6110,112 +6578,112 @@ msgid "" "memory usage from within an Expat parser. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3576 +#: ../NEWS:3889 msgid "" ":gh:`139210`: Fix use-after-free when reporting unknown event in :func:`xml." "etree.ElementTree.iterparse`. Patch by Ken Jin." msgstr "" -#: ../NEWS:3579 +#: ../NEWS:3892 msgid "" ":gh:`138860`: Lazy import :mod:`rlcompleter` in :mod:`pdb` to avoid deadlock " "in subprocess." msgstr "" -#: ../NEWS:3582 +#: ../NEWS:3895 msgid "" ":gh:`112729`: Fix crash when calling :func:`concurrent.interpreters.create` " "when the process is out of memory." msgstr "" -#: ../NEWS:3585 +#: ../NEWS:3898 msgid "" ":gh:`135729`: Fix unraisable exception during finalization when using :mod:" "`concurrent.interpreters` in the REPL." msgstr "" -#: ../NEWS:3588 +#: ../NEWS:3901 msgid "" ":gh:`139076`: Fix a bug in the :mod:`pydoc` module that was hiding functions " "in a Python module if they were implemented in an extension module and the " "module did not have ``__all__``." msgstr "" -#: ../NEWS:3592 +#: ../NEWS:3905 msgid "" ":gh:`139065`: Fix trailing space before a wrapped long word if the line " "length is exactly *width* in :mod:`textwrap`." msgstr "" -#: ../NEWS:3595 +#: ../NEWS:3908 msgid "" ":gh:`139001`: Fix race condition in :class:`pathlib.Path` on the internal " "``_raw_paths`` field." msgstr "" -#: ../NEWS:3598 +#: ../NEWS:3911 msgid "" ":gh:`138813`: :class:`!multiprocessing.BaseProcess` defaults ``kwargs`` to " "``None`` instead of a shared dictionary." msgstr "" -#: ../NEWS:3601 +#: ../NEWS:3914 msgid ":gh:`138993`: Dedent :data:`credits` text." msgstr "" -#: ../NEWS:3603 +#: ../NEWS:3916 msgid "" ":gh:`138891`: Fix ``SyntaxError`` when ``inspect.get_annotations(f, " "eval_str=True)`` is called on a function annotated with a :pep:`646` " "``star_expression``" msgstr "" -#: ../NEWS:3607 +#: ../NEWS:3920 msgid "" ":gh:`130567`: Fix possible crash in :func:`locale.strxfrm` due to a platform " "bug on macOS." msgstr "" -#: ../NEWS:3610 +#: ../NEWS:3923 msgid "" ":gh:`138859`: Fix generic type parameterization raising a :exc:`TypeError` " "when omitting a :class:`ParamSpec` that has a default which is not a list of " "types." msgstr "" -#: ../NEWS:3614 +#: ../NEWS:3927 msgid "" ":gh:`138764`: Prevent :func:`annotationlib.call_annotate_function` from " "calling ``__annotate__`` functions that don't support " "``VALUE_WITH_FAKE_GLOBALS`` in a fake globals namespace with empty globals." msgstr "" -#: ../NEWS:3619 +#: ../NEWS:3932 msgid "" "Make ``FORWARDREF`` and ``STRING`` annotations fall back to using ``VALUE`` " "annotations in the case that neither their own format, nor " "``VALUE_WITH_FAKE_GLOBALS`` are supported." msgstr "" -#: ../NEWS:3623 +#: ../NEWS:3936 msgid "" ":gh:`138775`: Use of ``python -m`` with :mod:`base64` has been fixed to " "detect input from a terminal so that it properly notices EOF." msgstr "" -#: ../NEWS:3626 +#: ../NEWS:3939 msgid "" ":gh:`138779`: Support device numbers larger than ``2**63-1`` for the :attr:" "`~os.stat_result.st_rdev` field of the :class:`os.stat_result` structure." msgstr "" -#: ../NEWS:3630 +#: ../NEWS:3943 msgid "" ":gh:`137706`: Fix the partial evaluation of annotations that use ``typing." "Annotated[T, x]`` where ``T`` is a forward reference." msgstr "" -#: ../NEWS:3633 +#: ../NEWS:3946 msgid "" ":gh:`88375`: Fix normalization of the ``robots.txt`` rules and URLs in the :" "mod:`urllib.robotparser` module. No longer ignore trailing ``?``. " @@ -6223,26 +6691,26 @@ msgid "" "encoded ones." msgstr "" -#: ../NEWS:3638 +#: ../NEWS:3951 msgid "" ":gh:`111788`: Fix parsing errors in the :mod:`urllib.robotparser` module. " "Don't fail trying to parse weird paths. Don't fail trying to decode non-" "UTF-8 ``robots.txt`` files." msgstr "" -#: ../NEWS:3642 +#: ../NEWS:3955 msgid "" ":gh:`98896`: Fix a failure in multiprocessing resource_tracker when " "SharedMemory names contain colons. Patch by Rani Pinchuk." msgstr "" -#: ../NEWS:3645 +#: ../NEWS:3958 msgid "" ":gh:`138425`: Fix partial evaluation of :class:`annotationlib.ForwardRef` " "objects which rely on names defined as globals." msgstr "" -#: ../NEWS:3648 +#: ../NEWS:3961 msgid "" ":gh:`138432`: :meth:`zoneinfo.reset_tzpath` will now convert any :class:`os." "PathLike` objects it receives into strings before adding them to ``TZPATH``. " @@ -6252,31 +6720,31 @@ msgid "" "and present a more informative error message." msgstr "" -#: ../NEWS:3655 +#: ../NEWS:3968 msgid "" ":gh:`138008`: Fix segmentation faults in the :mod:`ctypes` module due to " "invalid :attr:`~ctypes._CFuncPtr.argtypes`. Patch by Dung Nguyen." msgstr "" -#: ../NEWS:3658 +#: ../NEWS:3971 msgid "" ":gh:`60462`: Fix :func:`locale.strxfrm` on Solaris (and possibly other " "platforms)." msgstr "" -#: ../NEWS:3661 +#: ../NEWS:3974 msgid "" ":gh:`138239`: The REPL now highlights :keyword:`type` as a soft keyword in :" "ref:`type statements `." msgstr "" -#: ../NEWS:3664 +#: ../NEWS:3977 msgid "" ":gh:`138204`: Forbid expansion of shared anonymous :mod:`memory maps ` " "on Linux, which caused a bus error." msgstr "" -#: ../NEWS:3667 +#: ../NEWS:3980 msgid "" ":gh:`138010`: Fix an issue where defining a class with an :func:`@warnings." "deprecated `-decorated base class may not invoke the " @@ -6284,39 +6752,39 @@ msgid "" "inheritance. Patch by Brian Schubert." msgstr "" -#: ../NEWS:3672 +#: ../NEWS:3985 msgid "" ":gh:`138151`: In :mod:`annotationlib`, improve evaluation of forward " "references to nonlocal variables that are not yet defined when the " "annotations are initially evaluated." msgstr "" -#: ../NEWS:3676 +#: ../NEWS:3989 msgid "" ":gh:`137317`: :func:`inspect.signature` now correctly handles classes that " "use a descriptor on a wrapped :meth:`!__init__` or :meth:`!__new__` method. " "Contributed by Yongyu Yan." msgstr "" -#: ../NEWS:3680 +#: ../NEWS:3993 msgid "" ":gh:`137754`: Fix import of the :mod:`zoneinfo` module if the C " "implementation of the :mod:`datetime` module is not available." msgstr "" -#: ../NEWS:3683 +#: ../NEWS:3996 msgid "" ":gh:`137490`: Handle :data:`~errno.ECANCELED` in the same way as :data:" "`~errno.EINTR` in :func:`signal.sigwaitinfo` on NetBSD." msgstr "" -#: ../NEWS:3686 +#: ../NEWS:3999 msgid "" ":gh:`137477`: Fix :func:`!inspect.getblock`, :func:`inspect.getsourcelines` " "and :func:`inspect.getsource` for generator expressions." msgstr "" -#: ../NEWS:3689 +#: ../NEWS:4002 msgid "" ":gh:`137044`: Return large limit values as positive integers instead of " "negative integers in :func:`resource.getrlimit`. Accept large values and " @@ -6324,14 +6792,14 @@ msgid "" "in :func:`resource.setrlimit`." msgstr "" -#: ../NEWS:3694 +#: ../NEWS:4007 msgid "" ":gh:`75989`: :func:`tarfile.TarFile.extractall` and :func:`tarfile.TarFile." "extract` now overwrite symlinks when extracting hardlinks. (Contributed by " "Alexander Enrique Urieles Nieto in :gh:`75989`.)" msgstr "" -#: ../NEWS:3699 +#: ../NEWS:4012 msgid "" ":gh:`137017`: Fix :obj:`threading.Thread.is_alive` to remain ``True`` until " "the underlying OS thread is fully cleaned up. This avoids false negatives in " @@ -6339,92 +6807,92 @@ msgid "" "is_alive` calls." msgstr "" -#: ../NEWS:3704 +#: ../NEWS:4017 msgid "" ":gh:`137273`: Fix debug assertion failure in :func:`locale.setlocale` on " "Windows." msgstr "" -#: ../NEWS:3707 +#: ../NEWS:4020 msgid "" ":gh:`137239`: :mod:`heapq`: Update :data:`!heapq.__all__` with ``*_max`` " "functions." msgstr "" -#: ../NEWS:3710 +#: ../NEWS:4023 msgid "" ":gh:`81325`: :class:`tarfile.TarFile` now accepts a :term:`path-like ` when working on a tar archive. (Contributed by Alexander " "Enrique Urieles Nieto in :gh:`81325`.)" msgstr "" -#: ../NEWS:3714 +#: ../NEWS:4027 msgid "" ":gh:`137185`: Fix a potential async-signal-safety issue in :mod:" "`faulthandler` when printing C stack traces." msgstr "" -#: ../NEWS:3717 +#: ../NEWS:4030 msgid "" ":gh:`136914`: Fix retrieval of :attr:`doctest.DocTest.lineno` for objects " "decorated with :func:`functools.cache` or :class:`functools.cached_property`." msgstr "" -#: ../NEWS:3721 +#: ../NEWS:4034 msgid "" ":gh:`136912`: :func:`hmac.digest` now properly handles large keys and " "messages by falling back to the pure Python implementation when necessary. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3725 +#: ../NEWS:4038 msgid "" ":gh:`83424`: Allows creating a :class:`ctypes.CDLL` without name when " "passing a handle as an argument." msgstr "" -#: ../NEWS:3728 +#: ../NEWS:4041 msgid "" ":gh:`136234`: Fix :meth:`asyncio.WriteTransport.writelines` to be robust to " "connection failure, by using the same behavior as :meth:`~asyncio." "WriteTransport.write`." msgstr "" -#: ../NEWS:3732 +#: ../NEWS:4045 msgid ":gh:`136507`: Fix mimetypes CLI to handle multiple file parameters." msgstr "" -#: ../NEWS:3734 +#: ../NEWS:4047 msgid "" ":gh:`136057`: Fixed the bug in :mod:`pdb` and :mod:`bdb` where ``next`` and " "``step`` can't go over the line if a loop exists in the line." msgstr "" -#: ../NEWS:3737 +#: ../NEWS:4050 msgid "" ":gh:`135386`: Fix opening a :mod:`dbm.sqlite3` database for reading from " "read-only file or directory." msgstr "" -#: ../NEWS:3740 +#: ../NEWS:4053 msgid "" ":gh:`135444`: Fix :meth:`asyncio.DatagramTransport.sendto` to account for " "datagram header size when data cannot be sent." msgstr "" -#: ../NEWS:3743 +#: ../NEWS:4056 msgid "" ":gh:`126631`: Fix :mod:`multiprocessing` ``forkserver`` bug which prevented " "``__main__`` from being preloaded." msgstr "" -#: ../NEWS:3746 +#: ../NEWS:4059 msgid "" ":gh:`135307`: :mod:`email`: Fix exception in ``set_content()`` when encoding " "text and max_line_length is set to ``0`` or ``None`` (unlimited)." msgstr "" -#: ../NEWS:3749 +#: ../NEWS:4062 msgid "" ":gh:`134453`: Fixed :func:`subprocess.Popen.communicate` ``input=`` handling " "of :class:`memoryview` instances that were non-byte shaped on POSIX " @@ -6432,86 +6900,86 @@ msgid "" "truncating the input. Windows platforms did not have this bug." msgstr "" -#: ../NEWS:3754 +#: ../NEWS:4067 msgid "" ":gh:`134698`: Fix a crash when calling methods of :class:`ssl.SSLContext` " "or :class:`ssl.SSLSocket` across multiple threads." msgstr "" -#: ../NEWS:3757 +#: ../NEWS:4070 msgid "" ":gh:`125996`: Fix thread safety of :class:`collections.OrderedDict`. Patch " "by Kumar Aditya." msgstr "" -#: ../NEWS:3760 +#: ../NEWS:4073 msgid "" ":gh:`133789`: Fix unpickling of :mod:`pathlib` objects that were pickled in " "Python 3.13." msgstr "" -#: ../NEWS:3763 +#: ../NEWS:4076 msgid "" ":gh:`127081`: Fix libc thread safety issues with :mod:`dbm` by performing " "stateful operations in critical sections." msgstr "" -#: ../NEWS:3766 +#: ../NEWS:4079 msgid "" ":gh:`132551`: Make :class:`io.BytesIO` safe in :term:`free-threaded ` build." msgstr "" -#: ../NEWS:3769 +#: ../NEWS:4082 msgid "" ":gh:`131788`: Make ``ResourceTracker.send`` from :mod:`multiprocessing` re-" "entrant safe" msgstr "" -#: ../NEWS:3772 +#: ../NEWS:4085 msgid "" ":gh:`118981`: Fix potential hang in ``multiprocessing.popen_spawn_posix`` " "that can happen when the child proc dies early by closing the child fds " "right away." msgstr "" -#: ../NEWS:3776 +#: ../NEWS:4089 msgid "" ":gh:`102431`: Clarify constraints for \"logical\" arguments in methods of :" "class:`decimal.Context`." msgstr "" -#: ../NEWS:3779 +#: ../NEWS:4092 msgid "" ":gh:`78319`: UTF8 support for the IMAP APPEND command has been made RFC " "compliant." msgstr "" -#: ../NEWS:3782 +#: ../NEWS:4095 msgid "" ":issue:`38735`: Fix failure when importing a module from the root directory " "on unix-like platforms with sys.pycache_prefix set." msgstr "" -#: ../NEWS:3785 +#: ../NEWS:4098 msgid "" ":issue:`41839`: Allow negative priority values from :func:`os." "sched_get_priority_min` and :func:`os.sched_get_priority_max` functions." msgstr "" -#: ../NEWS:3792 +#: ../NEWS:4105 msgid "" ":gh:`96491`: Deduplicate version number in IDLE shell title bar after saving " "to a file." msgstr "" -#: ../NEWS:3795 +#: ../NEWS:4108 msgid "" ":gh:`139742`: Colorize t-string prefixes for template strings in IDLE, as " "done for f-string prefixes." msgstr "" -#: ../NEWS:3801 +#: ../NEWS:4114 msgid "" ":gh:`141994`: :mod:`xml.sax.handler`: Make Documentation of :data:`xml.sax." "handler.feature_external_ges` warn of opening up to `external entity attacks " @@ -6519,39 +6987,39 @@ msgid "" "Sebastian Pipping." msgstr "" -#: ../NEWS:3807 +#: ../NEWS:4120 msgid "" ":gh:`140578`: Remove outdated sencence in the documentation for :mod:" "`multiprocessing`, that implied that :class:`concurrent.futures." "ThreadPoolExecutor` did not exist." msgstr "" -#: ../NEWS:3814 +#: ../NEWS:4127 msgid "" ":gh:`142048`: Fix quadratically increasing garbage collection delays in free-" "threaded build." msgstr "" -#: ../NEWS:3820 +#: ../NEWS:4133 msgid "" ":gh:`116738`: Fix thread safety issue with :mod:`re` scanner objects in free-" "threaded builds." msgstr "" -#: ../NEWS:3826 +#: ../NEWS:4139 msgid "" ":gh:`141930`: When importing a module, use Python's regular file object to " "ensure that writes to ``.pyc`` files are complete or an appropriate error is " "raised." msgstr "" -#: ../NEWS:3830 +#: ../NEWS:4143 msgid "" ":gh:`120158`: Fix inconsistent state when enabling or disabling monitoring " "events too many times." msgstr "" -#: ../NEWS:3833 +#: ../NEWS:4146 msgid "" ":gh:`139653`: Only raise a ``RecursionError`` or trigger a fatal error if " "the stack pointer is both below the limit pointer *and* above the stack " @@ -6559,96 +7027,96 @@ msgid "" "positives when user-space threads swap stacks." msgstr "" -#: ../NEWS:3838 +#: ../NEWS:4151 msgid "" ":gh:`139103`: Improve multithreaded scaling of dataclasses on the free-" "threaded build." msgstr "" -#: ../NEWS:3841 +#: ../NEWS:4154 msgid "" ":gh:`141579`: Fix :func:`sys.activate_stack_trampoline` to properly support " "the ``perf_jit`` backend. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:3844 +#: ../NEWS:4157 msgid "" ":gh:`114203`: Skip locking if object is already locked by two-mutex critical " "section." msgstr "" -#: ../NEWS:3847 +#: ../NEWS:4160 msgid "" ":gh:`141528`: Suggest using :meth:`concurrent.interpreters.Interpreter." "close` instead of the private ``_interpreters.destroy`` function when " "warning about remaining subinterpreters. Patch by Sergey Miryanov." msgstr "" -#: ../NEWS:3851 +#: ../NEWS:4164 msgid "" ":gh:`141312`: Fix the assertion failure in the ``__setstate__`` method of " "the range iterator when a non-integer argument is passed. Patch by Sergey " "Miryanov." msgstr "" -#: ../NEWS:3858 +#: ../NEWS:4171 msgid "" ":gh:`116738`: Make csv module thread-safe on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:3864 +#: ../NEWS:4177 msgid "" ":gh:`140939`: Fix memory leak when :class:`bytearray` or :class:`bytes` is " "formated with the ``%*b`` format with a large width that results in a :exc:" "`MemoryError`." msgstr "" -#: ../NEWS:3871 +#: ../NEWS:4184 msgid "" ":gh:`140260`: Fix :mod:`struct` data race in endian table initialization " "with subinterpreters. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:3877 +#: ../NEWS:4190 msgid "" ":gh:`140530`: Fix a reference leak when ``raise exc from cause`` fails. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3880 +#: ../NEWS:4193 msgid "" ":gh:`140373`: Correctly emit ``PY_UNWIND`` event when generator object is " "closed. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:3883 +#: ../NEWS:4196 msgid "" ":gh:`140576`: Fixed crash in :func:`tokenize.generate_tokens` in case of " "specific incorrect input. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:3886 +#: ../NEWS:4199 msgid "" ":gh:`140551`: Fixed crash in :class:`dict` if :meth:`dict.clear` is called " "at the lookup stage. Patch by Mikhail Efimov and Inada Naoki." msgstr "" -#: ../NEWS:3889 +#: ../NEWS:4202 msgid "" ":gh:`140517`: Fixed a reference leak when iterating over the result of :func:" "`map` with ``strict=True`` when the input iterables have different lengths. " "Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:3893 +#: ../NEWS:4206 msgid "" ":gh:`140471`: Fix potential buffer overflow in :class:`ast.AST` node " "initialization when encountering malformed :attr:`~ast.AST._fields` " "containing non-:class:`str`." msgstr "" -#: ../NEWS:3897 +#: ../NEWS:4210 msgid "" ":gh:`140431`: Fix a crash in Python's :term:`garbage collector ` due to partially initialized :term:`coroutine` objects when " @@ -6656,7 +7124,7 @@ msgid "" "set_coroutine_origin_tracking_depth`)." msgstr "" -#: ../NEWS:3905 +#: ../NEWS:4218 msgid "" ":gh:`140398`: Fix memory leaks in :mod:`readline` functions :func:`~readline." "read_init_file`, :func:`~readline.read_history_file`, :func:`~readline." @@ -6664,13 +7132,13 @@ msgid "" "`PySys_Audit` fails." msgstr "" -#: ../NEWS:3913 +#: ../NEWS:4226 msgid "" ":gh:`140406`: Fix memory leak when an object's :meth:`~object.__hash__` " "method returns an object that isn't an :class:`int`." msgstr "" -#: ../NEWS:3916 +#: ../NEWS:4229 msgid "" ":gh:`140358`: Restore elapsed time and unreachable object count in GC debug " "output. These were inadvertently removed during a refactor of ``gc.c``. The " @@ -6678,58 +7146,58 @@ msgid "" "unreachable objects. Contributed by Pål Grønås Drange." msgstr "" -#: ../NEWS:3921 +#: ../NEWS:4234 msgid "" ":gh:`140306`: Fix memory leaks in cross-interpreter channel operations and " "shared namespace handling." msgstr "" -#: ../NEWS:3924 +#: ../NEWS:4237 msgid ":gh:`140301`: Fix memory leak of ``PyConfig`` in subinterpreters." msgstr "" -#: ../NEWS:3926 +#: ../NEWS:4239 msgid "" ":gh:`140257`: Fix data race between interpreter_clear() and take_gil() on " "eval_breaker during finalization with daemon threads." msgstr "" -#: ../NEWS:3929 +#: ../NEWS:4242 msgid "" ":gh:`139951`: Fixes a regression in GC performance for a growing heap " "composed mostly of small tuples." msgstr "" -#: ../NEWS:3932 +#: ../NEWS:4245 msgid "" "Counts number of actually tracked objects, instead of trackable objects. " "This ensures that untracking tuples has the desired effect of reducing GC " "overhead." msgstr "" -#: ../NEWS:3934 +#: ../NEWS:4247 msgid "" "Does not track most untrackable tuples during creation. This prevents large " "numbers of small tuples causing excessive GCs." msgstr "" -#: ../NEWS:3937 +#: ../NEWS:4250 msgid "" ":gh:`140104`: Fix a bug with exception handling in the JIT. Patch by Ken " "Jin. Bug reported by Daniel Diniz." msgstr "" -#: ../NEWS:3940 +#: ../NEWS:4253 msgid "" ":gh:`140061`: Fixing the checking of whether an object is uniquely " "referenced to ensure free-threaded compatibility. Patch by Sergey Miryanov." msgstr "" -#: ../NEWS:3943 +#: ../NEWS:4256 msgid ":gh:`140067`: Fix memory leak in sub-interpreter creation." msgstr "" -#: ../NEWS:3945 +#: ../NEWS:4258 msgid "" ":gh:`140000`: Fix potential memory leak when a reference cycle exists " "between an instance of :class:`typing.TypeAliasType`, :class:`typing." @@ -6737,46 +7205,46 @@ msgid "" "``__name__`` attribute. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:3950 +#: ../NEWS:4263 msgid "" ":gh:`139914`: Restore support for HP PA-RISC, which has an upwards-growing " "stack." msgstr "" -#: ../NEWS:3953 +#: ../NEWS:4266 msgid "" ":gh:`139988`: Fix a memory leak when failing to create a :class:`~typing." "Union` type. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3956 +#: ../NEWS:4269 msgid "" ":gh:`139748`: Fix reference leaks in error branches of functions accepting " "path strings or bytes such as :func:`compile` and :func:`os.system`. Patch " "by Bénédikt Tran." msgstr "" -#: ../NEWS:3960 +#: ../NEWS:4273 msgid "" ":gh:`139516`: Fix lambda colon erroneously start format spec in f-string in " "tokenizer." msgstr "" -#: ../NEWS:3963 +#: ../NEWS:4276 msgid "" ":gh:`139640`: :func:`ast.parse` no longer emits syntax warnings for " "``return``/``break``/``continue`` in ``finally`` (see :pep:`765`) -- they " "are only emitted during compilation." msgstr "" -#: ../NEWS:3967 +#: ../NEWS:4280 msgid "" ":gh:`139640`: Fix swallowing some syntax warnings in different modules if " "they accidentally have the same message and are emitted from the same line. " "Fix duplicated warnings in the ``finally`` block." msgstr "" -#: ../NEWS:3971 +#: ../NEWS:4284 msgid "" ":gh:`63161`: Support non-UTF-8 shebang and comments in Python source files " "if non-UTF-8 encoding is specified. Detect decoding error in comments for " @@ -6785,65 +7253,65 @@ msgid "" "when it conflicts with the BOM in a traceback." msgstr "" -#: ../NEWS:3980 +#: ../NEWS:4293 msgid "" ":gh:`116738`: Make :mod:`mmap` thread-safe on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:3986 +#: ../NEWS:4299 msgid "" ":gh:`138558`: Fix handling of unusual t-string annotations in annotationlib. " "Patch by Dave Peck." msgstr "" -#: ../NEWS:3989 +#: ../NEWS:4302 msgid "" ":gh:`134466`: Don't run PyREPL in a degraded environment where setting " "termios attributes is not allowed." msgstr "" -#: ../NEWS:3992 +#: ../NEWS:4305 msgid "" ":gh:`138944`: Fix :exc:`SyntaxError` message when invalid syntax appears on " "the same line as a valid ``import ... as ...`` or ``from ... import ... " "as ...`` statement. Patch by Brian Schubert." msgstr "" -#: ../NEWS:3996 +#: ../NEWS:4309 msgid "" ":gh:`105487`: Remove non-existent :meth:`~object.__copy__`, :meth:`~object." "__deepcopy__`, and :attr:`~type.__bases__` from the :meth:`~object.__dir__` " "entries of :class:`types.GenericAlias`." msgstr "" -#: ../NEWS:4000 +#: ../NEWS:4313 msgid "" ":gh:`69605`: Fix some standard library submodules missing from the :term:" "`REPL` auto-completion of imports." msgstr "" -#: ../NEWS:4006 +#: ../NEWS:4319 msgid "" ":gh:`116738`: Make :mod:`cProfile` thread-safe on the :term:`free threaded " "` build." msgstr "" -#: ../NEWS:4009 +#: ../NEWS:4322 msgid "" ":gh:`138004`: On Solaris/Illumos platforms, thread names are now encoded as " "ASCII to avoid errors on systems (e.g. OpenIndiana) that don't support non-" "ASCII names." msgstr "" -#: ../NEWS:4016 +#: ../NEWS:4329 msgid "" ":gh:`137433`: Fix a potential deadlock in the :term:`free threading` build " "when daemon threads enable or disable profiling or tracing while the main " "thread is shutting down the interpreter." msgstr "" -#: ../NEWS:4020 ../NEWS:4326 +#: ../NEWS:4333 ../NEWS:4639 msgid "" ":gh:`137400`: Fix a crash in the :term:`free threading` build when disabling " "profiling or tracing across all threads with :c:func:" @@ -6852,31 +7320,31 @@ msgid "" "`threading.setprofile_all_threads`." msgstr "" -#: ../NEWS:4027 +#: ../NEWS:4340 msgid "" ":gh:`58124`: Fix name of the Python encoding in Unicode errors of the code " "page codec: use \"cp65000\" and \"cp65001\" instead of \"CP_UTF7\" and " "\"CP_UTF8\" which are not valid Python code names. Patch by Victor Stinner." msgstr "" -#: ../NEWS:4031 +#: ../NEWS:4344 msgid "" ":gh:`132657`: Improve performance of :class:`frozenset` by removing locks in " "the free-threading build." msgstr "" -#: ../NEWS:4034 +#: ../NEWS:4347 msgid "" ":gh:`133400`: Fixed Ctrl+D (^D) behavior in _pyrepl module to match old " "pre-3.13 REPL behavior." msgstr "" -#: ../NEWS:4037 +#: ../NEWS:4350 msgid "" ":gh:`128640`: Fix a crash when using threads inside of a subinterpreter." msgstr "" -#: ../NEWS:4042 +#: ../NEWS:4355 msgid "" ":gh:`137422`: Fix :term:`free threading` race condition in :c:func:" "`PyImport_AddModuleRef`. It was previously possible for two calls to the " @@ -6884,13 +7352,13 @@ msgid "" "`sys.modules`." msgstr "" -#: ../NEWS:4047 +#: ../NEWS:4360 msgid "" ":gh:`140042`: Removed the sqlite3_shutdown call that could cause closing " "connections for sqlite when used with multiple sub interpreters." msgstr "" -#: ../NEWS:4050 +#: ../NEWS:4363 msgid "" ":gh:`141042`: Make qNaN in :c:func:`PyFloat_Pack2` and :c:func:" "`PyFloat_Pack4`, if while conversion to a narrower precision floating-point " @@ -6898,20 +7366,20 @@ msgid "" "Sergey B Kirpichev." msgstr "" -#: ../NEWS:4055 +#: ../NEWS:4368 msgid "" ":gh:`140487`: Fix :c:macro:`Py_RETURN_NOTIMPLEMENTED` in limited C API 3.11 " "and older: don't treat ``Py_NotImplemented`` as immortal. Patch by Victor " "Stinner." msgstr "" -#: ../NEWS:4059 +#: ../NEWS:4372 msgid "" ":gh:`140153`: Fix :c:func:`Py_REFCNT` definition on limited C API 3.11-3.13. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:4062 +#: ../NEWS:4375 msgid "" ":gh:`139653`: Add :c:func:`PyUnstable_ThreadState_SetStackProtection` and :c:" "func:`PyUnstable_ThreadState_ResetStackProtection` functions to set the " @@ -6919,13 +7387,13 @@ msgid "" "state. Patch by Victor Stinner." msgstr "" -#: ../NEWS:4070 +#: ../NEWS:4383 msgid "" ":gh:`141808`: Do not generate the jit stencils twice in case of PGO builds " "on Windows." msgstr "" -#: ../NEWS:4073 +#: ../NEWS:4386 msgid "" ":gh:`141784`: Fix ``_remote_debugging_module.c`` compilation on 32-bit " "Linux. Include Python.h before system headers to make sure that " @@ -6933,85 +7401,85 @@ msgid "" "by Victor Stinner." msgstr "" -#: ../NEWS:4078 +#: ../NEWS:4391 msgid "" ":gh:`140768`: Warn when the WASI SDK version doesn't match what's supported." msgstr "" -#: ../NEWS:4080 +#: ../NEWS:4393 msgid "" ":gh:`140513`: Generate a clear compilation error when " "``_Py_TAIL_CALL_INTERP`` is enabled but either ``preserve_none`` or " "``musttail`` is not supported." msgstr "" -#: ../NEWS:4084 +#: ../NEWS:4397 msgid ":gh:`140189`: iOS builds were added to CI." msgstr "" -#: ../NEWS:4086 +#: ../NEWS:4399 msgid "" ":gh:`138489`: When cross-compiling for WASI by ``build_wasm`` or " "``build_emscripten``, the ``build-details.json`` step is now included in the " "build process, just like with native builds." msgstr "" -#: ../NEWS:4090 +#: ../NEWS:4403 msgid "" "This fixes the ``libinstall`` task which requires the ``build-details.json`` " "file during the process." msgstr "" -#: ../NEWS:4093 +#: ../NEWS:4406 msgid "" ":gh:`137618`: ``PYTHON_FOR_REGEN`` now requires Python 3.10 to Python 3.15. " "Patch by Adam Turner." msgstr "" -#: ../NEWS:4096 +#: ../NEWS:4409 msgid "" ":gh:`123681`: Check the ``strftime()`` behavior at runtime instead of at the " "compile time to support cross-compiling. Remove the internal macro " "``_Py_NORMALIZE_CENTURY``." msgstr "" -#: ../NEWS:4102 +#: ../NEWS:4415 msgid "Python 3.14.0 final" msgstr "" -#: ../NEWS:4104 +#: ../NEWS:4417 msgid "*Release date: 2025-10-07*" msgstr "" -#: ../NEWS:4109 +#: ../NEWS:4422 msgid ":gh:`124111`: Update macOS installer to use Tcl/Tk 8.6.17." msgstr "" -#: ../NEWS:4111 ../NEWS:4116 +#: ../NEWS:4424 ../NEWS:4429 msgid ":gh:`139573`: Updated bundled version of OpenSSL to 3.0.18." msgstr "" -#: ../NEWS:4121 +#: ../NEWS:4434 msgid "" ":gh:`139330`: SBOM generation tool didn't cross-check the version and " "checksum values against the ``Modules/expat/refresh.sh`` script, leading to " "the values becoming out-of-date during routine updates." msgstr "" -#: ../NEWS:4125 +#: ../NEWS:4438 msgid "" ":gh:`132006`: XCframeworks now include privacy manifests to satisfy Apple " "App Store submission requirements." msgstr "" -#: ../NEWS:4128 +#: ../NEWS:4441 msgid "" ":gh:`138171`: A script for building an iOS XCframework was added. As part of " "this change, the top level ``iOS`` folder has been moved to be a " "subdirectory of the ``Apple`` folder." msgstr "" -#: ../NEWS:4135 +#: ../NEWS:4448 msgid "" ":gh:`139400`: :mod:`xml.parsers.expat`: Make sure that parent Expat parsers " "are only garbage-collected once they are no longer referenced by subparsers " @@ -7019,31 +7487,31 @@ msgid "" "Patch by Sebastian Pipping." msgstr "" -#: ../NEWS:4144 +#: ../NEWS:4457 msgid ":gh:`139312`: Upgrade bundled libexpat to 2.7.3" msgstr "" -#: ../NEWS:4148 +#: ../NEWS:4461 msgid "Python 3.14.0 release candidate 3" msgstr "" -#: ../NEWS:4150 +#: ../NEWS:4463 msgid "*Release date: 2025-09-18*" msgstr "" -#: ../NEWS:4155 +#: ../NEWS:4468 msgid "" ":gh:`138896`: Fix error installing C runtime on non-updated Windows machines" msgstr "" -#: ../NEWS:4160 +#: ../NEWS:4473 msgid "" ":gh:`137873`: The iOS test runner has been simplified, resolving some issues " "that have been observed using the runner in GitHub Actions and Azure " "Pipelines test environments." msgstr "" -#: ../NEWS:4167 +#: ../NEWS:4480 msgid "" ":gh:`135661`: Fix CDATA section parsing in :class:`html.parser.HTMLParser` " "according to the HTML5 standard: ``] ]>`` and ``]] >`` no longer end the " @@ -7052,11 +7520,11 @@ msgid "" "content (SVG or MathML) or as a bogus comment in the HTML namespace." msgstr "" -#: ../NEWS:4177 +#: ../NEWS:4490 msgid ":gh:`138998`: Update bundled libexpat to 2.7.2" msgstr "" -#: ../NEWS:4179 +#: ../NEWS:4492 msgid "" ":gh:`118803`: Add back :class:`collections.abc.ByteString` and :class:" "`typing.ByteString`. Both had been removed in prior alpha, beta and release " @@ -7064,67 +7532,67 @@ msgid "" "Python 3.17." msgstr "" -#: ../NEWS:4184 +#: ../NEWS:4497 msgid "" ":gh:`137226`: Fix :func:`typing.get_type_hints` calls on generic :class:" "`typing.TypedDict` classes defined with string annotations." msgstr "" -#: ../NEWS:4187 +#: ../NEWS:4500 msgid "" ":gh:`138804`: Raise :exc:`TypeError` instead of :exc:`AttributeError` when " "an argument of incorrect type is passed to :func:`shlex.quote`. This " "restores the behavior of the function prior to 3.14." msgstr "" -#: ../NEWS:4191 +#: ../NEWS:4504 msgid "" ":gh:`128636`: Fix crash in PyREPL when os.environ is overwritten with an " "invalid value for mac" msgstr "" -#: ../NEWS:4194 +#: ../NEWS:4507 msgid "" ":gh:`138514`: Raise :exc:`ValueError` when a multi-character string is " "passed to the *echo_char* parameter of :func:`getpass.getpass`. Patch by " "Benjamin Johnson." msgstr "" -#: ../NEWS:4198 +#: ../NEWS:4511 msgid ":gh:`138515`: :mod:`email` is added to Emscripten build." msgstr "" -#: ../NEWS:4200 +#: ../NEWS:4513 msgid "" ":gh:`99948`: :func:`ctypes.util.find_library` now works in Emscripten build." msgstr "" -#: ../NEWS:4202 +#: ../NEWS:4515 msgid "" ":gh:`138253`: Add the *block* parameter in the :meth:`!put` and :meth:`!get` " "methods of the :mod:`concurrent.interpreters` queues for compatibility with " "the :class:`queue.Queue` interface." msgstr "" -#: ../NEWS:4206 +#: ../NEWS:4519 msgid "" ":gh:`138133`: Prevent infinite traceback loop when sending CTRL^C to Python " "through ``strace``." msgstr "" -#: ../NEWS:4209 +#: ../NEWS:4522 msgid "" ":gh:`134869`: Fix an issue where pressing Ctrl+C during tab completion in " "the REPL would leave the autocompletion menu in a corrupted state." msgstr "" -#: ../NEWS:4212 +#: ../NEWS:4525 msgid "" ":gh:`90548`: Fix ``musl`` detection for :func:`platform.libc_ver` on Alpine " "Linux if compiled with --strip-all." msgstr "" -#: ../NEWS:4215 +#: ../NEWS:4528 msgid "" ":gh:`136134`: :meth:`!SMTP.auth_cram_md5` now raises an :exc:`~smtplib." "SMTPException` instead of a :exc:`ValueError` if Python has been built " @@ -7133,157 +7601,157 @@ msgid "" "it. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4221 +#: ../NEWS:4534 msgid "" ":gh:`136134`: :meth:`IMAP4.login_cram_md5 ` " "now raises an :exc:`IMAP4.error ` if CRAM-MD5 " "authentication is not supported. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4225 +#: ../NEWS:4538 msgid "" ":gh:`134953`: Expand ``_colorize`` theme with ``keyword_constant`` and " "implement in :term:`repl`." msgstr "" -#: ../NEWS:4231 +#: ../NEWS:4544 msgid "" ":gh:`71810`: Raise :exc:`OverflowError` for ``(-1).to_bytes()`` for signed " "conversions when bytes count is zero. Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:4234 +#: ../NEWS:4547 msgid "" ":gh:`138192`: Fix :mod:`contextvars` initialization so that all " "subinterpreters are assigned the :attr:`~contextvars.Token.MISSING` value." msgstr "" -#: ../NEWS:4237 +#: ../NEWS:4550 msgid "" ":gh:`138479`: Fix a crash when a generic object's ``__typing_subst__`` " "returns an object that isn't a :class:`tuple`." msgstr "" -#: ../NEWS:4240 +#: ../NEWS:4553 msgid "" ":gh:`138372`: Fix :exc:`SyntaxWarning` emitted for erroneous subscript " "expressions involving :ref:`template string literals `. Patch by " "Brian Schubert." msgstr "" -#: ../NEWS:4244 +#: ../NEWS:4557 msgid "" ":gh:`138318`: The default REPL now avoids highlighting built-in names (for " "instance :class:`set` or :func:`format`) when they are used as attribute " "names (for instance in ``value.set`` or ``text.format``)." msgstr "" -#: ../NEWS:4248 +#: ../NEWS:4561 msgid "" ":gh:`138349`: Fix crash in certain cases where a module contains both a " "module-level annotation and a comprehension." msgstr "" -#: ../NEWS:4251 +#: ../NEWS:4564 msgid "" ":gh:`137384`: Fix a crash when using the :mod:`warnings` module in a " "finalizer at shutdown. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:4254 +#: ../NEWS:4567 msgid "" ":gh:`137883`: Fix runaway recursion when calling a function with keyword " "arguments." msgstr "" -#: ../NEWS:4257 +#: ../NEWS:4570 msgid "" ":gh:`137079`: Fix keyword typo recognition when parsing files. Patch by " "Pablo Galindo." msgstr "" -#: ../NEWS:4260 +#: ../NEWS:4573 msgid "" ":gh:`137728`: Fix the JIT's handling of many local variables. This " "previously caused a segfault." msgstr "" -#: ../NEWS:4263 +#: ../NEWS:4576 msgid "" ":gh:`137576`: Fix for incorrect source code being shown in tracebacks from " "the Basic REPL when :envvar:`PYTHONSTARTUP` is given. Patch by Adam Hartz." msgstr "" -#: ../NEWS:4268 +#: ../NEWS:4581 msgid "Python 3.14.0 release candidate 2" msgstr "" -#: ../NEWS:4270 +#: ../NEWS:4583 msgid "*Release date: 2025-08-14*" msgstr "" -#: ../NEWS:4275 +#: ../NEWS:4588 msgid "" ":gh:`137450`: macOS installer shell path management improvements: separate " "the installer ``Shell profile updater`` postinstall script from the ``Update " "Shell Profile.command`` to enable more robust error handling." msgstr "" -#: ../NEWS:4279 +#: ../NEWS:4592 msgid "" ":gh:`137134`: Update macOS installer to ship with SQLite version 3.50.4." msgstr "" -#: ../NEWS:4284 +#: ../NEWS:4597 msgid ":gh:`137134`: Update Windows installer to ship with SQLite 3.50.4." msgstr "" -#: ../NEWS:4289 +#: ../NEWS:4602 msgid "" ":gh:`137426`: Remove the code deprecation of ``importlib.abc." "ResourceLoader``. It is documented as deprecated, but left for backwards " "compatibility with other classes in ``importlib.abc``." msgstr "" -#: ../NEWS:4293 +#: ../NEWS:4606 msgid "" ":gh:`137282`: Fix tab completion and :func:`dir` on :mod:`concurrent." "futures`." msgstr "" -#: ../NEWS:4296 +#: ../NEWS:4609 msgid "" ":gh:`137257`: Bump the version of pip bundled in ensurepip to version 25.2" msgstr "" -#: ../NEWS:4298 +#: ../NEWS:4611 msgid "" ":gh:`137226`: Fix behavior of :meth:`annotationlib.ForwardRef.evaluate` when " "the *type_params* parameter is passed and the name of a type param is also " "present in an enclosing scope." msgstr "" -#: ../NEWS:4302 +#: ../NEWS:4615 msgid "" ":gh:`130522`: Fix unraisable :exc:`TypeError` raised during :term:" "`interpreter shutdown` in the :mod:`threading` module." msgstr "" -#: ../NEWS:4305 +#: ../NEWS:4618 msgid "" ":gh:`137059`: Fix handling of file URLs with a Windows drive letter in the " "URL authority by :func:`urllib.request.url2pathname`. This fixes a " "regression in earlier pre-releases of Python 3.14." msgstr "" -#: ../NEWS:4309 +#: ../NEWS:4622 msgid "" ":gh:`130577`: :mod:`tarfile` now validates archives to ensure member offsets " "are non-negative. (Contributed by Alexander Enrique Urieles Nieto in :gh:" "`130577`.)" msgstr "" -#: ../NEWS:4313 +#: ../NEWS:4626 msgid "" ":gh:`135228`: When :mod:`dataclasses` replaces a class with a slotted " "dataclass, the original class can now be garbage collected again. Earlier " @@ -7291,12 +7759,12 @@ msgid "" "together with the replacement class synthesized by :mod:`dataclasses`." msgstr "" -#: ../NEWS:4321 +#: ../NEWS:4634 msgid "" ":gh:`136155`: We are now checking for fatal errors in EPUB builds in CI." msgstr "" -#: ../NEWS:4333 +#: ../NEWS:4646 msgid "" ":gh:`137314`: Fixed a regression where raw f-strings incorrectly interpreted " "escape sequences in format specifications. Raw f-strings now properly " @@ -7305,74 +7773,74 @@ msgid "" "\\xFF'`` instead of ``'ÿ'``. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:4339 +#: ../NEWS:4652 msgid "" ":gh:`137308`: A standalone docstring in a node body is optimized as a :" "keyword:`pass` statement to ensure that the node's body is never empty. " "There was a :exc:`ValueError` in :func:`compile` otherwise." msgstr "" -#: ../NEWS:4343 +#: ../NEWS:4656 msgid "" ":gh:`137288`: Fix bug where some bytecode instructions of a boolean " "expression are not associated with the correct exception handler." msgstr "" -#: ../NEWS:4346 +#: ../NEWS:4659 msgid "" ":gh:`134291`: Remove some newer macOS API usage from the JIT compiler in " "order to restore compatibility with older OSX 10.15 deployment targets." msgstr "" -#: ../NEWS:4349 +#: ../NEWS:4662 msgid "" ":gh:`131338`: Disable computed stack limit checks on non-glibc linux " "platforms to fix crashes on deep recursion." msgstr "" -#: ../NEWS:4352 +#: ../NEWS:4665 msgid "" ":gh:`136870`: Fix data races while de-instrumenting bytecode of code objects " "running concurrently in threads." msgstr "" -#: ../NEWS:4358 +#: ../NEWS:4671 msgid "" ":gh:`137573`: Mark ``_PyOptimizer_Optimize`` as :c:macro:`Py_NO_INLINE` to " "prevent stack overflow crashes on macOS." msgstr "" -#: ../NEWS:4364 +#: ../NEWS:4677 msgid ":gh:`132339`: Add support for OpenSSL 3.5." msgstr "" -#: ../NEWS:4368 +#: ../NEWS:4681 msgid "Python 3.14.0 release candidate 1" msgstr "" -#: ../NEWS:4370 +#: ../NEWS:4683 msgid "*Release date: 2025-07-22*" msgstr "" -#: ../NEWS:4375 +#: ../NEWS:4688 msgid "" ":gh:`136251`: Fixes and usability improvements for ``Tools/wasm/emscripten/" "web_example``" msgstr "" -#: ../NEWS:4381 +#: ../NEWS:4694 msgid "" ":gh:`135661`: Fix parsing attributes with whitespaces around the ``=`` " "separator in :class:`html.parser.HTMLParser` according to the HTML5 standard." msgstr "" -#: ../NEWS:4385 +#: ../NEWS:4698 msgid "" ":gh:`118350`: Fix support of escapable raw text mode (elements \"textarea\" " "and \"title\") in :class:`html.parser.HTMLParser`." msgstr "" -#: ../NEWS:4391 +#: ../NEWS:4704 msgid "" ":gh:`136170`: Removed the unreleased ``zipfile.ZipFile.data_offset`` " "property added in 3.14.0a7 as it wasn't fully clear which behavior it should " @@ -7380,85 +7848,85 @@ msgid "" "expect." msgstr "" -#: ../NEWS:4395 +#: ../NEWS:4708 msgid ":gh:`124621`: pyrepl now works in Emscripten." msgstr "" -#: ../NEWS:4397 +#: ../NEWS:4710 msgid "" ":gh:`136874`: Discard URL query and fragment in :func:`urllib.request." "url2pathname`." msgstr "" -#: ../NEWS:4400 +#: ../NEWS:4713 msgid ":gh:`130645`: Enable color help by default in :mod:`argparse`." msgstr "" -#: ../NEWS:4402 +#: ../NEWS:4715 msgid ":gh:`136549`: Fix signature of :func:`threading.excepthook`." msgstr "" -#: ../NEWS:4404 +#: ../NEWS:4717 msgid "" ":gh:`136523`: Fix :class:`wave.Wave_write` emitting an unraisable when open " "raises." msgstr "" -#: ../NEWS:4407 +#: ../NEWS:4720 msgid "" ":gh:`52876`: Add missing ``keepends`` (default ``True``) parameter to :meth:" "`!codecs.StreamReaderWriter.readline` and :meth:`!codecs.StreamReaderWriter." "readlines`." msgstr "" -#: ../NEWS:4411 +#: ../NEWS:4724 msgid "" ":gh:`136470`: Correct :class:`concurrent.futures.InterpreterPoolExecutor`'s " "default thread name." msgstr "" -#: ../NEWS:4414 +#: ../NEWS:4727 msgid "" ":gh:`136476`: Fix a bug that was causing the ``get_async_stack_trace`` " "function to miss some frames in the stack trace." msgstr "" -#: ../NEWS:4417 +#: ../NEWS:4730 msgid "" ":gh:`136434`: Fix docs generation of ``UnboundItem`` in :mod:`concurrent." "interpreters` when running with :option:`-OO`." msgstr "" -#: ../NEWS:4420 +#: ../NEWS:4733 msgid "" ":gh:`136380`: Raises :exc:`AttributeError` when accessing :class:`concurrent." "futures.InterpreterPoolExecutor` and subinterpreters are not available." msgstr "" -#: ../NEWS:4424 +#: ../NEWS:4737 msgid "" ":gh:`134759`: Fix :exc:`UnboundLocalError` in :func:`email.message.Message." "get_payload` when the payload to decode is a :class:`bytes` object. Patch by " "Kliment Lamonov." msgstr "" -#: ../NEWS:4428 +#: ../NEWS:4741 msgid "" ":gh:`134657`: :mod:`asyncio`: Remove some private names from ``asyncio." "__all__``." msgstr "" -#: ../NEWS:4434 +#: ../NEWS:4747 msgid "" ":gh:`136801`: Fix PyREPL syntax highlighting on match cases after multi-line " "case. Contributed by Olga Matoula." msgstr "" -#: ../NEWS:4440 +#: ../NEWS:4753 msgid ":gh:`136421`: Fix crash when initializing :mod:`datetime` concurrently." msgstr "" -#: ../NEWS:4445 +#: ../NEWS:4758 msgid "" ":gh:`136541`: Fix some issues with the perf trampolines on x86-64 and " "aarch64. The trampolines were not being generated correctly for some cases, " @@ -7466,172 +7934,172 @@ msgid "" "Pablo Galindo." msgstr "" -#: ../NEWS:4450 +#: ../NEWS:4763 msgid "" ":gh:`136517`: Fixed a typo that prevented printing of uncollectable objects " "when the :const:`gc.DEBUG_UNCOLLECTABLE` mode was set." msgstr "" -#: ../NEWS:4453 +#: ../NEWS:4766 msgid "" ":gh:`136525`: Fix issue where per-thread bytecode was not instrumented for " "newly created threads." msgstr "" -#: ../NEWS:4456 +#: ../NEWS:4769 msgid "" ":gh:`132661`: ``Interpolation.expression`` now has a default, the empty " "string." msgstr "" -#: ../NEWS:4459 +#: ../NEWS:4772 msgid ":gh:`132661`: Reflect recent :pep:`750` change." msgstr "" -#: ../NEWS:4461 +#: ../NEWS:4774 msgid "" "Disallow concatenation of ``string.templatelib.Template`` and :class:`str`. " "Also, disallow implicit concatenation of t-string literals with string or f-" "string literals." msgstr "" -#: ../NEWS:4468 +#: ../NEWS:4781 msgid "" ":gh:`116738`: Make functions in :mod:`grp` thread-safe on the :term:`free " "threaded ` build." msgstr "" -#: ../NEWS:4474 +#: ../NEWS:4787 msgid "" ":gh:`135148`: Fixed a bug where f-string debug expressions (using =) would " "incorrectly strip out parts of strings containing escaped quotes and # " "characters. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:4478 +#: ../NEWS:4791 msgid "" ":gh:`133136`: Limit excess memory usage in the :term:`free threading` build " "when a large dictionary or list is resized and accessed by multiple threads." msgstr "" -#: ../NEWS:4482 +#: ../NEWS:4795 msgid "" ":gh:`91153`: Fix a crash when a :class:`bytearray` is concurrently mutated " "during item assignment." msgstr "" -#: ../NEWS:4485 +#: ../NEWS:4798 msgid "" ":gh:`127971`: Fix off-by-one read beyond the end of a string in string " "search." msgstr "" -#: ../NEWS:4491 +#: ../NEWS:4804 msgid "" ":gh:`112068`: Revert support of nullable arguments in :c:func:`PyArg_Parse`." msgstr "" -#: ../NEWS:4493 +#: ../NEWS:4806 msgid "" ":gh:`133296`: New variants for the critical section API that accept one or " "two :c:type:`PyMutex` pointers rather than :c:type:`PyObject` instances are " "now public in the non-limited C API." msgstr "" -#: ../NEWS:4497 +#: ../NEWS:4810 msgid "" ":gh:`134009`: Expose :c:func:`PyMutex_IsLocked` as part of the public C API." msgstr "" -#: ../NEWS:4502 +#: ../NEWS:4815 msgid "" ":gh:`135621`: PyREPL no longer depends on the :mod:`curses` standard " "library. Contributed by Łukasz Langa." msgstr "" -#: ../NEWS:4507 +#: ../NEWS:4820 msgid "Python 3.14.0 beta 4" msgstr "" -#: ../NEWS:4509 +#: ../NEWS:4822 msgid "*Release date: 2025-07-08*" msgstr "" -#: ../NEWS:4514 +#: ../NEWS:4827 msgid "" ":gh:`135968`: Stubs for ``strip`` are now provided as part of an iOS install." msgstr "" -#: ../NEWS:4516 +#: ../NEWS:4829 msgid ":gh:`133600`: Backport file reorganization for Tools/wasm/wasi." msgstr "" -#: ../NEWS:4518 +#: ../NEWS:4831 msgid "" "This should make backporting future code changes easier. It also simplifies " "instructions around how to do WASI builds in the devguide." msgstr "" -#: ../NEWS:4524 +#: ../NEWS:4837 msgid "" ":gh:`135966`: The iOS testbed now handles the ``app_packages`` folder as a " "site directory." msgstr "" -#: ../NEWS:4527 +#: ../NEWS:4840 msgid "" ":gh:`135494`: Fix regrtest to support excluding tests from ``--pgo`` tests. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:4533 +#: ../NEWS:4846 msgid "" ":gh:`136053`: :mod:`marshal`: fix a possible crash when deserializing :class:" "`slice` objects." msgstr "" -#: ../NEWS:4536 +#: ../NEWS:4849 msgid "" ":gh:`135661`: Fix parsing start and end tags in :class:`html.parser." "HTMLParser` according to the HTML5 standard." msgstr "" -#: ../NEWS:4539 +#: ../NEWS:4852 msgid "" "Whitespaces no longer accepted between ```` does not end the script section." msgstr "" -#: ../NEWS:4542 +#: ../NEWS:4855 msgid "" "Vertical tabulation (``\\v``) and non-ASCII whitespaces no longer recognized " "as whitespaces. The only whitespaces are ``\\t\\n\\r\\f`` and space." msgstr "" -#: ../NEWS:4545 +#: ../NEWS:4858 msgid "Null character (U+0000) no longer ends the tag name." msgstr "" -#: ../NEWS:4547 +#: ../NEWS:4860 msgid "" "Attributes and slashes after the tag name in end tags are now ignored, " "instead of terminating after the first ``>`` in quoted attribute value. E.g. " "``\"/>``." msgstr "" -#: ../NEWS:4551 +#: ../NEWS:4864 msgid "" "Multiple slashes and whitespaces between the last attribute and closing " "``>`` are now ignored in both start and end tags. E.g. ````." msgstr "" -#: ../NEWS:4554 +#: ../NEWS:4867 msgid "" "Multiple ``=`` between attribute name and value are no longer collapsed. E." "g. ```` produces attribute \"foo\" with value \"=bar\"." msgstr "" -#: ../NEWS:4557 +#: ../NEWS:4870 msgid "" "[Reverted in :gh:`136927`] Whitespaces between the ``=`` separator and " "attribute name or value are no longer ignored. E.g. ```` " @@ -7640,7 +8108,7 @@ msgid "" "with value None." msgstr "" -#: ../NEWS:4562 +#: ../NEWS:4875 msgid "" ":gh:`102555`: Fix comment parsing in :class:`html.parser.HTMLParser` " "according to the HTML5 standard. ``--!>`` now ends the comment. ``-- >`` no " @@ -7648,46 +8116,46 @@ msgid "" "and ``<--->``." msgstr "" -#: ../NEWS:4570 +#: ../NEWS:4883 msgid "" ":gh:`136286`: Fix pickling failures for protocols 0 and 1 for many objects " "realted to subinterpreters." msgstr "" -#: ../NEWS:4573 +#: ../NEWS:4886 msgid "" ":gh:`136316`: Improve support for evaluating nested forward references in :" "func:`typing.evaluate_forward_ref`." msgstr "" -#: ../NEWS:4576 +#: ../NEWS:4889 msgid "" ":gh:`85702`: If ``zoneinfo._common.load_tzdata`` is given a package without " "a resource a :exc:`zoneinfo.ZoneInfoNotFoundError` is raised rather than a :" "exc:`PermissionError`. Patch by Victor Stinner." msgstr "" -#: ../NEWS:4580 +#: ../NEWS:4893 msgid "" ":gh:`136028`: Fix parsing month names containing \"İ\" (U+0130, LATIN " "CAPITAL LETTER I WITH DOT ABOVE) in :func:`time.strptime`. This affects " "locales az_AZ, ber_DZ, ber_MA and crh_UA." msgstr "" -#: ../NEWS:4584 +#: ../NEWS:4897 msgid "" ":gh:`135995`: In the palmos encoding, make byte ``0x9b`` decode to ``›`` " "(U+203A - SINGLE RIGHT-POINTING ANGLE QUOTATION MARK)." msgstr "" -#: ../NEWS:4587 +#: ../NEWS:4900 msgid "" ":gh:`53203`: Fix :func:`time.strptime` for ``%c`` and ``%x`` formats on " "locales byn_ER, wal_ET and lzh_TW, and for ``%X`` format on locales ar_SA, " "bg_BG and lzh_TW." msgstr "" -#: ../NEWS:4591 +#: ../NEWS:4904 msgid "" ":gh:`91555`: An earlier change, which was introduced in 3.14.0b2, has been " "reverted. It disabled logging for a logger during handling of log messages " @@ -7695,41 +8163,41 @@ msgid "" "before 3.14.0b2." msgstr "" -#: ../NEWS:4596 +#: ../NEWS:4909 msgid "" ":gh:`135878`: Fixes a crash of :class:`types.SimpleNamespace` on :term:`free " "threading` builds, when several threads were calling its :meth:`~object." "__repr__` method at the same time." msgstr "" -#: ../NEWS:4600 +#: ../NEWS:4913 msgid "" ":gh:`135836`: Fix :exc:`IndexError` in :meth:`asyncio.loop." "create_connection` that could occur when non-\\ :exc:`OSError` exception is " "raised during connection and socket's ``close()`` raises :exc:`!OSError`." msgstr "" -#: ../NEWS:4604 +#: ../NEWS:4917 msgid "" ":gh:`135836`: Fix :exc:`IndexError` in :meth:`asyncio.loop." "create_connection` that could occur when the Happy Eyeballs algorithm " "resulted in an empty exceptions list during connection attempts." msgstr "" -#: ../NEWS:4608 +#: ../NEWS:4921 msgid "" ":gh:`135855`: Raise :exc:`TypeError` instead of :exc:`SystemError` when :" "func:`!_interpreters.set___main___attrs` is passed a non-dict object. Patch " "by Brian Schubert." msgstr "" -#: ../NEWS:4612 +#: ../NEWS:4925 msgid "" ":gh:`135815`: :mod:`netrc`: skip security checks if :func:`os.getuid` is " "missing. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4615 +#: ../NEWS:4928 msgid "" ":gh:`135640`: Address bug where it was possible to call :func:`xml.etree." "ElementTree.ElementTree.write` on an ElementTree object with an invalid root " @@ -7737,84 +8205,84 @@ msgid "" "existed." msgstr "" -#: ../NEWS:4620 +#: ../NEWS:4933 msgid "" ":gh:`135645`: Added ``supports_isolated_interpreters`` field to :data:`sys." "implementation`." msgstr "" -#: ../NEWS:4623 +#: ../NEWS:4936 msgid "" ":gh:`135646`: Raise consistent :exc:`NameError` exceptions in :func:" "`annotationlib.ForwardRef.evaluate`" msgstr "" -#: ../NEWS:4626 +#: ../NEWS:4939 msgid "" ":gh:`135557`: Fix races on :mod:`heapq` updates and :class:`list` reads on " "the :term:`free threaded ` build." msgstr "" -#: ../NEWS:4629 +#: ../NEWS:4942 msgid "" ":gh:`119180`: Only fetch globals and locals if necessary in :func:" "`annotationlib.get_annotations`" msgstr "" -#: ../NEWS:4632 +#: ../NEWS:4945 msgid "" ":gh:`135561`: Fix a crash on DEBUG builds when an HACL* HMAC routine fails. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4635 +#: ../NEWS:4948 msgid "" ":gh:`135487`: Fix :meth:`!reprlib.Repr.repr_int` when given integers with " "more than :func:`sys.get_int_max_str_digits` digits. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4639 +#: ../NEWS:4952 msgid "" ":gh:`135335`: :mod:`multiprocessing`: Flush ``stdout`` and ``stderr`` after " "preloading modules in the ``forkserver``." msgstr "" -#: ../NEWS:4642 +#: ../NEWS:4955 msgid "" ":gh:`135069`: Fix the \"Invalid error handling\" exception in :class:`!" "encodings.idna.IncrementalDecoder` to correctly replace the 'errors' " "parameter." msgstr "" -#: ../NEWS:4646 +#: ../NEWS:4959 msgid "" ":gh:`130662`: +Accept leading zeros in precision and width fields for +:" "class:`~decimal.Decimal` formatting, for example ``format(Decimal(1.25), " "'.016f')``." msgstr "" -#: ../NEWS:4650 +#: ../NEWS:4963 msgid "" ":gh:`130662`: Accept leading zeros in precision and width fields for :class:" "`~fractions.Fraction` formatting, for example ``format(Fraction(1, 3), " "'.016f')``." msgstr "" -#: ../NEWS:4654 +#: ../NEWS:4967 msgid "" ":gh:`87790`: Support underscore and comma as thousands separators in the " "fractional part for :class:`~fractions.Fraction`'s formatting. Patch by " "Sergey B Kirpichev." msgstr "" -#: ../NEWS:4658 +#: ../NEWS:4971 msgid "" ":gh:`87790`: Support underscore and comma as thousands separators in the " "fractional part for :class:`~decimal.Decimal`'s formatting. Patch by Sergey " "B Kirpichev." msgstr "" -#: ../NEWS:4662 +#: ../NEWS:4975 msgid "" ":gh:`130664`: Handle corner-case for :class:`~fractions.Fraction`'s " "formatting: treat zero-padding (preceding the width field by a zero " @@ -7822,109 +8290,109 @@ msgid "" "alignment type of ``'='``, just as in case of :class:`float`'s." msgstr "" -#: ../NEWS:4670 +#: ../NEWS:4983 msgid "" ":gh:`136155`: EPUB builds are fixed by excluding non-XHTML-compatible tags." msgstr "" -#: ../NEWS:4675 +#: ../NEWS:4988 msgid ":gh:`109700`: Fix memory error handling in :c:func:`PyDict_SetDefault`." msgstr "" -#: ../NEWS:4677 +#: ../NEWS:4990 msgid "" ":gh:`78465`: Fix error message for ``cls.__new__(cls, ...)`` where ``cls`` " "is not instantiable builtin or extension type (with ``tp_new`` set to " "``NULL``)." msgstr "" -#: ../NEWS:4681 +#: ../NEWS:4994 msgid "" ":gh:`129958`: Differentiate between t-strings and f-strings in syntax error " "for newlines in format specifiers of single-quoted interpolated strings." msgstr "" -#: ../NEWS:4684 +#: ../NEWS:4997 msgid "" ":gh:`135871`: Non-blocking mutex lock attempts now return immediately when " "the lock is busy instead of briefly spinning in the :term:`free threading` " "build." msgstr "" -#: ../NEWS:4688 +#: ../NEWS:5001 msgid "" ":gh:`135106`: Restrict the trashcan mechanism to GC'ed objects and untrack " "them while in the trashcan to prevent the GC and trashcan mechanisms " "conflicting." msgstr "" -#: ../NEWS:4692 +#: ../NEWS:5005 msgid "" ":gh:`135607`: Fix potential :mod:`weakref` races in an object's destructor " "on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:4695 +#: ../NEWS:5008 msgid ":gh:`135608`: Fix a crash in the JIT involving attributes of modules." msgstr "" -#: ../NEWS:4697 +#: ../NEWS:5010 msgid "" ":gh:`135543`: Emit ``sys.remote_exec`` audit event when :func:`sys." "remote_exec` is called and migrate ``remote_debugger_script`` to ``cpython." "remote_debugger_script``." msgstr "" -#: ../NEWS:4701 +#: ../NEWS:5014 msgid "" ":gh:`134280`: Disable constant folding for ``~`` with a boolean argument. " "This moves the deprecation warning from compile time to runtime." msgstr "" -#: ../NEWS:4707 +#: ../NEWS:5020 msgid "" ":gh:`135906`: Fix compilation errors when compiling the internal headers " "with a C++ compiler." msgstr "" -#: ../NEWS:4713 +#: ../NEWS:5026 msgid "" ":gh:`134273`: Add support for configuring compiler flags for the JIT with " "``CFLAGS_JIT``" msgstr "" -#: ../NEWS:4718 +#: ../NEWS:5031 msgid "Python 3.14.0 beta 3" msgstr "" -#: ../NEWS:4720 +#: ../NEWS:5033 msgid "*Release date: 2025-06-17*" msgstr "" -#: ../NEWS:4725 +#: ../NEWS:5038 msgid "" ":gh:`135099`: Fix a crash that could occur on Windows when a background " "thread waits on a :c:type:`PyMutex` while the main thread is shutting down " "the interpreter." msgstr "" -#: ../NEWS:4732 +#: ../NEWS:5045 msgid "" ":gh:`132815`: Fix test__opcode: add ``JUMP_BACKWARD`` to specialization " "stats." msgstr "" -#: ../NEWS:4735 +#: ../NEWS:5048 msgid "" ":gh:`135489`: Show verbose output for failing tests during PGO profiling " "step with --enable-optimizations." msgstr "" -#: ../NEWS:4738 +#: ../NEWS:5051 msgid ":gh:`135120`: Add :func:`!test.support.subTests`." msgstr "" -#: ../NEWS:4743 +#: ../NEWS:5056 msgid "" ":gh:`135462`: Fix quadratic complexity in processing specially crafted input " "in :class:`html.parser.HTMLParser`. End-of-file errors are now handled " @@ -7932,63 +8400,63 @@ msgid "" "closed, tags are ignored." msgstr "" -#: ../NEWS:4748 +#: ../NEWS:5061 msgid "" ":gh:`135034`: Fixes multiple issues that allowed ``tarfile`` extraction " "filters (``filter=\"data\"`` and ``filter=\"tar\"``) to be bypassed using " "crafted symlinks and hard links." msgstr "" -#: ../NEWS:4752 +#: ../NEWS:5065 msgid "" "Addresses :cve:`2024-12718`, :cve:`2025-4138`, :cve:`2025-4330`, and :cve:" "`2025-4517`." msgstr "" -#: ../NEWS:4758 +#: ../NEWS:5071 msgid "" ":gh:`65697`: :class:`configparser`'s error message when attempting to write " "an invalid key is now more helpful." msgstr "" -#: ../NEWS:4761 +#: ../NEWS:5074 msgid "" ":gh:`135497`: Fix :func:`os.getlogin` failing for longer usernames on BSD-" "based platforms." msgstr "" -#: ../NEWS:4764 +#: ../NEWS:5077 msgid "" ":gh:`135429`: Fix the argument mismatch in ``_lsprof`` for ``PY_THROW`` " "event." msgstr "" -#: ../NEWS:4767 +#: ../NEWS:5080 msgid "" ":gh:`135368`: Fix :class:`unittest.mock.Mock` generation on :func:" "`dataclasses.dataclass` objects. Now all special attributes are set as it " "was before :gh:`124429`." msgstr "" -#: ../NEWS:4771 +#: ../NEWS:5084 msgid "" ":gh:`133967`: Do not normalize :mod:`locale` name 'C.UTF-8' to 'en_US.UTF-8'." msgstr "" -#: ../NEWS:4773 +#: ../NEWS:5086 msgid "" ":gh:`135321`: Raise a correct exception for values greater than 0x7fffffff " "for the ``BINSTRING`` opcode in the C implementation of :mod:`pickle`." msgstr "" -#: ../NEWS:4776 +#: ../NEWS:5089 msgid "" ":gh:`135276`: Backported bugfixes in zipfile.Path from zipp 3.23. Fixed ``." "name``, ``.stem`` and other basename-based properties on Windows when " "working with a zipfile on disk." msgstr "" -#: ../NEWS:4780 +#: ../NEWS:5093 msgid "" ":gh:`135244`: :mod:`uuid`: when the MAC address cannot be determined, the 48-" "bit node ID is now generated with a cryptographically-secure pseudo-random " @@ -7997,48 +8465,48 @@ msgid "" "uuid6`." msgstr "" -#: ../NEWS:4786 +#: ../NEWS:5099 msgid "" ":gh:`134970`: Fix the \"unknown action\" exception in :meth:`argparse." "ArgumentParser.add_argument_group` to correctly replace the action class." msgstr "" -#: ../NEWS:4790 +#: ../NEWS:5103 msgid "" ":gh:`134718`: :func:`ast.dump` now only omits ``None`` and ``[]`` values if " "they are default values." msgstr "" -#: ../NEWS:4793 +#: ../NEWS:5106 msgid "" ":gh:`134939`: Add the :mod:`concurrent.interpreters` module. See :pep:`734`." msgstr "" -#: ../NEWS:4795 +#: ../NEWS:5108 msgid "" ":gh:`134885`: Fix possible crash in the :mod:`compression.zstd` module " "related to setting parameter types. Patch by Jelle Zijlstra." msgstr "" -#: ../NEWS:4798 +#: ../NEWS:5111 msgid "" ":gh:`134857`: Improve error report for :mod:`doctest`\\ s run with :mod:" "`unittest`. Remove :mod:`!doctest` module frames from tracebacks and " "redundant newline character from a failure message." msgstr "" -#: ../NEWS:4802 +#: ../NEWS:5115 msgid "" ":gh:`128840`: Fix parsing long IPv6 addresses with embedded IPv4 address." msgstr "" -#: ../NEWS:4804 +#: ../NEWS:5117 msgid "" ":gh:`134637`: Fix performance regression in calling a :mod:`ctypes` function " "pointer in :term:`free threading`." msgstr "" -#: ../NEWS:4807 +#: ../NEWS:5120 msgid "" ":gh:`134696`: Built-in HACL* and OpenSSL implementations of hash function " "constructors now correctly accept the same *documented* named arguments. For " @@ -8047,38 +8515,38 @@ msgid "" "implementation but these calls were not compatible. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4814 +#: ../NEWS:5127 msgid "" ":gh:`134151`: :mod:`email`: Fix :exc:`TypeError` in :func:`email.utils." "decode_params` when sorting :rfc:`2231` continuations that contain an " "unnumbered section." msgstr "" -#: ../NEWS:4818 +#: ../NEWS:5131 msgid "" ":gh:`134210`: :func:`curses.window.getch` now correctly handles signals. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4821 +#: ../NEWS:5134 msgid "" ":gh:`134152`: :mod:`email`: Fix parsing of email message ID with invalid " "domain." msgstr "" -#: ../NEWS:4824 +#: ../NEWS:5137 msgid "" ":gh:`133489`: :func:`random.getrandbits` can now generate more that 2 :sup:" "`31` bits. :func:`random.randbytes` can now generate more that 256 MiB." msgstr "" -#: ../NEWS:4828 +#: ../NEWS:5141 msgid "" ":gh:`132813`: Improve error messages for incorrect types and values of :" "class:`csv.Dialect` attributes." msgstr "" -#: ../NEWS:4831 +#: ../NEWS:5144 msgid "" ":gh:`132969`: Prevent the :class:`~concurrent.futures.ProcessPoolExecutor` " "executor thread, which remains running when :meth:`shutdown(wait=False) " @@ -8090,43 +8558,43 @@ msgid "" "pool." msgstr "" -#: ../NEWS:4840 +#: ../NEWS:5153 msgid "" ":gh:`127081`: Fix libc thread safety issues with :mod:`os` by replacing " "``getlogin`` with ``getlogin_r`` re-entrant version." msgstr "" -#: ../NEWS:4843 +#: ../NEWS:5156 msgid "" ":gh:`131884`: Fix formatting issues in :func:`json.dump` when both *indent* " "and *skipkeys* are used." msgstr "" -#: ../NEWS:4846 +#: ../NEWS:5159 msgid "" ":gh:`130999`: Avoid exiting the new REPL and offer suggestions even if there " "are non-string candidates when errors occur." msgstr "" -#: ../NEWS:4852 +#: ../NEWS:5165 msgid "" ":gh:`135171`: Document that the :term:`iterator` for the leftmost :keyword:`!" "for` clause in the generator expression is created immediately." msgstr "" -#: ../NEWS:4855 +#: ../NEWS:5168 msgid "" ":issue:`45210`: Document that error indicator may be set in tp_dealloc, and " "how to avoid clobbering it." msgstr "" -#: ../NEWS:4861 +#: ../NEWS:5174 msgid "" ":gh:`135496`: Fix typo in the f-string conversion type error " "(\"exclamanation\" -> \"exclamation\")." msgstr "" -#: ../NEWS:4864 +#: ../NEWS:5177 msgid "" ":gh:`135371`: Fixed :mod:`asyncio` debugging tools to properly display " "internal coroutine call stacks alongside external task dependencies. The " @@ -8134,28 +8602,28 @@ msgid "" "complete execution context. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:4872 +#: ../NEWS:5185 msgid "" ":gh:`127319`: Set the ``allow_reuse_port`` class variable to ``False`` on " "the XMLRPC, logging, and HTTP servers. This matches the behavior in prior " "Python releases, which is to not allow port reuse." msgstr "" -#: ../NEWS:4879 +#: ../NEWS:5192 msgid "" ":gh:`135171`: Reverts the behavior of async generator expressions when " "created with object w/o __aiter__ method to the pre-3.13 behavior of raising " "a TypeError." msgstr "" -#: ../NEWS:4883 +#: ../NEWS:5196 msgid "" ":gh:`130077`: Properly raise custom syntax errors when incorrect syntax " "containing names that are prefixes of soft keywords is encountered. Patch " "by Pablo Galindo." msgstr "" -#: ../NEWS:4887 +#: ../NEWS:5200 msgid "" ":gh:`135171`: Reverts the behavior of generator expressions when created " "with a non-iterable to the pre-3.13 behavior of raising a TypeError. It is " @@ -8165,31 +8633,31 @@ msgid "" "and adding an additional check to ``FOR_ITER``." msgstr "" -#: ../NEWS:4897 +#: ../NEWS:5210 msgid "" ":gh:`116738`: Make methods in :mod:`heapq` thread-safe on the :term:`free " "threaded ` build." msgstr "" -#: ../NEWS:4903 +#: ../NEWS:5216 msgid "" ":gh:`134876`: Add support to :pep:`768` remote debugging for Linux kernels " "which don't have CONFIG_CROSS_MEMORY_ATTACH configured." msgstr "" -#: ../NEWS:4906 +#: ../NEWS:5219 msgid "" ":gh:`134889`: Fix handling of a few opcodes that leave operands on the stack " "when optimizing ``LOAD_FAST``." msgstr "" -#: ../NEWS:4912 +#: ../NEWS:5225 msgid "" ":gh:`134908`: Fix crash when iterating over lines in a text file on the :" "term:`free threaded ` build." msgstr "" -#: ../NEWS:4918 +#: ../NEWS:5231 msgid "" ":gh:`132617`: Fix :meth:`dict.update` modification check that could " "incorrectly raise a \"dict mutated during update\" error when a different " @@ -8197,26 +8665,26 @@ msgid "" "object." msgstr "" -#: ../NEWS:4923 +#: ../NEWS:5236 msgid "" ":gh:`134679`: Fix crash in the :term:`free threading` build's QSBR code that " "could occur when changing an object's ``__dict__`` attribute." msgstr "" -#: ../NEWS:4926 +#: ../NEWS:5239 msgid "" ":gh:`127682`: No longer call ``__iter__`` twice in list comprehensions. This " "brings the behavior of list comprehensions in line with other forms of " "iteration" msgstr "" -#: ../NEWS:4930 +#: ../NEWS:5243 msgid "" ":gh:`133912`: Fix the C API function ``PyObject_GenericSetDict`` to handle " "extension classes with inline values." msgstr "" -#: ../NEWS:4936 +#: ../NEWS:5249 msgid "" ":gh:`134989`: Fix ``Py_RETURN_NONE``, ``Py_RETURN_TRUE`` and " "``Py_RETURN_FALSE`` macros in the limited C API 3.11 and older: don't treat " @@ -8224,14 +8692,14 @@ msgid "" "Stinner." msgstr "" -#: ../NEWS:4941 +#: ../NEWS:5254 msgid "" ":gh:`134989`: Implement :c:func:`PyObject_DelAttr` and :c:func:" "`PyObject_DelAttrString` as macros in the limited C API 3.12 and older. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:4945 +#: ../NEWS:5258 msgid "" ":gh:`133968`: Add :c:func:`PyUnicodeWriter_WriteASCII` function to write an " "ASCII string into a :c:type:`PyUnicodeWriter`. The function is faster than :" @@ -8239,32 +8707,32 @@ msgid "" "input string contains non-ASCII characters. Patch by Victor Stinner." msgstr "" -#: ../NEWS:4953 +#: ../NEWS:5266 msgid "" ":gh:`119132`: Remove \"experimental\" tag from the CPython free-threading " "build." msgstr "" -#: ../NEWS:4956 +#: ../NEWS:5269 msgid "" ":gh:`135497`: Fix the detection of ``MAXLOGNAME`` in the ``configure.ac`` " "script." msgstr "" -#: ../NEWS:4959 +#: ../NEWS:5272 msgid "" ":gh:`134923`: Windows builds with profile-guided optimization enabled now " "use ``/GENPROFILE`` and ``/USEPROFILE`` instead of deprecated ``/LTCG:`` " "options." msgstr "" -#: ../NEWS:4963 +#: ../NEWS:5276 msgid "" ":gh:`134774`: Fix :c:macro:`Py_DEBUG` macro redefinition warnings on Windows " "debug builds. Patch by Chris Eibl." msgstr "" -#: ../NEWS:4966 +#: ../NEWS:5279 msgid "" ":gh:`134632`: Fixed ``build-details.json`` generation to use ``INCLUDEPY``, " "in order to reference the ``pythonX.Y`` subdirectory of the include " @@ -8272,27 +8740,27 @@ msgid "" "directory." msgstr "" -#: ../NEWS:4973 +#: ../NEWS:5286 msgid "Python 3.14.0 beta 2" msgstr "" -#: ../NEWS:4975 +#: ../NEWS:5288 msgid "*Release date: 2025-05-26*" msgstr "" -#: ../NEWS:4980 +#: ../NEWS:5293 msgid "" ":gh:`130727`: Fix a race in internal calls into WMI that can result in an " "\"invalid handle\" exception under high load. Patch by Chris Eibl." msgstr "" -#: ../NEWS:4983 +#: ../NEWS:5296 msgid "" ":gh:`76023`: Make :func:`os.path.realpath` ignore Windows error 1005 when in " "non-strict mode." msgstr "" -#: ../NEWS:4986 +#: ../NEWS:5299 msgid "" ":gh:`133779`: Reverts the change to generate different :file:`pyconfig.h` " "files based on compiler settings, as it was frequently causing extension " @@ -8303,106 +8771,106 @@ msgid "" "with that flag or not." msgstr "" -#: ../NEWS:4994 +#: ../NEWS:5307 msgid "" ":gh:`133626`: Ensures packages are not accidentally bundled into the " "traditional installer." msgstr "" -#: ../NEWS:5000 +#: ../NEWS:5313 msgid "" ":gh:`134215`: :term:`REPL` import autocomplete only suggests private modules " "when explicitly specified." msgstr "" -#: ../NEWS:5006 +#: ../NEWS:5319 msgid "" ":gh:`133744`: Fix multiprocessing interrupt test. Add an event to " "synchronize the parent process with the child process: wait until the child " "process starts sleeping. Patch by Victor Stinner." msgstr "" -#: ../NEWS:5010 +#: ../NEWS:5323 msgid "" ":gh:`133682`: Fixed test case ``test.test_annotationlib.TestStringFormat." "test_displays`` which ensures proper handling of complex data structures " "(lists, sets, dictionaries, and tuples) in string annotations." msgstr "" -#: ../NEWS:5015 +#: ../NEWS:5328 msgid "" ":gh:`133639`: Fix ``TestPyReplAutoindent.test_auto_indent_default()`` " "doesn't run ``input_code``." msgstr "" -#: ../NEWS:5021 +#: ../NEWS:5334 msgid "" ":gh:`133767`: Fix use-after-free in the \"unicode-escape\" decoder with a " "non-\"strict\" error handler." msgstr "" -#: ../NEWS:5024 +#: ../NEWS:5337 msgid "" ":gh:`128840`: Short-circuit the processing of long IPv6 addresses early in :" "mod:`ipaddress` to prevent excessive memory consumption and a minor denial-" "of-service." msgstr "" -#: ../NEWS:5031 +#: ../NEWS:5344 msgid "" ":gh:`132710`: If possible, ensure that :func:`uuid.getnode` returns the same " "result even across different processes. Previously, the result was constant " "only within the same process. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:5035 +#: ../NEWS:5348 msgid "" ":gh:`80334`: :func:`multiprocessing.freeze_support` now checks for work on " "any \"spawn\" start method platform rather than only on Windows." msgstr "" -#: ../NEWS:5038 +#: ../NEWS:5351 msgid "" ":gh:`134582`: Fix tokenize.untokenize() round-trip errors related to t-" "strings braces escaping" msgstr "" -#: ../NEWS:5041 +#: ../NEWS:5354 msgid "" ":gh:`134546`: Ensure :mod:`pdb` remote debugging script is readable by " "remote Python process." msgstr "" -#: ../NEWS:5044 +#: ../NEWS:5357 msgid "" ":gh:`134451`: Converted ``asyncio.tools.CycleFoundException`` from dataclass " "to a regular exception type." msgstr "" -#: ../NEWS:5047 +#: ../NEWS:5360 msgid "" ":gh:`114177`: Fix :mod:`asyncio` to not close subprocess pipes which would " "otherwise error out when the event loop is already closed." msgstr "" -#: ../NEWS:5050 +#: ../NEWS:5363 msgid "" ":gh:`90871`: Fixed an off by one error concerning the backlog parameter in :" "meth:`~asyncio.loop.create_unix_server`. Contributed by Christian Harries." msgstr "" -#: ../NEWS:5054 +#: ../NEWS:5367 msgid ":gh:`134323`: Fix the :meth:`threading.RLock.locked` method." msgstr "" -#: ../NEWS:5056 +#: ../NEWS:5369 msgid "" ":gh:`86802`: Fixed asyncio memory leak in cancelled shield tasks. For " "shielded tasks where the shield was cancelled, log potential exceptions " "through the exception handler. Contributed by Christian Harries." msgstr "" -#: ../NEWS:5060 +#: ../NEWS:5373 msgid "" ":gh:`134209`: :mod:`curses`: The :meth:`curses.window.instr` and :meth:" "`curses.window.getstr` methods now allocate their internal buffer on the " @@ -8410,65 +8878,65 @@ msgid "" "from 1023 to 2047." msgstr "" -#: ../NEWS:5065 +#: ../NEWS:5378 msgid "" ":gh:`134235`: Updated tab completion on REPL to include builtin modules. " "Contributed by Tom Wang, Hunter Young" msgstr "" -#: ../NEWS:5068 +#: ../NEWS:5381 msgid "" ":gh:`134152`: Fixed :exc:`UnboundLocalError` that could occur during :mod:" "`email` header parsing if an expected trailing delimiter is missing in some " "contexts." msgstr "" -#: ../NEWS:5072 +#: ../NEWS:5385 msgid "" ":gh:`134168`: :mod:`http.server`: Fix IPv6 address binding and :option:`--" "directory ` handling when using HTTPS." msgstr "" -#: ../NEWS:5075 +#: ../NEWS:5388 msgid "" ":gh:`62184`: Remove import of C implementation of :class:`io.FileIO` from " "Python implementation which has its own implementation" msgstr "" -#: ../NEWS:5078 +#: ../NEWS:5391 msgid "" ":gh:`133982`: Emit :exc:`RuntimeWarning` in the Python implementation of :" "mod:`io` when the :term:`file-like object ` is not closed " "explicitly in the presence of multiple I/O layers." msgstr "" -#: ../NEWS:5082 +#: ../NEWS:5395 msgid "" ":gh:`133890`: The :mod:`tarfile` module now handles :exc:" "`UnicodeEncodeError` in the same way as :exc:`OSError` when cannot extract a " "member." msgstr "" -#: ../NEWS:5085 +#: ../NEWS:5398 msgid "" ":gh:`134097`: Fix interaction of the new :term:`REPL` and :option:`-X " "showrefcount <-X>` command line option." msgstr "" -#: ../NEWS:5088 +#: ../NEWS:5401 msgid "" ":gh:`133889`: The generated directory listing page in :class:`http.server." "SimpleHTTPRequestHandler` now only shows the decoded path component of the " "requested URL, and not the query and fragment." msgstr "" -#: ../NEWS:5092 +#: ../NEWS:5405 msgid "" ":gh:`134098`: Fix handling paths that end with a percent-encoded slash " "(``%2f`` or ``%2F``) in :class:`http.server.SimpleHTTPRequestHandler`." msgstr "" -#: ../NEWS:5095 +#: ../NEWS:5408 msgid "" ":gh:`132124`: On POSIX-compliant systems, :func:`!multiprocessing.util." "get_temp_dir` now ignores :envvar:`TMPDIR` (and similar environment " @@ -8478,27 +8946,27 @@ msgid "" "Tran." msgstr "" -#: ../NEWS:5102 +#: ../NEWS:5415 msgid "" ":gh:`134062`: :mod:`ipaddress`: fix collisions in :meth:`~object.__hash__` " "for :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` " "objects." msgstr "" -#: ../NEWS:5106 +#: ../NEWS:5419 msgid "" ":gh:`133970`: Make :class:`!string.templatelib.Template` and :class:`!string." "templatelib.Interpolation` generic." msgstr "" -#: ../NEWS:5109 +#: ../NEWS:5422 msgid "" ":gh:`71253`: Raise :exc:`ValueError` in :func:`open` if *opener* returns a " "negative file-descriptor in the Python implementation of :mod:`io` to match " "the C implementation." msgstr "" -#: ../NEWS:5113 +#: ../NEWS:5426 msgid "" ":gh:`133960`: Simplify and improve :func:`typing.evaluate_forward_ref`. It " "now no longer raises errors on certain invalid types. In several situations, " @@ -8506,12 +8974,12 @@ msgid "" "unsupported." msgstr "" -#: ../NEWS:5118 +#: ../NEWS:5431 msgid "" ":gh:`133925`: Make the private class ``typing._UnionGenericAlias`` hashable." msgstr "" -#: ../NEWS:5120 +#: ../NEWS:5433 msgid "" ":gh:`133653`: Fix :class:`argparse.ArgumentParser` with the " "*formatter_class* argument. Fix TypeError when *formatter_class* is a custom " @@ -8521,46 +8989,46 @@ msgid "" "class:`!HelpFormatter`." msgstr "" -#: ../NEWS:5127 +#: ../NEWS:5440 msgid "" ":gh:`132641`: Fixed a race in :func:`functools.lru_cache` under free-" "threading." msgstr "" -#: ../NEWS:5130 +#: ../NEWS:5443 msgid "" ":gh:`133783`: Fix bug with applying :func:`copy.replace` to :mod:`ast` " "objects. Attributes that default to ``None`` were incorrectly treated as " "required for manually created AST nodes." msgstr "" -#: ../NEWS:5134 +#: ../NEWS:5447 msgid "" ":gh:`133684`: Fix bug where :func:`annotationlib.get_annotations` would " "return the wrong result for certain classes that are part of a class " "hierarchy where ``from __future__ import annotations`` is used." msgstr "" -#: ../NEWS:5138 +#: ../NEWS:5451 msgid "" ":gh:`77057`: Fix handling of invalid markup declarations in :class:`html." "parser.HTMLParser`." msgstr "" -#: ../NEWS:5141 +#: ../NEWS:5454 msgid "" ":gh:`130328`: Speedup pasting in ``PyREPL`` on Windows in a legacy console. " "Patch by Chris Eibl." msgstr "" -#: ../NEWS:5144 +#: ../NEWS:5457 msgid "" ":gh:`133701`: Fix bug where :class:`typing.TypedDict` classes defined under " "``from __future__ import annotations`` and inheriting from another " "``TypedDict`` had an incorrect ``__annotations__`` attribute." msgstr "" -#: ../NEWS:5148 +#: ../NEWS:5461 msgid "" ":gh:`133581`: Improve unparsing of t-strings in :func:`ast.unparse` and " "``from __future__ import annotations``. Empty t-strings now round-trip " @@ -8568,25 +9036,25 @@ msgid "" "Zijlstra." msgstr "" -#: ../NEWS:5153 +#: ../NEWS:5466 msgid "" ":gh:`133551`: Support t-strings (:pep:`750`) in :mod:`annotationlib`. Patch " "by Jelle Zijlstra." msgstr "" -#: ../NEWS:5156 +#: ../NEWS:5469 msgid "" ":gh:`133439`: Fix dot commands with trailing spaces are mistaken for multi-" "line SQL statements in the sqlite3 command-line interface." msgstr "" -#: ../NEWS:5159 +#: ../NEWS:5472 msgid "" ":gh:`132493`: Avoid accessing ``__annotations__`` unnecessarily in :func:" "`inspect.signature`." msgstr "" -#: ../NEWS:5162 +#: ../NEWS:5475 msgid "" ":gh:`132876`: ``ldexp()`` on Windows doesn't round subnormal results before " "Windows 11, but should. Python's :func:`math.ldexp` wrapper now does round " @@ -8594,227 +9062,227 @@ msgid "" "on Windows versions before 11." msgstr "" -#: ../NEWS:5167 +#: ../NEWS:5480 msgid "" ":gh:`133009`: :mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element." "__deepcopy__ ` when the element is concurrently " "mutated. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:5171 +#: ../NEWS:5484 msgid "" ":gh:`91555`: Ignore log messages generated during handling of log messages, " "to avoid deadlock or infinite recursion. [NOTE: This change has since been " "reverted.]" msgstr "" -#: ../NEWS:5175 +#: ../NEWS:5488 msgid "" ":gh:`125028`: :data:`functools.Placeholder` cannot be passed to :func:" "`functools.partial` as a keyword argument." msgstr "" -#: ../NEWS:5178 +#: ../NEWS:5491 msgid "" ":gh:`62824`: Fix aliases for ``iso8859_8`` encoding. Patch by Dave Goncalves." msgstr "" -#: ../NEWS:5180 +#: ../NEWS:5493 msgid "" ":gh:`86155`: :meth:`html.parser.HTMLParser.close` no longer loses data when " "the ``