@contractspec/lib.video-gen 2.7.6 → 2.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -25
- package/dist/browser/compositions/api-overview.js +114 -114
- package/dist/browser/compositions/index.js +115 -115
- package/dist/browser/compositions/primitives/index.js +113 -113
- package/dist/browser/compositions/social-clip.js +114 -114
- package/dist/browser/compositions/terminal-demo.js +113 -113
- package/dist/browser/design/index.js +35 -35
- package/dist/browser/generators/index.js +94 -94
- package/dist/browser/generators/scene-planner.js +94 -94
- package/dist/browser/generators/script-generator.js +94 -94
- package/dist/browser/generators/video-generator.js +94 -94
- package/dist/browser/i18n/catalogs/index.js +74 -74
- package/dist/browser/i18n/index.js +94 -94
- package/dist/browser/i18n/locale.js +2 -2
- package/dist/browser/i18n/messages.js +74 -74
- package/dist/browser/index.js +212 -212
- package/dist/browser/player/demo-player.js +116 -116
- package/dist/browser/player/index.js +116 -116
- package/dist/browser/remotion/Root.js +115 -115
- package/dist/browser/remotion/index.js +115 -115
- package/dist/compositions/api-overview.js +114 -114
- package/dist/compositions/index.d.ts +4 -4
- package/dist/compositions/index.js +115 -115
- package/dist/compositions/primitives/animated-text.d.ts +1 -1
- package/dist/compositions/primitives/brand-frame.d.ts +1 -1
- package/dist/compositions/primitives/index.d.ts +8 -8
- package/dist/compositions/primitives/index.js +113 -113
- package/dist/compositions/primitives/transition.d.ts +1 -1
- package/dist/compositions/social-clip.js +114 -114
- package/dist/compositions/terminal-demo.js +113 -113
- package/dist/design/index.d.ts +2 -2
- package/dist/design/index.js +35 -35
- package/dist/generators/index.d.ts +2 -2
- package/dist/generators/index.js +94 -94
- package/dist/generators/scene-planner.d.ts +1 -1
- package/dist/generators/scene-planner.js +94 -94
- package/dist/generators/script-generator.d.ts +2 -2
- package/dist/generators/script-generator.js +94 -94
- package/dist/generators/video-generator.js +94 -94
- package/dist/i18n/catalogs/index.d.ts +1 -1
- package/dist/i18n/catalogs/index.js +74 -74
- package/dist/i18n/index.d.ts +7 -7
- package/dist/i18n/index.js +94 -94
- package/dist/i18n/locale.d.ts +1 -1
- package/dist/i18n/locale.js +2 -2
- package/dist/i18n/messages.js +74 -74
- package/dist/index.d.ts +3 -3
- package/dist/index.js +212 -212
- package/dist/node/compositions/api-overview.js +114 -114
- package/dist/node/compositions/index.js +115 -115
- package/dist/node/compositions/primitives/index.js +113 -113
- package/dist/node/compositions/social-clip.js +114 -114
- package/dist/node/compositions/terminal-demo.js +113 -113
- package/dist/node/design/index.js +35 -35
- package/dist/node/generators/index.js +94 -94
- package/dist/node/generators/scene-planner.js +94 -94
- package/dist/node/generators/script-generator.js +94 -94
- package/dist/node/generators/video-generator.js +94 -94
- package/dist/node/i18n/catalogs/index.js +74 -74
- package/dist/node/i18n/index.js +94 -94
- package/dist/node/i18n/locale.js +2 -2
- package/dist/node/i18n/messages.js +74 -74
- package/dist/node/index.js +212 -212
- package/dist/node/player/demo-player.js +116 -116
- package/dist/node/player/index.js +116 -116
- package/dist/node/remotion/Root.js +115 -115
- package/dist/node/remotion/index.js +115 -115
- package/dist/player/demo-player.js +116 -116
- package/dist/player/index.d.ts +1 -1
- package/dist/player/index.js +116 -116
- package/dist/remotion/Root.js +115 -115
- package/dist/remotion/index.js +115 -115
- package/dist/renderers/index.d.ts +2 -2
- package/dist/types.d.ts +6 -6
- package/package.json +15 -15
|
@@ -156,54 +156,54 @@ Prioritize clarity and pacing. Each scene should communicate one idea.`,
|
|
|
156
156
|
}
|
|
157
157
|
});
|
|
158
158
|
|
|
159
|
-
// src/i18n/catalogs/
|
|
159
|
+
// src/i18n/catalogs/es.ts
|
|
160
160
|
import { defineTranslation as defineTranslation2 } from "@contractspec/lib.contracts-spec/translations";
|
|
161
|
-
var
|
|
161
|
+
var esMessages = defineTranslation2({
|
|
162
162
|
meta: {
|
|
163
163
|
key: "video-gen.messages",
|
|
164
164
|
version: "1.0.0",
|
|
165
165
|
domain: "video-gen",
|
|
166
|
-
description: "
|
|
166
|
+
description: "Spanish translations for the video-gen package",
|
|
167
167
|
owners: ["platform"],
|
|
168
168
|
stability: "experimental"
|
|
169
169
|
},
|
|
170
|
-
locale: "
|
|
170
|
+
locale: "es",
|
|
171
171
|
fallback: "en",
|
|
172
172
|
messages: {
|
|
173
173
|
"prompt.script.system": {
|
|
174
|
-
value: `
|
|
175
|
-
|
|
174
|
+
value: `Eres un redactor de guiones de narración para vídeo.
|
|
175
|
+
Escribe un guión de narración para un vídeo corto (30-60 segundos).
|
|
176
176
|
{styleGuide}
|
|
177
177
|
|
|
178
|
-
|
|
178
|
+
Devuelve JSON con la forma:
|
|
179
179
|
{
|
|
180
180
|
"segments": [{ "sceneId": string, "text": string }],
|
|
181
181
|
"fullText": string
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
-
|
|
185
|
-
|
|
184
|
+
Los identificadores de escena deben ser: "intro", "problems", "solutions", "metrics", "cta".
|
|
185
|
+
Incluye solo los segmentos relevantes para el brief.`,
|
|
186
186
|
description: "Script generator LLM system prompt",
|
|
187
187
|
placeholders: [{ name: "styleGuide", type: "string" }]
|
|
188
188
|
},
|
|
189
189
|
"prompt.scenePlanner.system": {
|
|
190
|
-
value: `
|
|
191
|
-
|
|
190
|
+
value: `Eres un planificador de escenas de vídeo para vídeos de marketing/documentación de ContractSpec.
|
|
191
|
+
Dado un brief de contenido, divídelo en escenas de vídeo.
|
|
192
192
|
|
|
193
|
-
|
|
194
|
-
- compositionId
|
|
195
|
-
- props
|
|
196
|
-
- durationInFrames
|
|
197
|
-
- narrationText
|
|
193
|
+
Cada escena debe tener:
|
|
194
|
+
- compositionId: uno de "ApiOverview", "SocialClip", "TerminalDemo"
|
|
195
|
+
- props: las propiedades de entrada de esa composición
|
|
196
|
+
- durationInFrames: duración a {fps} fps
|
|
197
|
+
- narrationText: lo que dice el narrador durante esta escena
|
|
198
198
|
|
|
199
|
-
|
|
199
|
+
Devuelve un objeto JSON con la forma:
|
|
200
200
|
{
|
|
201
201
|
"scenes": [{ "compositionId": string, "props": object, "durationInFrames": number, "narrationText": string }],
|
|
202
202
|
"narrationScript": string
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
Mantén la duración total alrededor de {targetSeconds} segundos.
|
|
206
|
+
Prioriza la claridad y el ritmo. Cada escena debe comunicar una idea.`,
|
|
207
207
|
description: "Scene planner LLM system prompt",
|
|
208
208
|
placeholders: [
|
|
209
209
|
{ name: "fps", type: "number" },
|
|
@@ -211,64 +211,64 @@ Privilégiez la clarté et le rythme. Chaque scène doit communiquer une idée.`
|
|
|
211
211
|
]
|
|
212
212
|
},
|
|
213
213
|
"prompt.style.professional": {
|
|
214
|
-
value: "
|
|
214
|
+
value: "Usa un tono claro, autoritario y profesional. Sé conciso y directo.",
|
|
215
215
|
description: "Style guide for professional narration"
|
|
216
216
|
},
|
|
217
217
|
"prompt.style.casual": {
|
|
218
|
-
value: "
|
|
218
|
+
value: "Usa un tono amigable y conversacional. Sé accesible y cercano.",
|
|
219
219
|
description: "Style guide for casual narration"
|
|
220
220
|
},
|
|
221
221
|
"prompt.style.technical": {
|
|
222
|
-
value: "
|
|
222
|
+
value: "Usa un lenguaje técnico preciso. Sé detallado y exacto.",
|
|
223
223
|
description: "Style guide for technical narration"
|
|
224
224
|
},
|
|
225
225
|
"script.segment.challenge": {
|
|
226
|
-
value: "
|
|
226
|
+
value: "El desafío: {content}",
|
|
227
227
|
description: "Narration segment prefix for problems",
|
|
228
228
|
placeholders: [{ name: "content", type: "string" }]
|
|
229
229
|
},
|
|
230
230
|
"script.segment.solution": {
|
|
231
|
-
value: "La
|
|
231
|
+
value: "La solución: {content}",
|
|
232
232
|
description: "Narration segment prefix for solutions",
|
|
233
233
|
placeholders: [{ name: "content", type: "string" }]
|
|
234
234
|
},
|
|
235
235
|
"script.segment.results": {
|
|
236
|
-
value: "
|
|
236
|
+
value: "Los resultados: {content}",
|
|
237
237
|
description: "Narration segment prefix for metrics",
|
|
238
238
|
placeholders: [{ name: "content", type: "string" }]
|
|
239
239
|
},
|
|
240
240
|
"scene.cta.default": {
|
|
241
|
-
value: "
|
|
241
|
+
value: "Más información",
|
|
242
242
|
description: "Default call-to-action text for scenes"
|
|
243
243
|
},
|
|
244
244
|
"scene.hook.problem": {
|
|
245
|
-
value: "
|
|
245
|
+
value: "El problema",
|
|
246
246
|
description: "Scene hook label for problem statement"
|
|
247
247
|
},
|
|
248
248
|
"scene.narration.problem": {
|
|
249
|
-
value: "
|
|
249
|
+
value: "El problema: {content}",
|
|
250
250
|
description: "Scene narration for problem statement",
|
|
251
251
|
placeholders: [{ name: "content", type: "string" }]
|
|
252
252
|
},
|
|
253
253
|
"scene.hook.solution": {
|
|
254
|
-
value: "La
|
|
254
|
+
value: "La solución",
|
|
255
255
|
description: "Scene hook label for solution"
|
|
256
256
|
},
|
|
257
257
|
"scene.narration.solution": {
|
|
258
|
-
value: "La
|
|
258
|
+
value: "La solución: {content}",
|
|
259
259
|
description: "Scene narration for solution",
|
|
260
260
|
placeholders: [{ name: "content", type: "string" }]
|
|
261
261
|
},
|
|
262
262
|
"scene.hook.results": {
|
|
263
|
-
value: "
|
|
263
|
+
value: "Resultados",
|
|
264
264
|
description: "Scene hook label for results/metrics"
|
|
265
265
|
},
|
|
266
266
|
"composition.apiOverview.generates": {
|
|
267
|
-
value: "
|
|
267
|
+
value: "Genera:",
|
|
268
268
|
description: "ApiOverview heading for generated outputs"
|
|
269
269
|
},
|
|
270
270
|
"composition.apiOverview.tagline": {
|
|
271
|
-
value: "
|
|
271
|
+
value: "Una spec. Todas las superficies.",
|
|
272
272
|
description: "ApiOverview default tagline"
|
|
273
273
|
},
|
|
274
274
|
"composition.apiOverview.output.rest": {
|
|
@@ -276,11 +276,11 @@ Privilégiez la clarté et le rythme. Chaque scène doit communiquer une idée.`
|
|
|
276
276
|
description: "Generated output label: REST"
|
|
277
277
|
},
|
|
278
278
|
"composition.apiOverview.output.graphql": {
|
|
279
|
-
value: "
|
|
279
|
+
value: "Mutación GraphQL",
|
|
280
280
|
description: "Generated output label: GraphQL"
|
|
281
281
|
},
|
|
282
282
|
"composition.apiOverview.output.prisma": {
|
|
283
|
-
value: "
|
|
283
|
+
value: "Modelo Prisma",
|
|
284
284
|
description: "Generated output label: Prisma"
|
|
285
285
|
},
|
|
286
286
|
"composition.apiOverview.output.typescript": {
|
|
@@ -288,7 +288,7 @@ Privilégiez la clarté et le rythme. Chaque scène doit communiquer une idée.`
|
|
|
288
288
|
description: "Generated output label: TypeScript SDK"
|
|
289
289
|
},
|
|
290
290
|
"composition.apiOverview.output.mcp": {
|
|
291
|
-
value: "
|
|
291
|
+
value: "Herramienta MCP",
|
|
292
292
|
description: "Generated output label: MCP Tool"
|
|
293
293
|
},
|
|
294
294
|
"composition.apiOverview.output.openapi": {
|
|
@@ -296,7 +296,7 @@ Privilégiez la clarté et le rythme. Chaque scène doit communiquer une idée.`
|
|
|
296
296
|
description: "Generated output label: OpenAPI"
|
|
297
297
|
},
|
|
298
298
|
"composition.socialClip.cta": {
|
|
299
|
-
value: "
|
|
299
|
+
value: "Más información",
|
|
300
300
|
description: "SocialClip default CTA"
|
|
301
301
|
},
|
|
302
302
|
"composition.terminal.title": {
|
|
@@ -306,54 +306,54 @@ Privilégiez la clarté et le rythme. Chaque scène doit communiquer une idée.`
|
|
|
306
306
|
}
|
|
307
307
|
});
|
|
308
308
|
|
|
309
|
-
// src/i18n/catalogs/
|
|
309
|
+
// src/i18n/catalogs/fr.ts
|
|
310
310
|
import { defineTranslation as defineTranslation3 } from "@contractspec/lib.contracts-spec/translations";
|
|
311
|
-
var
|
|
311
|
+
var frMessages = defineTranslation3({
|
|
312
312
|
meta: {
|
|
313
313
|
key: "video-gen.messages",
|
|
314
314
|
version: "1.0.0",
|
|
315
315
|
domain: "video-gen",
|
|
316
|
-
description: "
|
|
316
|
+
description: "French translations for the video-gen package",
|
|
317
317
|
owners: ["platform"],
|
|
318
318
|
stability: "experimental"
|
|
319
319
|
},
|
|
320
|
-
locale: "
|
|
320
|
+
locale: "fr",
|
|
321
321
|
fallback: "en",
|
|
322
322
|
messages: {
|
|
323
323
|
"prompt.script.system": {
|
|
324
|
-
value: `
|
|
325
|
-
|
|
324
|
+
value: `Vous êtes un rédacteur de scripts de narration vidéo.
|
|
325
|
+
Écrivez un script de narration pour une courte vidéo (30-60 secondes).
|
|
326
326
|
{styleGuide}
|
|
327
327
|
|
|
328
|
-
|
|
328
|
+
Retournez du JSON avec la forme :
|
|
329
329
|
{
|
|
330
330
|
"segments": [{ "sceneId": string, "text": string }],
|
|
331
331
|
"fullText": string
|
|
332
332
|
}
|
|
333
333
|
|
|
334
|
-
|
|
335
|
-
|
|
334
|
+
Les identifiants de scène doivent être : "intro", "problems", "solutions", "metrics", "cta".
|
|
335
|
+
N'incluez que les segments pertinents au brief.`,
|
|
336
336
|
description: "Script generator LLM system prompt",
|
|
337
337
|
placeholders: [{ name: "styleGuide", type: "string" }]
|
|
338
338
|
},
|
|
339
339
|
"prompt.scenePlanner.system": {
|
|
340
|
-
value: `
|
|
341
|
-
|
|
340
|
+
value: `Vous êtes un planificateur de scènes vidéo pour les vidéos marketing/documentation de ContractSpec.
|
|
341
|
+
À partir d'un brief, décomposez-le en scènes vidéo.
|
|
342
342
|
|
|
343
|
-
|
|
344
|
-
- compositionId:
|
|
345
|
-
- props:
|
|
346
|
-
- durationInFrames:
|
|
347
|
-
- narrationText:
|
|
343
|
+
Chaque scène doit avoir :
|
|
344
|
+
- compositionId : un parmi "ApiOverview", "SocialClip", "TerminalDemo"
|
|
345
|
+
- props : les propriétés d'entrée de cette composition
|
|
346
|
+
- durationInFrames : durée à {fps} fps
|
|
347
|
+
- narrationText : ce que le narrateur dit pendant cette scène
|
|
348
348
|
|
|
349
|
-
|
|
349
|
+
Retournez un objet JSON avec la forme :
|
|
350
350
|
{
|
|
351
351
|
"scenes": [{ "compositionId": string, "props": object, "durationInFrames": number, "narrationText": string }],
|
|
352
352
|
"narrationScript": string
|
|
353
353
|
}
|
|
354
354
|
|
|
355
|
-
|
|
356
|
-
|
|
355
|
+
Gardez la durée totale autour de {targetSeconds} secondes.
|
|
356
|
+
Privilégiez la clarté et le rythme. Chaque scène doit communiquer une idée.`,
|
|
357
357
|
description: "Scene planner LLM system prompt",
|
|
358
358
|
placeholders: [
|
|
359
359
|
{ name: "fps", type: "number" },
|
|
@@ -361,64 +361,64 @@ Prioriza la claridad y el ritmo. Cada escena debe comunicar una idea.`,
|
|
|
361
361
|
]
|
|
362
362
|
},
|
|
363
363
|
"prompt.style.professional": {
|
|
364
|
-
value: "
|
|
364
|
+
value: "Utilisez un ton clair, autoritaire et professionnel. Soyez concis et direct.",
|
|
365
365
|
description: "Style guide for professional narration"
|
|
366
366
|
},
|
|
367
367
|
"prompt.style.casual": {
|
|
368
|
-
value: "
|
|
368
|
+
value: "Utilisez un ton amical et conversationnel. Soyez accessible et proche.",
|
|
369
369
|
description: "Style guide for casual narration"
|
|
370
370
|
},
|
|
371
371
|
"prompt.style.technical": {
|
|
372
|
-
value: "
|
|
372
|
+
value: "Utilisez un langage technique précis. Soyez détaillé et exact.",
|
|
373
373
|
description: "Style guide for technical narration"
|
|
374
374
|
},
|
|
375
375
|
"script.segment.challenge": {
|
|
376
|
-
value: "
|
|
376
|
+
value: "Le défi : {content}",
|
|
377
377
|
description: "Narration segment prefix for problems",
|
|
378
378
|
placeholders: [{ name: "content", type: "string" }]
|
|
379
379
|
},
|
|
380
380
|
"script.segment.solution": {
|
|
381
|
-
value: "La
|
|
381
|
+
value: "La solution : {content}",
|
|
382
382
|
description: "Narration segment prefix for solutions",
|
|
383
383
|
placeholders: [{ name: "content", type: "string" }]
|
|
384
384
|
},
|
|
385
385
|
"script.segment.results": {
|
|
386
|
-
value: "
|
|
386
|
+
value: "Les résultats : {content}",
|
|
387
387
|
description: "Narration segment prefix for metrics",
|
|
388
388
|
placeholders: [{ name: "content", type: "string" }]
|
|
389
389
|
},
|
|
390
390
|
"scene.cta.default": {
|
|
391
|
-
value: "
|
|
391
|
+
value: "En savoir plus",
|
|
392
392
|
description: "Default call-to-action text for scenes"
|
|
393
393
|
},
|
|
394
394
|
"scene.hook.problem": {
|
|
395
|
-
value: "
|
|
395
|
+
value: "Le problème",
|
|
396
396
|
description: "Scene hook label for problem statement"
|
|
397
397
|
},
|
|
398
398
|
"scene.narration.problem": {
|
|
399
|
-
value: "
|
|
399
|
+
value: "Le problème : {content}",
|
|
400
400
|
description: "Scene narration for problem statement",
|
|
401
401
|
placeholders: [{ name: "content", type: "string" }]
|
|
402
402
|
},
|
|
403
403
|
"scene.hook.solution": {
|
|
404
|
-
value: "La
|
|
404
|
+
value: "La solution",
|
|
405
405
|
description: "Scene hook label for solution"
|
|
406
406
|
},
|
|
407
407
|
"scene.narration.solution": {
|
|
408
|
-
value: "La
|
|
408
|
+
value: "La solution : {content}",
|
|
409
409
|
description: "Scene narration for solution",
|
|
410
410
|
placeholders: [{ name: "content", type: "string" }]
|
|
411
411
|
},
|
|
412
412
|
"scene.hook.results": {
|
|
413
|
-
value: "
|
|
413
|
+
value: "Résultats",
|
|
414
414
|
description: "Scene hook label for results/metrics"
|
|
415
415
|
},
|
|
416
416
|
"composition.apiOverview.generates": {
|
|
417
|
-
value: "
|
|
417
|
+
value: "Génère :",
|
|
418
418
|
description: "ApiOverview heading for generated outputs"
|
|
419
419
|
},
|
|
420
420
|
"composition.apiOverview.tagline": {
|
|
421
|
-
value: "
|
|
421
|
+
value: "Un spec. Toutes les surfaces.",
|
|
422
422
|
description: "ApiOverview default tagline"
|
|
423
423
|
},
|
|
424
424
|
"composition.apiOverview.output.rest": {
|
|
@@ -426,11 +426,11 @@ Prioriza la claridad y el ritmo. Cada escena debe comunicar una idea.`,
|
|
|
426
426
|
description: "Generated output label: REST"
|
|
427
427
|
},
|
|
428
428
|
"composition.apiOverview.output.graphql": {
|
|
429
|
-
value: "
|
|
429
|
+
value: "Mutation GraphQL",
|
|
430
430
|
description: "Generated output label: GraphQL"
|
|
431
431
|
},
|
|
432
432
|
"composition.apiOverview.output.prisma": {
|
|
433
|
-
value: "
|
|
433
|
+
value: "Modèle Prisma",
|
|
434
434
|
description: "Generated output label: Prisma"
|
|
435
435
|
},
|
|
436
436
|
"composition.apiOverview.output.typescript": {
|
|
@@ -438,7 +438,7 @@ Prioriza la claridad y el ritmo. Cada escena debe comunicar una idea.`,
|
|
|
438
438
|
description: "Generated output label: TypeScript SDK"
|
|
439
439
|
},
|
|
440
440
|
"composition.apiOverview.output.mcp": {
|
|
441
|
-
value: "
|
|
441
|
+
value: "Outil MCP",
|
|
442
442
|
description: "Generated output label: MCP Tool"
|
|
443
443
|
},
|
|
444
444
|
"composition.apiOverview.output.openapi": {
|
|
@@ -446,7 +446,7 @@ Prioriza la claridad y el ritmo. Cada escena debe comunicar una idea.`,
|
|
|
446
446
|
description: "Generated output label: OpenAPI"
|
|
447
447
|
},
|
|
448
448
|
"composition.socialClip.cta": {
|
|
449
|
-
value: "
|
|
449
|
+
value: "En savoir plus",
|
|
450
450
|
description: "SocialClip default CTA"
|
|
451
451
|
},
|
|
452
452
|
"composition.terminal.title": {
|
|
@@ -456,26 +456,6 @@ Prioriza la claridad y el ritmo. Cada escena debe comunicar una idea.`,
|
|
|
456
456
|
}
|
|
457
457
|
});
|
|
458
458
|
|
|
459
|
-
// src/i18n/messages.ts
|
|
460
|
-
import {
|
|
461
|
-
createI18nFactory
|
|
462
|
-
} from "@contractspec/lib.contracts-spec/translations";
|
|
463
|
-
var factory = createI18nFactory({
|
|
464
|
-
specKey: "video-gen.messages",
|
|
465
|
-
catalogs: [enMessages, frMessages, esMessages]
|
|
466
|
-
});
|
|
467
|
-
var createVideoGenI18n = factory.create;
|
|
468
|
-
var getDefaultI18n = factory.getDefault;
|
|
469
|
-
var resetI18nRegistry = factory.resetRegistry;
|
|
470
|
-
|
|
471
|
-
// src/i18n/locale.ts
|
|
472
|
-
import {
|
|
473
|
-
DEFAULT_LOCALE,
|
|
474
|
-
SUPPORTED_LOCALES,
|
|
475
|
-
resolveLocale,
|
|
476
|
-
isSupportedLocale
|
|
477
|
-
} from "@contractspec/lib.contracts-spec/translations";
|
|
478
|
-
|
|
479
459
|
// src/i18n/keys.ts
|
|
480
460
|
var PROMPT_KEYS = {
|
|
481
461
|
"prompt.script.system": "prompt.script.system",
|
|
@@ -515,6 +495,26 @@ var I18N_KEYS = {
|
|
|
515
495
|
...SCENE_KEYS,
|
|
516
496
|
...COMPOSITION_KEYS
|
|
517
497
|
};
|
|
498
|
+
|
|
499
|
+
// src/i18n/locale.ts
|
|
500
|
+
import {
|
|
501
|
+
DEFAULT_LOCALE,
|
|
502
|
+
isSupportedLocale,
|
|
503
|
+
resolveLocale,
|
|
504
|
+
SUPPORTED_LOCALES
|
|
505
|
+
} from "@contractspec/lib.contracts-spec/translations";
|
|
506
|
+
|
|
507
|
+
// src/i18n/messages.ts
|
|
508
|
+
import {
|
|
509
|
+
createI18nFactory
|
|
510
|
+
} from "@contractspec/lib.contracts-spec/translations";
|
|
511
|
+
var factory = createI18nFactory({
|
|
512
|
+
specKey: "video-gen.messages",
|
|
513
|
+
catalogs: [enMessages, frMessages, esMessages]
|
|
514
|
+
});
|
|
515
|
+
var createVideoGenI18n = factory.create;
|
|
516
|
+
var getDefaultI18n = factory.getDefault;
|
|
517
|
+
var resetI18nRegistry = factory.resetRegistry;
|
|
518
518
|
export {
|
|
519
519
|
resolveLocale,
|
|
520
520
|
resetI18nRegistry,
|
|
@@ -9,9 +9,9 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
9
9
|
// src/i18n/locale.ts
|
|
10
10
|
import {
|
|
11
11
|
DEFAULT_LOCALE,
|
|
12
|
-
|
|
12
|
+
isSupportedLocale,
|
|
13
13
|
resolveLocale,
|
|
14
|
-
|
|
14
|
+
SUPPORTED_LOCALES
|
|
15
15
|
} from "@contractspec/lib.contracts-spec/translations";
|
|
16
16
|
export {
|
|
17
17
|
resolveLocale,
|