@nodaro/shared 3.10.0 → 3.12.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.
- package/dist/index.cjs +2242 -86
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1779 -32
- package/dist/index.d.ts +1779 -32
- package/dist/index.js +2041 -87
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/caption-styles.test.ts +207 -0
- package/src/__tests__/edl-multicam.test.ts +304 -0
- package/src/__tests__/edl.test.ts +822 -0
- package/src/__tests__/fan-out-rows.test.ts +208 -0
- package/src/__tests__/instagram-scrape.test.ts +66 -0
- package/src/__tests__/llm-models.test.ts +48 -11
- package/src/__tests__/meta-ads-scrape.test.ts +284 -0
- package/src/__tests__/node-runtime-keys.test.ts +15 -0
- package/src/__tests__/parameter-node-value.test.ts +13 -1
- package/src/__tests__/presentation-utils.test.ts +67 -0
- package/src/__tests__/producer-types.test.ts +19 -0
- package/src/__tests__/schedule-rules.test.ts +265 -0
- package/src/__tests__/speaker-layouts.test.ts +203 -0
- package/src/__tests__/transcribe-capabilities.test.ts +104 -0
- package/src/__tests__/transcribe-preflight.test.ts +60 -0
- package/src/__tests__/trigger-feeds.test.ts +39 -0
- package/src/__tests__/video-analysis.test.ts +15 -0
- package/src/__tests__/video-duration-auto.test.ts +65 -0
- package/src/__tests__/video-duration.test.ts +56 -0
- package/src/__tests__/video-frame-fit.test.ts +189 -0
- package/src/__tests__/video-link.test.ts +137 -0
- package/src/__tests__/workflow-export-strip.test.ts +59 -1
- package/src/caption-styles.ts +240 -0
- package/src/catalog-projection.ts +3 -0
- package/src/character-motion-metadata.ts +19 -0
- package/src/credit-identifiers.ts +31 -0
- package/src/edit-plan-contract.ts +96 -0
- package/src/edl-multicam.ts +185 -0
- package/src/edl.ts +747 -0
- package/src/entity-image-handle.ts +24 -1
- package/src/fan-out-rows.ts +213 -0
- package/src/i18n/character-motion.ar.ts +126 -75
- package/src/i18n/character-motion.de.ts +126 -75
- package/src/i18n/character-motion.es.ts +126 -75
- package/src/i18n/character-motion.fr.ts +126 -75
- package/src/i18n/character-motion.he.ts +126 -75
- package/src/i18n/character-motion.hi.ts +126 -75
- package/src/i18n/character-motion.ja.ts +126 -75
- package/src/i18n/character-motion.ko.ts +126 -75
- package/src/i18n/character-motion.pt-BR.ts +126 -75
- package/src/i18n/character-motion.ru.ts +126 -75
- package/src/i18n/character-motion.zh-CN.ts +126 -75
- package/src/index.ts +211 -3
- package/src/instagram-scrape.ts +204 -0
- package/src/llm-models.ts +80 -3
- package/src/meta-ads-scrape.ts +463 -0
- package/src/model-catalog.ts +48 -5
- package/src/model-constants.ts +148 -5
- package/src/node-mappable-fields.ts +2 -0
- package/src/node-runtime-keys.ts +28 -0
- package/src/parameter-node-value.ts +31 -5
- package/src/presentation-utils.ts +49 -0
- package/src/producer-types.ts +20 -0
- package/src/schedule-rules.ts +484 -0
- package/src/speaker-layouts.ts +220 -0
- package/src/transcribe-preflight.ts +101 -0
- package/src/trigger-feeds.ts +59 -0
- package/src/trigger-node-types.ts +20 -0
- package/src/video-analysis.ts +15 -0
- package/src/video-duration-auto.ts +18 -0
- package/src/video-duration.ts +32 -0
- package/src/video-frame-fit.ts +228 -0
- package/src/video-link.ts +167 -0
- package/src/video-output-canvas.ts +119 -0
- package/src/workflow-export.ts +37 -1
|
@@ -10,36 +10,36 @@ const map: LocaleCatalogMap = {
|
|
|
10
10
|
"approach-from-background": { label: "从远景走近", description: "远处人物走到画面中景" },
|
|
11
11
|
"walk-up-to-camera": { label: "走近镜头", description: "不断走近,直到脸部充满画面" },
|
|
12
12
|
"run-toward-camera": { label: "冲向镜头", description: "径直冲向镜头,猛然停住" },
|
|
13
|
-
"run-in-and-stop": { label: "
|
|
13
|
+
"run-in-and-stop": { label: "从画面左侧跑入并停下", description: "从画面左侧跑入,在中央附近停下。" },
|
|
14
14
|
"burst-in-through-doorway": { label: "破门冲入", description: "撞开房门,双脚稳稳站定" },
|
|
15
15
|
"kick-open-door": { label: "踹门而入", description: "从门后一脚踹开门,大步走入" },
|
|
16
16
|
"dive-through-window": { label: "飞身破窗", description: "头朝前扑过窗户,翻滚起身" },
|
|
17
17
|
"climb-through-window": { label: "翻窗而入", description: "撑身翻过窗台,落到地面" },
|
|
18
|
-
"stumble-in": { label: "
|
|
19
|
-
"sneak-in": { label: "
|
|
20
|
-
"dash-across-frame": { label: "
|
|
21
|
-
"slide-in-on-knees": { label: "
|
|
18
|
+
"stumble-in": { label: "踉跄入画——画面右侧", description: "从右侧踉跄入画并恢复平衡(画面右侧)。" },
|
|
19
|
+
"sneak-in": { label: "潜行入画——画面左侧", description: "从左侧压低身子潜入,然后站起(画面左侧)。" },
|
|
20
|
+
"dash-across-frame": { label: "冲刺穿过画面——从左到右", description: "从左侧冲入,从右边缘冲出(画面左侧到右侧)。" },
|
|
21
|
+
"slide-in-on-knees": { label: "从画面左侧跪滑入画", description: "双膝着地从画面左侧滑入并停下。" },
|
|
22
22
|
"sock-slide-into-frame": { label: "穿袜滑入", description: "穿着袜子滑进画面,稳住身体" },
|
|
23
23
|
"drop-in-from-above": { label: "从天而降", description: "从上方落地,屈膝缓冲后站起" },
|
|
24
24
|
"rise-into-frame": { label: "升入画面", description: "从画面底边站起入画" },
|
|
25
25
|
"pop-up-from-cover": { label: "从掩体后冒出", description: "从前景掩体后猛然跳出" },
|
|
26
|
-
"lean-into-frame": { label: "
|
|
27
|
-
"peek-into-frame": { label: "
|
|
26
|
+
"lean-into-frame": { label: "探身入画——左侧", description: "头和肩探入画面,再退出(画面左侧)。" },
|
|
27
|
+
"peek-into-frame": { label: "从画面右侧探头窥视", description: "从右侧把头探入画面并保持窥视。" },
|
|
28
28
|
"enter-through-doorway": { label: "穿门而入", description: "跨过门槛,走入视野" },
|
|
29
29
|
"step-out-of-shadow": { label: "走出阴影", description: "从暗处走出,清晰现身" },
|
|
30
30
|
"emerge-from-crowd": { label: "从人群中现身", description: "挤过人群,走到空旷处" },
|
|
31
31
|
"step-around-corner": { label: "从拐角走出", description: "肩膀先出现,随后身体转入视野" },
|
|
32
|
-
"walk-out-left": { label: "
|
|
33
|
-
"walk-out-right": { label: "
|
|
34
|
-
"run-out-of-frame": { label: "
|
|
32
|
+
"walk-out-left": { label: "从画面左侧出画", description: "从画面左边缘走出。" },
|
|
33
|
+
"walk-out-right": { label: "从画面右侧出画", description: "从画面右边缘走出。" },
|
|
34
|
+
"run-out-of-frame": { label: "从画面右侧跑出", description: "从右边缘跑出画面。" },
|
|
35
35
|
"walk-away-into-distance": { label: "走向远方", description: "背对镜头,渐渐消失在远景中" },
|
|
36
36
|
"run-away-into-distance": { label: "跑向远方", description: "背对镜头,飞奔进远景" },
|
|
37
37
|
"turn-and-walk-away": { label: "转身离开", description: "背过身去,走离镜头" },
|
|
38
|
-
"back-out-of-frame": { label: "
|
|
38
|
+
"back-out-of-frame": { label: "倒退从画面左侧出画", description: "沿对角线后退,从左边缘退出画面。" },
|
|
39
39
|
"dragged-out-of-frame": { label: "被拖出画面", description: "被向后拖出镜头,双手抓挠地面" },
|
|
40
|
-
"exit-past-camera": { label: "
|
|
41
|
-
"duck-out-of-frame": { label: "
|
|
42
|
-
"exit-through-doorway": { label: "
|
|
40
|
+
"exit-past-camera": { label: "从镜头旁走出", description: "从镜头旁经过并走出画面。" },
|
|
41
|
+
"duck-out-of-frame": { label: "蹲到画面下方消失", description: "放低身体,直到从画面下方消失。" },
|
|
42
|
+
"exit-through-doorway": { label: "穿过门口离开", description: "穿过门口走出画面。" },
|
|
43
43
|
// ── Turns & Looks ──
|
|
44
44
|
"turn-to-camera": { label: "转身面向镜头", description: "整个身体从背面转到正面,正对镜头" },
|
|
45
45
|
"turn-away-from-camera": { label: "转身背对镜头", description: "整个身体从正面转到背面,背对镜头" },
|
|
@@ -157,12 +157,12 @@ const map: LocaleCatalogMap = {
|
|
|
157
157
|
"pivot-mid-stride": { label: "行进中转身", description: "以前脚掌为轴流畅转半圈,不停顿" },
|
|
158
158
|
"stomp-editorial-walk": { label: "大片重步", description: "脚跟先落的沉重大步,膝盖前顶,手臂僵直" },
|
|
159
159
|
"sway-hips-walk": { label: "摆胯走", description: "每一步都夸张地摆动胯部" },
|
|
160
|
-
"stalk-high-fashion-walk": { label: "
|
|
161
|
-
"stop-and-pose": { label: "
|
|
160
|
+
"stalk-high-fashion-walk": { label: "手臂僵直地走", description: "躯干僵直,手臂贴身,步幅长而生硬,面无表情。" },
|
|
161
|
+
"stop-and-pose": { label: "停步摆姿势", description: "停止行走,重心移到一条腿上,保持姿势。" },
|
|
162
162
|
"land-hand-on-hip": { label: "单手叉腰定格", description: "走到位后一只手叉腰,手肘外张" },
|
|
163
163
|
"flip-the-hair": { label: "甩发", description: "低头后猛然甩起,头发划出弧线落下" },
|
|
164
164
|
"sweep-hair-back": { label: "向后拢发", description: "边走边用一只手把头发从脸上拢开" },
|
|
165
|
-
"drop-coat-off-shoulders": { label: "
|
|
165
|
+
"drop-coat-off-shoulders": { label: "把外套从肩上褪下", description: "把外套从肩上滑下,保留里面的穿着。" },
|
|
166
166
|
"hook-jacket-over-shoulder": { label: "外套搭肩", description: "脱下夹克,勾在一侧肩上" },
|
|
167
167
|
"pause-look-over-shoulder": { label: "驻足回眸", description: "走开后停下,越过肩膀回望并定格" },
|
|
168
168
|
"sultry-look-back": { label: "性感回望", description: "下巴贴肩,半闭眼眸回望镜头" },
|
|
@@ -173,8 +173,8 @@ const map: LocaleCatalogMap = {
|
|
|
173
173
|
"campaign-walk-to-camera": { label: "广告大片走位", description: "从远处径直走向镜头,目光紧锁" },
|
|
174
174
|
"walk-away-from-camera": { label: "走离镜头", description: "背对镜头,走向远方" },
|
|
175
175
|
"sweep-the-gown": { label: "长裙曳地", description: "大步走时裙摆拖曳,转身时裙裾飞扬" },
|
|
176
|
-
"bounce-streetwear-walk": { label: "
|
|
177
|
-
"stride-menswear-walk": { label: "
|
|
176
|
+
"bounce-streetwear-walk": { label: "有节奏地弹跳着走", description: "松弛弹跳的步态,肩膀转动,双手插兜。" },
|
|
177
|
+
"stride-menswear-walk": { label: "单手插兜大步走", description: "步幅长而均匀,肩膀端正,一只手插在口袋里。" },
|
|
178
178
|
"twirl-the-skirt": { label: "旋转裙摆", description: "踮起脚尖旋转,让裙摆飞扬" },
|
|
179
179
|
"adjust-the-cuff": { label: "整理袖口", description: "行走中把衬衫袖口在外套袖下拉平" },
|
|
180
180
|
"adjust-lapels": { label: "整理翻领", description: "双手抓住翻领,拉挺拉正" },
|
|
@@ -182,8 +182,8 @@ const map: LocaleCatalogMap = {
|
|
|
182
182
|
"unbutton-jacket-walking": { label: "解开外套", description: "行走中解开外套纽扣,两襟松开" },
|
|
183
183
|
"pop-the-collar": { label: "立起衣领", description: "双手将衣领向上一翻,贴着脖子立起" },
|
|
184
184
|
"throw-open-coat": { label: "敞开大衣", description: "抓住大衣两襟向外甩开,露出造型" },
|
|
185
|
-
"cycle-through-three-poses": { label: "
|
|
186
|
-
"walk-with-partner": { label: "
|
|
185
|
+
"cycle-through-three-poses": { label: "即兴摆三个姿势", description: "连续摆三个姿势,每一拍变换重心和手臂。编舞由模型决定。" },
|
|
186
|
+
"walk-with-partner": { label: "并肩行走", description: "与搭档步调一致并肩行走。" },
|
|
187
187
|
// ── Dance ──
|
|
188
188
|
"groove-hip-hop": { label: "嘻哈律动", description: "踩着节拍弹动摇摆,双臂松弛" },
|
|
189
189
|
"sway-to-music": { label: "随音乐摇摆", description: "合着节奏左右摇摆,双臂放松" },
|
|
@@ -197,7 +197,7 @@ const map: LocaleCatalogMap = {
|
|
|
197
197
|
"do-toprock": { label: "站立霹雳步", description: "下地之前的站立霹雳舞步" },
|
|
198
198
|
"spin-into-windmill": { label: "风车", description: "以肩着地旋转,双腿甩动" },
|
|
199
199
|
"spin-on-the-head": { label: "头转", description: "倒立以头顶旋转,双腿张成V字" },
|
|
200
|
-
"hit-a-freeze": { label: "
|
|
200
|
+
"hit-a-freeze": { label: "保持即兴霹雳舞定格", description: "保持一个由模型选择的霹雳舞平衡动作;具体编舞不作规定。" },
|
|
201
201
|
"do-the-worm": { label: "毛毛虫", description: "俯身波浪起伏,贴地向前蠕动" },
|
|
202
202
|
"hit-pops": { label: "机械舞", description: "肌肉瞬间收紧,震动全身" },
|
|
203
203
|
"roll-an-arm-wave": { label: "手臂波浪", description: "波浪从一只手传过双臂到另一只手" },
|
|
@@ -227,7 +227,7 @@ const map: LocaleCatalogMap = {
|
|
|
227
227
|
"do-bhangra": { label: "旁遮普舞", description: "双臂上举,耸肩弹跳,跳步抬膝" },
|
|
228
228
|
"dance-afrobeats-legwork": { label: "非洲节拍步法", description: "屈膝律动,双脚扭转,上身前倾" },
|
|
229
229
|
"sway-capoeira-ginga": { label: "卡波耶拉摇步", description: "三角摇摆步,一臂横挡胸前防守" },
|
|
230
|
-
"hit-kpop-point-move": { label: "
|
|
230
|
+
"hit-kpop-point-move": { label: "即兴 K-pop 标志动作", description: "双臂随节拍干脆定格成标志性造型。编舞由模型决定。" },
|
|
231
231
|
"moonwalk-backward": { label: "太空步", description: "双脚似在前行,身体却向后滑动" },
|
|
232
232
|
"do-the-robot": { label: "机器人舞", description: "僵硬的机械式分段动作,关节处定格" },
|
|
233
233
|
"do-the-twist": { label: "扭扭舞", description: "双脚站定,胯部与肩膀反向扭转" },
|
|
@@ -255,7 +255,7 @@ const map: LocaleCatalogMap = {
|
|
|
255
255
|
"break-down-sobbing": { label: "崩溃痛哭", description: "脸皱成一团,抽泣不止" },
|
|
256
256
|
"gasp-in-shock": { label: "倒吸一口气", description: "猛吸一口气,嘴和眼睛骤然张大" },
|
|
257
257
|
"drop-jaw-in-astonishment": { label: "目瞪口呆", description: "下巴松垂,惊得张大了嘴" },
|
|
258
|
-
"register-dawning-realization": { label: "
|
|
258
|
+
"register-dawning-realization": { label: "露出恍然大悟的神情", description: "领悟浮现时,眼睛微微睁大。" },
|
|
259
259
|
"startle-then-relax": { label: "惊吓转释然", description: "猛然一惊,随后化为松了口气" },
|
|
260
260
|
"wink-one-eye": { label: "眨一只眼", description: "一只眼快速一闭再睁开" },
|
|
261
261
|
"roll-eyes-exasperated": { label: "翻白眼", description: "目光向上翻转,满是不耐烦" },
|
|
@@ -286,7 +286,7 @@ const map: LocaleCatalogMap = {
|
|
|
286
286
|
"bite-lip-teasingly": { label: "咬唇", description: "咬住下唇片刻,再笑着松开" },
|
|
287
287
|
"lick-lips-suggestively": { label: "舔唇", description: "舌尖从下唇一端舔到另一端" },
|
|
288
288
|
"smolder-heavy-lidded": { label: "迷离凝视", description: "眼神迷离半阖,双唇微启,下巴微低" },
|
|
289
|
-
"break-into-blush": { label: "
|
|
289
|
+
"break-into-blush": { label: "微微脸红", description: "呈现与肤色相称的红晕,目光害羞地转移。" },
|
|
290
290
|
"cringe-and-recoil": { label: "尴尬退缩", description: "脸皱成一团,耸肩,头向后缩" },
|
|
291
291
|
"cough-into-fist": { label: "咳嗽", description: "对着抬起的拳头急咳两三声" },
|
|
292
292
|
"laugh-nervously": { label: "紧张干笑", description: "短促气声笑戛然而止,目光躲闪" },
|
|
@@ -437,7 +437,7 @@ const map: LocaleCatalogMap = {
|
|
|
437
437
|
"bow-to-camera": { label: "对镜头鞠躬", description: "朝镜头郑重地弯腰鞠躬" },
|
|
438
438
|
"shield-face-from-camera": { label: "挡脸躲镜头", description: "怕上镜,前臂挡住脸并转开" },
|
|
439
439
|
"smolder-at-camera": { label: "对镜头放电", description: "透过睫毛向上看,带着性感浅笑" },
|
|
440
|
-
"sing-to-camera": { label: "对镜头唱歌", description: "
|
|
440
|
+
"sing-to-camera": { label: "对镜头唱歌", description: "表情丰富,明显地对着镜头唱歌。" },
|
|
441
441
|
"point-up-at-caption": { label: "指向上方字幕", description: "指向头顶上方的屏幕字幕" },
|
|
442
442
|
"punch-at-camera": { label: "对镜头出拳", description: "拳头直冲镜头,占满画面" },
|
|
443
443
|
"lunge-at-camera": { label: "扑向镜头", description: "整个人扑向镜头,脸猛然逼近" },
|
|
@@ -534,7 +534,7 @@ const map: LocaleCatalogMap = {
|
|
|
534
534
|
"skid-to-stop": { label: "急刹停步", description: "全速奔跑中脚跟擦地急刹,戛然停住" },
|
|
535
535
|
"hurdle-jump": { label: "跨栏", description: "冲刺中跨过栏架,摆动腿越栏,起跨腿放平" },
|
|
536
536
|
"lean-across-finish-line": { label: "撞线冲刺", description: "最后几步,挺胸前倾冲过终点线" },
|
|
537
|
-
"run-celebrating-arms-out": { label: "
|
|
537
|
+
"run-celebrating-arms-out": { label: "张开双臂奔跑", description: "庆祝般张开双臂向前奔跑。" },
|
|
538
538
|
"soccer-dribble": { label: "足球盘带", description: "贴身控球盘带,假动作后向内切" },
|
|
539
539
|
"kick-ball": { label: "踢球", description: "支撑脚站定,摆腿,脚背击球,顺势随摆" },
|
|
540
540
|
"header": { label: "头球", description: "起跳,后仰蓄力,用前额猛力顶球" },
|
|
@@ -572,7 +572,7 @@ const map: LocaleCatalogMap = {
|
|
|
572
572
|
"dive-into-water": { label: "跳入水中", description: "从池边弹起,头朝下划出弧线入水" },
|
|
573
573
|
"cannonball-into-water": { label: "炸弹式跳水", description: "助跑起跳,抱膝,臀部先入水溅起水花" },
|
|
574
574
|
"surface-and-flick-hair": { label: "出水甩发", description: "冲出水面,头猛地后仰,头发甩出弧线" },
|
|
575
|
-
"pour-water-over-head": { label: "
|
|
575
|
+
"pour-water-over-head": { label: "往头上浇水", description: "用瓶子往头上浇水,瓶子始终握在手里。" },
|
|
576
576
|
"skateboard-push": { label: "滑板蹬地", description: "蹬地两下,后脚踩上板尾,向前滑行" },
|
|
577
577
|
"surf-pop-up": { label: "冲浪起身", description: "俯卧划水,撑起,收脚,进入冲浪站姿" },
|
|
578
578
|
"ski-carve-turn": { label: "刻滑转弯", description: "立刃切入刻滑转弯,接着下一个弯" },
|
|
@@ -598,7 +598,7 @@ const map: LocaleCatalogMap = {
|
|
|
598
598
|
"duck-behind-cover": { label: "躲到掩体后", description: "在掩体后压低身体并紧贴掩体" },
|
|
599
599
|
"evasive-roll": { label: "闪避翻滚", description: "扑身肩滚翻,起身脱离危险" },
|
|
600
600
|
"hurdle-low-obstacle": { label: "跃过障碍", description: "不减步伐地跃过低矮障碍" },
|
|
601
|
-
"spin-away-from-danger": { label: "
|
|
601
|
+
"spin-away-from-danger": { label: "半转身离开", description: "转过半圈,朝新的方向离开。" },
|
|
602
602
|
"hit-the-deck": { label: "卧倒", description: "身体扑倒在地,双臂护住头部" },
|
|
603
603
|
"drop-to-ground": { label: "俯卧贴地", description: "直接伏低,平趴在地上" },
|
|
604
604
|
"stumble-and-recover": { label: "踉跄稳住", description: "迈步时脚下一滑,随即恢复平衡" },
|
|
@@ -653,13 +653,13 @@ const map: LocaleCatalogMap = {
|
|
|
653
653
|
"prop-up-on-elbow": { label: "撑肘半躺", description: "从躺姿用一侧手肘撑起头肩" },
|
|
654
654
|
"get-up-from-lying": { label: "从躺姿起身", description: "从平躺一路起身到站立" },
|
|
655
655
|
"sit-up-in-bed": { label: "床上坐起", description: "从躺着坐起,靠在枕头上" },
|
|
656
|
-
"swing-legs-out-of-bed": { label: "
|
|
656
|
+
"swing-legs-out-of-bed": { label: "坐起并把腿移出床沿", description: "从躺姿坐起,双腿移到床沿外。" },
|
|
657
657
|
"wake-and-stretch": { label: "醒来伸懒腰", description: "醒来时打着哈欠双臂上举伸展" },
|
|
658
658
|
"flop-onto-bed": { label: "扑倒在床", description: "向后倒在床上,双臂摊开" },
|
|
659
659
|
"lean-back-in-chair": { label: "靠坐椅背", description: "上身缓缓向后靠上椅背" },
|
|
660
660
|
"plant-elbows-on-knees": { label: "手肘撑膝", description: "身体前倾,前臂撑在大腿上" },
|
|
661
661
|
"shift-to-edge-of-seat": { label: "挪到座位边缘", description: "向前挪到座位前沿,神情专注" },
|
|
662
|
-
"cross-legs-seated": { label: "
|
|
662
|
+
"cross-legs-seated": { label: "坐着跷二郎腿", description: "保持坐姿,一条腿的膝盖搭在另一条腿上。" },
|
|
663
663
|
"uncross-and-stand": { label: "放下腿起身", description: "放下交叠的双腿,站起身" },
|
|
664
664
|
"put-feet-up": { label: "跷起双脚", description: "把双脚搭上桌子或脚凳" },
|
|
665
665
|
"recline-back": { label: "后仰斜躺", description: "向后仰到几乎躺平,双腿伸直" },
|
|
@@ -674,7 +674,7 @@ const map: LocaleCatalogMap = {
|
|
|
674
674
|
"lean-on-counter": { label: "倚靠台面", description: "双前臂搭在台面或吧台上" },
|
|
675
675
|
"brace-hands-on-knees": { label: "双手撑膝", description: "弯下腰,双手撑在膝盖上" },
|
|
676
676
|
"snap-to-attention": { label: "立正", description: "猛然站直,脚跟并拢,双臂贴身" },
|
|
677
|
-
"rise-on-tiptoes": { label: "踮起脚尖", description: "
|
|
677
|
+
"rise-on-tiptoes": { label: "踮起脚尖", description: "抬起双脚脚跟,用前脚掌保持平衡。" },
|
|
678
678
|
"lean-on-railing": { label: "倚靠栏杆", description: "前臂搭在栏杆上,眺望远方" },
|
|
679
679
|
"settle-into-meditation": { label: "进入冥想", description: "盘腿而坐,脊背挺直,缓缓闭眼" },
|
|
680
680
|
"lace-hands-behind-head": { label: "双手抱头", description: "向后靠,十指交叉枕在脑后" },
|
|
@@ -682,7 +682,7 @@ const map: LocaleCatalogMap = {
|
|
|
682
682
|
// ── Everyday Actions ──
|
|
683
683
|
"take-a-sip": { label: "抿一口", description: "把杯子举到嘴边,抿一口,放下" },
|
|
684
684
|
"drink-from-bottle": { label: "对瓶喝", description: "瓶子上倾,仰头喝下" },
|
|
685
|
-
"cradle-mug-and-sip": { label: "
|
|
685
|
+
"cradle-mug-and-sip": { label: "双手捧杯抿一口", description: "双手捧着马克杯,抿一口后放低。" },
|
|
686
686
|
"take-a-bite": { label: "咬一口", description: "咬一口食物,放下,咀嚼后咽下" },
|
|
687
687
|
"put-on-jacket": { label: "穿外套", description: "双臂依次穿进袖子,整理衣领" },
|
|
688
688
|
"take-off-jacket": { label: "脱外套", description: "耸肩逐一褪下外套两侧" },
|
|
@@ -695,7 +695,7 @@ const map: LocaleCatalogMap = {
|
|
|
695
695
|
"pull-up-hood": { label: "戴上兜帽", description: "把兜帽拉起并向前罩住头部" },
|
|
696
696
|
"wrap-scarf": { label: "围围巾", description: "围巾绕颈一圈,塞好两端" },
|
|
697
697
|
"loosen-tie": { label: "松开领带", description: "把领结往下扯,解开最上面的纽扣" },
|
|
698
|
-
"open-door": { label: "开门", description: "
|
|
698
|
+
"open-door": { label: "开门", description: "转动把手,把门推开。" },
|
|
699
699
|
"close-door": { label: "关门", description: "转过身把门带上" },
|
|
700
700
|
"knock-on-door": { label: "敲门", description: "用指节叩门,然后等待" },
|
|
701
701
|
"pound-on-door": { label: "砸门", description: "用拳头压上全身力气猛砸房门" },
|
|
@@ -718,7 +718,7 @@ const map: LocaleCatalogMap = {
|
|
|
718
718
|
"unwrap-gift": { label: "拆礼物", description: "拉开丝带,撕开包装纸,掀起盒盖" },
|
|
719
719
|
"pull-item-from-bag": { label: "从包里取物", description: "伸手进包里掏出一件东西" },
|
|
720
720
|
"open-letter": { label: "拆信", description: "撕开信封,读信" },
|
|
721
|
-
"tear-paper-in-half": { label: "
|
|
721
|
+
"tear-paper-in-half": { label: "把纸撕成两半", description: "把一张纸撕成两片,拿在手里。" },
|
|
722
722
|
"pull-phone-from-pocket": { label: "掏出手机", description: "拿出手机,低头看屏幕" },
|
|
723
723
|
"answer-phone": { label: "接电话", description: "掏出响铃的手机,举到耳边" },
|
|
724
724
|
"hang-up-phone": { label: "挂电话", description: "放下手机,挂断通话,收进口袋" },
|
|
@@ -726,7 +726,7 @@ const map: LocaleCatalogMap = {
|
|
|
726
726
|
"scroll-on-phone": { label: "刷手机", description: "拇指在屏幕上反复滑动" },
|
|
727
727
|
"take-a-selfie": { label: "自拍", description: "伸出手臂,摆好姿势,按下拍摄,放低查看" },
|
|
728
728
|
"take-a-photo": { label: "拍照", description: "举起手机,取景构图,按下快门" },
|
|
729
|
-
"tap-to-pay": { label: "
|
|
729
|
+
"tap-to-pay": { label: "碰一碰支付", description: "把手中的卡或手机碰触支付终端。" },
|
|
730
730
|
"type-on-laptop": { label: "笔记本打字", description: "打开屏幕开始打字,目光在键盘与屏幕间切换" },
|
|
731
731
|
"write-in-notebook": { label: "本子上写字", description: "翻开笔记本,拔下笔帽,写下一行" },
|
|
732
732
|
"write-on-whiteboard": { label: "白板写字", description: "在白板上写下一行,转身面向众人" },
|
|
@@ -755,15 +755,15 @@ const map: LocaleCatalogMap = {
|
|
|
755
755
|
"blow-out-candle": { label: "吹蜡烛", description: "凑近,吸一口气,吹灭火苗" },
|
|
756
756
|
"cut-cake": { label: "切蛋糕", description: "刀压过蛋糕,托起一块" },
|
|
757
757
|
"toss-bouquet": { label: "抛捧花", description: "背过身,把捧花越过肩膀抛出" },
|
|
758
|
-
"lick-ice-cream": { label: "舔冰淇淋", description: "
|
|
758
|
+
"lick-ice-cream": { label: "舔冰淇淋", description: "舔冰淇淋,不咬。" },
|
|
759
759
|
"stir-a-pot": { label: "搅锅", description: "在锅里画圈搅拌,再舀起勺子尝味" },
|
|
760
|
-
"taste-from-spoon": { label: "
|
|
760
|
+
"taste-from-spoon": { label: "用勺子尝味", description: "尝一勺,不预设评价。" },
|
|
761
761
|
"chop-vegetables": { label: "切菜", description: "在砧板上用刀起伏切菜" },
|
|
762
762
|
"toss-food-in-pan": { label: "颠锅", description: "手腕一抖,食物在锅中翻起再落回" },
|
|
763
763
|
"sprinkle-salt-flourish": { label: "花式撒盐", description: "手臂高举,盐从指尖簌簌落下" },
|
|
764
|
-
"open-fridge": { label: "
|
|
764
|
+
"open-fridge": { label: "打开冰箱", description: "打开冰箱门并保持敞开。" },
|
|
765
765
|
"water-plants": { label: "浇花", description: "倾斜水壶逐一浇灌植物" },
|
|
766
|
-
"cradle-and-rock-baby": { label: "
|
|
766
|
+
"cradle-and-rock-baby": { label: "抱着婴儿轻轻摇晃", description: "托住婴儿的头和身体,轻轻摇晃。" },
|
|
767
767
|
"slap-alarm-clock": { label: "拍掉闹钟", description: "胳膊一甩,一巴掌拍停闹钟" },
|
|
768
768
|
"pull-covers-over-head": { label: "蒙头盖被", description: "把被子扯过头顶,蜷成一团" },
|
|
769
769
|
"put-on-seatbelt": { label: "系安全带", description: "拉过安全带,咔嗒扣上" },
|
|
@@ -772,11 +772,11 @@ const map: LocaleCatalogMap = {
|
|
|
772
772
|
"shuffle-cards": { label: "洗牌", description: "分开牌堆,交错洗牌,再码齐" },
|
|
773
773
|
"sweep-flashlight": { label: "手电扫照", description: "手电筒划弧扫照,头随光转动" },
|
|
774
774
|
// ── Vehicles & Mounts ──
|
|
775
|
-
"get-into-car": { label: "
|
|
775
|
+
"get-into-car": { label: "坐进驾驶座", description: "打开驾驶座车门,坐进驾驶座。" },
|
|
776
776
|
"get-out-of-car": { label: "下车", description: "双腿转出车外,从座位站起" },
|
|
777
777
|
"slide-across-hood": { label: "滑过引擎盖", description: "侧臀滑过引擎盖,落到另一侧" },
|
|
778
778
|
"drive-off": { label: "驾车离去", description: "握住方向盘,把车开走" },
|
|
779
|
-
"shift-gears": { label: "
|
|
779
|
+
"shift-gears": { label: "换手动挡", description: "用较近的手拨动手动换挡杆。" },
|
|
780
780
|
"check-mirror-and-turn": { label: "看后视镜转弯", description: "瞥一眼后视镜,回头看盲区,再打方向转弯" },
|
|
781
781
|
"lean-out-car-window": { label: "探出车窗", description: "头肩探出窗外,迎着疾风" },
|
|
782
782
|
"sit-on-car-hood": { label: "坐上引擎盖", description: "双掌一撑,坐上引擎盖" },
|
|
@@ -784,23 +784,23 @@ const map: LocaleCatalogMap = {
|
|
|
784
784
|
"put-on-helmet": { label: "戴头盔", description: "套上头盔,系紧下巴扣带" },
|
|
785
785
|
"mount-motorcycle": { label: "跨上摩托车", description: "一条腿跨过车座,坐稳" },
|
|
786
786
|
"kick-start-engine": { label: "脚踩启动", description: "用力踩下启动杆,拧动油门" },
|
|
787
|
-
"lean-into-turn": { label: "
|
|
787
|
+
"lean-into-turn": { label: "压弯过弯", description: "内侧肩膀和膝盖向弯道压低。" },
|
|
788
788
|
"dismount-motorcycle": { label: "下摩托车", description: "后腿跨回车座另一侧,下车" },
|
|
789
|
-
"hop-on-bike": { label: "
|
|
789
|
+
"hop-on-bike": { label: "跨上自行车骑走", description: "跨上自行车,蹬车离开。" },
|
|
790
790
|
"brake-and-hop-off": { label: "刹车下车", description: "捏紧车闸,跨离自行车" },
|
|
791
791
|
"push-scooter": { label: "蹬滑板车", description: "蹬地发力,单脚踩着滑行" },
|
|
792
|
-
"mount-horse": { label: "
|
|
792
|
+
"mount-horse": { label: "从左侧上马", description: "左脚踩入左侧马镫,右腿跨过马鞍。" },
|
|
793
793
|
"ride-at-walk": { label: "骑马慢行", description: "坐姿挺拔,骨盆随四拍步伐起伏" },
|
|
794
794
|
"gallop-on-horseback": { label: "策马疾驰", description: "半起坐姿,俯身贴近马颈" },
|
|
795
795
|
"rein-in-horse": { label: "勒马", description: "深坐鞍中,收紧缰绳让马停下" },
|
|
796
|
-
"dismount-horse": { label: "
|
|
796
|
+
"dismount-horse": { label: "从左侧下马", description: "双脚脱离马镫,从左侧落到地面。" },
|
|
797
797
|
"board-train": { label: "登上列车", description: "在车门滑动关闭时跨过间隙" },
|
|
798
798
|
"hold-train-strap": { label: "拉着吊环", description: "握住头顶吊环,随车厢摇晃" },
|
|
799
799
|
"step-off-bus": { label: "下公交车", description: "扶着扶手走下台阶,踏上路边" },
|
|
800
|
-
"row-boat": { label: "
|
|
800
|
+
"row-boat": { label: "划固定座位的船", description: "坐在固定座位上,用手臂和躯干拉桨。" },
|
|
801
801
|
"paddle-kayak": { label: "划皮划艇", description: "转动躯干,左右交替划桨" },
|
|
802
|
-
"hail-taxi": { label: "
|
|
803
|
-
"climb-into-cab": { label: "
|
|
802
|
+
"hail-taxi": { label: "招出租车", description: "朝驶来的出租车举起一只手臂,再放下。" },
|
|
803
|
+
"climb-into-cab": { label: "爬进卡车驾驶室", description: "拉着扶手把自己拉上卡车的高座位。" },
|
|
804
804
|
"jump-onto-moving-vehicle": { label: "跳上行驶车辆", description: "并排冲刺,翻身跃上踏板" },
|
|
805
805
|
"grip-armrests": { label: "紧抓扶手", description: "双手死死抓住扶手,身体被压向椅背" },
|
|
806
806
|
"stretch-in-aisle": { label: "过道伸展", description: "从座位站起,双臂向上伸展" },
|
|
@@ -810,27 +810,27 @@ const map: LocaleCatalogMap = {
|
|
|
810
810
|
"ruffle-dog-fur": { label: "揉乱狗毛", description: "手指在脖子处的厚毛里来回揉搓" },
|
|
811
811
|
"scoop-up-pet": { label: "抱起宠物", description: "弯腰,双手从下方托起,抱到胸前" },
|
|
812
812
|
"offer-hand-to-sniff": { label: "伸手让它闻", description: "手臂伸出,指节朝下,手保持不动" },
|
|
813
|
-
"offer-a-treat": { label: "
|
|
813
|
+
"offer-a-treat": { label: "给狗递零食", description: "把零食递向狗,不要求它接。" },
|
|
814
814
|
"get-pulled-by-leash": { label: "被牵绳拽走", description: "牵绳猛然绷紧,把手臂向前拖拽" },
|
|
815
815
|
"reel-in-leash": { label: "收紧牵绳", description: "双手交替收拢,缩短牵绳" },
|
|
816
|
-
"throw-ball-for-dog": { label: "给狗扔球", description: "
|
|
816
|
+
"throw-ball-for-dog": { label: "给狗扔球", description: "把球扔到狗前方,不加入捡回动作。" },
|
|
817
817
|
"kneel-to-greet": { label: "蹲跪迎接", description: "单膝跪地,张开双臂" },
|
|
818
|
-
"signal-dog-to-sit": { label: "示意狗坐下", description: "
|
|
819
|
-
"call-dog-over": { label: "唤狗过来", description: "
|
|
818
|
+
"signal-dog-to-sit": { label: "示意狗坐下", description: "向狗做向下的手势,不要求回应。" },
|
|
819
|
+
"call-dog-over": { label: "唤狗过来", description: "蹲下招手唤狗,然后等待。" },
|
|
820
820
|
"cuddle-pet-on-lap": { label: "膝上搂宠物", description: "俯身护住膝上的宠物,抚摸它的背" },
|
|
821
821
|
"hold-cat-to-chest": { label: "抱猫在怀", description: "把猫拢起,贴紧胸口抱着" },
|
|
822
822
|
"lift-cat-up": { label: "举起猫咪", description: "托住胸口和后腿,举到与视线齐平" },
|
|
823
823
|
"lift-puppy-to-face": { label: "举起小狗贴脸", description: "把小狗举到面前,鼻尖相对" },
|
|
824
824
|
"let-bird-perch": { label: "让鸟停落", description: "食指平伸,稳稳不动" },
|
|
825
|
-
"feed-the-ducks": { label: "喂鸭子", description: "
|
|
825
|
+
"feed-the-ducks": { label: "喂鸭子", description: "朝鸭子撒小块食物。" },
|
|
826
826
|
"stroke-horse-neck": { label: "抚摸马颈", description: "手掌平贴,顺着马颈长长地向下抚过" },
|
|
827
827
|
"brush-the-horse": { label: "给马刷毛", description: "顺着毛的方向长长地刷过" },
|
|
828
828
|
"pat-horse-flank": { label: "轻拍马腹侧", description: "张开手掌有力地拍两下,然后搭住不动" },
|
|
829
829
|
"mount-the-horse": { label: "踩镫上马", description: "脚踩马镫,一条腿跨上马背" },
|
|
830
|
-
"back-away-slowly": { label: "
|
|
830
|
+
"back-away-slowly": { label: "慢慢后退远离动物", description: "面朝动物,小步谨慎地后退。" },
|
|
831
831
|
"let-it-approach": { label: "任它靠近", description: "完全静止,耐心等待" },
|
|
832
832
|
"crouch-to-photograph": { label: "蹲下拍照", description: "压低身体,用手机把动物框入画面" },
|
|
833
|
-
"tug-the-toy": { label: "
|
|
833
|
+
"tug-the-toy": { label: "和狗拔河拉玩具", description: "拉住绳结玩具的一端,狗咬着另一端。" },
|
|
834
834
|
"wipe-muddy-paws": { label: "擦泥爪子", description: "跪下用毛巾逐一擦干爪子" },
|
|
835
835
|
"brace-for-jump": { label: "稳住扑跳", description: "后脚踩稳,承接扑上来的狗" },
|
|
836
836
|
// ── Two-Person ──
|
|
@@ -839,7 +839,7 @@ const map: LocaleCatalogMap = {
|
|
|
839
839
|
"hug-partner-from-behind": { label: "从背后拥抱", description: "双臂环住腰,下巴搁在对方肩上" },
|
|
840
840
|
"bro-hug": { label: "兄弟式拥抱", description: "握手后拉近,单臂拥抱并拍一拍" },
|
|
841
841
|
"run-into-partner-arms": { label: "奔入怀抱", description: "跑过去跃起,被对方接住抱起" },
|
|
842
|
-
"bury-face-in-partner-shoulder": { label: "
|
|
842
|
+
"bury-face-in-partner-shoulder": { label: "把脸埋进搭档肩膀", description: "脸紧贴搭档的肩膀,紧紧抓住。" },
|
|
843
843
|
"shake-partner-hand": { label: "握手", description: "伸出手,握住上下摇两下,松开" },
|
|
844
844
|
"high-five-partner": { label: "击掌", description: "举起的手掌相击并弹开" },
|
|
845
845
|
"fist-bump-partner": { label: "碰拳", description: "在胸口高度轻轻碰拳" },
|
|
@@ -852,12 +852,12 @@ const map: LocaleCatalogMap = {
|
|
|
852
852
|
"lean-in-almost-kiss": { label: "欲吻未吻", description: "凑近直到双唇几乎相碰,停住" },
|
|
853
853
|
"kiss-partner": { label: "亲吻", description: "凑近亲吻对方的嘴唇,然后分开" },
|
|
854
854
|
"rise-on-tiptoes-to-kiss-partner": { label: "踮脚亲吻", description: "踮起脚尖,够到更高的对方双唇" },
|
|
855
|
-
"cup-partner-face": { label: "
|
|
856
|
-
"lift-partner-chin": { label: "
|
|
855
|
+
"cup-partner-face": { label: "捧住搭档的脸", description: "双掌捧住搭档的脸颊,目光相对。" },
|
|
856
|
+
"lift-partner-chin": { label: "抬起搭档的下巴", description: "用弯曲的手指把搭档低垂的脸抬起。" },
|
|
857
857
|
"tuck-partner-hair-behind-ear": { label: "为对方撩发", description: "拈起一缕散发,别到对方耳后" },
|
|
858
858
|
"wipe-partner-tear": { label: "拭去泪水", description: "拇指拂去对方脸颊上的泪水" },
|
|
859
859
|
"touch-foreheads-with-partner": { label: "额头相抵", description: "额头相抵,闭上双眼,静止不动" },
|
|
860
|
-
"rest-head-on-partner-shoulder": { label: "
|
|
860
|
+
"rest-head-on-partner-shoulder": { label: "把头靠在搭档肩上", description: "向侧面倚靠,头落在搭档的肩上。" },
|
|
861
861
|
"rest-head-in-partner-lap": { label: "枕在腿上", description: "躺下,头枕在对方腿上" },
|
|
862
862
|
"hold-partner-hand": { label: "牵手", description: "握住对方的手,十指相扣" },
|
|
863
863
|
"walk-hand-in-hand": { label: "手牵手走", description: "与对方并肩走,双手紧握" },
|
|
@@ -874,7 +874,7 @@ const map: LocaleCatalogMap = {
|
|
|
874
874
|
"receive-object": { label: "接过东西", description: "接过递来的东西,收到身前" },
|
|
875
875
|
"slide-ring-onto-partner-finger": { label: "戴上戒指", description: "把戒指套进对方的无名指" },
|
|
876
876
|
"lift-partner-veil": { label: "揭起面纱", description: "把面纱向上向后掀起,露出面容" },
|
|
877
|
-
"kneel-before-partner": { label: "
|
|
877
|
+
"kneel-before-partner": { label: "在搭档面前单膝跪下", description: "面向搭档单膝跪下。" },
|
|
878
878
|
"kneel-to-partner-eye-level": { label: "跪下平视", description: "单膝跪下,与更矮的对方平视" },
|
|
879
879
|
"tap-partner-shoulder": { label: "拍肩", description: "从背后轻拍两下,对方转过身来" },
|
|
880
880
|
"put-hand-on-partner-shoulder": { label: "手搭肩上", description: "手搭在对方肩上,轻轻一握" },
|
|
@@ -885,18 +885,18 @@ const map: LocaleCatalogMap = {
|
|
|
885
885
|
"ruffle-partner-hair": { label: "揉乱头发", description: "用手揉对方的头,把头发弄乱" },
|
|
886
886
|
"tickle-partner": { label: "挠痒痒", description: "手指在肋部挠动,对方扭身躲开" },
|
|
887
887
|
"shake-partner-awake": { label: "摇醒", description: "抓住熟睡对方的肩膀摇晃" },
|
|
888
|
-
"lift-partner": { label: "
|
|
889
|
-
"swing-partner-around": { label: "
|
|
890
|
-
"lift-partner-overhead-airplane": { label: "
|
|
888
|
+
"lift-partner": { label: "抱起搭档", description: "双手扶腰,垂直抱起,再放下。" },
|
|
889
|
+
"swing-partner-around": { label: "抱起搭档转圈", description: "抱起搭档转一整圈。" },
|
|
890
|
+
"lift-partner-overhead-airplane": { label: "把体型较小的搭档举过头顶", description: "托住躯干和骨盆,将体型较小的搭档水平举过头顶。" },
|
|
891
891
|
"carry-partner-bridal": { label: "公主抱", description: "横抱起对方,向前走" },
|
|
892
892
|
"piggyback-partner": { label: "背起对方", description: "蹲下让对方爬上背,起身往前走" },
|
|
893
893
|
"carry-partner-on-shoulders": { label: "骑在肩上", description: "对方跨坐在脖子上,被扛着向前走" },
|
|
894
|
-
"fireman-carry-partner": { label: "
|
|
894
|
+
"fireman-carry-partner": { label: "把搭档扛在双肩上", description: "将搭档横扛在双肩上背着走。" },
|
|
895
895
|
"help-partner-up": { label: "拉起对方", description: "把对方从地上拉起站好" },
|
|
896
896
|
"catch-partner-falling": { label: "接住跌倒者", description: "扑身上前,接住倒下的对方" },
|
|
897
897
|
"support-injured-partner-walking": { label: "搀扶伤者", description: "对方手臂搭肩,承住一瘸一拐的身体重量" },
|
|
898
898
|
"drag-partner-to-safety": { label: "拖到安全处", description: "从腋下架住对方向后拖" },
|
|
899
|
-
"shield-partner-with-body": { label: "
|
|
899
|
+
"shield-partner-with-body": { label: "用身体护住搭档", description: "把搭档拉到身后,用身体挡住。" },
|
|
900
900
|
"pull-partner-close": { label: "拉到身前", description: "把对方拉过来,胸口相贴" },
|
|
901
901
|
"catch-partner-wrist": { label: "抓住手腕", description: "抓住对方手腕,拦住不让离开" },
|
|
902
902
|
"chase-partner": { label: "追赶", description: "追在对方身后,距离越来越近" },
|
|
@@ -905,11 +905,11 @@ const map: LocaleCatalogMap = {
|
|
|
905
905
|
"push-partner-away": { label: "推开", description: "双掌抵住胸口,对方向后退一步" },
|
|
906
906
|
"shove-partner": { label: "猛推对方", description: "双手猛推,对方踉跄后退" },
|
|
907
907
|
"shake-partner-shoulders": { label: "抓肩摇晃", description: "抓住双肩,前后摇晃" },
|
|
908
|
-
"grab-partner-collar": { label: "
|
|
908
|
+
"grab-partner-collar": { label: "揪住搭档衣领", description: "揪住衣领,两人双脚都不离地。" },
|
|
909
909
|
"pin-partner-against-wall": { label: "按在墙上", description: "把对方逼到墙边,前臂横压胸口" },
|
|
910
910
|
"slap-partner": { label: "扇耳光", description: "张开手掌扇过脸颊,头猛地偏向一边" },
|
|
911
|
-
"arm-wrestle-partner": { label: "
|
|
912
|
-
"restrain-partner": { label: "
|
|
911
|
+
"arm-wrestle-partner": { label: "与搭档掰手腕", description: "双肘撑在桌上,握手较力。" },
|
|
912
|
+
"restrain-partner": { label: "拦住搭档", description: "从身后把奋力向前的搭档拉回来。" },
|
|
913
913
|
// ── Idle & Ambient ──
|
|
914
914
|
"breathe-visibly": { label: "胸口起伏", description: "胸口以平稳的节奏起伏" },
|
|
915
915
|
"sway-subtly": { label: "轻微摇晃", description: "站立时身体几不可察地左右晃动" },
|
|
@@ -973,17 +973,17 @@ const map: LocaleCatalogMap = {
|
|
|
973
973
|
"walk-to-center-stage": { label: "走向舞台中央", description: "从侧台走到站位,双臂展开" },
|
|
974
974
|
"strut-down-runway": { label: "昂首走T台", description: "沿T台直线昂首走秀" },
|
|
975
975
|
"step-up-to-podium": { label: "走上讲台", description: "站到讲台后,双手握住两侧" },
|
|
976
|
-
"sit-on-stage-edge": { label: "
|
|
976
|
+
"sit-on-stage-edge": { label: "坐在舞台边缘", description: "坐在舞台边缘,双腿垂下。" },
|
|
977
977
|
"raise-hands-to-crowd": { label: "向观众举手", description: "双臂笔直举过头顶,掌心张开" },
|
|
978
978
|
"hype-the-crowd": { label: "带动全场", description: "踩着节拍在头顶拍手,鼓动观众" },
|
|
979
979
|
"point-to-crowd": { label: "指向观众", description: "猛地指向人群,再横扫过去" },
|
|
980
980
|
"wave-to-crowd": { label: "向观众挥手", description: "举过头顶大幅挥手,照顾到全场" },
|
|
981
981
|
"blow-kisses-to-crowd": { label: "向观众飞吻", description: "指尖贴唇,向两侧抛出飞吻" },
|
|
982
|
-
"hold-phone-light-aloft": { label: "
|
|
982
|
+
"hold-phone-light-aloft": { label: "高举亮着的手机屏幕", description: "将亮着的手机屏幕举过头顶。" },
|
|
983
983
|
"jump-on-the-beat": { label: "踩点跳跃", description: "每个重拍双脚都离开舞台" },
|
|
984
984
|
"headbang-on-beat": { label: "踩点甩头", description: "每一拍头都猛地上下甩动,头发飞扬" },
|
|
985
985
|
"knee-slide-across-stage": { label: "跪地滑行", description: "助跑后跪地滑过舞台" },
|
|
986
|
-
"hit-dance-break": { label: "
|
|
986
|
+
"hit-dance-break": { label: "即兴八拍舞蹈段落", description: "把话筒立好,面向观众跳一段八拍。编舞由模型决定。" },
|
|
987
987
|
"freeze-on-the-drop": { label: "卡点定格", description: "音乐爆点时摆出姿势,纹丝不动" },
|
|
988
988
|
"spin-mic-stand": { label: "旋转麦架", description: "把麦克风架甩一整圈再接住" },
|
|
989
989
|
"drop-the-mic": { label: "扔麦", description: "伸出麦克风,松开手让它掉落" },
|
|
@@ -991,13 +991,13 @@ const map: LocaleCatalogMap = {
|
|
|
991
991
|
"stage-dive": { label: "舞台跳水", description: "身体水平扑向观众举起的双手" },
|
|
992
992
|
"crowd-surf": { label: "人浪冲浪", description: "仰躺着被观众一双双手传过人群" },
|
|
993
993
|
"bow-to-audience": { label: "向观众鞠躬", description: "在舞台前沿深深弯腰鞠躬" },
|
|
994
|
-
"take-curtain-call": { label: "谢幕", description: "
|
|
994
|
+
"take-curtain-call": { label: "谢幕", description: "上前一步向观众鞠躬。" },
|
|
995
995
|
"walk-off-waving": { label: "挥手退场", description: "走向侧台,回头越过肩膀挥手" },
|
|
996
996
|
"share-mic-duet": { label: "共用麦克风", description: "两位歌手凑近同一支麦克风合唱副歌" },
|
|
997
997
|
"shred-back-to-back": { label: "背靠背独奏", description: "两位吉他手背靠背激情速弹" },
|
|
998
998
|
// ── Unnatural & Horror ──
|
|
999
999
|
"twitch-head-sideways": { label: "头部抽搐", description: "头猛地向一侧抽动,再回正" },
|
|
1000
|
-
"tilt-head-too-far": { label: "
|
|
1000
|
+
"tilt-head-too-far": { label: "头向肩膀倾斜", description: "在正常幅度内把头偏向一侧肩膀。" },
|
|
1001
1001
|
"snap-head-sideways": { label: "猛然转头", description: "头猛地甩向一侧,戛然停住" },
|
|
1002
1002
|
"backbend-into-crawl": { label: "下腰爬行", description: "向后弯腰撑地,腹部朝上爬行" },
|
|
1003
1003
|
"crawl-head-raised": { label: "仰头爬行", description: "四肢着地向前爬,头高高抬起" },
|
|
@@ -1006,7 +1006,7 @@ const map: LocaleCatalogMap = {
|
|
|
1006
1006
|
"jerk-like-marionette": { label: "提线木偶抽动", description: "四肢像被线拉扯般猛地向上抽起" },
|
|
1007
1007
|
"drag-self-forward": { label: "拖身前行", description: "用前臂拖着身体向前,双腿拖在后面" },
|
|
1008
1008
|
"claw-at-the-air": { label: "凌空乱抓", description: "双手在脸前的空气中乱抓" },
|
|
1009
|
-
"press-hands-to-neck": { label: "
|
|
1009
|
+
"press-hands-to-neck": { label: "双手搭在锁骨上", description: "双手轻搭在锁骨处并保持。" },
|
|
1010
1010
|
"scratch-at-door": { label: "抓挠门板", description: "指甲一道道从门上刮下" },
|
|
1011
1011
|
"roll-eyes-back": { label: "眼球上翻", description: "眼珠向上翻,只剩眼白" },
|
|
1012
1012
|
"stand-still-then-lunge": { label: "静止后猛扑", description: "一动不动,随后爆发式向前一步猛扑" },
|
|
@@ -1026,6 +1026,57 @@ const map: LocaleCatalogMap = {
|
|
|
1026
1026
|
"shake-head-into-blur": { label: "摇头成残影", description: "头左右高速振动,脸变得模糊" },
|
|
1027
1027
|
"rock-back-and-forth": { label: "原地摇晃", description: "躯干以固定节拍来回摇晃" },
|
|
1028
1028
|
"let-the-jaw-drop": { label: "下巴垂开", description: "嘴巴垂开,保持松弛" },
|
|
1029
|
+
"release-partner-and-step-back": { label: "松开搭档并后退", description: "松开搭档,后退一步。" },
|
|
1030
|
+
"offer-object-and-wait": { label: "递出物品并等待", description: "递出物品并等待。" },
|
|
1031
|
+
"decline-offered-object": { label: "拒绝递来的物品", description: "拒绝递来的物品。" },
|
|
1032
|
+
"pass-object-to-partner": { label: "把物品递给搭档", description: "把物品递给搭档。" },
|
|
1033
|
+
"seated-wave": { label: "坐着挥手", description: "坐着挥手。" },
|
|
1034
|
+
"tread-water": { label: "踩水", description: "踩水。" },
|
|
1035
|
+
"swim-breaststroke": { label: "游蛙泳", description: "游蛙泳。" },
|
|
1036
|
+
"swim-backstroke": { label: "游仰泳", description: "游仰泳。" },
|
|
1037
|
+
"turn-wheelchair-left": { label: "轮椅左转", description: "将轮椅向左转。" },
|
|
1038
|
+
"turn-wheelchair-right": { label: "轮椅右转", description: "将轮椅向右转。" },
|
|
1039
|
+
"drive-powered-wheelchair": { label: "驾驶电动轮椅", description: "驾驶电动轮椅。" },
|
|
1040
|
+
"stop-powered-wheelchair": { label: "停下电动轮椅", description: "停下电动轮椅。" },
|
|
1041
|
+
"ride-bicycle-continuously": { label: "持续骑自行车", description: "持续骑自行车。" },
|
|
1042
|
+
"brake-bicycle": { label: "刹车停下自行车", description: "刹车直到自行车停下。" },
|
|
1043
|
+
"park-bicycle": { label: "停放自行车", description: "停放自行车。" },
|
|
1044
|
+
"enter-car-passenger-seat": { label: "坐进副驾驶座", description: "坐进汽车副驾驶座。" },
|
|
1045
|
+
"unbuckle-seatbelt": { label: "解开安全带", description: "解开安全带。" },
|
|
1046
|
+
"step-left": { label: "向自身左侧迈一步", description: "向主体自身的左侧迈一步。" },
|
|
1047
|
+
"step-right": { label: "向自身右侧迈一步", description: "向主体自身的右侧迈一步。" },
|
|
1048
|
+
"walk-with-crutches": { label: "拄拐杖行走", description: "拄着拐杖行走。" },
|
|
1049
|
+
"walk-with-walker": { label: "用助行器行走", description: "用助行器行走。" },
|
|
1050
|
+
"stop-and-hold": { label: "停下并保持姿势", description: "停下并保持姿势。" },
|
|
1051
|
+
"hold-current-pose": { label: "保持当前姿势", description: "保持当前姿势。" },
|
|
1052
|
+
"seated-reach": { label: "坐着伸手够", description: "坐着伸手去够。" },
|
|
1053
|
+
"rise-from-floor": { label: "从地上站起", description: "从地上站起来。" },
|
|
1054
|
+
"dog-subject-sit": { label: "狗坐下", description: "狗坐下。" },
|
|
1055
|
+
"dog-subject-lie-down": { label: "狗趴下", description: "狗趴下。" },
|
|
1056
|
+
"dog-subject-wag-tail": { label: "狗摇尾巴", description: "狗摇尾巴。" },
|
|
1057
|
+
"dog-subject-shake": { label: "狗抖动身体", description: "狗抖动身体。" },
|
|
1058
|
+
"cat-subject-stretch": { label: "猫伸懒腰", description: "猫伸懒腰。" },
|
|
1059
|
+
"horse-subject-walk": { label: "马慢步走", description: "马慢步走。" },
|
|
1060
|
+
"horse-subject-trot": { label: "马小跑", description: "马小跑。" },
|
|
1061
|
+
"horse-subject-canter": { label: "马慢跑", description: "马慢跑。" },
|
|
1062
|
+
"bird-subject-hop": { label: "鸟跳跃", description: "鸟跳跃。" },
|
|
1063
|
+
"bird-subject-takeoff": { label: "鸟起飞", description: "鸟起飞。" },
|
|
1064
|
+
"gaze-frame-left": { label: "看向画面左侧", description: "看向画面左侧。" },
|
|
1065
|
+
"gaze-frame-right": { label: "看向画面右侧", description: "看向画面右侧。" },
|
|
1066
|
+
"look-at-counterpart": { label: "看向已连接的对象", description: "看向已连接的对象。" },
|
|
1067
|
+
"set-object-down": { label: "放下物品", description: "放下物品。" },
|
|
1068
|
+
"hold-object-still": { label: "稳稳拿住物品", description: "稳稳拿住物品不动。" },
|
|
1069
|
+
"wash-hands": { label: "洗手", description: "洗手。" },
|
|
1070
|
+
"wipe-table": { label: "擦桌子", description: "擦桌子。" },
|
|
1071
|
+
"sweep-floor": { label: "扫地", description: "扫地。" },
|
|
1072
|
+
"read-book-continuously": { label: "读书", description: "读书。" },
|
|
1073
|
+
"listen-attentively": { label: "专注倾听", description: "专注倾听。" },
|
|
1074
|
+
"type-continuously": { label: "持续打字", description: "持续打字。" },
|
|
1075
|
+
"send-phone-message": { label: "用手机发消息", description: "用手机发消息。" },
|
|
1076
|
+
"move-computer-mouse": { label: "使用电脑鼠标", description: "使用电脑鼠标。" },
|
|
1077
|
+
"sort-documents": { label: "整理文件", description: "整理文件。" },
|
|
1078
|
+
"serve-plate": { label: "上菜", description: "端上盘子上菜。" },
|
|
1079
|
+
"tighten-screw": { label: "拧紧螺丝", description: "拧紧螺丝。" },
|
|
1029
1080
|
}
|
|
1030
1081
|
|
|
1031
1082
|
export default map
|