|
| 1 | +# SOME DESCRIPTIVE TITLE. |
| 2 | +# Copyright (C) 2001-2024, Python Software Foundation |
| 3 | +# This file is distributed under the same license as the Python package. |
| 4 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
| 5 | +# |
| 6 | +# Translators: |
| 7 | +# Rafael Fontenelle <rffontenelle@gmail.com>, 2024 |
| 8 | +# |
| 9 | +#, fuzzy |
| 10 | +msgid "" |
| 11 | +msgstr "" |
| 12 | +"Project-Id-Version: Python 3.11\n" |
| 13 | +"Report-Msgid-Bugs-To: \n" |
| 14 | +"POT-Creation-Date: 2024-08-30 15:36+0000\n" |
| 15 | +"PO-Revision-Date: 2023-05-24 02:09+0000\n" |
| 16 | +"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>, 2024\n" |
| 17 | +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" |
| 18 | +"MIME-Version: 1.0\n" |
| 19 | +"Content-Type: text/plain; charset=UTF-8\n" |
| 20 | +"Content-Transfer-Encoding: 8bit\n" |
| 21 | +"Language: pl\n" |
| 22 | +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " |
| 23 | +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " |
| 24 | +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" |
| 25 | + |
| 26 | +msgid "C API Stability" |
| 27 | +msgstr "" |
| 28 | + |
| 29 | +msgid "" |
| 30 | +"Python's C API is covered by the Backwards Compatibility Policy, :pep:`387`. " |
| 31 | +"While the C API will change with every minor release (e.g. from 3.9 to " |
| 32 | +"3.10), most changes will be source-compatible, typically by only adding new " |
| 33 | +"API. Changing existing API or removing API is only done after a deprecation " |
| 34 | +"period or to fix serious issues." |
| 35 | +msgstr "" |
| 36 | + |
| 37 | +msgid "" |
| 38 | +"CPython's Application Binary Interface (ABI) is forward- and backwards-" |
| 39 | +"compatible across a minor release (if these are compiled the same way; see :" |
| 40 | +"ref:`stable-abi-platform` below). So, code compiled for Python 3.10.0 will " |
| 41 | +"work on 3.10.8 and vice versa, but will need to be compiled separately for " |
| 42 | +"3.9.x and 3.11.x." |
| 43 | +msgstr "" |
| 44 | + |
| 45 | +msgid "" |
| 46 | +"Names prefixed by an underscore, such as ``_Py_InternalState``, are private " |
| 47 | +"API that can change without notice even in patch releases." |
| 48 | +msgstr "" |
| 49 | + |
| 50 | +msgid "Stable Application Binary Interface" |
| 51 | +msgstr "" |
| 52 | + |
| 53 | +msgid "" |
| 54 | +"For simplicity, this document talks about *extensions*, but the Limited API " |
| 55 | +"and Stable ABI work the same way for all uses of the API – for example, " |
| 56 | +"embedding Python." |
| 57 | +msgstr "" |
| 58 | + |
| 59 | +msgid "Limited C API" |
| 60 | +msgstr "" |
| 61 | + |
| 62 | +msgid "" |
| 63 | +"Python 3.2 introduced the *Limited API*, a subset of Python's C API. " |
| 64 | +"Extensions that only use the Limited API can be compiled once and work with " |
| 65 | +"multiple versions of Python. Contents of the Limited API are :ref:`listed " |
| 66 | +"below <limited-api-list>`." |
| 67 | +msgstr "" |
| 68 | + |
| 69 | +msgid "" |
| 70 | +"Define this macro before including ``Python.h`` to opt in to only use the " |
| 71 | +"Limited API, and to select the Limited API version." |
| 72 | +msgstr "" |
| 73 | + |
| 74 | +msgid "" |
| 75 | +"Define ``Py_LIMITED_API`` to the value of :c:macro:`PY_VERSION_HEX` " |
| 76 | +"corresponding to the lowest Python version your extension supports. The " |
| 77 | +"extension will work without recompilation with all Python 3 releases from " |
| 78 | +"the specified one onward, and can use Limited API introduced up to that " |
| 79 | +"version." |
| 80 | +msgstr "" |
| 81 | + |
| 82 | +msgid "" |
| 83 | +"Rather than using the ``PY_VERSION_HEX`` macro directly, hardcode a minimum " |
| 84 | +"minor version (e.g. ``0x030A0000`` for Python 3.10) for stability when " |
| 85 | +"compiling with future Python versions." |
| 86 | +msgstr "" |
| 87 | + |
| 88 | +msgid "" |
| 89 | +"You can also define ``Py_LIMITED_API`` to ``3``. This works the same as " |
| 90 | +"``0x03020000`` (Python 3.2, the version that introduced Limited API)." |
| 91 | +msgstr "" |
| 92 | + |
| 93 | +msgid "Stable ABI" |
| 94 | +msgstr "stabilnego ABI" |
| 95 | + |
| 96 | +msgid "" |
| 97 | +"To enable this, Python provides a *Stable ABI*: a set of symbols that will " |
| 98 | +"remain compatible across Python 3.x versions." |
| 99 | +msgstr "" |
| 100 | + |
| 101 | +msgid "" |
| 102 | +"The Stable ABI contains symbols exposed in the :ref:`Limited API <limited-c-" |
| 103 | +"api>`, but also other ones – for example, functions necessary to support " |
| 104 | +"older versions of the Limited API." |
| 105 | +msgstr "" |
| 106 | + |
| 107 | +msgid "" |
| 108 | +"On Windows, extensions that use the Stable ABI should be linked against " |
| 109 | +"``python3.dll`` rather than a version-specific library such as ``python39." |
| 110 | +"dll``." |
| 111 | +msgstr "" |
| 112 | + |
| 113 | +msgid "" |
| 114 | +"On some platforms, Python will look for and load shared library files named " |
| 115 | +"with the ``abi3`` tag (e.g. ``mymodule.abi3.so``). It does not check if such " |
| 116 | +"extensions conform to a Stable ABI. The user (or their packaging tools) need " |
| 117 | +"to ensure that, for example, extensions built with the 3.10+ Limited API are " |
| 118 | +"not installed for lower versions of Python." |
| 119 | +msgstr "" |
| 120 | + |
| 121 | +msgid "" |
| 122 | +"All functions in the Stable ABI are present as functions in Python's shared " |
| 123 | +"library, not solely as macros. This makes them usable from languages that " |
| 124 | +"don't use the C preprocessor." |
| 125 | +msgstr "" |
| 126 | + |
| 127 | +msgid "Limited API Scope and Performance" |
| 128 | +msgstr "" |
| 129 | + |
| 130 | +msgid "" |
| 131 | +"The goal for the Limited API is to allow everything that is possible with " |
| 132 | +"the full C API, but possibly with a performance penalty." |
| 133 | +msgstr "" |
| 134 | + |
| 135 | +msgid "" |
| 136 | +"For example, while :c:func:`PyList_GetItem` is available, its “unsafe” macro " |
| 137 | +"variant :c:func:`PyList_GET_ITEM` is not. The macro can be faster because it " |
| 138 | +"can rely on version-specific implementation details of the list object." |
| 139 | +msgstr "" |
| 140 | + |
| 141 | +msgid "" |
| 142 | +"Without ``Py_LIMITED_API`` defined, some C API functions are inlined or " |
| 143 | +"replaced by macros. Defining ``Py_LIMITED_API`` disables this inlining, " |
| 144 | +"allowing stability as Python's data structures are improved, but possibly " |
| 145 | +"reducing performance." |
| 146 | +msgstr "" |
| 147 | + |
| 148 | +msgid "" |
| 149 | +"By leaving out the ``Py_LIMITED_API`` definition, it is possible to compile " |
| 150 | +"a Limited API extension with a version-specific ABI. This can improve " |
| 151 | +"performance for that Python version, but will limit compatibility. Compiling " |
| 152 | +"with ``Py_LIMITED_API`` will then yield an extension that can be distributed " |
| 153 | +"where a version-specific one is not available – for example, for prereleases " |
| 154 | +"of an upcoming Python version." |
| 155 | +msgstr "" |
| 156 | + |
| 157 | +msgid "Limited API Caveats" |
| 158 | +msgstr "" |
| 159 | + |
| 160 | +msgid "" |
| 161 | +"Note that compiling with ``Py_LIMITED_API`` is *not* a complete guarantee " |
| 162 | +"that code conforms to the :ref:`Limited API <limited-c-api>` or the :ref:" |
| 163 | +"`Stable ABI <stable-abi>`. ``Py_LIMITED_API`` only covers definitions, but " |
| 164 | +"an API also includes other issues, such as expected semantics." |
| 165 | +msgstr "" |
| 166 | + |
| 167 | +msgid "" |
| 168 | +"One issue that ``Py_LIMITED_API`` does not guard against is calling a " |
| 169 | +"function with arguments that are invalid in a lower Python version. For " |
| 170 | +"example, consider a function that starts accepting ``NULL`` for an argument. " |
| 171 | +"In Python 3.9, ``NULL`` now selects a default behavior, but in Python 3.8, " |
| 172 | +"the argument will be used directly, causing a ``NULL`` dereference and " |
| 173 | +"crash. A similar argument works for fields of structs." |
| 174 | +msgstr "" |
| 175 | + |
| 176 | +msgid "" |
| 177 | +"Another issue is that some struct fields are currently not hidden when " |
| 178 | +"``Py_LIMITED_API`` is defined, even though they're part of the Limited API." |
| 179 | +msgstr "" |
| 180 | + |
| 181 | +msgid "" |
| 182 | +"For these reasons, we recommend testing an extension with *all* minor Python " |
| 183 | +"versions it supports, and preferably to build with the *lowest* such version." |
| 184 | +msgstr "" |
| 185 | + |
| 186 | +msgid "" |
| 187 | +"We also recommend reviewing documentation of all used API to check if it is " |
| 188 | +"explicitly part of the Limited API. Even with ``Py_LIMITED_API`` defined, a " |
| 189 | +"few private declarations are exposed for technical reasons (or even " |
| 190 | +"unintentionally, as bugs)." |
| 191 | +msgstr "" |
| 192 | + |
| 193 | +msgid "" |
| 194 | +"Also note that the Limited API is not necessarily stable: compiling with " |
| 195 | +"``Py_LIMITED_API`` with Python 3.8 means that the extension will run with " |
| 196 | +"Python 3.12, but it will not necessarily *compile* with Python 3.12. In " |
| 197 | +"particular, parts of the Limited API may be deprecated and removed, provided " |
| 198 | +"that the Stable ABI stays stable." |
| 199 | +msgstr "" |
| 200 | + |
| 201 | +msgid "Platform Considerations" |
| 202 | +msgstr "" |
| 203 | + |
| 204 | +msgid "" |
| 205 | +"ABI stability depends not only on Python, but also on the compiler used, " |
| 206 | +"lower-level libraries and compiler options. For the purposes of the :ref:" |
| 207 | +"`Stable ABI <stable-abi>`, these details define a “platform”. They usually " |
| 208 | +"depend on the OS type and processor architecture" |
| 209 | +msgstr "" |
| 210 | + |
| 211 | +msgid "" |
| 212 | +"It is the responsibility of each particular distributor of Python to ensure " |
| 213 | +"that all Python versions on a particular platform are built in a way that " |
| 214 | +"does not break the Stable ABI. This is the case with Windows and macOS " |
| 215 | +"releases from ``python.org`` and many third-party distributors." |
| 216 | +msgstr "" |
| 217 | + |
| 218 | +msgid "Contents of Limited API" |
| 219 | +msgstr "" |
| 220 | + |
| 221 | +msgid "" |
| 222 | +"Currently, the :ref:`Limited API <limited-c-api>` includes the following " |
| 223 | +"items:" |
| 224 | +msgstr "" |
0 commit comments