diff --git a/howto/sorting.po b/howto/sorting.po index 4cd89ac9..e8c75d42 100644 --- a/howto/sorting.po +++ b/howto/sorting.po @@ -19,7 +19,7 @@ msgstr "" #: ../Doc/howto/sorting.rst:4 msgid "Sorting HOW TO" -msgstr "" +msgstr "Guide pour le tri" #: ../Doc/howto/sorting.rst:0 msgid "Author" @@ -27,7 +27,7 @@ msgstr "" #: ../Doc/howto/sorting.rst:6 msgid "Andrew Dalke and Raymond Hettinger" -msgstr "" +msgstr "Andrew Dalke et Raymond Hettinger" #: ../Doc/howto/sorting.rst:0 msgid "Release" @@ -35,7 +35,7 @@ msgstr "Version" #: ../Doc/howto/sorting.rst:7 msgid "0.1" -msgstr "" +msgstr "0.1" #: ../Doc/howto/sorting.rst:10 msgid "" @@ -43,22 +43,29 @@ msgid "" "in-place. There is also a :func:`sorted` built-in function that builds a " "new sorted list from an iterable." msgstr "" +"Les listes Python ont une méthode native :meth:`list.sort` qui modifie les " +"listes elles-mêmes. Il y a également une fonction native :func:`sorted` qui " +"construit une nouvelle liste triée depuis un itérable." #: ../Doc/howto/sorting.rst:14 msgid "" "In this document, we explore the various techniques for sorting data using " "Python." msgstr "" +"Dans ce document, nous explorons différentes techniques pour trier les " +"données en Python." #: ../Doc/howto/sorting.rst:18 msgid "Sorting Basics" -msgstr "" +msgstr "Les bases du tri" #: ../Doc/howto/sorting.rst:20 msgid "" "A simple ascending sort is very easy: just call the :func:`sorted` function. " "It returns a new sorted list::" msgstr "" +"Un tri ascendant simple est très facile : il suffit d'appeler la fonction :" +"func:`sorted`. Elle renvoie une nouvelle liste triée : ::" #: ../Doc/howto/sorting.rst:26 msgid "" @@ -67,26 +74,37 @@ msgid "" "than :func:`sorted` - but if you don't need the original list, it's slightly " "more efficient." msgstr "" +"Vous pouvez aussi utiliser la méthode :meth:`list.sort`. Elle modifie la " +"liste elle-même (et renvoie ``None`` pour éviter les confusions). " +"Habituellement, cette méthode est moins pratique que la fonction :func:" +"`sorted` - mais si vous n'avez pas besoin de la liste originale, cette " +"technique est légèrement plus efficace." #: ../Doc/howto/sorting.rst:36 msgid "" "Another difference is that the :meth:`list.sort` method is only defined for " "lists. In contrast, the :func:`sorted` function accepts any iterable." msgstr "" +"Une autre différence est que la méthode :meth:`list.sort` est seulement " +"définie pour les listes. Au contraire, la fonction :func:`sorted` accepte " +"n'importe quel itérable." #: ../Doc/howto/sorting.rst:43 msgid "Key Functions" -msgstr "" +msgstr "Fonctions Clef" #: ../Doc/howto/sorting.rst:45 msgid "" "Both :meth:`list.sort` and :func:`sorted` have a *key* parameter to specify " "a function to be called on each list element prior to making comparisons." msgstr "" +":meth:`list.sort` et :func:`sorted` ont un paramètre nommé *key* afin de " +"spécifier une fonction qui peut être appelée sur chaque élément de la liste " +"afin d'effectuer des comparaisons." #: ../Doc/howto/sorting.rst:48 msgid "For example, here's a case-insensitive string comparison:" -msgstr "" +msgstr "Par exemple, voici une comparaison de texte insensible à la casse:" #: ../Doc/howto/sorting.rst:53 msgid "" @@ -94,21 +112,29 @@ msgid "" "argument and returns a key to use for sorting purposes. This technique is " "fast because the key function is called exactly once for each input record." msgstr "" +"La valeur du paramètre *key* devrait être une fonction qui prend un seul " +"argument et renvoie une clef à utiliser à des fins de tri. Cette technique " +"est rapide car la fonction clef est appelée exactement une seule fois pour " +"chaque enregistrement en entrée." #: ../Doc/howto/sorting.rst:57 msgid "" "A common pattern is to sort complex objects using some of the object's " "indices as keys. For example:" msgstr "" +"Un usage fréquent est de faire un tri sur des objets complexes en utilisant " +"les indices des objets en tant que clef. Par exemple :" #: ../Doc/howto/sorting.rst:68 msgid "" "The same technique works for objects with named attributes. For example:" msgstr "" +"La même technique marche pour des objets avec des attributs nommés. Par " +"exemple :" #: ../Doc/howto/sorting.rst:87 msgid "Operator Module Functions" -msgstr "" +msgstr "Fonctions du Module *operator*" #: ../Doc/howto/sorting.rst:89 msgid "" @@ -117,20 +143,29 @@ msgid "" "`operator` module has :func:`~operator.itemgetter`, :func:`~operator." "attrgetter`, and a :func:`~operator.methodcaller` function." msgstr "" +"Les fonctions clef utilisées ci-dessus sont courantes, donc Python fournit " +"des fonctions permettant de rendre plus simple et plus rapide l'usage des " +"fonctions d'accesseur. Le module :mod:`operator` contient les fonctions :" +"func:`~operator.itemgetter`, :func:`~operator.attrgetter`, et :func:" +"`~operator.methodcaller`." #: ../Doc/howto/sorting.rst:94 msgid "Using those functions, the above examples become simpler and faster:" msgstr "" +"En utilisant ces fonctions, les exemples au dessus deviennent plus simples " +"et plus rapides :" #: ../Doc/howto/sorting.rst:104 msgid "" "The operator module functions allow multiple levels of sorting. For example, " "to sort by *grade* then by *age*:" msgstr "" +"Les fonctions du module *operator* permettent plusieurs niveaux de tri. Par " +"exemple, pour trier par *grade* puis par *age* :" #: ../Doc/howto/sorting.rst:114 msgid "Ascending and Descending" -msgstr "" +msgstr "Ascendant et Descendant" #: ../Doc/howto/sorting.rst:116 msgid "" @@ -138,10 +173,14 @@ msgid "" "a boolean value. This is used to flag descending sorts. For example, to get " "the student data in reverse *age* order:" msgstr "" +":meth:`list.sort` and :func:`sorted` acceptent un paramètre nommé *reverse* " +"avec une valeur booléenne. C'est utilisé pour déterminer l'ordre descendant " +"des tris. Par exemple, pour avoir les données des étudiants dans l'ordre " +"inverse par *age* :" #: ../Doc/howto/sorting.rst:127 msgid "Sort Stability and Complex Sorts" -msgstr "" +msgstr "Stabilité des Tris et Tris Complexes" #: ../Doc/howto/sorting.rst:129 msgid "" @@ -149,12 +188,18 @@ msgid "" "Sorting_algorithm#Stability>`_\\. That means that when multiple records have " "the same key, their original order is preserved." msgstr "" +"Les tris sont garantis `stables `_\\. Cela signifie que lorsque " +"plusieurs enregistrements on la même clef, leur ordre original est préservé." #: ../Doc/howto/sorting.rst:137 msgid "" "Notice how the two records for *blue* retain their original order so that " "``('blue', 1)`` is guaranteed to precede ``('blue', 2)``." msgstr "" +"Notez comme les deux enregistrements pour *blue* gardent leur ordre original " +"et que par conséquent il est garanti que ``('blue', 1)`` précède ``('blue', " +"2)``." #: ../Doc/howto/sorting.rst:140 msgid "" @@ -162,6 +207,10 @@ msgid "" "steps. For example, to sort the student data by descending *grade* and then " "ascending *age*, do the *age* sort first and then sort again using *grade*:" msgstr "" +"Cette propriété fantastique vous permet de construire des tris complexes " +"dans des tris en plusieurs étapes. Par exemple, afin de sortir les données " +"des étudiants en ordre descendant par *grade* puis en ordre ascendant par " +"*age*, effectuez un tri par *age* en premier puis un second tri par *grade* :" #: ../Doc/howto/sorting.rst:148 msgid "" @@ -169,35 +218,46 @@ msgid "" "Python does multiple sorts efficiently because it can take advantage of any " "ordering already present in a dataset." msgstr "" +"L'algorithme `Timsort `_ utilisé dans " +"Python effectue de multiples tris efficacement parce qu'il peut tirer " +"avantage de n'importe quel ordre de existant dans un jeu de données." #: ../Doc/howto/sorting.rst:153 msgid "The Old Way Using Decorate-Sort-Undecorate" -msgstr "" +msgstr "La méthode traditionnelle utilisant Decorate-Sort-Undecorate" #: ../Doc/howto/sorting.rst:155 msgid "This idiom is called Decorate-Sort-Undecorate after its three steps:" msgstr "" +"Cette technique est appelée Decorate-Sort-Undecorate et se base sur trois " +"étapes :" #: ../Doc/howto/sorting.rst:157 msgid "" "First, the initial list is decorated with new values that control the sort " "order." msgstr "" +"Premièrement, la liste de départ est décorée avec les nouvelles valeurs qui " +"contrôlent l'ordre du tri." #: ../Doc/howto/sorting.rst:159 msgid "Second, the decorated list is sorted." -msgstr "" +msgstr "En second lieu, la liste décorée est triée." #: ../Doc/howto/sorting.rst:161 msgid "" "Finally, the decorations are removed, creating a list that contains only the " "initial values in the new order." msgstr "" +"Enfin, la décoration est supprimée, créant ainsi une liste qui contient " +"seulement la valeur initiale dans le nouvel ordre." #: ../Doc/howto/sorting.rst:164 msgid "" "For example, to sort the student data by *grade* using the DSU approach:" msgstr "" +"Par exemple, pour trier les données étudiant par *grade* en utilisant " +"l'approche DSU :" #: ../Doc/howto/sorting.rst:171 msgid "" @@ -205,18 +265,25 @@ msgid "" "items are compared; if they are the same then the second items are compared, " "and so on." msgstr "" +"Cette technique marche parsce que les tuples sont comparés par ordre " +"lexicographique; les premiers objets sont comparés; si il y a des objets " +"identiques, alors l'objet suivant est comparé, et ainsi de suite." #: ../Doc/howto/sorting.rst:175 msgid "" "It is not strictly necessary in all cases to include the index *i* in the " "decorated list, but including it gives two benefits:" msgstr "" +"Il n'est pas strictement nécessaire dans tous les cas d’inclure l'indice *i* " +"dans la liste décorée, mais l'inclure donne deux avantages :" #: ../Doc/howto/sorting.rst:178 msgid "" "The sort is stable -- if two items have the same key, their order will be " "preserved in the sorted list." msgstr "" +"Le tri est stable -- si deux objets on la même clef, leur ordre sera " +"préservé dans la liste triée." #: ../Doc/howto/sorting.rst:181 msgid "" @@ -225,6 +292,10 @@ msgid "" "example the original list could contain complex numbers which cannot be " "sorted directly." msgstr "" +"Les objets d'origine ne sont pas nécessairement comparables car l'ordre des " +"tuples décorés sera déterminé par au plus les deux premiers objets. Donc par " +"exemple la liste originale pourrait contenir des nombres complexes qui " +"pourraient ne pas être triés directement." #: ../Doc/howto/sorting.rst:186 msgid "" @@ -232,16 +303,21 @@ msgid "" "org/wiki/Schwartzian_transform>`_\\, after Randal L. Schwartz, who " "popularized it among Perl programmers." msgstr "" +"Un autre nom pour cette technique est `Schwartzian transform `_\\, après que Randal L. Schwartz " +"l'ait popularisé chez les développeurs Perl." #: ../Doc/howto/sorting.rst:190 msgid "" "Now that Python sorting provides key-functions, this technique is not often " "needed." msgstr "" +"Maintenant que le tri Python fournit des fonctions-clef, cette technique " +"n'est plus souvent utilisée." #: ../Doc/howto/sorting.rst:194 msgid "The Old Way Using the *cmp* Parameter" -msgstr "" +msgstr "La méthode traditionnelle d'utiliser le paramètre *cmp*" #: ../Doc/howto/sorting.rst:196 msgid "" @@ -250,6 +326,11 @@ msgid "" "arguments. Instead, all of the Py2.x versions supported a *cmp* parameter to " "handle user specified comparison functions." msgstr "" +"Plusieurs construction données dans ce guide se basent sur Python 2.4 ou " +"plus. Avant cela, il n'y avait pas la fonction :func:`sorted` et la méthode :" +"meth:`list.sort` ne prenait pas d'arguments nommés. À la place, toutes les " +"versions Py2.x utilisaient un paramètre *cmp* pour prendre en charge les " +"fonctions de comparaisons définies par les utilisateurs." #: ../Doc/howto/sorting.rst:201 msgid "" @@ -257,6 +338,9 @@ msgid "" "effort to simplify and unify the language, eliminating the conflict between " "rich comparisons and the :meth:`__cmp__` magic method)." msgstr "" +"En Py3.0, le paramètre *cmp* à été supprimé complètement (dans le cadre d'un " +"effort plus général pour simplifier et unifier le langage, en éliminant le " +"conflit entre les comparaisons riches et la méthode magique :meth:`__cmp__`)." #: ../Doc/howto/sorting.rst:205 msgid "" @@ -265,10 +349,15 @@ msgid "" "then return a negative value for less-than, return zero if they are equal, " "or return a positive value for greater-than. For example, we can do:" msgstr "" +"En Py2.x, le tri permettait en paramètre une fonction optionnelle qui peut " +"être appelée pour faire des comparaisons. Cette fonction devrait prendre " +"deux arguments à comparer pour renvoyer une valeur négative pour inférieur-" +"à, renvoyer zéro si ils sont égaux, ou renvoyer une valeur positive pour " +"supérieur-à. Par exemple, nous pouvons faire :" #: ../Doc/howto/sorting.rst:215 msgid "Or you can reverse the order of comparison with:" -msgstr "" +msgstr "Ou nous pouvons inverser l'ordre de comparaison avec :" #: ../Doc/howto/sorting.rst:222 msgid "" @@ -276,26 +365,36 @@ msgid "" "have the user supplying a comparison function and you need to convert that " "to a key function. The following wrapper makes that easy to do::" msgstr "" +"En portant du code depuis Python 2.X vers 3.x, des problèmes peuvent " +"survenir quand des utilisateurs fournissent une fonction de comparaison et " +"qu'il faut convertir cette fonction en une fonction-clef. La fonction " +"d'encapsulation suivante rend cela plus facile à faire : ::" #: ../Doc/howto/sorting.rst:245 msgid "To convert to a key function, just wrap the old comparison function:" msgstr "" +"Pour convertir une fonction clef, ils suffit d'encapsuler l'ancienne " +"fonction de comparaison :" #: ../Doc/howto/sorting.rst:256 msgid "" "In Python 3.2, the :func:`functools.cmp_to_key` function was added to the :" "mod:`functools` module in the standard library." msgstr "" +"En Python 3.2, la fonction :func:`functools.cmp_to_key` à été ajoutée au " +"module :mod:`functools` dans la librairie standard." #: ../Doc/howto/sorting.rst:260 msgid "Odd and Ends" -msgstr "" +msgstr "Curiosités et Conclusion" #: ../Doc/howto/sorting.rst:262 msgid "" "For locale aware sorting, use :func:`locale.strxfrm` for a key function or :" "func:`locale.strcoll` for a comparison function." msgstr "" +"Pour du tri de texte localisé, utilisez :func:`locale.strxfrm` en tant que " +"fonction clef ou :func:`locale.strcoll` comme fonction de comparaison." #: ../Doc/howto/sorting.rst:265 msgid "" @@ -304,6 +403,10 @@ msgid "" "simulated without the parameter by using the builtin :func:`reversed` " "function twice:" msgstr "" +"Le paramètre *reverse* maintient toujours un tri stable (de telle sorte que " +"les enregistrements avec des clef égales gardent le même ordre). Notez que " +"cet effet peut être simulé sans le paramètre en utilisant la fonction " +"native :func:`reversed` deux fois :" #: ../Doc/howto/sorting.rst:277 msgid "" @@ -311,6 +414,10 @@ msgid "" "comparisons between two objects. So, it is easy to add a standard sort order " "to a class by defining an :meth:`__lt__` method::" msgstr "" +"Il est garanti que les routines de tri utilisent les méthodes :meth:`__lt__` " +"lorsqu'elles effectuent des comparaisons entre deux objets. Donc il est " +"facile d'ajouter un ordre de tri standard à une classe en définissant sa " +"méthode :meth:`__lt__` : ::" #: ../Doc/howto/sorting.rst:285 msgid "" @@ -319,3 +426,8 @@ msgid "" "grades are stored in a dictionary, they can be used to sort a separate list " "of student names:" msgstr "" +"Les fonctions clef n'ont pas besoin de dépendre directement des objets " +"triés. Une fonction clef peut aussi accéder à des ressources externes. En " +"l'occurrence, si les grades des étudiants sont stockés dans un dictionnaire, " +"ils peuvent être utilisés pour trier une liste différentes de noms " +"d'étudiants :"