From 1dabb7ef74b0b2d0da6d1460d92f3b7a774181eb Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Wed, 4 Sep 2019 11:39:22 +0200 Subject: [PATCH] 3.8: New files. --- c-api/init_config.po | 1264 ++++++++++++++ distutils/_setuptools_disclaimer.po | 24 + library/audit_events.po | 40 + library/importlib.metadata.po | 257 +++ using/editors.po | 35 + whatsnew/3.8.po | 2469 +++++++++++++++++++++++++++ 6 files changed, 4089 insertions(+) create mode 100644 c-api/init_config.po create mode 100644 distutils/_setuptools_disclaimer.po create mode 100644 library/audit_events.po create mode 100644 library/importlib.metadata.po create mode 100644 using/editors.po create mode 100644 whatsnew/3.8.po diff --git a/c-api/init_config.po b/c-api/init_config.po new file mode 100644 index 00000000..7ab5f403 --- /dev/null +++ b/c-api/init_config.po @@ -0,0 +1,1264 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2019, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-04 11:33+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/c-api/init_config.rst:7 +msgid "Python Initialization Configuration" +msgstr "" + +#: ../Doc/c-api/init_config.rst:11 +msgid "Structures:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:13 +msgid ":c:type:`PyConfig`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:14 +msgid ":c:type:`PyPreConfig`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:15 +msgid ":c:type:`PyStatus`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:16 +msgid ":c:type:`PyWideStringList`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:18 +msgid "Functions:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:20 +msgid ":c:func:`PyConfig_Clear`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:21 +msgid ":c:func:`PyConfig_InitIsolatedConfig`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:22 +msgid ":c:func:`PyConfig_InitPythonConfig`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:23 +msgid ":c:func:`PyConfig_Read`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:24 +msgid ":c:func:`PyConfig_SetArgv`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:25 +msgid ":c:func:`PyConfig_SetBytesArgv`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:26 +msgid ":c:func:`PyConfig_SetBytesString`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:27 +msgid ":c:func:`PyConfig_SetString`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:28 +msgid ":c:func:`PyConfig_SetWideStringList`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:29 +msgid ":c:func:`PyPreConfig_InitIsolatedConfig`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:30 +msgid ":c:func:`PyPreConfig_InitPythonConfig`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:31 +msgid ":c:func:`PyStatus_Error`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:32 +msgid ":c:func:`PyStatus_Exception`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:33 +msgid ":c:func:`PyStatus_Exit`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:34 +msgid ":c:func:`PyStatus_IsError`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:35 +msgid ":c:func:`PyStatus_IsExit`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:36 +msgid ":c:func:`PyStatus_NoMemory`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:37 +msgid ":c:func:`PyStatus_Ok`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:38 +msgid ":c:func:`PyWideStringList_Append`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:39 +msgid ":c:func:`PyWideStringList_Insert`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:40 +msgid ":c:func:`Py_ExitStatusException`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:41 +msgid ":c:func:`Py_InitializeFromConfig`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:42 +msgid ":c:func:`Py_PreInitialize`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:43 +msgid ":c:func:`Py_PreInitializeFromArgs`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:44 +msgid ":c:func:`Py_PreInitializeFromBytesArgs`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:45 +msgid ":c:func:`Py_RunMain`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:47 +msgid "" +"The preconfiguration (``PyPreConfig`` type) is stored in ``_PyRuntime." +"preconfig`` and the configuration (``PyConfig`` type) is stored in " +"``PyInterpreterState.config``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:51 +msgid "" +"See also :ref:`Initialization, Finalization, and Threads `." +msgstr "" + +#: ../Doc/c-api/init_config.rst:54 +msgid ":pep:`587` \"Python Initialization Configuration\"." +msgstr "" + +#: ../Doc/c-api/init_config.rst:58 +msgid "PyWideStringList" +msgstr "" + +#: ../Doc/c-api/init_config.rst:62 +msgid "List of ``wchar_t*`` strings." +msgstr "" + +#: ../Doc/c-api/init_config.rst:64 +msgid "" +"If *length* is non-zero, *items* must be non-NULL and all strings must be " +"non-NULL." +msgstr "" + +#: ../Doc/c-api/init_config.rst:67 +msgid "Methods:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:71 +msgid "Append *item* to *list*." +msgstr "" + +#: ../Doc/c-api/init_config.rst:73 ../Doc/c-api/init_config.rst:84 +msgid "Python must be preinitialized to call this function." +msgstr "" + +#: ../Doc/c-api/init_config.rst:77 +msgid "Insert *item* into *list* at *index*." +msgstr "" + +#: ../Doc/c-api/init_config.rst:79 +msgid "" +"If *index* is greater than or equal to *list* length, append *item* to " +"*list*." +msgstr "" + +#: ../Doc/c-api/init_config.rst:82 +msgid "*index* must be greater than or equal to 0." +msgstr "" + +#: ../Doc/c-api/init_config.rst:86 ../Doc/c-api/init_config.rst:106 +#: ../Doc/c-api/init_config.rst:209 ../Doc/c-api/init_config.rst:414 +msgid "Structure fields:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:90 +msgid "List length." +msgstr "" + +#: ../Doc/c-api/init_config.rst:94 +msgid "List items." +msgstr "" + +#: ../Doc/c-api/init_config.rst:97 +msgid "PyStatus" +msgstr "" + +#: ../Doc/c-api/init_config.rst:101 +msgid "" +"Structure to store an initialization function status: success, error or exit." +msgstr "" + +#: ../Doc/c-api/init_config.rst:104 +msgid "For an error, it can store the C function name which created the error." +msgstr "" + +#: ../Doc/c-api/init_config.rst:110 +msgid "Exit code. Argument passed to ``exit()``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:114 +msgid "Error message." +msgstr "" + +#: ../Doc/c-api/init_config.rst:118 +msgid "Name of the function which created an error, can be ``NULL``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:120 +msgid "Functions to create a status:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:124 +msgid "Success." +msgstr "" + +#: ../Doc/c-api/init_config.rst:128 +msgid "Initialization error with a message." +msgstr "" + +#: ../Doc/c-api/init_config.rst:132 +msgid "Memory allocation failure (out of memory)." +msgstr "" + +#: ../Doc/c-api/init_config.rst:136 +msgid "Exit Python with the specified exit code." +msgstr "" + +#: ../Doc/c-api/init_config.rst:138 +msgid "Functions to handle a status:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:142 +msgid "" +"Is the status an error or an exit? If true, the exception must be handled; " +"by calling :c:func:`Py_ExitStatusException` for example." +msgstr "" + +#: ../Doc/c-api/init_config.rst:147 +msgid "Is the result an error?" +msgstr "" + +#: ../Doc/c-api/init_config.rst:151 +msgid "Is the result an exit?" +msgstr "" + +#: ../Doc/c-api/init_config.rst:155 +msgid "" +"Call ``exit(exitcode)`` if *status* is an exit. Print the error message and " +"exit with a non-zero exit code if *status* is an error. Must only be called " +"if ``PyStatus_Exception(status)`` is non-zero." +msgstr "" + +#: ../Doc/c-api/init_config.rst:160 +msgid "" +"Internally, Python uses macros which set ``PyStatus.func``, whereas " +"functions to create a status set ``func`` to ``NULL``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:163 +msgid "Example::" +msgstr "" + +#: ../Doc/c-api/init_config.rst:187 +msgid "PyPreConfig" +msgstr "" + +#: ../Doc/c-api/init_config.rst:191 +msgid "Structure used to preinitialize Python:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:193 +msgid "Set the Python memory allocator" +msgstr "" + +#: ../Doc/c-api/init_config.rst:194 +msgid "Configure the LC_CTYPE locale" +msgstr "" + +#: ../Doc/c-api/init_config.rst:195 +msgid "Set the UTF-8 mode" +msgstr "" + +#: ../Doc/c-api/init_config.rst:197 +msgid "Function to initialize a preconfiguration:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:201 +msgid "" +"Initialize the preconfiguration with :ref:`Python Configuration `." +msgstr "" + +#: ../Doc/c-api/init_config.rst:206 +msgid "" +"Initialize the preconfiguration with :ref:`Isolated Configuration `." +msgstr "" + +#: ../Doc/c-api/init_config.rst:213 +msgid "Name of the memory allocator:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:215 +msgid "" +"``PYMEM_ALLOCATOR_NOT_SET`` (``0``): don't change memory allocators (use " +"defaults)" +msgstr "" + +#: ../Doc/c-api/init_config.rst:217 +msgid "``PYMEM_ALLOCATOR_DEFAULT`` (``1``): default memory allocators" +msgstr "" + +#: ../Doc/c-api/init_config.rst:218 +msgid "" +"``PYMEM_ALLOCATOR_DEBUG`` (``2``): default memory allocators with debug hooks" +msgstr "" + +#: ../Doc/c-api/init_config.rst:220 +msgid "``PYMEM_ALLOCATOR_MALLOC`` (``3``): force usage of ``malloc()``" +msgstr "" + +#: ../Doc/c-api/init_config.rst:221 +msgid "" +"``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): force usage of ``malloc()`` with " +"debug hooks" +msgstr "" + +#: ../Doc/c-api/init_config.rst:223 +msgid "" +"``PYMEM_ALLOCATOR_PYMALLOC`` (``5``): :ref:`Python pymalloc memory allocator " +"`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:225 +msgid "" +"``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` (``6``): :ref:`Python pymalloc memory " +"allocator ` with debug hooks" +msgstr "" + +#: ../Doc/c-api/init_config.rst:228 +msgid "" +"``PYMEM_ALLOCATOR_PYMALLOC`` and ``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` are not " +"supported if Python is configured using ``--without-pymalloc``" +msgstr "" + +#: ../Doc/c-api/init_config.rst:231 +msgid "See :ref:`Memory Management `." +msgstr "" + +#: ../Doc/c-api/init_config.rst:235 +msgid "" +"Set the LC_CTYPE locale to the user preferred locale? If equals to 0, set :c:" +"member:`coerce_c_locale` and :c:member:`coerce_c_locale_warn` to 0." +msgstr "" + +#: ../Doc/c-api/init_config.rst:240 +msgid "" +"If equals to 2, coerce the C locale; if equals to 1, read the LC_CTYPE " +"locale to decide if it should be coerced." +msgstr "" + +#: ../Doc/c-api/init_config.rst:248 +msgid "See :c:member:`PyConfig.dev_mode`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:252 +msgid "See :c:member:`PyConfig.isolated`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:256 +msgid "" +"If non-zero, disable UTF-8 Mode, set the Python filesystem encoding to " +"``mbcs``, set the filesystem error handler to ``replace``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:259 ../Doc/c-api/init_config.rst:536 +msgid "" +"Only available on Windows. ``#ifdef MS_WINDOWS`` macro can be used for " +"Windows specific code." +msgstr "" + +#: ../Doc/c-api/init_config.rst:264 +msgid "" +"If non-zero, :c:func:`Py_PreInitializeFromArgs` and :c:func:" +"`Py_PreInitializeFromBytesArgs` parse their ``argv`` argument the same way " +"the regular Python parses command line arguments: see :ref:`Command Line " +"Arguments `." +msgstr "" + +#: ../Doc/c-api/init_config.rst:271 +msgid "See :c:member:`PyConfig.use_environment`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:275 +msgid "If non-zero, enable the UTF-8 mode." +msgstr "" + +#: ../Doc/c-api/init_config.rst:278 +msgid "Preinitialization with PyPreConfig" +msgstr "" + +#: ../Doc/c-api/init_config.rst:280 +msgid "Functions to preinitialize Python:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:284 +msgid "Preinitialize Python from *preconfig* preconfiguration." +msgstr "" + +#: ../Doc/c-api/init_config.rst:288 +msgid "" +"Preinitialize Python from *preconfig* preconfiguration and command line " +"arguments (bytes strings)." +msgstr "" + +#: ../Doc/c-api/init_config.rst:293 +msgid "" +"Preinitialize Python from *preconfig* preconfiguration and command line " +"arguments (wide strings)." +msgstr "" + +#: ../Doc/c-api/init_config.rst:296 ../Doc/c-api/init_config.rst:689 +msgid "" +"The caller is responsible to handle exceptions (error or exit) using :c:func:" +"`PyStatus_Exception` and :c:func:`Py_ExitStatusException`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:299 +msgid "" +"For :ref:`Python Configuration ` (:c:func:" +"`PyPreConfig_InitPythonConfig`), if Python is initialized with command line " +"arguments, the command line arguments must also be passed to preinitialize " +"Python, since they have an effect on the pre-configuration like encodings. " +"For example, the :option:`-X` ``utf8`` command line option enables the UTF-8 " +"Mode." +msgstr "" + +#: ../Doc/c-api/init_config.rst:306 +msgid "" +"``PyMem_SetAllocator()`` can be called after :c:func:`Py_PreInitialize` and " +"before :c:func:`Py_InitializeFromConfig` to install a custom memory " +"allocator. It can be called before :c:func:`Py_PreInitialize` if :c:member:" +"`PyPreConfig.allocator` is set to ``PYMEM_ALLOCATOR_NOT_SET``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:311 +msgid "" +"Python memory allocation functions like :c:func:`PyMem_RawMalloc` must not " +"be used before Python preinitialization, whereas calling directly " +"``malloc()`` and ``free()`` is always safe. :c:func:`Py_DecodeLocale` must " +"not be called before the preinitialization." +msgstr "" + +#: ../Doc/c-api/init_config.rst:316 +msgid "Example using the preinitialization to enable the UTF-8 Mode::" +msgstr "" + +#: ../Doc/c-api/init_config.rst:336 +msgid "PyConfig" +msgstr "" + +#: ../Doc/c-api/init_config.rst:340 +msgid "Structure containing most parameters to configure Python." +msgstr "" + +#: ../Doc/c-api/init_config.rst:342 +msgid "Structure methods:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:346 +msgid "" +"Initialize configuration with :ref:`Python Configuration `." +msgstr "" + +#: ../Doc/c-api/init_config.rst:351 +msgid "" +"Initialize configuration with :ref:`Isolated Configuration `." +msgstr "" + +#: ../Doc/c-api/init_config.rst:356 +msgid "Copy the wide character string *str* into ``*config_str``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:358 ../Doc/c-api/init_config.rst:364 +#: ../Doc/c-api/init_config.rst:370 ../Doc/c-api/init_config.rst:376 +#: ../Doc/c-api/init_config.rst:382 ../Doc/c-api/init_config.rst:390 +msgid "Preinitialize Python if needed." +msgstr "" + +#: ../Doc/c-api/init_config.rst:362 +msgid "" +"Decode *str* using ``Py_DecodeLocale()`` and set the result into " +"``*config_str``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:368 +msgid "Set command line arguments from wide character strings." +msgstr "" + +#: ../Doc/c-api/init_config.rst:374 +msgid "" +"Set command line arguments: decode bytes using :c:func:`Py_DecodeLocale`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:380 +msgid "Set the list of wide strings *list* to *length* and *items*." +msgstr "" + +#: ../Doc/c-api/init_config.rst:386 +msgid "Read all Python configuration." +msgstr "" + +#: ../Doc/c-api/init_config.rst:388 +msgid "Fields which are already initialized are left unchanged." +msgstr "" + +#: ../Doc/c-api/init_config.rst:394 +msgid "Release configuration memory." +msgstr "" + +#: ../Doc/c-api/init_config.rst:396 +msgid "" +"Most ``PyConfig`` methods preinitialize Python if needed. In that case, the " +"Python preinitialization configuration in based on the :c:type:`PyConfig`. " +"If configuration fields which are in common with :c:type:`PyPreConfig` are " +"tuned, they must be set before calling a :c:type:`PyConfig` method:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:401 +msgid ":c:member:`~PyConfig.dev_mode`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:402 +msgid ":c:member:`~PyConfig.isolated`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:403 +msgid ":c:member:`~PyConfig.parse_argv`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:404 +msgid ":c:member:`~PyConfig.use_environment`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:406 +msgid "" +"Moreover, if :c:func:`PyConfig_SetArgv` or :c:func:`PyConfig_SetBytesArgv` " +"is used, this method must be called first, before other methods, since the " +"preinitialization configuration depends on command line arguments (if :c:" +"member:`parse_argv` is non-zero)." +msgstr "" + +#: ../Doc/c-api/init_config.rst:411 +msgid "" +"The caller of these methods is responsible to handle exceptions (error or " +"exit) using ``PyStatus_Exception()`` and ``Py_ExitStatusException()``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:418 +msgid "" +"Command line arguments, :data:`sys.argv`. See :c:member:`~PyConfig." +"parse_argv` to parse :c:member:`~PyConfig.argv` the same way the regular " +"Python parses Python command line arguments. If :c:member:`~PyConfig.argv` " +"is empty, an empty string is added to ensure that :data:`sys.argv` always " +"exists and is never empty." +msgstr "" + +#: ../Doc/c-api/init_config.rst:426 +msgid ":data:`sys.base_exec_prefix`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:430 +msgid ":data:`sys.base_prefix`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:434 +msgid "" +"If equals to 0, enable unbuffered mode, making the stdout and stderr streams " +"unbuffered." +msgstr "" + +#: ../Doc/c-api/init_config.rst:437 +msgid "stdin is always opened in buffered mode." +msgstr "" + +#: ../Doc/c-api/init_config.rst:441 +msgid "" +"If equals to 1, issue a warning when comparing :class:`bytes` or :class:" +"`bytearray` with :class:`str`, or comparing :class:`bytes` with :class:" +"`int`. If equal or greater to 2, raise a :exc:`BytesWarning` exception." +msgstr "" + +#: ../Doc/c-api/init_config.rst:448 +msgid "" +"Control the validation behavior of hash-based ``.pyc`` files (see :pep:" +"`552`): :option:`--check-hash-based-pycs` command line option value." +msgstr "" + +#: ../Doc/c-api/init_config.rst:451 +msgid "Valid values: ``always``, ``never`` and ``default``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:453 +msgid "The default value is: ``default``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:457 +msgid "" +"If non-zero, configure C standard streams (``stdio``, ``stdout``, " +"``stdout``). For example, set their mode to ``O_BINARY`` on Windows." +msgstr "" + +#: ../Doc/c-api/init_config.rst:462 +msgid "Development mode: see :option:`-X` ``dev``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:466 +msgid "If non-zero, dump all objects which are still alive at exit." +msgstr "" + +#: ../Doc/c-api/init_config.rst:468 +msgid "" +"Require a debug build of Python (``Py_REF_DEBUG`` macro must be defined)." +msgstr "" + +#: ../Doc/c-api/init_config.rst:472 +msgid ":data:`sys.exec_prefix`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:476 +msgid ":data:`sys.executable`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:480 +msgid "If non-zero, call :func:`faulthandler.enable`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:484 +msgid "Filesystem encoding, :func:`sys.getfilesystemencoding`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:488 +msgid "Filesystem encoding errors, :func:`sys.getfilesystemencodeerrors`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:493 +msgid "Randomized hash function seed." +msgstr "" + +#: ../Doc/c-api/init_config.rst:495 +msgid "" +"If :c:member:`~PyConfig.use_hash_seed` is zero, a seed is chosen randomly at " +"Pythonstartup, and :c:member:`~PyConfig.hash_seed` is ignored." +msgstr "" + +#: ../Doc/c-api/init_config.rst:500 +msgid "Python home directory." +msgstr "" + +#: ../Doc/c-api/init_config.rst:504 +msgid "If non-zero, profile import time." +msgstr "" + +#: ../Doc/c-api/init_config.rst:508 +msgid "Enter interactive mode after executing a script or a command." +msgstr "" + +#: ../Doc/c-api/init_config.rst:512 +msgid "Install signal handlers?" +msgstr "" + +#: ../Doc/c-api/init_config.rst:516 +msgid "Interactive mode." +msgstr "" + +#: ../Doc/c-api/init_config.rst:520 +msgid "If greater than 0, enable isolated mode:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:522 +msgid "" +":data:`sys.path` contains neither the script's directory (computed from " +"``argv[0]`` or the current directory) nor the user's site-packages directory." +msgstr "" + +#: ../Doc/c-api/init_config.rst:525 +msgid "" +"Python REPL doesn't import :mod:`readline` nor enable default readline " +"configuration on interactive prompts." +msgstr "" + +#: ../Doc/c-api/init_config.rst:527 +msgid "" +"Set :c:member:`~PyConfig.use_environment` and :c:member:`~PyConfig." +"user_site_directory` to 0." +msgstr "" + +#: ../Doc/c-api/init_config.rst:532 +msgid "" +"If non-zero, use :class:`io.FileIO` instead of :class:`io.WindowsConsoleIO` " +"for :data:`sys.stdin`, :data:`sys.stdout` and :data:`sys.stderr`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:541 +msgid "" +"If non-zero, dump statistics on :ref:`Python pymalloc memory allocator " +"` at exit." +msgstr "" + +#: ../Doc/c-api/init_config.rst:544 +msgid "The option is ignored if Python is built using ``--without-pymalloc``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:548 +msgid "" +"Module search paths as a string separated by ``DELIM`` (:data:`os.path." +"pathsep`)." +msgstr "" + +#: ../Doc/c-api/init_config.rst:551 +msgid "" +"Initialized from :envvar:`PYTHONPATH` environment variable value by default." +msgstr "" + +#: ../Doc/c-api/init_config.rst:557 +msgid "" +":data:`sys.path`. If :c:member:`~PyConfig.module_search_paths_set` is equal " +"to 0, the :c:member:`~PyConfig.module_search_paths` is overridden by the " +"function computing the :ref:`Path Configuration `." +msgstr "" + +#: ../Doc/c-api/init_config.rst:564 +msgid "Compilation optimization level:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:566 +msgid "0: Peephole optimizer (and ``__debug__`` is set to ``True``)" +msgstr "" + +#: ../Doc/c-api/init_config.rst:567 +msgid "1: Remove assertions, set ``__debug__`` to ``False``" +msgstr "" + +#: ../Doc/c-api/init_config.rst:568 +msgid "2: Strip docstrings" +msgstr "" + +#: ../Doc/c-api/init_config.rst:572 +msgid "" +"If non-zero, parse :c:member:`~PyConfig.argv` the same way the regular " +"Python command line arguments, and strip Python arguments from :c:member:" +"`~PyConfig.argv`: see :ref:`Command Line Arguments `." +msgstr "" + +#: ../Doc/c-api/init_config.rst:579 +msgid "" +"If non-zero, turn on parser debugging output (for expert only, depending on " +"compilation options)." +msgstr "" + +#: ../Doc/c-api/init_config.rst:584 +msgid "" +"If equal to 0, suppress warnings when computing the path configuration (Unix " +"only, Windows does not log any warning). Otherwise, warnings are written " +"into ``stderr``." +msgstr "" + +#: ../Doc/c-api/init_config.rst:590 +msgid ":data:`sys.prefix`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:594 +msgid "Program name." +msgstr "" + +#: ../Doc/c-api/init_config.rst:598 +msgid "``.pyc`` cache prefix." +msgstr "" + +#: ../Doc/c-api/init_config.rst:602 +msgid "" +"Quiet mode. For example, don't display the copyright and version messages " +"even in interactive mode." +msgstr "" + +#: ../Doc/c-api/init_config.rst:607 +msgid "``python3 -c COMMAND`` argument." +msgstr "" + +#: ../Doc/c-api/init_config.rst:611 +msgid "``python3 FILENAME`` argument." +msgstr "" + +#: ../Doc/c-api/init_config.rst:615 +msgid "``python3 -m MODULE`` argument." +msgstr "" + +#: ../Doc/c-api/init_config.rst:619 +msgid "Show allocation counts at exit?" +msgstr "" + +#: ../Doc/c-api/init_config.rst:621 +msgid "Need a special Python build with ``COUNT_ALLOCS`` macro defined." +msgstr "" + +#: ../Doc/c-api/init_config.rst:625 +msgid "Show total reference count at exit?" +msgstr "" + +#: ../Doc/c-api/init_config.rst:627 +msgid "Need a debug build of Python (``Py_REF_DEBUG`` macro must be defined)." +msgstr "" + +#: ../Doc/c-api/init_config.rst:631 +msgid "Import the :mod:`site` module at startup?" +msgstr "" + +#: ../Doc/c-api/init_config.rst:635 +msgid "Skip the first line of the source?" +msgstr "" + +#: ../Doc/c-api/init_config.rst:640 +msgid "" +"Encoding and encoding errors of :data:`sys.stdin`, :data:`sys.stdout` and :" +"data:`sys.stderr`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:645 +msgid "If non-zero, call :func:`tracemalloc.start`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:649 +msgid "If greater than 0, use :ref:`environment variables `." +msgstr "" + +#: ../Doc/c-api/init_config.rst:653 +msgid "If non-zero, add user site directory to :data:`sys.path`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:657 +msgid "If non-zero, enable verbose mode." +msgstr "" + +#: ../Doc/c-api/init_config.rst:661 +msgid "Options of the :mod:`warnings` module to build warnings filters." +msgstr "" + +#: ../Doc/c-api/init_config.rst:665 +msgid "If non-zero, write ``.pyc`` files." +msgstr "" + +#: ../Doc/c-api/init_config.rst:669 +msgid ":data:`sys._xoptions`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:671 +msgid "" +"If ``parse_argv`` is non-zero, ``argv`` arguments are parsed the same way " +"the regular Python parses command line arguments, and Python arguments are " +"stripped from ``argv``: see :ref:`Command Line Arguments `." +msgstr "" + +#: ../Doc/c-api/init_config.rst:676 +msgid "" +"The ``xoptions`` options are parsed to set other options: see :option:`-X` " +"option." +msgstr "" + +#: ../Doc/c-api/init_config.rst:681 +msgid "Initialization with PyConfig" +msgstr "" + +#: ../Doc/c-api/init_config.rst:683 +msgid "Function to initialize Python:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:687 +msgid "Initialize Python from *config* configuration." +msgstr "" + +#: ../Doc/c-api/init_config.rst:692 +msgid "" +"``PyImport_FrozenModules``, ``PyImport_AppendInittab()`` or " +"``PyImport_ExtendInittab()`` is used: they must be set or called after " +"Python preinitialization and before the Python initialization." +msgstr "" + +#: ../Doc/c-api/init_config.rst:696 +msgid "Example setting the program name::" +msgstr "" + +#: ../Doc/c-api/init_config.rst:727 +msgid "" +"More complete example modifying the default configuration, read the " +"configuration, and then override some parameters::" +msgstr "" + +#: ../Doc/c-api/init_config.rst:781 +msgid "Isolated Configuration" +msgstr "" + +#: ../Doc/c-api/init_config.rst:783 +msgid "" +":c:func:`PyPreConfig_InitIsolatedConfig` and :c:func:" +"`PyConfig_InitIsolatedConfig` functions create a configuration to isolate " +"Python from the system. For example, to embed Python into an application." +msgstr "" + +#: ../Doc/c-api/init_config.rst:788 +msgid "" +"This configuration ignores global configuration variables, environments " +"variables and command line arguments (:c:member:`PyConfig.argv` is not " +"parsed). The C standard streams (ex: ``stdout``) and the LC_CTYPE locale are " +"left unchanged by default." +msgstr "" + +#: ../Doc/c-api/init_config.rst:793 +msgid "" +"Configuration files are still used with this configuration. Set the :ref:" +"`Path Configuration ` (\"output fields\") to ignore these " +"configuration files and avoid the function computing the default path " +"configuration." +msgstr "" + +#: ../Doc/c-api/init_config.rst:802 +msgid "Python Configuration" +msgstr "" + +#: ../Doc/c-api/init_config.rst:804 +msgid "" +":c:func:`PyPreConfig_InitPythonConfig` and :c:func:" +"`PyConfig_InitPythonConfig` functions create a configuration to build a " +"customized Python which behaves as the regular Python." +msgstr "" + +#: ../Doc/c-api/init_config.rst:808 +msgid "" +"Environments variables and command line arguments are used to configure " +"Python, whereas global configuration variables are ignored." +msgstr "" + +#: ../Doc/c-api/init_config.rst:811 +msgid "" +"This function enables C locale coercion (:pep:`538`) and UTF-8 Mode (:pep:" +"`540`) depending on the LC_CTYPE locale, :envvar:`PYTHONUTF8` and :envvar:" +"`PYTHONCOERCECLOCALE` environment variables." +msgstr "" + +#: ../Doc/c-api/init_config.rst:815 +msgid "Example of customized Python always running in isolated mode::" +msgstr "" + +#: ../Doc/c-api/init_config.rst:858 +msgid "Path Configuration" +msgstr "" + +#: ../Doc/c-api/init_config.rst:860 +msgid ":c:type:`PyConfig` contains multiple fields for the path configuration:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:862 +msgid "Path configuration input fields:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:864 +msgid ":c:member:`PyConfig.home`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:865 +msgid ":c:member:`PyConfig.pythonpath_env`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:866 +msgid ":c:member:`PyConfig.pathconfig_warnings`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:868 +msgid "Path configuration output fields:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:870 +msgid ":c:member:`PyConfig.exec_prefix`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:871 +msgid ":c:member:`PyConfig.executable`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:872 +msgid ":c:member:`PyConfig.prefix`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:873 +msgid "" +":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig." +"module_search_paths`" +msgstr "" + +#: ../Doc/c-api/init_config.rst:876 +msgid "" +"If at least one \"output field\" is not set, Python computes the path " +"configuration to fill unset fields. If :c:member:`~PyConfig." +"module_search_paths_set` is equal to 0, :c:member:`~PyConfig." +"module_search_paths` is overridden and :c:member:`~PyConfig." +"module_search_paths_set` is set to 1." +msgstr "" + +#: ../Doc/c-api/init_config.rst:882 +msgid "" +"It is possible to completely ignore the function computing the default path " +"configuration by setting explicitly all path configuration output fields " +"listed above. A string is considered as set even if it is non-empty. " +"``module_search_paths`` is considered as set if ``module_search_paths_set`` " +"is set to 1. In this case, path configuration input fields are ignored as " +"well." +msgstr "" + +#: ../Doc/c-api/init_config.rst:889 +msgid "" +"Set :c:member:`~PyConfig.pathconfig_warnings` to 0 to suppress warnings when " +"computing the path configuration (Unix only, Windows does not log any " +"warning)." +msgstr "" + +#: ../Doc/c-api/init_config.rst:892 +msgid "" +"If :c:member:`~PyConfig.base_prefix` or :c:member:`~PyConfig." +"base_exec_prefix` fields are not set, they inherit their value from :c:" +"member:`~PyConfig.prefix` and :c:member:`~PyConfig.exec_prefix` respectively." +msgstr "" + +#: ../Doc/c-api/init_config.rst:896 +msgid ":c:func:`Py_RunMain` and :c:func:`Py_Main` modify :data:`sys.path`:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:898 +msgid "" +"If :c:member:`~PyConfig.run_filename` is set and is a directory which " +"contains a ``__main__.py`` script, prepend :c:member:`~PyConfig." +"run_filename` to :data:`sys.path`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:901 +msgid "If :c:member:`~PyConfig.isolated` is zero:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:903 +msgid "" +"If :c:member:`~PyConfig.run_module` is set, prepend the current directory " +"to :data:`sys.path`. Do nothing if the current directory cannot be read." +msgstr "" + +#: ../Doc/c-api/init_config.rst:905 +msgid "" +"If :c:member:`~PyConfig.run_filename` is set, prepend the directory of the " +"filename to :data:`sys.path`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:907 +msgid "Otherwise, prepend an empty string to :data:`sys.path`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:909 +msgid "" +"If :c:member:`~PyConfig.site_import` is non-zero, :data:`sys.path` can be " +"modified by the :mod:`site` module. If :c:member:`~PyConfig." +"user_site_directory` is non-zero and the user's site-package directory " +"exists, the :mod:`site` module appends the user's site-package directory to :" +"data:`sys.path`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:915 +msgid "The following configuration files are used by the path configuration:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:917 +msgid "``pyvenv.cfg``" +msgstr "" + +#: ../Doc/c-api/init_config.rst:918 +msgid "``python._pth`` (Windows only)" +msgstr "" + +#: ../Doc/c-api/init_config.rst:919 +msgid "``pybuilddir.txt`` (Unix only)" +msgstr "" + +#: ../Doc/c-api/init_config.rst:923 +msgid "Py_RunMain()" +msgstr "" + +#: ../Doc/c-api/init_config.rst:927 +msgid "" +"Execute the command (:c:member:`PyConfig.run_command`), the script (:c:" +"member:`PyConfig.run_filename`) or the module (:c:member:`PyConfig." +"run_module`) specified on the command line or in the configuration." +msgstr "" + +#: ../Doc/c-api/init_config.rst:932 +msgid "By default and when if :option:`-i` option is used, run the REPL." +msgstr "" + +#: ../Doc/c-api/init_config.rst:934 +msgid "" +"Finally, finalizes Python and returns an exit status that can be passed to " +"the ``exit()`` function." +msgstr "" + +#: ../Doc/c-api/init_config.rst:937 +msgid "" +"See :ref:`Python Configuration ` for an example of " +"customized Python always running in isolated mode using :c:func:`Py_RunMain`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:943 +msgid "Multi-Phase Initialization Private Provisional API" +msgstr "" + +#: ../Doc/c-api/init_config.rst:945 +msgid "" +"This section is a private provisional API introducing multi-phase " +"initialization, the core feature of the :pep:`432`:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:948 +msgid "\"Core\" initialization phase, \"bare minimum Python\":" +msgstr "" + +#: ../Doc/c-api/init_config.rst:950 +msgid "Builtin types;" +msgstr "" + +#: ../Doc/c-api/init_config.rst:951 +msgid "Builtin exceptions;" +msgstr "" + +#: ../Doc/c-api/init_config.rst:952 +msgid "Builtin and frozen modules;" +msgstr "" + +#: ../Doc/c-api/init_config.rst:953 +msgid "" +"The :mod:`sys` module is only partially initialized (ex: :data:`sys.path` " +"doesn't exist yet);" +msgstr "" + +#: ../Doc/c-api/init_config.rst:956 +msgid "\"Main\" initialization phase, Python is fully initialized:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:958 +msgid "Install and configure :mod:`importlib`;" +msgstr "" + +#: ../Doc/c-api/init_config.rst:959 +msgid "Apply the :ref:`Path Configuration `;" +msgstr "" + +#: ../Doc/c-api/init_config.rst:960 +msgid "Install signal handlers;" +msgstr "" + +#: ../Doc/c-api/init_config.rst:961 +msgid "" +"Finish :mod:`sys` module initialization (ex: create :data:`sys.stdout` and :" +"data:`sys.path`);" +msgstr "" + +#: ../Doc/c-api/init_config.rst:963 +msgid "" +"Enable optional features like :mod:`faulthandler` and :mod:`tracemalloc`;" +msgstr "" + +#: ../Doc/c-api/init_config.rst:964 +msgid "Import the :mod:`site` module;" +msgstr "" + +#: ../Doc/c-api/init_config.rst:965 +msgid "etc." +msgstr "" + +#: ../Doc/c-api/init_config.rst:967 +msgid "Private provisional API:" +msgstr "" + +#: ../Doc/c-api/init_config.rst:969 +msgid "" +":c:member:`PyConfig._init_main`: if set to 0, :c:func:" +"`Py_InitializeFromConfig` stops at the \"Core\" initialization phase." +msgstr "" + +#: ../Doc/c-api/init_config.rst:974 +msgid "" +"Move to the \"Main\" initialization phase, finish the Python initialization." +msgstr "" + +#: ../Doc/c-api/init_config.rst:976 +msgid "" +"No module is imported during the \"Core\" phase and the ``importlib`` module " +"is not configured: the :ref:`Path Configuration ` is only " +"applied during the \"Main\" phase. It may allow to customize Python in " +"Python to override or tune the :ref:`Path Configuration `, " +"maybe install a custom sys.meta_path importer or an import hook, etc." +msgstr "" + +#: ../Doc/c-api/init_config.rst:982 +msgid "" +"It may become possible to compute the :ref:`Path Configuration ` in Python, after the Core phase and before the Main phase, which is " +"one of the :pep:`432` motivation." +msgstr "" + +#: ../Doc/c-api/init_config.rst:986 +msgid "" +"The \"Core\" phase is not properly defined: what should be and what should " +"not be available at this phase is not specified yet. The API is marked as " +"private and provisional: the API can be modified or even be removed anytime " +"until a proper public API is designed." +msgstr "" + +#: ../Doc/c-api/init_config.rst:991 +msgid "" +"Example running Python code between \"Core\" and \"Main\" initialization " +"phases::" +msgstr "" diff --git a/distutils/_setuptools_disclaimer.po b/distutils/_setuptools_disclaimer.po new file mode 100644 index 00000000..ee4ef457 --- /dev/null +++ b/distutils/_setuptools_disclaimer.po @@ -0,0 +1,24 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2019, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-04 11:33+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/distutils/_setuptools_disclaimer.rst:3 +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" diff --git a/library/audit_events.po b/library/audit_events.po new file mode 100644 index 00000000..31bd6e1b --- /dev/null +++ b/library/audit_events.po @@ -0,0 +1,40 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2019, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-04 11:33+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/library/audit_events.rst:6 +msgid "Audit events table" +msgstr "" + +#: ../Doc/library/audit_events.rst:8 +msgid "" +"This table contains all events raised by :func:`sys.audit` or :c:func:" +"`PySys_Audit` calls throughout the CPython runtime and the standard library." +msgstr "" + +#: ../Doc/library/audit_events.rst:12 +msgid "" +"See :func:`sys.addaudithook` and :c:func:`PySys_AddAuditHook` for " +"information on handling these events." +msgstr "" + +#: ../Doc/library/audit_events.rst:17 +msgid "" +"This table is generated from the CPython documentation, and may not " +"represent events raised by other implementations. See your runtime specific " +"documentation for actual events raised." +msgstr "" diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po new file mode 100644 index 00000000..640f7de0 --- /dev/null +++ b/library/importlib.metadata.po @@ -0,0 +1,257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2019, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-04 11:33+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/library/importlib.metadata.rst:5 +msgid "Using importlib.metadata" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:8 +msgid "" +"This functionality is provisional and may deviate from the usual version " +"semantics of the standard library." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:11 +msgid "" +"``importlib.metadata`` is a library that provides for access to installed " +"package metadata. Built in part on Python's import system, this library " +"intends to replace similar functionality in the `entry point API`_ and " +"`metadata API`_ of ``pkg_resources``. Along with ``importlib.resources`` in " +"`Python 3.7 and newer`_ (backported as `importlib_resources`_ for older " +"versions of Python), this can eliminate the need to use the older and less " +"efficient ``pkg_resources`` package." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:20 +msgid "" +"By \"installed package\" we generally mean a third-party package installed " +"into Python's ``site-packages`` directory via tools such as `pip `_. Specifically, it means a package with either a " +"discoverable ``dist-info`` or ``egg-info`` directory, and metadata defined " +"by `PEP 566`_ or its older specifications. By default, package metadata can " +"live on the file system or in zip archives on ``sys.path``. Through an " +"extension mechanism, the metadata can live almost anywhere." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:31 +msgid "Overview" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:33 +msgid "" +"Let's say you wanted to get the version string for a package you've " +"installed using ``pip``. We start by creating a virtual environment and " +"installing something into it:" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:43 +msgid "You can get the version string for ``wheel`` by running the following:" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:52 +msgid "" +"You can also get the set of entry points keyed by group, such as " +"``console_scripts``, ``distutils.commands`` and others. Each group contains " +"a sequence of :ref:`EntryPoint ` objects." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:56 +msgid "You can get the :ref:`metadata for a distribution `::" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:61 +msgid "" +"You can also get a :ref:`distribution's version number `, list its :" +"ref:`constituent files `, and get a list of the distribution's :ref:" +"`requirements`." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:67 +msgid "Functional API" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:69 +msgid "This package provides the following functionality via its public API." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:75 +msgid "Entry points" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:77 +msgid "" +"The ``entry_points()`` function returns a dictionary of all entry points, " +"keyed by group. Entry points are represented by ``EntryPoint`` instances; " +"each ``EntryPoint`` has a ``.name``, ``.group``, and ``.value`` attributes " +"and a ``.load()`` method to resolve the value." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:93 +msgid "" +"The ``group`` and ``name`` are arbitrary values defined by the package " +"author and usually a client will wish to resolve all entry points for a " +"particular group. Read `the setuptools docs `_ " +"for more information on entrypoints, their definition, and usage." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:103 +msgid "Distribution metadata" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:105 +msgid "" +"Every distribution includes some metadata, which you can extract using the " +"``metadata()`` function::" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:110 +msgid "" +"The keys of the returned data structure [#f1]_ name the metadata keywords, " +"and their values are returned unparsed from the distribution metadata::" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:120 +msgid "Distribution versions" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:122 +msgid "" +"The ``version()`` function is the quickest way to get a distribution's " +"version number, as a string::" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:132 +msgid "Distribution files" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:134 +msgid "" +"You can also get the full set of files contained within a distribution. The " +"``files()`` function takes a distribution package name and returns all of " +"the files installed by this distribution. Each file object returned is a " +"``PackagePath``, a `pathlib.Path`_ derived object with additional ``dist``, " +"``size``, and ``hash`` properties as indicated by the metadata. For " +"example::" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:150 +msgid "Once you have the file, you can also read its contents::" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:161 +msgid "" +"In the case where the metadata file listing files (RECORD or SOURCES.txt) is " +"missing, ``files()`` will return ``None``. The caller may wish to wrap calls " +"to ``files()`` in `always_iterable `_ or otherwise guard against " +"this condition if the target distribution is not known to have the metadata " +"present." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:172 +msgid "Distribution requirements" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:174 +msgid "" +"To get the full set of requirements for a distribution, use the " +"``requires()`` function. Note that this returns an iterator::" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:182 +msgid "Distributions" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:184 +msgid "" +"While the above API is the most common and convenient usage, you can get all " +"of that information from the ``Distribution`` class. A ``Distribution`` is " +"an abstract object that represents the metadata for a Python package. You " +"can get the ``Distribution`` instance::" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:192 +msgid "" +"Thus, an alternative way to get the version number is through the " +"``Distribution`` instance::" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:198 +msgid "" +"There are all kinds of additional metadata available on the ``Distribution`` " +"instance::" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:206 +msgid "" +"The full set of available metadata is not described here. See `PEP 566 " +"`_ for additional details." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:211 +msgid "Extending the search algorithm" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:213 +msgid "" +"Because package metadata is not available through ``sys.path`` searches, or " +"package loaders directly, the metadata for a package is found through import " +"system `finders`_. To find a distribution package's metadata, ``importlib." +"metadata`` queries the list of `meta path finders`_ on `sys.meta_path`_." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:219 +msgid "" +"By default ``importlib.metadata`` installs a finder for distribution " +"packages found on the file system. This finder doesn't actually find any " +"*packages*, but it can find the packages' metadata." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:223 +msgid "" +"The abstract class :py:class:`importlib.abc.MetaPathFinder` defines the " +"interface expected of finders by Python's import system. ``importlib." +"metadata`` extends this protocol by looking for an optional " +"``find_distributions`` callable on the finders from ``sys.meta_path``. If " +"the finder has this method, it must return an iterator over instances of the " +"``Distribution`` abstract class. This method must have the signature::" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:238 +msgid "" +"What this means in practice is that to support finding distribution package " +"metadata in locations other than the file system, you should derive from " +"``Distribution`` and implement the ``load_metadata()`` method. This takes a " +"single argument which is the name of the package whose metadata is being " +"found. This instance of the ``Distribution`` base abstract class is what " +"your finder's ``find_distributions()`` method should return." +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:258 +msgid "Footnotes" +msgstr "" + +#: ../Doc/library/importlib.metadata.rst:259 +msgid "" +"Technically, the returned distribution metadata object is an `email.message." +"Message `_ instance, but this is an implementation detail, and not part " +"of the stable API. You should only use dictionary-like methods and syntax " +"to access the metadata contents." +msgstr "" diff --git a/using/editors.po b/using/editors.po new file mode 100644 index 00000000..8801fb93 --- /dev/null +++ b/using/editors.po @@ -0,0 +1,35 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2019, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-04 11:33+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/using/editors.rst:7 +msgid "Editors and IDEs" +msgstr "" + +#: ../Doc/using/editors.rst:9 +msgid "" +"There are a number of IDEs that support Python programming language. Many " +"editors and IDEs provide syntax highlighting, debugging tools, and :pep:`8` " +"checks." +msgstr "" + +#: ../Doc/using/editors.rst:12 +msgid "" +"Please go to `Python Editors `_ " +"and `Integrated Development Environments `_ for a comprehensive list." +msgstr "" diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po new file mode 100644 index 00000000..da4c1a4e --- /dev/null +++ b/whatsnew/3.8.po @@ -0,0 +1,2469 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2019, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-04 11:33+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/whatsnew/3.8.rst:3 +msgid "What's New In Python 3.8" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:0 +msgid "Editor" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:45 +msgid "Raymond Hettinger" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:47 +msgid "" +"This article explains the new features in Python 3.8, compared to 3.7. For " +"full details, see the :ref:`changelog `." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:50 +msgid "" +"Prerelease users should be aware that this document is currently in draft " +"form. It will be updated as Python 3.8 moves towards release, so it's worth " +"checking back even after reading earlier versions. Some notable items not " +"yet covered are:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:55 +msgid ":pep:`578` - Runtime audit hooks for potentially sensitive operations" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:56 +msgid "``python -m asyncio`` runs a natively async REPL" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:68 +msgid "Summary -- Release highlights" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:79 +msgid "New Features" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:82 +msgid "Assignment expressions" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:84 +msgid "" +"There is new syntax ``:=`` that assigns values to variables as part of a " +"larger expression. It is affectionately known as \"walrus operator\" due to " +"its resemblance to `the eyes and tusks of a walrus `_." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:89 +msgid "" +"In this example, the assignment expression helps avoid calling :func:`len` " +"twice::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:95 +msgid "" +"A similar benefit arises during regular expression matching where match " +"objects are needed twice, once to test whether a match occurred and another " +"to extract a subgroup::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:103 +msgid "" +"The operator is also useful with while-loops that compute a value to test " +"loop termination and then need that same value again in the body of the " +"loop::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:111 +msgid "" +"Another motivating use case arises in list comprehensions where a value " +"computed in a filtering condition is also needed in the expression body::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:118 +msgid "" +"Try to limit use of the walrus operator to clean cases that reduce " +"complexity and improve readability." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:121 +msgid "See :pep:`572` for a full description." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:123 +msgid "(Contributed by Emily Morehouse in :issue:`35224`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:129 +msgid "Positional-only parameters" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:131 +msgid "" +"There is a new function parameter syntax ``/`` to indicate that some " +"function parameters must be specified positionally and cannot be used as " +"keyword arguments. This is the same notation shown by ``help()`` for C " +"functions annotated with Larry Hastings' `Argument Clinic `_ tool." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:137 +msgid "" +"In the following example, parameters *a* and *b* are positional-only, while " +"*c* or *d* can be positional or keyword, and *e* or *f* are required to be " +"keywords::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:144 +msgid "The following is a valid call::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:148 +msgid "However, these are invalid calls::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:153 +msgid "" +"One use case for this notation is that it allows pure Python functions to " +"fully emulate behaviors of existing C coded functions. For example, the " +"built-in :func:`pow` function does not accept keyword arguments::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:162 +msgid "" +"Another use case is to preclude keyword arguments when the parameter name is " +"not helpful. For example, the builtin :func:`len` function has the " +"signature ``len(obj, /)``. This precludes awkward calls such as::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:168 +msgid "" +"A further benefit of marking a parameter as positional-only is that it " +"allows the parameter name to be changed in the future without risk of " +"breaking client code. For example, in the :mod:`statistics` module, the " +"parameter name *dist* may be changed in the future. This was made possible " +"with the following function specification::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:177 +msgid "" +"Since the parameters to the left of ``/`` are not exposed as possible " +"keywords, the parameters names remain available for use in ``**kwargs``::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:186 +msgid "" +"This greatly simplifies the implementation of functions and methods that " +"need to accept arbitrary keyword arguments. For example, here is an except " +"from code in the :mod:`collections` module::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:195 +msgid "See :pep:`570` for a full description." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:197 +msgid "(Contributed by Pablo Galindo in :issue:`36540`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:203 +msgid "Parallel filesystem cache for compiled bytecode files" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:205 +msgid "" +"The new :envvar:`PYTHONPYCACHEPREFIX` setting (also available as :option:`-" +"X` ``pycache_prefix``) configures the implicit bytecode cache to use a " +"separate parallel filesystem tree, rather than the default ``__pycache__`` " +"subdirectories within each source directory." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:211 +msgid "" +"The location of the cache is reported in :data:`sys.pycache_prefix` (:const:" +"`None` indicates the default location in ``__pycache__`` subdirectories)." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:215 +msgid "(Contributed by Carl Meyer in :issue:`33499`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:218 +msgid "Debug build uses the same ABI as release build" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:220 +msgid "" +"Python now uses the same ABI whether it built in release or debug mode. On " +"Unix, when Python is built in debug mode, it is now possible to load C " +"extensions built in release mode and C extensions built using the stable ABI." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:224 +msgid "" +"Release builds and debug builds are now ABI compatible: defining the " +"``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro, which " +"introduces the only ABI incompatibility. The ``Py_TRACE_REFS`` macro, which " +"adds the :func:`sys.getobjects` function and the :envvar:`PYTHONDUMPREFS` " +"environment variable, can be set using the new ``./configure --with-trace-" +"refs`` build option. (Contributed by Victor Stinner in :issue:`36465`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:232 +msgid "" +"On Unix, C extensions are no longer linked to libpython except on Android " +"and Cygwin. It is now possible for a statically linked Python to load a C " +"extension built using a shared library Python. (Contributed by Victor " +"Stinner in :issue:`21536`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:239 +msgid "" +"On Unix, when Python is built in debug mode, import now also looks for C " +"extensions compiled in release mode and for C extensions compiled with the " +"stable ABI. (Contributed by Victor Stinner in :issue:`36722`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:244 +msgid "" +"To embed Python into an application, a new ``--embed`` option must be passed " +"to ``python3-config --libs --embed`` to get ``-lpython3.8`` (link the " +"application to libpython). To support both 3.8 and older, try ``python3-" +"config --libs --embed`` first and fallback to ``python3-config --libs`` " +"(without ``--embed``) if the previous command fails." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:250 +msgid "" +"Add a pkg-config ``python-3.8-embed`` module to embed Python into an " +"application: ``pkg-config python-3.8-embed --libs`` includes ``-" +"lpython3.8``. To support both 3.8 and older, try ``pkg-config python-X.Y-" +"embed --libs`` first and fallback to ``pkg-config python-X.Y --libs`` " +"(without ``--embed``) if the previous command fails (replace ``X.Y`` with " +"the Python version)." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:256 +msgid "" +"On the other hand, ``pkg-config python3.8 --libs`` no longer contains ``-" +"lpython3.8``. C extensions must not be linked to libpython (except on " +"Android and Cygwin, whose cases are handled by the script); this change is " +"backward incompatible on purpose. (Contributed by Victor Stinner in :issue:" +"`36721`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:264 +msgid "f-strings support ``=`` for self-documenting expressions and debugging" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:266 +msgid "" +"Added an ``=`` specifier to :term:`f-string`\\s. An f-string such as " +"``f'{expr=}'`` will expand to the text of the expression, an equal sign, " +"then the representation of the evaluated expression. For example:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:275 +msgid "" +"The usual :ref:`f-string format specifiers ` allow more control " +"over how the result of the expression is displayed::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:282 +msgid "" +"The ``=`` specifier will display the whole expression so that calculations " +"can be shown::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:288 +msgid "(Contributed by Eric V. Smith and Larry Hastings in :issue:`36817`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:291 +msgid "PEP 587: Python Initialization Configuration" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:293 +msgid "" +"The :pep:`587` adds a new C API to configure the Python Initialization " +"providing finer control on the whole configuration and better error " +"reporting." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:296 +msgid "New structures:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:298 +msgid ":c:type:`PyConfig`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:299 +msgid ":c:type:`PyPreConfig`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:300 +msgid ":c:type:`PyStatus`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:301 +msgid ":c:type:`PyWideStringList`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:303 +msgid "New functions:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:305 +msgid ":c:func:`PyConfig_Clear`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:306 +msgid ":c:func:`PyConfig_InitIsolatedConfig`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:307 +msgid ":c:func:`PyConfig_InitPythonConfig`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:308 +msgid ":c:func:`PyConfig_Read`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:309 +msgid ":c:func:`PyConfig_SetArgv`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:310 +msgid ":c:func:`PyConfig_SetBytesArgv`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:311 +msgid ":c:func:`PyConfig_SetBytesString`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:312 +msgid ":c:func:`PyConfig_SetString`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:313 +msgid ":c:func:`PyPreConfig_InitIsolatedConfig`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:314 +msgid ":c:func:`PyPreConfig_InitPythonConfig`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:315 +msgid ":c:func:`PyStatus_Error`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:316 +msgid ":c:func:`PyStatus_Exception`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:317 +msgid ":c:func:`PyStatus_Exit`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:318 +msgid ":c:func:`PyStatus_IsError`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:319 +msgid ":c:func:`PyStatus_IsExit`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:320 +msgid ":c:func:`PyStatus_NoMemory`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:321 +msgid ":c:func:`PyStatus_Ok`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:322 +msgid ":c:func:`PyWideStringList_Append`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:323 +msgid ":c:func:`PyWideStringList_Insert`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:324 +msgid ":c:func:`Py_BytesMain`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:325 +msgid ":c:func:`Py_ExitStatusException`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:326 +msgid ":c:func:`Py_InitializeFromConfig`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:327 +msgid ":c:func:`Py_PreInitialize`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:328 +msgid ":c:func:`Py_PreInitializeFromArgs`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:329 +msgid ":c:func:`Py_PreInitializeFromBytesArgs`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:330 +msgid ":c:func:`Py_RunMain`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:332 +msgid "" +"This PEP also adds ``_PyRuntimeState.preconfig`` (:c:type:`PyPreConfig` " +"type) and ``PyInterpreterState.config`` (:c:type:`PyConfig` type) fields to " +"these internal structures. ``PyInterpreterState.config`` becomes the new " +"reference configuration, replacing global configuration variables and other " +"private variables." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:338 +msgid "" +"See :ref:`Python Initialization Configuration ` for the " +"documentation." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:341 +msgid "See :pep:`587` for a full description." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:343 +msgid "(Contributed by Victor Stinner in :issue:`36763`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:347 +msgid "Vectorcall: a fast calling protocol for CPython" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:349 +msgid "" +"The \"vectorcall\" protocol is added to the Python/C API. It is meant to " +"formalize existing optimizations which were already done for various " +"classes. Any extension type implementing a callable can use this protocol." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:354 +msgid "" +"This is currently provisional, the aim is to make it fully public in Python " +"3.9." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:357 +msgid "See :pep:`590` for a full description." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:359 +msgid "(Contributed by Jeroen Demeyer and Mark Shannon in :issue:`36974`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:363 +msgid "Pickle protocol 5 with out-of-band data buffers" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:365 +msgid "" +"When :mod:`pickle` is used to transfer large data between Python processes " +"in order to take advantage of multi-core or multi-machine processing, it is " +"important to optimize the transfer by reducing memory copies, and possibly " +"by applying custom techniques such as data-dependent compression." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:370 +msgid "" +"The :mod:`pickle` protocol 5 introduces support for out-of-band buffers " +"where :pep:`3118`-compatible data can be transmitted separately from the " +"main pickle stream, at the discretion of the communication layer." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:374 +msgid "See :pep:`574` for a full description." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:376 +msgid "(Contributed by Antoine Pitrou in :issue:`36785`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:380 +msgid "Other Language Changes" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:382 +msgid "" +"A :keyword:`continue` statement was illegal in the :keyword:`finally` clause " +"due to a problem with the implementation. In Python 3.8 this restriction " +"was lifted. (Contributed by Serhiy Storchaka in :issue:`32489`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:387 +msgid "" +"The :class:`bool`, :class:`int`, and :class:`fractions.Fraction` types now " +"have an :meth:`~int.as_integer_ratio` method like that found in :class:" +"`float` and :class:`decimal.Decimal`. This minor API extension makes it " +"possible to write ``numerator, denominator = x.as_integer_ratio()`` and have " +"it work across multiple numeric types. (Contributed by Lisa Roach in :issue:" +"`33073` and Raymond Hettinger in :issue:`37819`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:395 +msgid "" +"Constructors of :class:`int`, :class:`float` and :class:`complex` will now " +"use the :meth:`~object.__index__` special method, if available and the " +"corresponding method :meth:`~object.__int__`, :meth:`~object.__float__` or :" +"meth:`~object.__complex__` is not available. (Contributed by Serhiy " +"Storchaka in :issue:`20092`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:401 +msgid "" +"Added support of ``\\N{name}`` escapes in :mod:`regular expressions `::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:408 +msgid "" +"(Contributed by Jonathan Eunice and Serhiy Storchaka in :issue:`30688`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:410 +msgid "" +"Dict and dictviews are now iterable in reversed insertion order using :func:" +"`reversed`. (Contributed by Rémi Lapeyre in :issue:`33462`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:413 +msgid "" +"The syntax allowed for keyword names in function calls was further " +"restricted. In particular, ``f((keyword)=arg)`` is no longer allowed. It was " +"never intended to permit more than a bare name on the left-hand side of a " +"keyword argument assignment term. See :issue:`34641`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:418 +msgid "" +"Generalized iterable unpacking in :keyword:`yield` and :keyword:`return` " +"statements no longer requires enclosing parentheses. This brings the *yield* " +"and *return* syntax into better agreement with normal assignment syntax::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:431 +msgid "(Contributed by David Cuthbert and Jordan Chapman in :issue:`32117`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:433 +msgid "" +"When a comma is missed in code such as ``[(10, 20) (30, 40)]``, the compiler " +"displays a :exc:`SyntaxWarning` with a helpful suggestion. This improves on " +"just having a :exc:`TypeError` indicating that the first tuple was not " +"callable. (Contributed by Serhiy Storchaka in :issue:`15248`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:439 +msgid "" +"Arithmetic operations between subclasses of :class:`datetime.date` or :class:" +"`datetime.datetime` and :class:`datetime.timedelta` objects now return an " +"instance of the subclass, rather than the base class. This also affects the " +"return type of operations whose implementation (directly or indirectly) " +"uses :class:`datetime.timedelta` arithmetic, such as :meth:`datetime." +"datetime.astimezone`. (Contributed by Paul Ganssle in :issue:`32417`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:447 +msgid "" +"When the Python interpreter is interrupted by Ctrl-C (SIGINT) and the " +"resulting :exc:`KeyboardInterrupt` exception is not caught, the Python " +"process now exits via a SIGINT signal or with the correct exit code such " +"that the calling process can detect that it died due to a Ctrl-C. Shells on " +"POSIX and Windows use this to properly terminate scripts in interactive " +"sessions. (Contributed by Google via Gregory P. Smith in :issue:`1054041`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:454 +msgid "" +"Some advanced styles of programming require updating the :class:`types." +"CodeType` object for an existing function. Since code objects are " +"immutable, a new code object needs to be created, one that is modeled on the " +"existing code object. With 19 parameters, this was somewhat tedious. Now, " +"the new ``replace()`` method makes it possible to create a clone with a few " +"altered parameters." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:461 +msgid "" +"Here's an example that alters the :func:`statistics.mean` function to " +"prevent the *data* parameter from being used as a keyword argument::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:473 +msgid "(Contributed by Victor Stinner in :issue:`37032`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:475 +msgid "" +"For integers, the three-argument form of the :func:`pow` function now " +"permits the exponent to be negative in the case where the base is relatively " +"prime to the modulus. It then computes a modular inverse to the base when " +"the exponent is ``-1``, and a suitable power of that inverse for other " +"negative exponents. For example, to compute the `modular multiplicative " +"inverse `_ of " +"38 modulo 137, write::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:489 +msgid "" +"Modular inverses arise in the solution of `linear Diophantine equations " +"`_. For example, to find " +"integer solutions for ``4258𝑥 + 147𝑦 = 369``, first rewrite as ``4258𝑥 ≡ 369 " +"(mod 147)`` then solve:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:499 +msgid "(Contributed by Mark Dickinson in :issue:`36027`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:501 +msgid "" +"Dict comprehensions have been synced-up with dict literals so that the key " +"is computed first and the value second::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:516 +msgid "" +"The guaranteed execution order is helpful with assignment expressions " +"because variables assigned in the key expression will be available in the " +"value expression::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:528 +msgid "New Modules" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:530 +msgid "" +"The new :mod:`importlib.metadata` module provides (provisional) support for " +"reading metadata from third-party packages. For example, it can extract an " +"installed package's version number, list of entry points, and more::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:549 +msgid "(Contributed in :issue:`34632` by Barry Warsaw and Jason R. Coombs.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:553 +msgid "Improved Modules" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:557 +msgid "ast" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:559 +msgid "" +"AST nodes now have ``end_lineno`` and ``end_col_offset`` attributes, which " +"give the precise location of the end of the node. (This only applies to " +"nodes that have ``lineno`` and ``col_offset`` attributes.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:563 +msgid "The :func:`ast.parse` function has some new flags:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:565 +msgid "" +"``type_comments=True`` causes it to return the text of :pep:`484` and :pep:" +"`526` type comments associated with certain AST nodes;" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:568 +msgid "" +"``mode='func_type'`` can be used to parse :pep:`484` \"signature type " +"comments\" (returned for function definition AST nodes);" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:571 +msgid "" +"``feature_version=(3, N)`` allows specifying an earlier Python 3 version. " +"(For example, ``feature_version=(3, 4)`` will treat ``async`` and ``await`` " +"as non-reserved words.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:575 +msgid "" +"New function :func:`ast.get_source_segment` returns the source code for a " +"specific AST node." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:580 +msgid "asyncio" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:582 +msgid "" +"On Windows, the default event loop is now :class:`~asyncio." +"ProactorEventLoop`. (Contributed by Victor Stinner in :issue:`34687`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:585 +msgid "" +":class:`~asyncio.ProactorEventLoop` now also supports UDP. (Contributed by " +"Adam Meily and Andrew Svetlov in :issue:`29883`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:588 +msgid "" +":class:`~asyncio.ProactorEventLoop` can now be interrupted by :exc:" +"`KeyboardInterrupt` (\"CTRL+C\"). (Contributed by Vladimir Matveev in :issue:" +"`23057`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:594 +msgid "builtins" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:596 +msgid "" +"The :func:`compile` built-in has been improved to accept the ``ast." +"PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag. With this new flag passed, :func:" +"`compile` will allow top-level ``await``, ``async for`` and ``async with`` " +"constructs that are usually considered invalid syntax. Asynchronous code " +"object marked with the ``CO_COROUTINE`` flag may then be returned." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:602 +msgid "(Contributed by Matthias Bussonnier in :issue:`34616`)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:605 +msgid "collections" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:607 +msgid "" +"The :meth:`_asdict()` method for :func:`collections.namedtuple` now returns " +"a :class:`dict` instead of a :class:`collections.OrderedDict`. This works " +"because regular dicts have guaranteed ordering since Python 3.7. If the " +"extra features of :class:`OrderedDict` are required, the suggested " +"remediation is to cast the result to the desired type: ``OrderedDict(nt." +"_asdict())``. (Contributed by Raymond Hettinger in :issue:`35864`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:616 +msgid "ctypes" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:618 +msgid "" +"On Windows, :class:`~ctypes.CDLL` and subclasses now accept a *winmode* " +"parameter to specify flags for the underlying ``LoadLibraryEx`` call. The " +"default flags are set to only load DLL dependencies from trusted locations, " +"including the path where the DLL is stored (if a full or partial path is " +"used to load the initial DLL) and paths added by :func:`~os." +"add_dll_directory`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:626 +msgid "functools" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:628 +msgid "" +":func:`functools.lru_cache` can now be used as a straight decorator rather " +"than as a function returning a decorator. So both of these are now " +"supported::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:639 +msgid "(Contributed by Raymond Hettinger in :issue:`36772`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:643 +msgid "datetime" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:645 +msgid "" +"Added new alternate constructors :meth:`datetime.date.fromisocalendar` and :" +"meth:`datetime.datetime.fromisocalendar`, which construct :class:`date` and :" +"class:`datetime` objects respectively from ISO year, week number and " +"weekday; these are the inverse of each class's ``isocalendar`` method. " +"(Contributed by Paul Ganssle in :issue:`36004`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:653 +msgid "gettext" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:655 +msgid "" +"Added :func:`~gettext.pgettext` and its variants. (Contributed by Franz " +"Glasner, Éric Araujo, and Cheryl Sabella in :issue:`2504`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:660 ../Doc/whatsnew/3.8.rst:730 +msgid "idlelib and IDLE" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:662 ../Doc/whatsnew/3.8.rst:737 +msgid "" +"Output over N lines (50 by default) is squeezed down to a button. N can be " +"changed in the PyShell section of the General page of the Settings dialog. " +"Fewer, but possibly extra long, lines can be squeezed by right clicking on " +"the output. Squeezed output can be expanded in place by double-clicking the " +"button or into the clipboard or a separate window by right-clicking the " +"button. (Contributed by Tal Einat in :issue:`1529353`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:669 +msgid "" +"Add \"Run Customized\" to the Run menu to run a module with customized " +"settings. Any command line arguments entered are added to sys.argv. They " +"also re-appear in the box for the next customized run. One can also " +"suppress the normal Shell main module restart. (Contributed by Cheryl " +"Sabella, Terry Jan Reedy, and others in :issue:`5680` and :issue:`37627`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:675 +msgid "" +"Add optional line numbers for IDLE editor windows. Windows open without line " +"numbers unless set otherwise in the General tab of the configuration " +"dialog. Line numbers for an existing window are shown and hidden in the " +"Options menu. (Contributed by Tal Einat and Saimadhav Heblikar in :issue:" +"`17535`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:681 ../Doc/whatsnew/3.8.rst:744 +msgid "The changes above have been backported to 3.7 maintenance releases." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:685 +msgid "inspect" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:687 +msgid "" +"The :func:`inspect.getdoc` function can now find docstrings for " +"``__slots__`` if that attribute is a :class:`dict` where the values are " +"docstrings. This provides documentation options similar to what we already " +"have for :func:`property`, :func:`classmethod`, and :func:`staticmethod`::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:701 +msgid "io" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:703 +msgid "" +"In development mode (:option:`-X` ``env``) and in debug build, the :class:" +"`io.IOBase` finalizer now logs the exception if the ``close()`` method " +"fails. The exception is ignored silently by default in release build. " +"(Contributed by Victor Stinner in :issue:`18748`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:710 +msgid "gc" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:712 +msgid "" +":func:`~gc.get_objects` can now receive an optional *generation* parameter " +"indicating a generation to get objects from. Contributed in :issue:`36016` " +"by Pablo Galindo." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:718 +msgid "gzip" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:720 +msgid "" +"Added the *mtime* parameter to :func:`gzip.compress` for reproducible " +"output. (Contributed by Guo Ci Teo in :issue:`34898`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:723 +msgid "" +"A :exc:`~gzip.BadGzipFile` exception is now raised instead of :exc:`OSError` " +"for certain types of invalid or corrupt gzip files. (Contributed by Filip " +"Gruszczyński, Michele Orrù, and Zackery Spytz in :issue:`6584`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:732 +msgid "" +"Add optional line numbers for IDLE editor windows. Windows open without line " +"numbers unless set otherwise in the General tab of the configuration dialog. " +"(Contributed by Tal Einat and Saimadhav Heblikar in :issue:`17535`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:748 +msgid "json.tool" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:750 +msgid "" +"Add option ``--json-lines`` to parse every input line as separate JSON " +"object. (Contributed by Weipeng Hong in :issue:`31553`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:755 +msgid "math" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:757 +msgid "" +"Added new function :func:`math.dist` for computing Euclidean distance " +"between two points. (Contributed by Raymond Hettinger in :issue:`33089`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:760 +msgid "" +"Expanded the :func:`math.hypot` function to handle multiple dimensions. " +"Formerly, it only supported the 2-D case. (Contributed by Raymond Hettinger " +"in :issue:`33089`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:764 +msgid "" +"Added new function, :func:`math.prod`, as analogous function to :func:`sum` " +"that returns the product of a 'start' value (default: 1) times an iterable " +"of numbers::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:773 +msgid "(Contributed by Pablo Galindo in :issue:`35606`)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:775 +msgid "" +"Added new function :func:`math.isqrt` for computing integer square roots. " +"(Contributed by Mark Dickinson in :issue:`36887`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:778 +msgid "" +"The function :func:`math.factorial` no longer accepts arguments that are not " +"int-like. (Contributed by Pablo Galindo in :issue:`33083`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:783 +msgid "mmap" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:785 +msgid "" +"The :class:`mmap.mmap` class now has an :meth:`~mmap.mmap.madvise` method to " +"access the ``madvise()`` system call. (Contributed by Zackery Spytz in :" +"issue:`32941`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:791 +msgid "multiprocessing" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:793 +msgid "" +"Added new :mod:`multiprocessing.shared_memory` module. (Contributed Davin " +"Potts in :issue:`35813`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:796 +msgid "" +"On macOS, the *spawn* start method is now used by default. (Contributed by " +"Victor Stinner in :issue:`33725`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:801 +msgid "os" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:803 +msgid "" +"Added new function :func:`~os.add_dll_directory` on Windows for providing " +"additional search paths for native dependencies when importing extension " +"modules or loading DLLs using :mod:`ctypes`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:807 +msgid "" +"A new :func:`os.memfd_create` function was added to wrap the " +"``memfd_create()`` syscall. (Contributed by Zackery Spytz and Christian " +"Heimes in :issue:`26836`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:811 +msgid "" +"On Windows, much of the manual logic for handling reparse points (including " +"symlinks and directory junctions) has been delegated to the operating " +"system. Specifically, :func:`os.stat` will now traverse anything supported " +"by the operating system, while :func:`os.lstat` will only open reparse " +"points that identify as \"name surrogates\" while others are opened as for :" +"func:`os.stat`. In all cases, :attr:`stat_result.st_mode` will only have " +"``S_IFLNK`` set for symbolic links and not other kinds of reparse points. To " +"identify other kinds of reparse point, check the new :attr:`stat_result." +"st_reparse_tag` attribute." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:820 +msgid "" +"On Windows, :func:`os.readlink` is now able to read directory junctions. " +"Note that :func:`~os.path.islink` will return ``False`` for directory " +"junctions, and so code that checks ``islink`` first will continue to treat " +"junctions as directories, while code that handles errors from :func:`os." +"readlink` may now treat junctions as links." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:828 +msgid "os.path" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:830 +msgid "" +":mod:`os.path` functions that return a boolean result like :func:`~os.path." +"exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, :func:`~os.path." +"isfile`, :func:`~os.path.islink`, and :func:`~os.path.ismount` now return " +"``False`` instead of raising :exc:`ValueError` or its subclasses :exc:" +"`UnicodeEncodeError` and :exc:`UnicodeDecodeError` for paths that contain " +"characters or bytes unrepresentable at the OS level. (Contributed by Serhiy " +"Storchaka in :issue:`33721`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:838 ../Doc/whatsnew/3.8.rst:1628 +msgid "" +":func:`~os.path.expanduser` on Windows now prefers the :envvar:`USERPROFILE` " +"environment variable and does not use :envvar:`HOME`, which is not normally " +"set for regular user accounts." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:842 +msgid "" +":func:`~os.path.isdir` on Windows no longer returns true for a link to a non-" +"existent directory." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:845 +msgid "" +":func:`~os.path.realpath` on Windows now resolves reparse points, including " +"symlinks and directory junctions." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:850 +msgid "ncurses" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:852 +msgid "" +"Added a new variable holding structured version information for the " +"underlying ncurses library: :data:`~curses.ncurses_version`. (Contributed by " +"Serhiy Storchaka in :issue:`31680`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:858 +msgid "pathlib" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:860 +msgid "" +":mod:`pathlib.Path` methods that return a boolean result like :meth:" +"`~pathlib.Path.exists()`, :meth:`~pathlib.Path.is_dir()`, :meth:`~pathlib." +"Path.is_file()`, :meth:`~pathlib.Path.is_mount()`, :meth:`~pathlib.Path." +"is_symlink()`, :meth:`~pathlib.Path.is_block_device()`, :meth:`~pathlib.Path." +"is_char_device()`, :meth:`~pathlib.Path.is_fifo()`, :meth:`~pathlib.Path." +"is_socket()` now return ``False`` instead of raising :exc:`ValueError` or " +"its subclass :exc:`UnicodeEncodeError` for paths that contain characters " +"unrepresentable at the OS level. (Contributed by Serhiy Storchaka in :issue:" +"`33721`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:870 +msgid "" +"Added :meth:`pathlib.Path.link_to()` which creates a hard link pointing to a " +"path. (Contributed by Joannah Nanjekye in :issue:`26978`)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:876 +msgid "pickle" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:878 +msgid "" +"Reduction methods can now include a 6th item in the tuple they return. This " +"item should specify a custom state-setting method that's called instead of " +"the regular ``__setstate__`` method. (Contributed by Pierre Glaser and " +"Olivier Grisel in :issue:`35900`)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:883 +msgid "" +":mod:`pickle` extensions subclassing the C-optimized :class:`~pickle." +"Pickler` can now override the pickling logic of functions and classes by " +"defining the special :meth:`~pickle.Pickler.reducer_override` method. " +"(Contributed by Pierre Glaser and Olivier Grisel in :issue:`35900`)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:890 +msgid "plistlib" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:892 +msgid "" +"Added new :class:`plistlib.UID` and enabled support for reading and writing " +"NSKeyedArchiver-encoded binary plists. (Contributed by Jon Janzen in :issue:" +"`26707`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:898 +msgid "py_compile" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:900 +msgid "" +":func:`py_compile.compile` now supports silent mode. (Contributed by Joannah " +"Nanjekye in :issue:`22640`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:905 +msgid "socket" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:907 +msgid "" +"Added :meth:`~socket.create_server()` and :meth:`~socket." +"has_dualstack_ipv6()` convenience functions to automate the necessary tasks " +"usually involved when creating a server socket, including accepting both " +"IPv4 and IPv6 connections on the same socket. (Contributed by Giampaolo " +"Rodola in :issue:`17561`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:912 +msgid "" +"The :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()`, and :" +"func:`socket.if_indextoname()` functions have been implemented on Windows. " +"(Contributed by Zackery Spytz in :issue:`37007`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:917 +msgid "shlex" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:919 +msgid "" +"The new :func:`shlex.join` function acts as the inverse of :func:`shlex." +"split`. (Contributed by Bo Bayles in :issue:`32102`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:923 +msgid "shutil" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:925 +msgid "" +":func:`shutil.copytree` now accepts a new ``dirs_exist_ok`` keyword " +"argument. (Contributed by Josh Bronson in :issue:`20849`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:928 +msgid "" +":func:`shutil.make_archive` now defaults to the modern pax (POSIX.1-2001) " +"format for new archives to improve portability and standards conformance, " +"inherited from the corresponding change to the :mod:`tarfile` module. " +"(Contributed by C.A.M. Gerlach in :issue:`30661`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:933 +msgid "" +":func:`shutil.rmtree` on Windows now removes directory junctions without " +"recursively removing their contents first." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:938 +msgid "ssl" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:940 +msgid "" +"Added :attr:`SSLContext.post_handshake_auth` to enable and :meth:`ssl." +"SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 post-handshake " +"authentication. (Contributed by Christian Heimes in :issue:`34670`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:947 +msgid "statistics" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:949 +msgid "" +"Added :func:`statistics.fmean` as a faster, floating point variant of :func:" +"`statistics.mean()`. (Contributed by Raymond Hettinger and Steven D'Aprano " +"in :issue:`35904`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:953 +msgid "" +"Added :func:`statistics.geometric_mean()` (Contributed by Raymond Hettinger " +"in :issue:`27181`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:956 +msgid "" +"Added :func:`statistics.multimode` that returns a list of the most common " +"values. (Contributed by Raymond Hettinger in :issue:`35892`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:959 +msgid "" +"Added :func:`statistics.quantiles` that divides data or a distribution in to " +"equiprobable intervals (e.g. quartiles, deciles, or percentiles). " +"(Contributed by Raymond Hettinger in :issue:`36546`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:963 +msgid "" +"Added :class:`statistics.NormalDist`, a tool for creating and manipulating " +"normal distributions of a random variable. (Contributed by Raymond Hettinger " +"in :issue:`36018`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:993 +msgid "sys" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:995 +msgid "" +"Add new :func:`sys.unraisablehook` function which can be overridden to " +"control how \"unraisable exceptions\" are handled. It is called when an " +"exception has occurred but there is no way for Python to handle it. For " +"example, when a destructor raises an exception or during garbage collection " +"(:func:`gc.collect`). (Contributed by Victor Stinner in :issue:`36829`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1004 +msgid "tarfile" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1006 +msgid "" +"The :mod:`tarfile` module now defaults to the modern pax (POSIX.1-2001) " +"format for new archives, instead of the previous GNU-specific one. This " +"improves cross-platform portability with a consistent encoding (UTF-8) in a " +"standardized and extensible format, and offers several other benefits. " +"(Contributed by C.A.M. Gerlach in :issue:`36268`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1014 +msgid "threading" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1016 +msgid "" +"Add a new :func:`threading.excepthook` function which handles uncaught :meth:" +"`threading.Thread.run` exception. It can be overridden to control how " +"uncaught :meth:`threading.Thread.run` exceptions are handled. (Contributed " +"by Victor Stinner in :issue:`1230540`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1021 +msgid "" +"Add a new :func:`threading.get_native_id` function and a :data:`~threading." +"Thread.native_id` attribute to the :class:`threading.Thread` class. These " +"return the native integral Thread ID of the current thread assigned by the " +"kernel. This feature is only available on certain platforms, see :func:" +"`get_native_id ` for more information. (Contributed " +"by Jake Tesler in :issue:`36084`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1031 +msgid "tokenize" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1033 +msgid "" +"The :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token when " +"provided with input that does not have a trailing new line. This behavior " +"now matches what the C tokenizer does internally. (Contributed by Ammar " +"Askar in :issue:`33899`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1039 +msgid "tkinter" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1041 +msgid "" +"Added methods :meth:`~tkinter.Spinbox.selection_from`, :meth:`~tkinter." +"Spinbox.selection_present`, :meth:`~tkinter.Spinbox.selection_range` and :" +"meth:`~tkinter.Spinbox.selection_to` in the :class:`tkinter.Spinbox` class. " +"(Contributed by Juliette Monsel in :issue:`34829`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1048 +msgid "" +"Added method :meth:`~tkinter.Canvas.moveto` in the :class:`tkinter.Canvas` " +"class. (Contributed by Juliette Monsel in :issue:`23831`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1052 +msgid "" +"The :class:`tkinter.PhotoImage` class now has :meth:`~tkinter.PhotoImage." +"transparency_get` and :meth:`~tkinter.PhotoImage.transparency_set` methods. " +"(Contributed by Zackery Spytz in :issue:`25451`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1058 +msgid "time" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1060 +msgid "" +"Added new clock :data:`~time.CLOCK_UPTIME_RAW` for macOS 10.12. (Contributed " +"by Joannah Nanjekye in :issue:`35702`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1065 +msgid "typing" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1067 +msgid "The :mod:`typing` module incorporates several new features:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1069 +msgid "" +"Protocol definitions. See :pep:`544`, :class:`typing.Protocol` and :func:" +"`typing.runtime_checkable`. Simple ABCs like :class:`typing.SupportsInt` " +"are now ``Protocol`` subclasses." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1073 +msgid "" +"A dictionary type with per-key types. See :pep:`589` and :class:`typing." +"TypedDict`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1076 +msgid "Literal types. See :pep:`586` and :class:`typing.Literal`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1078 +msgid "" +"\"Final\" variables, functions, methods and classes. See :pep:`591`, :class:" +"`typing.Final` and :func:`typing.final`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1081 +msgid "New protocol class :class:`typing.SupportsIndex`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1083 +msgid "New functions :func:`typing.get_origin` and :func:`typing.get_args`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1087 +msgid "unicodedata" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1089 +msgid "" +"The :mod:`unicodedata` module has been upgraded to use the `Unicode 12.1.0 " +"`_ release." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1092 +msgid "" +"New function :func:`~unicodedata.is_normalized` can be used to verify a " +"string is in a specific normal form, often much faster than by actually " +"normalizing the string. (Contributed by Max Belanger, David Euresti, and " +"Greg Price in :issue:`32285` and :issue:`37966`)." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1099 +msgid "unittest" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1101 +msgid "" +"Added :class:`AsyncMock` to support an asynchronous version of :class:" +"`Mock`. Appropriate new assert functions for testing have been added as " +"well. (Contributed by Lisa Roach in :issue:`26467`)." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1105 +msgid "" +"Added :func:`~unittest.addModuleCleanup()` and :meth:`~unittest.TestCase." +"addClassCleanup()` to unittest to support cleanups for :func:`~unittest." +"setUpModule()` and :meth:`~unittest.TestCase.setUpClass()`. (Contributed by " +"Lisa Roach in :issue:`24412`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1111 +msgid "" +"Several mock assert functions now also print a list of actual calls upon " +"failure. (Contributed by Petter Strandmark in :issue:`35047`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1115 +msgid "venv" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1117 +msgid "" +":mod:`venv` now includes an ``Activate.ps1`` script on all platforms for " +"activating virtual environments under PowerShell Core 6.1. (Contributed by " +"Brett Cannon in :issue:`32718`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1122 +msgid "weakref" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1124 +msgid "" +"The proxy objects returned by :func:`weakref.proxy` now support the matrix " +"multiplication operators ``@`` and ``@=`` in addition to the other numeric " +"operators. (Contributed by Mark Dickinson in :issue:`36669`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1129 +msgid "xml" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1131 +msgid "" +"As mitigation against DTD and external entity retrieval, the :mod:`xml.dom." +"minidom` and :mod:`xml.sax` modules no longer process external entities by " +"default. (Contributed by Christian Heimes in :issue:`17239`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1136 +msgid "" +"The ``.find*()`` methods in the :mod:`xml.etree.ElementTree` module support " +"wildcard searches like ``{*}tag`` which ignores the namespace and " +"``{namespace}*`` which returns all tags in the given namespace. (Contributed " +"by Stefan Behnel in :issue:`28238`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1141 +msgid "" +"The :mod:`xml.etree.ElementTree` module provides a new function :func:`–xml." +"etree.ElementTree.canonicalize()` that implements C14N 2.0. (Contributed by " +"Stefan Behnel in :issue:`13611`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1145 +msgid "" +"The target object of :class:`xml.etree.ElementTree.XMLParser` can receive " +"namespace declaration events through the new callback methods ``start_ns()`` " +"and ``end_ns()``. Additionally, the :class:`xml.etree.ElementTree." +"TreeBuilder` target can be configured to process events about comments and " +"processing instructions to include them in the generated tree. (Contributed " +"by Stefan Behnel in :issue:`36676` and :issue:`36673`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1154 +msgid "Optimizations" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1156 +msgid "" +"The :mod:`subprocess` module can now use the :func:`os.posix_spawn` function " +"in some cases for better performance. Currently, it is only used on macOS " +"and Linux (using glibc 2.24 or newer) if all these conditions are met:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1160 +msgid "*close_fds* is false;" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1161 +msgid "" +"*preexec_fn*, *pass_fds*, *cwd* and *start_new_session* parameters are not " +"set;" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1163 +msgid "the *executable* path contains a directory." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1165 +msgid "(Contributed by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1167 +msgid "" +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" +"`shutil.copytree` and :func:`shutil.move` use platform-specific \"fast-copy" +"\" syscalls on Linux and macOS in order to copy the file more efficiently. " +"\"fast-copy\" means that the copying operation occurs within the kernel, " +"avoiding the use of userspace buffers in Python as in \"``outfd.write(infd." +"read())``\". On Windows :func:`shutil.copyfile` uses a bigger default buffer " +"size (1 MiB instead of 16 KiB) and a :func:`memoryview`-based variant of :" +"func:`shutil.copyfileobj` is used. The speedup for copying a 512 MiB file " +"within the same partition is about +26% on Linux, +50% on macOS and +40% on " +"Windows. Also, much less CPU cycles are consumed. See :ref:`shutil-platform-" +"dependent-efficient-copy-operations` section. (Contributed by Giampaolo " +"Rodola' in :issue:`33671`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1183 +msgid "" +":func:`shutil.copytree` uses :func:`os.scandir` function and all copy " +"functions depending from it use cached :func:`os.stat` values. The speedup " +"for copying a directory with 8000 files is around +9% on Linux, +20% on " +"Windows and +30% on a Windows SMB share. Also the number of :func:`os.stat` " +"syscalls is reduced by 38% making :func:`shutil.copytree` especially faster " +"on network filesystems. (Contributed by Giampaolo Rodola' in :issue:`33695`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1190 +msgid "" +"The default protocol in the :mod:`pickle` module is now Protocol 4, first " +"introduced in Python 3.4. It offers better performance and smaller size " +"compared to Protocol 3 available since Python 3.0." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1194 +msgid "" +"Removed one ``Py_ssize_t`` member from ``PyGC_Head``. All GC tracked " +"objects (e.g. tuple, list, dict) size is reduced 4 or 8 bytes. (Contributed " +"by Inada Naoki in :issue:`33597`)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1198 +msgid "" +":class:`uuid.UUID` now uses ``__slots__`` to reduce its memory footprint." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1200 +msgid "" +"Improved performance of :func:`operator.itemgetter` by 33%. Optimized " +"argument handling and added a fast path for the common case of a single non-" +"negative integer index into a tuple (which is the typical use case in the " +"standard library). (Contributed by Raymond Hettinger in :issue:`35664`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1206 +msgid "" +"Sped-up field lookups in :func:`collections.namedtuple`. They are now more " +"than two times faster, making them the fastest form of instance variable " +"lookup in Python. (Contributed by Raymond Hettinger, Pablo Galindo, and Joe " +"Jevnik, Serhiy Storchaka in :issue:`32492`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1211 +msgid "" +"The :class:`list` constructor does not overallocate the internal item buffer " +"if the input iterable has a known length (the input implements ``__len__``). " +"This makes the created list 12% smaller on average. (Contributed by Raymond " +"Hettinger and Pablo Galindo in :issue:`33234`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1216 +msgid "" +"Doubled the speed of class variable writes. When a non-dunder attribute was " +"updated, there was an unnecessary call to update slots. (Contributed by " +"Stefan Behnel, Pablo Galindo Salgado, Raymond Hettinger, Neil Schemenauer, " +"and Serhiy Storchaka in :issue:`36012`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1221 +msgid "" +"Reduced an overhead of converting arguments passed to many builtin functions " +"and methods. This sped up calling some simple builtin functions and methods " +"up to 20--50%. (Contributed by Serhiy Storchaka in :issue:`23867`, :issue:" +"`35582` and :issue:`36127`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1226 +msgid "" +"``LOAD_GLOBAL`` instruction now uses new \"per opcode cache\" mechanism. It " +"is about 40% faster now. (Contributed by Yury Selivanov and Inada Naoki in :" +"issue:`26219`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1232 +msgid "Build and C API Changes" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1234 +msgid "" +"Default :data:`sys.abiflags` became an empty string: the ``m`` flag for " +"pymalloc became useless (builds with and without pymalloc are ABI " +"compatible) and so has been removed. (Contributed by Victor Stinner in :" +"issue:`36707`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1238 +msgid "Example of changes:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1240 +msgid "" +"Only ``python3.8`` program is installed, ``python3.8m`` program is gone." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1241 +msgid "" +"Only ``python3.8-config`` script is installed, ``python3.8m-config`` script " +"is gone." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1243 +msgid "" +"The ``m`` flag has been removed from the suffix of dynamic library " +"filenames: extension modules in the standard library as well as those " +"produced and installed by third-party packages, like those downloaded from " +"PyPI. On Linux, for example, the Python 3.7 suffix ``.cpython-37m-x86_64-" +"linux-gnu.so`` became ``.cpython-38-x86_64-linux-gnu.so`` in Python 3.8." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1250 +msgid "" +"The header files have been reorganized to better separate the different " +"kinds of APIs:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1253 +msgid "``Include/*.h`` should be the portable public stable C API." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1254 +msgid "" +"``Include/cpython/*.h`` should be the unstable C API specific to CPython; " +"public API, with some private API prefixed by ``_Py`` or ``_PY``." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1256 +msgid "" +"``Include/internal/*.h`` is the private internal C API very specific to " +"CPython. This API comes with no backward compatibility warranty and should " +"not be used outside CPython. It is only exposed for very specific needs like " +"debuggers and profiles which has to access to CPython internals without " +"calling functions. This API is now installed by ``make install``." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1262 +msgid "" +"(Contributed by Victor Stinner in :issue:`35134` and :issue:`35081`, work " +"initiated by Eric Snow in Python 3.7)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1265 +msgid "" +"Some macros have been converted to static inline functions: parameter types " +"and return type are well defined, they don't have issues specific to macros, " +"variables have a local scopes. Examples:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1269 +msgid ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1270 +msgid ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1271 +msgid ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1272 +msgid "" +"Private functions: :c:func:`_PyObject_GC_TRACK`, :c:func:" +"`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1275 +msgid "(Contributed by Victor Stinner in :issue:`35059`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1277 +msgid "" +"The :c:func:`PyByteArray_Init` and :c:func:`PyByteArray_Fini` functions have " +"been removed. They did nothing since Python 2.7.4 and Python 3.2.0, were " +"excluded from the limited API (stable ABI), and were not documented. " +"(Contributed by Victor Stinner in :issue:`35713`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1282 +msgid "" +"The result of :c:func:`PyExceptionClass_Name` is now of type ``const char " +"*`` rather of ``char *``. (Contributed by Serhiy Storchaka in :issue:" +"`33818`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1286 +msgid "" +"The duality of ``Modules/Setup.dist`` and ``Modules/Setup`` has been " +"removed. Previously, when updating the CPython source tree, one had to " +"manually copy ``Modules/Setup.dist`` (inside the source tree) to ``Modules/" +"Setup`` (inside the build tree) in order to reflect any changes upstream. " +"This was of a small benefit to packagers at the expense of a frequent " +"annoyance to developers following CPython development, as forgetting to copy " +"the file could produce build failures." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1294 +msgid "" +"Now the build system always reads from ``Modules/Setup`` inside the source " +"tree. People who want to customize that file are encouraged to maintain " +"their changes in a git fork of CPython or as patch files, as they would do " +"for any other change to the source tree." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1299 +msgid "(Contributed by Antoine Pitrou in :issue:`32430`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1301 +msgid "" +"Functions that convert Python number to C integer like :c:func:" +"`PyLong_AsLong` and argument parsing functions like :c:func:" +"`PyArg_ParseTuple` with integer converting format units like ``'i'`` will " +"now use the :meth:`~object.__index__` special method instead of :meth:" +"`~object.__int__`, if available. The deprecation warning will be emitted " +"for objects with the ``__int__()`` method but without the ``__index__()`` " +"method (like :class:`~decimal.Decimal` and :class:`~fractions.Fraction`). :" +"c:func:`PyNumber_Check` will now return ``1`` for objects implementing " +"``__index__()``. :c:func:`PyNumber_Long`, :c:func:`PyNumber_Float` and :c:" +"func:`PyFloat_AsDouble` also now use the ``__index__()`` method if " +"available. (Contributed by Serhiy Storchaka in :issue:`36048` and :issue:" +"`20092`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1315 +msgid "" +"Heap-allocated type objects will now increase their reference count in :c:" +"func:`PyObject_Init` (and its parallel macro ``PyObject_INIT``) instead of " +"in :c:func:`PyType_GenericAlloc`. Types that modify instance allocation or " +"deallocation may need to be adjusted. (Contributed by Eddie Elizondo in :" +"issue:`35810`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1321 +msgid "" +"The new function :c:func:`PyCode_NewWithPosOnlyArgs` allows to create code " +"objects like :c:func:`PyCode_New`, but with an extra *posonlyargcount* " +"parameter for indicating the number of positional-only arguments. " +"(Contributed by Pablo Galindo in :issue:`37221`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1328 +msgid "Deprecated" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1330 +msgid "" +"The distutils ``bdist_wininst`` command is now deprecated, use " +"``bdist_wheel`` (wheel packages) instead. (Contributed by Victor Stinner in :" +"issue:`37481`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1334 +msgid "" +"Deprecated methods ``getchildren()`` and ``getiterator()`` in the :mod:`~xml." +"etree.ElementTree` module emit now a :exc:`DeprecationWarning` instead of :" +"exc:`PendingDeprecationWarning`. They will be removed in Python 3.9. " +"(Contributed by Serhiy Storchaka in :issue:`29209`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1340 +msgid "" +"Passing an object that is not an instance of :class:`concurrent.futures." +"ThreadPoolExecutor` to :meth:`asyncio.loop.set_default_executor()` is " +"deprecated and will be prohibited in Python 3.9. (Contributed by Elvis " +"Pranskevichus in :issue:`34075`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1346 +msgid "" +"The :meth:`__getitem__` methods of :class:`xml.dom.pulldom.DOMEventStream`, :" +"class:`wsgiref.util.FileWrapper` and :class:`fileinput.FileInput` have been " +"deprecated." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1350 +msgid "" +"Implementations of these methods have been ignoring their *index* parameter, " +"and returning the next item instead." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1353 +msgid "(Contributed by Berker Peksag in :issue:`9372`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1355 +msgid "" +"The :class:`typing.NamedTuple` class has deprecated the ``_field_types`` " +"attribute in favor of the ``__annotations__`` attribute which has the same " +"information. (Contributed by Raymond Hettinger in :issue:`36320`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1359 +msgid "" +":mod:`ast` classes ``Num``, ``Str``, ``Bytes``, ``NameConstant`` and " +"``Ellipsis`` are considered deprecated and will be removed in future Python " +"versions. :class:`~ast.Constant` should be used instead. (Contributed by " +"Serhiy Storchaka in :issue:`32892`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1364 +msgid "" +":class:`ast.NodeVisitor` methods ``visit_Num()``, ``visit_Str()``, " +"``visit_Bytes()``, ``visit_NameConstant()`` and ``visit_Ellipsis()`` are " +"deprecated now and will not be called in future Python versions. Add the :" +"meth:`~ast.NodeVisitor.visit_Constant` method to handle all constant nodes. " +"(Contributed by Serhiy Storchaka in :issue:`36917`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1371 +msgid "" +"The following functions and methods are deprecated in the :mod:`gettext` " +"module: :func:`~gettext.lgettext`, :func:`~gettext.ldgettext`, :func:" +"`~gettext.lngettext` and :func:`~gettext.ldngettext`. They return encoded " +"bytes, and it's possible that you will get unexpected Unicode-related " +"exceptions if there are encoding problems with the translated strings. It's " +"much better to use alternatives which return Unicode strings in Python 3. " +"These functions have been broken for a long time." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1379 +msgid "" +"Function :func:`~gettext.bind_textdomain_codeset`, methods :meth:`~gettext." +"NullTranslations.output_charset` and :meth:`~gettext.NullTranslations." +"set_output_charset`, and the *codeset* parameter of functions :func:" +"`~gettext.translation` and :func:`~gettext.install` are also deprecated, " +"since they are only used for for the ``l*gettext()`` functions." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1386 +msgid "(Contributed by Serhiy Storchaka in :issue:`33710`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1388 +msgid "" +"The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` " +"has been deprecated. (Contributed by Dong-hee Na in :issue:`35283`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1391 +msgid "" +"Many builtin and extension functions that take integer arguments will now " +"emit a deprecation warning for :class:`~decimal.Decimal`\\ s, :class:" +"`~fractions.Fraction`\\ s and any other objects that can be converted to " +"integers only with a loss (e.g. that have the :meth:`~object.__int__` method " +"but do not have the :meth:`~object.__index__` method). In future version " +"they will be errors. (Contributed by Serhiy Storchaka in :issue:`36048`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1399 +msgid "Deprecated passing the following arguments as keyword arguments:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1401 +msgid "" +"*func* in :func:`functools.partialmethod`, :func:`weakref.finalize`, :meth:" +"`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, :meth:`bdb.Bdb." +"runcall`, :meth:`trace.Trace.runfunc` and :func:`curses.wrapper`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1405 +msgid "*function* in :meth:`unittest.TestCase.addCleanup`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1406 +msgid "" +"*fn* in the :meth:`~concurrent.futures.Executor.submit` method of :class:" +"`concurrent.futures.ThreadPoolExecutor` and :class:`concurrent.futures." +"ProcessPoolExecutor`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1409 +msgid "" +"*callback* in :meth:`contextlib.ExitStack.callback`, :meth:`contextlib." +"AsyncExitStack.callback` and :meth:`contextlib.AsyncExitStack." +"push_async_callback`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1412 +msgid "" +"*c* and *typeid* in the :meth:`~multiprocessing.managers.Server.create` " +"method of :class:`multiprocessing.managers.Server` and :class:" +"`multiprocessing.managers.SharedMemoryServer`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1415 +msgid "*obj* in :func:`weakref.finalize`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1417 +msgid "" +"In future releases of Python they will be :ref:`positional-only `. (Contributed by Serhiy Storchaka in :issue:`36492`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1423 +msgid "API and Feature Removals" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1425 +msgid "The following features and APIs have been removed from Python 3.8:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1427 +msgid "" +"The :mod:`macpath` module, deprecated in Python 3.7, has been removed. " +"(Contributed by Victor Stinner in :issue:`35471`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1430 ../Doc/whatsnew/3.8.rst:1544 +msgid "" +"The function :func:`platform.popen` has been removed, it was deprecated " +"since Python 3.3: use :func:`os.popen` instead. (Contributed by Victor " +"Stinner in :issue:`35345`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1434 +msgid "" +"The function :func:`time.clock` has been removed, it was deprecated since " +"Python 3.3: use :func:`time.perf_counter` or :func:`time.process_time` " +"instead, depending on your requirements, to have a well defined behavior. " +"(Contributed by Matthias Bussonnier in :issue:`36895`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1439 +msgid "" +"The ``pyvenv`` script has been removed in favor of ``python3.8 -m venv`` to " +"help eliminate confusion as to what Python interpreter the ``pyvenv`` script " +"is tied to. (Contributed by Brett Cannon in :issue:`25427`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1443 +msgid "" +"``parse_qs``, ``parse_qsl``, and ``escape`` are removed from :mod:`cgi` " +"module. They are deprecated from Python 3.2 or older." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1446 +msgid "" +"``filemode`` function is removed from :mod:`tarfile` module. It is not " +"documented and deprecated since Python 3.3." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1449 +msgid "" +"The :class:`~xml.etree.ElementTree.XMLParser` constructor no longer accepts " +"the *html* argument. It never had effect and was deprecated in Python 3.4. " +"All other parameters are now :ref:`keyword-only `. " +"(Contributed by Serhiy Storchaka in :issue:`29209`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1454 +msgid "" +"Removed the ``doctype()`` method of :class:`~xml.etree.ElementTree." +"XMLParser`. (Contributed by Serhiy Storchaka in :issue:`29209`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1457 +msgid "" +"\"unicode_internal\" codec is removed. (Contributed by Inada Naoki in :issue:" +"`36297`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1460 +msgid "" +"The ``Cache`` and ``Statement`` objects of the :mod:`sqlite3` module are not " +"exposed to the user. (Contributed by Aviv Palivoda in :issue:`30262`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1464 +msgid "" +"The ``bufsize`` keyword argument of :func:`fileinput.input` and :func:" +"`fileinput.FileInput` which was ignored and deprecated since Python 3.6 has " +"been removed. :issue:`36952` (Contributed by Matthias Bussonnier)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1468 +msgid "" +"The functions :func:`sys.set_coroutine_wrapper` and :func:`sys." +"get_coroutine_wrapper` deprecated in Python 3.7 have been removed; :issue:" +"`36933` (Contributed by Matthias Bussonnier)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1474 +msgid "Porting to Python 3.8" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1476 +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1481 +msgid "Changes in Python behavior" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1483 +msgid "" +"Yield expressions (both ``yield`` and ``yield from`` clauses) are now " +"disallowed in comprehensions and generator expressions (aside from the " +"iterable expression in the leftmost :keyword:`!for` clause). (Contributed by " +"Serhiy Storchaka in :issue:`10544`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1488 +msgid "" +"The compiler now produces a :exc:`SyntaxWarning` when identity checks " +"(``is`` and ``is not``) are used with certain types of literals (e.g. " +"strings, ints). These can often work by accident in CPython, but are not " +"guaranteed by the language spec. The warning advises users to use equality " +"tests (``==`` and ``!=``) instead. (Contributed by Serhiy Storchaka in :" +"issue:`34850`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1495 +msgid "" +"The CPython interpreter can swallow exceptions in some circumstances. In " +"Python 3.8 this happens in less cases. In particular, exceptions raised " +"when getting the attribute from the type dictionary are no longer ignored. " +"(Contributed by Serhiy Storchaka in :issue:`35459`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1500 +msgid "" +"Removed ``__str__`` implementations from builtin types :class:`bool`, :class:" +"`int`, :class:`float`, :class:`complex` and few classes from the standard " +"library. They now inherit ``__str__()`` from :class:`object`. As result, " +"defining the ``__repr__()`` method in the subclass of these classes will " +"affect they string representation. (Contributed by Serhiy Storchaka in :" +"issue:`36793`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1507 +msgid "" +"On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " +"is always ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since older " +"Python versions include the version number, it is recommended to always use " +"the ``sys.platform.startswith('aix')``. (Contributed by M. Felt in :issue:" +"`36588`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1513 +msgid "" +":c:func:`PyEval_AcquireLock` and :c:func:`PyEval_AcquireThread` now " +"terminate the current thread if called while the interpreter is finalizing, " +"making them consistent with :c:func:`PyEval_RestoreThread`, :c:func:" +"`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`. If this behaviour " +"is not desired, guard the call by checking :c:func:`_Py_IsFinalizing` or :c:" +"func:`sys.is_finalizing`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1521 +msgid "Changes in the Python API" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1523 +msgid "" +"The :func:`os.getcwdb` function now uses the UTF-8 encoding on Windows, " +"rather than the ANSI code page: see :pep:`529` for the rationale. The " +"function is no longer deprecated on Windows. (Contributed by Victor Stinner " +"in :issue:`37412`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1528 +msgid "" +":class:`subprocess.Popen` can now use :func:`os.posix_spawn` in some cases " +"for better performance. On Windows Subsystem for Linux and QEMU User " +"Emulation, Popen constructor using :func:`os.posix_spawn` no longer raise an " +"exception on errors like missing program, but the child process fails with a " +"non-zero :attr:`~Popen.returncode`. (Contributed by Joannah Nanjekye and " +"Victor Stinner in :issue:`35537`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1535 +msgid "" +"The *preexec_fn* argument of * :class:`subprocess.Popen` is no longer " +"compatible with subinterpreters. The use of the parameter in a " +"subinterpreter now raises :exc:`RuntimeError`. (Contributed by Eric Snow in :" +"issue:`34651`, modified by Christian Heimes in :issue:`37951`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1541 +msgid "" +"The :meth:`imap.IMAP4.logout` method no longer ignores silently arbitrary " +"exceptions." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1548 +msgid "" +"The :func:`statistics.mode` function no longer raises an exception when " +"given multimodal data. Instead, it returns the first mode encountered in " +"the input data. (Contributed by Raymond Hettinger in :issue:`35892`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1553 +msgid "" +"The :meth:`~tkinter.ttk.Treeview.selection` method of the :class:`tkinter." +"ttk.Treeview` class no longer takes arguments. Using it with arguments for " +"changing the selection was deprecated in Python 3.6. Use specialized " +"methods like :meth:`~tkinter.ttk.Treeview.selection_set` for changing the " +"selection. (Contributed by Serhiy Storchaka in :issue:`31508`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1559 +msgid "" +"The :meth:`writexml`, :meth:`toxml` and :meth:`toprettyxml` methods of the :" +"mod:`xml.dom.minidom` module, and :mod:`xml.etree` now preserve the " +"attribute order specified by the user. (Contributed by Diego Rojas and " +"Raymond Hettinger in :issue:`34160`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1564 +msgid "" +"A :mod:`dbm.dumb` database opened with flags ``'r'`` is now read-only. :func:" +"`dbm.dumb.open` with flags ``'r'`` and ``'w'`` no longer creates a database " +"if it does not exist. (Contributed by Serhiy Storchaka in :issue:`32749`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1569 +msgid "" +"The ``doctype()`` method defined in a subclass of :class:`~xml.etree." +"ElementTree.XMLParser` will no longer be called and will cause emitting a :" +"exc:`RuntimeWarning` instead of a :exc:`DeprecationWarning`. Define the :" +"meth:`doctype() ` method on a " +"target for handling an XML doctype declaration. (Contributed by Serhiy " +"Storchaka in :issue:`29209`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1576 +msgid "" +"A :exc:`RuntimeError` is now raised when the custom metaclass doesn't " +"provide the ``__classcell__`` entry in the namespace passed to ``type." +"__new__``. A :exc:`DeprecationWarning` was emitted in Python 3.6--3.7. " +"(Contributed by Serhiy Storchaka in :issue:`23722`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1581 +msgid "" +"The :class:`cProfile.Profile` class can now be used as a context manager. " +"(Contributed by Scott Sanderson in :issue:`29235`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1584 +msgid "" +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" +"`shutil.copytree` and :func:`shutil.move` use platform-specific \"fast-copy" +"\" syscalls (see :ref:`shutil-platform-dependent-efficient-copy-operations` " +"section)." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1589 +msgid "" +":func:`shutil.copyfile` default buffer size on Windows was changed from 16 " +"KiB to 1 MiB." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1592 +msgid "" +"The ``PyGC_Head`` struct has changed completely. All code that touched the " +"struct member should be rewritten. (See :issue:`33597`)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1595 +msgid "" +"The ``PyInterpreterState`` struct has been moved into the \"internal\" " +"header files (specifically Include/internal/pycore_pystate.h). An opaque " +"``PyInterpreterState`` is still available as part of the public API (and " +"stable ABI). The docs indicate that none of the struct's fields are public, " +"so we hope no one has been using them. However, if you do rely on one or " +"more of those private fields and have no alternative then please open a BPO " +"issue. We'll work on helping you adjust (possibly including adding accessor " +"functions to the public API). (See :issue:`35886`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1605 +msgid "" +"Asyncio tasks can now be named, either by passing the ``name`` keyword " +"argument to :func:`asyncio.create_task` or the :meth:`~asyncio.loop." +"create_task` event loop method, or by calling the :meth:`~asyncio.Task." +"set_name` method on the task object. The task name is visible in the " +"``repr()`` output of :class:`asyncio.Task` and can also be retrieved using " +"the :meth:`~asyncio.Task.get_name` method." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1612 +msgid "" +"The :meth:`mmap.flush() ` method now returns ``None`` on " +"success and raises an exception on error under all platforms. Previously, " +"its behavior was platform-depended: a nonzero value was returned on success; " +"zero was returned on error under Windows. A zero value was returned on " +"success; an exception was raised on error under Unix. (Contributed by Berker " +"Peksag in :issue:`2122`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1619 +msgid "" +":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external " +"entities by default. (Contributed by Christian Heimes in :issue:`17239`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1623 +msgid "" +"Deleting a key from a read-only :mod:`dbm` database (:mod:`dbm.dumb`, :mod:" +"`dbm.gnu` or :mod:`dbm.ndbm`) raises :attr:`error` (:exc:`dbm.dumb.error`, :" +"exc:`dbm.gnu.error` or :exc:`dbm.ndbm.error`) instead of :exc:`KeyError`. " +"(Contributed by Xiang Zhang in :issue:`33106`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1634 +msgid "" +"DLL dependencies for extension modules and DLLs loaded with :mod:`ctypes` on " +"Windows are now resolved more securely. Only the system paths, the directory " +"containing the DLL or PYD file, and directories added with :func:`~os." +"add_dll_directory` are searched for load-time dependencies. Specifically, :" +"envvar:`PATH` and the current working directory are no longer used, and " +"modifications to these will no longer have any effect on normal DLL " +"resolution. If your application relies on these mechanisms, you should check " +"for :func:`~os.add_dll_directory` and if it exists, use it to add your DLLs " +"directory while loading your library. Note that Windows 7 users will need to " +"ensure that Windows Update KB2533625 has been installed (this is also " +"verified by the installer). (See :issue:`36085`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1647 +msgid "" +"The header files and functions related to pgen have been removed after its " +"replacement by a pure Python implementation. (Contributed by Pablo Galindo " +"in :issue:`36623`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1651 +msgid "" +":class:`types.CodeType` has a new parameter in the second position of the " +"constructor (*posonlyargcount*) to support positional-only arguments defined " +"in :pep:`570`. The first argument (*argcount*) now represents the total " +"number of positional arguments (including positional-only arguments). A new " +"``replace()`` method of :class:`types.CodeType` can be used to make the code " +"future-proof." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1660 +msgid "Changes in the C API" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1662 +msgid "" +"The :c:type:`PyCompilerFlags` structure gets a new *cf_feature_version* " +"field. It should be initialized to ``PY_MINOR_VERSION``. The field is " +"ignored by default, it is used if and only if ``PyCF_ONLY_AST`` flag is set " +"in *cf_flags*." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1667 +msgid "" +"The :c:func:`PyEval_ReInitThreads` function has been removed from the C API. " +"It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child` " +"instead. (Contributed by Victor Stinner in :issue:`36728`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1672 +msgid "" +"On Unix, C extensions are no longer linked to libpython except on Android " +"and Cygwin. When Python is embedded, ``libpython`` must not be loaded with " +"``RTLD_LOCAL``, but ``RTLD_GLOBAL`` instead. Previously, using " +"``RTLD_LOCAL``, it was already not possible to load C extensions which were " +"not linked to ``libpython``, like C extensions of the standard library built " +"by the ``*shared*`` section of ``Modules/Setup``. (Contributed by Victor " +"Stinner in :issue:`21536`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1680 +msgid "" +"Use of ``#`` variants of formats in parsing or building value (e.g. :c:func:" +"`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, :c:func:" +"`PyObject_CallFunction`, etc.) without ``PY_SSIZE_T_CLEAN`` defined raises " +"``DeprecationWarning`` now. It will be removed in 3.10 or 4.0. Read :ref:" +"`arg-parsing` for detail. (Contributed by Inada Naoki in :issue:`36381`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1686 +msgid "" +"Instances of heap-allocated types (such as those created with :c:func:" +"`PyType_FromSpec`) hold a reference to their type object. Increasing the " +"reference count of these type objects has been moved from :c:func:" +"`PyType_GenericAlloc` to the more low-level functions, :c:func:" +"`PyObject_Init` and :c:func:`PyObject_INIT`. This makes types created " +"through :c:func:`PyType_FromSpec` behave like other classes in managed code." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1694 +msgid "Statically allocated types are not affected." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1696 +msgid "" +"For the vast majority of cases, there should be no side effect. However, " +"types that manually increase the reference count after allocating an " +"instance (perhaps to work around the bug) may now become immortal. To avoid " +"this, these classes need to call Py_DECREF on the type object during " +"instance deallocation." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1702 +msgid "" +"To correctly port these types into 3.8, please apply the following changes:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1705 +msgid "" +"Remove :c:macro:`Py_INCREF` on the type object after allocating an instance " +"- if any. This may happen after calling :c:func:`PyObject_New`, :c:func:" +"`PyObject_NewVar`, :c:func:`PyObject_GC_New`, :c:func:`PyObject_GC_NewVar`, " +"or any other custom allocator that uses :c:func:`PyObject_Init` or :c:func:" +"`PyObject_INIT`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1712 ../Doc/whatsnew/3.8.rst:1729 +#: ../Doc/whatsnew/3.8.rst:1746 +msgid "Example::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1726 +msgid "" +"Ensure that all custom ``tp_dealloc`` functions of heap-allocated types " +"decrease the type's reference count." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1741 +msgid "(Contributed by Eddie Elizondo in :issue:`35810`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1743 +msgid "" +"The :c:macro:`Py_DEPRECATED()` macro has been implemented for MSVC. The " +"macro now must be placed before the symbol name." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1750 +msgid "(Contributed by Zackery Spytz in :issue:`33407`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1752 +msgid "" +"The interpreter does not pretend to support binary compatibility of " +"extension types across feature releases, anymore. A :c:type:`PyTypeObject` " +"exported by a third-party extension module is supposed to have all the slots " +"expected in the current Python version, including :c:member:`~PyTypeObject." +"tp_finalize` (:const:`Py_TPFLAGS_HAVE_FINALIZE` is not checked anymore " +"before reading :c:member:`~PyTypeObject.tp_finalize`)." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1759 +msgid "(Contributed by Antoine Pitrou in :issue:`32388`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1761 +msgid "" +"The :c:func:`PyCode_New` has a new parameter in the second position " +"(*posonlyargcount*) to support :pep:`570`, indicating the number of " +"positional-only arguments." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1764 +msgid "" +"The functions :c:func:`PyNode_AddChild` and :c:func:`PyParser_AddToken` now " +"accept two additional ``int`` arguments *end_lineno* and *end_col_offset*." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1769 +msgid "" +"The :file:`libpython38.a` file to allow MinGW tools to link directly " +"against :file:`python38.dll` is no longer included in the regular Windows " +"distribution. If you require this file, it may be generated with the " +"``gendef`` and ``dlltool`` tools, which are part of the MinGW binutils " +"package::" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1777 +msgid "" +"The location of an installed :file:`pythonXY.dll` will depend on the " +"installation options and the version and language of Windows. See :ref:" +"`using-on-windows` for more information. The resulting library should be " +"placed in the same directory as :file:`pythonXY.lib`, which is generally " +"the :file:`libs` directory under your Python installation." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1787 +msgid "CPython bytecode changes" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1789 +msgid "" +"The interpreter loop has been simplified by moving the logic of unrolling " +"the stack of blocks into the compiler. The compiler emits now explicit " +"instructions for adjusting the stack of values and calling the cleaning-up " +"code for :keyword:`break`, :keyword:`continue` and :keyword:`return`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1795 +msgid "" +"Removed opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`, :opcode:" +"`SETUP_LOOP` and :opcode:`SETUP_EXCEPT`. Added new opcodes :opcode:" +"`ROT_FOUR`, :opcode:`BEGIN_FINALLY`, :opcode:`CALL_FINALLY` and :opcode:" +"`POP_FINALLY`. Changed the behavior of :opcode:`END_FINALLY` and :opcode:" +"`WITH_CLEANUP_START`." +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1801 +msgid "" +"(Contributed by Mark Shannon, Antoine Pitrou and Serhiy Storchaka in :issue:" +"`17611`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1804 +msgid "" +"Added new opcode :opcode:`END_ASYNC_FOR` for handling exceptions raised when " +"awaiting a next item in an :keyword:`async for` loop. (Contributed by Serhiy " +"Storchaka in :issue:`33041`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1808 +msgid "" +"The :opcode:`MAP_ADD` now expects the value as the first element in the " +"stack and the key as the second element. This change was made so the key is " +"always evaluated before the value in dictionary comprehensions, as proposed " +"by :pep:`572`. (Contributed by Jörn Heissler in :issue:`35224`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1815 +msgid "Demos and Tools" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:1817 +msgid "" +"Added a benchmark script for timing various ways to access variables: " +"``Tools/scripts/var_access_benchmark.py``. (Contributed by Raymond Hettinger " +"in :issue:`35884`.)" +msgstr ""