Update oop_intro.md - #78
Conversation
- L355: restore the `* ` marker so « les modules (de même) » is its own bullet again; without it the line joined the previous bullet and the list rendered three items instead of four. Wording unchanged. - L214: U+00A0 before `;` (French typography). - L337: strip a trailing space after a closing code fence. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
mmcky
left a comment
There was a problem hiding this comment.
Thank you Emile — another very clean review, and apologies for the slow reply.
All the changes check out. The double negative at line 262 was a genuine meaning error (the French said the opposite of the English). The calques you removed — « accommoder », « Par cela, nous voulons dire », « discutons-en en profondeur » — are ones the current version of the tool no longer produces, so your first round of feedback is working.
I've pushed one small fix-up commit to your branch (03f94a8): the web editor dropped the * bullet marker on line 355, so « les modules (de même) » ran into the previous bullet and the list rendered three items instead of four. The commit also adds a non-breaking space before the ; on line 214. Your wording is unchanged. With that in, this is ready — merging now. Thank you again for such a careful review.
One question: you translated four {index} entries here (Objets, Identité, Contenu, Méthodes), while about 85 others in the edition are still in English. Would you like index entries in French throughout? If so there's nothing for you to do — we'd translate them all in one pass.
…, plus two hand-ports Brings the rest of the edition into line with the editor's round-2 rulings (#77, #78, #80), following the #26 pattern: - « espace de noms » -> « espace de nommage » (#80, per the official French Python docs): oop_intro.md:398, scipy.md:88, python_oop.md:262/296. The adjective at oop_intro.md:398 stays « intégré » pending the editor's built-in ruling. - « retourner » -> « renvoyer » for returned values (#80): pandas_panel.md:466/475/479/517/523, polars.md:546. - functions.md:348: the English "standard normals" are draws, so « variables normales centrées réduites », not « lois ». Hand-ports: - numpy.md:1296: `discreteRV` -> `DiscreteRV`, the QuantEcon/lecture-python-programming#604 edit that never arrived (the numpy.md sync fails structural parity until the source's duplicated {index} is removed). - sympy.md: repair the garbled seed anchor `(sympy=` and drop the duplicate `(sympy)=` added before the title, matching the source pre-title. No typography changes (apply.mjs --dry-run: 0/27). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…, plus two hand-ports (#81) * Round-2 consistency pass: namespace and renvoyer rulings edition-wide, plus two hand-ports Brings the rest of the edition into line with the editor's round-2 rulings (#77, #78, #80), following the #26 pattern: - « espace de noms » -> « espace de nommage » (#80, per the official French Python docs): oop_intro.md:398, scipy.md:88, python_oop.md:262/296. The adjective at oop_intro.md:398 stays « intégré » pending the editor's built-in ruling. - « retourner » -> « renvoyer » for returned values (#80): pandas_panel.md:466/475/479/517/523, polars.md:546. - functions.md:348: the English "standard normals" are draws, so « variables normales centrées réduites », not « lois ». Hand-ports: - numpy.md:1296: `discreteRV` -> `DiscreteRV`, the QuantEcon/lecture-python-programming#604 edit that never arrived (the numpy.md sync fails structural parity until the source's duplicated {index} is removed). - sympy.md: repair the garbled seed anchor `(sympy=` and drop the duplicate `(sympy)=` added before the title, matching the source pre-title. No typography changes (apply.mjs --dry-run: 0/27). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * python_oop.md: `__init_` -> `__init__` A one-character typo carried over from the English source (QuantEcon/lecture-python-programming python_oop.md:243, listed in QuantEcon/lecture-python-programming#633). Raised by Copilot review. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Yes, I think we should translate the index entries into French throughout the French edition for consistency. Having some entries in French and others in English would make the index feel inconsistent. So I’m happy with keeping entries like “Objets”, “Identité”, “Contenu” and “Méthodes” in French and applying the same approach to the remaining index entries in one pass. |
Review of the French translation of the Object-Oriented Programming I
Fix
1. Methods section, line 262 – double negative made the sentence say the opposite of what was intended, and "interface pratique vers un appel de méthode" was a literal rendering of "interface to a method call".
Il ne semble pas qu'aucune méthode ne soit utilisée ici, mais en fait la notation d'affectation entre crochets n'est qu'une interface pratique vers un appel de méthode.On pourrait croire qu'aucune méthode n'est utilisée ici, mais en fait la notation d'affectation entre crochets n'est qu'une interface pratique pour appeler une méthode.Terminology and style
2. Overview, line 63
D'une part, cela permet à Python et à ses utilisateurs de sélectionner les bons aspects de différents paradigmes.D'une part, cela permet à Python et à ses utilisateurs de retenir les meilleurs aspects de différents paradigmes.3. Overview, line 69
Par cela, nous voulons dire qu'en Python, *tout est objet*.Nous entendons par là qu'en Python, *tout est objet*.4. Objects section, line 84 – index entry, was left in English
single: Python; Objectssingle: Python; Objets5. Type section, line 102 – accommoder is a calque of "accommodate"
Python propose différents types d'objets, afin d'accommoder différentes catégories de données.Python propose différents types d'objets, afin de prendre en charge différentes catégories de données.6. Type section, line 139
Ici, nous mélangeons les types, et il n'est pas clair pour Python si l'utilisateur souhaiteIci, nous mélangeons les types, et Python ne peut pas déterminer si l'utilisateur souhaite7. Type section, line 149
Pour éviter l'erreur, vous devez clarifier en modifiant le type concerné.Pour éviter l'erreur, vous devez lever l'ambiguïté en modifiant le type concerné.8. Identity section, line 160 – index entry
single: Python; Identitysingle: Python; Identité9. Identity section, line 163
En Python, chaque objet possède un identifiant unique, qui aide Python (et nous-mêmes) à suivre l'objet.En Python, chaque objet possède un identifiant unique, qui aide Python (et nous-mêmes) à garder la trace de l'objet.10. Content section, line 183 – index entry
single: Python; Contentsingle: Python; Contenu11. Content section, line 208 – double backticks around
imag, single around__class__elsewhere in the file* par exemple,imaget `__class__` sont des attributs de `x`.* par exemple, `imag` et `__class__` sont des attributs de `x`.12. Content section, line 214
Ces attributs sont importants, alors discutons-en en profondeur.Ces attributs sont importants ; examinons-les plus en détail.13. Methods section, line 219 – index entry
single: Python; Methodssingle: Python; Méthodes14. Methods section, line 224 – dash consistency (the file uses
---elsewhere)qui sont **appelables** -- c'est-à-direqui sont **appelables** --- c'est-à-dire15. Rich section, line 276 – "nice" means useful here, not pretty; package matches the rest of the series
Il existe un joli paquet appelé [rich](https://github.com/Textualize/rich) quiIl existe un package très pratique appelé [rich](https://github.com/Textualize/rich) qui16. Mystery section, line 326 – "Cela dit" is the standard form, and reste + néanmoins repeated the same idea
Ceci dit, Python *reste* néanmoins orienté objet en coulisses.Cela dit, Python *reste* orienté objet en coulisses.17. Summary, line 355
* les modules (idem)* les modules (de même)