From b9ef5d034413d300bdf52f4e0944bd998ac4b7c0 Mon Sep 17 00:00:00 2001 From: Mathieu Dupuy Date: Tue, 3 Sep 2019 19:38:45 +0200 Subject: [PATCH 1/5] Howto Unicode : petites corrections --- howto/unicode.po | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/howto/unicode.po b/howto/unicode.po index ff6aedfc8..720658c39 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-23 16:48+0200\n" -"PO-Revision-Date: 2019-06-08 10:54+0200\n" +"PO-Revision-Date: 2019-09-03 13:11+0200\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -180,7 +180,7 @@ msgid "" msgstr "" "Le premier encodage auquel vous pouvez penser est l'utilisation d'entiers 32 " "bits comme unité de code, puis l'utilisation de la représentation des " -"entiers 32 bits par le CPU. Dans cette représentation, la chaîne \"Python\" " +"entiers 32 bits par le CPU. Dans cette représentation, la chaîne « Python » " "ressemblerait à ceci :" #: ../Doc/howto/unicode.rst:106 @@ -386,8 +386,8 @@ msgid "" "encoding `_\" and `UTF-8 " "`_, for example." msgstr "" -"Les pages Wikipédia sont souvent utiles ; voir les pages pour \"`Codage des " -"caractères `_\" et " +"Les pages Wikipédia sont souvent utiles ; voir les pages pour « `Codage des " +"caractères `_ » et " "`UTF-8 `_, par exemple." #: ../Doc/howto/unicode.rst:183 @@ -413,7 +413,7 @@ msgid "" "``'unicode rocks!'``, or the triple-quoted string syntax is stored as " "Unicode." msgstr "" -"\"Depuis Python 3.0, le type :class:`str` du langage contient des caractères " +"Depuis Python 3.0, le type :class:`str` du langage contient des caractères " "Unicode, c'est-à-dire n'importe quelle chaîne créée à l'aide de ``\"unicode " "déchire !\"``, ``'unicode déchire !'`` ou la syntaxe à triples guillemets " "est enregistrée comme Unicode." @@ -469,11 +469,11 @@ msgid "" msgstr "" "L'argument *errors* détermine la réponse lorsque la chaîne en entrée ne peut " "pas être convertie selon les règles de l'encodage. Les valeurs autorisées " -"pour cet argument sont ``'strict'`` (\"strict\" : lève une exception :exc:" -"`UnicodeDecodeError`) , ``'replace'`` (\"remplacer\" : utilise ``U+FFFD``, " -"``REPLACEMENT CARACTER``), ``'ignore'`` (\"ignorer\" : n'inclut pas le " -"caractère dans le résultat Unicode) ou ``'backslashreplace'`` (\"remplacer " -"avec antislash\" : insère une séquence d’échappement ``\\xNN``). Les " +"pour cet argument sont ``'strict'`` (« strict » : lève une exception :exc:" +"`UnicodeDecodeError`) , ``'replace'`` (« remplacer » : utilise ``U+FFFD``, " +"``REPLACEMENT CARACTER``), ``'ignore'`` (« ignorer » : n'inclut pas le " +"caractère dans le résultat Unicode) ou ``'backslashreplace'`` (« remplacer " +"avec antislash » : insère une séquence d’échappement ``\\xNN``). Les " "exemples suivants illustrent les différences ::" #: ../Doc/howto/unicode.rst:247 @@ -554,7 +554,7 @@ msgstr "" "disponibles se trouvent dans le module :mod:`codecs`. L'implémentation de " "nouveaux encodages nécessite également de comprendre le module :mod:" "`codecs`. Cependant, les fonctions d'encodage et de décodage renvoyées par " -"ce module sont généralement de trop bas-niveau pour être confortables et " +"ce module sont généralement de bas-niveau pour être facilement utilisées et " "l'écriture de nouveaux encodages est une tâche très spécialisée, donc le " "module ne sera pas couvert dans ce HOWTO." @@ -739,9 +739,9 @@ msgid "" "differently:" msgstr "" "Un deuxième outil est la fonction :mod:`unicodedata` du module :func:" -"`~unicodedata.normalize` du module qui convertit les chaînes de caractères " -"en l'une de plusieurs formes normales, où les lettres suivies d'un caractère " -"de combinaison sont remplacées par des caractères simples. :func:`normalize` " +"`~unicodedata.normalize` qui convertit les chaînes de caractères en l'une de " +"plusieurs formes normales, où les lettres suivies d'un caractère de " +"combinaison sont remplacées par des caractères simples. :func:`normalize` " "peut être utilisée pour effectuer des comparaisons qui ne rapportent pas " "faussement les inégalités si deux chaînes utilisent différents caractères de " "combinaison :" @@ -795,9 +795,8 @@ msgstr "" "fournies sous forme de chaîne d'octets ou de texte. Certaines séquences de " "caractères spéciaux telles que ``\\d`` et ``\\w`` ont des significations " "différentes selon que le motif est fourni en octets ou en texte. Par " -"exemple, ``\\d``` correspond aux caractères ``[0-9]`` en octets mais dans " -"les chaînes de caractères correspond à tout caractère de la catégorie " -"``'Nd'``." +"exemple, ``\\d`` correspond aux caractères ``[0-9]`` en octets mais dans les " +"chaînes de caractères correspond à tout caractère de la catégorie ``'Nd'``." #: ../Doc/howto/unicode.rst:492 msgid "" @@ -874,11 +873,11 @@ msgid "" "Python 2's Unicode features (where the Unicode string type is called " "``unicode`` and literals start with ``u``)." msgstr "" -"Marc-André Lemburg a fait une présentation intitulée `« Python et " +"Marc-André Lemburg a donné une présentation intitulée `« Python et " "Unicode » (diapositives PDF) `_ à EuroPython 2002. Les diapositives sont un excellent " "aperçu de la conception des fonctionnalités Unicode de Python 2 (où le type " -"de chaîne Unicode est appelé ``unicode`` et commence littéralement par " +"de chaîne Unicode est appelé ``unicode`` et les littéraux commencent par " "``u``)." #: ../Doc/howto/unicode.rst:537 From a609b4b8ee6a22a9bd5ebfed437e10e900c59bcb Mon Sep 17 00:00:00 2001 From: Mathieu Dupuy Date: Wed, 4 Sep 2019 20:52:34 -0400 Subject: [PATCH 2/5] =?UTF-8?q?Howto=20Unicode=20:=203=C3=A8me=20partie,?= =?UTF-8?q?=20suite=20et=20fin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- howto/unicode.po | 163 ++++++++++++++++++++++++++++++++++++++++--- library/functions.po | 4 +- 2 files changed, 157 insertions(+), 10 deletions(-) diff --git a/howto/unicode.po b/howto/unicode.po index 720658c39..41b781534 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -882,7 +882,7 @@ msgstr "" #: ../Doc/howto/unicode.rst:537 msgid "Reading and Writing Unicode Data" -msgstr "" +msgstr "Lecture et écriture de données Unicode" #: ../Doc/howto/unicode.rst:539 msgid "" @@ -890,6 +890,10 @@ msgid "" "is input/output. How do you get Unicode strings into your program, and how " "do you convert Unicode into a form suitable for storage or transmission?" msgstr "" +"Une fois que vous avez écrit du code qui fonctionne avec des données " +"Unicode, le problème suivant est les entrées/sorties. Comment obtenir des " +"chaînes Unicode dans votre programme, et comment convertir les chaînes " +"Unicode dans une forme appropriée pour le stockage ou la transmission ?" #: ../Doc/howto/unicode.rst:543 msgid "" @@ -899,6 +903,13 @@ msgid "" "Unicode data, for example. Many relational databases also support Unicode-" "valued columns and can return Unicode values from an SQL query." msgstr "" +"Il est possible que vous n'ayez rien à faire en fonction de vos sources " +"d'entrée et de vos destinations de sortie ; vous devriez vérifier si les " +"bibliothèques utilisées dans votre application supportent Unicode " +"nativement. Par exemple, les analyseurs XML renvoient souvent des données " +"Unicode. De nombreuses bases de données relationnelles prennent également en " +"charge les colonnes encodées en Unicode et peuvent renvoyer des valeurs " +"Unicode à partir d'une requête SQL." #: ../Doc/howto/unicode.rst:549 msgid "" @@ -908,6 +919,11 @@ msgid "" "bytes with ``bytes.decode(encoding)``. However, the manual approach is not " "recommended." msgstr "" +"Les données Unicode sont généralement converties en un encodage particulier " +"avant d'être écrites sur le disque ou envoyées sur un connecteur réseau. Il " +"est possible de faire tout le travail vous-même : ouvrir un fichier, lire un " +"élément 8-bits, et convertir les octets avec ``bytes.decode(encoding)``. " +"Cependant, l'approche manuelle n'est pas recommandée." #: ../Doc/howto/unicode.rst:554 msgid "" @@ -922,6 +938,17 @@ msgid "" "least a moment you'd need to have both the encoded string and its Unicode " "version in memory.)" msgstr "" +"Un problème est la nature multi-octets des encodages ; un caractère Unicode " +"peut être représenté par plusieurs octets. Si vous voulez lire le fichier en " +"morceaux de taille arbitraire (disons 1024 ou 4096 octets), vous devez " +"écrire un code de gestion des erreurs pour détecter le cas où une partie " +"seulement des octets codant un seul caractère Unicode sont lus à la fin d'un " +"morceau. Une solution serait de lire le fichier entier en mémoire et " +"d'effectuer le décodage, mais cela vous empêche de travailler avec des " +"fichiers extrêmement volumineux ; si vous avez besoin de lire un fichier de " +"2 GiB, vous avez besoin de 2 GiB de RAM (plus que ça, en fait, puisque pour " +"au moins un moment, vous aurez besoin d'avoir à la fois la chaîne encodée et " +"sa version Unicode en mémoire)." #: ../Doc/howto/unicode.rst:564 msgid "" @@ -934,16 +961,27 @@ msgid "" "*encoding* and *errors* parameters which are interpreted just like those in :" "meth:`str.encode` and :meth:`bytes.decode`." msgstr "" +"La solution serait d'utiliser l'interface de décodage de bas-niveau pour " +"intercepter le cas des séquences d'encodage incomplètes. Le travail " +"d'implémenter cela a déjà été fait pour vous : la fonction native :func:" +"`open` peut retourner un objet de type fichier qui suppose que le contenu du " +"fichier est dans un encodage spécifié et accepte les paramètres Unicode pour " +"des méthodes telles que :meth:`~io.TextIOBase.read` et :meth:`~io.TextIOBase." +"write`. Ceci fonctionne grâce aux paramètres *encoding* et *errors* de :" +"func:`open` qui sont interprétés comme ceux de :meth:`str.encode` et :meth:" +"`bytes.decode`." #: ../Doc/howto/unicode.rst:573 msgid "Reading Unicode from a file is therefore simple::" -msgstr "" +msgstr "Lire de l'Unicode à partir d'un fichier est donc simple ::" #: ../Doc/howto/unicode.rst:579 msgid "" "It's also possible to open files in update mode, allowing both reading and " "writing::" msgstr "" +"Il est également possible d'ouvrir des fichiers en mode « mise à jour », " +"permettant à la fois la lecture et l'écriture ::" #: ../Doc/howto/unicode.rst:587 msgid "" @@ -957,6 +995,16 @@ msgid "" "endian encodings, that specify one particular byte ordering and don't skip " "the BOM." msgstr "" +"Le caractère Unicode ``U+FEFFF`` est utilisé comme une marque d'ordre " +"d'octet (*byte-order mark* en anglais, *BOM*), et est souvent écrit comme le " +"premier caractère d'un fichier afin d'aider à l'auto-détection de l'ordre " +"des octets du fichier. Certains encodages, comme UTF-16, s'attendent à ce " +"qu'une BOM soit présente au début d'un fichier ; lorsqu'un tel encodage est " +"utilisé, la BOM sera automatiquement écrite comme premier caractère et sera " +"silencieusement retirée lorsque le fichier sera lu. Il existe des variantes " +"de ces encodages, comme ``utf-16-le`` et ``utf-16-be`` pour les encodages " +"little-endian et big-endian, qui spécifient un ordre d'octets donné et ne " +"sautent pas la BOM." #: ../Doc/howto/unicode.rst:596 msgid "" @@ -966,10 +1014,15 @@ msgid "" "reading such files, use the 'utf-8-sig' codec to automatically skip the mark " "if present." msgstr "" +"Dans certaines cas, il est également d'usage d'utiliser une *BOM* au début " +"des fichiers encodés en UTF-8 ; le nom est trompeur puisque l'UTF-8 ne " +"dépend pas de l'ordre des octets. La marque annonce simplement que le " +"fichier est encodé en UTF-8. Pour lire ces fichiers, utilisez le codec " +"``utf-8-sig`` pour sauter automatiquement la marque si présente." #: ../Doc/howto/unicode.rst:603 msgid "Unicode filenames" -msgstr "" +msgstr "Noms de fichiers Unicode" #: ../Doc/howto/unicode.rst:605 msgid "" @@ -982,6 +1035,15 @@ msgid "" "if you've set the ``LANG`` or ``LC_CTYPE`` environment variables; if you " "haven't, the default encoding is again UTF-8." msgstr "" +"La plupart des systèmes d'exploitation couramment utilisés aujourd'hui " +"prennent en charge les noms de fichiers qui contiennent des caractères " +"Unicode arbitraires. Habituellement, ceci est implémenté en convertissant " +"la chaîne Unicode en un encodage qui varie en fonction du système. " +"Aujourd'hui, Python converge vers l'utilisation d'UTF-8 : Python sous MacOS " +"a utilisé UTF-8 depuis plusieurs versions, et Python 3.6 est passé à UTF-8 " +"sous Windows également. Sur les systèmes Unix, il n'y aura un encodage du " +"système de fichiers que si vous avez défini les variables d'environnement " +"``LANG`` ou ``LC_CTYPE`` ; sinon, l'encodage par défaut est UTF-8." #: ../Doc/howto/unicode.rst:615 msgid "" @@ -991,12 +1053,20 @@ msgid "" "writing, you can usually just provide the Unicode string as the filename, " "and it will be automatically converted to the right encoding for you::" msgstr "" +"La fonction :func:`sys.getfilesystemencoding` renvoie l'encodage à utiliser " +"sur votre système actuel, au cas où vous voudriez faire l'encodage " +"manuellement, mais il n'y a pas vraiment de raisons de s'embêter avec ça. " +"Lors de l'ouverture d'un fichier pour la lecture ou l'écriture, vous pouvez " +"généralement simplement fournir la chaîne Unicode comme nom de fichier, et " +"il sera automatiquement converti à l'encodage qui convient ::" #: ../Doc/howto/unicode.rst:625 msgid "" "Functions in the :mod:`os` module such as :func:`os.stat` will also accept " "Unicode filenames." msgstr "" +"Les fonctions du module :mod:`os` telles que :func:`os.stat` acceptent " +"également les noms de fichiers Unicode." #: ../Doc/howto/unicode.rst:628 msgid "" @@ -1010,16 +1080,29 @@ msgid "" "assuming the default filesystem encoding is UTF-8, running the following " "program::" msgstr "" +"La fonction :func:`os.listdir` renvoie des noms de fichiers, ce qui soulève " +"un problème : doit-elle renvoyer la version Unicode des noms de fichiers, ou " +"doit-elle renvoyer des chaînes d'octets contenant les versions encodées ? :" +"func:`os.listdir` peut faire les deux, selon que vous avez fourni le chemin " +"du répertoire en chaîne d'octets ou une chaîne Unicode. Si vous passez une " +"chaîne Unicode comme chemin d'accès, les noms de fichiers seront décodés en " +"utilisant l'encodage du système de fichiers et une liste de chaînes Unicode " +"sera renvoyée, tandis que passer un chemin d'accès en chaîne d'octets " +"retournera les noms de fichiers comme octets. Par exemple, en supposant que " +"l'encodage par défaut du système de fichiers est UTF-8, exécutez le " +"programme suivant: :" #: ../Doc/howto/unicode.rst:646 msgid "will produce the following output:" -msgstr "" +msgstr "produira la sortie suivante:" #: ../Doc/howto/unicode.rst:654 msgid "" "The first list contains UTF-8-encoded filenames, and the second list " "contains the Unicode versions." msgstr "" +"La première liste contient les noms de fichiers encodés en UTF-8 et la " +"seconde contient les versions Unicode." #: ../Doc/howto/unicode.rst:657 msgid "" @@ -1028,26 +1111,36 @@ msgid "" "undecodable file names can be present; that's pretty much only Unix systems " "now." msgstr "" +"Notez que dans la plupart des cas, vous devriez vous en tenir à " +"l'utilisation d'Unicode avec ces APIs. Les API d'octets ne devraient être " +"utilisées que sur les systèmes où des noms de fichiers non décodables " +"peuvent être présents. C'est à peu près seulement le cas des systèmes Unix " +"maintenant." #: ../Doc/howto/unicode.rst:664 msgid "Tips for Writing Unicode-aware Programs" -msgstr "" +msgstr "Conseils pour écrire des programmes compatibles Unicode" #: ../Doc/howto/unicode.rst:666 msgid "" "This section provides some suggestions on writing software that deals with " "Unicode." msgstr "" +"Cette section fournit quelques suggestions sur l'écriture de logiciels qui " +"traitent de l'Unicode." #: ../Doc/howto/unicode.rst:669 msgid "The most important tip is:" -msgstr "" +msgstr "Le conseil le plus important est:" #: ../Doc/howto/unicode.rst:671 msgid "" "Software should only work with Unicode strings internally, decoding the " "input data as soon as possible and encoding the output only at the end." msgstr "" +"Le logiciel ne devrait fonctionner qu'avec des chaînes Unicode en interne, " +"décodant les données d'entrée dès que possible et encodant la sortie " +"uniquement à la fin." #: ../Doc/howto/unicode.rst:674 msgid "" @@ -1057,6 +1150,11 @@ msgid "" "or decoding: if you do e.g. ``str + bytes``, a :exc:`TypeError` will be " "raised." msgstr "" +"Si vous essayez d'écrire des fonctions de traitement qui acceptent à la fois " +"les chaînes Unicode et les chaînes d'octets, vous rendrez votre programme " +"vulnérable aux bogues partout où vous combinez les deux types de chaînes " +"différentes. Il n'y a pas d'encodage ou de décodage automatique : si vous " +"faites par exemple ``str + octets``, une :exc:`TypeError` sera levée." #: ../Doc/howto/unicode.rst:679 msgid "" @@ -1069,10 +1167,21 @@ msgid "" "true if the input data also specifies the encoding, since the attacker can " "then choose a clever way to hide malicious text in the encoded bytestream." msgstr "" +"Lors de l'utilisation de données provenant d'un navigateur Web ou d'une " +"autre source non fiable, une technique courante consiste à vérifier la " +"présence de caractères illégaux dans une chaîne de caractères avant de " +"l'utiliser dans une ligne de commande générée ou de la stocker dans une base " +"de données. Si vous faites cela, faites attention à vérifier la chaîne " +"décodée, pas les données d'octets codés ; certains encodages peuvent avoir " +"des propriétés intéressantes, comme ne pas être bijective ou ne pas être " +"entièrement compatibles ASCII. Ceci est particulièrement vrai si les " +"données d'entrée spécifient également l'encodage, puisque l'attaquant peut " +"alors choisir un moyen intelligent de cacher le texte malveillant dans le " +"flux de données encodé." #: ../Doc/howto/unicode.rst:690 msgid "Converting Between File Encodings" -msgstr "" +msgstr "Conversion entre les encodages de fichiers" #: ../Doc/howto/unicode.rst:692 msgid "" @@ -1080,16 +1189,23 @@ msgid "" "encodings, taking a stream that returns data in encoding #1 and behaving " "like a stream returning data in encoding #2." msgstr "" +"La classe :class:`~codecs.StreamRecoder` peut convertir de manière " +"transparente entre les encodages, en prenant un flux qui renvoie des données " +"dans l'encodage #1 et en se comportant comme un flux qui renvoie des données " +"dans l'encodage #2." #: ../Doc/howto/unicode.rst:696 msgid "" "For example, if you have an input file *f* that's in Latin-1, you can wrap " "it with a :class:`~codecs.StreamRecoder` to return bytes encoded in UTF-8::" msgstr "" +"Par exemple, si vous avez un fichier d'entrée *f* qui est en Latin-1, vous " +"pouvez l'encapsuler avec un :class:`~codecs.StreamRecoder` pour retourner " +"des octets encodés en UTF-8 ::" #: ../Doc/howto/unicode.rst:710 msgid "Files in an Unknown Encoding" -msgstr "" +msgstr "Fichiers dans un encodage inconnu" #: ../Doc/howto/unicode.rst:712 msgid "" @@ -1098,6 +1214,11 @@ msgid "" "to examine or modify the ASCII parts, you can open the file with the " "``surrogateescape`` error handler::" msgstr "" +"Que pouvez-vous faire si vous avez besoin de modifier un fichier, mais que " +"vous ne connaissez pas l'encodage du fichier ? Si vous savez que l'encodage " +"est compatible ASCII et que vous voulez seulement examiner ou modifier les " +"parties ASCII, vous pouvez ouvrir le fichier avec le gestionnaire d'erreurs " +"``surrogateescape`` ::" #: ../Doc/howto/unicode.rst:726 msgid "" @@ -1106,6 +1227,11 @@ msgid "" "points will then turn back into the same bytes when the ``surrogateescape`` " "error handler is used to encode the data and write it back out." msgstr "" +"Le gestionnaire d'erreurs ``surrogateescape`` décodera tous les octets non-" +"ASCII comme points de code dans une plage spéciale allant de ``U+DC80`` à ``U" +"+DCFF``. Ces points de code redeviendront alors les mêmes octets lorsque le " +"gestionnaire d'erreurs ``surrogateescape`` sera utilisé pour encoder les " +"données et les réécrire." #: ../Doc/howto/unicode.rst:736 msgid "" @@ -1113,6 +1239,10 @@ msgid "" "video/289/pycon-2010--mastering-python-3-i-o>`_, a PyCon 2010 talk by David " "Beazley, discusses text processing and binary data handling." msgstr "" +"Une section de `Mastering Python 3 Input/Output `_, une conférence PyCon 2010 " +"de David Beazley, parle du traitement de texte et du traitement des données " +"binaires." #: ../Doc/howto/unicode.rst:740 msgid "" @@ -1122,6 +1252,12 @@ msgid "" "character encodings as well as how to internationalize and localize an " "application. These slides cover Python 2.x only." msgstr "" +"Le `PDF du diaporama de la présentation de Marc-André Lemburg \"Writing " +"Unicodeaware Applications in Python\" `_ traite des " +"questions d'encodage de caractères ainsi que de l'internationalisation et de " +"la localisation d'une application. Ces diapositives ne couvrent que Python " +"2.x." #: ../Doc/howto/unicode.rst:746 msgid "" @@ -1129,6 +1265,9 @@ msgid "" "unicode-in-python>`_ is a PyCon 2013 talk by Benjamin Peterson that " "discusses the internal Unicode representation in Python 3.3." msgstr "" +"`The Guts of Unicode in Python `_ est une conférence PyCon 2013 par Benjamin Peterson qui " +"traite de la représentation interne Unicode en Python 3.3." #: ../Doc/howto/unicode.rst:753 msgid "Acknowledgements" @@ -1140,6 +1279,9 @@ msgid "" "since been revised further by Alexander Belopolsky, Georg Brandl, Andrew " "Kuchling, and Ezio Melotti." msgstr "" +"La première ébauche de ce document a été rédigée par Andrew Kuchling. Il a " +"depuis été révisé par Alexander Belopolsky, Georg Brandl, Andrew Kuchling et " +"Ezio Melotti." #: ../Doc/howto/unicode.rst:759 msgid "" @@ -1148,6 +1290,11 @@ msgid "" "Gedminas, Kent Johnson, Ken Krugler, Marc-André Lemburg, Martin von Löwis, " "Terry J. Reedy, Serhiy Storchaka, Eryk Sun, Chad Whitacre, Graham Wideman." msgstr "" +"Merci aux personnes suivantes qui ont noté des erreurs ou qui ont fait des " +"suggestions sur cet article : Éric Araujo, Nicholas Bastin, Nick Coghlan, " +"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" diff --git a/library/functions.po b/library/functions.po index 6585c8313..cb7bdf5f5 100644 --- a/library/functions.po +++ b/library/functions.po @@ -1910,8 +1910,8 @@ msgid "" "platform-independent." msgstr "" "Python ne dépend pas de l'éventuelle notion de fichier texte du système sous-" -"jacent, tout est effectué par Python lui même, et ainsi indépendant de la " -"plateforme." +"jacent, tout le traitement est effectué par Python lui même, et est ainsi " +"indépendant de la plateforme." #: ../Doc/library/functions.rst:1031 msgid "" From 31654a86c0ba766884bd26d45033e3c2c3de210b Mon Sep 17 00:00:00 2001 From: Mathieu Dupuy Date: Fri, 6 Sep 2019 11:58:14 -0400 Subject: [PATCH 3/5] =?UTF-8?q?ajoute=20'd=C3=A9codables',=20'von'=20et=20?= =?UTF-8?q?'Reedy'=20au=20dictionnaire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dict | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dict b/dict index 8f3645b14..0f16d37f0 100644 --- a/dict +++ b/dict @@ -16,6 +16,7 @@ coroutine coroutines Cython d'allocateurs +décodables déduplication désenregistre déserialisations @@ -89,6 +90,7 @@ PythonWin py2exe pyc recompilation +Reedy réentrants réessayable réexécuter @@ -115,6 +117,7 @@ tokenisation tokenisé tokenisés tty +von W3C wxWidgets Zope From b6de625b1833c831b36015ba96d638aae993faeb Mon Sep 17 00:00:00 2001 From: Mathieu Dupuy Date: Sat, 7 Sep 2019 21:14:54 -0400 Subject: [PATCH 4/5] applique les suggestions de la revue de ChistopheNan + powrap Co-Authored-By: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com> --- howto/unicode.po | 161 ++++++++++++++++++++++++----------------------- 1 file changed, 82 insertions(+), 79 deletions(-) diff --git a/howto/unicode.po b/howto/unicode.po index 41b781534..9bb6ded79 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -891,8 +891,8 @@ msgid "" "do you convert Unicode into a form suitable for storage or transmission?" msgstr "" "Une fois que vous avez écrit du code qui fonctionne avec des données " -"Unicode, le problème suivant est les entrées/sorties. Comment obtenir des " -"chaînes Unicode dans votre programme, et comment convertir les chaînes " +"Unicode, le problème suivant concerne les entrées/sorties. Comment obtenir " +"des chaînes Unicode dans votre programme et comment convertir les chaînes " "Unicode dans une forme appropriée pour le stockage ou la transmission ?" #: ../Doc/howto/unicode.rst:543 @@ -904,12 +904,12 @@ msgid "" "valued columns and can return Unicode values from an SQL query." msgstr "" "Il est possible que vous n'ayez rien à faire en fonction de vos sources " -"d'entrée et de vos destinations de sortie ; vous devriez vérifier si les " -"bibliothèques utilisées dans votre application supportent Unicode " -"nativement. Par exemple, les analyseurs XML renvoient souvent des données " -"Unicode. De nombreuses bases de données relationnelles prennent également en " -"charge les colonnes encodées en Unicode et peuvent renvoyer des valeurs " -"Unicode à partir d'une requête SQL." +"d'entrée et des destinations de vos données de sortie ; il convient de " +"vérifier si les bibliothèques utilisées dans votre application gèrent " +"l'Unicode nativement. Par exemple, les analyseurs XML renvoient souvent des " +"données Unicode. De nombreuses bases de données relationnelles prennent " +"également en charge les colonnes encodées en Unicode et peuvent renvoyer des " +"valeurs Unicode à partir d'une requête SQL." #: ../Doc/howto/unicode.rst:549 msgid "" @@ -922,7 +922,7 @@ msgstr "" "Les données Unicode sont généralement converties en un encodage particulier " "avant d'être écrites sur le disque ou envoyées sur un connecteur réseau. Il " "est possible de faire tout le travail vous-même : ouvrir un fichier, lire un " -"élément 8-bits, et convertir les octets avec ``bytes.decode(encoding)``. " +"élément 8-bits, puis convertir les octets avec ``bytes.decode(encoding)``. " "Cependant, l'approche manuelle n'est pas recommandée." #: ../Doc/howto/unicode.rst:554 @@ -938,16 +938,16 @@ msgid "" "least a moment you'd need to have both the encoded string and its Unicode " "version in memory.)" msgstr "" -"Un problème est la nature multi-octets des encodages ; un caractère Unicode " -"peut être représenté par plusieurs octets. Si vous voulez lire le fichier en " -"morceaux de taille arbitraire (disons 1024 ou 4096 octets), vous devez " +"La nature multi-octets des encodages pose problème ; un caractère Unicode " +"peut être représenté par plusieurs octets. Si vous voulez lire le fichier " +"par morceaux de taille arbitraire (disons 1024 ou 4096 octets), vous devez " "écrire un code de gestion des erreurs pour détecter le cas où une partie " -"seulement des octets codant un seul caractère Unicode sont lus à la fin d'un " +"seulement des octets codant un seul caractère Unicode est lue à la fin d'un " "morceau. Une solution serait de lire le fichier entier en mémoire et " "d'effectuer le décodage, mais cela vous empêche de travailler avec des " "fichiers extrêmement volumineux ; si vous avez besoin de lire un fichier de " -"2 GiB, vous avez besoin de 2 GiB de RAM (plus que ça, en fait, puisque pour " -"au moins un moment, vous aurez besoin d'avoir à la fois la chaîne encodée et " +"2 GiB, vous avez besoin de 2 GiB de RAM (plus que ça, en fait, puisque " +"pendant un moment, vous aurez besoin d'avoir à la fois la chaîne encodée et " "sa version Unicode en mémoire)." #: ../Doc/howto/unicode.rst:564 @@ -962,11 +962,11 @@ msgid "" "meth:`str.encode` and :meth:`bytes.decode`." msgstr "" "La solution serait d'utiliser l'interface de décodage de bas-niveau pour " -"intercepter le cas des séquences d'encodage incomplètes. Le travail " -"d'implémenter cela a déjà été fait pour vous : la fonction native :func:" -"`open` peut retourner un objet de type fichier qui suppose que le contenu du " -"fichier est dans un encodage spécifié et accepte les paramètres Unicode pour " -"des méthodes telles que :meth:`~io.TextIOBase.read` et :meth:`~io.TextIOBase." +"intercepter le cas des séquences d'encodage incomplètes. Ce travail " +"d'implémentation a déjà été fait pour vous : la fonction native :func:`open` " +"peut renvoyer un objet de type fichier qui suppose que le contenu du fichier " +"est dans un encodage spécifié et accepte les paramètres Unicode pour des " +"méthodes telles que :meth:`~io.TextIOBase.read` et :meth:`~io.TextIOBase." "write`. Ceci fonctionne grâce aux paramètres *encoding* et *errors* de :" "func:`open` qui sont interprétés comme ceux de :meth:`str.encode` et :meth:" "`bytes.decode`." @@ -995,16 +995,17 @@ msgid "" "endian encodings, that specify one particular byte ordering and don't skip " "the BOM." msgstr "" -"Le caractère Unicode ``U+FEFFF`` est utilisé comme une marque d'ordre " -"d'octet (*byte-order mark* en anglais, *BOM*), et est souvent écrit comme le " -"premier caractère d'un fichier afin d'aider à l'auto-détection de l'ordre " -"des octets du fichier. Certains encodages, comme UTF-16, s'attendent à ce " -"qu'une BOM soit présente au début d'un fichier ; lorsqu'un tel encodage est " -"utilisé, la BOM sera automatiquement écrite comme premier caractère et sera " -"silencieusement retirée lorsque le fichier sera lu. Il existe des variantes " -"de ces encodages, comme ``utf-16-le`` et ``utf-16-be`` pour les encodages " -"little-endian et big-endian, qui spécifient un ordre d'octets donné et ne " -"sautent pas la BOM." +"Le caractère Unicode ``U+FEFFF`` est utilisé comme marque pour indiquer le " +"boutisme (c'est-à-dire l'ordre dans lequel les octets sont placés pour " +"indiquer une valeur sur plusieurs octets, *byte-order mark* en anglais ou " +"*BOM*), et est souvent écrit en tête (premier caractère) d'un fichier afin " +"d'aider à l'auto-détection du boutisme du fichier. Certains encodages, " +"comme UTF-16, s'attendent à ce qu'une BOM soit présente au début d'un " +"fichier ; lorsqu'un tel encodage est utilisé, la BOM sera automatiquement " +"écrite comme premier caractère et sera silencieusement retirée lorsque le " +"fichier sera lu. Il existe des variantes de ces encodages, comme ``utf-16-" +"le`` et ``utf-16-be`` pour les encodages petit-boutiste et gros-boutiste, " +"qui spécifient un ordre d'octets donné et ne sautent pas la BOM." #: ../Doc/howto/unicode.rst:596 msgid "" @@ -1014,11 +1015,11 @@ msgid "" "reading such files, use the 'utf-8-sig' codec to automatically skip the mark " "if present." msgstr "" -"Dans certaines cas, il est également d'usage d'utiliser une *BOM* au début " +"Dans certains cas, il est également d'usage d'utiliser une *BOM* au début " "des fichiers encodés en UTF-8 ; le nom est trompeur puisque l'UTF-8 ne " "dépend pas de l'ordre des octets. La marque annonce simplement que le " "fichier est encodé en UTF-8. Pour lire ces fichiers, utilisez le codec " -"``utf-8-sig`` pour sauter automatiquement la marque si présente." +"``utf-8-sig`` pour sauter automatiquement la marque si elle est présente." #: ../Doc/howto/unicode.rst:603 msgid "Unicode filenames" @@ -1040,8 +1041,8 @@ msgstr "" "Unicode arbitraires. Habituellement, ceci est implémenté en convertissant " "la chaîne Unicode en un encodage qui varie en fonction du système. " "Aujourd'hui, Python converge vers l'utilisation d'UTF-8 : Python sous MacOS " -"a utilisé UTF-8 depuis plusieurs versions, et Python 3.6 est passé à UTF-8 " -"sous Windows également. Sur les systèmes Unix, il n'y aura un encodage du " +"utilise UTF-8 depuis plusieurs versions et Python 3.6 sous Windows est passé " +"à UTF-8 également. Sur les systèmes Unix, il n'y aura un encodage pour le " "système de fichiers que si vous avez défini les variables d'environnement " "``LANG`` ou ``LC_CTYPE`` ; sinon, l'encodage par défaut est UTF-8." @@ -1057,8 +1058,8 @@ msgstr "" "sur votre système actuel, au cas où vous voudriez faire l'encodage " "manuellement, mais il n'y a pas vraiment de raisons de s'embêter avec ça. " "Lors de l'ouverture d'un fichier pour la lecture ou l'écriture, vous pouvez " -"généralement simplement fournir la chaîne Unicode comme nom de fichier, et " -"il sera automatiquement converti à l'encodage qui convient ::" +"généralement simplement fournir la chaîne Unicode comme nom de fichier et " +"elle est automatiquement convertie à l'encodage qui convient ::" #: ../Doc/howto/unicode.rst:625 msgid "" @@ -1081,20 +1082,20 @@ msgid "" "program::" msgstr "" "La fonction :func:`os.listdir` renvoie des noms de fichiers, ce qui soulève " -"un problème : doit-elle renvoyer la version Unicode des noms de fichiers, ou " +"un problème : doit-elle renvoyer la version Unicode des noms de fichiers ou " "doit-elle renvoyer des chaînes d'octets contenant les versions encodées ? :" -"func:`os.listdir` peut faire les deux, selon que vous avez fourni le chemin " +"func:`os.listdir` peut faire les deux, selon que vous fournissez le chemin " "du répertoire en chaîne d'octets ou une chaîne Unicode. Si vous passez une " -"chaîne Unicode comme chemin d'accès, les noms de fichiers seront décodés en " +"chaîne Unicode comme chemin d'accès, les noms de fichiers sont décodés en " "utilisant l'encodage du système de fichiers et une liste de chaînes Unicode " -"sera renvoyée, tandis que passer un chemin d'accès en chaîne d'octets " -"retournera les noms de fichiers comme octets. Par exemple, en supposant que " -"l'encodage par défaut du système de fichiers est UTF-8, exécutez le " -"programme suivant: :" +"est renvoyée, tandis que passer un chemin d'accès en chaîne d'octets renvoie " +"les noms de fichiers comme chaîne d'octets. Par exemple, en supposant que " +"l'encodage par défaut du système de fichiers est UTF-8, exécuter le " +"programme suivant ::" #: ../Doc/howto/unicode.rst:646 msgid "will produce the following output:" -msgstr "produira la sortie suivante:" +msgstr "produit la sortie suivante :" #: ../Doc/howto/unicode.rst:654 msgid "" @@ -1111,10 +1112,10 @@ msgid "" "undecodable file names can be present; that's pretty much only Unix systems " "now." msgstr "" -"Notez que dans la plupart des cas, vous devriez vous en tenir à " +"Notez que, dans la plupart des cas, il convient de vous en tenir à " "l'utilisation d'Unicode avec ces APIs. Les API d'octets ne devraient être " "utilisées que sur les systèmes où des noms de fichiers non décodables " -"peuvent être présents. C'est à peu près seulement le cas des systèmes Unix " +"peuvent être présents. Cela ne concerne pratiquement que des systèmes Unix " "maintenant." #: ../Doc/howto/unicode.rst:664 @@ -1138,7 +1139,7 @@ msgid "" "Software should only work with Unicode strings internally, decoding the " "input data as soon as possible and encoding the output only at the end." msgstr "" -"Le logiciel ne devrait fonctionner qu'avec des chaînes Unicode en interne, " +"Il convient que le logiciel ne traite que des chaînes Unicode en interne, " "décodant les données d'entrée dès que possible et encodant la sortie " "uniquement à la fin." @@ -1151,10 +1152,11 @@ msgid "" "raised." msgstr "" "Si vous essayez d'écrire des fonctions de traitement qui acceptent à la fois " -"les chaînes Unicode et les chaînes d'octets, vous rendrez votre programme " -"vulnérable aux bogues partout où vous combinez les deux types de chaînes " -"différentes. Il n'y a pas d'encodage ou de décodage automatique : si vous " -"faites par exemple ``str + octets``, une :exc:`TypeError` sera levée." +"les chaînes Unicode et les chaînes d'octets, les possibilités d'occurrences " +"de bogues dans votre programme augmentent partout où vous combinez les deux " +"types de chaînes différentes. Il n'y a pas d'encodage ou de décodage " +"automatique : si vous faites par exemple ``str + octets``, une :exc:" +"`TypeError` est levée." #: ../Doc/howto/unicode.rst:679 msgid "" @@ -1170,14 +1172,14 @@ msgstr "" "Lors de l'utilisation de données provenant d'un navigateur Web ou d'une " "autre source non fiable, une technique courante consiste à vérifier la " "présence de caractères illégaux dans une chaîne de caractères avant de " -"l'utiliser dans une ligne de commande générée ou de la stocker dans une base " -"de données. Si vous faites cela, faites attention à vérifier la chaîne " -"décodée, pas les données d'octets codés ; certains encodages peuvent avoir " -"des propriétés intéressantes, comme ne pas être bijective ou ne pas être " -"entièrement compatibles ASCII. Ceci est particulièrement vrai si les " -"données d'entrée spécifient également l'encodage, puisque l'attaquant peut " -"alors choisir un moyen intelligent de cacher le texte malveillant dans le " -"flux de données encodé." +"l'utiliser pour générer une ligne de commande ou de la stocker dans une base " +"de données. Si vous le faites, vérifiez bien la chaîne décodée, pas les " +"données d'octets codés ; certains encodages peuvent avoir des propriétés " +"intéressantes, comme ne pas être bijectifs ou ne pas être entièrement " +"compatibles avec l'ASCII. C'est particulièrement vrai si l'encodage est " +"spécifié explicitement dans vos données d'entrée, car l'attaquant peut alors " +"choisir un moyen intelligent de cacher du texte malveillant dans le flux de " +"données encodé." #: ../Doc/howto/unicode.rst:690 msgid "Converting Between File Encodings" @@ -1190,8 +1192,8 @@ msgid "" "like a stream returning data in encoding #2." msgstr "" "La classe :class:`~codecs.StreamRecoder` peut convertir de manière " -"transparente entre les encodages, en prenant un flux qui renvoie des données " -"dans l'encodage #1 et en se comportant comme un flux qui renvoie des données " +"transparente entre les encodages : prenant un flux qui renvoie des données " +"dans l'encodage #1, elle se comporte comme un flux qui renvoie des données " "dans l'encodage #2." #: ../Doc/howto/unicode.rst:696 @@ -1200,8 +1202,8 @@ msgid "" "it with a :class:`~codecs.StreamRecoder` to return bytes encoded in UTF-8::" msgstr "" "Par exemple, si vous avez un fichier d'entrée *f* qui est en Latin-1, vous " -"pouvez l'encapsuler avec un :class:`~codecs.StreamRecoder` pour retourner " -"des octets encodés en UTF-8 ::" +"pouvez l'encapsuler dans un :class:`~codecs.StreamRecoder` pour qu'il " +"renvoie des octets encodés en UTF-8 ::" #: ../Doc/howto/unicode.rst:710 msgid "Files in an Unknown Encoding" @@ -1214,9 +1216,9 @@ msgid "" "to examine or modify the ASCII parts, you can open the file with the " "``surrogateescape`` error handler::" msgstr "" -"Que pouvez-vous faire si vous avez besoin de modifier un fichier, mais que " -"vous ne connaissez pas l'encodage du fichier ? Si vous savez que l'encodage " -"est compatible ASCII et que vous voulez seulement examiner ou modifier les " +"Que faire si vous avez besoin de modifier un fichier mais que vous ne " +"connaissez pas l'encodage du fichier ? Si vous savez que l'encodage est " +"compatible ASCII et que vous voulez seulement examiner ou modifier les " "parties ASCII, vous pouvez ouvrir le fichier avec le gestionnaire d'erreurs " "``surrogateescape`` ::" @@ -1227,10 +1229,10 @@ msgid "" "points will then turn back into the same bytes when the ``surrogateescape`` " "error handler is used to encode the data and write it back out." msgstr "" -"Le gestionnaire d'erreurs ``surrogateescape`` décodera tous les octets non-" +"Le gestionnaire d'erreurs ``surrogateescape`` décode tous les octets non-" "ASCII comme points de code dans une plage spéciale allant de ``U+DC80`` à ``U" -"+DCFF``. Ces points de code redeviendront alors les mêmes octets lorsque le " -"gestionnaire d'erreurs ``surrogateescape`` sera utilisé pour encoder les " +"+DCFF``. Ces points de code redeviennent alors les mêmes octets lorsque le " +"gestionnaire d'erreurs ``surrogateescape`` est utilisé pour encoder les " "données et les réécrire." #: ../Doc/howto/unicode.rst:736 @@ -1239,10 +1241,10 @@ msgid "" "video/289/pycon-2010--mastering-python-3-i-o>`_, a PyCon 2010 talk by David " "Beazley, discusses text processing and binary data handling." msgstr "" -"Une section de `Mastering Python 3 Input/Output `_, une conférence PyCon 2010 " -"de David Beazley, parle du traitement de texte et du traitement des données " -"binaires." +"Une partie de la conférence `Mastering Python 3 Input/Output `_ (ressource en anglais), " +"donnée lors de PyCon 2010 de David Beazley, parle du traitement de texte et " +"du traitement des données binaires." #: ../Doc/howto/unicode.rst:740 msgid "" @@ -1254,10 +1256,10 @@ msgid "" msgstr "" "Le `PDF du diaporama de la présentation de Marc-André Lemburg \"Writing " "Unicodeaware Applications in Python\" `_ traite des " -"questions d'encodage de caractères ainsi que de l'internationalisation et de " -"la localisation d'une application. Ces diapositives ne couvrent que Python " -"2.x." +"LSM2005-Developing-Unicode-aware-applications-in-Python.pdf>`_ (ressource en " +"anglais) traite des questions d'encodage de caractères ainsi que de " +"l'internationalisation et de la localisation d'une application. Ces " +"diapositives ne couvrent que Python 2.x." #: ../Doc/howto/unicode.rst:746 msgid "" @@ -1266,8 +1268,9 @@ msgid "" "discusses the internal Unicode representation in Python 3.3." msgstr "" "`The Guts of Unicode in Python `_ est une conférence PyCon 2013 par Benjamin Peterson qui " -"traite de la représentation interne Unicode en Python 3.3." +"unicode-in-python>`_ (ressource en anglais) est une conférence PyCon 2013 " +"donnée par Benjamin Peterson qui traite de la représentation interne Unicode " +"en Python 3.3." #: ../Doc/howto/unicode.rst:753 msgid "Acknowledgements" From 73a4c42bd3abd07554da93b482a43cf24af57520 Mon Sep 17 00:00:00 2001 From: Mathieu Dupuy Date: Thu, 12 Sep 2019 16:31:50 -0400 Subject: [PATCH 5/5] applique les suggestions de ChristopheNan + powrap Co-Authored-By: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com> --- howto/unicode.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/howto/unicode.po b/howto/unicode.po index 9bb6ded79..8106b9cf0 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -1085,7 +1085,7 @@ msgstr "" "un problème : doit-elle renvoyer la version Unicode des noms de fichiers ou " "doit-elle renvoyer des chaînes d'octets contenant les versions encodées ? :" "func:`os.listdir` peut faire les deux, selon que vous fournissez le chemin " -"du répertoire en chaîne d'octets ou une chaîne Unicode. Si vous passez une " +"du répertoire en chaîne d'octets ou en chaîne Unicode. Si vous passez une " "chaîne Unicode comme chemin d'accès, les noms de fichiers sont décodés en " "utilisant l'encodage du système de fichiers et une liste de chaînes Unicode " "est renvoyée, tandis que passer un chemin d'accès en chaîne d'octets renvoie " @@ -1154,7 +1154,7 @@ msgstr "" "Si vous essayez d'écrire des fonctions de traitement qui acceptent à la fois " "les chaînes Unicode et les chaînes d'octets, les possibilités d'occurrences " "de bogues dans votre programme augmentent partout où vous combinez les deux " -"types de chaînes différentes. Il n'y a pas d'encodage ou de décodage " +"différents types de chaînes. Il n'y a pas d'encodage ou de décodage " "automatique : si vous faites par exemple ``str + octets``, une :exc:" "`TypeError` est levée." @@ -1216,10 +1216,10 @@ msgid "" "to examine or modify the ASCII parts, you can open the file with the " "``surrogateescape`` error handler::" msgstr "" -"Que faire si vous avez besoin de modifier un fichier mais que vous ne " -"connaissez pas l'encodage du fichier ? Si vous savez que l'encodage est " -"compatible ASCII et que vous voulez seulement examiner ou modifier les " -"parties ASCII, vous pouvez ouvrir le fichier avec le gestionnaire d'erreurs " +"Vous avez besoin de modifier un fichier mais vous ne connaissez pas " +"l'encodage du fichier ? Si vous savez que l'encodage est compatible ASCII " +"et que vous voulez seulement examiner ou modifier les parties ASCII, vous " +"pouvez ouvrir le fichier avec le gestionnaire d'erreurs " "``surrogateescape`` ::" #: ../Doc/howto/unicode.rst:726