@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,84 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ // Per project rule: omit all labels for photographer (keep canonical Latin names);
4
+ // translate descriptions only.
5
+ const map: LocaleCatalogMap = {
6
+ // Editorial
7
+ "tim-walker": { description: "絵画的でおとぎ話のようなファッション" },
8
+ "paolo-roversi": { description: "柔らかく幻想的なポラロイドの輝き" },
9
+ "marta-bevacqua": { description: "夢のように絵画的なポートレート" },
10
+ "patrick-demarchelier": { description: "洗練されたクラシックなファッションポートレート" },
11
+ "nick-knight": { description: "高光沢のアヴァンギャルドなファッション" },
12
+ "mario-testino": { description: "魅惑的で陽光に満ちたファッション" },
13
+ "steven-meisel": { description: "磨かれたミッドセンチュリーのエディトリアル" },
14
+ "helmut-newton": { description: "大胆な白黒の挑発" },
15
+ "mario-sorrenti": { description: "親密で粒状感のあるファッション" },
16
+ "annie-leibovitz": { description: "シネマティックなセレブリティ・ポートレート" },
17
+ "felicia-simion": { description: "シュルレアリスティックな田園風ファインアート" },
18
+ "oleg-oprisco": { description: "シネマティックなフィルム粒状感のストーリーテリング" },
19
+ "bella-kotak": { description: "魔法のようなファンタジー民話風ポートレート" },
20
+ "yigal-ozeri": { description: "ハイパーリアルなペイント風ポートレート" },
21
+ "jimmy-marble": { description: "パステル調でキャンディのように明るいエディトリアル" },
22
+ "rinko-kawauchi": { description: "静かで光に満ちた日常" },
23
+ "ellen-von-unwerth": { description: "遊び心あるレトロなピンナップのエネルギー" },
24
+
25
+ // Documentary
26
+ "henri-cartier-bresson": { description: "決定的瞬間のストリート写真" },
27
+ "vivian-maier": { description: "ミッドセンチュリーのアメリカン・ストリート" },
28
+ "saul-leiter": { description: "ガラス越しの絵画的カラー・ストリート" },
29
+ "daido-moriyama": { description: "粒状感のある高コントラストの東京ストリート" },
30
+ "robert-capa": { description: "生々しい戦闘フォトジャーナリズム" },
31
+ "sebastiao-salgado": { description: "壮大なモノクロームの社会派ドキュメンタリー" },
32
+ "diane-arbus": { description: "厳しく対峙的なポートレート" },
33
+
34
+ // Cinematographers
35
+ "roger-deakins": { description: "絵画的なシネマティック・ナチュラリズム" },
36
+ "emmanuel-lubezki": { description: "浮遊する自然光の撮影" },
37
+ "greig-fraser": { description: "豊かで触覚的なジャンルシネマトグラフィー" },
38
+ "christopher-doyle": { description: "彩度の高い手持ちネオン・ムード" },
39
+
40
+ // Concept
41
+ "greg-rutkowski": { description: "壮大な絵画的ファンタジーのコンセプトアート" },
42
+ "magali-villeneuve": { description: "ヒロイックなファンタジーのキャラクターアート" },
43
+ "charlie-bowater": { description: "雰囲気のあるデジタル・ポートレート" },
44
+ "sam-spratt": { description: "寓意的でハイパーリアルなポートレート" },
45
+ "ruan-jia": { description: "豊かで絵画的なファンタジー・ポートレート" },
46
+ "ilya-kuvshinov": { description: "アニメ的な様式化ポートレート" },
47
+ "wlop": { description: "幻想的で絵画的なファンタジー" },
48
+ "artgerm": { description: "コミック風の磨かれたピンナップ" },
49
+
50
+ // Illustrators
51
+ "makoto-shinkai": { description: "シネマティックなアニメの空と光" },
52
+ "studio-ghibli": { description: "手描きのジブリの温かさ" },
53
+ "alphonse-mucha": { description: "アール・ヌーヴォーの装飾パネル" },
54
+ "carne-griffiths": { description: "インクのにじみがある植物的ポートレート" },
55
+ "conrad-roset": { description: "穏やかな水彩の人物表現" },
56
+ "akihito-yoshida": { description: "静かなインクと粒子のモノクローム" },
57
+ "karol-bak": { description: "象徴主義のペイントされたミューズ" },
58
+ "ismail-inceoglu": { description: "神話的で絵画的な風景" },
59
+ "stefan-gesell": { description: "暗くシュルレアリスティックなポートレート" },
60
+ "andrew-atroshenko": { description: "ロマンチックな印象派の人物画" },
61
+ "peter-gric": { description: "建築的シュルレアリスティックな風景" },
62
+ "ingrid-baars": { description: "彫刻的なファッション・アート・コラージュ" },
63
+ "guido-van-helten": { description: "壮大な壁画家のポートレート" },
64
+
65
+ // Additional photographers
66
+ "mapplethorpe": { description: "白黒のスタジオ・ポートレート、古典的なヌードと花" },
67
+ "sherman": { description: "コンセプチュアルな自画像とキャラクター・スタディ" },
68
+ "crewdson": { description: "シネマティックな郊外と不穏な雰囲気" },
69
+ "lachapelle": { description: "シュルレアリスト的なセレブと彩度の高いキャンプ" },
70
+ "klein": { description: "ハイファッションのエッジ、ドラマチックな影の照明" },
71
+ "lindbergh": { description: "ミニマリストの白黒ファッション、生々しい美" },
72
+ "tillmans": { description: "コンテンポラリーなキャンディッド、クィアな親密さ" },
73
+ "teller": { description: "カジュアルなフラッシュ・ファッション、アンチ・グラマー" },
74
+ "penn": { description: "ミッドセンチュリーのスタジオ・ポートレート、ファッションと静物" },
75
+
76
+ // Additional photographers
77
+ "mcginley": { description: "風景の中の自然主義的な若者とヌード、太陽光のフレアの効いたキャンディッド" },
78
+ "mitchell": { description: "コンテンポラリーな黒人ポートレート、柔らかな自然光" },
79
+ "collins": { description: "ピンクに彩度の高い夢のような女性視点ファッション、霞んだ35mm" },
80
+ "weston": { description: "モダニズムの白黒静物、彫刻的なヌード" },
81
+ "beaton": { description: "クラシックなハリウッド時代のポートレート、演劇的な演出" },
82
+ }
83
+
84
+ export default map
@@ -0,0 +1,84 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ // Photographer names are personal proper names — keep all labels in canonical
4
+ // English / Latin script. Only descriptions are translated.
5
+ const map: LocaleCatalogMap = {
6
+ // Editorial / Fashion
7
+ "tim-walker": { description: "회화적인 동화 같은 패션입니다" },
8
+ "paolo-roversi": { description: "부드럽고 환상적인 폴라로이드 글로우입니다" },
9
+ "marta-bevacqua": { description: "꿈결 같은 회화적 인물 사진입니다" },
10
+ "patrick-demarchelier": { description: "세련된 클래식 패션 인물 사진입니다" },
11
+ "nick-knight": { description: "고광택의 아방가르드 패션입니다" },
12
+ "mario-testino": { description: "햇살 가득한 화려한 패션입니다" },
13
+ "steven-meisel": { description: "세련된 미드센추리 에디토리얼입니다" },
14
+ "helmut-newton": { description: "대담한 흑백의 도발적 사진입니다" },
15
+ "mario-sorrenti": { description: "친밀하고 그레인 가득한 패션입니다" },
16
+ "annie-leibovitz": { description: "시네마틱한 셀러브리티 인물 사진입니다" },
17
+ "felicia-simion": { description: "초현실적인 목가적 파인 아트입니다" },
18
+ "oleg-oprisco": { description: "시네마틱한 필름 그레인 스토리텔링입니다" },
19
+ "bella-kotak": { description: "마법 같은 환상-민속 인물 사진입니다" },
20
+ "yigal-ozeri": { description: "하이퍼리얼한 회화적 인물 사진입니다" },
21
+ "jimmy-marble": { description: "파스텔 톤의 캔디처럼 밝은 에디토리얼입니다" },
22
+ "rinko-kawauchi": { description: "조용히 빛으로 가득 찬 일상의 사진입니다" },
23
+ "ellen-von-unwerth": { description: "장난기 가득한 레트로 핀업 에너지입니다" },
24
+
25
+ // Documentary / Street
26
+ "henri-cartier-bresson": { description: "결정적 순간의 스트리트 포토그래피입니다" },
27
+ "vivian-maier": { description: "미드센추리 미국 거리 사진입니다" },
28
+ "saul-leiter": { description: "유리 너머 회화적인 컬러 거리 사진입니다" },
29
+ "daido-moriyama": { description: "그레인 가득한 고대비 도쿄 거리 사진입니다" },
30
+ "robert-capa": { description: "생생한 전투 포토저널리즘입니다" },
31
+ "sebastiao-salgado": { description: "장엄한 흑백 사회 다큐멘터리입니다" },
32
+ "diane-arbus": { description: "가차없이 직시하는 인물 사진입니다" },
33
+
34
+ // Cinematographers
35
+ "roger-deakins": { description: "회화적인 시네마틱 자연주의입니다" },
36
+ "emmanuel-lubezki": { description: "떠다니는 자연광 시네마토그래피입니다" },
37
+ "greig-fraser": { description: "풍성하고 촉각적인 장르 시네마토그래피입니다" },
38
+ "christopher-doyle": { description: "채도 높은 핸드헬드 네온 무드입니다" },
39
+
40
+ // Concept / Digital Painters
41
+ "greg-rutkowski": { description: "장엄한 회화적 판타지 콘셉트 아트입니다" },
42
+ "magali-villeneuve": { description: "영웅적인 판타지 캐릭터 아트입니다" },
43
+ "charlie-bowater": { description: "분위기 있는 디지털 인물 사진입니다" },
44
+ "sam-spratt": { description: "우의적인 하이퍼리얼 인물 사진입니다" },
45
+ "ruan-jia": { description: "풍성하고 회화적인 판타지 인물 사진입니다" },
46
+ "ilya-kuvshinov": { description: "애니메이션 풍의 양식화된 인물 사진입니다" },
47
+ "wlop": { description: "환상적이고 회화적인 판타지입니다" },
48
+ "artgerm": { description: "세련된 코믹북 풍의 핀업입니다" },
49
+
50
+ // Illustrators / Animators
51
+ "makoto-shinkai": { description: "시네마틱한 애니메이션 하늘과 빛입니다" },
52
+ "studio-ghibli": { description: "손으로 그린 지브리의 따뜻함입니다" },
53
+ "alphonse-mucha": { description: "아르누보 장식 패널입니다" },
54
+ "carne-griffiths": { description: "잉크가 번지는 식물 인물 사진입니다" },
55
+ "conrad-roset": { description: "부드러운 수채화 피겨입니다" },
56
+ "akihito-yoshida": { description: "조용한 잉크와 그레인의 흑백 사진입니다" },
57
+ "karol-bak": { description: "상징주의적인 회화적 뮤즈입니다" },
58
+ "ismail-inceoglu": { description: "신화적인 회화적 풍경입니다" },
59
+ "stefan-gesell": { description: "어두운 초현실주의 인물 사진입니다" },
60
+ "andrew-atroshenko": { description: "낭만적인 인상주의 피겨 페인팅입니다" },
61
+ "peter-gric": { description: "건축적인 초현실주의 풍경입니다" },
62
+ "ingrid-baars": { description: "조각적인 패션 아트 콜라주입니다" },
63
+ "guido-van-helten": { description: "거대한 벽화 인물 사진입니다" },
64
+
65
+ // Newly added
66
+ "mapplethorpe": { description: "흑백 스튜디오 인물 사진, 클래식한 누드와 꽃입니다" },
67
+ "sherman": { description: "개념적인 셀프 포트레이트와 캐릭터 연구입니다" },
68
+ "crewdson": { description: "시네마틱한 교외, 불안한 분위기입니다" },
69
+ "lachapelle": { description: "초현실적인 셀러브리티와 채도 높은 캠프입니다" },
70
+ "klein": { description: "하이패션의 날카로움, 드라마틱한 그림자 조명입니다" },
71
+ "lindbergh": { description: "미니멀한 흑백 패션, 꾸밈없는 아름다움입니다" },
72
+ "tillmans": { description: "동시대의 캔디드, 퀴어한 친밀함입니다" },
73
+ "teller": { description: "캐주얼한 플래시 패션, 안티 글래머입니다" },
74
+ "penn": { description: "미드센추리 스튜디오 인물 사진, 패션과 스틸라이프입니다" },
75
+
76
+ // Additional photographers
77
+ "mcginley": { description: "자연스러운 청춘과 누드를 풍경 속에 담은 햇살 가득한 캔디드 사진입니다" },
78
+ "mitchell": { description: "동시대의 흑인 인물 사진, 부드러운 자연광입니다" },
79
+ "collins": { description: "핑크 빛으로 가득 찬 몽환적인 여성의 시선 패션, 흐릿한 35mm입니다" },
80
+ "weston": { description: "모더니즘 흑백 정물, 조각적인 누드입니다" },
81
+ "beaton": { description: "클래식한 할리우드 시대 인물 사진, 연극적인 연출입니다" },
82
+ }
83
+
84
+ export default map
@@ -0,0 +1,83 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ // All labels are personal proper names — kept in canonical English (omitted).
4
+ // Only descriptions are translated.
5
+
6
+ const map: LocaleCatalogMap = {
7
+ // Editorial / Fashion
8
+ "tim-walker": { description: "Moda pictórica de conto de fadas" },
9
+ "paolo-roversi": { description: "Brilho de polaroide etéreo e suave" },
10
+ "marta-bevacqua": { description: "Retrato pictórico e onírico" },
11
+ "patrick-demarchelier": { description: "Retrato de moda clássico e refinado" },
12
+ "nick-knight": { description: "Moda de vanguarda em alto brilho" },
13
+ "mario-testino": { description: "Moda glamourosa, banhada de sol" },
14
+ "steven-meisel": { description: "Editorial polido de meio-século" },
15
+ "helmut-newton": { description: "Provocação ousada em preto e branco" },
16
+ "mario-sorrenti": { description: "Moda íntima e granulada" },
17
+ "annie-leibovitz": { description: "Retrato cinematográfico de celebridades" },
18
+ "felicia-simion": { description: "Bela arte pastoral surrealista" },
19
+ "oleg-oprisco": { description: "Narrativa cinematográfica em granulação de filme" },
20
+ "bella-kotak": { description: "Retrato fantástico-folclórico mágico" },
21
+ "yigal-ozeri": { description: "Retrato pintado hiper-realista" },
22
+ "jimmy-marble": { description: "Editorial pastel com cores doces e vivas" },
23
+ "rinko-kawauchi": { description: "Cotidiano silencioso, banhado de luz" },
24
+ "ellen-von-unwerth": { description: "Energia pin-up retrô e brincalhona" },
25
+
26
+ // Documentary / Street
27
+ "henri-cartier-bresson": { description: "Fotografia de rua do instante decisivo" },
28
+ "vivian-maier": { description: "Fotografia de rua americana de meio-século" },
29
+ "saul-leiter": { description: "Rua colorida e pictórica vista através do vidro" },
30
+ "daido-moriyama": { description: "Rua de Tóquio granulada e em alto contraste" },
31
+ "robert-capa": { description: "Fotojornalismo de combate visceral" },
32
+ "sebastiao-salgado": { description: "Documentário social monocromático e épico" },
33
+ "diane-arbus": { description: "Retrato cru e confrontador" },
34
+
35
+ // Cinematographers
36
+ "roger-deakins": { description: "Naturalismo cinematográfico pictórico" },
37
+ "emmanuel-lubezki": { description: "Cinematografia flutuante com luz natural" },
38
+ "greig-fraser": { description: "Cinematografia de gênero rica e tátil" },
39
+ "christopher-doyle": { description: "Clima neon saturado feito na mão" },
40
+
41
+ // Concept / Digital Painters
42
+ "greg-rutkowski": { description: "Concept art épica de fantasia pictórica" },
43
+ "magali-villeneuve": { description: "Arte de personagens heroicos de fantasia" },
44
+ "charlie-bowater": { description: "Retrato digital atmosférico" },
45
+ "sam-spratt": { description: "Retrato alegórico hiper-real" },
46
+ "ruan-jia": { description: "Retrato de fantasia pictórico e exuberante" },
47
+ "ilya-kuvshinov": { description: "Retrato estilizado com toque de anime" },
48
+ "wlop": { description: "Fantasia pictórica etérea" },
49
+ "artgerm": { description: "Pinup polido inspirado em quadrinhos" },
50
+
51
+ // Illustrators / Animators
52
+ "makoto-shinkai": { description: "Céu e luz de anime cinematográficos" },
53
+ "studio-ghibli": { description: "Calor pintado à mão do Ghibli" },
54
+ "alphonse-mucha": { description: "Painel decorativo art-nouveau" },
55
+ "carne-griffiths": { description: "Retrato botânico com tinta sangrando" },
56
+ "conrad-roset": { description: "Ilustração suave em aquarela" },
57
+ "akihito-yoshida": { description: "Monocromia silenciosa em tinta e granulação" },
58
+ "karol-bak": { description: "Musa pintada simbolista" },
59
+ "ismail-inceoglu": { description: "Paisagem pictórica mítica" },
60
+ "stefan-gesell": { description: "Retrato escuro e surreal" },
61
+ "andrew-atroshenko": { description: "Figura impressionista romântica" },
62
+ "peter-gric": { description: "Paisagem surrealista arquitetônica" },
63
+ "ingrid-baars": { description: "Colagem escultural fashion-art" },
64
+ "guido-van-helten": { description: "Retrato monumental de muralista" },
65
+
66
+ // Additional photographers
67
+ "mapplethorpe": { description: "Retrato de estúdio em P&B, nus clássicos e flores" },
68
+ "sherman": { description: "Autorretratos conceituais e estudos de personagens" },
69
+ "crewdson": { description: "Subúrbio cinematográfico, atmosfera de pavor" },
70
+ "lachapelle": { description: "Celebridades surrealistas em camp saturado" },
71
+ "klein": { description: "Moda de alta-costura com sombras dramáticas" },
72
+ "lindbergh": { description: "Moda em P&B minimalista e beleza crua" },
73
+ "tillmans": { description: "Espontaneidade contemporânea e intimidade queer" },
74
+ "teller": { description: "Moda casual com flash, antiglamour" },
75
+ "penn": { description: "Retrato e still life de moda em estúdio meio-século" },
76
+ "mcginley": { description: "Juventude naturalista + nudez na paisagem, candid com flare de sol" },
77
+ "mitchell": { description: "Retrato negro contemporâneo, luz natural suave" },
78
+ "collins": { description: "Moda onírica saturada de rosa com olhar feminino, 35mm enevoado" },
79
+ "weston": { description: "Still life modernista em P&B, nus escultóricos" },
80
+ "beaton": { description: "Retrato da era clássica de Hollywood, encenação teatral" },
81
+ }
82
+
83
+ export default map
@@ -0,0 +1,78 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- Editorial / Fashion --------------------
5
+ "tim-walker": { description: "Живописная сказочная мода" },
6
+ "paolo-roversi": { description: "Мягкое, эфирное Polaroid-сияние" },
7
+ "marta-bevacqua": { description: "Мечтательный живописный портрет" },
8
+ "patrick-demarchelier": { description: "Утончённый классический модный портрет" },
9
+ "nick-knight": { description: "Глянцевая авангардная мода" },
10
+ "mario-testino": { description: "Гламурная, залитая солнцем мода" },
11
+ "steven-meisel": { description: "Отполированная редакция середины века" },
12
+ "helmut-newton": { description: "Смелая чёрно-белая провокация" },
13
+ "mario-sorrenti": { description: "Интимная зернистая мода" },
14
+ "annie-leibovitz": { description: "Кинематографичный портрет знаменитости" },
15
+ "felicia-simion": { description: "Сюрреалистичное пасторальное изящное искусство" },
16
+ "oleg-oprisco": { description: "Кинематографичное повествование с зернистостью плёнки" },
17
+ "bella-kotak": { description: "Магический, фэнтези-фольклорный портрет" },
18
+ "yigal-ozeri": { description: "Гиперреалистичный написанный портрет" },
19
+ "jimmy-marble": { description: "Пастельная, конфетно-яркая редакция" },
20
+ "rinko-kawauchi": { description: "Тихая, наполненная светом повседневность" },
21
+ "ellen-von-unwerth": { description: "Игривая ретро пин-ап энергия" },
22
+
23
+ // -------------------- Documentary / Street --------------------
24
+ "henri-cartier-bresson": { description: "Уличная фотография решающего момента" },
25
+ "vivian-maier": { description: "Американская улица середины века" },
26
+ "saul-leiter": { description: "Живописная цветная улица через стекло" },
27
+ "daido-moriyama": { description: "Зернистая, высококонтрастная улица Токио" },
28
+ "robert-capa": { description: "Висцеральная боевая фотожурналистика" },
29
+ "sebastiao-salgado": { description: "Эпический монохромный социальный документ" },
30
+ "diane-arbus": { description: "Резкий, конфронтационный портрет" },
31
+
32
+ // -------------------- Cinematographers --------------------
33
+ "roger-deakins": { description: "Живописный кинематографический натурализм" },
34
+ "emmanuel-lubezki": { description: "Парящий кинематограф при естественном свете" },
35
+ "greig-fraser": { description: "Богатый тактильный жанровый кинематограф" },
36
+ "christopher-doyle": { description: "Насыщенное ручное неоновое настроение" },
37
+
38
+ // -------------------- Concept / Digital Painters --------------------
39
+ "greg-rutkowski": { description: "Эпическое живописное фэнтези концепт-арт" },
40
+ "magali-villeneuve": { description: "Героический фэнтезийный персонаж-арт" },
41
+ "charlie-bowater": { description: "Атмосферный цифровой портрет" },
42
+ "sam-spratt": { description: "Аллегорический гиперреалистичный портрет" },
43
+ "ruan-jia": { description: "Пышный живописный фэнтезийный портрет" },
44
+ "ilya-kuvshinov": { description: "Стилизованный портрет в духе аниме" },
45
+ "wlop": { description: "Эфирное живописное фэнтези" },
46
+ "artgerm": { description: "Отполированный пин-ап в стиле комиксов" },
47
+
48
+ // -------------------- Illustrators / Animators --------------------
49
+ "makoto-shinkai": { description: "Кинематографичное аниме-небо и свет" },
50
+ "studio-ghibli": { description: "Расписанная вручную теплота Ghibli" },
51
+ "alphonse-mucha": { description: "Декоративная панель ар-нуво" },
52
+ "carne-griffiths": { description: "Ботанический портрет с растеканием туши" },
53
+ "conrad-roset": { description: "Нежная акварельная фигура" },
54
+ "akihito-yoshida": { description: "Тихий монохром с тушью и зерном" },
55
+ "karol-bak": { description: "Символистская написанная муза" },
56
+ "ismail-inceoglu": { description: "Мифический живописный пейзаж" },
57
+ "stefan-gesell": { description: "Тёмный сюрреалистичный портрет" },
58
+ "andrew-atroshenko": { description: "Романтическая импрессионистская фигура" },
59
+ "peter-gric": { description: "Архитектурный сюрреалистичный пейзаж" },
60
+ "ingrid-baars": { description: "Скульптурный fashion-art коллаж" },
61
+ "guido-van-helten": { description: "Монументальный муралистский портрет" },
62
+ "mapplethorpe": { description: "Чёрно-белый студийный портрет, классические ню, цветы" },
63
+ "sherman": { description: "Концептуальные автопортреты, исследования образов" },
64
+ "crewdson": { description: "Кинематографичные пригороды, тревожные атмосферы" },
65
+ "lachapelle": { description: "Сюрреалистическая знаменитость / насыщенный кэмп" },
66
+ "klein": { description: "Высокая мода с резкостью, драматичный теневой свет" },
67
+ "lindbergh": { description: "Минималистичная Ч/Б мода, естественная красота" },
68
+ "tillmans": { description: "Современная непостановочная съёмка, квир-интимность" },
69
+ "teller": { description: "Повседневная мода со вспышкой, антигламур" },
70
+ "penn": { description: "Студийный портрет середины века, мода и натюрморт" },
71
+ "mcginley": { description: "Натуралистическая молодёжь и нагота на природе, солнечные блики и непостановочность" },
72
+ "mitchell": { description: "Современная чернокожая портретистика, мягкий естественный свет" },
73
+ "collins": { description: "Розово-насыщенная мечтательная мода женского взгляда, дымчатые 35мм" },
74
+ "weston": { description: "Модернистский Ч/Б натюрморт, скульптурные ню" },
75
+ "beaton": { description: "Портретистика классической голливудской эпохи, театральная постановка" },
76
+ }
77
+
78
+ export default map
@@ -0,0 +1,78 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- Editorial / Fashion --------------------
5
+ "tim-walker": { description: "以 Tim Walker 的风格,绘画感的童话时装布置,精心搭建的场景与柔和粉彩调色板" },
6
+ "paolo-roversi": { description: "以 Paolo Roversi 的风格,柔和、空灵的宝丽来光感,扩散的窗光与温暖奶白色调" },
7
+ "marta-bevacqua": { description: "以 Marta Bevacqua 的风格,梦幻绘画感的人像,静谧自然光与微微低饱和的肤色" },
8
+ "patrick-demarchelier":{ description: "以 Patrick Demarchelier 的风格,精致的经典时装人像,锐利的眼神光与永恒的克制感" },
9
+ "nick-knight": { description: "以 Nick Knight 的风格,光面前卫时装,饱和色彩、精准锐利与超现实布景" },
10
+ "mario-testino": { description: "以 Mario Testino 的风格,阳光下魅惑的时装感,自信摆姿与明快的大片色彩" },
11
+ "steven-meisel": { description: "以 Steven Meisel 的风格,精致的中世纪杂志大片人像,可控棚光与一丝不苟的造型" },
12
+ "helmut-newton": { description: "以 Helmut Newton 的风格,大胆挑衅的黑白,硬闪、深阴影与建筑感构图" },
13
+ "mario-sorrenti": { description: "以 Mario Sorrenti 的风格,亲密颗粒感的时装摄影,生硬自然光与忏悔般的近距感" },
14
+ "annie-leibovitz": { description: "以 Annie Leibovitz 的风格,电影感的明星人像,戏剧化布置与温暖立体的灯光" },
15
+ "felicia-simion": { description: "以 Felicia Simion 的风格,超现实田园美术摄影,安静的象征意味与柔和的大地色板" },
16
+ "oleg-oprisco": { description: "以 Oleg Oprisco 的风格,电影感的胶片颗粒叙事,绘画感的服装与模拟胶片的色调" },
17
+ "bella-kotak": { description: "以 Bella Kotak 的风格,魔幻奇幻民俗人像,金色光、花卉与丰富的绘画调色" },
18
+ "yigal-ozeri": { description: "以 Yigal Ozeri 的风格,超写实的绘画人像,通透的肤色与林间斑驳光" },
19
+ "jimmy-marble": { description: "以 Jimmy Marble 的风格,粉彩糖果般明亮的大片摄影,顽皮色块与干净棚拍形状" },
20
+ "rinko-kawauchi": { description: "以 Rinko Kawauchi 的风格,安静、被光浸透的日常摄影,梦幻粉雾与轻微过曝" },
21
+ "ellen-von-unwerth": { description: "以 Ellen von Unwerth 的风格,顽皮复古的海报女郎能量,黑白闪光与调皮肢体语言" },
22
+ "mapplethorpe": { description: "以 Robert Mapplethorpe 的风格,黑白棚拍人像、古典裸体与花卉静物" },
23
+ "sherman": { description: "以 Cindy Sherman 的风格,概念化自拍像与角色扮演研究" },
24
+ "crewdson": { description: "以 Gregory Crewdson 的风格,电影感的郊区场景,弥漫不安氛围" },
25
+ "lachapelle": { description: "以 David LaChapelle 的风格,超现实的明星大片,饱和而戏谑的 Camp 美学" },
26
+ "klein": { description: "以 Steven Klein 的风格,高级时装的硬朗气场,戏剧化的阴影灯光" },
27
+ "lindbergh": { description: "以 Peter Lindbergh 的风格,极简黑白时装,质朴本真的美感" },
28
+ "tillmans": { description: "以 Wolfgang Tillmans 的风格,当代抓拍,酷儿亲密感" },
29
+ "teller": { description: "以 Juergen Teller 的风格,随性的闪光时装,反魅惑感" },
30
+ "penn": { description: "以 Irving Penn 的风格,中世纪棚拍人像,时装与静物兼修" },
31
+
32
+ // -------------------- Documentary / Street --------------------
33
+ "henri-cartier-bresson":{ description: "以 Henri Cartier-Bresson 的风格,决定性瞬间的黑白街头摄影,几何构图与自然光" },
34
+ "vivian-maier": { description: "以 Vivian Maier 的风格,中世纪美国街头摄影,方形构图、敏锐的观察与银色丰盈的黑色" },
35
+ "saul-leiter": { description: "以 Saul Leiter 的风格,绘画感的彩色街拍透过雾玻璃与雨水,抽象层次构图" },
36
+ "daido-moriyama": { description: "以 Daido Moriyama 的风格,颗粒感、高对比的东京街头摄影,过曝高光与躁动的手持感" },
37
+ "robert-capa": { description: "以 Robert Capa 的风格,直击的战地摄影,动态模糊、粗糙颗粒与即时的手持视点" },
38
+ "sebastiao-salgado": { description: "以 Sebastiao Salgado 的风格,史诗感单色社会纪实,壮阔风光与明暗对比的影调" },
39
+ "diane-arbus": { description: "以 Diane Arbus 的风格,直白对峙的人像,正视镜头、方形画幅与不躲闪的日光" },
40
+
41
+ // -------------------- Cinematographers --------------------
42
+ "roger-deakins": { description: "以 Roger Deakins 的电影摄影风格,绘画般的自然光、刻画清晰的剪影、深邃的负空间与克制的色彩" },
43
+ "emmanuel-lubezki": { description: "以 Emmanuel Lubezki 的电影摄影风格,飘动的手持自然光,黄金时刻的金色辉光与广角包覆感" },
44
+ "greig-fraser": { description: "以 Greig Fraser 的电影摄影风格,丰富、有质感的类型片摄影,变形镜头光斑、深黑与氛围雾感" },
45
+ "christopher-doyle": { description: "以 Christopher Doyle 的电影摄影风格,饱和的手持霓虹氛围,拉丝光轨与梦幻慢门模糊" },
46
+
47
+ // -------------------- Concept --------------------
48
+ "greg-rutkowski": { description: "以 Greg Rutkowski 的风格,史诗绘画感的奇幻概念艺术,壮阔构图、戏剧化的光柱与油画笔触" },
49
+ "magali-villeneuve": { description: "以 Magali Villeneuve 的风格,英雄气质的奇幻角色艺术,精致铠甲、绘画感肤质与暖金光" },
50
+ "charlie-bowater": { description: "以 Charlie Bowater 的风格,氛围感数字人像,绘画肌理、阴郁色彩与亲密近景构图" },
51
+ "sam-spratt": { description: "以 Sam Spratt 的风格,寓言式超写实人像,雕塑感光影、象征性细节与古典大师的影调深度" },
52
+ "ruan-jia": { description: "以 Ruan Jia 的风格,丰盈绘画感的奇幻人像,华美布料、镀金点缀与暖色定向光" },
53
+ "ilya-kuvshinov": { description: "以 Ilya Kuvshinov 的风格,带动漫感的风格化人像,柔和赛璐璐感、偏大的眼睛与粉彩轮廓光" },
54
+ "wlop": { description: "以 WLOP 的风格,空灵绘画感的奇幻人像,飘动的发丝、发光的轮廓光与冷色单色板" },
55
+ "artgerm": { description: "以 Artgerm 的风格,精致的漫画感海报女郎插画,平滑渐变与利落的图形高光" },
56
+
57
+ // -------------------- Illustrators --------------------
58
+ "makoto-shinkai": { description: "以 Makoto Shinkai 的风格,电影感的动漫天空与光,发光的云、镜头光斑下的太阳与饱和的暮色渐变" },
59
+ "studio-ghibli": { description: "以 Studio Ghibli 的风格,手绘动画的温暖,柔和粉彩天空、葱郁植被与温柔的角色表情" },
60
+ "alphonse-mucha": { description: "以 Alphonse Mucha 的风格,新艺术装饰画板,花卉边框、飘逸的发丝与温暖镀金色调" },
61
+ "carne-griffiths": { description: "以 Carne Griffiths 的风格,墨水晕染的植物人像,书法线条、茶水点泼与缠绕花卉" },
62
+ "conrad-roset": { description: "以 Conrad Roset 的风格,温柔的水彩人像,柔和铅笔线、墨色晕染与浅淡肤色" },
63
+ "akihito-yoshida": { description: "以 Akihito Yoshida 的风格,安静的水墨颗粒感单色人像,速写线条与沉思般的负空间" },
64
+ "karol-bak": { description: "以 Karol Bak 的风格,象征派绘画女神,镀金叶子点缀、新艺术装饰与暖大地色颜料" },
65
+ "ismail-inceoglu": { description: "以 Ismail Inceoglu 的风格,神话般的绘画风光,巨幅尺度、层叠雾气与故事感灯光" },
66
+ "stefan-gesell": { description: "以 Stefan Gesell 的风格,黑暗超现实人像,高对比黑白、戴面具的人物与不安的舞台灯光" },
67
+ "andrew-atroshenko": { description: "以 Andrew Atroshenko 的风格,浪漫印象派人体油画,松散可见的笔触与闪烁的烛光" },
68
+ "peter-gric": { description: "以 Peter Gric 的风格,建筑感超现实风光,水晶状几何结构与冷调静谧色板" },
69
+ "ingrid-baars": { description: "以 Ingrid Baars 的风格,雕塑感时尚艺术拼贴,拉长的形体、平滑彩绘的肤质与精致面料" },
70
+ "guido-van-helten": { description: "以 Guido van Helten 的风格,纪念碑式壁画人像,风化水泥肌理与安静的灰阶影调" },
71
+ "mcginley": { description: "以 Ryan McGinley 的风格,自然主义的青年与裸体置身风景之中,阳光斑驳的抓拍" },
72
+ "mitchell": { description: "以 Tyler Mitchell 的风格,当代黑人肖像摄影,柔和的自然光" },
73
+ "collins": { description: "以 Petra Collins 的风格,粉色饱和的梦幻女性视角时装,朦胧的 35mm 颗粒感" },
74
+ "weston": { description: "以 Edward Weston 的风格,现代主义黑白静物,雕塑感的人体" },
75
+ "beaton": { description: "以 Cecil Beaton 的风格,古典好莱坞时代的肖像摄影,戏剧化的舞台布置" },
76
+ }
77
+
78
+ export default map
@@ -0,0 +1,95 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ "standing-upright": { label: "وقوف مستقيم", description: "وضعية وقوف مسترخية" },
5
+ "confident-stance": { label: "وضعية واثقة", description: "أقدام متباعدة، أكتاف للخلف" },
6
+ "hands-on-hips": { label: "اليدان على الخصر", description: "اليدان على الخصر" },
7
+ "arms-crossed": { label: "ذراعان متقاطعتان", description: "ذراعان مطويتان عبر الصدر" },
8
+ "leaning": { label: "اتكاء", description: "اتكاء على شيء" },
9
+ "hero-pose": { label: "Hero Pose", description: "وضعية بطولية درامية" },
10
+ "contrapposto": { label: "Contrapposto", description: "ورك مائل، الوزن على رجل واحدة" },
11
+ "leaning-against-wall": { label: "اتكاء على جدار", description: "اتكاء بشكل عفوي على جدار" },
12
+ "hands-behind-head": { label: "يدان خلف الرأس", description: "كلا اليدين متشابكتان خلف الرأس" },
13
+ "hands-behind-back": { label: "يدان خلف الظهر", description: "اليدان متشابكتان خلف الظهر" },
14
+
15
+ "sitting": { label: "جالس", description: "جالس بشكل طبيعي" },
16
+ "cross-legged": { label: "متربع", description: "جالس متربعا على الأرض" },
17
+ "kneeling": { label: "راكع", description: "راكع على ركبة أو ركبتين" },
18
+ "crouching": { label: "قرفصاء", description: "قرفصاء منخفضة" },
19
+ "lounging": { label: "متمدد", description: "جلوس مائل مسترخ" },
20
+ "sitting-edge-of-bed": { label: "جالس على حافة السرير", description: "جالس على حافة سرير" },
21
+ "chair-arm-drape": { label: "أرجل متدلية فوق الكرسي", description: "أرجل متدلية فوق ذراع الكرسي" },
22
+ "elbow-propped": { label: "خد على كوع مدعوم", description: "خد مرتاح على كوع مدعوم" },
23
+ "lying-on-stomach-reading": { label: "مستلق على البطن يقرأ", description: "مستلق على البطن، مدعوم على المرفقين يقرأ" },
24
+
25
+ "walking": { label: "مشي", description: "في وسط خطوة المشي" },
26
+ "running": { label: "ركض", description: "في وسط الركض، في حركة" },
27
+ "jumping": { label: "قفز", description: "في الهواء، في وسط القفز" },
28
+ "dancing": { label: "رقص", description: "في وسط الرقص" },
29
+ "climbing": { label: "تسلق", description: "تسلق، إمساك للأعلى" },
30
+ "mid-fall": { label: "في وسط السقوط", description: "في وسط السقوط عبر الهواء" },
31
+ "mid-spin": { label: "في وسط الدوران", description: "في وسط دورة، في تدوير" },
32
+ "stretching": { label: "تمدد", description: "تمدد كامل الجسم، ذراعان فوق الرأس" },
33
+ "reaching-up": { label: "مد لأعلى", description: "ذراعان ممدودتان فوق الرأس" },
34
+ "kissing": { label: "تقبيل", description: "مقفل في قبلة" },
35
+ "riding": { label: "ركوب", description: "ركوب دراجة، حصان، أو دراجة نارية" },
36
+ "driving": { label: "قيادة", description: "خلف عجلة قيادة مركبة" },
37
+
38
+ "fighting-stance": { label: "وضعية قتالية", description: "وضعية قتالية جاهزة للنزال" },
39
+ "reaching": { label: "مد", description: "مد للخارج" },
40
+ "throwing": { label: "رمي", description: "حركة في وسط الرمي" },
41
+ "leaping": { label: "وثب", description: "وثب للأمام بشكل ديناميكي" },
42
+ "dramatic-action": { label: "حركة درامية", description: "وضعية حركة درامية مبالغ فيها" },
43
+ "biting-lip": { label: "عض الشفة", description: "عض شفة لعوب طفيف" },
44
+ "mid-laugh": { label: "في وسط الضحك", description: "في وسط الضحك، الرأس للخلف" },
45
+ "pointing-at-camera": { label: "إشارة للكاميرا", description: "إشارة مباشرة للكاميرا" },
46
+ "tongue-out": { label: "إخراج اللسان", description: "تعبير لعوب بإخراج اللسان" },
47
+ "thinking": { label: "تفكير", description: "اليد على الذقن، تأمليا" },
48
+
49
+ "lying-down": { label: "مستلق", description: "مستلق بشكل مسطح" },
50
+ "sleeping": { label: "نائم", description: "العيون مغلقة، نائم" },
51
+ "hugging": { label: "معانقة", description: "معانقة شخص آخر" },
52
+ "looking-away": { label: "ينظر بعيدا", description: "الرأس مدار، ينظر بعيدا" },
53
+ "looking-up": { label: "ينظر للأعلى", description: "يحدق في السماء" },
54
+ "looking-down": { label: "ينظر للأسفل", description: "العيون خافضة" },
55
+ "head-over-shoulder": { label: "رأس فوق الكتف", description: "ينظر للوراء فوق الكتف" },
56
+ "wading-in-water": { label: "يخوض في الماء", description: "يخوض في الماء حتى منتصف الفخذ" },
57
+
58
+ "hands-in-pockets": { label: "يدان في الجيوب", description: "كلا اليدين مدسوستان في الجيوب" },
59
+ "hand-on-hip": { label: "يد على الخصر", description: "يد واحدة على الخصر" },
60
+ "hand-position-hands-on-hips": { label: "يدان على الخصر", description: "كلا اليدين على الخصر" },
61
+ "hand-on-chin": { label: "يد على الذقن", description: "يد مرتاحة تحت الذقن" },
62
+ "hand-on-collarbone": { label: "يد على الترقوة", description: "يد مرتاحة عبر الترقوة" },
63
+ "hand-brushing-hair": { label: "يد تمشط الشعر", description: "يد تمر عبر الشعر" },
64
+ "finger-to-lip": { label: "إصبع على الشفة", description: "طرف إصبع مضغوط على الشفة السفلية" },
65
+ "arms-wrapped-around-self": { label: "ذراعان ملفوفتان حول الذات", description: "عناق ذاتي، ذراعان حول الجذع" },
66
+ "hands-clasped": { label: "يدان متشابكتان", description: "كلا اليدين متشابكتان من الأمام" },
67
+
68
+ "leaning-back": { label: "اتكاء للخلف", description: "الجذع يتكئ للخلف قليلا" },
69
+ "leaning-forward": { label: "اتكاء للأمام", description: "الجذع يتكئ نحو الكاميرا" },
70
+ "body-lean-contrapposto": { label: "Contrapposto", description: "الوزن على رجل واحدة، ورك للخارج" },
71
+ "arched-back": { label: "ظهر مقوس", description: "الظهر مقوس برقة، الصدر للأمام" },
72
+ "shoulder-rolled-forward": { label: "كتف ملتف للأمام", description: "كتف واحد ملتف للأمام" },
73
+
74
+ "tilted-up": { label: "مائل لأعلى", description: "الرأس مائل قليلا للأعلى" },
75
+ "tilted-down": { label: "مائل لأسفل", description: "الرأس مائل قليلا للأسفل" },
76
+ "tilted-side": { label: "مائل جانبيا", description: "الرأس مائل نحو الكتف" },
77
+ "tilted-back": { label: "مائل للخلف", description: "الرأس بالكامل للخلف، الحلق مكشوف" },
78
+ "chin-up": { label: "ذقن لأعلى", description: "ذقن مرفوع، ينظر من فوق الأنف" },
79
+ "chin-tucked": { label: "ذقن مدسوس", description: "الذقن مدسوس نحو الصدر" },
80
+
81
+ "activity-smoking": { label: "تدخين", description: "حمل وتدخين سيجارة" },
82
+ "activity-drinking": { label: "شرب", description: "شرب من كأس أو كوب" },
83
+ "activity-eating": { label: "أكل", description: "في وسط القضمة" },
84
+ "activity-talking-on-phone": { label: "تحدث بالهاتف", description: "هاتف على الأذن، يتحدث" },
85
+ "activity-texting": { label: "إرسال رسائل", description: "ينظر لأسفل للهاتف، الإبهام يكتب" },
86
+ "activity-typing-laptop": { label: "كتابة على لابتوب", description: "اليدان على لوحة المفاتيح، مركز على الشاشة" },
87
+ "activity-reading": { label: "قراءة", description: "يحمل كتابا أو مجلة مفتوحة" },
88
+ "activity-writing": { label: "كتابة", description: "يكتب في دفتر بقلم" },
89
+ "activity-painting": { label: "رسم", description: "يرسم على لوحة بفرشاة" },
90
+ "activity-playing-instrument": { label: "عزف آلة", description: "عزف آلة موسيقية" },
91
+ "activity-cooking": { label: "طبخ", description: "طبخ في طاولة مطبخ أو موقد" },
92
+ "activity-driving": { label: "قيادة", description: "خلف العجلة، اليدان قابضتان" },
93
+ }
94
+
95
+ export default map