diff --git a/howto/pyporting.po b/howto/pyporting.po index e14fc3d1..b56899e9 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -39,8 +39,8 @@ msgid "" msgstr "" "Python 3 étant le futur de Python tandis que Python 2 est encore activement " "utilisé, il est préférable de faire en sorte que votre projet soit " -"disponible pour les deux versions majeures de Python. Ce guide est destiné à" -" vous aider à comprendre comment gérer simultanément Python 2 & 3." +"disponible pour les deux versions majeures de Python. Ce guide est destiné à " +"vous aider à comprendre comment gérer simultanément Python 2 & 3." #: ../Doc/howto/pyporting.rst:16 msgid "" @@ -74,8 +74,8 @@ msgstr "La version courte" #: ../Doc/howto/pyporting.rst:29 msgid "" -"To make your project be single-source Python 2/3 compatible, the basic steps" -" are:" +"To make your project be single-source Python 2/3 compatible, the basic steps " +"are:" msgstr "" "Afin de rendre votre projet compatible Python 2/3 avec le même code source, " "les étapes de base sont :" @@ -112,12 +112,12 @@ msgstr "" #: ../Doc/howto/pyporting.rst:39 msgid "" -"Use caniusepython3_ to find out which of your dependencies are blocking your" -" use of Python 3 (``pip install caniusepython3``)" +"Use caniusepython3_ to find out which of your dependencies are blocking your " +"use of Python 3 (``pip install caniusepython3``)" msgstr "" -"Utiliser caniusepython3_ pour déterminer quelles sont, parmi les dépendances" -" que vous utilisez, celles qui bloquent votre utilisation de Python 3 (``pip" -" install caniusepython3``)" +"Utiliser caniusepython3_ pour déterminer quelles sont, parmi les dépendances " +"que vous utilisez, celles qui bloquent votre utilisation de Python 3 (``pip " +"install caniusepython3``)" #: ../Doc/howto/pyporting.rst:41 msgid "" @@ -136,9 +136,9 @@ msgid "" "works in both Python 2 & 3 (e.g. use mypy_ to check your typing under both " "Python 2 & Python 3)." msgstr "" -"Envisager l'utilisation d'un vérifieur de type statique afin de vous assurer" -" que votre façon d'utiliser les types est compatible avec Python 2 et 3 (par" -" exemple en utilisant mypy_ pour vérifier votre typage sous Python 2 et 3)." +"Envisager l'utilisation d'un vérifieur de type statique afin de vous assurer " +"que votre façon d'utiliser les types est compatible avec Python 2 et 3 (par " +"exemple en utilisant mypy_ pour vérifier votre typage sous Python 2 et 3)." #: ../Doc/howto/pyporting.rst:50 msgid "Details" @@ -155,15 +155,15 @@ msgstr "" "Un point clé du support simultané de Python 2 et 3 est qu'il vous est " "possible de commencer **dès aujourd'hui** ! Même si vos dépendances ne sont " "pas encore compatibles Python 3, vous pouvez moderniser votre code **dès " -"maintenant** pour gérer Python 3. La plupart des modifications nécessaires à" -" la compatibilité Python 3 donnent un code plus propre utilisant une syntaxe" -" plus récente, même dans du code Python 2." +"maintenant** pour gérer Python 3. La plupart des modifications nécessaires à " +"la compatibilité Python 3 donnent un code plus propre utilisant une syntaxe " +"plus récente, même dans du code Python 2." #: ../Doc/howto/pyporting.rst:58 msgid "" "Another key point is that modernizing your Python 2 code to also support " -"Python 3 is largely automated for you. While you might have to make some API" -" decisions thanks to Python 3 clarifying text data versus binary data, the " +"Python 3 is largely automated for you. While you might have to make some API " +"decisions thanks to Python 3 clarifying text data versus binary data, the " "lower-level work is now mostly done for you and thus can at least benefit " "from the automated changes immediately." msgstr "" @@ -176,12 +176,12 @@ msgstr "" #: ../Doc/howto/pyporting.rst:64 msgid "" -"Keep those key points in mind while you read on about the details of porting" -" your code to support Python 2 & 3 simultaneously." +"Keep those key points in mind while you read on about the details of porting " +"your code to support Python 2 & 3 simultaneously." msgstr "" -"Gardez ces points-clés en tête pendant que vous lisez les détails ci-dessous" -" concernant le portage de votre code vers une compatibilité simultanée " -"Python 2 et 3." +"Gardez ces points-clés en tête pendant que vous lisez les détails ci-dessous " +"concernant le portage de votre code vers une compatibilité simultanée Python " +"2 et 3." #: ../Doc/howto/pyporting.rst:69 msgid "Drop support for Python 2.6 and older" @@ -220,20 +220,20 @@ msgstr "" #: ../Doc/howto/pyporting.rst:83 msgid "" "But you should aim for only supporting Python 2.7. Python 2.6 is no longer " -"freely supported and thus is not receiving bugfixes. This means **you** will" -" have to work around any issues you come across with Python 2.6. There are " -"also some tools mentioned in this HOWTO which do not support Python 2.6 " -"(e.g., Pylint_), and this will become more commonplace as time goes on. It " -"will simply be easier for you if you only support the versions of Python " -"that you have to support." +"freely supported and thus is not receiving bugfixes. This means **you** will " +"have to work around any issues you come across with Python 2.6. There are " +"also some tools mentioned in this HOWTO which do not support Python 2.6 (e." +"g., Pylint_), and this will become more commonplace as time goes on. It will " +"simply be easier for you if you only support the versions of Python that you " +"have to support." msgstr "" "Mais nous vous conseillons de viser seulement un support de Python 2.7. " -"Python 2.6 n'est plus supporté gratuitement et par conséquent ne reçoit plus" -" aucun correctif. Cela signifie que **vous** devrez trouver des solutions de" -" contournement aux problèmes que vous rencontrez avec Python 2.6. Il existe " +"Python 2.6 n'est plus supporté gratuitement et par conséquent ne reçoit plus " +"aucun correctif. Cela signifie que **vous** devrez trouver des solutions de " +"contournement aux problèmes que vous rencontrez avec Python 2.6. Il existe " "en outre des outils mentionnés dans ce guide pratique qui ne supportent pas " -"Python 2.6 (par exemple Pylint_), ce qui sera de plus en plus courant au fil" -" du temps. Il est simplement plus facile pour vous de n'assurer une " +"Python 2.6 (par exemple Pylint_), ce qui sera de plus en plus courant au fil " +"du temps. Il est simplement plus facile pour vous de n'assurer une " "compatibilité qu'avec les versions de Python que vous avez l'obligation de " "gérer." @@ -241,23 +241,23 @@ msgstr "" msgid "" "Make sure you specify the proper version support in your ``setup.py`` file" msgstr "" -"Assurez vous de spécifier la bonne version supportée dans le fichier " -"``setup.py``" +"Assurez vous de spécifier la bonne version supportée dans le fichier ``setup." +"py``" #: ../Doc/howto/pyporting.rst:94 msgid "" "In your ``setup.py`` file you should have the proper `trove classifier`_ " "specifying what versions of Python you support. As your project does not " "support Python 3 yet you should at least have ``Programming Language :: " -"Python :: 2 :: Only`` specified. Ideally you should also specify each " -"major/minor version of Python that you do support, e.g. ``Programming " -"Language :: Python :: 2.7``." +"Python :: 2 :: Only`` specified. Ideally you should also specify each major/" +"minor version of Python that you do support, e.g. ``Programming Language :: " +"Python :: 2.7``." msgstr "" "Votre fichier ``setup.py`` devrait contenir le bon `trove classifier`_ " "spécifiant les versions de Python avec lesquelles vous êtes compatible. " "Comme votre projet ne supporte pas encore Python 3, vous devriez au moins " -"spécifier ``Programming Language :: Python :: 2 :: Only``. Dans l'idéal vous" -" devriez indiquer chaque version majeure/mineure de Python que vous gérez, " +"spécifier ``Programming Language :: Python :: 2 :: Only``. Dans l'idéal vous " +"devriez indiquer chaque version majeure/mineure de Python que vous gérez, " "par exemple ``Programming Language :: Python :: 2.7``." #: ../Doc/howto/pyporting.rst:103 @@ -271,30 +271,30 @@ msgid "" "rule of thumb is that if you want to be confident enough in your test suite " "that any failures that appear after having tools rewrite your code are " "actual bugs in the tools and not in your code. If you want a number to aim " -"for, try to get over 80% coverage (and don't feel bad if you find it hard to" -" get better than 90% coverage). If you don't already have a tool to measure " +"for, try to get over 80% coverage (and don't feel bad if you find it hard to " +"get better than 90% coverage). If you don't already have a tool to measure " "test coverage then coverage.py_ is recommended." msgstr "" "Une fois que votre code est compatible avec la plus ancienne version de " -"Python 2 que vous souhaitez, vous devez vous assurer que votre suite de test" -" a une couverture suffisante. Une bonne règle empirique consiste à avoir " +"Python 2 que vous souhaitez, vous devez vous assurer que votre suite de test " +"a une couverture suffisante. Une bonne règle empirique consiste à avoir " "suffisamment confiance en la suite de test pour qu'une erreur apparaissant " -"après la réécriture du code par les outils automatiques résulte de bogues de" -" ces derniers et non de votre code. Si vous souhaitez une valeur cible, " +"après la réécriture du code par les outils automatiques résulte de bogues de " +"ces derniers et non de votre code. Si vous souhaitez une valeur cible, " "essayez de dépasser les 80 % de couverture (et ne vous sentez pas coupable " -"si vous trouvez difficile de faire mieux que 90 % de couverture). Si vous ne" -" disposez pas encore d'un outil pour mesurer la couverture de code, " -"coverage.py_ est recommandé." +"si vous trouvez difficile de faire mieux que 90 % de couverture). Si vous ne " +"disposez pas encore d'un outil pour mesurer la couverture de code, coverage." +"py_ est recommandé." #: ../Doc/howto/pyporting.rst:118 msgid "" -"Once you have your code well-tested you are ready to begin porting your code" -" to Python 3! But to fully understand how your code is going to change and " +"Once you have your code well-tested you are ready to begin porting your code " +"to Python 3! But to fully understand how your code is going to change and " "what you want to look out for while you code, you will want to learn what " "changes Python 3 makes in terms of Python 2. Typically the two best ways of " -"doing that is reading the `\"What's New\"`_ doc for each release of Python 3" -" and the `Porting to Python 3`_ book (which is free online). There is also a" -" handy `cheat sheet`_ from the Python-Future project." +"doing that is reading the `\"What's New\"`_ doc for each release of Python 3 " +"and the `Porting to Python 3`_ book (which is free online). There is also a " +"handy `cheat sheet`_ from the Python-Future project." msgstr "" "Une fois que votre code est bien testé, vous êtes prêt à démarrer votre " "portage vers Python 3 ! Mais afin de comprendre comment votre code va " @@ -311,13 +311,13 @@ msgstr "Mettre à jour votre code" #: ../Doc/howto/pyporting.rst:130 msgid "" -"Once you feel like you know what is different in Python 3 compared to Python" -" 2, it's time to update your code! You have a choice between two tools in " +"Once you feel like you know what is different in Python 3 compared to Python " +"2, it's time to update your code! You have a choice between two tools in " "porting your code automatically: Futurize_ and Modernize_. Which tool you " "choose will depend on how much like Python 3 you want your code to be. " "Futurize_ does its best to make Python 3 idioms and practices exist in " -"Python 2, e.g. backporting the ``bytes`` type from Python 3 so that you have" -" semantic parity between the major versions of Python. Modernize_, on the " +"Python 2, e.g. backporting the ``bytes`` type from Python 3 so that you have " +"semantic parity between the major versions of Python. Modernize_, on the " "other hand, is more conservative and targets a Python 2/3 subset of Python, " "directly relying on six_ to help provide compatibility. As Python 3 is the " "future, it might be best to consider Futurize to begin adjusting to any new " @@ -328,20 +328,20 @@ msgstr "" "le choix entre deux outils pour porter votre code automatiquement : " "Futurize_ et Modernize_. Le choix de l'outil dépend de la dose de Python 3 " "que vous souhaitez introduire dans votre code. Futurize_ s'efforce " -"d'introduire les idiomes et pratiques de Python 3 dans Python 2, par exemple" -" en réintroduisant le type ``bytes`` de Python 3 de telle sorte que la " +"d'introduire les idiomes et pratiques de Python 3 dans Python 2, par exemple " +"en réintroduisant le type ``bytes`` de Python 3 de telle sorte que la " "sémantique soit identique entre les deux versions majeures de Python. En " "revanche, Modernize_ est plus conservateur et vise un sous-ensemble " "d'instructions Python 2/3, en s'appuyant directement sur six_ pour la " "compatibilité. Python 3 étant le futur de Python, il pourrait être " -"préférable d'utiliser *Futurize* afin de commencer à s'ajuster aux nouvelles" -" pratiques introduites par Python 3 avec lesquelles vous n'êtes pas encore " +"préférable d'utiliser *Futurize* afin de commencer à s'ajuster aux nouvelles " +"pratiques introduites par Python 3 avec lesquelles vous n'êtes pas encore " "habitué." #: ../Doc/howto/pyporting.rst:142 msgid "" -"Regardless of which tool you choose, they will update your code to run under" -" Python 3 while staying compatible with the version of Python 2 you started " +"Regardless of which tool you choose, they will update your code to run under " +"Python 3 while staying compatible with the version of Python 2 you started " "with. Depending on how conservative you want to be, you may want to run the " "tool over your test suite first and visually inspect the diff to make sure " "the transformation is accurate. After you have transformed your test suite " @@ -349,12 +349,12 @@ msgid "" "transform your application code knowing that any tests which fail is a " "translation failure." msgstr "" -"Indépendamment de l'outil sur lequel se porte votre choix, celui-ci mettra à" -" jour votre code afin qu'il puisse être exécuté par Python 3 tout en " +"Indépendamment de l'outil sur lequel se porte votre choix, celui-ci mettra à " +"jour votre code afin qu'il puisse être exécuté par Python 3 tout en " "maintenant sa compatibilité avec la version de Python 2 dont vous êtes " "parti. En fonction du niveau de prudence que vous visez, vous pouvez " -"exécuter l'outil sur votre suite de test d'abord puis inspecter visuellement" -" la différence afin de vous assurer que la transformation est exacte. Après " +"exécuter l'outil sur votre suite de test d'abord puis inspecter visuellement " +"la différence afin de vous assurer que la transformation est exacte. Après " "avoir transformé votre suite de test et vérifié que tous les tests " "s'exécutent comme attendu, vous pouvez transformer le code de votre " "application avec l'assurance que chaque test qui échoue correspond à un " @@ -367,21 +367,21 @@ msgid "" "manually to get full Python 3 support (which of these steps are necessary " "vary between the tools). Read the documentation for the tool you choose to " "use to see what it fixes by default and what it can do optionally to know " -"what will (not) be fixed for you and what you may have to fix on your own " -"(e.g. using ``io.open()`` over the built-in ``open()`` function is off by " -"default in Modernize). Luckily, though, there are only a couple of things to" -" watch out for which can be considered large issues that may be hard to " -"debug if not watched for." +"what will (not) be fixed for you and what you may have to fix on your own (e." +"g. using ``io.open()`` over the built-in ``open()`` function is off by " +"default in Modernize). Luckily, though, there are only a couple of things to " +"watch out for which can be considered large issues that may be hard to debug " +"if not watched for." msgstr "" "Malheureusement les outils ne peuvent pas automatiser tous les changements " "requis pour permettre à votre code de s'exécuter sous Python 3 et il y a " "donc quelques points sur lesquels vous devrez travailler manuellement afin " -"d'atteindre la compatibilité totale Python 3 (les étapes nécessaires peuvent" -" varier en fonction de l'outil utilisé). Lisez la documentation de l'outil " -"que vous avez choisi afin d'identifier ce qu'il corrige par défaut et ce qui" -" peut être appliqué de façon optionnelle afin de savoir ce qui sera (ou non)" -" corrigé pour vous ou ce que vous devrez modifier vous-même (par exemple, le" -" remplacement ``io.open()`` plutôt que la fonction native ``open()`` est " +"d'atteindre la compatibilité totale Python 3 (les étapes nécessaires peuvent " +"varier en fonction de l'outil utilisé). Lisez la documentation de l'outil " +"que vous avez choisi afin d'identifier ce qu'il corrige par défaut et ce qui " +"peut être appliqué de façon optionnelle afin de savoir ce qui sera (ou non) " +"corrigé pour vous ou ce que vous devrez modifier vous-même (par exemple, le " +"remplacement ``io.open()`` plutôt que la fonction native ``open()`` est " "inactif par défaut dans *Modernize*). Heureusement, il n'y a que quelques " "points à surveiller qui peuvent réellement être considérés comme des " "problèmes difficiles à déboguer si vous n'y prêtez pas attention." @@ -394,20 +394,20 @@ msgstr "Division" msgid "" "In Python 3, ``5 / 2 == 2.5`` and not ``2``; all division between ``int`` " "values result in a ``float``. This change has actually been planned since " -"Python 2.2 which was released in 2002. Since then users have been encouraged" -" to add ``from __future__ import division`` to any and all files which use " -"the ``/`` and ``//`` operators or to be running the interpreter with the " -"``-Q`` flag. If you have not been doing this then you will need to go " -"through your code and do two things:" +"Python 2.2 which was released in 2002. Since then users have been encouraged " +"to add ``from __future__ import division`` to any and all files which use " +"the ``/`` and ``//`` operators or to be running the interpreter with the ``-" +"Q`` flag. If you have not been doing this then you will need to go through " +"your code and do two things:" msgstr "" -"Dans Python 3, ``5 / 2 == 2.5`` et non ``2``; toutes les divisions entre des" -" valeurs ``int`` renvoient un ``float``. Ce changement était en réalité " +"Dans Python 3, ``5 / 2 == 2.5`` et non ``2``; toutes les divisions entre des " +"valeurs ``int`` renvoient un ``float``. Ce changement était en réalité " "planifié depuis Python 2.2, publié en 2002. Depuis cette date, les " "utilisateurs ont été encouragés à ajouter ``from __future__ import " -"division`` à tous les fichiers utilisant les opérateurs ``/`` et ``//`` ou à" -" exécuter l'interpréteur avec l'option ``-Q``. Si vous n'avez pas suivi " -"cette recommandation, vous devrez manuellement modifier votre code et " -"effectuer deux changements :" +"division`` à tous les fichiers utilisant les opérateurs ``/`` et ``//`` ou à " +"exécuter l'interpréteur avec l'option ``-Q``. Si vous n'avez pas suivi cette " +"recommandation, vous devrez manuellement modifier votre code et effectuer " +"deux changements :" #: ../Doc/howto/pyporting.rst:172 msgid "Add ``from __future__ import division`` to your files" @@ -426,13 +426,12 @@ msgstr "" msgid "" "The reason that ``/`` isn't simply translated to ``//`` automatically is " "that if an object defines a ``__truediv__`` method but not ``__floordiv__`` " -"then your code would begin to fail (e.g. a user-defined class that uses " -"``/`` to signify some operation but not ``//`` for the same thing or at " -"all)." +"then your code would begin to fail (e.g. a user-defined class that uses ``/" +"`` to signify some operation but not ``//`` for the same thing or at all)." msgstr "" "La raison pour laquelle ``/`` n'est pas simplement remplacé par ``//`` " -"automatiquement est que si un objet définit une méthode ``__truediv__`` mais" -" pas de méthode ``__floordiv__``, alors votre code pourrait produire une " +"automatiquement est que si un objet définit une méthode ``__truediv__`` mais " +"pas de méthode ``__floordiv__``, alors votre code pourrait produire une " "erreur (par exemple, une classe définie par l'utilisateur qui utilise ``/`` " "pour définir une opération quelconque mais pour laquelle ``//`` n'a pas du " "tout la même signification, voire n'est pas utilisé du tout)." @@ -452,16 +451,16 @@ msgid "" "supporting multiple languages as APIs wouldn't bother explicitly supporting " "``unicode`` when they claimed text data support." msgstr "" -"Dans Python 2, il était possible d'utiliser le type ``str`` pour du texte et" -" pour des données binaires. Malheureusement cet amalgame entre deux concepts" -" différents peut conduire à du code fragile pouvant parfois fonctionner pour" -" les deux types de données et parfois non. Cela a également conduit à des " -"API confuses si les auteurs ne déclaraient pas explicitement que quelque " -"chose qui acceptait ``str`` était compatible avec du texte ou des données " -"binaires et pas un seul des deux types. Cela a compliqué la situation pour " -"les personnes devant gérer plusieurs langages avec des API qui ne se " -"préoccupaient pas de la gestion de ``unicode`` lorsqu'elles affirmaient être" -" compatibles avec des données au format texte." +"Dans Python 2, il était possible d'utiliser le type ``str`` pour du texte et " +"pour des données binaires. Malheureusement cet amalgame entre deux concepts " +"différents peut conduire à du code fragile pouvant parfois fonctionner pour " +"les deux types de données et parfois non. Cela a également conduit à des API " +"confuses si les auteurs ne déclaraient pas explicitement que quelque chose " +"qui acceptait ``str`` était compatible avec du texte ou des données binaires " +"et pas un seul des deux types. Cela a compliqué la situation pour les " +"personnes devant gérer plusieurs langages avec des API qui ne se " +"préoccupaient pas de la gestion de ``unicode`` lorsqu'elles affirmaient être " +"compatibles avec des données au format texte." #: ../Doc/howto/pyporting.rst:194 msgid "" @@ -486,11 +485,11 @@ msgstr "" #: ../Doc/howto/pyporting.rst:203 msgid "" -"To start, you will need to decide which APIs take text and which take binary" -" (it is **highly** recommended you don't design APIs that can take both due " +"To start, you will need to decide which APIs take text and which take binary " +"(it is **highly** recommended you don't design APIs that can take both due " "to the difficulty of keeping the code working; as stated earlier it is " -"difficult to do well). In Python 2 this means making sure the APIs that take" -" text can work with ``unicode`` and those that work with binary data work " +"difficult to do well). In Python 2 this means making sure the APIs that take " +"text can work with ``unicode`` and those that work with binary data work " "with the ``bytes`` type from Python 3 (which is a subset of ``str`` in " "Python 2 and acts as an alias for ``bytes`` type in Python 2). Usually the " "biggest issue is realizing which methods exist on which types in Python 2 & " @@ -498,9 +497,9 @@ msgid "" "Python 3, for binary that's ``str``/``bytes`` in Python 2 and ``bytes`` in " "Python 3). The following table lists the **unique** methods of each data " "type across Python 2 & 3 (e.g., the ``decode()`` method is usable on the " -"equivalent binary data type in either Python 2 or 3, but it can't be used by" -" the textual data type consistently between Python 2 and 3 because ``str`` " -"in Python 3 doesn't have the method). Do note that as of Python 3.5 the " +"equivalent binary data type in either Python 2 or 3, but it can't be used by " +"the textual data type consistently between Python 2 and 3 because ``str`` in " +"Python 3 doesn't have the method). Do note that as of Python 3.5 the " "``__mod__`` method was added to the bytes type." msgstr "" "Pour commencer, vous devrez choisir quelles API travaillent sur du texte et " @@ -510,13 +509,13 @@ msgstr "" "signifie s'assurer que les API recevant du texte en entrée peuvent gérer " "``unicode`` et celles qui reçoivent des données binaires fonctionnent avec " "le type ``bytes`` de Python 3 (qui est un sous-ensemble de ``str`` dans " -"Python 2 et opère comme un alias du type ``bytes`` de Python 2). En général," -" le principal problème consiste à inventorier quelles méthodes existent et " +"Python 2 et opère comme un alias du type ``bytes`` de Python 2). En général, " +"le principal problème consiste à inventorier quelles méthodes existent et " "opèrent sur quel type dans Python & 3 simultanément (pour le texte, il " "s'agit de ``unicode`` dans Python 2 et ``str`` dans Python 3, pour le " "binaire il s'agit de ``str``/``bytes`` dans Python 2 et ``bytes`` dans " -"Python 3). Le tableau ci-dessous liste les méthodes **spécifiques** à chaque" -" type de données dans Python 2 et 3 (par exemple, la méthode ``decode()`` " +"Python 3). Le tableau ci-dessous liste les méthodes **spécifiques** à chaque " +"type de données dans Python 2 et 3 (par exemple, la méthode ``decode()`` " "peut être utilisée sur des données binaires équivalentes en Python 2 et 3, " "mais ne peut pas être utilisée de la même façon sur le type texte en Python " "2 et 3 car le type ``str`` de Python 3 ne possède pas de telle méthode). " @@ -559,11 +558,10 @@ msgstr "isnumeric" msgid "" "Making the distinction easier to handle can be accomplished by encoding and " "decoding between binary data and text at the edge of your code. This means " -"that when you receive text in binary data, you should immediately decode it." -" And if your code needs to send text as binary data then encode it as late " -"as possible. This allows your code to work with only text internally and " -"thus eliminates having to keep track of what type of data you are working " -"with." +"that when you receive text in binary data, you should immediately decode it. " +"And if your code needs to send text as binary data then encode it as late as " +"possible. This allows your code to work with only text internally and thus " +"eliminates having to keep track of what type of data you are working with." msgstr "" "Vous pouvez rendre le problème plus simple à gérer en réalisant les " "opérations d'encodage et de décodage entre données binaires et texte aux " @@ -578,8 +576,8 @@ msgstr "" msgid "" "The next issue is making sure you know whether the string literals in your " "code represent text or binary data. You should add a ``b`` prefix to any " -"literal that presents binary data. For text you should add a ``u`` prefix to" -" the text literal. (there is a :mod:`__future__` import to force all " +"literal that presents binary data. For text you should add a ``u`` prefix to " +"the text literal. (there is a :mod:`__future__` import to force all " "unspecified literals to be Unicode, but usage has shown it isn't as " "effective as adding a ``b`` or ``u`` prefix to all literals explicitly)" msgstr "" @@ -597,33 +595,33 @@ msgid "" "As part of this dichotomy you also need to be careful about opening files. " "Unless you have been working on Windows, there is a chance you have not " "always bothered to add the ``b`` mode when opening a binary file (e.g., " -"``rb`` for binary reading). Under Python 3, binary files and text files are" -" clearly distinct and mutually incompatible; see the :mod:`io` module for " +"``rb`` for binary reading). Under Python 3, binary files and text files are " +"clearly distinct and mutually incompatible; see the :mod:`io` module for " "details. Therefore, you **must** make a decision of whether a file will be " "used for binary access (allowing binary data to be read and/or written) or " "textual access (allowing text data to be read and/or written). You should " -"also use :func:`io.open` for opening files instead of the built-in " -":func:`open` function as the :mod:`io` module is consistent from Python 2 to" -" 3 while the built-in :func:`open` function is not (in Python 3 it's " -"actually :func:`io.open`). Do not bother with the outdated practice of using" -" :func:`codecs.open` as that's only necessary for keeping compatibility with" -" Python 2.5." +"also use :func:`io.open` for opening files instead of the built-in :func:" +"`open` function as the :mod:`io` module is consistent from Python 2 to 3 " +"while the built-in :func:`open` function is not (in Python 3 it's actually :" +"func:`io.open`). Do not bother with the outdated practice of using :func:" +"`codecs.open` as that's only necessary for keeping compatibility with Python " +"2.5." msgstr "" -"Une conséquence de cette dichotomie est que vous devez être prudents lors de" -" l'ouverture d'un fichier. À moins que vous travailliez sous Windows, il y a" -" des chances pour que vous ne vous soyez jamais préoccupé de spécifier le " +"Une conséquence de cette dichotomie est que vous devez être prudents lors de " +"l'ouverture d'un fichier. À moins que vous travailliez sous Windows, il y a " +"des chances pour que vous ne vous soyez jamais préoccupé de spécifier le " "mode ``b`` lorsque vous ouvrez des fichiers binaires (par exemple ``rb`` " "pour lire un fichier binaire). Sous Python 3, les fichiers binaire et texte " -"sont distincts et mutuellement incompatibles ; se référer au module " -":mod:`io` pour plus de détails. Ainsi vous **devez** décider lorsque vous " -"ouvrez un fichier si vous y accéderez en mode binaire (ce qui permet de lire" -" et écrire des données binaires) ou en mode texte (ce qui permet de lire et " +"sont distincts et mutuellement incompatibles ; se référer au module :mod:" +"`io` pour plus de détails. Ainsi vous **devez** décider lorsque vous ouvrez " +"un fichier si vous y accéderez en mode binaire (ce qui permet de lire et " +"écrire des données binaires) ou en mode texte (ce qui permet de lire et " "écrire du texte). Vous devez également utiliser :func:`io.open` pour ouvrir " "des fichiers plutôt que la fonction native :func:`open` étant donné que le " -"module :mod:`io` est cohérent de Python 2 à 3, ce qui n'est pas vrai pour la" -" fonction :func:`open` (en Python 3, il s'agit en réalité de " -":func:`io.open`). Ne cherchez pas à appliquer l'ancienne pratique consistant" -" à utiliser :func:`codecs.open` qui n'est nécessaire que pour préserver une " +"module :mod:`io` est cohérent de Python 2 à 3, ce qui n'est pas vrai pour la " +"fonction :func:`open` (en Python 3, il s'agit en réalité de :func:`io." +"open`). Ne cherchez pas à appliquer l'ancienne pratique consistant à " +"utiliser :func:`codecs.open` qui n'est nécessaire que pour préserver une " "compatibilité avec Python 2.5." #: ../Doc/howto/pyporting.rst:261 @@ -634,34 +632,34 @@ msgid "" "== '3'``. But in Python 3, an integer argument to ``bytes`` will give you a " "bytes object as long as the integer specified, filled with null bytes: " "``bytes(3) == b'\\x00\\x00\\x00'``. A similar worry is necessary when " -"passing a bytes object to ``str``. In Python 2 you just get the bytes object" -" back: ``str(b'3') == b'3'``. But in Python 3 you get the string " +"passing a bytes object to ``str``. In Python 2 you just get the bytes object " +"back: ``str(b'3') == b'3'``. But in Python 3 you get the string " "representation of the bytes object: ``str(b'3') == \"b'3'\"``." msgstr "" "Les constructeurs des types ``str`` et ``bytes`` possèdent une sémantique " "différente pour les mêmes arguments sous Python 2 et 3. Passer un entier à " "``bytes`` sous Python 2 produit une représentation de cet entier en chaîne " -"de caractères : ``bytes(3) == '3'``. Mais sous Python 3, fournir un argument" -" entier à ``bytes`` produit un objet *bytes* de la longueur de l'entier " +"de caractères : ``bytes(3) == '3'``. Mais sous Python 3, fournir un argument " +"entier à ``bytes`` produit un objet *bytes* de la longueur de l'entier " "spécifié, rempli par des octets nuls : ``bytes(3) == b'\\x00\\x00\\x00'``. " "La même prudence est nécessaire lorsque vous passez un objet *bytes* à " "``str``. En Python 2, vous récupérez simplement l'objet *bytes* initial : " -"``str(b'3') == b'3'``. Mais en Python 3, vous récupérez la représentation en" -" chaîne de caractères de l'objet *bytes* : ``str(b'3') == \"b'3'\"``." +"``str(b'3') == b'3'``. Mais en Python 3, vous récupérez la représentation en " +"chaîne de caractères de l'objet *bytes* : ``str(b'3') == \"b'3'\"``." #: ../Doc/howto/pyporting.rst:271 msgid "" -"Finally, the indexing of binary data requires careful handling (slicing does" -" **not** require any special handling). In Python 2, ``b'123'[1] == b'2'`` " +"Finally, the indexing of binary data requires careful handling (slicing does " +"**not** require any special handling). In Python 2, ``b'123'[1] == b'2'`` " "while in Python 3 ``b'123'[1] == 50``. Because binary data is simply a " "collection of binary numbers, Python 3 returns the integer value for the " "byte you index on. But in Python 2 because ``bytes == str``, indexing " "returns a one-item slice of bytes. The six_ project has a function named " -"``six.indexbytes()`` which will return an integer like in Python 3: " -"``six.indexbytes(b'123', 1)``." +"``six.indexbytes()`` which will return an integer like in Python 3: ``six." +"indexbytes(b'123', 1)``." msgstr "" -"Enfin, l'indiçage des données binaires exige une manipulation prudente (bien" -" que le découpage, ou *slicing* en anglais, ne nécessite pas d'attention " +"Enfin, l'indiçage des données binaires exige une manipulation prudente (bien " +"que le découpage, ou *slicing* en anglais, ne nécessite pas d'attention " "particulière). En Python 2, ``b'123'[1] == b'2'`` tandis qu'en Python 3 " "``b'123'[1] == 50``. Puisque les données binaires ne sont simplement qu'une " "collection de nombres en binaire, Python 3 renvoie la valeur entière de " @@ -729,8 +727,8 @@ msgid "" "Inevitably you will have code that has to choose what to do based on what " "version of Python is running. The best way to do this is with feature " "detection of whether the version of Python you're running under supports " -"what you need. If for some reason that doesn't work then you should make the" -" version check be against Python 2 and not Python 3. To help explain this, " +"what you need. If for some reason that doesn't work then you should make the " +"version check be against Python 2 and not Python 3. To help explain this, " "let's look at an example." msgstr "" "Vous rencontrerez inévitablement du code devant décider quoi faire en " @@ -756,15 +754,15 @@ msgstr "" #: ../Doc/howto/pyporting.rst:317 msgid "" -"The problem with this code is what happens when Python 4 comes out? It would" -" be better to treat Python 2 as the exceptional case instead of Python 3 and" -" assume that future Python versions will be more compatible with Python 3 " +"The problem with this code is what happens when Python 4 comes out? It would " +"be better to treat Python 2 as the exceptional case instead of Python 3 and " +"assume that future Python versions will be more compatible with Python 3 " "than Python 2::" msgstr "" -"Le problème est le suivant : que se passe-t-il lorsque Python 4 est publié ?" -" Il serait préférable de traiter le cas Python 2 comme l'exception plutôt " -"que Python 3 et de supposer que les versions futures de Python 2 seront plus" -" compatibles avec Python 3 qu'avec Python 2 : ::" +"Le problème est le suivant : que se passe-t-il lorsque Python 4 est publié ? " +"Il serait préférable de traiter le cas Python 2 comme l'exception plutôt que " +"Python 3 et de supposer que les versions futures de Python 2 seront plus " +"compatibles avec Python 3 qu'avec Python 2 : ::" #: ../Doc/howto/pyporting.rst:329 msgid "" @@ -774,8 +772,8 @@ msgid "" msgstr "" "Néanmoins la meilleure solution est de ne pas chercher à déterminer la " "version de Python mais plutôt à détecter les fonctionnalités disponibles. " -"Cela évite les problèmes potentiels liés aux erreurs de détection de version" -" et facilite la compatibilité future : ::" +"Cela évite les problèmes potentiels liés aux erreurs de détection de version " +"et facilite la compatibilité future : ::" #: ../Doc/howto/pyporting.rst:340 msgid "Prevent compatibility regressions" @@ -783,15 +781,15 @@ msgstr "" #: ../Doc/howto/pyporting.rst:342 msgid "" -"Once you have fully translated your code to be compatible with Python 3, you" -" will want to make sure your code doesn't regress and stop working under " -"Python 3. This is especially true if you have a dependency which is blocking" -" you from actually running under Python 3 at the moment." +"Once you have fully translated your code to be compatible with Python 3, you " +"will want to make sure your code doesn't regress and stop working under " +"Python 3. This is especially true if you have a dependency which is blocking " +"you from actually running under Python 3 at the moment." msgstr "" "Une fois votre code traduit pour être compatible avec Python 3, vous devez " -"vous assurer que votre code n'a pas régressé ou qu'il ne fonctionne pas sous" -" Python 3. Ceci est particulièrement important si une de vos dépendances " -"vous empêche de réellement exécuter le code sous Python 3 pour le moment." +"vous assurer que votre code n'a pas régressé ou qu'il ne fonctionne pas sous " +"Python 3. Ceci est particulièrement important si une de vos dépendances vous " +"empêche de réellement exécuter le code sous Python 3 pour le moment." #: ../Doc/howto/pyporting.rst:347 msgid "" @@ -842,15 +840,15 @@ msgid "" "to care about whether your dependencies have also been ported. The " "caniusepython3_ project was created to help you determine which projects -- " "directly or indirectly -- are blocking you from supporting Python 3. There " -"is both a command-line tool as well as a web interface at " -"https://caniusepython3.com." +"is both a command-line tool as well as a web interface at https://" +"caniusepython3.com." msgstr "" "**Après** avoir rendu votre code compatible avec Python 3, vous devez " "commencer à vous intéresser au portage de vos dépendances. Le projet " "caniusepython3_ a été créé afin de vous aider à déterminer quels projets " -"sont bloquants dans votre support de Python 3, directement ou indirectement." -" Il existe un outil en ligne de commande ainsi qu'une interface web : " -"https://caniusepython3.com." +"sont bloquants dans votre support de Python 3, directement ou indirectement. " +"Il existe un outil en ligne de commande ainsi qu'une interface web : https://" +"caniusepython3.com." #: ../Doc/howto/pyporting.rst:377 msgid "" @@ -862,8 +860,8 @@ msgid "" msgstr "" "Le projet fournit également du code intégrable dans votre suite de test qui " "déclenchera un échec de test lorsque plus aucune de vos dépendances n'est " -"bloquante pour l'utilisation de Python 3. Cela vous permet de ne pas avoir à" -" vérifier manuellement vos dépendances et d'être notifié rapidement quand " +"bloquante pour l'utilisation de Python 3. Cela vous permet de ne pas avoir à " +"vérifier manuellement vos dépendances et d'être notifié rapidement quand " "vous pouvez exécuter votre application avec Python 3." #: ../Doc/howto/pyporting.rst:384 @@ -881,11 +879,11 @@ msgid "" "classifiers for each major/minor version of Python you now support." msgstr "" "Une fois que votre code fonctionne sous Python 3, vous devez mettre à jour " -"vos classeurs dans votre ``setup.py`` pour inclure ``Programming Language ::" -" Python :: 3`` et non seulement le support de Python 2. Cela signifiera à " +"vos classeurs dans votre ``setup.py`` pour inclure ``Programming Language :: " +"Python :: 3`` et non seulement le support de Python 2. Cela signifiera à " "quiconque utilise votre code que vous gérez Python 2 **et** 3. Dans l'idéal " -"vous devrez aussi ajouter une mention pour chaque version majeure/mineure de" -" Python que vous supportez désormais." +"vous devrez aussi ajouter une mention pour chaque version majeure/mineure de " +"Python que vous supportez désormais." #: ../Doc/howto/pyporting.rst:394 msgid "Use continuous integration to stay compatible" @@ -900,8 +898,8 @@ msgid "" "accidentally break Python 2 or 3 support." msgstr "" "Une fois que vous êtes en mesure d'exécuter votre code sous Python 3, vous " -"devrez vous assurer que celui-ci fonctionne toujours pour Python 2 & 3. tox_" -" est vraisemblablement le meilleur outil pour exécuter vos tests avec " +"devrez vous assurer que celui-ci fonctionne toujours pour Python 2 & 3. tox_ " +"est vraisemblablement le meilleur outil pour exécuter vos tests avec " "plusieurs interpréteurs Python. Vous pouvez alors intégrer *tox* à votre " "système d'intégration continue afin de ne jamais accidentellement casser " "votre gestion de Python 2 ou 3." @@ -920,12 +918,12 @@ msgstr "" "Vous pouvez également utiliser l'option ``-bb`` de l'interpréteur Python 3 " "afin de déclencher une exception lorsque vous comparez des *bytes* à des " "chaînes de caractères ou à un entier (cette deuxième possibilité est " -"disponible à partir de Python 3.5). Par défaut, des comparaisons entre types" -" différents renvoient simplement ``False`` mais si vous avez fait une erreur" -" dans votre séparation de la gestion texte/données binaires ou votre " -"indiçage des *bytes*, vous ne trouverez pas facilement le bogue. Ce drapeau " -"lève une exception lorsque ce genre de comparaison apparaît, facilitant " -"ainsi sa identification et sa localisation." +"disponible à partir de Python 3.5). Par défaut, des comparaisons entre types " +"différents renvoient simplement ``False`` mais si vous avez fait une erreur " +"dans votre séparation de la gestion texte/données binaires ou votre indiçage " +"des *bytes*, vous ne trouverez pas facilement le bogue. Ce drapeau lève une " +"exception lorsque ce genre de comparaison apparaît, facilitant ainsi sa " +"identification et sa localisation." #: ../Doc/howto/pyporting.rst:410 msgid "" @@ -948,12 +946,12 @@ msgstr "Envisager l'utilisation d'un vérificateur de type statique optionnel" msgid "" "Another way to help port your code is to use a static type checker like " "mypy_ or pytype_ on your code. These tools can be used to analyze your code " -"as if it's being run under Python 2, then you can run the tool a second time" -" as if your code is running under Python 3. By running a static type checker" -" twice like this you can discover if you're e.g. misusing binary data type " -"in one version of Python compared to another. If you add optional type hints" -" to your code you can also explicitly state whether your APIs use textual or" -" binary data, helping to make sure everything functions as expected in both " +"as if it's being run under Python 2, then you can run the tool a second time " +"as if your code is running under Python 3. By running a static type checker " +"twice like this you can discover if you're e.g. misusing binary data type in " +"one version of Python compared to another. If you add optional type hints to " +"your code you can also explicitly state whether your APIs use textual or " +"binary data, helping to make sure everything functions as expected in both " "versions of Python." msgstr "" "Une autre façon de faciliter le portage de votre code est d'utiliser un " @@ -961,9 +959,9 @@ msgstr "" "être utilisés pour analyser votre code comme s'il était exécuté sous Python " "2, puis une seconde fois comme s'il était exécuté sous Python 3. " "L'utilisation double d'un vérificateur de type statique de cette façon " -"permet de détecter si, par exemple, vous faites une utilisation inappropriée" -" des types de données binaires dans une version de Python par rapport à " -"l'autre. Si vous ajoutez les indices optionnels de typage à votre code, vous" -" pouvez alors explicitement déclarer que vos API attendent des données " +"permet de détecter si, par exemple, vous faites une utilisation inappropriée " +"des types de données binaires dans une version de Python par rapport à " +"l'autre. Si vous ajoutez les indices optionnels de typage à votre code, vous " +"pouvez alors explicitement déclarer que vos API attendent des données " "binaires ou du texte, ce qui facilite alors la vérification du comportement " "de votre code dans les deux versions de Python."