-
Notifications
You must be signed in to change notification settings - Fork 164
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
Conversation
Size changes📦 Next.js Bundle Analysis for react-devThis analysis was generated by the Next.js Bundle Analysis action. 🤖 This PR introduced no changes to the JavaScript bundle! 🙌 |
Coucou !
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
Non, c'est la trad établie.
Correct.
Fonction de mise à jour, oui, comme indiqué plus haut.
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.
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.
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. |
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. |
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. |
There was a problem hiding this 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
!
There was a problem hiding this 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
!
There was a problem hiding this 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 😉
|
||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 😁
There was a problem hiding this comment.
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. ;)
There was a problem hiding this 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 😉
@nina-alin peux-tu trouver un moment cette semaine pour regarder ma review et traiter les suggestions stp ? |
@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 |
1 similar comment
@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 |
Coucou @nina-alin tu es à l'autre bout du monde jusqu'à quand, du coup ? 😁 |
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. |
Hello @tdd ! Désolée pour le temps de review. Je devrais être un peu plus dispo désormais, je viens de rentrer. ;) |
Co-authored-by: Christophe Porteneuve <tdd@tddsworld.com>
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 :
set
function ? Fonctionset
me semble être le plus proche de ce qu'il y a dans la documentation Legacy.Sur ce, je vous souhaite une bonne soirée et merci d'avance pour les réponses à mes interrogations !