Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Reference "Data Model" translation. #173

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
May 1, 2018

Conversation

christopheNan
Copy link
Contributor

work in progress, needs cross reading.

work in progress, needs cross reading.
Copy link
Member

@JulienPalard JulienPalard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Relu jusqu'a la ligne 520.

"plus être atteint, il a vocation à être supprimé par le ramasse-miettes "
"(*garbage-collector* en anglais). L'implémentation peut retarder cette "
"opération ou même ne pas la faire du tout --- la façon dont fonctionne le "
"ramasse-miette est particulier à chaque implémentation, l'important étant "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*particulière ?


#: ../Doc/reference/datamodel.rst:150
msgid "None"
msgstr "*None*"
msgstr ""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pourquoi enlever la "traduction" ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je ne vois pas pourquoi il faudrait traduire None. Ni pourquoi il avait été traduit par None.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On a le choix de "copier dans la traduction" ou "ne pas copier dans la traduction", ce qui ne se traduit pas. Typiquement "None", les licences, ... J'imagine que les deux solutions ont des avantages et des inconvénients, voici deux avantages que je voit :

  • Un make todo (une recherche des documents contenant des chaînes à traduire) ne les remonte plus.
  • Si un jour sphinx-doc affiche différemment les paragraphes non-traduits (avec une bulle "Aidez à traduire ici tout ça"), ces "non-traduits mais copiés" ne feront pas sortir la bulle.

"un sous-type du type entier et les valeurs booléennes se comportent comme "
"les valeurs, respectivement, 0 et 1 dans presque tous les contextes. "
"L'exception concerne la conversion en chaîne de caractères où, "
"respectivement, ``\"False\"`` et ``True`` sont renvoyées "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il manque des guillemets autour de "True".

@@ -311,21 +458,30 @@ msgid ""
"a sequence of the same type. This implies that the index set is renumbered "
"so that it starts at 0."
msgstr ""
"Les séquences gèrent le saucissonnage (*slicing* en anglais) : ``a[i:j]`` "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intéressante traduction. Tu peux laisser, mais on aurait pu mettre "Les séquences peuvent aussi être découpées". "Le saucissonnage" me fait plus penser a la partie "presser la viande dans le saucisson" que "trancher le saucisson" mais c'est peut être ma manière.

@@ -383,36 +563,49 @@ msgid ""
"create bytes objects. Also, bytes objects can be decoded to strings via "
"the :meth:`~bytes.decode` method."
msgstr ""
"Les objets bytes sont des tableaux immuables. Les éléments sont des octets "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'aurais tendance à mettre "bytes" en italique ici.


#: ../Doc/reference/datamodel.rst:344
msgid ""
"The items of a list are arbitrary Python objects. Lists are formed by "
"placing a comma-separated list of expressions in square brackets. (Note that "
"there are no special cases needed to form lists of length 0 or 1.)"
msgstr ""
"N'importe quel objet Python peut être élément d'une liste. Les listes sont "
"créées en plaçant entre crochets une liste d'expressions dont les éléments "
"sont séparés par des virgules (notez qu'il n'est pas nécessaire de "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pourquoi pas :

notez que les listes de longueurs 0 ou 1 ne sont pas des cas particuliers

@@ -646,7 +902,7 @@ msgstr ""
msgid ""
"``None`` or a tuple of cells that contain bindings for the function's free "
"variables."
msgstr ""
msgstr "``None`` ou tuple XXX"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lorsqu'une traduction n'est pas complète tu peux lui ajouter (noramelemnt c'est prévu par ton éditeur) un "flag" "fuzzy". Après via un "make fuzzy" tu peux lister toutes les traductions marquées "fuzzy", c'est pratique. Les cells c'est https://docs.python.org/3/c-api/cell.html

Je propose :

None ou un tuple de cellules (cells en anglais), chaque cellule contient un lien vers chaque variable libre de la fonction.

@@ -657,6 +913,9 @@ msgid ""
"A dict containing annotations of parameters. The keys of the dict are the "
"parameter names, and ``'return'`` for the return annotation, if provided."
msgstr ""
"Dictionnaire contenant les annotations des paramètres. Les clés du "
"dictionnaires sont les noms des paramètres et ``return`` pour les "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je préciserai que 'return' (d'ailleurs il manque les guilletets simples autour de ta traduction de return, on parle de la chaîne return, pas du mot clef return) est une clef de dictionnaire, par exemple :

… sont les noms des paramètres et la clef ``'return'`` pour les annotations de la valeur renvoyée...

Dictionnaire est au singulier (celui précédé de "du").

s'ils existent fait référence aux annotations (que ce soit les annotations de paramètres, ou de valeur renvoyée) c'est féminin. On pourrait être plus clair peut être :

Les clés du dictionnaire sont les noms des paramètres (ou ``'return'`` pour la valeur renvoyée), ils ne sont présents que s'ils sont annotés.

@@ -934,7 +1220,7 @@ msgstr ""

#: ../Doc/reference/datamodel.rst:795
msgid "Custom classes"
msgstr ""
msgstr "Classes particularisées"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah oui pas simple. Ça parle juste des classes introduite par les développeurs via le mot clef "class", donc des classes tout à fait classiques. En anglais j'aurai même peut être mis "User-created classes".

Peut être "Classes déclarées par le développeur" ? Un peu long mais proprement explicite.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oui, c'est mieux. Mais cela concerne vraiment toutes les classes,c'est-à-dire même les classes d'une bibliothèque que tu utilises. "Classes déclarées par le développeur" pourrait laisser croire qu'il s'agit seulement des classes du module courant (en cours de développement).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exact, il faut trouver mieux.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

classes allogènes ?

"Appeler la méthode :meth:`aiterator.__anext__` de l'itérateur asynchrone "
"renvoie un :term:`awaitable` qui, lorsqu'on l'attend, s'exécute jusqu'à ce "
"qu'il fournisse une valeur à l'aide de l'expression :keyword:`yield`. Quand "
"la fonction exécute une instruction vide :keyword:`return` ou arrive à la "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pas fan de "instruction vide return", ça parle d'un "return" sans valeur, juste "return" (car si il y avait une valeur, elle serait ignorée). Pourquoi pas :

Quand la fonction exécute une instruction :keyword:return (sans valeur) ou arrive à la fin [...]

"Attributs prédéfinis (en lecture-écriture) : :attr:`__name__` est le nom du "
"module ; :attr:`__doc__` est la chaîne de documentation du module (ou "
"``None`` s'il n'y en a pas) ; :attr:`__annotations__` (optionnel) est un "
"dictionnaire contenant les g :term:`Annotations de variables <variable "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"g" : typo ?

@@ -1326,6 +1502,11 @@ msgid ""
"makefile` method of socket objects (and perhaps by other functions or "
"methods provided by extension modules)."
msgstr ""
"Un :term:`objet fichier` représente un fichier ouvert. Différentes "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*différents

"l'objet fonction contient une référence explicite vers les globales de la "
"fonction (le module dans lequel elle est définie) alors qu'un objet code ne "
"contient aucun contexte ; par ailleurs, les valeurs par défaut des arguments "
"sont stockées dans l'objet fonction, pas de l'objet code (parce que ce sont "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/de/dans/ ?

@@ -1487,27 +1752,43 @@ msgid ""
"of its frame object if the exception occurred in a :keyword:`try` statement "
"with no matching except clause or with a finally clause."
msgstr ""
"Attributs spéciaux en lecture seule : attr:`tb_next` est le prochain niveau "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il manque un : devant attr.

"précise. Le numéro de ligne et la dernière instruction dans la trace "
"peuvent différer du numéro de ligne de l'objet cadre si l'exception a eu "
"lieu dans une instruction :keyword:`try` sans qu'il n'y ait de clause :"
"keyword:`except` adéquate ou sans clause *finally* ."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pas bien grave mais il y a un espace avant le point.


#: ../Doc/reference/datamodel.rst:1052
msgid "Slice objects"
msgstr ""
msgstr "Objets découpes"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dans le reste de la doc il me semble qu'on utilise partout tranche pour "slice", on pourrait ici aussi ?

- relecture nécessaire ;
- prise en compte des remarques faites sur les 3 premiers commits.

#: ../Doc/reference/datamodel.rst:2428
msgid ""
"Incorrectly attempting to invoke an unbound method of a class in this way is "
"sometimes referred to as 'metaclass confusion', and is avoided by bypassing "
"the instance when looking up special methods::"
msgstr ""
"Essayer d'invoquer une méthode non liée d'une classe de cette manière est "
"parfois appelé \"confusion de méta-classe\" et se contourne en bipassant "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En dehors de https://fr.wiktionary.org/wiki/bipasser (pas fan de wiktionary comme référence) et de http://www.larousse.fr/dictionnaires/francais/bipasse/9508 (bipasse, pas le verbe), je ne trouve rien de sérieux sur le verbe "bipasser", j'ai peur qu'il surprenne le lecteur plus qu'autre chose.


#: ../Doc/reference/datamodel.rst:1466
#, fuzzy
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ça me semble bon, quel est le souci ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simplement, je ne comprends pas ma dernière phrase (ni en français, ni en anglais) ! Je vais travailler le concept.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le "Note that at least for instance variables, you can fake total control by not inserting any values in the instance attribute dictionary (but instead inserting them in another object)." ? Mon interprétation :

L'idée (du "fake total control") est que si dans ton __setattr__ tu n'écrit jamais dans le dictionnaire de l'instance, mais que tu cache les valeurs dans une structure à toi, alors tu es sûr que toutes les tentatives d'accès à un attribut passeront par __getattr__, te garantissant ainsi que toute lecture passera par __getattr__ (puisque toute tentative de l'interpréteur de trouver l'attribut par lui même aura échoué (getattribute, get, ...), puisque l'attribut est caché dans ta structure).

Mais c'est tiré par les cheveux, autant surcharger __getattribute__, d'où la phrase suivante : "See the __getattribute__() method below for a way to actually get total control over attribute access." qui sous-entend "Bon ça c'était pour le faire salement, regardez getattribute pour le faire proprement".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En fait, c'était la récursion infinie que je n'avais pas saisie. la méthode getattribute doit appeler classe_ancetre.getattribute pour tous les accès aux attributs dont elle a besoin.

@JulienPalard JulienPalard merged commit 7c65bfe into python:3.6 May 1, 2018
@christopheNan christopheNan deleted the ref_data_model branch May 11, 2018 09:49
JulienPalard added a commit that referenced this pull request Nov 26, 2023
Co-authored-by: Julien Palard <[email protected]>
Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/173
Reviewed-by: Julien Palard <[email protected]>
Co-authored-by: Christophe Nanteuil <[email protected]>
Co-committed-by: Christophe Nanteuil <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants