Skip to content
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

Translation of the 'useState' page #490

Merged
merged 9 commits into from
Aug 1, 2023
Merged

Conversation

nina-alin
Copy link
Contributor

@nina-alin nina-alin commented Jun 1, 2023

Bonjour !

Voici le premier jet de la traduction de useState. J'ai traduis approximativement 300 lignes pour commencer. J'ai bien conscience que c'est un morceau complexe et crucial, donc j'y vais avec parcimonie ! 😉

J'ai quelques questions concernant du vocabulaire :

  • Comment traduire set function ? Fonction set me semble être le plus proche de ce qu'il y a dans la documentation Legacy.
  • Checkbox => Case à cocher me semble un peu verbeux, mais ça me semble être le plus proche 😄
  • boolean => dans le doute, booléen me semble être la bonne traduction, mais je ne suis pas à 100% sûre !
  • Updater function => c'est celui qui m'a fait m'arrêter pour ce soir 😆 Fonction de mise à jour ? Mais lorsque la documentation mentionne updaters, cela signifie que je dois écrire mises à jours ? Cela ne me semble pas être très exact... J'aurais bien écrit metteurs à jours, mais bon, ça se dit pas 😅
  • queue => File ? File d'attente ? Autre chose peut-être ?
  • accidental impurities => J'ai traduit au littéral impuretés accidentelles, mais j'ai comme l'impression que ça ne veut rien dire...
  • Celle-ci va peut-être vous faire rire, mais je la pose dans le doute : on ne "françise" pas les noms ? Taylor et Edward, ça parle moins aux français qu'un Romain ou qu'un Lucas 😉

Sur ce, je vous souhaite une bonne soirée et merci d'avance pour les réponses à mes interrogations !

@github-actions
Copy link

github-actions bot commented Jun 1, 2023

Size changes

📦 Next.js Bundle Analysis for react-dev

This analysis was generated by the Next.js Bundle Analysis action. 🤖

This PR introduced no changes to the JavaScript bundle! 🙌

@tdd tdd self-requested a review June 1, 2023 19:43
@tdd tdd self-assigned this Jun 1, 2023
@tdd tdd added scope:required-pages Part of the required translations before we can ship translator:beginner The author of this translation has little to no prior doc translation experience labels Jun 1, 2023
@tdd
Copy link
Collaborator

tdd commented Jun 1, 2023

Coucou !

  • Comment traduire set function ? Fonction set me semble être le plus proche de ce qu'il y a dans la documentation Legacy.

Si tu regardes par exemple Ajouter de l'interactivité, Référencer des valeurs avec les refs ou Alléger les dépendances d'un Effet, tu verras qu'on a opté pour « fonction de mise à jour ». Suivant le contexte de ta page, tu peux opter pour « fonction set » si tu le souhaites, lorsque la situation semble l'exiger, mais si la première forme fonctionne, garde celle-là

  • Checkbox => Case à cocher me semble un peu verbeux, mais ça me semble être le plus proche 😄

Non, c'est la trad établie.

  • boolean => dans le doute, booléen me semble être la bonne traduction, mais je ne suis pas à 100% sûre !

Correct.

  • Updater function => c'est celui qui m'a fait m'arrêter pour ce soir 😆 Fonction de mise à jour ? Mais lorsque la documentation mentionne updaters, cela signifie que je dois écrire mises à jours ? Cela ne me semble pas être très exact... J'aurais bien écrit metteurs à jours, mais bon, ça se dit pas 😅

Fonction de mise à jour, oui, comme indiqué plus haut.

  • queue => File ? File d'attente ? Autre chose peut-être ?

File en effet, mais vu le contexte ici, « file d'attente ». Tu trouveras dans les VF déployées pas mal de refs à la « mise en file d'attente » pour le queuing / batching des mises à jour d'état.

  • accidental impurities => J'ai traduit au littéral impuretés accidentelles, mais j'ai comme l'impression que ça ne veut rien dire...

Y'a pas de super trad ici, je viens moi-même de devoir traduire "fonctions impures", ce qui n'est pas ouf mais correct dans le contexte (lequel précise en amont de quoi on parle). Garde ta trad pour le moment, je verrai en revue complète si je trouve mieux.

  • Celle-ci va peut-être vous faire rire, mais je la pose dans le doute : on ne "françise" pas les noms ? Taylor et Edward, ça parle moins aux français qu'un Romain ou qu'un Lucas 😉

La doc de Meilleures Pratiques dans le wiki en parle, figure-toi ! L'idée est de garder les prénoms faciles et établis mais de changer ceux qui peuvent prêter à confusion ou sont moins connus du grand public. Typiquement, Taylor fait généralement référence à Taylor Swift, donc féminin mais son genre est confus pour les français. Pour la petite histoire, on remplace tous les Taylor / Taylor Swift par Clara / Clara Luciani 😂.

J'essaierai de faire une revue plus détaillée demain, au pire d'ici la fin du weekend.

@nina-alin nina-alin marked this pull request as ready for review June 7, 2023 17:59
@tdd tdd added the Pending Review Un mainteneur qualifié doit encore faire la revue de cette PR label Jun 9, 2023
@tdd tdd added Reviewing Un mainteneur qualifié est en train de composer la revue de code and removed Pending Review Un mainteneur qualifié doit encore faire la revue de cette PR labels Jun 20, 2023
@tdd
Copy link
Collaborator

tdd commented Jun 28, 2023

Coucou @nina-alin j'ai fini la review mais avec 110+ suggestions en attente, GitHub fait un timeout à chaque tentative d'envoi. Grmbl. Leur gestion de la finalisation de PR est à chier sur ce genre de scénarios, mais d'habitude un refresh suffit. Là, ça persiste.

J'ai ouvert un ticket chez eux, j'espère que ça va se régler rapidement.

@tdd tdd added Reviewed and removed Reviewing Un mainteneur qualifié est en train de composer la revue de code labels Jun 28, 2023
@nina-alin
Copy link
Contributor Author

Hello @tdd ! Pas de soucis, ça arrive 👍

J'espère que ça sera réglé rapidement. Mine de rien, le temps a filé, et je pars à l'étranger pour deux mois dans quelques jours. Bref, après dimanche, je suis pas sûre de pouvoir être réactive tout de suite.

Copy link
Collaborator

@tdd tdd left a comment

Choose a reason for hiding this comment

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

Salut @nina-alin !

Voici l'essentiel de ma review, je mets le reste dans une 2e pour que GitHub laisse passer les volumes.

Avant toute chose, merci pour tout ce boulot ! C'est super cool de nous filer un coup de main. C'est un gros morceau, en prime.

Bon, pas de bol : les principaux points d'amélioration sont présents une tonne de fois. 110 commentaires, j'en ai bavé !

D'une façon générale, tu as fait quelques très belles trads intégrales et reformulations.

Mais on sent rapidement une espèce de fatigue ou de besoin de faire vite, car assez tôt on tombe dans une sorte de mot-à-mot qui nuit fort à la lisibilité à terme (formulation ampoulée, etc.), et plus tard on commence à voir pas mal d'erreurs de trads qui sentent à plein nez la lecture en diagonale de la VO (alors que tu sais très bien le traduire, ça ne fait aucun doute).

Bref, c'était peut-être pas la page la plus appropriée à tes dispos et ta forme du moment ! 😂

Je te fais un bilan des principaux points :

  • Futur simple ("enverra") plutôt qu'auxiliaire ("va envoyer") - cf. BP
  • On ne dit pas "muter" mais "modifier" - cf. Glossaire
  • Une fonction ne "se lance" pas, c'est un autre code qui la lance. Ne pas confondre lancement et exécution, non plus (lancement = déclenchement)
  • Attention à rester cohérent d'une occurrence à l'autre, et au sens des infinitifs ou gérondifs qui peuvent varier (infinitif / impératif / substantif en VF).
  • "Might" n'a pas besoin d'un "peut-être" derrière le conditionnel ; si vraiment on doit insister, on ajoutera "parfois"
  • "mode strict" pour React est en minuscules dans la VF
  • "Renvoyer", par "retourner" (notion spatiale, cf. Glossaire)
  • "Corriger", par "résoudre" un bug (cf. Glossaire)

Bon, voilà, mais ça reste un super boulot, hein, déprime pas ! 😁

Avant de traiter les retours, lis bien TOUT ce message, notamment les consignes d'intégration optimale des retours par lot(s)

Tout est fait sous forme de Suggestions GitHub, il te suffit à chaque suggestion que tu approuves de
cliquer le bouton d'ajout au lot de modifs à committer (pas de commit direct !), et sur la fin de créer le commit groupé. (ce mode de regroupement en un seul commit est à favoriser absolument, mais tu devras aller dans l'onglet Files changed pour y accéder, il n'est pas utilisable dans l’onglet Conversation)

Si certaines appellent discussion, n'hésite pas, tu réponds, on en parle, on avance ensemble 🤝

Quand tout sera bouclé côté code, je ferai une repasse visuelle finale en local avant de fusionner. J'y recalerai si besoin les usual suspects : espaces insécables avant les ponctuations doubles, et apostrophes françaises.

Encore mille mercis, j'ai hâte de voir cette PR finalisée et dans main !

src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Show resolved Hide resolved
Copy link
Collaborator

@tdd tdd left a comment

Choose a reason for hiding this comment

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

Salut @nina-alin !

Voici l'essentiel de ma review, je mets le reste dans une 2e pour que GitHub laisse passer les volumes.

Avant toute chose, merci pour tout ce boulot ! C'est super cool de nous filer un coup de main. C'est un gros morceau, en prime.

Bon, pas de bol : les principaux points d'amélioration sont présents une tonne de fois. 110 commentaires, j'en ai bavé !

D'une façon générale, tu as fait quelques très belles trads intégrales et reformulations.

Mais on sent rapidement une espèce de fatigue ou de besoin de faire vite, car assez tôt on tombe dans une sorte de mot-à-mot qui nuit fort à la lisibilité à terme (formulation ampoulée, etc.), et plus tard on commence à voir pas mal d'erreurs de trads qui sentent à plein nez la lecture en diagonale de la VO (alors que tu sais très bien le traduire, ça ne fait aucun doute).

Bref, c'était peut-être pas la page la plus appropriée à tes dispos et ta forme du moment ! 😂

Je te fais un bilan des principaux points :

  • Futur simple ("enverra") plutôt qu'auxiliaire ("va envoyer") - cf. BP
  • On ne dit pas "muter" mais "modifier" - cf. Glossaire
  • Une fonction ne "se lance" pas, c'est un autre code qui la lance. Ne pas confondre lancement et exécution, non plus (lancement = déclenchement)
  • Attention à rester cohérent d'une occurrence à l'autre, et au sens des infinitifs ou gérondifs qui peuvent varier (infinitif / impératif / substantif en VF).
  • "Might" n'a pas besoin d'un "peut-être" derrière le conditionnel ; si vraiment on doit insister, on ajoutera "parfois"
  • "mode strict" pour React est en minuscules dans la VF
  • "Renvoyer", par "retourner" (notion spatiale, cf. Glossaire)
  • "Corriger", par "résoudre" un bug (cf. Glossaire)

Bon, voilà, mais ça reste un super boulot, hein, déprime pas ! 😁

Avant de traiter les retours, lis bien TOUT ce message, notamment les consignes d'intégration optimale des retours par lot(s)

Tout est fait sous forme de Suggestions GitHub, il te suffit à chaque suggestion que tu approuves de
cliquer le bouton d'ajout au lot de modifs à committer (pas de commit direct !), et sur la fin de créer le commit groupé. (ce mode de regroupement en un seul commit est à favoriser absolument, mais tu devras aller dans l'onglet Files changed pour y accéder, il n'est pas utilisable dans l’onglet Conversation)

Si certaines appellent discussion, n'hésite pas, tu réponds, on en parle, on avance ensemble 🤝

Quand tout sera bouclé côté code, je ferai une repasse visuelle finale en local avant de fusionner. J'y recalerai si besoin les usual suspects : espaces insécables avant les ponctuations doubles, et apostrophes françaises.

Encore mille mercis, j'ai hâte de voir cette PR finalisée et dans main !

Copy link
Collaborator

@tdd tdd left a comment

Choose a reason for hiding this comment

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

Coucou @nina-alin ! Voici le reste 😉

src/content/reference/react/useState.md Outdated Show resolved Hide resolved

This pattern can be hard to understand and is usually best avoided. However, it's better than updating state in an effect. When you call the `set` function during render, React will re-render that component immediately after your component exits with a `return` statement, and before rendering the children. This way, children don't need to render twice. The rest of your component function will still execute (and the result will be thrown away). If your condition is below all the Hook calls, you may add an early `return;` to restart rendering earlier.
Cette méthode peut être difficile à comprendre et est la plupart du temps à éviter. Cependant, c'est toujours mieux que de mettre à jour un état dans un effet. Lorsque vous appelez une fonction de mise à jour pendant le rendu, React va effectuer un autre rendu de ce composant immédiatement après que votre composant se soit terminé grâce à un `return`, et avant d'effectuer un rendu de ses enfants. De cette manière, les enfants n'ont pas besoin d'effectuer deux rendus. Le reste de votre composant va toujours s'effectuer (et le résultat va être jeté). Si votre composant est en-dessous de tous les appels à des Hook, vous devez ajouter un `return;` en avance pour redémarrer plus tôt le rendu.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Cette méthode peut être difficile à comprendre et est la plupart du temps à éviter. Cependant, c'est toujours mieux que de mettre à jour un état dans un effet. Lorsque vous appelez une fonction de mise à jour pendant le rendu, React va effectuer un autre rendu de ce composant immédiatement après que votre composant se soit terminé grâce à un `return`, et avant d'effectuer un rendu de ses enfants. De cette manière, les enfants n'ont pas besoin d'effectuer deux rendus. Le reste de votre composant va toujours s'effectuer (et le résultat va être jeté). Si votre composant est en-dessous de tous les appels à des Hook, vous devez ajouter un `return;` en avance pour redémarrer plus tôt le rendu.
Cette approche peut être délicate à bien comprendre : la plupart du temps, vous devriez l'éviter. Cependant, c'est toujours mieux que de mettre à jour un état au sein d'un effet. Lorsque vous appelez une fonction de mise à jour pendant le rendu, React effectuera un nouveau rendu de ce composant immédiatement après que votre fonction composant a terminé avec un `return`, avant d'effectuer le rendu de ses enfants. Grâce à ça, les enfants n'auront pas besoin d'effectuer deux rendus. Le reste de votre fonction composant s'exécutera toujours (et le résultat sera jeté). Si votre condition se situe en dessous de tous les appels à des Hooks, vous pouvez même y ajouter un `return;` anticipé pour déclencher le nouveau rendu plus tôt.

Ah oui tiens, j'y avais jamais pensé ; ce type de return mériterait alors clairement un commentaire expliquant le principe 😁

Copy link
Contributor Author

Choose a reason for hiding this comment

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

On peut aussi laisser une issue demandant à React de le préciser dans la doc originale. ;)

src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
src/content/reference/react/useState.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@tdd tdd left a comment

Choose a reason for hiding this comment

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

Coucou @nina-alin ! Voici le reste 😉

@tdd
Copy link
Collaborator

tdd commented Jul 4, 2023

@nina-alin peux-tu trouver un moment cette semaine pour regarder ma review et traiter les suggestions stp ?

@nina-alin
Copy link
Contributor Author

@tdd J'essaye de m'en occuper cette semaine. Je suis actuellement en stage à l'autre bout du monde 🏃 et c'est un peu sportif. Mais j'ai deux heures de train demain. J'essaye de boucler ça si j'ai le WiFi. Désolée du délai ! N'y vois pas un reproche de ma part (ce n'est pas du tout le but), mais tu as pris quelques semaines pour corriger la page. Je pensais pas devoir m'occuper de la review de useState après mon départ, d'où mon manque de nouvelles depuis tes retours.

1 similar comment
@nina-alin
Copy link
Contributor Author

@tdd J'essaye de m'en occuper cette semaine. Je suis actuellement en stage à l'autre bout du monde 🏃 et c'est un peu sportif. Mais j'ai deux heures de train demain. J'essaye de boucler ça si j'ai le WiFi. Désolée du délai ! N'y vois pas un reproche de ma part (ce n'est pas du tout le but), mais tu as pris quelques semaines pour corriger la page. Je pensais pas devoir m'occuper de la review de useState après mon départ, d'où mon manque de nouvelles depuis tes retours.

@tdd
Copy link
Collaborator

tdd commented Jul 14, 2023

Coucou @nina-alin tu es à l'autre bout du monde jusqu'à quand, du coup ? 😁

@tdd
Copy link
Collaborator

tdd commented Jul 26, 2023

Coucou @nina-alin ça va ?!

Dis, si tu n'as pas le temps d'ici la fin de la semaine, je vais appliquer mes suggestions et faire la revue finale, okay ? Pour qu'on puisse boucler cette page, vu que d'ici là j'aurai sans doute pu traduire les deux dernières pages de hooks en attente.

@nina-alin
Copy link
Contributor Author

Hello @tdd ! Désolée pour le temps de review. Je devrais être un peu plus dispo désormais, je viens de rentrer. ;)

@tdd tdd merged commit fd9ad3c into reactjs:main Aug 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Reviewed scope:required-pages Part of the required translations before we can ship translator:beginner The author of this translation has little to no prior doc translation experience
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants