make merge from cpython 3.9 (#1330)

This commit is contained in:
Julien Palard 2020-06-05 09:32:47 +02:00 committed by GitHub
commit c3fedc6e1c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -44,232 +44,3 @@ msgid ""
"library then handles differences between various Python versions and "
"implementations."
msgstr ""
#~ msgid "author"
#~ msgstr "auteur"
#~ msgid "Benjamin Peterson"
#~ msgstr "Benjamin Peterson"
#~ msgid "Abstract"
#~ msgstr "Résumé"
#~ msgid ""
#~ "Although changing the C-API was not one of Python 3's objectives, the "
#~ "many Python-level changes made leaving Python 2's API intact impossible. "
#~ "In fact, some changes such as :func:`int` and :func:`long` unification "
#~ "are more obvious on the C level. This document endeavors to document "
#~ "incompatibilities and how they can be worked around."
#~ msgstr ""
#~ "Changer l'API C n'était pas l'un des objectifs de Python 3, cependant les "
#~ "nombreux changements au niveau Python ont rendu impossible de garder "
#~ "l'API de Python 2 comme elle était. Certains changements tels que "
#~ "l'unification de :func:`int` et :func:`long` sont plus apparents au "
#~ "niveau C. Ce document s'efforce de documenter les incompatibilités et la "
#~ "façon dont elles peuvent être contournées."
#~ msgid "Conditional compilation"
#~ msgstr "Compilation conditionnelle"
#~ msgid ""
#~ "The easiest way to compile only some code for Python 3 is to check if :c:"
#~ "macro:`PY_MAJOR_VERSION` is greater than or equal to 3. ::"
#~ msgstr ""
#~ "La façon la plus simple de compiler seulement une section de code pour "
#~ "Python 3 est de vérifier si :c:macro:`PY_MAJOR_VERSION` est supérieur ou "
#~ "égal à 3. ::"
#~ msgid ""
#~ "API functions that are not present can be aliased to their equivalents "
#~ "within conditional blocks."
#~ msgstr ""
#~ "Les fonctions manquantes dans l'API peuvent être remplacées par des alias "
#~ "à leurs équivalents dans des blocs conditionnels."
#~ msgid "Changes to Object APIs"
#~ msgstr "Modifications apportées aux API des objets"
#~ msgid ""
#~ "Python 3 merged together some types with similar functions while cleanly "
#~ "separating others."
#~ msgstr ""
#~ "Python 3 a fusionné certains types avec des fonctions identiques tout en "
#~ "séparant de façon propre, d'autres."
#~ msgid "str/unicode Unification"
#~ msgstr "Unification de *str* et *unicode*"
#~ msgid ""
#~ "Python 3's :func:`str` type is equivalent to Python 2's :func:`unicode`; "
#~ "the C functions are called ``PyUnicode_*`` for both. The old 8-bit "
#~ "string type has become :func:`bytes`, with C functions called "
#~ "``PyBytes_*``. Python 2.6 and later provide a compatibility header, :"
#~ "file:`bytesobject.h`, mapping ``PyBytes`` names to ``PyString`` ones. "
#~ "For best compatibility with Python 3, :c:type:`PyUnicode` should be used "
#~ "for textual data and :c:type:`PyBytes` for binary data. It's also "
#~ "important to remember that :c:type:`PyBytes` and :c:type:`PyUnicode` in "
#~ "Python 3 are not interchangeable like :c:type:`PyString` and :c:type:"
#~ "`PyUnicode` are in Python 2. The following example shows best practices "
#~ "with regards to :c:type:`PyUnicode`, :c:type:`PyString`, and :c:type:"
#~ "`PyBytes`. ::"
#~ msgstr ""
#~ "Le type :func:`str` de Python 3 est l'équivalent de :func:`unicode` sous "
#~ "Python 2 ; Les fonctions C sont appelées ``PyUnicode_*`` pour les deux "
#~ "versions. L'ancien type de chaîne de caractères de 8 bits est devenue :"
#~ "func:`bytes`, avec des fonctions C nommées ``PyBytes_*``. Python 2.6 et "
#~ "toutes les versions supérieures fournissent un en-tête de compatibilité, :"
#~ "file:`bytesobject.h`, faisant correspondre les noms ``PyBytes`` aux "
#~ "``PyString``. Pour une meilleure compatibilité avec Python 3, :c:type:"
#~ "`PyUnicode` doit être utilisé seulement pour des données textuelles et :c:"
#~ "type:`PyBytes` pour des données binaires. Il est important de noter que :"
#~ "c:type:`PyBytes` et :c:type:`PyUnicode` en Python 3 ne sont pas "
#~ "remplaçables contrairement à :c:type:`PyString` et :c:type:`PyUnicode` "
#~ "dans Python 2. L'exemple suivant montre l'utilisation optimale de :c:type:"
#~ "`PyUnicode`, :c:type:`PyString`, et :c:type:`PyBytes`. ::"
#~ msgid "long/int Unification"
#~ msgstr "Unification de *long* et *int*"
#~ msgid ""
#~ "Python 3 has only one integer type, :func:`int`. But it actually "
#~ "corresponds to Python 2's :func:`long` type—the :func:`int` type used in "
#~ "Python 2 was removed. In the C-API, ``PyInt_*`` functions are replaced "
#~ "by their ``PyLong_*`` equivalents."
#~ msgstr ""
#~ "Python 3 n'a qu'un type d'entier, :func:`int`. Mais il correspond au "
#~ "type :func:`long` de Python 2 — le type :func:`int` utilisé dans Python 2 "
#~ "a été supprimé. Dans l'API C, les fonctions ``PyInt_*`` sont remplacées "
#~ "par leurs équivalents ``PyLong_*``."
#~ msgid "Module initialization and state"
#~ msgstr "Initialisation et état du module"
#~ msgid ""
#~ "Python 3 has a revamped extension module initialization system. (See :"
#~ "pep:`3121`.) Instead of storing module state in globals, they should be "
#~ "stored in an interpreter specific structure. Creating modules that act "
#~ "correctly in both Python 2 and Python 3 is tricky. The following simple "
#~ "example demonstrates how. ::"
#~ msgstr ""
#~ "Python 3 a remanié son système d'initialisation des modules d'extension "
#~ "(Voir :pep:`3121`.). Au lieu de stocker les états de module dans les "
#~ "variables globales, les états doivent être stockés dans une structure "
#~ "spécifique à l'interpréteur. Créer des modules qui ont un fonctionnement "
#~ "correct en Python 2 et Python 3 est délicat. L'exemple suivant montre "
#~ "comment. ::"
#~ msgid "CObject replaced with Capsule"
#~ msgstr "CObject remplacé par Capsule"
#~ msgid ""
#~ "The :c:type:`Capsule` object was introduced in Python 3.1 and 2.7 to "
#~ "replace :c:type:`CObject`. CObjects were useful, but the :c:type:"
#~ "`CObject` API was problematic: it didn't permit distinguishing between "
#~ "valid CObjects, which allowed mismatched CObjects to crash the "
#~ "interpreter, and some of its APIs relied on undefined behavior in C. (For "
#~ "further reading on the rationale behind Capsules, please see :issue:"
#~ "`5630`.)"
#~ msgstr ""
#~ "L'objet :c:type:`Capsule` a été introduit dans Python 3.1 et 2.7 pour "
#~ "remplacer :c:type:`CObject`. Le type :c:type:`CObject` était utile, mais "
#~ "son API posait des soucis : elle ne permettait pas la distinction entre "
#~ "les objets C valides, ce qui permettait aux objets C assortis "
#~ "incorrectement de planter l'interpréteur, et certaines des API "
#~ "s'appuyaient sur un comportement indéfini en C. (Pour plus de détails sur "
#~ "la logique de Capsules, veuillez consulter :issue:`5630`)."
#~ msgid ""
#~ "If you're currently using CObjects, and you want to migrate to 3.1 or "
#~ "newer, you'll need to switch to Capsules. :c:type:`CObject` was "
#~ "deprecated in 3.1 and 2.7 and completely removed in Python 3.2. If you "
#~ "only support 2.7, or 3.1 and above, you can simply switch to :c:type:"
#~ "`Capsule`. If you need to support Python 3.0, or versions of Python "
#~ "earlier than 2.7, you'll have to support both CObjects and Capsules. "
#~ "(Note that Python 3.0 is no longer supported, and it is not recommended "
#~ "for production use.)"
#~ msgstr ""
#~ "Si vous utilisez actuellement CObjects et que vous voulez migrer vers la "
#~ "version 3.1 ou plus récente, vous devrez passer à Capsules. :c:type:"
#~ "`CObject` est déprécié dans 3.1 et 2.7 et est supprimé dans Python 3.2. "
#~ "Si vous ne gérez que les versions 2.7, ou 3.1 et supérieures, vous pouvez "
#~ "simplement passer à :c:type:`Capsule`. Si vous avez besoin de gérer "
#~ "Python 3.0, ou des versions de Python antérieures à 2.7, vous devez gérer "
#~ "CObjects et Capsules. (Notez que Python 3.0 n'est plus maintenu, et qu'il "
#~ "n'est pas recommandé pour une utilisation en production)."
#~ msgid ""
#~ "The following example header file :file:`capsulethunk.h` may solve the "
#~ "problem for you. Simply write your code against the :c:type:`Capsule` "
#~ "API and include this header file after :file:`Python.h`. Your code will "
#~ "automatically use Capsules in versions of Python with Capsules, and "
#~ "switch to CObjects when Capsules are unavailable."
#~ msgstr ""
#~ "L'exemple suivant d'en-tête de fichier :file:`capsulethunk.h` peut "
#~ "résoudre le problème. Il suffit d'écrire votre code dans l'API :c:type:"
#~ "`Capsule` et d'inclure ce fichier d'en-tête après :file:`Python.h`. Votre "
#~ "code utilisera automatiquement Capsules dans les versions de Python avec "
#~ "Capsules, et passera à CObjects lorsque les Capsules ne sont pas "
#~ "disponibles."
#~ msgid ""
#~ ":file:`capsulethunk.h` simulates Capsules using CObjects. However, :c:"
#~ "type:`CObject` provides no place to store the capsule's \"name\". As a "
#~ "result the simulated :c:type:`Capsule` objects created by :file:"
#~ "`capsulethunk.h` behave slightly differently from real Capsules. "
#~ "Specifically:"
#~ msgstr ""
#~ ":file:`capsulethunk.h` reproduit le fonctionnement de Capsules en "
#~ "utilisant CObjects. Cependant, :c:type:`CObject` ne permet pas de stocker "
#~ "le \"nom\" de la capsule. Les objets simulés :c:type:`Capsule` créés par :"
#~ "file:`capsulethunk.h` se comportent légèrement différemment des "
#~ "véritables Capsules. Ainsi :"
#~ msgid "The name parameter passed in to :c:func:`PyCapsule_New` is ignored."
#~ msgstr "Le paramètre *name* passé à :c:func:`PyCapsule_New` est ignoré."
#~ msgid ""
#~ "The name parameter passed in to :c:func:`PyCapsule_IsValid` and :c:func:"
#~ "`PyCapsule_GetPointer` is ignored, and no error checking of the name is "
#~ "performed."
#~ msgstr ""
#~ "Le paramètre *name* passé à :c:func:`PyCapsule_IsValid` et :c:func:"
#~ "`PyCapsule_GetPointer` est ignoré et il n'y a pas de vérification "
#~ "d'erreur du nom."
#~ msgid ":c:func:`PyCapsule_GetName` always returns NULL."
#~ msgstr ":c:func:`PyCapsule_GetName` renvoie toujours un NULL."
#~ msgid ""
#~ ":c:func:`PyCapsule_SetName` always raises an exception and returns "
#~ "failure. (Since there's no way to store a name in a CObject, noisy "
#~ "failure of :c:func:`PyCapsule_SetName` was deemed preferable to silent "
#~ "failure here. If this is inconvenient, feel free to modify your local "
#~ "copy as you see fit.)"
#~ msgstr ""
#~ ":c:func:`PyCapsule_SetName` lève toujours une exception et renvoie un "
#~ "échec. Note : Puisqu'il n'y a aucun moyen de stocker un nom dans un "
#~ "CObject, l'échec verbeux de :c:func:`PyCapsule_SetName` a été jugé "
#~ "préférable à un échec non-verbeux dans ce cas. Si cela ne vous convenait "
#~ "pas, vous pouvez modifier votre copie locale selon vos besoins."
#~ msgid ""
#~ "You can find :file:`capsulethunk.h` in the Python source distribution as :"
#~ "source:`Doc/includes/capsulethunk.h`. We also include it here for your "
#~ "convenience:"
#~ msgstr ""
#~ "Vous pouvez trouver :file:`capsulethunk.h` dans la distribution source de "
#~ "Python comme :source:`Doc/includes/capsulethunk.h`. Nous l'incluons ici "
#~ "pour votre confort :"
#~ msgid "Other options"
#~ msgstr "Autres options"
#~ msgid ""
#~ "If you are writing a new extension module, you might consider `Cython "
#~ "<http://cython.org/>`_. It translates a Python-like language to C. The "
#~ "extension modules it creates are compatible with Python 3 and Python 2."
#~ msgstr ""
#~ "Si vous écrivez un nouveau module d'extension, vous pouvez envisager "
#~ "d'utiliser `Cython <http://cython.org/>`_. Il traduit un langage de type "
#~ "Python en C. Les modules d'extension qu'il crée sont compatibles avec "
#~ "Python 3 et Python 2."

View file

@ -1296,220 +1296,3 @@ msgstr ""
"Marius Gedminas, Kent Johnson, Ken Krugler, Marc-André Lemburg, Martin von "
"Löwis, Terry J. Reedy, Serhiy Storchaka, Eryk Sun, Chad Whitacre, Graham "
"Wideman."
#~ msgid "History of Character Codes"
#~ msgstr "Histoire des codes de caractères"
#~ msgid ""
#~ "In 1968, the American Standard Code for Information Interchange, better "
#~ "known by its acronym ASCII, was standardized. ASCII defined numeric "
#~ "codes for various characters, with the numeric values running from 0 to "
#~ "127. For example, the lowercase letter 'a' is assigned 97 as its code "
#~ "value."
#~ msgstr ""
#~ "En 1968, l'*American Standard Code for Information Interchange*, mieux "
#~ "connu sous son acronyme *ASCII*, a été normalisé. L'ASCII définissait des "
#~ "codes numériques pour différents caractères, les valeurs numériques "
#~ "s'étendant de 0 à 127. Par exemple, la lettre minuscule « a » est "
#~ "assignée à 97 comme valeur de code."
#~ msgid ""
#~ "ASCII was an American-developed standard, so it only defined unaccented "
#~ "characters. There was an 'e', but no 'é' or 'Í'. This meant that "
#~ "languages which required accented characters couldn't be faithfully "
#~ "represented in ASCII. (Actually the missing accents matter for English, "
#~ "too, which contains words such as 'naïve' and 'café', and some "
#~ "publications have house styles which require spellings such as "
#~ "'coöperate'.)"
#~ msgstr ""
#~ "ASCII était une norme développée par les États-Unis, elle ne définissait "
#~ "donc que des caractères non accentués. Il y avait « e », mais pas « é » "
#~ "ou « Í ». Cela signifiait que les langues qui nécessitaient des "
#~ "caractères accentués ne pouvaient pas être fidèlement représentées en "
#~ "ASCII. (En fait, les accents manquants importaient pour l'anglais aussi, "
#~ "qui contient des mots tels que « naïve » et « café », et certaines "
#~ "publications ont des styles propres qui exigent des orthographes tels que "
#~ "« *coöperate* ».)"
#~ msgid ""
#~ "For a while people just wrote programs that didn't display accents. In "
#~ "the mid-1980s an Apple II BASIC program written by a French speaker might "
#~ "have lines like these:"
#~ msgstr ""
#~ "Pendant un certain temps, les gens ont juste écrit des programmes qui "
#~ "n'affichaient pas d'accents. Au milieu des années 1980, un programme "
#~ "Apple II BASIC écrit par un français pouvait avoir des lignes comme "
#~ "celles-ci ::"
#~ msgid ""
#~ "Those messages should contain accents (terminée, paramètre, enregistrés) "
#~ "and they just look wrong to someone who can read French."
#~ msgstr ""
#~ "Ces messages devraient contenir des accents (terminée, paramètre, "
#~ "enregistrés) et ils ont juste l'air anormaux à quelqu'un lisant le "
#~ "français."
#~ msgid ""
#~ "In the 1980s, almost all personal computers were 8-bit, meaning that "
#~ "bytes could hold values ranging from 0 to 255. ASCII codes only went up "
#~ "to 127, so some machines assigned values between 128 and 255 to accented "
#~ "characters. Different machines had different codes, however, which led "
#~ "to problems exchanging files. Eventually various commonly used sets of "
#~ "values for the 128--255 range emerged. Some were true standards, defined "
#~ "by the International Organization for Standardization, and some were *de "
#~ "facto* conventions that were invented by one company or another and "
#~ "managed to catch on."
#~ msgstr ""
#~ "Dans les années 1980, presque tous les ordinateurs personnels étaient à 8 "
#~ "bits, ce qui signifie que les octets pouvaient contenir des valeurs "
#~ "allant de 0 à 255. Les codes ASCII allaient seulement jusqu'à 127, alors "
#~ "certaines machines ont assigné les valeurs entre 128 et 255 à des "
#~ "caractères accentués. Différentes machines avaient des codes différents, "
#~ "cependant, ce qui a conduit à des problèmes d'échange de fichiers. "
#~ "Finalement, divers ensembles de valeurs couramment utilisés pour la gamme "
#~ "128--255 ont émergé. Certains étaient de véritables normes, définies par "
#~ "l'Organisation internationale de normalisation, et certaines étaient des "
#~ "conventions *de facto* qui ont été inventées par une entreprise ou une "
#~ "autre et qui ont fini par se répandre."
#~ msgid ""
#~ "255 characters aren't very many. For example, you can't fit both the "
#~ "accented characters used in Western Europe and the Cyrillic alphabet used "
#~ "for Russian into the 128--255 range because there are more than 128 such "
#~ "characters."
#~ msgstr ""
#~ "255 caractères, ça n'est pas beaucoup. Par exemple, vous ne pouvez pas "
#~ "contenir à la fois les caractères accentués utilisés en Europe "
#~ "occidentale et l'alphabet cyrillique utilisé pour le russe dans la gamme "
#~ "128--255, car il y a plus de 128 de tous ces caractères."
#~ msgid ""
#~ "You could write files using different codes (all your Russian files in a "
#~ "coding system called KOI8, all your French files in a different coding "
#~ "system called Latin1), but what if you wanted to write a French document "
#~ "that quotes some Russian text? In the 1980s people began to want to "
#~ "solve this problem, and the Unicode standardization effort began."
#~ msgstr ""
#~ "Vous pouviez écrire les fichiers avec des codes différents (tous vos "
#~ "fichiers russes dans un système de codage appelé *KOI8*, tous vos "
#~ "fichiers français dans un système de codage différent appelé *Latin1*), "
#~ "mais que faire si vous souhaitiez écrire un document français citant du "
#~ "texte russe ? Dans les années 80, les gens ont commencé à vouloir "
#~ "résoudre ce problème, et les efforts de standardisation Unicode ont "
#~ "commencé."
#~ msgid ""
#~ "Unicode started out using 16-bit characters instead of 8-bit characters. "
#~ "16 bits means you have 2^16 = 65,536 distinct values available, making it "
#~ "possible to represent many different characters from many different "
#~ "alphabets; an initial goal was to have Unicode contain the alphabets for "
#~ "every single human language. It turns out that even 16 bits isn't enough "
#~ "to meet that goal, and the modern Unicode specification uses a wider "
#~ "range of codes, 0 through 1,114,111 ( ``0x10FFFF`` in base 16)."
#~ msgstr ""
#~ "Unicode a commencé par utiliser des caractères 16 bits au lieu de 8 bits. "
#~ "16 bits signifie que vous avez 2^16 = 65 536 valeurs distinctes "
#~ "disponibles, ce qui permet de représenter de nombreux caractères "
#~ "différents à partir de nombreux alphabets différents. Un des objectifs "
#~ "initiaux était de faire en sorte que Unicode contienne les alphabets de "
#~ "chaque langue humaine. Il savère que même 16 bits ne suffisent pas pour "
#~ "atteindre cet objectif, et la spécification Unicode moderne utilise une "
#~ "gamme de codes plus étendue, allant de 0 à 1 114 111 (``0x10FFFF`` en "
#~ "base 16)."
#~ msgid ""
#~ "There's a related ISO standard, ISO 10646. Unicode and ISO 10646 were "
#~ "originally separate efforts, but the specifications were merged with the "
#~ "1.1 revision of Unicode."
#~ msgstr ""
#~ "Il existe une norme ISO connexe, ISO 10646. Unicode et ISO 10646 étaient "
#~ "à lorigine des efforts séparés, mais les spécifications ont été "
#~ "fusionnées avec la révision 1.1 dUnicode."
#~ msgid ""
#~ "(This discussion of Unicode's history is highly simplified. The precise "
#~ "historical details aren't necessary for understanding how to use Unicode "
#~ "effectively, but if you're curious, consult the Unicode consortium site "
#~ "listed in the References or the `Wikipedia entry for Unicode <https://en."
#~ "wikipedia.org/wiki/Unicode#History>`_ for more information.)"
#~ msgstr ""
#~ "(Cette discussion sur lhistorique dUnicode est extrêmement simplifiée. "
#~ "Les détails historiques précis ne sont pas nécessaires pour comprendre "
#~ "comment utiliser efficacement Unicode, mais si vous êtes curieux, "
#~ "consultez le site du consortium Unicode indiqué dans les références ou la "
#~ "`page Wikipédia pour Unicode <https://en.wikipedia.org/wiki/"
#~ "Unicode#History>`_ (page en anglais) pour plus dinformations.)"
#~ msgid ""
#~ "Many Internet standards are defined in terms of textual data, and can't "
#~ "handle content with embedded zero bytes."
#~ msgstr ""
#~ "De nombreuses normes Internet sont définies en termes de données "
#~ "textuelles et ne peuvent pas gérer le contenu incorporant des octets "
#~ "*zéro*."
#~ msgid ""
#~ "Generally people don't use this encoding, instead choosing other "
#~ "encodings that are more efficient and convenient. UTF-8 is probably the "
#~ "most commonly supported encoding; it will be discussed below."
#~ msgstr ""
#~ "Généralement, les gens nutilisent pas cet encodage, mais optent pour "
#~ "dautres encodages plus efficaces et pratiques. UTF-8 est probablement "
#~ "lencodage le plus couramment pris en charge ; celui-ci sera abordé ci-"
#~ "dessous."
#~ msgid ""
#~ "Encodings don't have to handle every possible Unicode character, and most "
#~ "encodings don't. The rules for converting a Unicode string into the "
#~ "ASCII encoding, for example, are simple; for each code point:"
#~ msgstr ""
#~ "Les encodages n'ont pas à gérer tous les caractères Unicode possibles, et "
#~ "les plupart ne le font pas. Les règles pour convertir une chaîne Unicode "
#~ "en codage ASCII, par exemple, sont simples. pour chaque point de code :"
#~ msgid ""
#~ "If the code point is < 128, each byte is the same as the value of the "
#~ "code point."
#~ msgstr ""
#~ "Si le point de code est < 128, chaque octet est identique à la valeur du "
#~ "point de code."
#~ msgid ""
#~ "If the code point is 128 or greater, the Unicode string can't be "
#~ "represented in this encoding. (Python raises a :exc:`UnicodeEncodeError` "
#~ "exception in this case.)"
#~ msgstr ""
#~ "Si le point de code est égal à 128 ou plus, la chaîne Unicode ne peut pas "
#~ "être représentée dans ce codage (Python déclenche une exception :exc:"
#~ "`UnicodeEncodeError` dans ce cas)."
#~ msgid ""
#~ "Latin-1, also known as ISO-8859-1, is a similar encoding. Unicode code "
#~ "points 0--255 are identical to the Latin-1 values, so converting to this "
#~ "encoding simply requires converting code points to byte values; if a code "
#~ "point larger than 255 is encountered, the string can't be encoded into "
#~ "Latin-1."
#~ msgstr ""
#~ "Latin-1, également connu sous le nom de ISO-8859-1, est un encodage "
#~ "similaire. Les points de code Unicode 0255 étant identiques aux valeurs "
#~ "de Latin-1, la conversion en cet encodage nécessite simplement la "
#~ "conversion des points de code en octets de même valeur ; si un point de "
#~ "code supérieur à 255 est rencontré, la chaîne ne peut pas être codée en "
#~ "latin-1."
#~ msgid ""
#~ "Encodings don't have to be simple one-to-one mappings like Latin-1. "
#~ "Consider IBM's EBCDIC, which was used on IBM mainframes. Letter values "
#~ "weren't in one block: 'a' through 'i' had values from 129 to 137, but 'j' "
#~ "through 'r' were 145 through 153. If you wanted to use EBCDIC as an "
#~ "encoding, you'd probably use some sort of lookup table to perform the "
#~ "conversion, but this is largely an internal detail."
#~ msgstr ""
#~ "Les encodages ne doivent pas nécessairement être de simples mappages un à "
#~ "un, comme Latin-1. Prenons lexemple du code EBCDIC dIBM, utilisé sur "
#~ "les ordinateurs centraux IBM. Les valeurs de lettre ne faisaient pas "
#~ "partie dun bloc: les lettres « a » à « i » étaient comprises entre 129 "
#~ "et 137, mais les lettres « j » à « r » étaient comprises entre 145 et "
#~ "153. Si vous vouliez utiliser EBCDIC comme encodage, vous auriez "
#~ "probablement utilisé une sorte de table de correspondance pour effectuer "
#~ "la conversion, mais il sagit en surtout dun détail d'implémentation."