# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2023-02-20 12:47+0100\n"
"Last-Translator: Victor Stinner <vstinner@python.org>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: c-api/unicode.rst:6
msgid "Unicode Objects and Codecs"
msgstr "Objets Unicode et Codecs"

#: c-api/unicode.rst:12
msgid "Unicode Objects"
msgstr "Objets Unicode"

#: c-api/unicode.rst:14
msgid ""
"Since the implementation of :pep:`393` in Python 3.3, Unicode objects "
"internally use a variety of representations, in order to allow handling the "
"complete range of Unicode characters while staying memory efficient.  There "
"are special cases for strings where all code points are below 128, 256, or "
"65536; otherwise, code points must be below 1114112 (which is the full "
"Unicode range)."
msgstr ""
"Depuis l'implémentation de :pep:`393` dans Python 3.3, les objets Unicode "
"utilisent une variété de représentations internes, pour permettre de gérer "
"l'intervalle complet des caractères Unicode en restant efficace en termes de "
"mémoire. Il y a des cas spéciaux pour les chaînes où tous les points de code "
"sont inférieurs à 128, 256, ou 65536 ; sinon, les points de code doivent "
"être inférieurs à 1114112 (qui est l'intervalle Unicode complet)."

#: c-api/unicode.rst:20
msgid ""
":c:expr:`Py_UNICODE*` and UTF-8 representations are created on demand and "
"cached in the Unicode object.  The :c:expr:`Py_UNICODE*` representation is "
"deprecated and inefficient."
msgstr ""
"Des représentations :c:expr:`Py_UNICODE*` et UTF-8 sont créées à la demande "
"et mises en cache dans l'objet Unicode.  La représentation :c:expr:"
"`Py_UNICODE*` est dépréciée et inefficace."

#: c-api/unicode.rst:24
msgid ""
"Due to the transition between the old APIs and the new APIs, Unicode objects "
"can internally be in two states depending on how they were created:"
msgstr ""
"En raison de la transition des anciennes APIs vers les nouvelles APIs, les "
"objets Unicode peuvent être dans deux états internes selon comment ils ont "
"été créés :"

#: c-api/unicode.rst:27
msgid ""
"\"canonical\" Unicode objects are all objects created by a non-deprecated "
"Unicode API.  They use the most efficient representation allowed by the "
"implementation."
msgstr ""
"Les objets Unicode « canoniques » sont tous les objets créés par une API "
"Unicode non-dépréciée.  Ils utilisent la représentation la plus efficace "
"permise par l'implémentation."

#: c-api/unicode.rst:31
msgid ""
"\"legacy\" Unicode objects have been created through one of the deprecated "
"APIs (typically :c:func:`PyUnicode_FromUnicode`) and only bear the :c:expr:"
"`Py_UNICODE*` representation; you will have to call :c:func:"
"`PyUnicode_READY` on them before calling any other API."
msgstr ""
"Les objets Unicode « historiques » ont été créés via une des APIs dépréciées "
"(typiquement :c:func:`PyUnicode_FromUnicode`) et supportent uniquement la "
"représentation :c:expr:`Py_UNICODE*`; vous devrez appeler :c:func:"
"`PyUnicode_READY` sur eux avant d'appeler n'importe quelle autre API."

#: c-api/unicode.rst:37
msgid ""
"The \"legacy\" Unicode object will be removed in Python 3.12 with deprecated "
"APIs. All Unicode objects will be \"canonical\" since then. See :pep:`623` "
"for more information."
msgstr ""
"Les objets Unicode « historiques » vont être supprimés de Python 3.12 avec "
"les APIs dépréciées. Tous les objets Unicode vont être « canoniques » à "
"partir de là. Voir :pep:`623` pour plus d'information."

#: c-api/unicode.rst:43
msgid "Unicode Type"
msgstr "Type Unicode"

#: c-api/unicode.rst:45
msgid ""
"These are the basic Unicode object types used for the Unicode implementation "
"in Python:"
msgstr ""
"Voici les types d'objets Unicode utilisés pour l'implémentation Unicode en "
"Python :"

#: c-api/unicode.rst:52
msgid ""
"These types are typedefs for unsigned integer types wide enough to contain "
"characters of 32 bits, 16 bits and 8 bits, respectively.  When dealing with "
"single Unicode characters, use :c:type:`Py_UCS4`."
msgstr ""
"Voici les *typedefs* pour les types entiers non signés suffisamment large "
"pour contenir des caractères de 32 bits, 16 bits et 8 bits, respectivement. "
"Pour traiter des caractères uniques, utilisez :c:type:`Py_UCS4`."

#: c-api/unicode.rst:61
msgid ""
"This is a typedef of :c:expr:`wchar_t`, which is a 16-bit type or 32-bit "
"type depending on the platform."
msgstr ""
"Ceci est un *typedef* de :c:expr:`wchar_t`, qui est un type 16-bit ou un "
"type 32-bit selon la plateforme."

#: c-api/unicode.rst:64
msgid ""
"In previous versions, this was a 16-bit type or a 32-bit type depending on "
"whether you selected a \"narrow\" or \"wide\" Unicode version of Python at "
"build time."
msgstr ""
"Dans les versions précédentes, ceci était un type 16-bit ou un type 32-bit "
"selon que vous choisissiez une version Unicode *narrow* ou *wide* de Python "
"à la compilation."

#: c-api/unicode.rst:74
msgid ""
"These subtypes of :c:type:`PyObject` represent a Python Unicode object.  In "
"almost all cases, they shouldn't be used directly, since all API functions "
"that deal with Unicode objects take and return :c:type:`PyObject` pointers."
msgstr ""

#: c-api/unicode.rst:83
msgid ""
"This instance of :c:type:`PyTypeObject` represents the Python Unicode type.  "
"It is exposed to Python code as ``str``."
msgstr ""

#: c-api/unicode.rst:87
msgid ""
"The following APIs are C macros and static inlined functions for fast checks "
"and access to internal read-only data of Unicode objects:"
msgstr ""

#: c-api/unicode.rst:92
msgid ""
"Return true if the object *o* is a Unicode object or an instance of a "
"Unicode subtype.  This function always succeeds."
msgstr ""

#: c-api/unicode.rst:98
msgid ""
"Return true if the object *o* is a Unicode object, but not an instance of a "
"subtype.  This function always succeeds."
msgstr ""

#: c-api/unicode.rst:104
msgid ""
"Ensure the string object *o* is in the \"canonical\" representation.  This "
"is required before using any of the access macros described below."
msgstr ""

#: c-api/unicode.rst:109
msgid ""
"Returns ``0`` on success and ``-1`` with an exception set on failure, which "
"in particular happens if memory allocation fails."
msgstr ""

#: c-api/unicode.rst:115
msgid "This API will be removed with :c:func:`PyUnicode_FromUnicode`."
msgstr ""

#: c-api/unicode.rst:120
msgid ""
"Return the length of the Unicode string, in code points.  *o* has to be a "
"Unicode object in the \"canonical\" representation (not checked)."
msgstr ""

#: c-api/unicode.rst:130
msgid ""
"Return a pointer to the canonical representation cast to UCS1, UCS2 or UCS4 "
"integer types for direct character access.  No checks are performed if the "
"canonical representation has the correct character size; use :c:func:"
"`PyUnicode_KIND` to select the right macro.  Make sure :c:func:"
"`PyUnicode_READY` has been called before accessing this."
msgstr ""

#: c-api/unicode.rst:144
msgid "Return values of the :c:func:`PyUnicode_KIND` macro."
msgstr ""

#: c-api/unicode.rst:149
msgid "``PyUnicode_WCHAR_KIND`` is deprecated."
msgstr ""

#: c-api/unicode.rst:154
msgid ""
"Return one of the PyUnicode kind constants (see above) that indicate how "
"many bytes per character this Unicode object uses to store its data.  *o* "
"has to be a Unicode object in the \"canonical\" representation (not checked)."
msgstr ""

#: c-api/unicode.rst:165
msgid ""
"Return a void pointer to the raw Unicode buffer.  *o* has to be a Unicode "
"object in the \"canonical\" representation (not checked)."
msgstr ""

#: c-api/unicode.rst:174
msgid ""
"Write into a canonical representation *data* (as obtained with :c:func:"
"`PyUnicode_DATA`).  This function performs no sanity checks, and is intended "
"for usage in loops.  The caller should cache the *kind* value and *data* "
"pointer as obtained from other calls.  *index* is the index in the string "
"(starts at 0) and *value* is the new code point value which should be "
"written to that location."
msgstr ""

#: c-api/unicode.rst:187
msgid ""
"Read a code point from a canonical representation *data* (as obtained with :"
"c:func:`PyUnicode_DATA`).  No checks or ready calls are performed."
msgstr ""

#: c-api/unicode.rst:195
msgid ""
"Read a character from a Unicode object *o*, which must be in the "
"\"canonical\" representation.  This is less efficient than :c:func:"
"`PyUnicode_READ` if you do multiple consecutive reads."
msgstr ""

#: c-api/unicode.rst:204
msgid ""
"Return the maximum code point that is suitable for creating another string "
"based on *o*, which must be in the \"canonical\" representation.  This is "
"always an approximation but more efficient than iterating over the string."
msgstr ""

#: c-api/unicode.rst:213
msgid ""
"Return the size of the deprecated :c:type:`Py_UNICODE` representation, in "
"code units (this includes surrogate pairs as 2 units).  *o* has to be a "
"Unicode object (not checked)."
msgstr ""

#: c-api/unicode.rst:229 c-api/unicode.rst:752
msgid ""
"Part of the old-style Unicode API, please migrate to using :c:func:"
"`PyUnicode_GET_LENGTH`."
msgstr ""

#: c-api/unicode.rst:224
msgid ""
"Return the size of the deprecated :c:type:`Py_UNICODE` representation in "
"bytes.  *o* has to be a Unicode object (not checked)."
msgstr ""

#: c-api/unicode.rst:235
msgid ""
"Return a pointer to a :c:type:`Py_UNICODE` representation of the object.  "
"The returned buffer is always terminated with an extra null code point.  It "
"may also contain embedded null code points, which would cause the string to "
"be truncated when used in most C functions.  The ``AS_DATA`` form casts the "
"pointer to :c:expr:`const char *`.  The *o* argument has to be a Unicode "
"object (not checked)."
msgstr ""

#: c-api/unicode.rst:242
msgid ""
"This function is now inefficient -- because in many cases the :c:type:"
"`Py_UNICODE` representation does not exist and needs to be created -- and "
"can fail (return ``NULL`` with an exception set).  Try to port the code to "
"use the new :c:func:`PyUnicode_nBYTE_DATA` macros or use :c:func:"
"`PyUnicode_WRITE` or :c:func:`PyUnicode_READ`."
msgstr ""

#: c-api/unicode.rst:251
msgid ""
"Part of the old-style Unicode API, please migrate to using the :c:func:"
"`PyUnicode_nBYTE_DATA` family of macros."
msgstr ""

#: c-api/unicode.rst:256
msgid ""
"Return ``1`` if the string is a valid identifier according to the language "
"definition, section :ref:`identifiers`. Return ``0`` otherwise."
msgstr ""

#: c-api/unicode.rst:259
msgid ""
"The function does not call :c:func:`Py_FatalError` anymore if the string is "
"not ready."
msgstr ""

#: c-api/unicode.rst:265
msgid "Unicode Character Properties"
msgstr ""

#: c-api/unicode.rst:267
msgid ""
"Unicode provides many different character properties. The most often needed "
"ones are available through these macros which are mapped to C functions "
"depending on the Python configuration."
msgstr ""

#: c-api/unicode.rst:274
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is a whitespace character."
msgstr ""

#: c-api/unicode.rst:279
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is a lowercase character."
msgstr ""

#: c-api/unicode.rst:284
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is an uppercase character."
msgstr ""

#: c-api/unicode.rst:289
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is a titlecase character."
msgstr ""

#: c-api/unicode.rst:294
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is a linebreak character."
msgstr ""

#: c-api/unicode.rst:299
msgid "Return ``1`` or ``0`` depending on whether *ch* is a decimal character."
msgstr ""

#: c-api/unicode.rst:304
msgid "Return ``1`` or ``0`` depending on whether *ch* is a digit character."
msgstr ""

#: c-api/unicode.rst:309
msgid "Return ``1`` or ``0`` depending on whether *ch* is a numeric character."
msgstr ""

#: c-api/unicode.rst:314
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is an alphabetic character."
msgstr ""

#: c-api/unicode.rst:319
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is an alphanumeric character."
msgstr ""

#: c-api/unicode.rst:324
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is a printable character. "
"Nonprintable characters are those characters defined in the Unicode "
"character database as \"Other\" or \"Separator\", excepting the ASCII space "
"(0x20) which is considered printable.  (Note that printable characters in "
"this context are those which should not be escaped when :func:`repr` is "
"invoked on a string. It has no bearing on the handling of strings written "
"to :data:`sys.stdout` or :data:`sys.stderr`.)"
msgstr ""

#: c-api/unicode.rst:333
msgid "These APIs can be used for fast direct character conversions:"
msgstr ""

#: c-api/unicode.rst:338
msgid "Return the character *ch* converted to lower case."
msgstr ""

#: c-api/unicode.rst:348 c-api/unicode.rst:356
msgid "This function uses simple case mappings."
msgstr ""

#: c-api/unicode.rst:346
msgid "Return the character *ch* converted to upper case."
msgstr ""

#: c-api/unicode.rst:354
msgid "Return the character *ch* converted to title case."
msgstr ""

#: c-api/unicode.rst:362
msgid ""
"Return the character *ch* converted to a decimal positive integer.  Return "
"``-1`` if this is not possible.  This macro does not raise exceptions."
msgstr ""

#: c-api/unicode.rst:368
msgid ""
"Return the character *ch* converted to a single digit integer. Return ``-1`` "
"if this is not possible.  This macro does not raise exceptions."
msgstr ""

#: c-api/unicode.rst:374
msgid ""
"Return the character *ch* converted to a double. Return ``-1.0`` if this is "
"not possible.  This macro does not raise exceptions."
msgstr ""

#: c-api/unicode.rst:378
msgid "These APIs can be used to work with surrogates:"
msgstr ""

#: c-api/unicode.rst:382
msgid "Check if *ch* is a surrogate (``0xD800 <= ch <= 0xDFFF``)."
msgstr ""

#: c-api/unicode.rst:386
msgid "Check if *ch* is a high surrogate (``0xD800 <= ch <= 0xDBFF``)."
msgstr ""

#: c-api/unicode.rst:390
msgid "Check if *ch* is a low surrogate (``0xDC00 <= ch <= 0xDFFF``)."
msgstr ""

#: c-api/unicode.rst:394
msgid ""
"Join two surrogate characters and return a single Py_UCS4 value. *high* and "
"*low* are respectively the leading and trailing surrogates in a surrogate "
"pair."
msgstr ""

#: c-api/unicode.rst:400
msgid "Creating and accessing Unicode strings"
msgstr ""

#: c-api/unicode.rst:402
msgid ""
"To create Unicode objects and access their basic sequence properties, use "
"these APIs:"
msgstr ""

#: c-api/unicode.rst:407
msgid ""
"Create a new Unicode object.  *maxchar* should be the true maximum code "
"point to be placed in the string.  As an approximation, it can be rounded up "
"to the nearest value in the sequence 127, 255, 65535, 1114111."
msgstr ""

#: c-api/unicode.rst:411
msgid ""
"This is the recommended way to allocate a new Unicode object.  Objects "
"created using this function are not resizable."
msgstr ""

#: c-api/unicode.rst:420
msgid ""
"Create a new Unicode object with the given *kind* (possible values are :c:"
"macro:`PyUnicode_1BYTE_KIND` etc., as returned by :c:func:"
"`PyUnicode_KIND`).  The *buffer* must point to an array of *size* units of "
"1, 2 or 4 bytes per character, as given by the kind."
msgstr ""

#: c-api/unicode.rst:425
msgid ""
"If necessary, the input *buffer* is copied and transformed into the "
"canonical representation.  For example, if the *buffer* is a UCS4 string (:c:"
"macro:`PyUnicode_4BYTE_KIND`) and it consists only of codepoints in the UCS1 "
"range, it will be transformed into UCS1 (:c:macro:`PyUnicode_1BYTE_KIND`)."
msgstr ""

#: c-api/unicode.rst:436
msgid ""
"Create a Unicode object from the char buffer *u*.  The bytes will be "
"interpreted as being UTF-8 encoded.  The buffer is copied into the new "
"object. If the buffer is not ``NULL``, the return value might be a shared "
"object, i.e. modification of the data is not allowed."
msgstr ""

#: c-api/unicode.rst:441
msgid ""
"If *u* is ``NULL``, this function behaves like :c:func:"
"`PyUnicode_FromUnicode` with the buffer set to ``NULL``.  This usage is "
"deprecated in favor of :c:func:`PyUnicode_New`, and will be removed in "
"Python 3.12."
msgstr ""

#: c-api/unicode.rst:448
msgid ""
"Create a Unicode object from a UTF-8 encoded null-terminated char buffer *u*."
msgstr ""

#: c-api/unicode.rst:454
msgid ""
"Take a C :c:func:`printf`\\ -style *format* string and a variable number of "
"arguments, calculate the size of the resulting Python Unicode string and "
"return a string with the values formatted into it.  The variable arguments "
"must be C types and must correspond exactly to the format characters in the "
"*format* ASCII-encoded string. The following format characters are allowed:"
msgstr ""

#: c-api/unicode.rst:469
msgid "Format Characters"
msgstr "Caractères de format"

#: c-api/unicode.rst:469
msgid "Type"
msgstr "Type"

#: c-api/unicode.rst:469
#, fuzzy
msgid "Comment"
msgstr "Commentaires"

#: c-api/unicode.rst:471
msgid ":attr:`%%`"
msgstr ":attr:`%%`"

#: c-api/unicode.rst:471
msgid "*n/a*"
msgstr ""

#: c-api/unicode.rst:471
msgid "The literal % character."
msgstr ""

#: c-api/unicode.rst:473
msgid ":attr:`%c`"
msgstr ":attr:`%c`"

#: c-api/unicode.rst:476 c-api/unicode.rst:512
msgid "int"
msgstr "*int*"

#: c-api/unicode.rst:473
msgid "A single character, represented as a C int."
msgstr ""

#: c-api/unicode.rst:476
msgid ":attr:`%d`"
msgstr ":attr:`%d`"

#: c-api/unicode.rst:476
msgid "Equivalent to ``printf(\"%d\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:479
msgid ":attr:`%u`"
msgstr ":attr:`%u`"

#: c-api/unicode.rst:479
msgid "unsigned int"
msgstr "``unsigned int``"

#: c-api/unicode.rst:479
msgid "Equivalent to ``printf(\"%u\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:482
msgid ":attr:`%ld`"
msgstr ":attr:`%ld`"

#: c-api/unicode.rst:485
msgid "long"
msgstr ""

#: c-api/unicode.rst:482
msgid "Equivalent to ``printf(\"%ld\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:485
msgid ":attr:`%li`"
msgstr ":attr:`%li`"

#: c-api/unicode.rst:485
msgid "Equivalent to ``printf(\"%li\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:488
msgid ":attr:`%lu`"
msgstr ":attr:`%lu`"

#: c-api/unicode.rst:488
msgid "unsigned long"
msgstr "``unsigned long``"

#: c-api/unicode.rst:488
msgid "Equivalent to ``printf(\"%lu\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:491
msgid ":attr:`%lld`"
msgstr ":attr:`%lld`"

#: c-api/unicode.rst:494
msgid "long long"
msgstr ""

#: c-api/unicode.rst:491
msgid "Equivalent to ``printf(\"%lld\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:494
msgid ":attr:`%lli`"
msgstr ":attr:`%lli`"

#: c-api/unicode.rst:494
msgid "Equivalent to ``printf(\"%lli\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:497
msgid ":attr:`%llu`"
msgstr ":attr:`%llu`"

#: c-api/unicode.rst:497
msgid "unsigned long long"
msgstr "``unsigned long long``"

#: c-api/unicode.rst:497
msgid "Equivalent to ``printf(\"%llu\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:500
msgid ":attr:`%zd`"
msgstr ":attr:`%zd`"

#: c-api/unicode.rst:503
msgid ":c:type:`\\ Py_ssize_t`"
msgstr ""

#: c-api/unicode.rst:500
msgid "Equivalent to ``printf(\"%zd\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:503
msgid ":attr:`%zi`"
msgstr ":attr:`%zi`"

#: c-api/unicode.rst:503
msgid "Equivalent to ``printf(\"%zi\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:506
msgid ":attr:`%zu`"
msgstr ":attr:`%zu`"

#: c-api/unicode.rst:506
msgid "size_t"
msgstr ""

#: c-api/unicode.rst:506
msgid "Equivalent to ``printf(\"%zu\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:509
msgid ":attr:`%i`"
msgstr ":attr:`%i`"

#: c-api/unicode.rst:509
msgid "Equivalent to ``printf(\"%i\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:512
msgid ":attr:`%x`"
msgstr ":attr:`%x`"

#: c-api/unicode.rst:512
msgid "Equivalent to ``printf(\"%x\")``. [1]_"
msgstr ""

#: c-api/unicode.rst:515
msgid ":attr:`%s`"
msgstr ":attr:`%s`"

#: c-api/unicode.rst:515
msgid "const char\\*"
msgstr ""

#: c-api/unicode.rst:515
msgid "A null-terminated C character array."
msgstr ""

#: c-api/unicode.rst:518
msgid ":attr:`%p`"
msgstr ":attr:`%p`"

#: c-api/unicode.rst:518
msgid "const void\\*"
msgstr ""

#: c-api/unicode.rst:518
msgid ""
"The hex representation of a C pointer. Mostly equivalent to "
"``printf(\"%p\")`` except that it is guaranteed to start with the literal "
"``0x`` regardless of what the platform's ``printf`` yields."
msgstr ""

#: c-api/unicode.rst:526
msgid ":attr:`%A`"
msgstr ":attr:`%A`"

#: c-api/unicode.rst:529 c-api/unicode.rst:541
msgid "PyObject\\*"
msgstr "PyObject\\*"

#: c-api/unicode.rst:526
msgid "The result of calling :func:`ascii`."
msgstr ""

#: c-api/unicode.rst:529
msgid ":attr:`%U`"
msgstr ":attr:`%U`"

#: c-api/unicode.rst:529
#, fuzzy
msgid "A Unicode object."
msgstr "Un objet Unicode."

#: c-api/unicode.rst:531
msgid ":attr:`%V`"
msgstr ":attr:`%V`"

#: c-api/unicode.rst:531
msgid "PyObject\\*, const char\\*"
msgstr ""

#: c-api/unicode.rst:531
msgid ""
"A Unicode object (which may be ``NULL``) and a null-terminated C character "
"array as a second parameter (which will be used, if the first parameter is "
"``NULL``)."
msgstr ""

#: c-api/unicode.rst:538
msgid ":attr:`%S`"
msgstr ":attr:`%S`"

#: c-api/unicode.rst:538
msgid "The result of calling :c:func:`PyObject_Str`."
msgstr ""

#: c-api/unicode.rst:541
msgid ":attr:`%R`"
msgstr ":attr:`%R`"

#: c-api/unicode.rst:541
msgid "The result of calling :c:func:`PyObject_Repr`."
msgstr ""

#: c-api/unicode.rst:545
msgid ""
"An unrecognized format character causes all the rest of the format string to "
"be copied as-is to the result string, and any extra arguments discarded."
msgstr ""

#: c-api/unicode.rst:549
msgid ""
"The width formatter unit is number of characters rather than bytes. The "
"precision formatter unit is number of bytes for ``\"%s\"`` and ``\"%V\"`` "
"(if the ``PyObject*`` argument is ``NULL``), and a number of characters for "
"``\"%A\"``, ``\"%U\"``, ``\"%S\"``, ``\"%R\"`` and ``\"%V\"`` (if the "
"``PyObject*`` argument is not ``NULL``)."
msgstr ""

#: c-api/unicode.rst:555
msgid ""
"For integer specifiers (d, u, ld, li, lu, lld, lli, llu, zd, zi, zu, i, x): "
"the 0-conversion flag has effect even when a precision is given."
msgstr ""

#: c-api/unicode.rst:558
msgid "Support for ``\"%lld\"`` and ``\"%llu\"`` added."
msgstr ""

#: c-api/unicode.rst:561
msgid "Support for ``\"%li\"``, ``\"%lli\"`` and ``\"%zi\"`` added."
msgstr ""

#: c-api/unicode.rst:564
msgid ""
"Support width and precision formatter for ``\"%s\"``, ``\"%A\"``, "
"``\"%U\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"`` added."
msgstr ""

#: c-api/unicode.rst:571
msgid ""
"Identical to :c:func:`PyUnicode_FromFormat` except that it takes exactly two "
"arguments."
msgstr ""

#: c-api/unicode.rst:578
msgid "Decode an encoded object *obj* to a Unicode object."
msgstr ""

#: c-api/unicode.rst:580
msgid ""
":class:`bytes`, :class:`bytearray` and other :term:`bytes-like objects "
"<bytes-like object>` are decoded according to the given *encoding* and using "
"the error handling defined by *errors*. Both can be ``NULL`` to have the "
"interface use the default values (see :ref:`builtincodecs` for details)."
msgstr ""

#: c-api/unicode.rst:586
msgid ""
"All other objects, including Unicode objects, cause a :exc:`TypeError` to be "
"set."
msgstr ""

#: c-api/unicode.rst:589
msgid ""
"The API returns ``NULL`` if there was an error.  The caller is responsible "
"for decref'ing the returned objects."
msgstr ""

#: c-api/unicode.rst:595
msgid "Return the length of the Unicode object, in code points."
msgstr ""

#: c-api/unicode.rst:606
msgid ""
"Copy characters from one Unicode object into another.  This function "
"performs character conversion when necessary and falls back to :c:func:"
"`memcpy` if possible.  Returns ``-1`` and sets an exception on error, "
"otherwise returns the number of copied characters."
msgstr ""

#: c-api/unicode.rst:617
msgid ""
"Fill a string with a character: write *fill_char* into ``unicode[start:"
"start+length]``."
msgstr ""

#: c-api/unicode.rst:620
msgid ""
"Fail if *fill_char* is bigger than the string maximum character, or if the "
"string has more than 1 reference."
msgstr ""

#: c-api/unicode.rst:623
msgid ""
"Return the number of written character, or return ``-1`` and raise an "
"exception on error."
msgstr ""

#: c-api/unicode.rst:632
msgid ""
"Write a character to a string.  The string must have been created through :c:"
"func:`PyUnicode_New`.  Since Unicode strings are supposed to be immutable, "
"the string must not be shared, or have been hashed yet."
msgstr ""

#: c-api/unicode.rst:636
msgid ""
"This function checks that *unicode* is a Unicode object, that the index is "
"not out of bounds, and that the object can be modified safely (i.e. that it "
"its reference count is one)."
msgstr ""

#: c-api/unicode.rst:645
msgid ""
"Read a character from a string.  This function checks that *unicode* is a "
"Unicode object and the index is not out of bounds, in contrast to :c:func:"
"`PyUnicode_READ_CHAR`, which performs no error checking."
msgstr ""

#: c-api/unicode.rst:655
msgid ""
"Return a substring of *str*, from character index *start* (included) to "
"character index *end* (excluded).  Negative indices are not supported."
msgstr ""

#: c-api/unicode.rst:664
msgid ""
"Copy the string *u* into a UCS4 buffer, including a null character, if "
"*copy_null* is set.  Returns ``NULL`` and sets an exception on error (in "
"particular, a :exc:`SystemError` if *buflen* is smaller than the length of "
"*u*).  *buffer* is returned on success."
msgstr ""

#: c-api/unicode.rst:674
msgid ""
"Copy the string *u* into a new UCS4 buffer that is allocated using :c:func:"
"`PyMem_Malloc`.  If this fails, ``NULL`` is returned with a :exc:"
"`MemoryError` set.  The returned buffer always has an extra null code point "
"appended."
msgstr ""

#: c-api/unicode.rst:683
msgid "Deprecated Py_UNICODE APIs"
msgstr ""

#: c-api/unicode.rst:687
msgid ""
"These API functions are deprecated with the implementation of :pep:`393`. "
"Extension modules can continue using them, as they will not be removed in "
"Python 3.x, but need to be aware that their use can now cause performance "
"and memory hits."
msgstr ""

#: c-api/unicode.rst:694
msgid ""
"Create a Unicode object from the Py_UNICODE buffer *u* of the given size. "
"*u* may be ``NULL`` which causes the contents to be undefined. It is the "
"user's responsibility to fill in the needed data.  The buffer is copied into "
"the new object."
msgstr ""

#: c-api/unicode.rst:699
msgid ""
"If the buffer is not ``NULL``, the return value might be a shared object. "
"Therefore, modification of the resulting Unicode object is only allowed when "
"*u* is ``NULL``."
msgstr ""

#: c-api/unicode.rst:703
msgid ""
"If the buffer is ``NULL``, :c:func:`PyUnicode_READY` must be called once the "
"string content has been filled before using any of the access macros such "
"as :c:func:`PyUnicode_KIND`."
msgstr ""

#: c-api/unicode.rst:710
msgid ""
"Part of the old-style Unicode API, please migrate to using :c:func:"
"`PyUnicode_FromKindAndData`, :c:func:`PyUnicode_FromWideChar`, or :c:func:"
"`PyUnicode_New`."
msgstr ""

#: c-api/unicode.rst:715
msgid ""
"Return a read-only pointer to the Unicode object's internal :c:type:"
"`Py_UNICODE` buffer, or ``NULL`` on error. This will create the :c:expr:"
"`Py_UNICODE*` representation of the object if it is not yet available. The "
"buffer is always terminated with an extra null code point. Note that the "
"resulting :c:type:`Py_UNICODE` string may also contain embedded null code "
"points, which would cause the string to be truncated when used in most C "
"functions."
msgstr ""

#: c-api/unicode.rst:742
msgid ""
"Part of the old-style Unicode API, please migrate to using :c:func:"
"`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsWideChar`, :c:func:"
"`PyUnicode_ReadChar` or similar new APIs."
msgstr ""

#: c-api/unicode.rst:731
msgid ""
"Like :c:func:`PyUnicode_AsUnicode`, but also saves the :c:func:`Py_UNICODE` "
"array length (excluding the extra null terminator) in *size*. Note that the "
"resulting :c:expr:`Py_UNICODE*` string may contain embedded null code "
"points, which would cause the string to be truncated when used in most C "
"functions."
msgstr ""

#: c-api/unicode.rst:747
msgid ""
"Return the size of the deprecated :c:type:`Py_UNICODE` representation, in "
"code units (this includes surrogate pairs as 2 units)."
msgstr ""

#: c-api/unicode.rst:757
msgid ""
"Copy an instance of a Unicode subtype to a new true Unicode object if "
"necessary. If *obj* is already a true Unicode object (not a subtype), return "
"the reference with incremented refcount."
msgstr ""

#: c-api/unicode.rst:761
msgid ""
"Objects other than Unicode or its subtypes will cause a :exc:`TypeError`."
msgstr ""

#: c-api/unicode.rst:765
msgid "Locale Encoding"
msgstr ""

#: c-api/unicode.rst:767
msgid ""
"The current locale encoding can be used to decode text from the operating "
"system."
msgstr ""

#: c-api/unicode.rst:774
msgid ""
"Decode a string from UTF-8 on Android and VxWorks, or from the current "
"locale encoding on other platforms. The supported error handlers are "
"``\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The decoder uses "
"``\"strict\"`` error handler if *errors* is ``NULL``.  *str* must end with a "
"null character but cannot contain embedded null characters."
msgstr ""

#: c-api/unicode.rst:781
msgid ""
"Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` to decode a string from :c:"
"data:`Py_FileSystemDefaultEncoding` (the locale encoding read at Python "
"startup)."
msgstr ""

#: c-api/unicode.rst:821
msgid "This function ignores the :ref:`Python UTF-8 Mode <utf8-mode>`."
msgstr ""

#: c-api/unicode.rst:892
msgid "The :c:func:`Py_DecodeLocale` function."
msgstr ""

#: c-api/unicode.rst:793
msgid ""
"The function now also uses the current locale encoding for the "
"``surrogateescape`` error handler, except on Android. Previously, :c:func:"
"`Py_DecodeLocale` was used for the ``surrogateescape``, and the current "
"locale encoding was used for ``strict``."
msgstr ""

#: c-api/unicode.rst:802
msgid ""
"Similar to :c:func:`PyUnicode_DecodeLocaleAndSize`, but compute the string "
"length using :c:func:`strlen`."
msgstr ""

#: c-api/unicode.rst:810
msgid ""
"Encode a Unicode object to UTF-8 on Android and VxWorks, or to the current "
"locale encoding on other platforms. The supported error handlers are "
"``\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The encoder uses "
"``\"strict\"`` error handler if *errors* is ``NULL``. Return a :class:"
"`bytes` object. *unicode* cannot contain embedded null characters."
msgstr ""

#: c-api/unicode.rst:817
msgid ""
"Use :c:func:`PyUnicode_EncodeFSDefault` to encode a string to :c:data:"
"`Py_FileSystemDefaultEncoding` (the locale encoding read at Python startup)."
msgstr ""

#: c-api/unicode.rst:928
msgid "The :c:func:`Py_EncodeLocale` function."
msgstr ""

#: c-api/unicode.rst:829
msgid ""
"The function now also uses the current locale encoding for the "
"``surrogateescape`` error handler, except on Android. Previously, :c:func:"
"`Py_EncodeLocale` was used for the ``surrogateescape``, and the current "
"locale encoding was used for ``strict``."
msgstr ""

#: c-api/unicode.rst:838
msgid "File System Encoding"
msgstr ""

#: c-api/unicode.rst:840
msgid ""
"To encode and decode file names and other environment strings, :c:data:"
"`Py_FileSystemDefaultEncoding` should be used as the encoding, and :c:data:"
"`Py_FileSystemDefaultEncodeErrors` should be used as the error handler (:pep:"
"`383` and :pep:`529`). To encode file names to :class:`bytes` during "
"argument parsing, the ``\"O&\"`` converter should be used, passing :c:func:"
"`PyUnicode_FSConverter` as the conversion function:"
msgstr ""

#: c-api/unicode.rst:849
msgid ""
"ParseTuple converter: encode :class:`str` objects -- obtained directly or "
"through the :class:`os.PathLike` interface -- to :class:`bytes` using :c:"
"func:`PyUnicode_EncodeFSDefault`; :class:`bytes` objects are output as-is. "
"*result* must be a :c:expr:`PyBytesObject*` which must be released when it "
"is no longer used."
msgstr ""

#: c-api/unicode.rst:874
msgid "Accepts a :term:`path-like object`."
msgstr "Accepte un :term:`path-like object`."

#: c-api/unicode.rst:860
msgid ""
"To decode file names to :class:`str` during argument parsing, the ``\"O&\"`` "
"converter should be used, passing :c:func:`PyUnicode_FSDecoder` as the "
"conversion function:"
msgstr ""

#: c-api/unicode.rst:866
msgid ""
"ParseTuple converter: decode :class:`bytes` objects -- obtained either "
"directly or indirectly through the :class:`os.PathLike` interface -- to :"
"class:`str` using :c:func:`PyUnicode_DecodeFSDefaultAndSize`; :class:`str` "
"objects are output as-is. *result* must be a :c:expr:`PyUnicodeObject*` "
"which must be released when it is no longer used."
msgstr ""

#: c-api/unicode.rst:880
msgid "Decode a string from the :term:`filesystem encoding and error handler`."
msgstr ""

#: c-api/unicode.rst:903 c-api/unicode.rst:919
msgid ""
"If :c:data:`Py_FileSystemDefaultEncoding` is not set, fall back to the "
"locale encoding."
msgstr ""

#: c-api/unicode.rst:885
msgid ""
":c:data:`Py_FileSystemDefaultEncoding` is initialized at startup from the "
"locale encoding and cannot be modified later. If you need to decode a string "
"from the current locale encoding, use :c:func:"
"`PyUnicode_DecodeLocaleAndSize`."
msgstr ""

#: c-api/unicode.rst:908 c-api/unicode.rst:932
msgid "Use :c:data:`Py_FileSystemDefaultEncodeErrors` error handler."
msgstr ""

#: c-api/unicode.rst:900
msgid ""
"Decode a null-terminated string from the :term:`filesystem encoding and "
"error handler`."
msgstr ""

#: c-api/unicode.rst:906
msgid ""
"Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` if you know the string length."
msgstr ""

#: c-api/unicode.rst:914
msgid ""
"Encode a Unicode object to :c:data:`Py_FileSystemDefaultEncoding` with the :"
"c:data:`Py_FileSystemDefaultEncodeErrors` error handler, and return :class:"
"`bytes`. Note that the resulting :class:`bytes` object may contain null "
"bytes."
msgstr ""

#: c-api/unicode.rst:922
msgid ""
":c:data:`Py_FileSystemDefaultEncoding` is initialized at startup from the "
"locale encoding and cannot be modified later. If you need to encode a string "
"to the current locale encoding, use :c:func:`PyUnicode_EncodeLocale`."
msgstr ""

#: c-api/unicode.rst:936
msgid "wchar_t Support"
msgstr ""

#: c-api/unicode.rst:938
msgid ":c:expr:`wchar_t` support for platforms which support it:"
msgstr ""

#: c-api/unicode.rst:942
msgid ""
"Create a Unicode object from the :c:expr:`wchar_t` buffer *w* of the given "
"*size*. Passing ``-1`` as the *size* indicates that the function must itself "
"compute the length, using wcslen. Return ``NULL`` on failure."
msgstr ""

#: c-api/unicode.rst:950
msgid ""
"Copy the Unicode object contents into the :c:expr:`wchar_t` buffer *w*.  At "
"most *size* :c:expr:`wchar_t` characters are copied (excluding a possibly "
"trailing null termination character).  Return the number of :c:expr:"
"`wchar_t` characters copied or ``-1`` in case of an error.  Note that the "
"resulting :c:expr:`wchar_t*` string may or may not be null-terminated.  It "
"is the responsibility of the caller to make sure that the :c:expr:`wchar_t*` "
"string is null-terminated in case this is required by the application. Also, "
"note that the :c:expr:`wchar_t*` string might contain null characters, which "
"would cause the string to be truncated when used with most C functions."
msgstr ""

#: c-api/unicode.rst:963
msgid ""
"Convert the Unicode object to a wide character string. The output string "
"always ends with a null character. If *size* is not ``NULL``, write the "
"number of wide characters (excluding the trailing null termination "
"character) into *\\*size*. Note that the resulting :c:expr:`wchar_t` string "
"might contain null characters, which would cause the string to be truncated "
"when used with most C functions. If *size* is ``NULL`` and the :c:expr:"
"`wchar_t*` string contains null characters a :exc:`ValueError` is raised."
msgstr ""

#: c-api/unicode.rst:971
msgid ""
"Returns a buffer allocated by :c:func:`PyMem_Alloc` (use :c:func:"
"`PyMem_Free` to free it) on success. On error, returns ``NULL`` and "
"*\\*size* is undefined. Raises a :exc:`MemoryError` if memory allocation is "
"failed."
msgstr ""

#: c-api/unicode.rst:978
msgid ""
"Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:expr:`wchar_t*` "
"string contains null characters."
msgstr ""

#: c-api/unicode.rst:986
msgid "Built-in Codecs"
msgstr ""

#: c-api/unicode.rst:988
msgid ""
"Python provides a set of built-in codecs which are written in C for speed. "
"All of these codecs are directly usable via the following functions."
msgstr ""

#: c-api/unicode.rst:991
msgid ""
"Many of the following APIs take two arguments encoding and errors, and they "
"have the same semantics as the ones of the built-in :func:`str` string "
"object constructor."
msgstr ""

#: c-api/unicode.rst:995
msgid ""
"Setting encoding to ``NULL`` causes the default encoding to be used which is "
"UTF-8.  The file system calls should use :c:func:`PyUnicode_FSConverter` for "
"encoding file names. This uses the variable :c:data:"
"`Py_FileSystemDefaultEncoding` internally. This variable should be treated "
"as read-only: on some systems, it will be a pointer to a static string, on "
"others, it will change at run-time (such as when the application invokes "
"setlocale)."
msgstr ""

#: c-api/unicode.rst:1003
msgid ""
"Error handling is set by errors which may also be set to ``NULL`` meaning to "
"use the default handling defined for the codec.  Default error handling for "
"all built-in codecs is \"strict\" (:exc:`ValueError` is raised)."
msgstr ""

#: c-api/unicode.rst:1007
msgid ""
"The codecs all use a similar interface.  Only deviations from the following "
"generic ones are documented for simplicity."
msgstr ""

#: c-api/unicode.rst:1012
msgid "Generic Codecs"
msgstr ""

#: c-api/unicode.rst:1014
msgid "These are the generic codec APIs:"
msgstr ""

#: c-api/unicode.rst:1020
msgid ""
"Create a Unicode object by decoding *size* bytes of the encoded string *s*. "
"*encoding* and *errors* have the same meaning as the parameters of the same "
"name in the :func:`str` built-in function.  The codec to be used is looked "
"up using the Python codec registry.  Return ``NULL`` if an exception was "
"raised by the codec."
msgstr ""

#: c-api/unicode.rst:1030
msgid ""
"Encode a Unicode object and return the result as Python bytes object. "
"*encoding* and *errors* have the same meaning as the parameters of the same "
"name in the Unicode :meth:`~str.encode` method. The codec to be used is "
"looked up using the Python codec registry. Return ``NULL`` if an exception "
"was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1038
msgid "UTF-8 Codecs"
msgstr ""

#: c-api/unicode.rst:1040
msgid "These are the UTF-8 codec APIs:"
msgstr ""

#: c-api/unicode.rst:1045
msgid ""
"Create a Unicode object by decoding *size* bytes of the UTF-8 encoded string "
"*s*. Return ``NULL`` if an exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1052
msgid ""
"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF8`. If "
"*consumed* is not ``NULL``, trailing incomplete UTF-8 byte sequences will "
"not be treated as an error. Those bytes will not be decoded and the number "
"of bytes that have been decoded will be stored in *consumed*."
msgstr ""

#: c-api/unicode.rst:1060
msgid ""
"Encode a Unicode object using UTF-8 and return the result as Python bytes "
"object.  Error handling is \"strict\".  Return ``NULL`` if an exception was "
"raised by the codec."
msgstr ""

#: c-api/unicode.rst:1067
msgid ""
"Return a pointer to the UTF-8 encoding of the Unicode object, and store the "
"size of the encoded representation (in bytes) in *size*.  The *size* "
"argument can be ``NULL``; in this case no size will be stored.  The returned "
"buffer always has an extra null byte appended (not included in *size*), "
"regardless of whether there are any other null code points."
msgstr ""

#: c-api/unicode.rst:1073
msgid ""
"In the case of an error, ``NULL`` is returned with an exception set and no "
"*size* is stored."
msgstr ""

#: c-api/unicode.rst:1076
msgid ""
"This caches the UTF-8 representation of the string in the Unicode object, "
"and subsequent calls will return a pointer to the same buffer.  The caller "
"is not responsible for deallocating the buffer. The buffer is deallocated "
"and pointers to it become invalid when the Unicode object is garbage "
"collected."
msgstr ""

#: c-api/unicode.rst:1096
msgid "The return type is now ``const char *`` rather of ``char *``."
msgstr ""

#: c-api/unicode.rst:1086
msgid "This function is a part of the :ref:`limited API <stable>`."
msgstr ""

#: c-api/unicode.rst:1092
msgid "As :c:func:`PyUnicode_AsUTF8AndSize`, but does not store the size."
msgstr ""

#: c-api/unicode.rst:1101
msgid "UTF-32 Codecs"
msgstr ""

#: c-api/unicode.rst:1103
msgid "These are the UTF-32 codec APIs:"
msgstr ""

#: c-api/unicode.rst:1109
msgid ""
"Decode *size* bytes from a UTF-32 encoded buffer string and return the "
"corresponding Unicode object.  *errors* (if non-``NULL``) defines the error "
"handling. It defaults to \"strict\"."
msgstr ""

#: c-api/unicode.rst:1163
msgid ""
"If *byteorder* is non-``NULL``, the decoder starts decoding using the given "
"byte order::"
msgstr ""

#: c-api/unicode.rst:1120
msgid ""
"If ``*byteorder`` is zero, and the first four bytes of the input data are a "
"byte order mark (BOM), the decoder switches to this byte order and the BOM "
"is not copied into the resulting Unicode string.  If ``*byteorder`` is "
"``-1`` or ``1``, any byte order mark is copied to the output."
msgstr ""

#: c-api/unicode.rst:1125
msgid ""
"After completion, *\\*byteorder* is set to the current byte order at the end "
"of input data."
msgstr ""

#: c-api/unicode.rst:1179
msgid "If *byteorder* is ``NULL``, the codec starts in native order mode."
msgstr ""

#: c-api/unicode.rst:1181
msgid "Return ``NULL`` if an exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1136
msgid ""
"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF32`. If "
"*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF32Stateful` will not "
"treat trailing incomplete UTF-32 byte sequences (such as a number of bytes "
"not divisible by four) as an error. Those bytes will not be decoded and the "
"number of bytes that have been decoded will be stored in *consumed*."
msgstr ""

#: c-api/unicode.rst:1145
msgid ""
"Return a Python byte string using the UTF-32 encoding in native byte order. "
"The string always starts with a BOM mark.  Error handling is \"strict\". "
"Return ``NULL`` if an exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1151
msgid "UTF-16 Codecs"
msgstr ""

#: c-api/unicode.rst:1153
msgid "These are the UTF-16 codec APIs:"
msgstr ""

#: c-api/unicode.rst:1159
msgid ""
"Decode *size* bytes from a UTF-16 encoded buffer string and return the "
"corresponding Unicode object.  *errors* (if non-``NULL``) defines the error "
"handling. It defaults to \"strict\"."
msgstr ""

#: c-api/unicode.rst:1170
msgid ""
"If ``*byteorder`` is zero, and the first two bytes of the input data are a "
"byte order mark (BOM), the decoder switches to this byte order and the BOM "
"is not copied into the resulting Unicode string.  If ``*byteorder`` is "
"``-1`` or ``1``, any byte order mark is copied to the output (where it will "
"result in either a ``\\ufeff`` or a ``\\ufffe`` character)."
msgstr ""

#: c-api/unicode.rst:1176
msgid ""
"After completion, ``*byteorder`` is set to the current byte order at the end "
"of input data."
msgstr ""

#: c-api/unicode.rst:1187
msgid ""
"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF16`. If "
"*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF16Stateful` will not "
"treat trailing incomplete UTF-16 byte sequences (such as an odd number of "
"bytes or a split surrogate pair) as an error. Those bytes will not be "
"decoded and the number of bytes that have been decoded will be stored in "
"*consumed*."
msgstr ""

#: c-api/unicode.rst:1196
msgid ""
"Return a Python byte string using the UTF-16 encoding in native byte order. "
"The string always starts with a BOM mark.  Error handling is \"strict\". "
"Return ``NULL`` if an exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1202
msgid "UTF-7 Codecs"
msgstr ""

#: c-api/unicode.rst:1204
msgid "These are the UTF-7 codec APIs:"
msgstr ""

#: c-api/unicode.rst:1209
msgid ""
"Create a Unicode object by decoding *size* bytes of the UTF-7 encoded string "
"*s*.  Return ``NULL`` if an exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1216
msgid ""
"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF7`.  If "
"*consumed* is not ``NULL``, trailing incomplete UTF-7 base-64 sections will "
"not be treated as an error.  Those bytes will not be decoded and the number "
"of bytes that have been decoded will be stored in *consumed*."
msgstr ""

#: c-api/unicode.rst:1223
msgid "Unicode-Escape Codecs"
msgstr ""

#: c-api/unicode.rst:1225
msgid "These are the \"Unicode Escape\" codec APIs:"
msgstr ""

#: c-api/unicode.rst:1231
msgid ""
"Create a Unicode object by decoding *size* bytes of the Unicode-Escape "
"encoded string *s*.  Return ``NULL`` if an exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1237
msgid ""
"Encode a Unicode object using Unicode-Escape and return the result as a "
"bytes object.  Error handling is \"strict\".  Return ``NULL`` if an "
"exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1243
msgid "Raw-Unicode-Escape Codecs"
msgstr ""

#: c-api/unicode.rst:1245
msgid "These are the \"Raw Unicode Escape\" codec APIs:"
msgstr ""

#: c-api/unicode.rst:1251
msgid ""
"Create a Unicode object by decoding *size* bytes of the Raw-Unicode-Escape "
"encoded string *s*.  Return ``NULL`` if an exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1257
msgid ""
"Encode a Unicode object using Raw-Unicode-Escape and return the result as a "
"bytes object.  Error handling is \"strict\".  Return ``NULL`` if an "
"exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1263
msgid "Latin-1 Codecs"
msgstr ""

#: c-api/unicode.rst:1265
msgid ""
"These are the Latin-1 codec APIs: Latin-1 corresponds to the first 256 "
"Unicode ordinals and only these are accepted by the codecs during encoding."
msgstr ""

#: c-api/unicode.rst:1271
msgid ""
"Create a Unicode object by decoding *size* bytes of the Latin-1 encoded "
"string *s*.  Return ``NULL`` if an exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1277
msgid ""
"Encode a Unicode object using Latin-1 and return the result as Python bytes "
"object.  Error handling is \"strict\".  Return ``NULL`` if an exception was "
"raised by the codec."
msgstr ""

#: c-api/unicode.rst:1283
msgid "ASCII Codecs"
msgstr ""

#: c-api/unicode.rst:1285
msgid ""
"These are the ASCII codec APIs.  Only 7-bit ASCII data is accepted. All "
"other codes generate errors."
msgstr ""

#: c-api/unicode.rst:1291
msgid ""
"Create a Unicode object by decoding *size* bytes of the ASCII encoded string "
"*s*.  Return ``NULL`` if an exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1297
msgid ""
"Encode a Unicode object using ASCII and return the result as Python bytes "
"object.  Error handling is \"strict\".  Return ``NULL`` if an exception was "
"raised by the codec."
msgstr ""

#: c-api/unicode.rst:1303
msgid "Character Map Codecs"
msgstr ""

#: c-api/unicode.rst:1305
msgid ""
"This codec is special in that it can be used to implement many different "
"codecs (and this is in fact what was done to obtain most of the standard "
"codecs included in the :mod:`encodings` package). The codec uses mappings to "
"encode and decode characters.  The mapping objects provided must support "
"the :meth:`__getitem__` mapping interface; dictionaries and sequences work "
"well."
msgstr ""

#: c-api/unicode.rst:1311
msgid "These are the mapping codec APIs:"
msgstr ""

#: c-api/unicode.rst:1316
msgid ""
"Create a Unicode object by decoding *size* bytes of the encoded string *s* "
"using the given *mapping* object.  Return ``NULL`` if an exception was "
"raised by the codec."
msgstr ""

#: c-api/unicode.rst:1320
msgid ""
"If *mapping* is ``NULL``, Latin-1 decoding will be applied.  Else *mapping* "
"must map bytes ordinals (integers in the range from 0 to 255) to Unicode "
"strings, integers (which are then interpreted as Unicode ordinals) or "
"``None``.  Unmapped data bytes -- ones which cause a :exc:`LookupError`, as "
"well as ones which get mapped to ``None``, ``0xFFFE`` or ``'\\ufffe'``, are "
"treated as undefined mappings and cause an error."
msgstr ""

#: c-api/unicode.rst:1331
msgid ""
"Encode a Unicode object using the given *mapping* object and return the "
"result as a bytes object.  Error handling is \"strict\".  Return ``NULL`` if "
"an exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1335
msgid ""
"The *mapping* object must map Unicode ordinal integers to bytes objects, "
"integers in the range from 0 to 255 or ``None``.  Unmapped character "
"ordinals (ones which cause a :exc:`LookupError`) as well as mapped to "
"``None`` are treated as \"undefined mapping\" and cause an error."
msgstr ""

#: c-api/unicode.rst:1341
msgid "The following codec API is special in that maps Unicode to Unicode."
msgstr ""

#: c-api/unicode.rst:1345
msgid ""
"Translate a string by applying a character mapping table to it and return "
"the resulting Unicode object. Return ``NULL`` if an exception was raised by "
"the codec."
msgstr ""

#: c-api/unicode.rst:1349
msgid ""
"The mapping table must map Unicode ordinal integers to Unicode ordinal "
"integers or ``None`` (causing deletion of the character)."
msgstr ""

#: c-api/unicode.rst:1352
msgid ""
"Mapping tables need only provide the :meth:`__getitem__` interface; "
"dictionaries and sequences work well.  Unmapped character ordinals (ones "
"which cause a :exc:`LookupError`) are left untouched and are copied as-is."
msgstr ""

#: c-api/unicode.rst:1356
msgid ""
"*errors* has the usual meaning for codecs. It may be ``NULL`` which "
"indicates to use the default error handling."
msgstr ""

#: c-api/unicode.rst:1361
msgid "MBCS codecs for Windows"
msgstr ""

#: c-api/unicode.rst:1363
msgid ""
"These are the MBCS codec APIs. They are currently only available on Windows "
"and use the Win32 MBCS converters to implement the conversions.  Note that "
"MBCS (or DBCS) is a class of encodings, not just one.  The target encoding "
"is defined by the user settings on the machine running the codec."
msgstr ""

#: c-api/unicode.rst:1370
msgid ""
"Create a Unicode object by decoding *size* bytes of the MBCS encoded string "
"*s*. Return ``NULL`` if an exception was raised by the codec."
msgstr ""

#: c-api/unicode.rst:1377
msgid ""
"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeMBCS`. If "
"*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeMBCSStateful` will not "
"decode trailing lead byte and the number of bytes that have been decoded "
"will be stored in *consumed*."
msgstr ""

#: c-api/unicode.rst:1385
msgid ""
"Encode a Unicode object using MBCS and return the result as Python bytes "
"object.  Error handling is \"strict\".  Return ``NULL`` if an exception was "
"raised by the codec."
msgstr ""

#: c-api/unicode.rst:1392
msgid ""
"Encode the Unicode object using the specified code page and return a Python "
"bytes object.  Return ``NULL`` if an exception was raised by the codec. Use :"
"c:data:`CP_ACP` code page to get the MBCS encoder."
msgstr ""

#: c-api/unicode.rst:1400
msgid "Methods & Slots"
msgstr ""

#: c-api/unicode.rst:1406
msgid "Methods and Slot Functions"
msgstr ""

#: c-api/unicode.rst:1408
msgid ""
"The following APIs are capable of handling Unicode objects and strings on "
"input (we refer to them as strings in the descriptions) and return Unicode "
"objects or integers as appropriate."
msgstr ""

#: c-api/unicode.rst:1412
msgid "They all return ``NULL`` or ``-1`` if an exception occurs."
msgstr ""

#: c-api/unicode.rst:1417
msgid "Concat two strings giving a new Unicode string."
msgstr ""

#: c-api/unicode.rst:1422
msgid ""
"Split a string giving a list of Unicode strings.  If *sep* is ``NULL``, "
"splitting will be done at all whitespace substrings.  Otherwise, splits "
"occur at the given separator.  At most *maxsplit* splits will be done.  If "
"negative, no limit is set.  Separators are not included in the resulting "
"list."
msgstr ""

#: c-api/unicode.rst:1430
msgid ""
"Split a Unicode string at line breaks, returning a list of Unicode strings. "
"CRLF is considered to be one line break.  If *keepend* is ``0``, the line "
"break characters are not included in the resulting strings."
msgstr ""

#: c-api/unicode.rst:1437
msgid ""
"Join a sequence of strings using the given *separator* and return the "
"resulting Unicode string."
msgstr ""

#: c-api/unicode.rst:1444
msgid ""
"Return ``1`` if *substr* matches ``str[start:end]`` at the given tail end "
"(*direction* == ``-1`` means to do a prefix match, *direction* == ``1`` a "
"suffix match), ``0`` otherwise. Return ``-1`` if an error occurred."
msgstr ""

#: c-api/unicode.rst:1452
msgid ""
"Return the first position of *substr* in ``str[start:end]`` using the given "
"*direction* (*direction* == ``1`` means to do a forward search, *direction* "
"== ``-1`` a backward search).  The return value is the index of the first "
"match; a value of ``-1`` indicates that no match was found, and ``-2`` "
"indicates that an error occurred and an exception has been set."
msgstr ""

#: c-api/unicode.rst:1462
msgid ""
"Return the first position of the character *ch* in ``str[start:end]`` using "
"the given *direction* (*direction* == ``1`` means to do a forward search, "
"*direction* == ``-1`` a backward search).  The return value is the index of "
"the first match; a value of ``-1`` indicates that no match was found, and "
"``-2`` indicates that an error occurred and an exception has been set."
msgstr ""

#: c-api/unicode.rst:1470
msgid "*start* and *end* are now adjusted to behave like ``str[start:end]``."
msgstr ""

#: c-api/unicode.rst:1477
msgid ""
"Return the number of non-overlapping occurrences of *substr* in ``str[start:"
"end]``.  Return ``-1`` if an error occurred."
msgstr ""

#: c-api/unicode.rst:1484
msgid ""
"Replace at most *maxcount* occurrences of *substr* in *str* with *replstr* "
"and return the resulting Unicode object. *maxcount* == ``-1`` means replace "
"all occurrences."
msgstr ""

#: c-api/unicode.rst:1491
msgid ""
"Compare two strings and return ``-1``, ``0``, ``1`` for less than, equal, "
"and greater than, respectively."
msgstr ""

#: c-api/unicode.rst:1494
msgid ""
"This function returns ``-1`` upon failure, so one should call :c:func:"
"`PyErr_Occurred` to check for errors."
msgstr ""

#: c-api/unicode.rst:1500
msgid ""
"Compare a Unicode object, *uni*, with *string* and return ``-1``, ``0``, "
"``1`` for less than, equal, and greater than, respectively. It is best to "
"pass only ASCII-encoded strings, but the function interprets the input "
"string as ISO-8859-1 if it contains non-ASCII characters."
msgstr ""

#: c-api/unicode.rst:1505
msgid "This function does not raise exceptions."
msgstr ""

#: c-api/unicode.rst:1510
msgid "Rich compare two Unicode strings and return one of the following:"
msgstr ""

#: c-api/unicode.rst:1512
msgid "``NULL`` in case an exception was raised"
msgstr ""

#: c-api/unicode.rst:1513
msgid ":const:`Py_True` or :const:`Py_False` for successful comparisons"
msgstr ""

#: c-api/unicode.rst:1514
msgid ":const:`Py_NotImplemented` in case the type combination is unknown"
msgstr ""

#: c-api/unicode.rst:1516
msgid ""
"Possible values for *op* are :const:`Py_GT`, :const:`Py_GE`, :const:"
"`Py_EQ`, :const:`Py_NE`, :const:`Py_LT`, and :const:`Py_LE`."
msgstr ""

#: c-api/unicode.rst:1522
msgid ""
"Return a new string object from *format* and *args*; this is analogous to "
"``format % args``."
msgstr ""

#: c-api/unicode.rst:1528
msgid ""
"Check whether *element* is contained in *container* and return true or false "
"accordingly."
msgstr ""

#: c-api/unicode.rst:1531
msgid ""
"*element* has to coerce to a one element Unicode string. ``-1`` is returned "
"if there was an error."
msgstr ""

#: c-api/unicode.rst:1537
msgid ""
"Intern the argument *\\*string* in place.  The argument must be the address "
"of a pointer variable pointing to a Python Unicode string object.  If there "
"is an existing interned string that is the same as *\\*string*, it sets "
"*\\*string* to it (decrementing the reference count of the old string object "
"and incrementing the reference count of the interned string object), "
"otherwise it leaves *\\*string* alone and interns it (incrementing its "
"reference count). (Clarification: even though there is a lot of talk about "
"reference counts, think of this function as reference-count-neutral; you own "
"the object after the call if and only if you owned it before the call.)"
msgstr ""

#: c-api/unicode.rst:1550
msgid ""
"A combination of :c:func:`PyUnicode_FromString` and :c:func:"
"`PyUnicode_InternInPlace`, returning either a new Unicode string object that "
"has been interned, or a new (\"owned\") reference to an earlier interned "
"string object with the same value."
msgstr ""
