π [translation-sync] [numba.md] Update np.random β Generator API#6
Conversation
β Translation Quality ReviewVerdict: PASS | Model: claude-sonnet-5 | Date: 2026-07-15 π Translation Quality
Summary: The translation of the Exercises section is accurate, fluent, and terminologically consistent with the glossary and established Numba/French technical conventions. Minor issues include an escaped apostrophe in a code string that could cause a rendering artifact and a small punctuation omission, but these do not affect overall comprehension or document structure. Formatting and MyST directives are correctly preserved throughout. Highly consistent terminology for Numba/JIT-specific vocabulary (compilation à la volée, boucle parallèle, générateur, état interne) that aligns well with technical French conventions. Complex explanations of data races and reproducibility issues in the numba_ex_race exercise are rendered clearly and accurately, preserving nuance from the English source. Code comments within code cells are properly translated (e.g., 'Chronométrage de la version...', 'Pour chaque ménage') without breaking code functionality. Mathematical notation and LaTeX are fully preserved without alteration. Suggestions:
π Diff Quality
Summary: The translation sync correctly mirrors all source changes including new exercises, renamed functions, and admonition blocks, with structure and heading metadata preserved appropriately. This review was generated automatically by action-translation review mode. |
β Translation Quality ReviewVerdict: PASS | Model: claude-sonnet-5 | Date: 2026-07-15 π Translation Quality
Summary: The French translation of the Exercises section is of high quality, accurately conveying complex technical content about Numba parallelization, random number generation, and data races while maintaining natural French academic style. Terminology is consistent and well-chosen, formatting is fully preserved, and no syntax errors were found. Minor stylistic points around punctuation and the translation of 'data race' are the only notable nitpicks. Excellent handling of technical Numba/JIT vocabulary (compilation Γ la volΓ©e, dΓ©bogage de course aux donnΓ©es, prΓ©chauffage) with clear and consistent terminology throughout the Exercises section Code cells, LaTeX math, and MyST directive syntax are all preserved perfectly with no structural errors Natural, fluent French prose that maintains the pedagogical tone of the original, especially in nuanced explanations like the data race symptoms discussion Suggestions:
π Diff Quality
Summary: The target document correctly mirrors all source changes including new exercises, renamed functions, the new note block, and list numbering fixes, with no unnecessary heading-map changes needed since no headings were altered. This review was generated automatically by action-translation review mode. |
There was a problem hiding this comment.
Pull request overview
Synchronisation automatique de la traduction franΓ§aise du cours numba.md avec la version source, en mettant Γ jour le contenu autour de lβAPI alΓ©atoire NumPy (passage vers default_rng() / Generator) et en clarifiant certains Γ©lΓ©ments de chronomΓ©trage et de parallΓ©lisation Numba.
Changes:
- Mise Γ jour/clarification dβexemples Monte-Carlo utilisant
np.random.default_rng()et ajustements associΓ©s (sΓ©quentiel vs parallΓ¨le,Generatornon thread-safe sousprange). - Ajout dβun encadrΓ©
{note}expliquant la non thread-safety des objetsGeneratorsous exΓ©cution parallΓ¨le Numba et la motivation mΓ©moire. - Mise Γ jour de lβΓ©tat de synchronisation de traduction (SHA source, date, modΓ¨le, version dβoutil).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
lectures/numba.md |
Met Γ jour le contenu pΓ©dagogique FR sur RNG/Generator et Numba (timings, parallΓ©lisation, note sur thread-safety). |
.translate/state/numba.md.yml |
Met à jour les métadonnées de sync (source SHA, date, modèle, mode, tool-version). |
π‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| with qe.Timer(): | ||
| calculate_pi_in_loop(rng, n) |
| Les deux cellules chronométrant la première approche ne mesurent que la boucle --- ses points | ||
| alΓ©atoires sont tirΓ©s une seule fois dans le bloc de configuration partagΓ© ci-dessus et ne sont jamais chronomΓ©trΓ©s, alors que | ||
| la seconde approche paie pour ses tirages Γ l'intΓ©rieur de la fonction chronomΓ©trΓ©e. | ||
|
|
A single translation sync fires `opened` plus one `labeled` event per label applied, all within a couple of seconds. Each starts its own run of this workflow, and the review action's "update existing comment, else create" logic is a check-then-act with no lock: concurrent runs all see "no comment yet" and each create one. On PR #6 that produced five concurrent runs and two independent review comments with different scores (9.2 and 9.0), plus five full model calls where one was intended. Add a per-PR concurrency group so runs queue instead of racing β the first creates the comment, any later run updates it. cancel-in-progress is left false on purpose: the labels are applied in one API call so event order is not guaranteed, and cancelling would let a `labeled` event for 'automated' kill the in-flight review and then skip its own job, leaving no review at all. Also ignore `labeled` events for labels other than 'action-translation', which removes the redundant review triggered by the 'automated' label. The underlying unsynchronised upsert is tracked in QuantEcon/action-translation#96. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A single translation sync fires `opened` plus one `labeled` event per label applied, all within a couple of seconds. Each starts its own run of this workflow, and the review action's "update existing comment, else create" logic is a check-then-act with no lock: concurrent runs all see "no comment yet" and each create one. On PR #6 that produced five concurrent runs and two independent review comments with different scores (9.2 and 9.0), plus five full model calls where one was intended. Add a per-PR concurrency group so runs queue instead of racing β the first creates the comment, any later run updates it. cancel-in-progress is left false on purpose: the labels are applied in one API call so event order is not guaranteed, and cancelling would let a `labeled` event for 'automated' kill the in-flight review and then skip its own job, leaving no review at all. Also ignore `labeled` events for labels other than 'action-translation', which removes the redundant review triggered by the 'automated' label. The underlying unsynchronised upsert is tracked in QuantEcon/action-translation#96. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The v0.16.1 sync path did not apply deterministic typography, so PR #6 regressed 14 lines of numba.md from U+00A0 to plain spaces before high punctuation (documented in QuantEcon/action-translation#97). This re-runs scripts/typography/apply.mjs --lang fr, whose postcondition verifies the only difference is spacing before ; : ! ?. One net-new non-breaking space relative to the seed comes from a line #6 added. The action-side fix so syncs stop stripping these landed in QuantEcon/action-translation#99, with matching hardened in QuantEcon/action-translation#100. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Automated Translation Sync
This PR contains automated translations from QuantEcon/lecture-python-programming.
Source PR
#550 - [numba.md] Update np.random β Generator API
Files Updated
lectures/numba.md.translate/state/numba.md.ymlDetails
This PR was created automatically by the translation action.