@nodaro/shared 1.4.2

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.
Files changed (665) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +32 -0
  3. package/dist/index.cjs +12506 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +12269 -0
  6. package/dist/index.d.ts +12269 -0
  7. package/dist/index.js +11831 -0
  8. package/dist/index.js.map +1 -0
  9. package/package.json +54 -0
  10. package/src/__tests__/__snapshots__/prompt-builder-segments.test.ts.snap +65 -0
  11. package/src/__tests__/ai-avatar-pricing.test.ts +321 -0
  12. package/src/__tests__/apply-video-negative-prompt.test.ts +76 -0
  13. package/src/__tests__/attach-columns.test.ts +28 -0
  14. package/src/__tests__/audio-crossfade-curves.test.ts +33 -0
  15. package/src/__tests__/build-model-menu.test.ts +58 -0
  16. package/src/__tests__/character-aspect-defaults.test.ts +142 -0
  17. package/src/__tests__/character-mention-slug.test.ts +199 -0
  18. package/src/__tests__/character-reference-photo-kinds.test.ts +32 -0
  19. package/src/__tests__/character-usage-mode.test.ts +147 -0
  20. package/src/__tests__/character-variant-assets.test.ts +142 -0
  21. package/src/__tests__/character-voice.test.ts +130 -0
  22. package/src/__tests__/cinematic-avatar-pricing.test.ts +119 -0
  23. package/src/__tests__/combine-transitions.test.ts +137 -0
  24. package/src/__tests__/component-types.test.ts +87 -0
  25. package/src/__tests__/condition-variables.test.ts +98 -0
  26. package/src/__tests__/credit-identifiers.test.ts +811 -0
  27. package/src/__tests__/default-video-provider.test.ts +63 -0
  28. package/src/__tests__/entity-image-handle.test.ts +43 -0
  29. package/src/__tests__/entity-variants.test.ts +33 -0
  30. package/src/__tests__/fal-lip-sync-sets.test.ts +31 -0
  31. package/src/__tests__/featured-entities.test.ts +33 -0
  32. package/src/__tests__/film-pricing.test.ts +64 -0
  33. package/src/__tests__/filter-condition.test.ts +285 -0
  34. package/src/__tests__/freecut-protocol.test.ts +35 -0
  35. package/src/__tests__/generate-text-items.test.ts +19 -0
  36. package/src/__tests__/generated-results.test.ts +50 -0
  37. package/src/__tests__/graph-utils.test.ts +618 -0
  38. package/src/__tests__/group-aggregation.test.ts +83 -0
  39. package/src/__tests__/i18n-locale-completeness.test.ts +156 -0
  40. package/src/__tests__/image-critic-node.test.ts +86 -0
  41. package/src/__tests__/image-mask-mode.test.ts +16 -0
  42. package/src/__tests__/image-ref-limit.test.ts +78 -0
  43. package/src/__tests__/inpaint-region.test.ts +24 -0
  44. package/src/__tests__/input-field-map-parity.test.ts +30 -0
  45. package/src/__tests__/json-evaluator.test.ts +289 -0
  46. package/src/__tests__/json-path.test.ts +64 -0
  47. package/src/__tests__/lip-sync-pricing.test.ts +142 -0
  48. package/src/__tests__/list-merge.test.ts +96 -0
  49. package/src/__tests__/list-sort.test.ts +134 -0
  50. package/src/__tests__/llm-models.test.ts +445 -0
  51. package/src/__tests__/location-mention-slug.test.ts +246 -0
  52. package/src/__tests__/locations-coverage-critic-schema.test.ts +92 -0
  53. package/src/__tests__/loop-delimiter.test.ts +39 -0
  54. package/src/__tests__/lottie-slots.test.ts +245 -0
  55. package/src/__tests__/model-catalog-flux2-resolutions.test.ts +21 -0
  56. package/src/__tests__/model-constants-location.test.ts +20 -0
  57. package/src/__tests__/model-constants.test.ts +122 -0
  58. package/src/__tests__/model-tree.test.ts +86 -0
  59. package/src/__tests__/no-internal-imports.test.ts +25 -0
  60. package/src/__tests__/node-default-mappings.test.ts +175 -0
  61. package/src/__tests__/node-mappable-fields.test.ts +7 -0
  62. package/src/__tests__/node-preset-export.test.ts +46 -0
  63. package/src/__tests__/node-preset-extract.test.ts +166 -0
  64. package/src/__tests__/node-refs-canonical.test.ts +54 -0
  65. package/src/__tests__/node-refs-combine.test.ts +54 -0
  66. package/src/__tests__/node-refs.test.ts +187 -0
  67. package/src/__tests__/node-runtime-keys.test.ts +99 -0
  68. package/src/__tests__/object-aspect-defaults.test.ts +59 -0
  69. package/src/__tests__/parameter-node-value.test.ts +137 -0
  70. package/src/__tests__/pinterest-url.test.ts +35 -0
  71. package/src/__tests__/pipeline-chat.test.ts +110 -0
  72. package/src/__tests__/pipeline-validation.test.ts +98 -0
  73. package/src/__tests__/presentation-utils.test.ts +1137 -0
  74. package/src/__tests__/producer-types.test.ts +47 -0
  75. package/src/__tests__/prompt-length-limits.test.ts +156 -0
  76. package/src/__tests__/provider-directive-defaults.test.ts +46 -0
  77. package/src/__tests__/reduce-strategy-registry.test.ts +43 -0
  78. package/src/__tests__/reference-board-templates.test.ts +33 -0
  79. package/src/__tests__/reference-roles.test.ts +36 -0
  80. package/src/__tests__/resolve-field-mappings.test.ts +110 -0
  81. package/src/__tests__/resolve-pipeline-model.test.ts +76 -0
  82. package/src/__tests__/scene-node-types.test.ts +80 -0
  83. package/src/__tests__/scraper-actors.test.ts +67 -0
  84. package/src/__tests__/seedance-2-catalog.test.ts +18 -0
  85. package/src/__tests__/seedance-2-credit-id.test.ts +23 -0
  86. package/src/__tests__/seedance-aspects.test.ts +52 -0
  87. package/src/__tests__/selector.test.ts +1151 -0
  88. package/src/__tests__/settled-with-limit.test.ts +214 -0
  89. package/src/__tests__/social-media-specs.test.ts +129 -0
  90. package/src/__tests__/sub-workflow-validation.test.ts +88 -0
  91. package/src/__tests__/switchx-pricing.test.ts +28 -0
  92. package/src/__tests__/to-connected-references.test.ts +153 -0
  93. package/src/__tests__/utilities.test.ts +541 -0
  94. package/src/__tests__/video-analysis-pricing.test.ts +58 -0
  95. package/src/__tests__/video-analysis.test.ts +63 -0
  96. package/src/__tests__/video-audio-capability.test.ts +204 -0
  97. package/src/__tests__/video-gen-providers.test.ts +28 -0
  98. package/src/__tests__/video-mode-aliases.test.ts +150 -0
  99. package/src/__tests__/video-ref-limits.test.ts +72 -0
  100. package/src/__tests__/video-utils.test.ts +303 -0
  101. package/src/__tests__/voice-changer-models.test.ts +33 -0
  102. package/src/__tests__/workflow-export-strip.test.ts +46 -0
  103. package/src/ai-avatar-pricing.ts +213 -0
  104. package/src/ancestor-refs.ts +48 -0
  105. package/src/animals.ts +231 -0
  106. package/src/audio-crossfade-curves.ts +73 -0
  107. package/src/audio-fx-presets.ts +64 -0
  108. package/src/avatar-payload-validators.ts +214 -0
  109. package/src/caption-styles.ts +31 -0
  110. package/src/character-aspect-defaults.ts +102 -0
  111. package/src/character-facets.ts +37 -0
  112. package/src/character-mention-slug.ts +166 -0
  113. package/src/character-usage-mode.ts +109 -0
  114. package/src/character-variant-assets.ts +121 -0
  115. package/src/character-voice.ts +151 -0
  116. package/src/cinematic-avatar-pricing.ts +111 -0
  117. package/src/clone-utils.ts +46 -0
  118. package/src/combine-transitions.ts +482 -0
  119. package/src/community.ts +112 -0
  120. package/src/component-types.ts +127 -0
  121. package/src/condition-variables.ts +65 -0
  122. package/src/credit-estimators/index.ts +15 -0
  123. package/src/credit-estimators/video-utils.ts +165 -0
  124. package/src/credit-identifiers.ts +304 -0
  125. package/src/entity-approval-types.ts +31 -0
  126. package/src/entity-aspect-defaults.ts +82 -0
  127. package/src/entity-asset-types.ts +296 -0
  128. package/src/entity-image-handle.ts +36 -0
  129. package/src/extra-refs.ts +139 -0
  130. package/src/featured-entities.ts +136 -0
  131. package/src/film-pricing.ts +117 -0
  132. package/src/filter-condition.ts +250 -0
  133. package/src/flux2-pricing.ts +18 -0
  134. package/src/freecut-protocol.ts +52 -0
  135. package/src/furniture.ts +167 -0
  136. package/src/generate-text-items.ts +15 -0
  137. package/src/generated-results.ts +63 -0
  138. package/src/group-aggregation.ts +75 -0
  139. package/src/hint-graph-types.ts +18 -0
  140. package/src/i18n/action-fx.ar.ts +89 -0
  141. package/src/i18n/action-fx.de.ts +89 -0
  142. package/src/i18n/action-fx.es.ts +89 -0
  143. package/src/i18n/action-fx.fr.ts +89 -0
  144. package/src/i18n/action-fx.he.ts +89 -0
  145. package/src/i18n/action-fx.hi.ts +89 -0
  146. package/src/i18n/action-fx.ja.ts +89 -0
  147. package/src/i18n/action-fx.ko.ts +89 -0
  148. package/src/i18n/action-fx.pt-BR.ts +89 -0
  149. package/src/i18n/action-fx.ru.ts +89 -0
  150. package/src/i18n/action-fx.zh-CN.ts +89 -0
  151. package/src/i18n/aesthetic.ar.ts +170 -0
  152. package/src/i18n/aesthetic.de.ts +48 -0
  153. package/src/i18n/aesthetic.es.ts +169 -0
  154. package/src/i18n/aesthetic.fr.ts +52 -0
  155. package/src/i18n/aesthetic.he.ts +169 -0
  156. package/src/i18n/aesthetic.hi.ts +55 -0
  157. package/src/i18n/aesthetic.ja.ts +165 -0
  158. package/src/i18n/aesthetic.ko.ts +169 -0
  159. package/src/i18n/aesthetic.pt-BR.ts +148 -0
  160. package/src/i18n/aesthetic.ru.ts +155 -0
  161. package/src/i18n/aesthetic.zh-CN.ts +172 -0
  162. package/src/i18n/animals.ar.ts +145 -0
  163. package/src/i18n/animals.de.ts +144 -0
  164. package/src/i18n/animals.es.ts +158 -0
  165. package/src/i18n/animals.fr.ts +144 -0
  166. package/src/i18n/animals.he.ts +155 -0
  167. package/src/i18n/animals.hi.ts +157 -0
  168. package/src/i18n/animals.ja.ts +159 -0
  169. package/src/i18n/animals.ko.ts +159 -0
  170. package/src/i18n/animals.pt-BR.ts +157 -0
  171. package/src/i18n/animals.ru.ts +155 -0
  172. package/src/i18n/animals.zh-CN.ts +155 -0
  173. package/src/i18n/atmosphere.ar.ts +49 -0
  174. package/src/i18n/atmosphere.de.ts +47 -0
  175. package/src/i18n/atmosphere.es.ts +50 -0
  176. package/src/i18n/atmosphere.fr.ts +47 -0
  177. package/src/i18n/atmosphere.he.ts +47 -0
  178. package/src/i18n/atmosphere.hi.ts +49 -0
  179. package/src/i18n/atmosphere.ja.ts +49 -0
  180. package/src/i18n/atmosphere.ko.ts +49 -0
  181. package/src/i18n/atmosphere.pt-BR.ts +49 -0
  182. package/src/i18n/atmosphere.ru.ts +47 -0
  183. package/src/i18n/atmosphere.zh-CN.ts +152 -0
  184. package/src/i18n/backdrop.ar.ts +53 -0
  185. package/src/i18n/backdrop.de.ts +46 -0
  186. package/src/i18n/backdrop.es.ts +54 -0
  187. package/src/i18n/backdrop.fr.ts +52 -0
  188. package/src/i18n/backdrop.he.ts +51 -0
  189. package/src/i18n/backdrop.hi.ts +59 -0
  190. package/src/i18n/backdrop.ja.ts +61 -0
  191. package/src/i18n/backdrop.ko.ts +59 -0
  192. package/src/i18n/backdrop.pt-BR.ts +59 -0
  193. package/src/i18n/backdrop.ru.ts +57 -0
  194. package/src/i18n/backdrop.zh-CN.ts +57 -0
  195. package/src/i18n/camera-format.ar.ts +40 -0
  196. package/src/i18n/camera-format.de.ts +37 -0
  197. package/src/i18n/camera-format.es.ts +41 -0
  198. package/src/i18n/camera-format.fr.ts +37 -0
  199. package/src/i18n/camera-format.he.ts +37 -0
  200. package/src/i18n/camera-format.hi.ts +42 -0
  201. package/src/i18n/camera-format.ja.ts +37 -0
  202. package/src/i18n/camera-format.ko.ts +37 -0
  203. package/src/i18n/camera-format.pt-BR.ts +46 -0
  204. package/src/i18n/camera-format.ru.ts +42 -0
  205. package/src/i18n/camera-format.zh-CN.ts +42 -0
  206. package/src/i18n/camera-motions.ar.ts +86 -0
  207. package/src/i18n/camera-motions.de.ts +74 -0
  208. package/src/i18n/camera-motions.es.ts +86 -0
  209. package/src/i18n/camera-motions.fr.ts +86 -0
  210. package/src/i18n/camera-motions.he.ts +86 -0
  211. package/src/i18n/camera-motions.hi.ts +99 -0
  212. package/src/i18n/camera-motions.ja.ts +99 -0
  213. package/src/i18n/camera-motions.ko.ts +99 -0
  214. package/src/i18n/camera-motions.pt-BR.ts +99 -0
  215. package/src/i18n/camera-motions.ru.ts +99 -0
  216. package/src/i18n/camera-motions.zh-CN.ts +99 -0
  217. package/src/i18n/character-fx.ar.ts +72 -0
  218. package/src/i18n/character-fx.de.ts +72 -0
  219. package/src/i18n/character-fx.es.ts +72 -0
  220. package/src/i18n/character-fx.fr.ts +72 -0
  221. package/src/i18n/character-fx.he.ts +72 -0
  222. package/src/i18n/character-fx.hi.ts +72 -0
  223. package/src/i18n/character-fx.ja.ts +72 -0
  224. package/src/i18n/character-fx.ko.ts +72 -0
  225. package/src/i18n/character-fx.pt-BR.ts +72 -0
  226. package/src/i18n/character-fx.ru.ts +72 -0
  227. package/src/i18n/character-fx.zh-CN.ts +72 -0
  228. package/src/i18n/color-look.ar.ts +50 -0
  229. package/src/i18n/color-look.de.ts +47 -0
  230. package/src/i18n/color-look.es.ts +50 -0
  231. package/src/i18n/color-look.fr.ts +50 -0
  232. package/src/i18n/color-look.he.ts +49 -0
  233. package/src/i18n/color-look.hi.ts +52 -0
  234. package/src/i18n/color-look.ja.ts +54 -0
  235. package/src/i18n/color-look.ko.ts +54 -0
  236. package/src/i18n/color-look.pt-BR.ts +54 -0
  237. package/src/i18n/color-look.ru.ts +52 -0
  238. package/src/i18n/color-look.zh-CN.ts +53 -0
  239. package/src/i18n/composition-effects.ar.ts +26 -0
  240. package/src/i18n/composition-effects.de.ts +25 -0
  241. package/src/i18n/composition-effects.es.ts +27 -0
  242. package/src/i18n/composition-effects.fr.ts +25 -0
  243. package/src/i18n/composition-effects.he.ts +25 -0
  244. package/src/i18n/composition-effects.hi.ts +27 -0
  245. package/src/i18n/composition-effects.ja.ts +27 -0
  246. package/src/i18n/composition-effects.ko.ts +27 -0
  247. package/src/i18n/composition-effects.pt-BR.ts +25 -0
  248. package/src/i18n/composition-effects.ru.ts +82 -0
  249. package/src/i18n/composition-effects.zh-CN.ts +25 -0
  250. package/src/i18n/era.ar.ts +37 -0
  251. package/src/i18n/era.de.ts +34 -0
  252. package/src/i18n/era.es.ts +37 -0
  253. package/src/i18n/era.fr.ts +37 -0
  254. package/src/i18n/era.he.ts +36 -0
  255. package/src/i18n/era.hi.ts +39 -0
  256. package/src/i18n/era.ja.ts +41 -0
  257. package/src/i18n/era.ko.ts +39 -0
  258. package/src/i18n/era.pt-BR.ts +41 -0
  259. package/src/i18n/era.ru.ts +121 -0
  260. package/src/i18n/era.zh-CN.ts +39 -0
  261. package/src/i18n/exposure-settings.ar.ts +28 -0
  262. package/src/i18n/exposure-settings.de.ts +26 -0
  263. package/src/i18n/exposure-settings.es.ts +28 -0
  264. package/src/i18n/exposure-settings.fr.ts +29 -0
  265. package/src/i18n/exposure-settings.he.ts +28 -0
  266. package/src/i18n/exposure-settings.hi.ts +31 -0
  267. package/src/i18n/exposure-settings.ja.ts +31 -0
  268. package/src/i18n/exposure-settings.ko.ts +31 -0
  269. package/src/i18n/exposure-settings.pt-BR.ts +31 -0
  270. package/src/i18n/exposure-settings.ru.ts +31 -0
  271. package/src/i18n/exposure-settings.zh-CN.ts +31 -0
  272. package/src/i18n/framing.ar.ts +78 -0
  273. package/src/i18n/framing.de.ts +73 -0
  274. package/src/i18n/framing.es.ts +78 -0
  275. package/src/i18n/framing.fr.ts +78 -0
  276. package/src/i18n/framing.he.ts +77 -0
  277. package/src/i18n/framing.hi.ts +82 -0
  278. package/src/i18n/framing.ja.ts +84 -0
  279. package/src/i18n/framing.ko.ts +82 -0
  280. package/src/i18n/framing.pt-BR.ts +84 -0
  281. package/src/i18n/framing.ru.ts +82 -0
  282. package/src/i18n/framing.zh-CN.ts +82 -0
  283. package/src/i18n/furniture.ar.ts +92 -0
  284. package/src/i18n/furniture.de.ts +93 -0
  285. package/src/i18n/furniture.es.ts +101 -0
  286. package/src/i18n/furniture.fr.ts +93 -0
  287. package/src/i18n/furniture.he.ts +101 -0
  288. package/src/i18n/furniture.hi.ts +101 -0
  289. package/src/i18n/furniture.ja.ts +101 -0
  290. package/src/i18n/furniture.ko.ts +101 -0
  291. package/src/i18n/furniture.pt-BR.ts +101 -0
  292. package/src/i18n/furniture.ru.ts +101 -0
  293. package/src/i18n/furniture.zh-CN.ts +101 -0
  294. package/src/i18n/held-prop.ar.ts +74 -0
  295. package/src/i18n/held-prop.de.ts +65 -0
  296. package/src/i18n/held-prop.es.ts +83 -0
  297. package/src/i18n/held-prop.fr.ts +74 -0
  298. package/src/i18n/held-prop.he.ts +73 -0
  299. package/src/i18n/held-prop.hi.ts +82 -0
  300. package/src/i18n/held-prop.ja.ts +84 -0
  301. package/src/i18n/held-prop.ko.ts +84 -0
  302. package/src/i18n/held-prop.pt-BR.ts +84 -0
  303. package/src/i18n/held-prop.ru.ts +82 -0
  304. package/src/i18n/held-prop.zh-CN.ts +82 -0
  305. package/src/i18n/index.ts +208 -0
  306. package/src/i18n/instrumentation.ar.ts +195 -0
  307. package/src/i18n/instrumentation.de.ts +195 -0
  308. package/src/i18n/instrumentation.es.ts +195 -0
  309. package/src/i18n/instrumentation.fr.ts +195 -0
  310. package/src/i18n/instrumentation.he.ts +195 -0
  311. package/src/i18n/instrumentation.hi.ts +195 -0
  312. package/src/i18n/instrumentation.ja.ts +195 -0
  313. package/src/i18n/instrumentation.ko.ts +195 -0
  314. package/src/i18n/instrumentation.pt-BR.ts +195 -0
  315. package/src/i18n/instrumentation.ru.ts +195 -0
  316. package/src/i18n/instrumentation.zh-CN.ts +195 -0
  317. package/src/i18n/lens.ar.ts +24 -0
  318. package/src/i18n/lens.de.ts +24 -0
  319. package/src/i18n/lens.es.ts +24 -0
  320. package/src/i18n/lens.fr.ts +24 -0
  321. package/src/i18n/lens.he.ts +24 -0
  322. package/src/i18n/lens.hi.ts +24 -0
  323. package/src/i18n/lens.ja.ts +24 -0
  324. package/src/i18n/lens.ko.ts +24 -0
  325. package/src/i18n/lens.pt-BR.ts +24 -0
  326. package/src/i18n/lens.ru.ts +25 -0
  327. package/src/i18n/lens.zh-CN.ts +24 -0
  328. package/src/i18n/lighting.ar.ts +86 -0
  329. package/src/i18n/lighting.de.ts +84 -0
  330. package/src/i18n/lighting.es.ts +89 -0
  331. package/src/i18n/lighting.fr.ts +84 -0
  332. package/src/i18n/lighting.he.ts +88 -0
  333. package/src/i18n/lighting.hi.ts +90 -0
  334. package/src/i18n/lighting.ja.ts +90 -0
  335. package/src/i18n/lighting.ko.ts +90 -0
  336. package/src/i18n/lighting.pt-BR.ts +90 -0
  337. package/src/i18n/lighting.ru.ts +88 -0
  338. package/src/i18n/lighting.zh-CN.ts +92 -0
  339. package/src/i18n/loop-subject.ar.ts +39 -0
  340. package/src/i18n/loop-subject.de.ts +39 -0
  341. package/src/i18n/loop-subject.es.ts +39 -0
  342. package/src/i18n/loop-subject.fr.ts +39 -0
  343. package/src/i18n/loop-subject.he.ts +39 -0
  344. package/src/i18n/loop-subject.hi.ts +39 -0
  345. package/src/i18n/loop-subject.ja.ts +39 -0
  346. package/src/i18n/loop-subject.ko.ts +39 -0
  347. package/src/i18n/loop-subject.pt-BR.ts +39 -0
  348. package/src/i18n/loop-subject.ru.ts +39 -0
  349. package/src/i18n/loop-subject.zh-CN.ts +39 -0
  350. package/src/i18n/materials.ar.ts +80 -0
  351. package/src/i18n/materials.de.ts +80 -0
  352. package/src/i18n/materials.es.ts +87 -0
  353. package/src/i18n/materials.fr.ts +80 -0
  354. package/src/i18n/materials.he.ts +86 -0
  355. package/src/i18n/materials.hi.ts +86 -0
  356. package/src/i18n/materials.ja.ts +88 -0
  357. package/src/i18n/materials.ko.ts +88 -0
  358. package/src/i18n/materials.pt-BR.ts +88 -0
  359. package/src/i18n/materials.ru.ts +86 -0
  360. package/src/i18n/materials.zh-CN.ts +86 -0
  361. package/src/i18n/mood.ar.ts +61 -0
  362. package/src/i18n/mood.de.ts +61 -0
  363. package/src/i18n/mood.es.ts +66 -0
  364. package/src/i18n/mood.fr.ts +61 -0
  365. package/src/i18n/mood.he.ts +64 -0
  366. package/src/i18n/mood.hi.ts +66 -0
  367. package/src/i18n/mood.ja.ts +66 -0
  368. package/src/i18n/mood.ko.ts +66 -0
  369. package/src/i18n/mood.pt-BR.ts +64 -0
  370. package/src/i18n/mood.ru.ts +64 -0
  371. package/src/i18n/mood.zh-CN.ts +64 -0
  372. package/src/i18n/music-genre.ar.ts +302 -0
  373. package/src/i18n/music-genre.de.ts +302 -0
  374. package/src/i18n/music-genre.es.ts +302 -0
  375. package/src/i18n/music-genre.fr.ts +302 -0
  376. package/src/i18n/music-genre.he.ts +302 -0
  377. package/src/i18n/music-genre.hi.ts +302 -0
  378. package/src/i18n/music-genre.ja.ts +302 -0
  379. package/src/i18n/music-genre.ko.ts +302 -0
  380. package/src/i18n/music-genre.pt-BR.ts +302 -0
  381. package/src/i18n/music-genre.ru.ts +302 -0
  382. package/src/i18n/music-genre.zh-CN.ts +302 -0
  383. package/src/i18n/music-mood.ar.ts +75 -0
  384. package/src/i18n/music-mood.de.ts +75 -0
  385. package/src/i18n/music-mood.es.ts +75 -0
  386. package/src/i18n/music-mood.fr.ts +75 -0
  387. package/src/i18n/music-mood.he.ts +75 -0
  388. package/src/i18n/music-mood.hi.ts +75 -0
  389. package/src/i18n/music-mood.ja.ts +75 -0
  390. package/src/i18n/music-mood.ko.ts +75 -0
  391. package/src/i18n/music-mood.pt-BR.ts +75 -0
  392. package/src/i18n/music-mood.ru.ts +75 -0
  393. package/src/i18n/music-mood.zh-CN.ts +75 -0
  394. package/src/i18n/person.ar.ts +638 -0
  395. package/src/i18n/person.de.ts +629 -0
  396. package/src/i18n/person.es.ts +645 -0
  397. package/src/i18n/person.fr.ts +621 -0
  398. package/src/i18n/person.he.ts +656 -0
  399. package/src/i18n/person.hi.ts +654 -0
  400. package/src/i18n/person.ja.ts +662 -0
  401. package/src/i18n/person.ko.ts +662 -0
  402. package/src/i18n/person.pt-BR.ts +656 -0
  403. package/src/i18n/person.ru.ts +656 -0
  404. package/src/i18n/person.zh-CN.ts +656 -0
  405. package/src/i18n/photo-genre.ar.ts +58 -0
  406. package/src/i18n/photo-genre.de.ts +52 -0
  407. package/src/i18n/photo-genre.es.ts +64 -0
  408. package/src/i18n/photo-genre.fr.ts +58 -0
  409. package/src/i18n/photo-genre.he.ts +62 -0
  410. package/src/i18n/photo-genre.hi.ts +63 -0
  411. package/src/i18n/photo-genre.ja.ts +65 -0
  412. package/src/i18n/photo-genre.ko.ts +63 -0
  413. package/src/i18n/photo-genre.pt-BR.ts +65 -0
  414. package/src/i18n/photo-genre.ru.ts +63 -0
  415. package/src/i18n/photo-genre.zh-CN.ts +63 -0
  416. package/src/i18n/photographer.ar.ts +75 -0
  417. package/src/i18n/photographer.de.ts +74 -0
  418. package/src/i18n/photographer.es.ts +77 -0
  419. package/src/i18n/photographer.fr.ts +77 -0
  420. package/src/i18n/photographer.he.ts +78 -0
  421. package/src/i18n/photographer.hi.ts +80 -0
  422. package/src/i18n/photographer.ja.ts +84 -0
  423. package/src/i18n/photographer.ko.ts +84 -0
  424. package/src/i18n/photographer.pt-BR.ts +83 -0
  425. package/src/i18n/photographer.ru.ts +78 -0
  426. package/src/i18n/photographer.zh-CN.ts +78 -0
  427. package/src/i18n/pose.ar.ts +95 -0
  428. package/src/i18n/pose.de.ts +96 -0
  429. package/src/i18n/pose.es.ts +104 -0
  430. package/src/i18n/pose.fr.ts +96 -0
  431. package/src/i18n/pose.he.ts +104 -0
  432. package/src/i18n/pose.hi.ts +104 -0
  433. package/src/i18n/pose.ja.ts +104 -0
  434. package/src/i18n/pose.ko.ts +104 -0
  435. package/src/i18n/pose.pt-BR.ts +104 -0
  436. package/src/i18n/pose.ru.ts +104 -0
  437. package/src/i18n/pose.zh-CN.ts +104 -0
  438. package/src/i18n/post-process-effects.ar.ts +25 -0
  439. package/src/i18n/post-process-effects.de.ts +24 -0
  440. package/src/i18n/post-process-effects.es.ts +26 -0
  441. package/src/i18n/post-process-effects.fr.ts +24 -0
  442. package/src/i18n/post-process-effects.he.ts +24 -0
  443. package/src/i18n/post-process-effects.hi.ts +26 -0
  444. package/src/i18n/post-process-effects.ja.ts +26 -0
  445. package/src/i18n/post-process-effects.ko.ts +26 -0
  446. package/src/i18n/post-process-effects.pt-BR.ts +24 -0
  447. package/src/i18n/post-process-effects.ru.ts +24 -0
  448. package/src/i18n/post-process-effects.zh-CN.ts +24 -0
  449. package/src/i18n/render-quality.ar.ts +34 -0
  450. package/src/i18n/render-quality.de.ts +30 -0
  451. package/src/i18n/render-quality.es.ts +35 -0
  452. package/src/i18n/render-quality.fr.ts +34 -0
  453. package/src/i18n/render-quality.he.ts +33 -0
  454. package/src/i18n/render-quality.hi.ts +39 -0
  455. package/src/i18n/render-quality.ja.ts +39 -0
  456. package/src/i18n/render-quality.ko.ts +39 -0
  457. package/src/i18n/render-quality.pt-BR.ts +37 -0
  458. package/src/i18n/render-quality.ru.ts +37 -0
  459. package/src/i18n/render-quality.zh-CN.ts +37 -0
  460. package/src/i18n/seasons.ar.ts +10 -0
  461. package/src/i18n/seasons.de.ts +10 -0
  462. package/src/i18n/seasons.es.ts +10 -0
  463. package/src/i18n/seasons.fr.ts +10 -0
  464. package/src/i18n/seasons.he.ts +10 -0
  465. package/src/i18n/seasons.hi.ts +10 -0
  466. package/src/i18n/seasons.ja.ts +10 -0
  467. package/src/i18n/seasons.ko.ts +10 -0
  468. package/src/i18n/seasons.pt-BR.ts +10 -0
  469. package/src/i18n/seasons.ru.ts +10 -0
  470. package/src/i18n/seasons.zh-CN.ts +10 -0
  471. package/src/i18n/setting.ar.ts +73 -0
  472. package/src/i18n/setting.de.ts +73 -0
  473. package/src/i18n/setting.es.ts +77 -0
  474. package/src/i18n/setting.fr.ts +73 -0
  475. package/src/i18n/setting.he.ts +76 -0
  476. package/src/i18n/setting.hi.ts +76 -0
  477. package/src/i18n/setting.ja.ts +78 -0
  478. package/src/i18n/setting.ko.ts +76 -0
  479. package/src/i18n/setting.pt-BR.ts +78 -0
  480. package/src/i18n/setting.ru.ts +76 -0
  481. package/src/i18n/setting.zh-CN.ts +76 -0
  482. package/src/i18n/style.ar.ts +55 -0
  483. package/src/i18n/style.de.ts +54 -0
  484. package/src/i18n/style.es.ts +54 -0
  485. package/src/i18n/style.fr.ts +54 -0
  486. package/src/i18n/style.he.ts +54 -0
  487. package/src/i18n/style.hi.ts +54 -0
  488. package/src/i18n/style.ja.ts +54 -0
  489. package/src/i18n/style.ko.ts +54 -0
  490. package/src/i18n/style.pt-BR.ts +56 -0
  491. package/src/i18n/style.ru.ts +54 -0
  492. package/src/i18n/style.zh-CN.ts +54 -0
  493. package/src/i18n/styling.ar.ts +295 -0
  494. package/src/i18n/styling.de.ts +285 -0
  495. package/src/i18n/styling.es.ts +317 -0
  496. package/src/i18n/styling.fr.ts +285 -0
  497. package/src/i18n/styling.he.ts +307 -0
  498. package/src/i18n/styling.hi.ts +323 -0
  499. package/src/i18n/styling.ja.ts +317 -0
  500. package/src/i18n/styling.ko.ts +311 -0
  501. package/src/i18n/styling.pt-BR.ts +301 -0
  502. package/src/i18n/styling.ru.ts +301 -0
  503. package/src/i18n/styling.zh-CN.ts +307 -0
  504. package/src/i18n/temporal.ar.ts +31 -0
  505. package/src/i18n/temporal.de.ts +24 -0
  506. package/src/i18n/temporal.es.ts +27 -0
  507. package/src/i18n/temporal.fr.ts +28 -0
  508. package/src/i18n/temporal.he.ts +31 -0
  509. package/src/i18n/temporal.hi.ts +31 -0
  510. package/src/i18n/temporal.ja.ts +31 -0
  511. package/src/i18n/temporal.ko.ts +31 -0
  512. package/src/i18n/temporal.pt-BR.ts +31 -0
  513. package/src/i18n/temporal.ru.ts +31 -0
  514. package/src/i18n/temporal.zh-CN.ts +31 -0
  515. package/src/i18n/transitions.ar.ts +97 -0
  516. package/src/i18n/transitions.de.ts +97 -0
  517. package/src/i18n/transitions.es.ts +97 -0
  518. package/src/i18n/transitions.fr.ts +97 -0
  519. package/src/i18n/transitions.he.ts +97 -0
  520. package/src/i18n/transitions.hi.ts +97 -0
  521. package/src/i18n/transitions.ja.ts +97 -0
  522. package/src/i18n/transitions.ko.ts +97 -0
  523. package/src/i18n/transitions.pt-BR.ts +97 -0
  524. package/src/i18n/transitions.ru.ts +97 -0
  525. package/src/i18n/transitions.zh-CN.ts +97 -0
  526. package/src/i18n/types.ts +158 -0
  527. package/src/i18n/vehicles.ar.ts +137 -0
  528. package/src/i18n/vehicles.de.ts +125 -0
  529. package/src/i18n/vehicles.es.ts +138 -0
  530. package/src/i18n/vehicles.fr.ts +125 -0
  531. package/src/i18n/vehicles.he.ts +136 -0
  532. package/src/i18n/vehicles.hi.ts +138 -0
  533. package/src/i18n/vehicles.ja.ts +138 -0
  534. package/src/i18n/vehicles.ko.ts +138 -0
  535. package/src/i18n/vehicles.pt-BR.ts +136 -0
  536. package/src/i18n/vehicles.ru.ts +136 -0
  537. package/src/i18n/vehicles.zh-CN.ts +136 -0
  538. package/src/i18n/voice-character.ar.ts +126 -0
  539. package/src/i18n/voice-character.de.ts +126 -0
  540. package/src/i18n/voice-character.es.ts +126 -0
  541. package/src/i18n/voice-character.fr.ts +126 -0
  542. package/src/i18n/voice-character.he.ts +126 -0
  543. package/src/i18n/voice-character.hi.ts +126 -0
  544. package/src/i18n/voice-character.ja.ts +126 -0
  545. package/src/i18n/voice-character.ko.ts +126 -0
  546. package/src/i18n/voice-character.pt-BR.ts +126 -0
  547. package/src/i18n/voice-character.ru.ts +126 -0
  548. package/src/i18n/voice-character.zh-CN.ts +126 -0
  549. package/src/i18n/voice-delivery.ar.ts +77 -0
  550. package/src/i18n/voice-delivery.de.ts +77 -0
  551. package/src/i18n/voice-delivery.es.ts +77 -0
  552. package/src/i18n/voice-delivery.fr.ts +77 -0
  553. package/src/i18n/voice-delivery.he.ts +77 -0
  554. package/src/i18n/voice-delivery.hi.ts +77 -0
  555. package/src/i18n/voice-delivery.ja.ts +77 -0
  556. package/src/i18n/voice-delivery.ko.ts +77 -0
  557. package/src/i18n/voice-delivery.pt-BR.ts +77 -0
  558. package/src/i18n/voice-delivery.ru.ts +77 -0
  559. package/src/i18n/voice-delivery.zh-CN.ts +77 -0
  560. package/src/i18n/weapons.ar.ts +115 -0
  561. package/src/i18n/weapons.de.ts +114 -0
  562. package/src/i18n/weapons.es.ts +116 -0
  563. package/src/i18n/weapons.fr.ts +103 -0
  564. package/src/i18n/weapons.he.ts +114 -0
  565. package/src/i18n/weapons.hi.ts +116 -0
  566. package/src/i18n/weapons.ja.ts +116 -0
  567. package/src/i18n/weapons.ko.ts +116 -0
  568. package/src/i18n/weapons.pt-BR.ts +114 -0
  569. package/src/i18n/weapons.ru.ts +114 -0
  570. package/src/i18n/weapons.zh-CN.ts +114 -0
  571. package/src/image-critic-node.ts +61 -0
  572. package/src/image-critic-types.ts +40 -0
  573. package/src/index.ts +866 -0
  574. package/src/inject-upstream.ts +15 -0
  575. package/src/inpaint-region.ts +51 -0
  576. package/src/json-evaluator.ts +732 -0
  577. package/src/json-path.ts +52 -0
  578. package/src/lip-sync-pricing.ts +90 -0
  579. package/src/list-merge.ts +40 -0
  580. package/src/list-sort.ts +122 -0
  581. package/src/list-source-resolver.ts +50 -0
  582. package/src/llm-models.ts +245 -0
  583. package/src/location-mention-slug.ts +291 -0
  584. package/src/location-preset-catalog-map.ts +128 -0
  585. package/src/loop-delimiter.ts +73 -0
  586. package/src/lora-routing.ts +95 -0
  587. package/src/lottie-overlay-catalog.ts +175 -0
  588. package/src/lottie-slots.ts +309 -0
  589. package/src/model-catalog.ts +2386 -0
  590. package/src/model-constants.ts +1910 -0
  591. package/src/model-tree.ts +120 -0
  592. package/src/monetization.ts +15 -0
  593. package/src/multi-pick.ts +42 -0
  594. package/src/node-default-mappings.ts +262 -0
  595. package/src/node-mappable-fields.ts +70 -0
  596. package/src/node-preset-export.ts +56 -0
  597. package/src/node-preset-extract.ts +147 -0
  598. package/src/node-refs.ts +253 -0
  599. package/src/node-runtime-keys.ts +117 -0
  600. package/src/object-aspect-defaults.ts +72 -0
  601. package/src/object-picker-types.ts +22 -0
  602. package/src/parameter-node-value.ts +284 -0
  603. package/src/pinterest-url.ts +28 -0
  604. package/src/pipeline-chat.ts +72 -0
  605. package/src/pipeline-defaults.ts +318 -0
  606. package/src/pipeline-events.ts +162 -0
  607. package/src/pipeline-state-types.ts +196 -0
  608. package/src/pipeline-types.ts +647 -0
  609. package/src/pipeline-validation.ts +87 -0
  610. package/src/presentation-types.ts +23 -0
  611. package/src/presentation-utils.ts +397 -0
  612. package/src/producer-types.ts +188 -0
  613. package/src/progress-curve.ts +99 -0
  614. package/src/provider-directive-defaults.ts +69 -0
  615. package/src/reduce-strategy-registry.ts +121 -0
  616. package/src/reference-board-templates.ts +81 -0
  617. package/src/reference-roles.ts +153 -0
  618. package/src/reference-sheet/__tests__/board-to-column.test.ts +20 -0
  619. package/src/reference-sheet/__tests__/catalog.test.ts +50 -0
  620. package/src/reference-sheet/__tests__/cost.test.ts +38 -0
  621. package/src/reference-sheet/__tests__/no-drift.test.ts +28 -0
  622. package/src/reference-sheet/__tests__/panel-plan.test.ts +61 -0
  623. package/src/reference-sheet/__tests__/panel-prompts.test.ts +17 -0
  624. package/src/reference-sheet/__tests__/plan-generation.test.ts +72 -0
  625. package/src/reference-sheet/__tests__/presets.test.ts +54 -0
  626. package/src/reference-sheet/__tests__/types.test.ts +24 -0
  627. package/src/reference-sheet/catalog.ts +144 -0
  628. package/src/reference-sheet/cost.ts +37 -0
  629. package/src/reference-sheet/credit-id.ts +7 -0
  630. package/src/reference-sheet/index.ts +8 -0
  631. package/src/reference-sheet/panel-plan.ts +65 -0
  632. package/src/reference-sheet/panel-prompts.ts +14 -0
  633. package/src/reference-sheet/plan-generation.ts +79 -0
  634. package/src/reference-sheet/presets.ts +77 -0
  635. package/src/reference-sheet/types.ts +92 -0
  636. package/src/repeat-types.ts +97 -0
  637. package/src/resolve-field-mappings.ts +119 -0
  638. package/src/route-filter.ts +80 -0
  639. package/src/scene-helper-types.ts +249 -0
  640. package/src/scene-node-types.ts +281 -0
  641. package/src/scraper-actors.ts +57 -0
  642. package/src/scraper-output-schemas.ts +25 -0
  643. package/src/seasons.ts +45 -0
  644. package/src/selector.ts +864 -0
  645. package/src/settled-with-limit.ts +42 -0
  646. package/src/shot-element.ts +43 -0
  647. package/src/social-media-specs.ts +121 -0
  648. package/src/social-post.ts +24 -0
  649. package/src/sub-workflow-validation.ts +78 -0
  650. package/src/supported-fonts.ts +40 -0
  651. package/src/surround.ts +113 -0
  652. package/src/switchx-pricing.ts +33 -0
  653. package/src/text-separators.ts +59 -0
  654. package/src/to-connected-references.ts +77 -0
  655. package/src/types.ts +272 -0
  656. package/src/variant-job-id.ts +17 -0
  657. package/src/vehicles.ts +213 -0
  658. package/src/video-analysis-pricing.ts +74 -0
  659. package/src/video-analysis.ts +127 -0
  660. package/src/video-duration.ts +25 -0
  661. package/src/voice-changer-models.ts +36 -0
  662. package/src/voice-matcher-types.ts +37 -0
  663. package/src/voices.ts +92 -0
  664. package/src/weapons.ts +190 -0
  665. package/src/workflow-export.ts +153 -0
@@ -0,0 +1,104 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // Standing
5
+ "standing-upright": { label: "直立", description: "リラックスした立ち姿勢" },
6
+ "confident-stance": { label: "自信に満ちた構え", description: "足を開き、肩を引いた姿勢" },
7
+ "hands-on-hips": { label: "腰に手", description: "腰に手を当てる" },
8
+ "arms-crossed": { label: "腕組み", description: "胸の前で腕を組む" },
9
+ "leaning": { label: "もたれる", description: "何かにもたれかかる" },
10
+ "hero-pose": { label: "ヒーローポーズ", description: "劇的で英雄的な構え" },
11
+ "contrapposto": { label: "コントラポスト", description: "腰を傾け、片脚に体重を乗せる" },
12
+ "leaning-against-wall": { label: "壁にもたれる", description: "壁にカジュアルにもたれる" },
13
+ "hands-behind-head": { label: "頭の後ろで手", description: "両手を頭の後ろで組む" },
14
+ "hands-behind-back": { label: "背中で手", description: "両手を背中で組む" },
15
+
16
+ // Seated
17
+ "sitting": { label: "座る", description: "自然に座る" },
18
+ "cross-legged": { label: "あぐら", description: "床にあぐらをかいて座る" },
19
+ "kneeling": { label: "膝立ち", description: "膝をついて座る" },
20
+ "crouching": { label: "しゃがむ", description: "低くしゃがむ" },
21
+ "lounging": { label: "ラウンジング", description: "リラックスして寄りかかる座り方" },
22
+ "sitting-edge-of-bed": { label: "ベッドの端に座る", description: "ベッドの端に腰掛ける" },
23
+ "chair-arm-drape": { label: "椅子の肘掛けに脚を投げ出す", description: "椅子の肘掛けに脚を投げかける" },
24
+ "elbow-propped": { label: "肘で頬を支える", description: "肘で頬を支える" },
25
+ "lying-on-stomach-reading": { label: "うつ伏せで読書", description: "うつ伏せで肘をつき読書" },
26
+
27
+ // Movement
28
+ "walking": { label: "歩く", description: "歩いている途中" },
29
+ "running": { label: "走る", description: "走っている途中、動きの中で" },
30
+ "jumping": { label: "ジャンプ", description: "宙に浮いた、ジャンプの途中" },
31
+ "dancing": { label: "踊る", description: "踊っている途中" },
32
+ "climbing": { label: "登る", description: "登っている、上方を掴む" },
33
+ "mid-fall": { label: "落下中", description: "宙を落下する途中" },
34
+ "mid-spin": { label: "回転中", description: "くるくる回転する途中" },
35
+ "stretching": { label: "ストレッチ", description: "全身を伸ばすストレッチ、両腕を頭上に" },
36
+ "reaching-up": { label: "上に手を伸ばす", description: "両腕を頭上に伸ばす" },
37
+ "kissing": { label: "キス", description: "キスをしている" },
38
+ "riding": { label: "乗る", description: "自転車、馬、バイクに乗る" },
39
+ "driving": { label: "運転", description: "車のハンドルを握る" },
40
+
41
+ // Action
42
+ "fighting-stance": { label: "戦闘姿勢", description: "戦闘準備の構え" },
43
+ "reaching": { label: "手を伸ばす", description: "外側へ手を伸ばす" },
44
+ "throwing": { label: "投げる", description: "投げる動作の途中" },
45
+ "leaping": { label: "跳ぶ", description: "ダイナミックに前へ跳ぶ" },
46
+ "dramatic-action": { label: "劇的なアクション", description: "誇張されたアクションポーズ" },
47
+ "biting-lip": { label: "唇を噛む", description: "わずかに遊び心ある唇噛み" },
48
+ "mid-laugh": { label: "笑いの途中", description: "頭を後ろに笑っている途中" },
49
+ "pointing-at-camera": { label: "カメラを指差す", description: "カメラに向かって指差す" },
50
+ "tongue-out": { label: "舌を出す", description: "遊び心ある舌出し表情" },
51
+ "thinking": { label: "考える", description: "顎に手、思案中" },
52
+
53
+ // Resting
54
+ "lying-down": { label: "横たわる", description: "平らに横たわる" },
55
+ "sleeping": { label: "眠る", description: "目を閉じて眠る" },
56
+ "hugging": { label: "ハグ", description: "他の人を抱きしめる" },
57
+ "looking-away": { label: "視線をそらす", description: "頭を向け、視線をそらす" },
58
+ "looking-up": { label: "上を見る", description: "空を見上げる" },
59
+ "looking-down": { label: "下を見る", description: "目を伏せる" },
60
+ "head-over-shoulder": { label: "肩越しに振り返る", description: "肩越しに振り返って見る" },
61
+ "wading-in-water": { label: "水中を歩く", description: "太もも中ほどまで水に浸かって歩く" },
62
+
63
+ // Hand position
64
+ "hands-in-pockets": { label: "ポケットに手", description: "両手をポケットに入れる" },
65
+ "hand-on-hip": { label: "腰に片手", description: "片手を腰に当てる" },
66
+ "hand-position-hands-on-hips": { label: "両手を腰に", description: "両手を腰に当てる" },
67
+ "hand-on-chin": { label: "顎に手", description: "顎の下に手を添える" },
68
+ "hand-on-collarbone": { label: "鎖骨に手", description: "鎖骨に手を添える" },
69
+ "hand-brushing-hair": { label: "髪に手を通す", description: "髪に手を通す" },
70
+ "finger-to-lip": { label: "指を唇に", description: "指先を下唇に押し当てる" },
71
+ "arms-wrapped-around-self": { label: "自分を抱きしめる", description: "腕を胴体に巻き付ける自己ハグ" },
72
+ "hands-clasped": { label: "手を組む", description: "両手を前で組む" },
73
+
74
+ // Body lean
75
+ "leaning-back": { label: "後ろにもたれる", description: "胴がわずかに後ろに傾く" },
76
+ "leaning-forward": { label: "前に身を乗り出す", description: "胴がカメラへ前傾する" },
77
+ "body-lean-contrapposto": { label: "コントラポスト", description: "片脚に体重、片方の腰を突き出す" },
78
+ "arched-back": { label: "背中をそらす", description: "背中を緩やかにそらし、胸を前へ" },
79
+ "shoulder-rolled-forward": { label: "片肩を前に丸める", description: "片方の肩を前に丸める" },
80
+
81
+ // Head tilt
82
+ "tilted-up": { label: "上向き", description: "頭をわずかに上に傾ける" },
83
+ "tilted-down": { label: "下向き", description: "頭をわずかに下に傾ける" },
84
+ "tilted-side": { label: "横傾け", description: "頭を片方の肩に傾ける" },
85
+ "tilted-back": { label: "後ろ向き", description: "頭を完全に後ろへ、喉を露わに" },
86
+ "chin-up": { label: "顎を上げる", description: "顎を上げ、鼻先を見下ろす" },
87
+ "chin-tucked": { label: "顎を引く", description: "顎を胸へ引く" },
88
+
89
+ // Activity
90
+ "activity-smoking": { label: "喫煙", description: "タバコを持って吸う" },
91
+ "activity-drinking": { label: "飲む", description: "グラスやカップから飲む" },
92
+ "activity-eating": { label: "食べる", description: "一口食べる途中" },
93
+ "activity-talking-on-phone": { label: "電話で話す", description: "耳に当てた電話で話す" },
94
+ "activity-texting": { label: "テキストを打つ", description: "下を見て電話、親指でタイピング" },
95
+ "activity-typing-laptop": { label: "ノートPCで打つ", description: "キーボードに手、画面に集中" },
96
+ "activity-reading": { label: "読書", description: "本や雑誌を開いて持つ" },
97
+ "activity-writing": { label: "書く", description: "ノートにペンで書く" },
98
+ "activity-painting": { label: "絵を描く", description: "キャンバスに筆で描く" },
99
+ "activity-playing-instrument": { label: "楽器を演奏", description: "楽器を演奏している" },
100
+ "activity-cooking": { label: "料理", description: "キッチンカウンターまたはコンロで料理" },
101
+ "activity-driving": { label: "運転", description: "ハンドルを握る、運転中" },
102
+ }
103
+
104
+ export default map
@@ -0,0 +1,104 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // Standing
5
+ "standing-upright": { label: "똑바로 서기", description: "편안하게 서 있는 자세입니다" },
6
+ "confident-stance": { label: "당당한 자세", description: "다리를 벌리고 어깨를 펼친 자세입니다" },
7
+ "hands-on-hips": { label: "허리에 손", description: "허리에 손을 올린 모습입니다" },
8
+ "arms-crossed": { label: "팔짱 끼기", description: "가슴에 팔을 교차한 자세입니다" },
9
+ "leaning": { label: "기대기", description: "무언가에 기대고 있습니다" },
10
+ "hero-pose": { label: "히어로 포즈", description: "극적인 영웅적 자세입니다" },
11
+ "contrapposto": { description: "엉덩이를 기울이고 한쪽 다리에 무게를 실은 자세입니다" },
12
+ "leaning-against-wall": { label: "벽에 기대기", description: "캐주얼하게 벽에 기댄 모습입니다" },
13
+ "hands-behind-head": { label: "머리 뒤에 손", description: "두 손을 머리 뒤에 깍지 낀 자세입니다" },
14
+ "hands-behind-back": { label: "등 뒤에 손", description: "두 손을 등 뒤에 깍지 낀 자세입니다" },
15
+
16
+ // Seated
17
+ "sitting": { label: "앉기", description: "자연스럽게 앉아 있는 모습입니다" },
18
+ "cross-legged": { label: "양반다리", description: "바닥에 양반다리로 앉은 자세입니다" },
19
+ "kneeling": { label: "무릎 꿇기", description: "땅에 무릎을 꿇은 자세입니다" },
20
+ "crouching": { label: "쪼그려 앉기", description: "낮게 쪼그려 앉은 자세입니다" },
21
+ "lounging": { label: "느긋하게 누워있기", description: "기댄 듯 편안하게 앉은 자세입니다" },
22
+ "sitting-edge-of-bed": { label: "침대 가장자리에 앉기", description: "침대 가장자리에 걸터앉은 모습입니다" },
23
+ "chair-arm-drape": { label: "의자 팔걸이에 다리 걸치기", description: "의자 팔걸이에 다리를 걸친 자세입니다" },
24
+ "elbow-propped": { label: "팔꿈치에 뺨", description: "팔꿈치에 뺨을 받친 자세입니다" },
25
+ "lying-on-stomach-reading": { label: "엎드려 책 읽기", description: "엎드려 팔꿈치를 받치고 책을 읽는 모습입니다" },
26
+
27
+ // Movement
28
+ "walking": { label: "걷기", description: "걸음 중간의 모습입니다" },
29
+ "running": { label: "달리기", description: "달리는 중, 동작 중간의 모습입니다" },
30
+ "jumping": { label: "점프하기", description: "공중에 떠 있는 점프 중간의 모습입니다" },
31
+ "dancing": { label: "춤추기", description: "춤추는 중간의 포착된 순간입니다" },
32
+ "climbing": { label: "오르기", description: "위로 잡고 오르는 모습입니다" },
33
+ "mid-fall": { label: "추락 중", description: "공중에서 떨어지는 중간의 모습입니다" },
34
+ "mid-spin": { label: "회전 중", description: "도는 중 회전 중간의 모습입니다" },
35
+ "stretching": { label: "스트레칭", description: "팔을 머리 위로 뻗는 풀 바디 스트레칭입니다" },
36
+ "reaching-up": { label: "위로 뻗기", description: "팔을 머리 위로 뻗은 모습입니다" },
37
+ "kissing": { label: "키스", description: "키스를 나누는 모습입니다" },
38
+ "riding": { label: "타기", description: "자전거, 말, 오토바이를 타는 모습입니다" },
39
+ "driving": { label: "운전", description: "차의 핸들을 잡고 운전하는 모습입니다" },
40
+
41
+ // Action
42
+ "fighting-stance": { label: "전투 자세", description: "전투 준비가 된 자세입니다" },
43
+ "reaching": { label: "손 뻗기", description: "바깥쪽으로 손을 뻗는 자세입니다" },
44
+ "throwing": { label: "던지기", description: "던지는 중간의 동작입니다" },
45
+ "leaping": { label: "도약", description: "역동적으로 앞으로 도약하는 모습입니다" },
46
+ "dramatic-action": { label: "드라마틱 액션", description: "과장된 액션 포즈입니다" },
47
+ "biting-lip": { label: "입술 깨물기", description: "장난스럽게 살짝 입술을 깨문 모습입니다" },
48
+ "mid-laugh": { label: "웃는 중", description: "고개를 젖히고 웃는 중간의 모습입니다" },
49
+ "pointing-at-camera": { label: "카메라 가리키기", description: "카메라를 직접 가리키는 모습입니다" },
50
+ "tongue-out": { label: "혀 내밀기", description: "장난스럽게 혀를 내민 표정입니다" },
51
+ "thinking": { label: "생각하기", description: "턱에 손을 대고 사색하는 자세입니다" },
52
+
53
+ // Resting
54
+ "lying-down": { label: "누워있기", description: "편평하게 누운 모습입니다" },
55
+ "sleeping": { label: "잠자기", description: "눈을 감고 잠든 모습입니다" },
56
+ "hugging": { label: "포옹", description: "다른 사람을 안은 모습입니다" },
57
+ "looking-away": { label: "다른 곳 보기", description: "고개를 돌려 다른 곳을 보는 모습입니다" },
58
+ "looking-up": { label: "위 보기", description: "하늘을 올려다보는 모습입니다" },
59
+ "looking-down": { label: "아래 보기", description: "시선을 떨군 모습입니다" },
60
+ "head-over-shoulder": { label: "어깨 너머로 보기", description: "어깨 너머로 돌아보는 모습입니다" },
61
+ "wading-in-water": { label: "물 속을 걷기", description: "허벅지 깊이의 물 속을 걷는 모습입니다" },
62
+
63
+ // Hand Position
64
+ "hands-in-pockets": { label: "주머니에 손", description: "두 손을 주머니에 넣은 모습입니다" },
65
+ "hand-on-hip": { label: "허리에 손", description: "한 손을 허리에 올린 모습입니다" },
66
+ "hand-position-hands-on-hips": { label: "허리에 양손", description: "두 손을 모두 허리에 올린 모습입니다" },
67
+ "hand-on-chin": { label: "턱에 손", description: "턱 아래에 손을 올린 모습입니다" },
68
+ "hand-on-collarbone": { label: "쇄골에 손", description: "쇄골에 손을 가볍게 올린 모습입니다" },
69
+ "hand-brushing-hair": { label: "머리 쓸어 넘기기", description: "손가락으로 머리를 쓸어 넘기는 모습입니다" },
70
+ "finger-to-lip": { label: "입술에 손가락", description: "손가락 끝을 아랫입술에 댄 모습입니다" },
71
+ "arms-wrapped-around-self": { label: "스스로를 감싸는 팔", description: "팔로 몸통을 감싸 안은 모습입니다" },
72
+ "hands-clasped": { label: "양손 모으기", description: "두 손을 앞에 모은 모습입니다" },
73
+
74
+ // Body Lean
75
+ "leaning-back": { label: "뒤로 기울이기", description: "상체를 살짝 뒤로 기울인 모습입니다" },
76
+ "leaning-forward": { label: "앞으로 기울이기", description: "카메라 쪽으로 상체를 기울인 모습입니다" },
77
+ "body-lean-contrapposto": { description: "한쪽 다리에 무게를 실고 한쪽 엉덩이를 내민 자세입니다" },
78
+ "arched-back": { label: "허리 젖히기", description: "허리를 부드럽게 아치 형태로 젖히고 가슴을 앞으로 내민 모습입니다" },
79
+ "shoulder-rolled-forward": { label: "어깨 앞으로 말기", description: "한쪽 어깨를 앞으로 말아 비대칭 자세를 취한 모습입니다" },
80
+
81
+ // Head Tilt
82
+ "tilted-up": { label: "위로 기울임", description: "고개를 살짝 위로 기울인 모습입니다" },
83
+ "tilted-down": { label: "아래로 기울임", description: "고개를 살짝 아래로 기울인 모습입니다" },
84
+ "tilted-side": { label: "옆으로 기울임", description: "어깨 쪽으로 고개를 기울인 모습입니다" },
85
+ "tilted-back": { label: "뒤로 젖힘", description: "고개를 완전히 뒤로 젖혀 목이 드러난 모습입니다" },
86
+ "chin-up": { label: "턱 들기", description: "턱을 들고 코끝으로 내려다보는 모습입니다" },
87
+ "chin-tucked": { label: "턱 당기기", description: "턱을 가슴 쪽으로 당긴 모습입니다" },
88
+
89
+ // Activity
90
+ "activity-smoking": { label: "흡연", description: "담배를 들고 피우는 모습입니다" },
91
+ "activity-drinking": { label: "마시기", description: "잔이나 컵에서 음료를 마시는 모습입니다" },
92
+ "activity-eating": { label: "먹기", description: "한 입 베어 무는 중간의 모습입니다" },
93
+ "activity-talking-on-phone": { label: "통화", description: "휴대폰을 귀에 대고 통화하는 모습입니다" },
94
+ "activity-texting": { label: "문자 보내기", description: "휴대폰을 보며 양손 엄지로 타이핑하는 모습입니다" },
95
+ "activity-typing-laptop": { label: "노트북 타이핑", description: "키보드에 손을 올리고 화면에 집중하는 모습입니다" },
96
+ "activity-reading": { label: "독서", description: "책이나 잡지를 펼쳐 들고 읽는 모습입니다" },
97
+ "activity-writing": { label: "글쓰기", description: "노트에 펜으로 글을 쓰는 모습입니다" },
98
+ "activity-painting": { label: "그림 그리기", description: "캔버스 위에 붓으로 그림을 그리는 모습입니다" },
99
+ "activity-playing-instrument": { label: "악기 연주", description: "악기를 연주하는 모습입니다" },
100
+ "activity-cooking": { label: "요리", description: "주방 카운터나 스토브에서 요리하는 모습입니다" },
101
+ "activity-driving": { label: "운전", description: "운전대를 잡고 운전하는 모습입니다" },
102
+ }
103
+
104
+ export default map
@@ -0,0 +1,104 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // Standing
5
+ "standing-upright": { label: "Em Pé Reto", description: "Postura ereta e relaxada" },
6
+ "confident-stance": { label: "Postura Confiante", description: "Pés afastados, ombros para trás" },
7
+ "hands-on-hips": { label: "Mãos na Cintura", description: "Mãos na cintura" },
8
+ "arms-crossed": { label: "Braços Cruzados", description: "Braços dobrados sobre o peito" },
9
+ "leaning": { label: "Apoiado(a)", description: "Encostado(a) em algo" },
10
+ "hero-pose": { label: "Pose de Herói", description: "Postura heroica e dramática" },
11
+ "contrapposto": { description: "Quadril inclinado, peso em uma das pernas" },
12
+ "leaning-against-wall": { label: "Encostado na Parede", description: "Casualmente encostado(a) numa parede" },
13
+ "hands-behind-head": { label: "Mãos Atrás da Cabeça", description: "Mãos cruzadas atrás da cabeça" },
14
+ "hands-behind-back": { label: "Mãos Atrás das Costas", description: "Mãos cruzadas atrás das costas" },
15
+
16
+ // Seated
17
+ "sitting": { label: "Sentado(a)", description: "Sentado(a) com naturalidade" },
18
+ "cross-legged": { label: "De Pernas Cruzadas", description: "Sentado(a) de pernas cruzadas no chão" },
19
+ "kneeling": { label: "Ajoelhado(a)", description: "Ajoelhado(a) no chão" },
20
+ "crouching": { label: "Agachado(a)", description: "Agachado(a) bem baixo" },
21
+ "lounging": { label: "Reclinado(a)", description: "Sentado(a) reclinado(a) e relaxado(a)" },
22
+ "sitting-edge-of-bed": { label: "Sentado(a) na Beira da Cama", description: "Apoiado(a) na beira de uma cama" },
23
+ "chair-arm-drape": { label: "Pernas Sobre o Braço da Cadeira", description: "Pernas penduradas sobre o braço da cadeira" },
24
+ "elbow-propped": { label: "Bochecha no Cotovelo", description: "Bochecha apoiada num cotovelo levantado" },
25
+ "lying-on-stomach-reading": { label: "Deitado(a) de Bruços Lendo", description: "Deitado(a) de bruços, apoiado(a) nos cotovelos lendo" },
26
+
27
+ // Movement
28
+ "walking": { label: "Andando", description: "Caminhando, em pleno passo" },
29
+ "running": { label: "Correndo", description: "Correndo, em movimento" },
30
+ "jumping": { label: "Pulando", description: "No ar, em pleno pulo" },
31
+ "dancing": { label: "Dançando", description: "Pego(a) em pleno movimento de dança" },
32
+ "climbing": { label: "Escalando", description: "Escalando, agarrando-se para cima" },
33
+ "mid-fall": { label: "Em Queda", description: "Pego(a) em pleno ar caindo" },
34
+ "mid-spin": { label: "Em Pleno Giro", description: "Girando, em plena rotação" },
35
+ "stretching": { label: "Alongando", description: "Alongamento de corpo inteiro, braços para cima" },
36
+ "reaching-up": { label: "Esticando para Cima", description: "Braços estendidos para cima" },
37
+ "kissing": { label: "Beijando", description: "Travado(a) em um beijo" },
38
+ "riding": { label: "Pilotando / Cavalgando", description: "Pilotando bicicleta, cavalo ou moto" },
39
+ "driving": { label: "Dirigindo", description: "No volante de um veículo" },
40
+
41
+ // Action
42
+ "fighting-stance": { label: "Postura de Luta", description: "Pronto(a) para o combate" },
43
+ "reaching": { label: "Estendendo a Mão", description: "Esticando a mão para fora" },
44
+ "throwing": { label: "Arremessando", description: "Em pleno arremesso" },
45
+ "leaping": { label: "Saltando", description: "Saltando para frente dinamicamente" },
46
+ "dramatic-action": { label: "Ação Dramática", description: "Pose de ação exagerada" },
47
+ "biting-lip": { label: "Mordendo o Lábio", description: "Leve mordida brincalhona no lábio" },
48
+ "mid-laugh": { label: "Em Plena Risada", description: "Pego(a) rindo, cabeça para trás" },
49
+ "pointing-at-camera": { label: "Apontando para a Câmera", description: "Apontando direto para a câmera" },
50
+ "tongue-out": { label: "Mostrando a Língua", description: "Expressão brincalhona com a língua de fora" },
51
+ "thinking": { label: "Pensando", description: "Mão no queixo, contemplativo(a)" },
52
+
53
+ // Resting
54
+ "lying-down": { label: "Deitado(a)", description: "Deitado(a) reto" },
55
+ "sleeping": { label: "Dormindo", description: "Olhos fechados, dormindo" },
56
+ "hugging": { label: "Abraçando", description: "Abraçando outra pessoa" },
57
+ "looking-away": { label: "Olhando para o Lado", description: "Cabeça virada, olhando para fora" },
58
+ "looking-up": { label: "Olhando para Cima", description: "Olhando para cima, em direção ao céu" },
59
+ "looking-down": { label: "Olhando para Baixo", description: "Olhar cabisbaixo" },
60
+ "head-over-shoulder": { label: "Olhando por Cima do Ombro", description: "Olhando para trás por cima do ombro" },
61
+ "wading-in-water": { label: "Andando na Água", description: "Andando na água até a meia-coxa" },
62
+
63
+ // Hand position
64
+ "hands-in-pockets": { label: "Mãos nos Bolsos", description: "Ambas as mãos enfiadas nos bolsos" },
65
+ "hand-on-hip": { label: "Mão na Cintura", description: "Uma das mãos na cintura" },
66
+ "hand-position-hands-on-hips": { label: "Mãos na Cintura", description: "Ambas as mãos firmes na cintura" },
67
+ "hand-on-chin": { label: "Mão no Queixo", description: "Mão apoiada sob o queixo" },
68
+ "hand-on-collarbone": { label: "Mão na Clavícula", description: "Mão pousada sobre a clavícula" },
69
+ "hand-brushing-hair": { label: "Mão Passando pelo Cabelo", description: "Mão correndo pelo cabelo" },
70
+ "finger-to-lip": { label: "Dedo no Lábio", description: "Ponta do dedo apoiada no lábio inferior" },
71
+ "arms-wrapped-around-self": { label: "Braços Abraçando o Próprio Corpo", description: "Auto-abraço, braços envolvendo o tronco" },
72
+ "hands-clasped": { label: "Mãos Entrelaçadas", description: "Ambas as mãos entrelaçadas à frente" },
73
+
74
+ // Body lean
75
+ "leaning-back": { label: "Inclinado(a) para Trás", description: "Tronco levemente inclinado para trás" },
76
+ "leaning-forward": { label: "Inclinado(a) para Frente", description: "Tronco inclinado em direção à câmera" },
77
+ "body-lean-contrapposto": { label: "Contrapposto", description: "Peso em uma das pernas, quadril projetado para fora" },
78
+ "arched-back": { label: "Costas Arqueadas", description: "Costas suavemente arqueadas, peito para frente" },
79
+ "shoulder-rolled-forward": { label: "Ombro Projetado para Frente", description: "Um dos ombros projetado para frente" },
80
+
81
+ // Head tilt
82
+ "tilted-up": { label: "Inclinada para Cima", description: "Cabeça levemente inclinada para cima" },
83
+ "tilted-down": { label: "Inclinada para Baixo", description: "Cabeça levemente inclinada para baixo" },
84
+ "tilted-side": { label: "Inclinada para o Lado", description: "Cabeça inclinada em direção ao ombro" },
85
+ "tilted-back": { label: "Totalmente para Trás", description: "Cabeça toda para trás, garganta exposta" },
86
+ "chin-up": { label: "Queixo Erguido", description: "Queixo levantado, olhar de cima a baixo" },
87
+ "chin-tucked": { label: "Queixo Recolhido", description: "Queixo recolhido em direção ao peito" },
88
+
89
+ // Activity
90
+ "activity-smoking": { label: "Fumando", description: "Segurando e fumando um cigarro" },
91
+ "activity-drinking": { label: "Bebendo", description: "Bebendo de um copo ou xícara" },
92
+ "activity-eating": { label: "Comendo", description: "Pego(a) em plena mordida" },
93
+ "activity-talking-on-phone": { label: "Falando ao Celular", description: "Celular no ouvido, falando" },
94
+ "activity-texting": { label: "Mandando Mensagem", description: "Olhando para o celular, polegares digitando" },
95
+ "activity-typing-laptop": { label: "Digitando no Laptop", description: "Mãos no teclado, focado(a) na tela" },
96
+ "activity-reading": { label: "Lendo", description: "Segurando um livro ou revista aberto(a)" },
97
+ "activity-writing": { label: "Escrevendo", description: "Escrevendo em um caderno com caneta" },
98
+ "activity-painting": { label: "Pintando", description: "Pintando numa tela com pincel" },
99
+ "activity-playing-instrument": { label: "Tocando Instrumento", description: "Tocando um instrumento musical" },
100
+ "activity-cooking": { label: "Cozinhando", description: "Cozinhando numa bancada ou fogão" },
101
+ "activity-driving": { label: "Dirigindo", description: "No volante, mãos firmes" },
102
+ }
103
+
104
+ export default map
@@ -0,0 +1,104 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- Standing --------------------
5
+ "standing-upright": { label: "Стоя прямо", description: "Расслабленная стоячая поза" },
6
+ "confident-stance": { label: "Уверенная стойка", description: "Ноги расставлены, плечи назад" },
7
+ "hands-on-hips": { label: "Руки на бёдрах", description: "Руки на бёдрах" },
8
+ "arms-crossed": { label: "Скрещённые руки", description: "Руки скрещены на груди" },
9
+ "leaning": { label: "Облокотившись", description: "Облокотившись на что-то" },
10
+ "hero-pose": { label: "Героическая поза", description: "Драматичная героическая стойка" },
11
+ "contrapposto": { label: "Контрапост", description: "Бедро наклонено, вес на одну ногу" },
12
+ "leaning-against-wall": { label: "Прислонившись к стене", description: "Непринуждённо прислонившись к стене" },
13
+ "hands-behind-head": { label: "Руки за головой", description: "Обе руки сцеплены за головой" },
14
+ "hands-behind-back": { label: "Руки за спиной", description: "Руки сцеплены за спиной" },
15
+
16
+ // -------------------- Seated --------------------
17
+ "sitting": { label: "Сидя", description: "Естественное сидение" },
18
+ "cross-legged": { label: "Скрестив ноги", description: "Сидя по-турецки на полу" },
19
+ "kneeling": { label: "Стоя на коленях", description: "Стоя на одном или обоих коленях" },
20
+ "crouching": { label: "Присев", description: "Присев низко" },
21
+ "lounging": { label: "Развалившись", description: "Расслабленное полулежащее положение" },
22
+ "sitting-edge-of-bed": { label: "Сидя на краю кровати", description: "Сидя на краю кровати" },
23
+ "chair-arm-drape": { label: "Ноги на подлокотнике", description: "Ноги перекинуты через подлокотник стула" },
24
+ "elbow-propped": { label: "Щека на локте", description: "Щека опирается на локоть" },
25
+ "lying-on-stomach-reading": { label: "Лёжа читая", description: "Лёжа на животе, опираясь на локти, читая" },
26
+
27
+ // -------------------- Movement --------------------
28
+ "walking": { label: "Идёт", description: "На середине шага" },
29
+ "running": { label: "Бежит", description: "На середине бега, в движении" },
30
+ "jumping": { label: "Прыгает", description: "В воздухе, на середине прыжка" },
31
+ "dancing": { label: "Танцует", description: "Пойман на середине танца" },
32
+ "climbing": { label: "Карабкается", description: "Карабкается, держась за верх" },
33
+ "mid-fall": { label: "На середине падения", description: "Пойман на середине падения через воздух" },
34
+ "mid-spin": { label: "На середине вращения", description: "Кружится на середине вращения" },
35
+ "stretching": { label: "Потягивается", description: "Полное потягивание тела, руки вверх" },
36
+ "reaching-up": { label: "Тянется вверх", description: "Руки вытянуты вверх" },
37
+ "kissing": { label: "Целуется", description: "В поцелуе" },
38
+ "riding": { label: "Едет верхом", description: "Едет на велосипеде, лошади или мотоцикле" },
39
+ "driving": { label: "За рулём", description: "За рулём транспортного средства" },
40
+
41
+ // -------------------- Action --------------------
42
+ "fighting-stance": { label: "Боевая стойка", description: "Стойка готовности к бою" },
43
+ "reaching": { label: "Тянется", description: "Тянется наружу" },
44
+ "throwing": { label: "Бросает", description: "На середине броска" },
45
+ "leaping": { label: "Прыгает вперёд", description: "Динамичный прыжок вперёд" },
46
+ "dramatic-action": { label: "Драматическое действие", description: "Преувеличенная действующая поза" },
47
+ "biting-lip": { label: "Кусает губу", description: "Лёгкое игривое прикусывание губы" },
48
+ "mid-laugh": { label: "На середине смеха", description: "Пойман на середине смеха, голова откинута назад" },
49
+ "pointing-at-camera": { label: "Указывает на камеру", description: "Указывает прямо на камеру" },
50
+ "tongue-out": { label: "Высунутый язык", description: "Игривое выражение с высунутым языком" },
51
+ "thinking": { label: "Размышляет", description: "Рука на подбородке, задумчиво" },
52
+
53
+ // -------------------- Resting --------------------
54
+ "lying-down": { label: "Лежит", description: "Лежит ровно" },
55
+ "sleeping": { label: "Спит", description: "Глаза закрыты, спит" },
56
+ "hugging": { label: "Обнимает", description: "Обнимает другого" },
57
+ "looking-away": { label: "Смотрит в сторону", description: "Голова повёрнута, смотрит в сторону" },
58
+ "looking-up": { label: "Смотрит вверх", description: "Смотрит на небо" },
59
+ "looking-down": { label: "Смотрит вниз", description: "Опущенные глаза" },
60
+ "head-over-shoulder": { label: "Голова через плечо", description: "Смотрит назад через плечо" },
61
+ "wading-in-water": { label: "Бредёт по воде", description: "Бредёт по воде по середину бедра" },
62
+
63
+ // -------------------- Hand Position --------------------
64
+ "hands-in-pockets": { label: "Руки в карманах", description: "Обе руки в карманах" },
65
+ "hand-on-hip": { label: "Рука на бедре", description: "Одна рука на бедре" },
66
+ "hand-position-hands-on-hips": { label: "Руки на бёдрах", description: "Обе руки на бёдрах" },
67
+ "hand-on-chin": { label: "Рука на подбородке", description: "Рука покоится под подбородком" },
68
+ "hand-on-collarbone": { label: "Рука на ключице", description: "Рука покоится на ключице" },
69
+ "hand-brushing-hair": { label: "Рука в волосах", description: "Рука проводит по волосам" },
70
+ "finger-to-lip": { label: "Палец на губах", description: "Кончик пальца прижат к нижней губе" },
71
+ "arms-wrapped-around-self": { label: "Руки обхватили себя", description: "Самообнятие, руки вокруг туловища" },
72
+ "hands-clasped": { label: "Сцепленные руки", description: "Обе руки сцеплены спереди" },
73
+
74
+ // -------------------- Body Lean --------------------
75
+ "leaning-back": { label: "Откинут назад", description: "Туловище слегка откинуто назад" },
76
+ "leaning-forward": { label: "Наклон вперёд", description: "Туловище наклонено к камере" },
77
+ "body-lean-contrapposto": { label: "Контрапост", description: "Вес на одной ноге, бедро выдвинуто" },
78
+ "arched-back": { label: "Изогнутая спина", description: "Спина мягко изогнута, грудь вперёд" },
79
+ "shoulder-rolled-forward": { label: "Плечо вперёд", description: "Одно плечо подалось вперёд" },
80
+
81
+ // -------------------- Head Tilt --------------------
82
+ "tilted-up": { label: "Наклон вверх", description: "Голова слегка наклонена вверх" },
83
+ "tilted-down": { label: "Наклон вниз", description: "Голова слегка наклонена вниз" },
84
+ "tilted-side": { label: "Наклон в сторону", description: "Голова наклонена к плечу" },
85
+ "tilted-back": { label: "Наклон назад", description: "Голова полностью назад, обнажая горло" },
86
+ "chin-up": { label: "Подбородок вверх", description: "Подбородок поднят, смотрит сверху вниз" },
87
+ "chin-tucked": { label: "Подбородок прижат", description: "Подбородок прижат к груди" },
88
+
89
+ // -------------------- Activity --------------------
90
+ "activity-smoking": { label: "Курит", description: "Держит и курит сигарету" },
91
+ "activity-drinking": { label: "Пьёт", description: "Пьёт из стакана или чашки" },
92
+ "activity-eating": { label: "Ест", description: "Пойман на середине укуса" },
93
+ "activity-talking-on-phone": { label: "Говорит по телефону", description: "Телефон у уха, говорит" },
94
+ "activity-texting": { label: "Печатает сообщение", description: "Смотрит на телефон, большие пальцы печатают" },
95
+ "activity-typing-laptop": { label: "Печатает на ноутбуке", description: "Руки на клавиатуре, сосредоточен на экране" },
96
+ "activity-reading": { label: "Читает", description: "Держит открытой книгу или журнал" },
97
+ "activity-writing": { label: "Пишет", description: "Пишет в блокноте ручкой" },
98
+ "activity-painting": { label: "Рисует", description: "Рисует на холсте кистью" },
99
+ "activity-playing-instrument": { label: "Играет на инструменте", description: "Играет на музыкальном инструменте" },
100
+ "activity-cooking": { label: "Готовит", description: "Готовит на кухонной стойке или плите" },
101
+ "activity-driving": { label: "За рулём", description: "За рулём, руки сжимают руль" },
102
+ }
103
+
104
+ export default map
@@ -0,0 +1,104 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- Standing --------------------
5
+ "standing-upright": { label: "笔直站立", description: "放松的直立姿势" },
6
+ "confident-stance": { label: "自信站姿", description: "双脚分开,肩膀打开" },
7
+ "hands-on-hips": { label: "双手叉腰", description: "双手叉腰" },
8
+ "arms-crossed": { label: "抱臂", description: "双臂在胸前交叉" },
9
+ "leaning": { label: "倚靠", description: "斜靠在某物上" },
10
+ "hero-pose": { label: "英雄姿势", description: "戏剧化的英雄站姿" },
11
+ "contrapposto": { description: "胯部一侧倾斜,重心放在一条腿上" },
12
+ "leaning-against-wall": { label: "靠墙", description: "随性地靠在墙上" },
13
+ "hands-behind-head": { label: "双手抱头", description: "双手在脑后交叉" },
14
+ "hands-behind-back": { label: "双手背后", description: "双手在身后交握" },
15
+
16
+ // -------------------- Seated --------------------
17
+ "sitting": { label: "坐", description: "自然地坐着" },
18
+ "cross-legged": { label: "盘腿", description: "盘腿坐在地上" },
19
+ "kneeling": { label: "跪", description: "跪在地上" },
20
+ "crouching": { label: "蹲", description: "低身蹲下" },
21
+ "lounging": { label: "斜倚", description: "放松地斜倚而坐" },
22
+ "sitting-edge-of-bed":{ label: "坐在床沿", description: "坐在床的边缘" },
23
+ "chair-arm-drape": { label: "腿搭椅扶手", description: "双腿随意地搭在椅子扶手上" },
24
+ "elbow-propped": { label: "脸颊靠手肘", description: "脸颊托在支起的手肘上" },
25
+ "lying-on-stomach-reading":{ label: "趴着阅读", description: "趴在地上,以手肘撑起身体阅读" },
26
+
27
+ // -------------------- Movement --------------------
28
+ "walking": { label: "行走", description: "迈步行走中" },
29
+ "running": { label: "奔跑", description: "奔跑中、运动状态" },
30
+ "jumping": { label: "跳跃", description: "腾空、跳跃中" },
31
+ "dancing": { label: "跳舞", description: "跳舞中、舞动瞬间" },
32
+ "climbing": { label: "攀爬", description: "向上抓握攀爬中" },
33
+ "mid-fall": { label: "下坠中", description: "在半空中下坠的瞬间" },
34
+ "mid-spin": { label: "旋转中", description: "旋转中、转身的瞬间" },
35
+ "stretching":{ label: "伸展", description: "全身伸展、双臂上举" },
36
+ "reaching-up":{ label: "向上伸手", description: "双臂或单臂向上伸展" },
37
+ "kissing": { label: "亲吻", description: "锁住一个吻" },
38
+ "riding": { label: "骑乘", description: "骑自行车、马或摩托车" },
39
+ "driving": { label: "驾驶", description: "在方向盘后驾驶车辆" },
40
+
41
+ // -------------------- Action --------------------
42
+ "fighting-stance": { label: "战斗姿态", description: "格斗就绪姿态" },
43
+ "reaching": { label: "伸手", description: "向外伸手" },
44
+ "throwing": { label: "投掷", description: "抛掷动作中" },
45
+ "leaping": { label: "跃出", description: "向前充满动感地跃起" },
46
+ "dramatic-action": { label: "戏剧化动作", description: "夸张的戏剧化动作姿势" },
47
+ "biting-lip": { label: "咬唇", description: "顽皮地轻咬下唇" },
48
+ "mid-laugh": { label: "大笑中", description: "大笑中、头向后仰" },
49
+ "pointing-at-camera":{ label: "指向镜头", description: "用一根手指直接指向镜头" },
50
+ "tongue-out": { label: "吐舌头", description: "顽皮地吐出舌头" },
51
+ "thinking": { label: "思考", description: "手托下巴、若有所思" },
52
+
53
+ // -------------------- Resting --------------------
54
+ "lying-down": { label: "躺下", description: "平躺" },
55
+ "sleeping": { label: "睡觉", description: "闭眼睡觉" },
56
+ "hugging": { label: "拥抱", description: "抱住另一人" },
57
+ "looking-away": { label: "侧目远望", description: "头偏向一边、目光看向远方" },
58
+ "looking-up": { label: "仰望", description: "仰望天空" },
59
+ "looking-down": { label: "俯视", description: "目光低垂" },
60
+ "head-over-shoulder": { label: "回眸", description: "回头越过肩膀看" },
61
+ "wading-in-water": { label: "涉水", description: "齐大腿深地涉水而行" },
62
+
63
+ // -------------------- Hand Position --------------------
64
+ "hands-in-pockets": { label: "双手插兜", description: "双手都插在口袋里" },
65
+ "hand-on-hip": { label: "单手叉腰", description: "一只手放在腰上" },
66
+ "hand-position-hands-on-hips":{ label: "双手叉腰", description: "双手都叉在腰上" },
67
+ "hand-on-chin": { label: "手托下巴", description: "一只手放在下巴下方" },
68
+ "hand-on-collarbone": { label: "手按锁骨", description: "一只手轻搭在锁骨上" },
69
+ "hand-brushing-hair": { label: "手拢头发", description: "一只手穿过发间" },
70
+ "finger-to-lip": { label: "手指抵唇", description: "指尖轻抵下唇" },
71
+ "arms-wrapped-around-self": { label: "双臂自抱", description: "自我拥抱、双臂环绕躯干" },
72
+ "hands-clasped": { label: "双手交握", description: "双手在身前交握" },
73
+
74
+ // -------------------- Body Lean --------------------
75
+ "leaning-back": { label: "向后倾", description: "上身略向后倾" },
76
+ "leaning-forward": { label: "向前倾", description: "上身倾向镜头" },
77
+ "body-lean-contrapposto": { label: "Contrapposto", description: "重心放在一条腿上,胯部外推" },
78
+ "arched-back": { label: "挺背", description: "背微微挺起、胸部前送" },
79
+ "shoulder-rolled-forward":{ label: "一肩前倾", description: "一只肩膀向前内卷" },
80
+
81
+ // -------------------- Head Tilt --------------------
82
+ "tilted-up": { label: "向上抬", description: "头微微抬起" },
83
+ "tilted-down": { label: "向下垂", description: "头微微低下" },
84
+ "tilted-side": { label: "向侧倾", description: "头偏向一侧肩膀" },
85
+ "tilted-back": { label: "向后仰", description: "头完全后仰、暴露喉咙" },
86
+ "chin-up": { label: "下巴抬起", description: "下巴抬起、俯视般" },
87
+ "chin-tucked": { label: "下巴内收", description: "下巴向胸口内收" },
88
+
89
+ // -------------------- Activity --------------------
90
+ "activity-smoking": { label: "吸烟", description: "拿着并吸着一支香烟" },
91
+ "activity-drinking": { label: "喝水 / 饮酒", description: "举起杯或瓶饮用" },
92
+ "activity-eating": { label: "进食", description: "咬一口食物" },
93
+ "activity-talking-on-phone": { label: "打电话", description: "举着手机贴耳通话" },
94
+ "activity-texting": { label: "发短信", description: "低头看手机、双手拇指打字" },
95
+ "activity-typing-laptop": { label: "敲笔记本电脑", description: "双手在键盘上、专注盯着屏幕" },
96
+ "activity-reading": { label: "阅读", description: "翻开一本书或杂志" },
97
+ "activity-writing": { label: "书写", description: "用笔在笔记本上书写" },
98
+ "activity-painting": { label: "绘画", description: "在画布上作画" },
99
+ "activity-playing-instrument": { label: "演奏乐器", description: "演奏乐器" },
100
+ "activity-cooking": { label: "做饭", description: "在厨房灶台上做饭" },
101
+ "activity-driving": { label: "驾驶", description: "握着方向盘开车" },
102
+ }
103
+
104
+ export default map
@@ -0,0 +1,25 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ "vignette-soft": { label: "تظليل ناعم", description: "تعتيم زوايا لطيف" },
5
+ "vignette-heavy": { label: "تظليل كثيف", description: "زوايا سوداء درامية" },
6
+ "dodge-and-burn": { label: "Dodge & Burn", description: "نحت ضوء/ظل" },
7
+ "film-grain-fine": { label: "حبيبات فيلم دقيقة", description: "حبيبات بأسلوب 35mm طفيفة" },
8
+ "film-grain-heavy": { label: "حبيبات فيلم كثيفة", description: "حبيبات خشنة معالجة بالدفع" },
9
+ "halation-glow": { label: "توهج Halation", description: "توهج هالة حمراء بأسلوب Cinestill" },
10
+ "bloom-glow": { label: "توهج Bloom", description: "توهج إبرازات حالم رومانسي" },
11
+ "chromatic-aberration": { label: "Chromatic Aberration", description: "هامش أحمر/تركوازي على الحواف" },
12
+ "light-leak": { label: "تسرب ضوء", description: "خط دافئ عبر الإطار" },
13
+ "film-burn": { label: "حرق فيلم", description: "وهج زاوية Super-8 قديم" },
14
+ "scratched-emulsion": { label: "Emulsion مخدوش", description: "خدوش فيلم قديم + غبار" },
15
+ "color-fringe": { label: "هامش لوني", description: "هامش طفيف على تباين عال" },
16
+ "soft-focus-diffusion": { label: "انتشار تركيز ناعم", description: "توهج إبرازات ضبابي حالم" },
17
+ "contrast-boost": { label: "تعزيز تباين", description: "ظلال مسحوقة + إبرازات مدفوعة" },
18
+
19
+ "sharpening": { label: "Sharpening كثيف", description: "تمرير Sharpening حواد عدواني" },
20
+ "clarity-boost": { label: "تعزيز Clarity", description: "تعزيز Clarity للنغمات المتوسطة، تباين محلي مرفوع" },
21
+ "dehaze": { label: "Dehaze", description: "Dehaze جوي مطبق، يزيل النعومة" },
22
+ "lift-gamma-gain": { label: "تدرج Lift-Gamma-Gain", description: "عجلات تدرج لوني ثلاثية" },
23
+ }
24
+
25
+ export default map
@@ -0,0 +1,24 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ "vignette-soft": { label: "Sanfte Vignette", description: "Sanfte Eckverdunkelung" },
5
+ "vignette-heavy": { label: "Starke Vignette", description: "Dramatische schwarze Ecken" },
6
+ "dodge-and-burn": { label: "Dodge & Burn", description: "Modellierte Glanzlichter/Schatten" },
7
+ "film-grain-fine": { label: "Feines Filmkorn", description: "Subtiles 35mm-artiges Korn" },
8
+ "film-grain-heavy": { label: "Starkes Filmkorn", description: "Grobes pushed-processed Korn" },
9
+ "halation-glow": { label: "Halation-Leuchten", description: "Cinestill-Rot-Halo-Bloom" },
10
+ "bloom-glow": { label: "Bloom-Leuchten", description: "Romantischer verträumter Glanzlicht-Bloom" },
11
+ "chromatic-aberration": { description: "Rot/Cyan-Saum an den Kanten" },
12
+ "light-leak": { label: "Lichtleck", description: "Warmer Streifen über den Bildausschnitt" },
13
+ "film-burn": { label: "Filmverbrennung", description: "Vintage Super-8 Eckflare" },
14
+ "scratched-emulsion": { label: "Zerkratzte Emulsion", description: "Gealterte Filmkratzer + Staub" },
15
+ "color-fringe": { label: "Farbsaum", description: "Subtiles Hochkontrast-Fringing" },
16
+ "soft-focus-diffusion": { label: "Soft-Focus-Diffusion", description: "Diesiger verträumter Glanzlicht-Bloom" },
17
+ "contrast-boost": { label: "Kontrast-Boost", description: "Verstärkte Schatten + erhöhte Glanzlichter" },
18
+ "sharpening": { label: "Starke Schärfung", description: "Aggressiver Kantenschärfungs-Durchgang" },
19
+ "clarity-boost": { label: "Klarheits-Boost", description: "Verbesserung der Mitteltonklarheit, erhöhter lokaler Kontrast" },
20
+ "dehaze": { label: "Dunst entfernen", description: "Atmosphärische Dunstentfernung angewendet, beseitigt Weichheit" },
21
+ "lift-gamma-gain": { label: "Lift-Gamma-Gain-Grading", description: "Dreiwege-Color-Grading-Räder" },
22
+ }
23
+
24
+ export default map