@nodaro/shared 1.4.1

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,126 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- Ages --------------------
5
+ "infant": { label: "Bebê", description: "0-2 anos" },
6
+ "child": { label: "Criança", description: "5-12 anos" },
7
+ "preteen": { label: "Pré-Adolescente", description: "10-13 anos" },
8
+ "teen": { label: "Adolescente", description: "13-19 anos" },
9
+ "young-adult": { label: "Adulto Jovem", description: "20-35 anos" },
10
+ "middle-aged": { label: "Meia-Idade", description: "36-55 anos" },
11
+ "mature": { label: "Maduro", description: "55-70 anos" },
12
+ "elderly": { label: "Idoso", description: "70+ anos" },
13
+
14
+ // -------------------- Genders --------------------
15
+ "male": { label: "Masculino", description: "Voz masculina" },
16
+ "female": { label: "Feminino", description: "Voz feminina" },
17
+ "androgynous": { label: "Andrógino", description: "Neutro de gênero" },
18
+
19
+ // -------------------- Languages --------------------
20
+ "english": { label: "Inglês", description: "Inglês" },
21
+ "spanish": { label: "Espanhol", description: "Espanhol (castelhano / latino-americano)" },
22
+ "french": { label: "Francês", description: "Francês" },
23
+ "german": { label: "Alemão", description: "Alemão" },
24
+ "italian": { label: "Italiano", description: "Italiano" },
25
+ "portuguese": { label: "Português", description: "Português / brasileiro" },
26
+ "dutch": { label: "Holandês", description: "Holandês" },
27
+ "russian": { label: "Russo", description: "Russo" },
28
+ "polish": { label: "Polonês", description: "Polonês" },
29
+ "ukrainian": { label: "Ucraniano", description: "Ucraniano" },
30
+ "swedish": { label: "Sueco", description: "Sueco" },
31
+ "norwegian": { label: "Norueguês", description: "Norueguês" },
32
+ "danish": { label: "Dinamarquês", description: "Dinamarquês" },
33
+ "finnish": { label: "Finlandês", description: "Finlandês" },
34
+ "greek": { label: "Grego", description: "Grego" },
35
+ "turkish": { label: "Turco", description: "Turco" },
36
+ "arabic": { label: "Árabe", description: "Árabe padrão moderno" },
37
+ "hebrew": { label: "Hebraico", description: "Hebraico" },
38
+ "persian": { label: "Persa", description: "Persa / farsi" },
39
+ "hindi": { label: "Hindi", description: "Hindi" },
40
+ "bengali": { label: "Bengali", description: "Bengali / bangla" },
41
+ "tamil": { label: "Tâmil", description: "Tâmil" },
42
+ "urdu": { label: "Urdu", description: "Urdu" },
43
+ "tagalog": { label: "Tagalo", description: "Tagalo / filipino" },
44
+ "indonesian": { label: "Indonésio", description: "Bahasa Indonesia" },
45
+ "thai": { label: "Tailandês", description: "Tailandês" },
46
+ "vietnamese": { label: "Vietnamita", description: "Vietnamita" },
47
+ "mandarin": { label: "Mandarim", description: "Chinês mandarim" },
48
+ "cantonese": { label: "Cantonês", description: "Chinês cantonês" },
49
+ "japanese": { label: "Japonês", description: "Japonês" },
50
+ "korean": { label: "Coreano", description: "Coreano" },
51
+ "swahili": { label: "Suaíli", description: "Suaíli" },
52
+ "yoruba": { label: "Iorubá", description: "Iorubá" },
53
+
54
+ // -------------------- Accents --------------------
55
+ "general-american": { label: "Americano Geral", description: "Sotaque americano neutro" },
56
+ "southern-us": { label: "Sulista EUA", description: "Sotaque arrastado do sul dos EUA" },
57
+ "new-york": { label: "Nova York", description: "Sotaque metropolitano de NY" },
58
+ "boston": { label: "Boston", description: "Sotaque de Boston / Massachusetts" },
59
+ "midwestern-us": { label: "Centro-Oeste", description: "Coração dos EUA" },
60
+ "chicago": { label: "Chicago", description: "Urbano do Centro-Oeste superior" },
61
+ "appalachian": { label: "Apalaches", description: "Sul montanhoso" },
62
+ "canadian": { label: "Canadense", description: "Inglês canadense" },
63
+ "british-rp": { label: "RP Britânico", description: "Pronúncia recebida" },
64
+ "cockney": { label: "Cockney", description: "Classe operária londrina" },
65
+ "estuary-english": { label: "Estuary", description: "Sudeste da Inglaterra" },
66
+ "northern-english": { label: "Inglês do Norte", description: "Manchester / Yorkshire" },
67
+ "scouse": { label: "Scouse", description: "Liverpool" },
68
+ "geordie": { label: "Geordie", description: "Newcastle" },
69
+ "scottish": { label: "Escocês", description: "Escócia" },
70
+ "irish": { label: "Irlandês", description: "Irlanda" },
71
+ "welsh": { label: "Galês", description: "País de Gales" },
72
+ "australian": { label: "Australiano", description: "Austrália" },
73
+ "new-zealand": { label: "Neozelandês", description: "Kiwi de NZ" },
74
+ "south-african": { label: "Sul-Africano", description: "África do Sul" },
75
+ "indian-english": { label: "Inglês Indiano", description: "Inglês do sul da Ásia" },
76
+ "caribbean": { label: "Caribenho", description: "Inglês caribenho" },
77
+ "jamaican": { label: "Jamaicano", description: "Patois jamaicano" },
78
+ "french-accented": { label: "Francês", description: "Inglês com sotaque francês" },
79
+ "italian-accented": { label: "Italiano", description: "Inglês com sotaque italiano" },
80
+ "german-accented": { label: "Alemão", description: "Inglês com sotaque alemão" },
81
+ "dutch-accented": { label: "Holandês", description: "Inglês com sotaque holandês" },
82
+ "russian-accented": { label: "Russo", description: "Inglês com sotaque russo" },
83
+ "polish-accented": { label: "Polonês", description: "Inglês com sotaque polonês" },
84
+ "spanish-accented": { label: "Espanhol", description: "Inglês com sotaque espanhol" },
85
+ "portuguese-accented": { label: "Português", description: "Português / brasileiro" },
86
+ "scandinavian-accented": { label: "Escandinavo", description: "Inglês com sotaque nórdico" },
87
+ "mexican-accented": { label: "Mexicano", description: "Inglês com sotaque mexicano" },
88
+ "argentinian-accented": { label: "Argentino", description: "Río de la Plata" },
89
+ "japanese-accented": { label: "Japonês", description: "Inglês com sotaque japonês" },
90
+ "korean-accented": { label: "Coreano", description: "Inglês com sotaque coreano" },
91
+ "chinese-accented": { label: "Chinês", description: "Sotaque mandarim" },
92
+ "filipino-accented": { label: "Filipino", description: "Inglês com sotaque filipino" },
93
+ "arabic-accented": { label: "Árabe", description: "Inglês com sotaque árabe" },
94
+ "hebrew-accented": { label: "Hebraico", description: "Inglês com sotaque israelense" },
95
+ "turkish-accented": { label: "Turco", description: "Inglês com sotaque turco" },
96
+ "persian-accented": { label: "Persa", description: "Inglês com sotaque persa" },
97
+ "nigerian-accented": { label: "Nigeriano", description: "Inglês nigeriano" },
98
+ "neutral-international": { label: "Internacional Neutro", description: "Sem região específica" },
99
+ "transatlantic": { label: "Transatlântico", description: "Teatral médio-atlântico" },
100
+
101
+ // -------------------- Timbres --------------------
102
+ "warm": { label: "Caloroso", description: "Rico, acolhedor" },
103
+ "smooth": { label: "Suave", description: "Limpo, regular" },
104
+ "silky": { label: "Sedoso", description: "Macio, refinado" },
105
+ "velvety": { label: "Aveludado", description: "Exuberante, fofo" },
106
+ "raspy": { label: "Áspero", description: "Rugoso, texturizado" },
107
+ "gravelly": { label: "Granulado", description: "Profundamente texturizado" },
108
+ "rough": { label: "Rude", description: "Grosso, desgastado" },
109
+ "husky": { label: "Rouco", description: "Gutural, rouco" },
110
+ "breathy": { label: "Sussurrante", description: "Arejado, íntimo" },
111
+ "whispered": { label: "Cochichado", description: "Abafado, íntimo" },
112
+ "nasal": { label: "Nasal", description: "Ressoa no nariz" },
113
+ "twangy": { label: "Anasalado", description: "Agudo, regional" },
114
+ "deep": { label: "Grave", description: "Faixa baixa" },
115
+ "booming": { label: "Estrondoso", description: "Ressonante, amplo" },
116
+ "high-pitched": { label: "Agudo", description: "Registro alto" },
117
+ "squeaky": { label: "Esganiçado", description: "Fino, penetrante" },
118
+ "bright": { label: "Brilhante", description: "Nítido, frontal" },
119
+ "dark": { label: "Escuro", description: "Pesado, sombrio" },
120
+ "youthful": { label: "Jovem", description: "Leve, fresco" },
121
+ "authoritative": { label: "Autoritário", description: "Imponente" },
122
+ "sultry": { label: "Sensual", description: "Sensual, esfumaçado" },
123
+ "polished": { label: "Polido", description: "Praticado, pronto para transmissão" },
124
+ }
125
+
126
+ export default map
@@ -0,0 +1,126 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- Ages --------------------
5
+ "infant": { label: "Младенец", description: "0-2 года" },
6
+ "child": { label: "Ребёнок", description: "5-12 лет" },
7
+ "preteen": { label: "Предподросток", description: "10-13 лет" },
8
+ "teen": { label: "Подросток", description: "13-19 лет" },
9
+ "young-adult": { label: "Молодой Взрослый", description: "20-35 лет" },
10
+ "middle-aged": { label: "Средний Возраст", description: "36-55 лет" },
11
+ "mature": { label: "Зрелый", description: "55-70 лет" },
12
+ "elderly": { label: "Пожилой", description: "70+ лет" },
13
+
14
+ // -------------------- Genders --------------------
15
+ "male": { label: "Мужской", description: "Мужской голос" },
16
+ "female": { label: "Женский", description: "Женский голос" },
17
+ "androgynous": { label: "Андрогинный", description: "Гендерно-нейтральный" },
18
+
19
+ // -------------------- Languages --------------------
20
+ "english": { label: "Английский", description: "Английский" },
21
+ "spanish": { label: "Испанский", description: "Испанский (кастильский / латиноамериканский)" },
22
+ "french": { label: "Французский", description: "Французский" },
23
+ "german": { label: "Немецкий", description: "Немецкий" },
24
+ "italian": { label: "Итальянский", description: "Итальянский" },
25
+ "portuguese": { label: "Португальский", description: "Португальский / бразильский" },
26
+ "dutch": { label: "Нидерландский", description: "Нидерландский" },
27
+ "russian": { label: "Русский", description: "Русский" },
28
+ "polish": { label: "Польский", description: "Польский" },
29
+ "ukrainian": { label: "Украинский", description: "Украинский" },
30
+ "swedish": { label: "Шведский", description: "Шведский" },
31
+ "norwegian": { label: "Норвежский", description: "Норвежский" },
32
+ "danish": { label: "Датский", description: "Датский" },
33
+ "finnish": { label: "Финский", description: "Финский" },
34
+ "greek": { label: "Греческий", description: "Греческий" },
35
+ "turkish": { label: "Турецкий", description: "Турецкий" },
36
+ "arabic": { label: "Арабский", description: "Современный стандартный арабский" },
37
+ "hebrew": { label: "Иврит", description: "Иврит" },
38
+ "persian": { label: "Персидский", description: "Персидский / фарси" },
39
+ "hindi": { label: "Хинди", description: "Хинди" },
40
+ "bengali": { label: "Бенгальский", description: "Бенгальский / бангла" },
41
+ "tamil": { label: "Тамильский", description: "Тамильский" },
42
+ "urdu": { label: "Урду", description: "Урду" },
43
+ "tagalog": { label: "Тагальский", description: "Тагальский / филиппинский" },
44
+ "indonesian": { label: "Индонезийский", description: "Bahasa Indonesia" },
45
+ "thai": { label: "Тайский", description: "Тайский" },
46
+ "vietnamese": { label: "Вьетнамский", description: "Вьетнамский" },
47
+ "mandarin": { label: "Мандаринский", description: "Китайский мандаринский" },
48
+ "cantonese": { label: "Кантонский", description: "Китайский кантонский" },
49
+ "japanese": { label: "Японский", description: "Японский" },
50
+ "korean": { label: "Корейский", description: "Корейский" },
51
+ "swahili": { label: "Суахили", description: "Суахили" },
52
+ "yoruba": { label: "Йоруба", description: "Йоруба" },
53
+
54
+ // -------------------- Accents --------------------
55
+ "general-american": { label: "Общеамериканский", description: "Нейтральный американский акцент" },
56
+ "southern-us": { label: "Южный США", description: "Южноамериканский тягучий" },
57
+ "new-york": { label: "Нью-Йорк", description: "Метро-акцент Нью-Йорка" },
58
+ "boston": { label: "Бостон", description: "Бостон / Массачусетс" },
59
+ "midwestern-us": { label: "Средний Запад", description: "Сердце США" },
60
+ "chicago": { label: "Чикаго", description: "Городской верхний Средний Запад" },
61
+ "appalachian": { label: "Аппалачский", description: "Горный Юг" },
62
+ "canadian": { label: "Канадский", description: "Канадский английский" },
63
+ "british-rp": { label: "Британский RP", description: "Received Pronunciation" },
64
+ "cockney": { label: "Кокни", description: "Лондонский рабочий класс" },
65
+ "estuary-english": { label: "Estuary", description: "Юго-восток Англии" },
66
+ "northern-english": { label: "Северный Английский", description: "Манчестер / Йоркшир" },
67
+ "scouse": { label: "Scouse", description: "Ливерпуль" },
68
+ "geordie": { label: "Geordie", description: "Ньюкасл" },
69
+ "scottish": { label: "Шотландский", description: "Шотландия" },
70
+ "irish": { label: "Ирландский", description: "Ирландия" },
71
+ "welsh": { label: "Валлийский", description: "Уэльс" },
72
+ "australian": { label: "Австралийский", description: "Австралия" },
73
+ "new-zealand": { label: "Новозеландский", description: "Киви Новой Зеландии" },
74
+ "south-african": { label: "Южноафриканский", description: "Южная Африка" },
75
+ "indian-english": { label: "Индийский Английский", description: "Английский Южной Азии" },
76
+ "caribbean": { label: "Карибский", description: "Карибский английский" },
77
+ "jamaican": { label: "Ямайский", description: "Ямайский патуа" },
78
+ "french-accented": { label: "Французский", description: "Английский с французским акцентом" },
79
+ "italian-accented": { label: "Итальянский", description: "Английский с итальянским акцентом" },
80
+ "german-accented": { label: "Немецкий", description: "Английский с немецким акцентом" },
81
+ "dutch-accented": { label: "Нидерландский", description: "Английский с нидерландским акцентом" },
82
+ "russian-accented": { label: "Русский", description: "Английский с русским акцентом" },
83
+ "polish-accented": { label: "Польский", description: "Английский с польским акцентом" },
84
+ "spanish-accented": { label: "Испанский", description: "Английский с испанским акцентом" },
85
+ "portuguese-accented": { label: "Португальский", description: "Португальский / бразильский" },
86
+ "scandinavian-accented": { label: "Скандинавский", description: "Английский со скандинавским акцентом" },
87
+ "mexican-accented": { label: "Мексиканский", description: "Английский с мексиканским акцентом" },
88
+ "argentinian-accented": { label: "Аргентинский", description: "Río de la Plata" },
89
+ "japanese-accented": { label: "Японский", description: "Английский с японским акцентом" },
90
+ "korean-accented": { label: "Корейский", description: "Английский с корейским акцентом" },
91
+ "chinese-accented": { label: "Китайский", description: "Мандаринский акцент" },
92
+ "filipino-accented": { label: "Филиппинский", description: "Английский с филиппинским акцентом" },
93
+ "arabic-accented": { label: "Арабский", description: "Английский с арабским акцентом" },
94
+ "hebrew-accented": { label: "Иврит", description: "Английский с израильским акцентом" },
95
+ "turkish-accented": { label: "Турецкий", description: "Английский с турецким акцентом" },
96
+ "persian-accented": { label: "Персидский", description: "Английский с персидским акцентом" },
97
+ "nigerian-accented": { label: "Нигерийский", description: "Нигерийский английский" },
98
+ "neutral-international": { label: "Нейтральный Международный", description: "Без привязки к региону" },
99
+ "transatlantic": { label: "Трансатлантический", description: "Театральный среднеатлантический" },
100
+
101
+ // -------------------- Timbres --------------------
102
+ "warm": { label: "Тёплый", description: "Богатый, располагающий" },
103
+ "smooth": { label: "Гладкий", description: "Чистый, ровный" },
104
+ "silky": { label: "Шелковистый", description: "Мягкий, утончённый" },
105
+ "velvety": { label: "Бархатистый", description: "Пышный, плюшевый" },
106
+ "raspy": { label: "Скрипучий", description: "Грубый, текстурный" },
107
+ "gravelly": { label: "Гравийный", description: "Глубоко текстурный" },
108
+ "rough": { label: "Грубый", description: "Шершавый, обветренный" },
109
+ "husky": { label: "Хриплый", description: "Гортанный, осипший" },
110
+ "breathy": { label: "Придыхательный", description: "Воздушный, интимный" },
111
+ "whispered": { label: "Шёпотный", description: "Приглушённый, интимный" },
112
+ "nasal": { label: "Гнусавый", description: "Резонирует в носу" },
113
+ "twangy": { label: "Носовой", description: "Резкий, региональный" },
114
+ "deep": { label: "Глубокий", description: "Низкий регистр" },
115
+ "booming": { label: "Гулкий", description: "Резонансный, объёмный" },
116
+ "high-pitched": { label: "Высокий", description: "Верхний регистр" },
117
+ "squeaky": { label: "Писклявый", description: "Тонкий, пронзительный" },
118
+ "bright": { label: "Яркий", description: "Чёткий, выдвинутый вперёд" },
119
+ "dark": { label: "Тёмный", description: "Тяжёлый, мрачный" },
120
+ "youthful": { label: "Юный", description: "Лёгкий, свежий" },
121
+ "authoritative": { label: "Властный", description: "Командный" },
122
+ "sultry": { label: "Чувственный", description: "Чувственный, дымчатый" },
123
+ "polished": { label: "Отточенный", description: "Натренированный, эфирный" },
124
+ }
125
+
126
+ export default map
@@ -0,0 +1,126 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- Ages --------------------
5
+ "infant": { label: "婴儿", description: "0-2岁" },
6
+ "child": { label: "儿童", description: "5-12岁" },
7
+ "preteen": { label: "学龄前", description: "10-13岁" },
8
+ "teen": { label: "青少年", description: "13-19岁" },
9
+ "young-adult": { label: "青年", description: "20-35岁" },
10
+ "middle-aged": { label: "中年", description: "36-55岁" },
11
+ "mature": { label: "成熟", description: "55-70岁" },
12
+ "elderly": { label: "老年", description: "70岁以上" },
13
+
14
+ // -------------------- Genders --------------------
15
+ "male": { label: "男性", description: "男声" },
16
+ "female": { label: "女性", description: "女声" },
17
+ "androgynous": { label: "中性", description: "不分性别" },
18
+
19
+ // -------------------- Languages --------------------
20
+ "english": { label: "英语", description: "英语" },
21
+ "spanish": { label: "西班牙语", description: "西班牙语(卡斯蒂利亚/拉美)" },
22
+ "french": { label: "法语", description: "法语" },
23
+ "german": { label: "德语", description: "德语" },
24
+ "italian": { label: "意大利语", description: "意大利语" },
25
+ "portuguese": { label: "葡萄牙语", description: "葡萄牙语/巴西" },
26
+ "dutch": { label: "荷兰语", description: "荷兰语" },
27
+ "russian": { label: "俄语", description: "俄语" },
28
+ "polish": { label: "波兰语", description: "波兰语" },
29
+ "ukrainian": { label: "乌克兰语", description: "乌克兰语" },
30
+ "swedish": { label: "瑞典语", description: "瑞典语" },
31
+ "norwegian": { label: "挪威语", description: "挪威语" },
32
+ "danish": { label: "丹麦语", description: "丹麦语" },
33
+ "finnish": { label: "芬兰语", description: "芬兰语" },
34
+ "greek": { label: "希腊语", description: "希腊语" },
35
+ "turkish": { label: "土耳其语", description: "土耳其语" },
36
+ "arabic": { label: "阿拉伯语", description: "现代标准阿拉伯语" },
37
+ "hebrew": { label: "希伯来语", description: "希伯来语" },
38
+ "persian": { label: "波斯语", description: "波斯语/法尔西" },
39
+ "hindi": { label: "印地语", description: "印地语" },
40
+ "bengali": { label: "孟加拉语", description: "孟加拉语" },
41
+ "tamil": { label: "泰米尔语", description: "泰米尔语" },
42
+ "urdu": { label: "乌尔都语", description: "乌尔都语" },
43
+ "tagalog": { label: "他加禄语", description: "他加禄语/菲律宾语" },
44
+ "indonesian": { label: "印尼语", description: "印尼语" },
45
+ "thai": { label: "泰语", description: "泰语" },
46
+ "vietnamese": { label: "越南语", description: "越南语" },
47
+ "mandarin": { label: "普通话", description: "普通话(官话)" },
48
+ "cantonese": { label: "粤语", description: "粤语" },
49
+ "japanese": { label: "日语", description: "日语" },
50
+ "korean": { label: "韩语", description: "韩语" },
51
+ "swahili": { label: "斯瓦希里语", description: "斯瓦希里语" },
52
+ "yoruba": { label: "约鲁巴语", description: "约鲁巴语" },
53
+
54
+ // -------------------- Accents --------------------
55
+ "general-american": { label: "通用美式", description: "中性美式口音" },
56
+ "southern-us": { label: "美国南部", description: "美国南部拖腔" },
57
+ "new-york": { label: "纽约", description: "纽约都市口音" },
58
+ "boston": { label: "波士顿", description: "波士顿/马萨诸塞口音" },
59
+ "midwestern-us": { label: "中西部", description: "美国腹地" },
60
+ "chicago": { label: "芝加哥", description: "上中西部都市" },
61
+ "appalachian": { label: "阿巴拉契亚", description: "山地南部" },
62
+ "canadian": { label: "加拿大", description: "加拿大英语" },
63
+ "british-rp": { label: "英式RP", description: "Received Pronunciation" },
64
+ "cockney": { label: "考克尼", description: "伦敦工人阶级" },
65
+ "estuary-english": { label: "河口英语", description: "英格兰东南部" },
66
+ "northern-english": { label: "北英格兰", description: "曼彻斯特/约克郡" },
67
+ "scouse": { label: "斯考斯", description: "利物浦" },
68
+ "geordie": { label: "乔迪", description: "纽卡斯尔" },
69
+ "scottish": { label: "苏格兰", description: "苏格兰" },
70
+ "irish": { label: "爱尔兰", description: "爱尔兰" },
71
+ "welsh": { label: "威尔士", description: "威尔士" },
72
+ "australian": { label: "澳大利亚", description: "澳大利亚" },
73
+ "new-zealand": { label: "新西兰", description: "新西兰" },
74
+ "south-african": { label: "南非", description: "南非" },
75
+ "indian-english": { label: "印度英语", description: "南亚英语" },
76
+ "caribbean": { label: "加勒比", description: "加勒比英语" },
77
+ "jamaican": { label: "牙买加", description: "牙买加帕托瓦" },
78
+ "french-accented": { label: "法语口音", description: "法语口音英语" },
79
+ "italian-accented": { label: "意大利语口音", description: "意大利语口音英语" },
80
+ "german-accented": { label: "德语口音", description: "德语口音英语" },
81
+ "dutch-accented": { label: "荷兰语口音", description: "荷兰语口音英语" },
82
+ "russian-accented": { label: "俄语口音", description: "俄语口音英语" },
83
+ "polish-accented": { label: "波兰语口音", description: "波兰语口音英语" },
84
+ "spanish-accented": { label: "西班牙语口音", description: "西班牙语口音英语" },
85
+ "portuguese-accented": { label: "葡萄牙语口音", description: "葡萄牙语/巴西口音" },
86
+ "scandinavian-accented": { label: "北欧口音", description: "北欧口音英语" },
87
+ "mexican-accented": { label: "墨西哥口音", description: "墨西哥口音英语" },
88
+ "argentinian-accented": { label: "阿根廷口音", description: "拉普拉塔河流域" },
89
+ "japanese-accented": { label: "日语口音", description: "日语口音英语" },
90
+ "korean-accented": { label: "韩语口音", description: "韩语口音英语" },
91
+ "chinese-accented": { label: "中文口音", description: "普通话口音" },
92
+ "filipino-accented": { label: "菲律宾口音", description: "菲律宾口音英语" },
93
+ "arabic-accented": { label: "阿拉伯语口音", description: "阿拉伯语口音英语" },
94
+ "hebrew-accented": { label: "希伯来语口音", description: "以色列口音英语" },
95
+ "turkish-accented": { label: "土耳其语口音", description: "土耳其语口音英语" },
96
+ "persian-accented": { label: "波斯语口音", description: "波斯语口音英语" },
97
+ "nigerian-accented": { label: "尼日利亚口音", description: "尼日利亚英语" },
98
+ "neutral-international": { label: "中性国际", description: "无地域特征" },
99
+ "transatlantic": { label: "跨大西洋", description: "中大西洋戏剧腔" },
100
+
101
+ // -------------------- Timbres --------------------
102
+ "warm": { label: "温暖", description: "饱满,亲切" },
103
+ "smooth": { label: "顺滑", description: "干净,均匀" },
104
+ "silky": { label: "丝滑", description: "柔和,精致" },
105
+ "velvety": { label: "天鹅绒般", description: "丰润,蓬松" },
106
+ "raspy": { label: "沙哑", description: "粗糙,有质感" },
107
+ "gravelly": { label: "粗砾", description: "深具质感" },
108
+ "rough": { label: "粗犷", description: "粗糙,饱经风霜" },
109
+ "husky": { label: "嘶哑", description: "喉音,沙哑" },
110
+ "breathy": { label: "气声", description: "通透,亲密" },
111
+ "whispered": { label: "低语", description: "轻柔,亲密" },
112
+ "nasal": { label: "鼻音", description: "鼻腔共鸣" },
113
+ "twangy": { label: "鼻腔尖利", description: "尖锐,地方性" },
114
+ "deep": { label: "低沉", description: "低音区" },
115
+ "booming": { label: "洪亮", description: "共鸣,宏大" },
116
+ "high-pitched": { label: "高音", description: "高音区" },
117
+ "squeaky": { label: "尖细", description: "细薄,刺耳" },
118
+ "bright": { label: "明亮", description: "清脆,前置" },
119
+ "dark": { label: "深沉", description: "厚重,阴郁" },
120
+ "youthful": { label: "年轻", description: "轻盈,清新" },
121
+ "authoritative": { label: "权威", description: "威严" },
122
+ "sultry": { label: "性感", description: "性感,烟熏" },
123
+ "polished": { label: "圆润", description: "纯熟,适合广播" },
124
+ }
125
+
126
+ export default map
@@ -0,0 +1,77 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- Pace --------------------
5
+ "very-slow": { label: "بطيء جداً", description: "متأنٍّ، ثقيل" },
6
+ "slow": { label: "بطيء", description: "متروٍّ" },
7
+ "drawl": { label: "متمطٍّ", description: "ممدود، كسول" },
8
+ "measured": { label: "متروٍّ", description: "ثابت، مقصود" },
9
+ "moderate": { label: "معتدل", description: "إيقاع المحادثة" },
10
+ "punchy": { label: "حاد", description: "مقتضب، مؤكد" },
11
+ "brisk": { label: "نشيط", description: "إيقاع حيوي" },
12
+ "rapid": { label: "سريع", description: "خاطف" },
13
+ "rapid-fire": { label: "سريع كالنار", description: "إلقاء كالرشاش" },
14
+ "frenetic": { label: "محموم", description: "لاهث، عاجل" },
15
+ "halting": { label: "متعثر", description: "متوقف، متردد" },
16
+
17
+ // -------------------- Emotion --------------------
18
+ "neutral": { label: "محايد", description: "متوازن، واقعي" },
19
+ "cheerful": { label: "مرح", description: "متفائل، إيجابي" },
20
+ "warm": { label: "دافئ", description: "ودود" },
21
+ "reassuring": { label: "مطمئن", description: "مهدئ، مستقر" },
22
+ "compassionate": { label: "متعاطف", description: "متفهم، مهتم" },
23
+ "somber": { label: "كئيب", description: "جاد، خطير" },
24
+ "stoic": { label: "رزين", description: "متحفظ، هادئ" },
25
+ "urgent": { label: "عاجل", description: "ملح" },
26
+ "frantic": { label: "هائج", description: "مذعور، مشتت" },
27
+ "anxious": { label: "قلق", description: "متوتر" },
28
+ "scared": { label: "خائف", description: "مرتعب، مرتعش" },
29
+ "excited": { label: "متحمس", description: "نشيط، حيوي" },
30
+ "enthusiastic": { label: "متحمس", description: "متلهف، حريص" },
31
+ "wistful": { label: "حنين", description: "مشتاق، حنّان" },
32
+ "melancholic": { label: "كئيب", description: "حزين، نائح" },
33
+ "menacing": { label: "مهدد", description: "مرعب" },
34
+ "angry": { label: "غاضب", description: "عدائي، حار" },
35
+ "sarcastic": { label: "ساخر", description: "تهكمي، جاف" },
36
+ "smug": { label: "متبجح", description: "راضٍ عن نفسه" },
37
+ "playful": { label: "مرح", description: "خفيف، مازح" },
38
+ "flirty": { label: "مغازل", description: "موحٍ، مازح" },
39
+ "intimate": { label: "حميم", description: "قريب، شخصي" },
40
+ "seductive": { label: "مغرٍ", description: "حسي، آسر" },
41
+
42
+ // -------------------- Archetype --------------------
43
+ "newscaster": { label: "مذيع أخبار", description: "إلقاء إخباري موثوق" },
44
+ "anchor": { label: "مذيع تلفزيوني", description: "بث متقن" },
45
+ "documentary-narrator": { label: "راوي وثائقي", description: "معلوماتي، متروٍّ" },
46
+ "nature-narrator": { label: "راوي الطبيعة", description: "صوت رقيق على طريقة أتنبره" },
47
+ "fairy-tale-narrator": { label: "راوي الحكايات", description: "حكواتي للأطفال" },
48
+ "audiobook-narrator": { label: "راوي الكتب الصوتية", description: "قراءة الروايات الطويلة" },
49
+ "podcaster": { label: "بودكاستر", description: "حواري" },
50
+ "talk-show-host": { label: "مقدم برنامج حواري", description: "محاور ودود" },
51
+ "radio-dj": { label: "دي جي راديو", description: "صوت إف إم سلس" },
52
+ "asmr": { description: "همس، حميم" },
53
+ "sportscaster": { label: "معلق رياضي", description: "تعليق متحمس لحظة بلحظة" },
54
+ "auctioneer": { label: "مزايد", description: "ترتيلة مزايدة سريعة" },
55
+ "preacher": { label: "واعظ", description: "خطبة متحمسة" },
56
+ "politician": { label: "سياسي", description: "بلاغة الخطاب الانتخابي" },
57
+ "lawyer": { label: "محامٍ", description: "حجة في قاعة المحكمة" },
58
+ "professor": { label: "أستاذ", description: "محاضر، أكاديمي" },
59
+ "infomercial": { label: "إعلان تسويقي", description: "بائع، مبالغ فيه" },
60
+ "voice-actor": { label: "ممثل صوتي", description: "أداء شخصيات الرسوم المتحركة" },
61
+ "drag-queen": { label: "دراج كوين", description: "مسرحي، شرس" },
62
+ "villain": { label: "شرير", description: "خبيث، متآمر" },
63
+ "hero": { label: "بطل", description: "صادق، شجاع" },
64
+ "mentor": { label: "مرشد", description: "حكيم، موجه" },
65
+ "comedian": { label: "كوميدي", description: "توقيت كوميدي" },
66
+ "stand-up-comic": { label: "ستاند أب كوميدي", description: "مبني على المفاجآت" },
67
+ "drill-sergeant": { label: "رقيب تدريب", description: "ينبح الأوامر" },
68
+ "meditation-guide": { label: "مرشد تأمل", description: "إرشاد لطيف وبطيء" },
69
+ "yoga-instructor": { label: "مدرب يوغا", description: "إشارات هادئة ومستقرة" },
70
+ "noir-detective": { label: "محقق نوار", description: "صلب، متجهم" },
71
+ "wizard": { label: "ساحر", description: "غامض، قديم" },
72
+ "robot": { label: "روبوت", description: "صناعي، آلي" },
73
+ "ai-assistant": { label: "مساعد ذكاء اصطناعي", description: "مساعد صناعي متقن" },
74
+ "siri-style": { label: "مساعد افتراضي", description: "مساعد بأسلوب Siri/Alexa" },
75
+ }
76
+
77
+ export default map
@@ -0,0 +1,77 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- Pace --------------------
5
+ "very-slow": { label: "Sehr Langsam", description: "Bedächtig, schwerfällig" },
6
+ "slow": { label: "Langsam", description: "Bedacht" },
7
+ "drawl": { label: "Gedehnt", description: "In die Länge gezogen, träge" },
8
+ "measured": { label: "Bedacht", description: "Stetig, absichtsvoll" },
9
+ "moderate": { label: "Moderat", description: "Konversationelles Tempo" },
10
+ "punchy": { label: "Prägnant", description: "Knapp, eindringlich" },
11
+ "brisk": { label: "Flott", description: "Lebhaftes Tempo" },
12
+ "rapid": { label: "Schnell", description: "Rasch" },
13
+ "rapid-fire": { label: "Schnellfeuer", description: "Maschinengewehrartige Lieferung" },
14
+ "frenetic": { label: "Hektisch", description: "Atemlos, dringend" },
15
+ "halting": { label: "Stockend", description: "Pausierend, unsicher" },
16
+
17
+ // -------------------- Emotion --------------------
18
+ "neutral": { label: "Neutral", description: "Gleichmäßig, sachlich" },
19
+ "cheerful": { label: "Fröhlich", description: "Aufgeweckt, positiv" },
20
+ "warm": { label: "Warm", description: "Freundlich" },
21
+ "reassuring": { label: "Beruhigend", description: "Beruhigend, erdend" },
22
+ "compassionate": { label: "Mitfühlend", description: "Empathisch, fürsorglich" },
23
+ "somber": { label: "Düster", description: "Ernst, schwerwiegend" },
24
+ "stoic": { label: "Stoisch", description: "Zurückhaltend, gefasst" },
25
+ "urgent": { label: "Dringend", description: "Drängend" },
26
+ "frantic": { label: "Panisch", description: "Verzweifelt, zerstreut" },
27
+ "anxious": { label: "Ängstlich", description: "Angespannt" },
28
+ "scared": { label: "Verängstigt", description: "Ängstlich, zitternd" },
29
+ "excited": { label: "Aufgeregt", description: "Energisch, lebhaft" },
30
+ "enthusiastic": { label: "Begeistert", description: "Beflügelt, eifrig" },
31
+ "wistful": { label: "Wehmütig", description: "Sehnsuchtsvoll, nostalgisch" },
32
+ "melancholic": { label: "Melancholisch", description: "Traurig, trauernd" },
33
+ "menacing": { label: "Bedrohlich", description: "Einschüchternd" },
34
+ "angry": { label: "Wütend", description: "Feindselig, hitzig" },
35
+ "sarcastic": { label: "Sarkastisch", description: "Ironisch, trocken" },
36
+ "smug": { label: "Selbstgefällig", description: "Selbstzufrieden" },
37
+ "playful": { label: "Verspielt", description: "Leicht, neckend" },
38
+ "flirty": { label: "Kokett", description: "Andeutend, neckend" },
39
+ "intimate": { label: "Intim", description: "Nah, persönlich" },
40
+ "seductive": { label: "Verführerisch", description: "Sinnlich, betörend" },
41
+
42
+ // -------------------- Archetype --------------------
43
+ "newscaster": { label: "Nachrichtensprecher", description: "Autoritative Nachrichtenpräsentation" },
44
+ "anchor": { label: "TV-Moderator", description: "Polierte Sendung" },
45
+ "documentary-narrator": { label: "Dokumentarsprecher", description: "Informativ, bedacht" },
46
+ "nature-narrator": { label: "Naturfilm-Sprecher", description: "Sanftes Attenborough-Stil" },
47
+ "fairy-tale-narrator": { label: "Märchenerzähler", description: "Geschichtenerzähler für Kinder" },
48
+ "audiobook-narrator": { label: "Hörbuchsprecher", description: "Langform-Belletristik-Lesung" },
49
+ "podcaster": { label: "Podcaster", description: "Konversationell" },
50
+ "talk-show-host": { label: "Talkshow-Moderator", description: "Sympathischer Interviewer" },
51
+ "radio-dj": { label: "Radio-DJ", description: "Sanfte UKW-Stimme" },
52
+ "asmr": { description: "Geflüstert, intim" },
53
+ "sportscaster": { label: "Sportkommentator", description: "Begeisterte Live-Kommentare" },
54
+ "auctioneer": { label: "Auktionator", description: "Schneller Bietergesang" },
55
+ "preacher": { label: "Prediger", description: "Leidenschaftliche Predigt" },
56
+ "politician": { label: "Politiker", description: "Wahlkampfrhetorik" },
57
+ "lawyer": { label: "Anwalt", description: "Gerichtsplädoyer" },
58
+ "professor": { label: "Professor", description: "Dozent, akademisch" },
59
+ "infomercial": { label: "Werbesendung", description: "Verkaufend, übertrieben" },
60
+ "voice-actor": { label: "Synchronsprecher", description: "Animierte Charakterarbeit" },
61
+ "drag-queen": { label: "Drag Queen", description: "Theatralisch, leidenschaftlich" },
62
+ "villain": { label: "Bösewicht", description: "Finster, intrigant" },
63
+ "hero": { label: "Held", description: "Aufrichtig, mutig" },
64
+ "mentor": { label: "Mentor", description: "Weise, anleitend" },
65
+ "comedian": { label: "Komiker", description: "Komisches Timing" },
66
+ "stand-up-comic": { label: "Stand-up-Comedian", description: "Pointenorientiert" },
67
+ "drill-sergeant": { label: "Ausbilder", description: "Befehle bellend" },
68
+ "meditation-guide": { label: "Meditationsführer", description: "Sanfte, langsame Anleitung" },
69
+ "yoga-instructor": { label: "Yoga-Lehrer", description: "Ruhige, erdende Anweisungen" },
70
+ "noir-detective": { label: "Noir-Detektiv", description: "Hartgesotten, grüblerisch" },
71
+ "wizard": { label: "Zauberer", description: "Mystisch, uralt" },
72
+ "robot": { label: "Roboter", description: "Synthetisch, mechanisch" },
73
+ "ai-assistant": { label: "KI-Assistent", description: "Polierter synthetischer Helfer" },
74
+ "siri-style": { label: "Virtueller Assistent", description: "Helfer im Siri/Alexa-Stil" },
75
+ }
76
+
77
+ export default map