@nodaro/shared 3.10.0 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,36 +10,36 @@ const map: LocaleCatalogMap = {
10
10
  "approach-from-background": { label: "Approche depuis le fond", description: "Silhouette lointaine qui avance jusqu'au milieu du cadre" },
11
11
  "walk-up-to-camera": { label: "Marche vers la caméra", description: "Avance jusqu'à ce que le visage remplisse le cadre" },
12
12
  "run-toward-camera": { label: "Course vers la caméra", description: "Sprinte droit sur l'objectif et freine net" },
13
- "run-in-and-stop": { label: "Entrée en courant, arrêt", description: "Arrive en sprintant par la gauche, s'arrête au centre" },
13
+ "run-in-and-stop": { label: "Entrer en courant par la gauche et s’arrêter", description: "Entre en courant par la gauche du cadre et s’arrête près du centre." },
14
14
  "burst-in-through-doorway": { label: "Irruption par la porte", description: "Surgit par une porte et se campe sur ses deux pieds" },
15
15
  "kick-open-door": { label: "Porte enfoncée au pied", description: "Ouvre une porte d'un coup de pied et entre à grands pas" },
16
16
  "dive-through-window": { label: "Plongeon par la fenêtre", description: "Plonge tête la première par une fenêtre et se relève en roulade" },
17
17
  "climb-through-window": { label: "Entrée par la fenêtre", description: "Se hisse par-dessus le rebord et saute au sol" },
18
- "stumble-in": { label: "Entrée en trébuchant", description: "Entre en trébuchant par la droite et retrouve l'équilibre" },
19
- "sneak-in": { label: "Entrée furtive", description: "Se faufile accroupi par la gauche, puis se redresse" },
20
- "dash-across-frame": { label: "Traversée éclair du cadre", description: "Sprinte depuis la gauche et sort par le bord droit" },
21
- "slide-in-on-knees": { label: "Entrée en glissade", description: "Glisse dans le champ sur les genoux, bras écartés" },
18
+ "stumble-in": { label: "Entrer en trébuchant — droite", description: "Entre en trébuchant par la droite et retrouve l’équilibre (droite du cadre)." },
19
+ "sneak-in": { label: "Entrer en douce — gauche", description: "Se faufile accroupi par la gauche, puis se redresse (gauche du cadre)." },
20
+ "dash-across-frame": { label: "Traverser le cadre en courant — de gauche à droite", description: "Entre en sprint par la gauche et sort par le bord droit (de gauche à droite du cadre)." },
21
+ "slide-in-on-knees": { label: "Entrer en glissade sur les genoux par la gauche", description: "Glisse sur les deux genoux depuis la gauche du cadre et s’arrête." },
22
22
  "sock-slide-into-frame": { label: "Glissade en chaussettes", description: "Dérape en chaussettes dans le champ et se rattrape" },
23
23
  "drop-in-from-above": { label: "Arrivée par le haut", description: "Atterrit d'en haut, amortit sur les genoux, se relève" },
24
24
  "rise-into-frame": { label: "Montée dans le cadre", description: "Se relève et apparaît par le bas du cadre" },
25
25
  "pop-up-from-cover": { label: "Apparition derrière un abri", description: "Jaillit de derrière un obstacle au premier plan" },
26
- "lean-into-frame": { label: "Penché dans le cadre", description: "Tête et épaules entrent en biais, puis ressortent" },
27
- "peek-into-frame": { label: "Coup d'œil furtif", description: "La tête apparaît au bord droit, regard vers l'objectif" },
26
+ "lean-into-frame": { label: "Se pencher dans le cadre — gauche", description: "La tête et les épaules basculent dans le cadre, puis ressortent (gauche du cadre)." },
27
+ "peek-into-frame": { label: "Jeter un œil depuis la droite du cadre", description: "Penche la tête dans le champ depuis la droite et garde la position." },
28
28
  "enter-through-doorway": { label: "Entrée par une porte", description: "Franchit un seuil et avance dans le champ" },
29
29
  "step-out-of-shadow": { label: "Sortie de l'ombre", description: "Émerge d'un recoin sombre en pleine lumière" },
30
30
  "emerge-from-crowd": { label: "Sortie de la foule", description: "Se fraie un passage parmi les gens jusqu'à un espace dégagé" },
31
31
  "step-around-corner": { label: "Apparition au coin", description: "L'épaule d'abord, puis le corps pivote dans le champ" },
32
- "walk-out-left": { label: "Sortie à gauche", description: "Part du centre et sort par le bord gauche" },
33
- "walk-out-right": { label: "Sortie à droite", description: "Part du centre et sort par le bord droit" },
34
- "run-out-of-frame": { label: "Sortie en courant", description: "Quitte le centre et sprinte hors champ par la droite" },
32
+ "walk-out-left": { label: "Sortir du cadre par la gauche", description: "Sort en marchant par le bord gauche du cadre." },
33
+ "walk-out-right": { label: "Sortir du cadre par la droite", description: "Sort en marchant par le bord droit du cadre." },
34
+ "run-out-of-frame": { label: "Sortir en courant par la droite du cadre", description: "Sort du champ en courant par le bord droit." },
35
35
  "walk-away-into-distance": { label: "Départ vers le lointain", description: "De dos, rapetisse vers l'arrière-plan" },
36
36
  "run-away-into-distance": { label: "Fuite vers le lointain", description: "De dos, s'enfuit en courant vers l'arrière-plan" },
37
37
  "turn-and-walk-away": { label: "Demi-tour et départ", description: "Se détourne de la caméra et s'éloigne en marchant" },
38
- "back-out-of-frame": { label: "Sortie à reculons", description: "Recule jusqu'à sortir du champ" },
38
+ "back-out-of-frame": { label: "Reculer hors du cadre par la gauche", description: "Recule en diagonale jusqu’à sortir par le bord gauche." },
39
39
  "dragged-out-of-frame": { label: "Traîné hors champ", description: "Tiré en arrière hors du plan, les mains griffant le sol" },
40
- "exit-past-camera": { label: "Sortie devant la caméra", description: "Marche jusqu'à l'objectif et le dépasse" },
41
- "duck-out-of-frame": { label: "Sortie accroupie", description: "S'accroupit et disparaît par le bas du cadre" },
42
- "exit-through-doorway": { label: "Sortie par une porte", description: "Ouvre une porte, la franchit, la referme" },
40
+ "exit-past-camera": { label: "Sortir en passant devant la caméra", description: "Passe devant la caméra et sort du champ." },
41
+ "duck-out-of-frame": { label: "Se baisser sous le cadre", description: "Abaisse le corps jusqu’à disparaître sous le cadre." },
42
+ "exit-through-doorway": { label: "Sortir par une porte", description: "Franchit une porte et sort du champ." },
43
43
  // ── Turns & Looks ──
44
44
  "turn-to-camera": { label: "Rotation vers la caméra", description: "Le corps pivote entièrement de dos à face, bien face à la caméra" },
45
45
  "turn-away-from-camera": { label: "Rotation vers l'arrière", description: "Le corps pivote entièrement de face à dos, pour finir de dos" },
@@ -157,12 +157,12 @@ const map: LocaleCatalogMap = {
157
157
  "pivot-mid-stride": { label: "Pivot en pleine foulée", description: "Demi-tour fluide sur la pointe du pied, sans pause" },
158
158
  "stomp-editorial-walk": { label: "Marche éditoriale appuyée", description: "Foulées lourdes talon d'abord, genoux qui poussent, bras rigides" },
159
159
  "sway-hips-walk": { label: "Marche déhanchée", description: "Balancement exagéré des hanches à chaque pas" },
160
- "stalk-high-fashion-walk": { label: "Marche haute couture", description: "Buste rigide, bras collés, longues foulées raides, visage neutre" },
161
- "stop-and-pose": { label: "Arrêt et pose", description: "S'arrête, poids en arrière, menton levé, tient la pose, repart" },
160
+ "stalk-high-fashion-walk": { label: "Marcher les bras rigides", description: "Torse rigide, bras plaqués, longues enjambées raides, visage impassible" },
161
+ "stop-and-pose": { label: "S’arrêter et poser", description: "Cesse de marcher, transfère le poids sur une jambe et tient une pose." },
162
162
  "land-hand-on-hip": { label: "Main sur la hanche", description: "Arrive, une main se pose sur la hanche, coude écarté" },
163
163
  "flip-the-hair": { label: "Envolée de cheveux", description: "La tête plonge et se relève d'un coup, les cheveux décrivent un arc" },
164
164
  "sweep-hair-back": { label: "Cheveux ramenés en arrière", description: "Une main dégage les cheveux du visage en marchant" },
165
- "drop-coat-off-shoulders": { label: "Manteau glissé des épaules", description: "Fait glisser le manteau des épaules pour révéler la tenue" },
165
+ "drop-coat-off-shoulders": { label: "Faire glisser le manteau des épaules", description: "Fait glisser un manteau des épaules en gardant la tenue en dessous." },
166
166
  "hook-jacket-over-shoulder": { label: "Veste sur l'épaule", description: "Retire la veste et l'accroche sur une épaule" },
167
167
  "pause-look-over-shoulder": { label: "Pause, regard en arrière", description: "S'éloigne, s'arrête, regarde par-dessus l'épaule, tient la pose" },
168
168
  "sultry-look-back": { label: "Regard sensuel en arrière", description: "Menton à l'épaule, regard mi-clos vers l'objectif" },
@@ -173,8 +173,8 @@ const map: LocaleCatalogMap = {
173
173
  "campaign-walk-to-camera": { label: "Marche publicitaire", description: "Marche droit vers l'objectif, de loin jusqu'en gros plan, regard fixe" },
174
174
  "walk-away-from-camera": { label: "Marche de dos", description: "De dos à la caméra, s'éloigne au loin" },
175
175
  "sweep-the-gown": { label: "Robe à traîne", description: "Longues foulées, ourlet traînant, un tour fait voler la traîne" },
176
- "bounce-streetwear-walk": { label: "Démarche streetwear", description: "Marche souple et rebondie, épaules qui roulent, mains en poches" },
177
- "stride-menswear-walk": { label: "Foulée mode homme", description: "Longue foulée régulière, épaules droites, une main en poche" },
176
+ "bounce-streetwear-walk": { label: "Marcher avec un rebond rythmé", description: "Démarche souple et rebondie, épaules roulantes, mains dans les poches" },
177
+ "stride-menswear-walk": { label: "Marcher à grandes enjambées, une main dans la poche", description: "Longue foulée régulière, épaules droites, une main dans la poche" },
178
178
  "twirl-the-skirt": { label: "Jupe virevoltante", description: "Monte sur la pointe des pieds et tourne, la jupe s'évase" },
179
179
  "adjust-the-cuff": { label: "Ajustement de manchette", description: "Tire la manchette bien droite sous la manche, en pleine foulée" },
180
180
  "adjust-lapels": { label: "Ajustement des revers", description: "Les deux mains saisissent les revers et les redressent" },
@@ -182,8 +182,8 @@ const map: LocaleCatalogMap = {
182
182
  "unbutton-jacket-walking": { label: "Veste déboutonnée", description: "Défait le bouton de la veste en marchant, les pans s'ouvrent" },
183
183
  "pop-the-collar": { label: "Col relevé", description: "Les deux mains relèvent le col contre la nuque" },
184
184
  "throw-open-coat": { label: "Manteau grand ouvert", description: "Saisit les pans du manteau et les écarte, tenue en vue" },
185
- "cycle-through-three-poses": { label: "Enchaînement de trois poses", description: "Trois poses d'affilée, en changeant d'appui et de bras à chaque temps" },
186
- "walk-with-partner": { label: "Marche en duo", description: "Marche côte à côte avec un partenaire, au même pas" },
185
+ "cycle-through-three-poses": { label: "Improviser trois poses", description: "Enchaîne trois poses d’affilée, en changeant le poids et les bras à chaque temps. La chorégraphie est choisie par le modèle de génération." },
186
+ "walk-with-partner": { label: "Marcher côte à côte", description: "Marche à côté du partenaire, au même rythme." },
187
187
  // ── Dance ──
188
188
  "groove-hip-hop": { label: "Groove hip-hop", description: "Rebondit et se balance sur le beat, bras relâchés" },
189
189
  "sway-to-music": { label: "Balancement en musique", description: "Oscille de gauche à droite en rythme, bras détendus" },
@@ -197,7 +197,7 @@ const map: LocaleCatalogMap = {
197
197
  "do-toprock": { label: "Toprock", description: "Pas de breakdance debout avant de descendre au sol" },
198
198
  "spin-into-windmill": { label: "Coupole", description: "Rotation au sol sur les épaules, jambes fouettant l'air" },
199
199
  "spin-on-the-head": { label: "Headspin", description: "Rotation inversée sur le sommet du crâne, jambes en V" },
200
- "hit-a-freeze": { label: "Freeze de breakdance", description: "Se fige dans un freeze de breakdance en équilibre" },
200
+ "hit-a-freeze": { label: "Tenir un freeze de breakdance improvisé", description: "Tient un équilibre de breakdance choisi par le modèle de génération ; la chorégraphie exacte n’est pas spécifiée." },
201
201
  "do-the-worm": { label: "La chenille", description: "Ondulation à plat ventre, progressant sur le sol" },
202
202
  "hit-pops": { label: "Popping", description: "Contractions musculaires sèches qui secouent le corps" },
203
203
  "roll-an-arm-wave": { label: "Vague des bras", description: "Une onde roule d'une main jusqu'à l'autre" },
@@ -227,7 +227,7 @@ const map: LocaleCatalogMap = {
227
227
  "do-bhangra": { label: "Bhangra", description: "Bras levés, épaules qui rebondissent, genoux montant en sautillant" },
228
228
  "dance-afrobeats-legwork": { label: "Jeu de jambes afrobeats", description: "Genoux qui pompent, pieds qui pivotent, buste penché" },
229
229
  "sway-capoeira-ginga": { label: "Ginga de capoeira", description: "Pas triangulaire balancé, un bras en garde devant la poitrine" },
230
- "hit-kpop-point-move": { label: "Pointé K-pop", description: "Les bras claquent dans une figure signature sur le beat" },
230
+ "hit-kpop-point-move": { label: "Improviser un point move K-pop", description: "Les bras claquent dans une forme signature sur le temps. La chorégraphie est choisie par le modèle de génération." },
231
231
  "moonwalk-backward": { label: "Moonwalk", description: "Glisse en arrière comme si les pieds marchaient en avant" },
232
232
  "do-the-robot": { label: "Le robot", description: "Mouvements raides et mécaniques, arrêts à chaque articulation" },
233
233
  "do-the-twist": { label: "Le twist", description: "Pieds ancrés, hanches pivotant à l'opposé des épaules" },
@@ -255,7 +255,7 @@ const map: LocaleCatalogMap = {
255
255
  "break-down-sobbing": { label: "Effondrement en sanglots", description: "Le visage se décompose en sanglots convulsifs" },
256
256
  "gasp-in-shock": { label: "Souffle coupé", description: "Inspiration brusque, bouche et yeux grands ouverts" },
257
257
  "drop-jaw-in-astonishment": { label: "Mâchoire décrochée", description: "La mâchoire tombe, bouche bée de stupéfaction" },
258
- "register-dawning-realization": { label: "Prise de conscience", description: "Immobilité, puis les yeux s'écarquillent en comprenant" },
258
+ "register-dawning-realization": { label: "Marquer la prise de conscience", description: "Les yeux s’écarquillent légèrement quand la compréhension apparaît." },
259
259
  "startle-then-relax": { label: "Surprise puis soulagement", description: "Sursaut de surprise qui se fond en soulagement" },
260
260
  "wink-one-eye": { label: "Clin d'œil", description: "Un œil se ferme d'un bref plissement et se rouvre" },
261
261
  "roll-eyes-exasperated": { label: "Yeux au ciel", description: "Le regard roule vers le haut, exaspéré" },
@@ -286,7 +286,7 @@ const map: LocaleCatalogMap = {
286
286
  "bite-lip-teasingly": { label: "Lèvre mordue", description: "Mord la lèvre inférieure, la tient, la relâche en souriant" },
287
287
  "lick-lips-suggestively": { label: "Se lécher les lèvres", description: "La langue parcourt la lèvre inférieure d'un bout à l'autre" },
288
288
  "smolder-heavy-lidded": { label: "Regard ardent", description: "Paupières lourdes, lèvres entrouvertes, menton baissé" },
289
- "break-into-blush": { label: "Rougir", description: "Les joues s'empourprent, regard baissé, sourire timide" },
289
+ "break-into-blush": { label: "Rougir subtilement", description: "Montre une rougeur adaptée à sa carnation avec un changement timide du regard." },
290
290
  "cringe-and-recoil": { label: "Malaise", description: "Visage crispé, épaules remontées, tête en recul" },
291
291
  "cough-into-fist": { label: "Toux", description: "Deux ou trois quintes sèches dans un poing levé" },
292
292
  "laugh-nervously": { label: "Rire nerveux", description: "Petit rire soufflé qui s'étouffe, regard fuyant" },
@@ -437,7 +437,7 @@ const map: LocaleCatalogMap = {
437
437
  "bow-to-camera": { label: "S'incliner face caméra", description: "Salut formel en s'inclinant vers l'objectif" },
438
438
  "shield-face-from-camera": { label: "Se cacher le visage", description: "Fuyant la caméra, l'avant-bras masque le visage et se détourne" },
439
439
  "smolder-at-camera": { label: "Regard ardent face caméra", description: "Lève les yeux à travers les cils, demi-sourire sensuel" },
440
- "sing-to-camera": { label: "Chanter à la caméra", description: "Chant en play-back droit vers le spectateur" },
440
+ "sing-to-camera": { label: "Chanter face caméra", description: "Chante de façon visible vers l’objectif, le visage expressif." },
441
441
  "point-up-at-caption": { label: "Pointer la légende", description: "Pointe au-dessus de sa tête une légende à l'écran" },
442
442
  "punch-at-camera": { label: "Poing vers la caméra", description: "Le poing fonce droit sur l'objectif et remplit le cadre" },
443
443
  "lunge-at-camera": { label: "Bond vers la caméra", description: "Tout le corps bondit vers l'objectif, le visage fonce" },
@@ -534,7 +534,7 @@ const map: LocaleCatalogMap = {
534
534
  "skid-to-stop": { label: "Freinage en dérapage", description: "Pleine course freinée net en dérapant sur les talons" },
535
535
  "hurdle-jump": { label: "Saut de haie", description: "Franchit une haie en plein sprint, jambe d'attaque, jambe d'esquive à plat" },
536
536
  "lean-across-finish-line": { label: "Plongeon sur la ligne", description: "Dernières foulées, poitrine projetée à travers le fil d'arrivée" },
537
- "run-celebrating-arms-out": { label: "Course de célébration", description: "Course de célébration de but, bras grands ouverts, tête en arrière" },
537
+ "run-celebrating-arms-out": { label: "Courir les bras écartés", description: "Court vers l’avant, les deux bras écartés en signe de célébration." },
538
538
  "soccer-dribble": { label: "Dribble au football", description: "Dribble ballon collé au pied, feintes et crochet vers l'intérieur" },
539
539
  "kick-ball": { label: "Frapper un ballon", description: "Appui, balancement de jambe, frappe du coup de pied, accompagnement" },
540
540
  "header": { label: "Tête", description: "Saute, cambre le dos, frappe le ballon du front" },
@@ -572,7 +572,7 @@ const map: LocaleCatalogMap = {
572
572
  "dive-into-water": { label: "Plongeon dans l'eau", description: "S'élance du bord en un arc tête la première" },
573
573
  "cannonball-into-water": { label: "Bombe", description: "Court, saute, genoux serrés, entrée dans l'eau fesses en premier" },
574
574
  "surface-and-flick-hair": { label: "Émerger cheveux rejetés", description: "Perce la surface, rejette la tête en arrière, les cheveux dessinent un arc" },
575
- "pour-water-over-head": { label: "Eau sur la tête", description: "Bouteille levée, l'eau ruisselle sur la tête, s'ébroue" },
575
+ "pour-water-over-head": { label: "Se verser de l’eau sur la tête", description: "Verse le contenu d’une bouteille sur sa tête et garde la bouteille en main." },
576
576
  "skateboard-push": { label: "Poussée en skate", description: "Deux poussées au sol, pied arrière sur le tail, roule" },
577
577
  "surf-pop-up": { label: "Take-off en surf", description: "Rame à plat ventre, pousse, ramène les pieds, position de glisse" },
578
578
  "ski-carve-turn": { label: "Virage carving à ski", description: "Bascule les carres dans un virage coupé, puis le suivant" },
@@ -598,7 +598,7 @@ const map: LocaleCatalogMap = {
598
598
  "duck-behind-cover": { label: "Se cacher derrière l'abri", description: "Se baisse derrière un abri et s'y plaque" },
599
599
  "evasive-roll": { label: "Roulade d'esquive", description: "Plonge en roulade sur l'épaule et se relève hors de portée" },
600
600
  "hurdle-low-obstacle": { label: "Franchir un obstacle", description: "Saute par-dessus un obstacle bas sans casser la foulée" },
601
- "spin-away-from-danger": { label: "Pivot d'esquive", description: "Pivote d'un tour complet et s'éloigne" },
601
+ "spin-away-from-danger": { label: "Faire un demi-tour et s’éloigner", description: "Fait un demi-tour et s’éloigne dans la nouvelle direction." },
602
602
  "hit-the-deck": { label: "Se jeter à terre", description: "Se plaque au sol, bras sur la tête" },
603
603
  "drop-to-ground": { label: "À plat ventre", description: "Descend droit pour s'allonger à plat au sol" },
604
604
  "stumble-and-recover": { label: "Trébucher et se rattraper", description: "Perd pied en pleine marche et retrouve l'équilibre" },
@@ -653,13 +653,13 @@ const map: LocaleCatalogMap = {
653
653
  "prop-up-on-elbow": { label: "Appui sur le coude", description: "Soulève tête et épaules sur un coude depuis l'allongé" },
654
654
  "get-up-from-lying": { label: "Se lever de l'allongé", description: "Passe d'allongé à plat jusqu'à la station debout" },
655
655
  "sit-up-in-bed": { label: "Se redresser au lit", description: "Passe d'allongé à assis contre les oreillers" },
656
- "swing-legs-out-of-bed": { label: "Sortir les jambes du lit", description: "Se redresse et pose les pieds au sol" },
656
+ "swing-legs-out-of-bed": { label: "Se redresser et sortir les jambes du lit", description: "Se redresse depuis la position allongée et passe les deux jambes hors du lit." },
657
657
  "wake-and-stretch": { label: "Réveil et étirement", description: "S'étire bras au-dessus de la tête en bâillant au réveil" },
658
658
  "flop-onto-bed": { label: "Se jeter sur le lit", description: "Tombe en arrière sur un lit, bras projetés" },
659
659
  "lean-back-in-chair": { label: "Se caler au dossier", description: "Ramène doucement le buste contre le dossier" },
660
660
  "plant-elbows-on-knees": { label: "Coudes sur les genoux", description: "Penché en avant, avant-bras appuyés sur les cuisses" },
661
661
  "shift-to-edge-of-seat": { label: "Au bord du siège", description: "Glisse vers l'avant du siège, en alerte" },
662
- "cross-legs-seated": { label: "Croiser les jambes", description: "Passe une jambe par-dessus l'autre en position assise" },
662
+ "cross-legs-seated": { label: "Croiser les genoux assis", description: "Pose un genou sur l’autre tout en restant assis." },
663
663
  "uncross-and-stand": { label: "Décroiser et se lever", description: "Décroise les jambes et se lève" },
664
664
  "put-feet-up": { label: "Poser les pieds", description: "Hisse les pieds sur une table ou un pouf" },
665
665
  "recline-back": { label: "Se renverser en arrière", description: "Se penche en arrière presque allongé, jambes étendues" },
@@ -674,7 +674,7 @@ const map: LocaleCatalogMap = {
674
674
  "lean-on-counter": { label: "Accoudé au comptoir", description: "Pose les deux avant-bras sur un comptoir ou un bar" },
675
675
  "brace-hands-on-knees": { label: "Mains sur les genoux", description: "Se penche et prend appui des mains sur les genoux" },
676
676
  "snap-to-attention": { label: "Garde-à-vous", description: "Se redresse net, talons joints, bras le long du corps" },
677
- "rise-on-tiptoes": { label: "Sur la pointe des pieds", description: "Se hisse sur la pointe des pieds pour voir par-dessus la foule" },
677
+ "rise-on-tiptoes": { label: "Se hisser sur la pointe des pieds", description: "Lève les deux talons et tient l’équilibre sur l’avant des pieds." },
678
678
  "lean-on-railing": { label: "Accoudé à la rambarde", description: "Pose les avant-bras sur une rambarde, regard au loin" },
679
679
  "settle-into-meditation": { label: "Entrer en méditation", description: "S'assoit en tailleur, dos droit, les yeux se fermant" },
680
680
  "lace-hands-behind-head": { label: "Mains derrière la tête", description: "Se penche en arrière, doigts croisés derrière la tête" },
@@ -682,7 +682,7 @@ const map: LocaleCatalogMap = {
682
682
  // ── Everyday Actions ──
683
683
  "take-a-sip": { label: "Boire une gorgée", description: "Porte une tasse aux lèvres, boit une gorgée, la repose" },
684
684
  "drink-from-bottle": { label: "Boire à la bouteille", description: "Lève une bouteille, tête en arrière, boit" },
685
- "cradle-mug-and-sip": { label: "Siroter, tasse en main", description: "Tient une tasse chaude à deux mains et sirote" },
685
+ "cradle-mug-and-sip": { label: "Boire une gorgée d’une tasse tenue à deux mains", description: "Tient une tasse à deux mains, boit une gorgée et la baisse." },
686
686
  "take-a-bite": { label: "Croquer", description: "Croque dans un aliment, l'abaisse, mâche et avale" },
687
687
  "put-on-jacket": { label: "Enfiler une veste", description: "Passe les deux bras, ajuste le col" },
688
688
  "take-off-jacket": { label: "Retirer sa veste", description: "Fait glisser la veste d'une épaule puis de l'autre" },
@@ -695,7 +695,7 @@ const map: LocaleCatalogMap = {
695
695
  "pull-up-hood": { label: "Mettre sa capuche", description: "Tire la capuche vers le haut et en avant sur la tête" },
696
696
  "wrap-scarf": { label: "Nouer une écharpe", description: "Enroule une écharpe autour du cou, rentre les pans" },
697
697
  "loosen-tie": { label: "Desserrer sa cravate", description: "Tire le nœud vers le bas et défait le bouton du col" },
698
- "open-door": { label: "Ouvrir une porte", description: "Tourne la poignée, ouvre, franchit le seuil" },
698
+ "open-door": { label: "Ouvrir une porte", description: "Tourne la poignée et ouvre la porte en grand." },
699
699
  "close-door": { label: "Fermer une porte", description: "Se retourne et referme la porte" },
700
700
  "knock-on-door": { label: "Frapper à la porte", description: "Toque des phalanges sur une porte et attend" },
701
701
  "pound-on-door": { label: "Tambouriner à la porte", description: "Martèle la porte du poing de tout son poids" },
@@ -718,7 +718,7 @@ const map: LocaleCatalogMap = {
718
718
  "unwrap-gift": { label: "Déballer un cadeau", description: "Tire le ruban, déchire le papier, soulève le couvercle" },
719
719
  "pull-item-from-bag": { label: "Sortir du sac", description: "Plonge la main dans un sac et en sort un objet" },
720
720
  "open-letter": { label: "Ouvrir une lettre", description: "Déchire une enveloppe et lit la lettre" },
721
- "tear-paper-in-half": { label: "Déchirer une feuille", description: "Déchire une feuille en deux, laisse tomber les morceaux" },
721
+ "tear-paper-in-half": { label: "Déchirer une feuille en deux", description: "Déchire une feuille en deux morceaux et les tient." },
722
722
  "pull-phone-from-pocket": { label: "Sortir son téléphone", description: "Sort un téléphone et baisse les yeux sur l'écran" },
723
723
  "answer-phone": { label: "Répondre au téléphone", description: "Sort un téléphone qui sonne et le porte à l'oreille" },
724
724
  "hang-up-phone": { label: "Raccrocher", description: "Baisse le téléphone, raccroche, le range en poche" },
@@ -726,7 +726,7 @@ const map: LocaleCatalogMap = {
726
726
  "scroll-on-phone": { label: "Faire défiler l'écran", description: "Le pouce fait défiler l'écran en gestes répétés" },
727
727
  "take-a-selfie": { label: "Prendre un selfie", description: "Bras tendu, pose, appuie, abaisse pour regarder" },
728
728
  "take-a-photo": { label: "Prendre une photo", description: "Lève un téléphone, cadre, déclenche" },
729
- "tap-to-pay": { label: "Paiement sans contact", description: "Approche une carte ou un téléphone d'un terminal de paiement" },
729
+ "tap-to-pay": { label: "Payer sans contact", description: "Approche la carte ou le téléphone tenu en main d’un terminal de paiement." },
730
730
  "type-on-laptop": { label: "Taper sur un ordinateur", description: "Ouvre l'écran et tape, yeux entre clavier et écran" },
731
731
  "write-in-notebook": { label: "Écrire dans un carnet", description: "Ouvre un carnet, débouche un stylo, écrit une ligne" },
732
732
  "write-on-whiteboard": { label: "Écrire au tableau blanc", description: "Écrit une ligne sur un tableau blanc, se tourne vers la salle" },
@@ -755,15 +755,15 @@ const map: LocaleCatalogMap = {
755
755
  "blow-out-candle": { label: "Souffler une bougie", description: "Se penche, prend une inspiration, souffle la flamme" },
756
756
  "cut-cake": { label: "Couper le gâteau", description: "Enfonce un couteau dans un gâteau, soulève une part" },
757
757
  "toss-bouquet": { label: "Lancer le bouquet", description: "Se retourne et lance le bouquet par-dessus l'épaule" },
758
- "lick-ice-cream": { label: "Lécher une glace", description: "Tourne le cornet, lèche le bord, croque le dessus" },
758
+ "lick-ice-cream": { label: "Lécher une glace", description: "Lèche la glace sans la croquer." },
759
759
  "stir-a-pot": { label: "Remuer une casserole", description: "Remue en cercles, puis lève la cuillère pour goûter" },
760
- "taste-from-spoon": { label: "Goûter à la cuillère", description: "Plonge une cuillère, souffle dessus, goûte, hoche la tête" },
760
+ "taste-from-spoon": { label: "Goûter à la cuillère", description: "Goûte une cuillerée sans qu’une opinion soit imposée." },
761
761
  "chop-vegetables": { label: "Couper des légumes", description: "Tranche des légumes au couteau sur une planche" },
762
762
  "toss-food-in-pan": { label: "Faire sauter à la poêle", description: "Donne un coup de poêle, les aliments sautent et retombent" },
763
763
  "sprinkle-salt-flourish": { label: "Salage théâtral", description: "Bras levé haut, le sel file entre les doigts" },
764
- "open-fridge": { label: "Ouvrir le frigo", description: "Ouvre le frigo, prend quelque chose, le referme" },
764
+ "open-fridge": { label: "Ouvrir le frigo", description: "Ouvre la porte du frigo et la maintient ouverte." },
765
765
  "water-plants": { label: "Arroser les plantes", description: "Incline un arrosoir au-dessus de chaque plante" },
766
- "cradle-and-rock-baby": { label: "Bercer un bébé", description: "Tient un bébé contre la poitrine et se balance doucement" },
766
+ "cradle-and-rock-baby": { label: "Bercer un bébé dans les bras", description: "Soutient la tête et le corps du bébé en le berçant doucement." },
767
767
  "slap-alarm-clock": { label: "Frapper le réveil", description: "Lance un bras et éteint le réveil d'une tape" },
768
768
  "pull-covers-over-head": { label: "Couette sur la tête", description: "Tire la couette par-dessus la tête et se pelotonne" },
769
769
  "put-on-seatbelt": { label: "Boucler sa ceinture", description: "Tire la ceinture en travers et clique la boucle" },
@@ -772,11 +772,11 @@ const map: LocaleCatalogMap = {
772
772
  "shuffle-cards": { label: "Mélanger les cartes", description: "Coupe le paquet, mélange à l'américaine, l'égalise" },
773
773
  "sweep-flashlight": { label: "Balayer à la torche", description: "Balaie en arc avec une lampe torche, la tête suivant" },
774
774
  // ── Vehicles & Mounts ──
775
- "get-into-car": { label: "Monter en voiture", description: "Ouvre la portière conducteur et se laisse tomber sur le siège" },
775
+ "get-into-car": { label: "S’installer au siège conducteur", description: "Ouvre la portière conducteur et s’installe au siège conducteur." },
776
776
  "get-out-of-car": { label: "Sortir de voiture", description: "Pivote les deux jambes dehors et se lève du siège" },
777
777
  "slide-across-hood": { label: "Glisser sur le capot", description: "Glisse sur la hanche par-dessus le capot et retombe de l'autre côté" },
778
778
  "drive-off": { label: "Démarrer et partir", description: "Prend le volant et démarre la voiture" },
779
- "shift-gears": { label: "Passer les vitesses", description: "Pose la main sur le levier et change de vitesse" },
779
+ "shift-gears": { label: "Passer une vitesse manuelle", description: "Actionne un levier de vitesses manuel avec la main la plus proche." },
780
780
  "check-mirror-and-turn": { label: "Rétro et virage", description: "Coup d'œil au rétro, à l'angle mort, puis braque" },
781
781
  "lean-out-car-window": { label: "Penché par la fenêtre", description: "Tête et épaules dehors, dans le vent de la route" },
782
782
  "sit-on-car-hood": { label: "Assis sur le capot", description: "Pousse sur les deux paumes pour se percher sur le capot" },
@@ -784,23 +784,23 @@ const map: LocaleCatalogMap = {
784
784
  "put-on-helmet": { label: "Mettre un casque", description: "Enfile un casque et serre la jugulaire" },
785
785
  "mount-motorcycle": { label: "Enfourcher la moto", description: "Passe une jambe par-dessus la selle et s'installe" },
786
786
  "kick-start-engine": { label: "Démarrer au kick", description: "Écrase le kick du pied et tourne la poignée des gaz" },
787
- "lean-into-turn": { label: "Pencher dans le virage", description: "Abaisse l'épaule et le genou intérieurs dans une courbe" },
787
+ "lean-into-turn": { label: "Incliner la moto dans le virage", description: "Abaisse l’épaule et le genou intérieurs dans la courbe" },
788
788
  "dismount-motorcycle": { label: "Descendre de moto", description: "Repasse la jambe arrière par-dessus et descend" },
789
- "hop-on-bike": { label: "Enfourcher le vélo", description: "Monte en selle et appuie sur les pédales" },
789
+ "hop-on-bike": { label: "Enfourcher le vélo et partir", description: "Enfourche le vélo et s’éloigne en pédalant." },
790
790
  "brake-and-hop-off": { label: "Freiner et descendre", description: "Serre les freins et descend du vélo" },
791
791
  "push-scooter": { label: "Pousser une trottinette", description: "Pousse sur le sol et roule sur un pied" },
792
- "mount-horse": { label: "Se mettre en selle", description: "Prend appui sur l'étrier et se hisse en selle" },
792
+ "mount-horse": { label: "Monter à cheval par la gauche", description: "Met le pied dans l’étrier gauche et passe la jambe droite par-dessus la selle." },
793
793
  "ride-at-walk": { label: "Cheval au pas", description: "Assis bien droit, le bassin suit l'allure à quatre temps" },
794
794
  "gallop-on-horseback": { label: "Galop", description: "Se met en suspension, penché bas sur l'encolure" },
795
795
  "rein-in-horse": { label: "Arrêter le cheval", description: "S'assoit profond et tire les rênes jusqu'à l'arrêt" },
796
- "dismount-horse": { label: "Descendre de cheval", description: "Passe une jambe par-dessus la croupe et pose pied à terre" },
796
+ "dismount-horse": { label: "Descendre de cheval par la gauche", description: "Libère les deux pieds des étriers et se laisse descendre au sol du côté gauche." },
797
797
  "board-train": { label: "Monter dans le train", description: "Enjambe l'espace tandis que les portes se referment" },
798
798
  "hold-train-strap": { label: "Tenir la poignée", description: "Agrippe une poignée suspendue et oscille avec la rame" },
799
799
  "step-off-bus": { label: "Descendre du bus", description: "Tient la rampe, descend les marches jusqu'au trottoir" },
800
- "row-boat": { label: "Ramer en barque", description: "Pousse sur les jambes et sort les pelles de l'eau" },
800
+ "row-boat": { label: "Ramer en bateau à siège fixe", description: "Tire sur les rames avec les bras et le torse depuis un siège fixe." },
801
801
  "paddle-kayak": { label: "Pagayer en kayak", description: "Coups de pagaie alternés avec rotation du buste" },
802
- "hail-taxi": { label: "Héler un taxi", description: "Bras levé vers la circulation, puis la main vers la portière" },
803
- "climb-into-cab": { label: "Monter dans la cabine", description: "Se hisse à la poignée jusqu'au siège haut du camion" },
802
+ "hail-taxi": { label: "Héler un taxi", description: "Lève un bras vers les taxis qui approchent, puis le baisse." },
803
+ "climb-into-cab": { label: "Grimper dans la cabine du camion", description: "Se hisse à la poignée jusqu’au siège haut d’un camion" },
804
804
  "jump-onto-moving-vehicle": { label: "Sauter sur un véhicule", description: "Sprinte à côté et se hisse sur le marchepied" },
805
805
  "grip-armrests": { label: "Agripper les accoudoirs", description: "Les mains serrent les accoudoirs, plaqué contre le siège" },
806
806
  "stretch-in-aisle": { label: "S'étirer dans l'allée", description: "Se lève du siège et s'étire bras en l'air" },
@@ -810,27 +810,27 @@ const map: LocaleCatalogMap = {
810
810
  "ruffle-dog-fur": { label: "Ébouriffer le pelage", description: "Les doigts frottent l'épais pelage du cou" },
811
811
  "scoop-up-pet": { label: "Soulever l'animal", description: "Se penche, glisse les deux mains dessous, le hisse contre la poitrine" },
812
812
  "offer-hand-to-sniff": { label: "Main tendue à renifler", description: "Bras tendu, jointures vers le bas, main immobile" },
813
- "offer-a-treat": { label: "Offrir une friandise", description: "Paume ouverte à plat, tendue à bout de bras" },
813
+ "offer-a-treat": { label: "Tendre une friandise au chien", description: "Tend une friandise au chien sans exiger qu’il la prenne." },
814
814
  "get-pulled-by-leash": { label: "Tiré par la laisse", description: "La laisse se tend d'un coup et entraîne le bras en avant" },
815
815
  "reel-in-leash": { label: "Raccourcir la laisse", description: "Main après main, raccourcit la laisse" },
816
- "throw-ball-for-dog": { label: "Lancer la balle", description: "Élan bras levé, lâcher de la balle, geste accompagné" },
816
+ "throw-ball-for-dog": { label: "Lancer la balle au chien", description: "Lance une balle devant le chien sans ajouter de retour de balle." },
817
817
  "kneel-to-greet": { label: "S'agenouiller pour accueillir", description: "Pose un genou à terre et ouvre grand les bras" },
818
- "signal-dog-to-sit": { label: "Faire asseoir le chien", description: "Paume à plat levée, puis abaissée et maintenue" },
819
- "call-dog-over": { label: "Appeler le chien", description: "Tape sur les cuisses, siffle, s'accroupit bras ouverts" },
818
+ "signal-dog-to-sit": { label: "Faire signe au chien de s’asseoir", description: "Fait au chien un signe de la main vers le bas sans exiger de réaction." },
819
+ "call-dog-over": { label: "Appeler le chien", description: "S’accroupit, fait signe au chien de venir, puis attend." },
820
820
  "cuddle-pet-on-lap": { label: "Câlin sur les genoux", description: "Penché sur l'animal posé sur ses genoux, lui caresse le dos" },
821
821
  "hold-cat-to-chest": { label: "Chat contre la poitrine", description: "Serre un chat tout contre le sternum" },
822
822
  "lift-cat-up": { label: "Soulever le chat", description: "Poitrail et arrière-train soutenus, soulevé à hauteur des yeux" },
823
823
  "lift-puppy-to-face": { label: "Chiot nez à nez", description: "Lève un chiot jusqu'à se retrouver nez à nez" },
824
824
  "let-bird-perch": { label: "Oiseau sur le doigt", description: "Index tendu à l'horizontale, bien immobile" },
825
- "feed-the-ducks": { label: "Nourrir les canards", description: "Émiette des morceaux et les lance par en dessous" },
825
+ "feed-the-ducks": { label: "Nourrir les canards", description: "Jette de petits morceaux de nourriture vers les canards." },
826
826
  "stroke-horse-neck": { label: "Caresser l'encolure", description: "Longs passages paume à plat le long de l'encolure" },
827
827
  "brush-the-horse": { label: "Brosser le cheval", description: "Longs coups de brosse dans le sens du poil" },
828
828
  "pat-horse-flank": { label: "Tapoter le flanc", description: "Deux tapes franches paume ouverte, puis la main se pose" },
829
829
  "mount-the-horse": { label: "Monter sur le cheval", description: "Pied à l'étrier, passe la jambe par-dessus" },
830
- "back-away-slowly": { label: "Reculer lentement", description: "Petits pas en arrière talon d'abord, paumes levées" },
830
+ "back-away-slowly": { label: "Reculer lentement face à l’animal", description: "Fait de petits pas prudents en arrière, face à l’animal." },
831
831
  "let-it-approach": { label: "Le laisser approcher", description: "S'immobilise complètement et attend que ça passe" },
832
832
  "crouch-to-photograph": { label: "S'accroupir pour photographier", description: "Se baisse et cadre l'animal avec un téléphone" },
833
- "tug-the-toy": { label: "Tirer sur le jouet", description: "Deux poings sur une corde, penché en arrière, tire" },
833
+ "tug-the-toy": { label: "Tirer sur le jouet avec le chien", description: "Tire sur une extrémité d’un jouet en corde pendant que le chien tient l’autre." },
834
834
  "wipe-muddy-paws": { label: "Essuyer les pattes boueuses", description: "À genoux, essuie une patte après l'autre avec une serviette" },
835
835
  "brace-for-jump": { label: "Encaisser le saut", description: "Plante le pied arrière pour absorber un chien qui saute" },
836
836
  // ── Two-Person ──
@@ -839,7 +839,7 @@ const map: LocaleCatalogMap = {
839
839
  "hug-partner-from-behind": { label: "Enlacer par derrière", description: "Bras autour de la taille, menton sur l'épaule" },
840
840
  "bro-hug": { label: "Accolade entre potes", description: "Poignée de main qui finit en accolade d'un bras avec une tape" },
841
841
  "run-into-partner-arms": { label: "Courir dans ses bras", description: "Court, bondit et est rattrapé dans une étreinte qui le soulève" },
842
- "bury-face-in-partner-shoulder": { label: "Visage enfoui", description: "Visage pressé contre l'épaule du partenaire, agrippé" },
842
+ "bury-face-in-partner-shoulder": { label: "Enfouir le visage dans l’épaule du partenaire", description: "Le visage pressé contre l’épaule du partenaire, en s’agrippant" },
843
843
  "shake-partner-hand": { label: "Poignée de main", description: "Tend la main, serre, secoue deux fois, relâche" },
844
844
  "high-five-partner": { label: "Tape dans la main", description: "Paumes ouvertes levées qui claquent et rebondissent" },
845
845
  "fist-bump-partner": { label: "Check du poing", description: "Les jointures se touchent à hauteur de poitrine, légère tape" },
@@ -852,12 +852,12 @@ const map: LocaleCatalogMap = {
852
852
  "lean-in-almost-kiss": { label: "Presque un baiser", description: "Se penche jusqu'à ce que les lèvres se frôlent, et reste ainsi" },
853
853
  "kiss-partner": { label: "Baiser", description: "Se penche, embrasse le partenaire sur les lèvres, s'écarte" },
854
854
  "rise-on-tiptoes-to-kiss-partner": { label: "Baiser sur la pointe des pieds", description: "Se hisse sur la pointe des pieds vers les lèvres d'un partenaire plus grand" },
855
- "cup-partner-face": { label: "Visage entre les mains", description: "Les deux paumes enveloppent les joues du partenaire, regard soutenu" },
856
- "lift-partner-chin": { label: "Relever le menton", description: "Un doigt replié relève le visage baissé du partenaire" },
855
+ "cup-partner-face": { label: "Prendre le visage du partenaire entre les mains", description: "Les deux paumes enveloppent les joues du partenaire, le regard maintenu" },
856
+ "lift-partner-chin": { label: "Relever le menton du partenaire", description: "Un doigt replié relève le visage baissé du partenaire" },
857
857
  "tuck-partner-hair-behind-ear": { label: "Replacer sa mèche", description: "Attrape une mèche libre et la glisse derrière l'oreille" },
858
858
  "wipe-partner-tear": { label: "Essuyer une larme", description: "Le pouce efface une larme sur la joue du partenaire" },
859
859
  "touch-foreheads-with-partner": { label: "Front contre front", description: "Fronts appuyés l'un contre l'autre, yeux fermés, immobiles" },
860
- "rest-head-on-partner-shoulder": { label: "Tête sur l'épaule", description: "Se penche de côté, la tête se pose sur l'épaule du partenaire" },
860
+ "rest-head-on-partner-shoulder": { label: "Poser la tête sur l’épaule du partenaire", description: "Se penche sur le côté, la tête venant se poser sur l’épaule du partenaire" },
861
861
  "rest-head-in-partner-lap": { label: "Tête sur les genoux", description: "S'allonge et pose la tête sur les genoux du partenaire" },
862
862
  "hold-partner-hand": { label: "Se tenir la main", description: "Trouve la main du partenaire et entrelace les doigts" },
863
863
  "walk-hand-in-hand": { label: "Marcher main dans la main", description: "Marche aux côtés du partenaire, mains jointes" },
@@ -874,7 +874,7 @@ const map: LocaleCatalogMap = {
874
874
  "receive-object": { label: "Recevoir un objet", description: "Prend l'objet offert et le ramène vers soi" },
875
875
  "slide-ring-onto-partner-finger": { label: "Passer la bague", description: "Glisse une bague à l'annulaire du partenaire" },
876
876
  "lift-partner-veil": { label: "Lever le voile", description: "Relève le voile vers l'arrière pour dévoiler le visage" },
877
- "kneel-before-partner": { label: "À genoux devant", description: "Pose un genou à terre et prend la main du partenaire" },
877
+ "kneel-before-partner": { label: "S’agenouiller devant le partenaire", description: "Pose un genou à terre face au partenaire." },
878
878
  "kneel-to-partner-eye-level": { label: "Se mettre à sa hauteur", description: "Pose un genou à terre pour croiser le regard d'un partenaire plus petit" },
879
879
  "tap-partner-shoulder": { label: "Tape sur l'épaule", description: "Deux tapes par derrière, le partenaire se retourne" },
880
880
  "put-hand-on-partner-shoulder": { label: "Main sur l'épaule", description: "Pose la main sur l'épaule du partenaire et la serre" },
@@ -885,18 +885,18 @@ const map: LocaleCatalogMap = {
885
885
  "ruffle-partner-hair": { label: "Ébouriffer les cheveux", description: "Frotte la tête du partenaire de la main et le décoiffe" },
886
886
  "tickle-partner": { label: "Chatouiller", description: "Les doigts s'agitent sur les côtes, le partenaire se tortille" },
887
887
  "shake-partner-awake": { label: "Secouer pour réveiller", description: "Saisit et secoue l'épaule d'un partenaire endormi" },
888
- "lift-partner": { label: "Soulever", description: "Mains à la taille, soulève tout droit, puis repose" },
889
- "swing-partner-around": { label: "Faire tournoyer", description: "Soulève le partenaire et fait un tour complet" },
890
- "lift-partner-overhead-airplane": { label: "Faire l'avion", description: "Soulève un petit partenaire au-dessus de la tête, à plat, bras écartés" },
888
+ "lift-partner": { label: "Soulever le partenaire", description: "Mains à la taille, soulève à la verticale, repose" },
889
+ "swing-partner-around": { label: "Soulever et faire tourner le partenaire", description: "Soulève le partenaire et fait un tour complet" },
890
+ "lift-partner-overhead-airplane": { label: "Tenir un petit partenaire au-dessus de la tête", description: "Tient un partenaire plus petit à l’horizontale au-dessus de la tête, le torse et le bassin soutenus." },
891
891
  "carry-partner-bridal": { label: "Porter comme une mariée", description: "Prend le partenaire dans ses bras et avance" },
892
892
  "piggyback-partner": { label: "Porter sur le dos", description: "S'accroupit, le partenaire grimpe, se relève et marche" },
893
893
  "carry-partner-on-shoulders": { label: "Sur les épaules", description: "Le partenaire à califourchon sur la nuque, porté en avant" },
894
- "fireman-carry-partner": { label: "Porté du pompier", description: "Hisse le partenaire en travers des épaules et marche" },
894
+ "fireman-carry-partner": { label: "Porter le partenaire sur les épaules", description: "Porte le partenaire soutenu en travers des deux épaules." },
895
895
  "help-partner-up": { label: "Aider à se relever", description: "Tire le partenaire du sol jusqu'à le remettre debout" },
896
896
  "catch-partner-falling": { label: "Rattraper une chute", description: "Se jette en avant et rattrape le partenaire qui tombe" },
897
897
  "support-injured-partner-walking": { label: "Soutenir un blessé", description: "Porte le poids d'un partenaire qui boite, bras sur l'épaule" },
898
898
  "drag-partner-to-safety": { label: "Traîner à l'abri", description: "Tire le partenaire en arrière en le tenant sous les bras" },
899
- "shield-partner-with-body": { label: "Faire bouclier", description: "Place le partenaire derrière soi et le protège de son corps" },
899
+ "shield-partner-with-body": { label: "Protéger le partenaire de son corps", description: "Tire le partenaire derrière soi et fait barrage de son corps" },
900
900
  "pull-partner-close": { label: "Attirer contre soi", description: "Attire le partenaire jusqu'à être torse contre torse" },
901
901
  "catch-partner-wrist": { label: "Retenir par le poignet", description: "Empêche le partenaire de partir en lui saisissant le poignet" },
902
902
  "chase-partner": { label: "Poursuivre", description: "Court après le partenaire en réduisant l'écart" },
@@ -905,11 +905,11 @@ const map: LocaleCatalogMap = {
905
905
  "push-partner-away": { label: "Repousser", description: "Les deux paumes sur le torse, le partenaire recule" },
906
906
  "shove-partner": { label: "Bousculer le partenaire", description: "Poussée des deux mains, le partenaire titube en arrière" },
907
907
  "shake-partner-shoulders": { label: "Secouer par les épaules", description: "Saisit les deux épaules et secoue d'avant en arrière" },
908
- "grab-partner-collar": { label: "Saisir le col", description: "Empoigne le col à deux mains et le tire d'un coup vers soi" },
908
+ "grab-partner-collar": { label: "Attraper le partenaire par le col", description: "Empoigne le col tandis que les deux personnes restent bien ancrées au sol." },
909
909
  "pin-partner-against-wall": { label: "Plaquer contre le mur", description: "Repousse le partenaire contre le mur, avant-bras en travers du torse" },
910
910
  "slap-partner": { label: "Gifle", description: "Main ouverte en travers de la joue, la tête part sur le côté" },
911
- "arm-wrestle-partner": { label: "Bras de fer", description: "Coudes plantés, mains verrouillées, effort pour l'emporter" },
912
- "restrain-partner": { label: "Retenir", description: "Retient par derrière le partenaire qui se débat" },
911
+ "arm-wrestle-partner": { label: "Faire un bras de fer avec le partenaire", description: "Dispute une prise de main, les deux coudes plantés sur la table." },
912
+ "restrain-partner": { label: "Retenir le partenaire", description: "Tire en arrière, par-derrière, le partenaire qui se débat" },
913
913
  // ── Idle & Ambient ──
914
914
  "breathe-visibly": { label: "Respiration visible", description: "La poitrine se soulève et s'abaisse à un rythme calme et régulier" },
915
915
  "sway-subtly": { label: "Léger balancement", description: "Oscillation à peine perceptible d'un corps debout" },
@@ -973,17 +973,17 @@ const map: LocaleCatalogMap = {
973
973
  "walk-to-center-stage": { label: "Marcher au centre", description: "Marche des coulisses jusqu'à sa marque, bras qui s'ouvrent" },
974
974
  "strut-down-runway": { label: "Défiler sur le podium", description: "Démarche assurée en ligne droite le long du podium" },
975
975
  "step-up-to-podium": { label: "Monter au pupitre", description: "Se place derrière le pupitre et en saisit les deux bords" },
976
- "sit-on-stage-edge": { label: "Assis au bord de scène", description: "S'assoit au bord de la scène pour chanter le couplet" },
976
+ "sit-on-stage-edge": { label: "S’asseoir au bord de la scène", description: "S’assoit au bord d’une scène, les jambes pendantes." },
977
977
  "raise-hands-to-crowd": { label: "Bras levés vers le public", description: "Les deux bras tendus au-dessus de la tête, paumes ouvertes" },
978
978
  "hype-the-crowd": { label: "Chauffer le public", description: "Tape dans ses mains au-dessus de la tête en rythme, pousse le public" },
979
979
  "point-to-crowd": { label: "Pointer le public", description: "Pointe le doigt d'un coup vers la foule et balaie" },
980
980
  "wave-to-crowd": { label: "Saluer le public", description: "Grand signe de la main au-dessus de la tête vers tout le public" },
981
981
  "blow-kisses-to-crowd": { label: "Envoyer des baisers", description: "Doigts sur les lèvres, baisers lancés de chaque côté" },
982
- "hold-phone-light-aloft": { label: "Lumière du téléphone levée", description: "Téléphone brandi, écran vers l'extérieur, tout le corps se balance" },
982
+ "hold-phone-light-aloft": { label: "Lever l’écran allumé du téléphone", description: "Lève au-dessus de la tête l’écran allumé d’un téléphone." },
983
983
  "jump-on-the-beat": { label: "Sauter sur le temps", description: "Les deux pieds quittent la scène à chaque temps fort" },
984
984
  "headbang-on-beat": { label: "Headbang en rythme", description: "La tête fouette de haut en bas à chaque temps, cheveux au vent" },
985
985
  "knee-slide-across-stage": { label: "Glissade à genoux", description: "Court et se jette en glissade à genoux sur la scène" },
986
- "hit-dance-break": { label: "Pause dansée", description: "Pose le micro et enchaîne un huit temps pour le public" },
986
+ "hit-dance-break": { label: "Improviser un break dansé de huit temps", description: "Plante le micro et enchaîne huit temps pour le public. La chorégraphie est choisie par le modèle de génération." },
987
987
  "freeze-on-the-drop": { label: "Figé sur le drop", description: "Se fige dans une pose sur le drop et la tient sans bouger" },
988
988
  "spin-mic-stand": { label: "Faire tournoyer le pied", description: "Fait faire un tour complet au pied de micro et le rattrape" },
989
989
  "drop-the-mic": { label: "Lâcher le micro", description: "Tend le micro, ouvre la main, le laisse tomber" },
@@ -991,13 +991,13 @@ const map: LocaleCatalogMap = {
991
991
  "stage-dive": { label: "Plongeon dans la foule", description: "Plongeon à l'horizontale sur les mains levées du public" },
992
992
  "crowd-surf": { label: "Porté par la foule", description: "Porté sur le dos, de main en main, au-dessus du public" },
993
993
  "bow-to-audience": { label: "S'incliner devant le public", description: "Profond salut depuis la taille, à l'avant-scène" },
994
- "take-curtain-call": { label: "Rappel sur scène", description: "Revient à travers le rideau, salue, présente le groupe" },
994
+ "take-curtain-call": { label: "Saluer au rappel", description: "S’avance et s’incline devant le public." },
995
995
  "walk-off-waving": { label: "Sortir en saluant", description: "Part vers les coulisses en saluant de la main par-dessus l'épaule" },
996
996
  "share-mic-duet": { label: "Partager un micro", description: "Deux chanteurs se penchent sur un même micro pour le refrain" },
997
997
  "shred-back-to-back": { label: "Solo dos à dos", description: "Deux guitaristes se collent dos à dos et enchaînent les riffs" },
998
998
  // ── Unnatural & Horror ──
999
999
  "twitch-head-sideways": { label: "Tic de la tête", description: "Brusque saccade de la tête sur un côté, puis retour" },
1000
- "tilt-head-too-far": { label: "Tête trop inclinée", description: "La tête bascule de côté au-delà de la limite naturelle" },
1000
+ "tilt-head-too-far": { label: "Incliner la tête vers l’épaule", description: "Incline la tête vers une épaule dans une amplitude ordinaire." },
1001
1001
  "snap-head-sideways": { label: "Tête brusquement de côté", description: "La tête pivote d'un coup sur le côté et s'arrête net" },
1002
1002
  "backbend-into-crawl": { label: "Reptation en pont", description: "Se cambre en arrière jusqu'au sol, rampe ventre en l'air" },
1003
1003
  "crawl-head-raised": { label: "Ramper tête levée", description: "Avance à quatre pattes, la tête relevée" },
@@ -1006,7 +1006,7 @@ const map: LocaleCatalogMap = {
1006
1006
  "jerk-like-marionette": { label: "Saccades de marionnette", description: "Les membres se lèvent d'un coup, comme tirés par des fils" },
1007
1007
  "drag-self-forward": { label: "Se traîner en avant", description: "Se hisse sur les avant-bras, les jambes traînant derrière" },
1008
1008
  "claw-at-the-air": { label: "Griffer l'air", description: "Les mains lacèrent le vide près du visage" },
1009
- "press-hands-to-neck": { label: "Mains au cou", description: "Les deux mains remontent brusquement vers la clavicule" },
1009
+ "press-hands-to-neck": { label: "Poser les mains sur la clavicule", description: "Pose légèrement les deux mains sur la clavicule et garde la position." },
1010
1010
  "scratch-at-door": { label: "Griffer la porte", description: "Les ongles raclent une porte de haut en bas" },
1011
1011
  "roll-eyes-back": { label: "Yeux révulsés", description: "Les yeux roulent vers le haut jusqu'à ne montrer que le blanc" },
1012
1012
  "stand-still-then-lunge": { label: "Immobile puis bond", description: "Totalement immobile, puis un pas en avant explosif" },
@@ -1026,6 +1026,57 @@ const map: LocaleCatalogMap = {
1026
1026
  "shake-head-into-blur": { label: "Tête secouée, floue", description: "La tête vibre de gauche à droite, le visage devient flou" },
1027
1027
  "rock-back-and-forth": { label: "Se balancer sur place", description: "Le torse se balance sur un rythme répétitif" },
1028
1028
  "let-the-jaw-drop": { label: "Mâchoire pendante", description: "La bouche s'ouvre et reste béante" },
1029
+ "release-partner-and-step-back": { label: "Lâcher le partenaire et reculer", description: "Lâche le partenaire et recule d’un pas." },
1030
+ "offer-object-and-wait": { label: "Tendre un objet et attendre", description: "Tend un objet et attend." },
1031
+ "decline-offered-object": { label: "Refuser l’objet tendu", description: "Refuse l’objet tendu." },
1032
+ "pass-object-to-partner": { label: "Passer un objet au partenaire", description: "Passe un objet au partenaire." },
1033
+ "seated-wave": { label: "Faire signe de la main assis", description: "Fait signe de la main en restant assis." },
1034
+ "tread-water": { label: "Faire du surplace dans l’eau", description: "Fait du surplace dans l’eau." },
1035
+ "swim-breaststroke": { label: "Nager la brasse", description: "Nage la brasse." },
1036
+ "swim-backstroke": { label: "Nager le dos", description: "Nage le dos crawlé." },
1037
+ "turn-wheelchair-left": { label: "Tourner le fauteuil roulant à gauche", description: "Tourne le fauteuil roulant vers la gauche." },
1038
+ "turn-wheelchair-right": { label: "Tourner le fauteuil roulant à droite", description: "Tourne le fauteuil roulant vers la droite." },
1039
+ "drive-powered-wheelchair": { label: "Conduire un fauteuil roulant électrique", description: "Conduit un fauteuil roulant électrique." },
1040
+ "stop-powered-wheelchair": { label: "Arrêter le fauteuil roulant électrique", description: "Arrête le fauteuil roulant électrique." },
1041
+ "ride-bicycle-continuously": { label: "Rouler à vélo en continu", description: "Roule à vélo en continu." },
1042
+ "brake-bicycle": { label: "Freiner le vélo jusqu’à l’arrêt", description: "Freine le vélo jusqu’à l’arrêt." },
1043
+ "park-bicycle": { label: "Garer le vélo", description: "Gare le vélo." },
1044
+ "enter-car-passenger-seat": { label: "S’installer au siège passager", description: "S’installe au siège passager de la voiture." },
1045
+ "unbuckle-seatbelt": { label: "Détacher la ceinture de sécurité", description: "Détache la ceinture de sécurité." },
1046
+ "step-left": { label: "Faire un pas vers la gauche du sujet", description: "Fait un pas vers la gauche du sujet lui-même." },
1047
+ "step-right": { label: "Faire un pas vers la droite du sujet", description: "Fait un pas vers la droite du sujet lui-même." },
1048
+ "walk-with-crutches": { label: "Marcher avec des béquilles", description: "Marche avec des béquilles." },
1049
+ "walk-with-walker": { label: "Marcher avec un déambulateur", description: "Marche avec un déambulateur." },
1050
+ "stop-and-hold": { label: "S’arrêter et tenir la position", description: "S’arrête et tient la position." },
1051
+ "hold-current-pose": { label: "Tenir la pose actuelle", description: "Tient la pose actuelle." },
1052
+ "seated-reach": { label: "Tendre le bras assis", description: "Tend le bras en restant assis." },
1053
+ "rise-from-floor": { label: "Se relever du sol", description: "Se relève du sol jusqu’à la position debout." },
1054
+ "dog-subject-sit": { label: "Le chien s’assoit", description: "Le chien s’assoit." },
1055
+ "dog-subject-lie-down": { label: "Le chien se couche", description: "Le chien se couche." },
1056
+ "dog-subject-wag-tail": { label: "Le chien remue la queue", description: "Le chien remue la queue." },
1057
+ "dog-subject-shake": { label: "Le chien s’ébroue", description: "Le chien secoue son corps." },
1058
+ "cat-subject-stretch": { label: "Le chat s’étire", description: "Le chat s’étire." },
1059
+ "horse-subject-walk": { label: "Le cheval marche au pas", description: "Le cheval marche au pas." },
1060
+ "horse-subject-trot": { label: "Le cheval trotte", description: "Le cheval trotte." },
1061
+ "horse-subject-canter": { label: "Le cheval va au petit galop", description: "Le cheval va au petit galop." },
1062
+ "bird-subject-hop": { label: "L’oiseau sautille", description: "L’oiseau sautille." },
1063
+ "bird-subject-takeoff": { label: "L’oiseau s’envole", description: "L’oiseau s’envole." },
1064
+ "gaze-frame-left": { label: "Regarder vers la gauche du cadre", description: "Regarde vers la gauche du cadre." },
1065
+ "gaze-frame-right": { label: "Regarder vers la droite du cadre", description: "Regarde vers la droite du cadre." },
1066
+ "look-at-counterpart": { label: "Regarder le vis-à-vis connecté", description: "Regarde le vis-à-vis connecté." },
1067
+ "set-object-down": { label: "Poser l’objet", description: "Pose l’objet." },
1068
+ "hold-object-still": { label: "Tenir l’objet immobile", description: "Tient l’objet immobile." },
1069
+ "wash-hands": { label: "Se laver les mains", description: "Se lave les mains." },
1070
+ "wipe-table": { label: "Essuyer la table", description: "Essuie la table." },
1071
+ "sweep-floor": { label: "Balayer le sol", description: "Balaie le sol." },
1072
+ "read-book-continuously": { label: "Lire un livre", description: "Lit un livre." },
1073
+ "listen-attentively": { label: "Écouter attentivement", description: "Écoute attentivement." },
1074
+ "type-continuously": { label: "Taper au clavier en continu", description: "Tape au clavier en continu." },
1075
+ "send-phone-message": { label: "Envoyer un message depuis le téléphone", description: "Envoie un message depuis le téléphone." },
1076
+ "move-computer-mouse": { label: "Utiliser la souris d’ordinateur", description: "Utilise la souris d’ordinateur." },
1077
+ "sort-documents": { label: "Trier des documents", description: "Trie des documents." },
1078
+ "serve-plate": { label: "Servir une assiette", description: "Sert une assiette." },
1079
+ "tighten-screw": { label: "Serrer une vis", description: "Serre une vis." },
1029
1080
  }
1030
1081
 
1031
1082
  export default map