@contractspec/lib.content-gen 3.7.16 → 3.7.18

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 (49) hide show
  1. package/dist/browser/generators/blog.js +1 -1036
  2. package/dist/browser/generators/email.js +8 -1061
  3. package/dist/browser/generators/index.js +10 -1387
  4. package/dist/browser/generators/landing-page.js +2 -1031
  5. package/dist/browser/generators/social.js +2 -1016
  6. package/dist/browser/i18n/catalogs/en.js +1 -276
  7. package/dist/browser/i18n/catalogs/es.js +1 -276
  8. package/dist/browser/i18n/catalogs/fr.js +1 -276
  9. package/dist/browser/i18n/catalogs/index.js +1 -826
  10. package/dist/browser/i18n/index.js +1 -937
  11. package/dist/browser/i18n/keys.js +1 -85
  12. package/dist/browser/i18n/locale.js +1 -13
  13. package/dist/browser/i18n/messages.js +1 -838
  14. package/dist/browser/index.js +10 -1438
  15. package/dist/browser/seo/index.js +1 -971
  16. package/dist/browser/seo/optimizer.js +1 -971
  17. package/dist/generators/blog.js +1 -1036
  18. package/dist/generators/email.js +8 -1061
  19. package/dist/generators/index.js +10 -1387
  20. package/dist/generators/landing-page.js +2 -1031
  21. package/dist/generators/social.js +2 -1016
  22. package/dist/i18n/catalogs/en.js +1 -276
  23. package/dist/i18n/catalogs/es.js +1 -276
  24. package/dist/i18n/catalogs/fr.js +1 -276
  25. package/dist/i18n/catalogs/index.js +1 -826
  26. package/dist/i18n/index.js +1 -937
  27. package/dist/i18n/keys.js +1 -85
  28. package/dist/i18n/locale.js +1 -13
  29. package/dist/i18n/messages.js +1 -838
  30. package/dist/index.js +10 -1438
  31. package/dist/node/generators/blog.js +1 -1036
  32. package/dist/node/generators/email.js +8 -1061
  33. package/dist/node/generators/index.js +10 -1387
  34. package/dist/node/generators/landing-page.js +2 -1031
  35. package/dist/node/generators/social.js +2 -1016
  36. package/dist/node/i18n/catalogs/en.js +1 -276
  37. package/dist/node/i18n/catalogs/es.js +1 -276
  38. package/dist/node/i18n/catalogs/fr.js +1 -276
  39. package/dist/node/i18n/catalogs/index.js +1 -826
  40. package/dist/node/i18n/index.js +1 -937
  41. package/dist/node/i18n/keys.js +1 -85
  42. package/dist/node/i18n/locale.js +1 -13
  43. package/dist/node/i18n/messages.js +1 -838
  44. package/dist/node/index.js +10 -1438
  45. package/dist/node/seo/index.js +1 -971
  46. package/dist/node/seo/optimizer.js +1 -971
  47. package/dist/seo/index.js +1 -971
  48. package/dist/seo/optimizer.js +1 -971
  49. package/package.json +8 -8
@@ -1,277 +1,2 @@
1
1
  // @bun
2
- // src/i18n/catalogs/fr.ts
3
- import { defineTranslation } from "@contractspec/lib.contracts-spec/translations";
4
- var frMessages = defineTranslation({
5
- meta: {
6
- key: "content-gen.messages",
7
- version: "1.0.0",
8
- domain: "content-gen",
9
- description: "French translations for the content-gen package",
10
- owners: ["platform"],
11
- stability: "experimental"
12
- },
13
- locale: "fr",
14
- fallback: "en",
15
- messages: {
16
- "prompt.blog.system": {
17
- value: "Vous \xEAtes un r\xE9dacteur marketing produit. Produisez du JSON avec title, subtitle, intro, sections[].heading/body/bullets, outro.",
18
- description: "Blog generator LLM system prompt"
19
- },
20
- "prompt.email.system": {
21
- value: "R\xE9digez un e-mail marketing produit en JSON {subject, previewText, body, cta}.",
22
- description: "Email generator LLM system prompt"
23
- },
24
- "prompt.landing.system": {
25
- value: "\xC9crivez du JSON pour une page d'atterrissage avec hero/highlights/socialProof/faq.",
26
- description: "Landing page generator LLM system prompt"
27
- },
28
- "prompt.social.system": {
29
- value: "Cr\xE9ez un tableau JSON de posts sociaux pour twitter/linkedin/threads avec body, hashtags, cta.",
30
- description: "Social post generator LLM system prompt"
31
- },
32
- "blog.intro": {
33
- value: "Les \xE9quipes comme {role} font face \xE0 {problems}. {title} change la donne gr\xE2ce \xE0 {summary}.",
34
- description: "Blog post intro paragraph template",
35
- placeholders: [
36
- { name: "role", type: "string" },
37
- { name: "problems", type: "string" },
38
- { name: "title", type: "string" },
39
- { name: "summary", type: "string" }
40
- ]
41
- },
42
- "blog.heading.whyNow": {
43
- value: "Pourquoi maintenant",
44
- description: "Blog section heading: why now"
45
- },
46
- "blog.heading.whatYouGet": {
47
- value: "Ce que vous obtenez",
48
- description: "Blog section heading: what you get"
49
- },
50
- "blog.heading.proofItWorks": {
51
- value: "La preuve que \xE7a marche",
52
- description: "Blog section heading: proof it works"
53
- },
54
- "blog.body.whatYouGet": {
55
- value: "Une pile cibl\xE9e con\xE7ue pour l'automatisation conforme aux politiques.",
56
- description: "Blog section body: what you get"
57
- },
58
- "blog.body.proofItWorks": {
59
- value: "Les \xE9quipes utilisant le mod\xE8le rapportent des gains mesurables.",
60
- description: "Blog section body: proof it works"
61
- },
62
- "blog.metric.launchWorkflows": {
63
- value: "Lancez des workflows en quelques minutes",
64
- description: "Default metric: launch workflows"
65
- },
66
- "blog.metric.cutReviewTime": {
67
- value: "R\xE9duisez le temps de revue de 60\xA0%",
68
- description: "Default metric: cut review time"
69
- },
70
- "blog.outro.default": {
71
- value: "Pr\xEAt \xE0 voir en direct\xA0? Lancez un bac \xE0 sable en moins de 5 minutes.",
72
- description: "Default blog outro / call to action"
73
- },
74
- "blog.whyNow": {
75
- value: "Les \xE9quipes {audience} sont bloqu\xE9es par {pains}. {title} fournit des garde-fous sans ralentir les livraisons.",
76
- description: "Blog why-now section body template",
77
- placeholders: [
78
- { name: "audience", type: "string" },
79
- { name: "pains", type: "string" },
80
- { name: "title", type: "string" }
81
- ]
82
- },
83
- "blog.audience.industry": {
84
- value: " dans le secteur {industry}",
85
- description: "Audience industry suffix for blog why-now",
86
- placeholders: [{ name: "industry", type: "string" }]
87
- },
88
- "email.subject.announcement.launch": {
89
- value: "Lancement\xA0: {title}",
90
- description: "Announcement email subject variant: launch",
91
- placeholders: [{ name: "title", type: "string" }]
92
- },
93
- "email.subject.announcement.live": {
94
- value: "{title} est en ligne",
95
- description: "Announcement email subject variant: live",
96
- placeholders: [{ name: "title", type: "string" }]
97
- },
98
- "email.subject.announcement.new": {
99
- value: "Nouveau\xA0: {title}",
100
- description: "Announcement email subject variant: new",
101
- placeholders: [{ name: "title", type: "string" }]
102
- },
103
- "email.subject.onboarding.getStarted": {
104
- value: "D\xE9marrez avec {title}",
105
- description: "Onboarding email subject variant: get started",
106
- placeholders: [{ name: "title", type: "string" }]
107
- },
108
- "email.subject.onboarding.guide": {
109
- value: "Votre guide {title}",
110
- description: "Onboarding email subject variant: guide",
111
- placeholders: [{ name: "title", type: "string" }]
112
- },
113
- "email.subject.nurture.speeds": {
114
- value: "Comment {title} acc\xE9l\xE8re les op\xE9rations",
115
- description: "Nurture email subject variant: speeds ops",
116
- placeholders: [{ name: "title", type: "string" }]
117
- },
118
- "email.subject.nurture.proof": {
119
- value: "La preuve que {title} fonctionne",
120
- description: "Nurture email subject variant: proof",
121
- placeholders: [{ name: "title", type: "string" }]
122
- },
123
- "email.subject.fallback": {
124
- value: "Mise \xE0 jour {title}",
125
- description: "Fallback email subject line",
126
- placeholders: [{ name: "title", type: "string" }]
127
- },
128
- "email.preview.defaultWin": {
129
- value: "livrent plus vite sans lacunes de conformit\xE9",
130
- description: "Default win text for email preview"
131
- },
132
- "email.preview.template": {
133
- value: "D\xE9couvrez comment les \xE9quipes {win}.",
134
- description: "Email preview text template",
135
- placeholders: [{ name: "win", type: "string" }]
136
- },
137
- "email.body.greeting": {
138
- value: "Bonjour,",
139
- description: "Email body greeting"
140
- },
141
- "email.body.reasons": {
142
- value: "Les principales raisons pour lesquelles les \xE9quipes adoptent {title}\xA0:",
143
- description: "Email body reasons intro",
144
- placeholders: [{ name: "title", type: "string" }]
145
- },
146
- "email.cta.sandbox": {
147
- value: "Lancez un bac \xE0 sable",
148
- description: "Default CTA: spin up a sandbox"
149
- },
150
- "email.cta.explore": {
151
- value: "Explorez le bac \xE0 sable",
152
- description: "Default CTA: explore the sandbox"
153
- },
154
- "email.hook.announcement": {
155
- value: "{title} est en ligne. {summary}",
156
- description: "Announcement variant hook",
157
- placeholders: [
158
- { name: "title", type: "string" },
159
- { name: "summary", type: "string" }
160
- ]
161
- },
162
- "email.hook.onboarding": {
163
- value: "Voici votre prochaine \xE9tape pour d\xE9bloquer {title}.",
164
- description: "Onboarding variant hook",
165
- placeholders: [{ name: "title", type: "string" }]
166
- },
167
- "email.hook.nurture": {
168
- value: "Les op\xE9rateurs comme {role} demandent sans cesse comment automatiser les v\xE9rifications de conformit\xE9. Voici ce qui fonctionne.",
169
- description: "Nurture variant hook",
170
- placeholders: [{ name: "role", type: "string" }]
171
- },
172
- "landing.eyebrow.defaultIndustry": {
173
- value: "Op\xE9rations",
174
- description: "Default industry for landing page eyebrow"
175
- },
176
- "landing.eyebrow.template": {
177
- value: "\xC9quipes {industry}",
178
- description: "Landing page eyebrow template",
179
- placeholders: [{ name: "industry", type: "string" }]
180
- },
181
- "landing.cta.primary": {
182
- value: "Lancer un bac \xE0 sable",
183
- description: "Landing page primary CTA"
184
- },
185
- "landing.cta.secondary": {
186
- value: "Voir la documentation",
187
- description: "Landing page secondary CTA"
188
- },
189
- "landing.highlight.policySafe": {
190
- value: "Conforme aux politiques par d\xE9faut",
191
- description: "Landing page highlight heading 1"
192
- },
193
- "landing.highlight.autoAdapts": {
194
- value: "S'adapte automatiquement par locataire",
195
- description: "Landing page highlight heading 2"
196
- },
197
- "landing.highlight.launchReady": {
198
- value: "Pr\xEAt au lancement en quelques jours",
199
- description: "Landing page highlight heading 3"
200
- },
201
- "landing.highlight.fallback": {
202
- value: "Capacit\xE9 cl\xE9",
203
- description: "Fallback highlight heading"
204
- },
205
- "landing.socialProof.heading": {
206
- value: "\xC9quipes utilisant ContractSpec",
207
- description: "Social proof section heading"
208
- },
209
- "landing.socialProof.defaultQuote": {
210
- value: "\xAB\xA0Nous livrons des workflows conformes 5x plus vite tout en r\xE9duisant de moiti\xE9 les t\xE2ches op\xE9rationnelles.\xA0\xBB",
211
- description: "Default social proof quote"
212
- },
213
- "landing.faq.policiesEnforced.heading": {
214
- value: "Comment les politiques restent-elles appliqu\xE9es\xA0?",
215
- description: "FAQ heading: policies enforced"
216
- },
217
- "landing.faq.policiesEnforced.body": {
218
- value: "Tous les workflows sont compil\xE9s \xE0 partir de sp\xE9cifications TypeScript et passent par des v\xE9rifications PDP avant ex\xE9cution, emp\xEAchant toute logique non autoris\xE9e.",
219
- description: "FAQ body: policies enforced"
220
- },
221
- "landing.faq.existingStack.heading": {
222
- value: "Est-ce compatible avec notre pile existante\xA0?",
223
- description: "FAQ heading: existing stack"
224
- },
225
- "landing.faq.existingStack.body": {
226
- value: "Les adaptateurs se connectent \xE0 REST, GraphQL ou MCP. Les int\xE9grations restent agnostiques vis-\xE0-vis des fournisseurs.",
227
- description: "FAQ body: existing stack"
228
- },
229
- "landing.faq.compliance.heading": {
230
- value: "Qu'en est-il des exigences de conformit\xE9\xA0?",
231
- description: "FAQ heading: compliance requirements"
232
- },
233
- "social.cta.linkedin": {
234
- value: "R\xE9servez une d\xE9mo de 15 min",
235
- description: "LinkedIn post default CTA"
236
- },
237
- "social.cta.twitter": {
238
- value: "\u2192 contractspec.io/sandbox",
239
- description: "Twitter post default CTA"
240
- },
241
- "social.body.threads": {
242
- value: "Ops + conformit\xE9 peuvent avancer vite. {title} automatise les garde-fous pour que les \xE9quipes livrent quotidiennement.",
243
- description: "Threads post body template",
244
- placeholders: [{ name: "title", type: "string" }]
245
- },
246
- "social.body.twitter.connector": {
247
- value: " en <60s. ",
248
- description: "Twitter body connector between solutions"
249
- },
250
- "seo.metaTitle": {
251
- value: "{title} | ContractSpec",
252
- description: "SEO meta title template",
253
- placeholders: [{ name: "title", type: "string" }]
254
- },
255
- "seo.metaDescription": {
256
- value: "{summary} \u2014 con\xE7u pour {role}{industry}.",
257
- description: "SEO meta description template",
258
- placeholders: [
259
- { name: "summary", type: "string" },
260
- { name: "role", type: "string" },
261
- { name: "industry", type: "string" }
262
- ]
263
- },
264
- "seo.offer.default": {
265
- value: "Commencez \xE0 construire avec ContractSpec",
266
- description: "Default offer description for schema markup"
267
- },
268
- "seo.audience.industry": {
269
- value: " dans le secteur {industry}",
270
- description: "Audience industry suffix for SEO description",
271
- placeholders: [{ name: "industry", type: "string" }]
272
- }
273
- }
274
- });
275
- export {
276
- frMessages
277
- };
2
+ import{defineTranslation as g}from"@contractspec/lib.contracts-spec/translations";var j=g({meta:{key:"content-gen.messages",version:"1.0.0",domain:"content-gen",description:"French translations for the content-gen package",owners:["platform"],stability:"experimental"},locale:"fr",fallback:"en",messages:{"prompt.blog.system":{value:"Vous \xEAtes un r\xE9dacteur marketing produit. Produisez du JSON avec title, subtitle, intro, sections[].heading/body/bullets, outro.",description:"Blog generator LLM system prompt"},"prompt.email.system":{value:"R\xE9digez un e-mail marketing produit en JSON {subject, previewText, body, cta}.",description:"Email generator LLM system prompt"},"prompt.landing.system":{value:"\xC9crivez du JSON pour une page d'atterrissage avec hero/highlights/socialProof/faq.",description:"Landing page generator LLM system prompt"},"prompt.social.system":{value:"Cr\xE9ez un tableau JSON de posts sociaux pour twitter/linkedin/threads avec body, hashtags, cta.",description:"Social post generator LLM system prompt"},"blog.intro":{value:"Les \xE9quipes comme {role} font face \xE0 {problems}. {title} change la donne gr\xE2ce \xE0 {summary}.",description:"Blog post intro paragraph template",placeholders:[{name:"role",type:"string"},{name:"problems",type:"string"},{name:"title",type:"string"},{name:"summary",type:"string"}]},"blog.heading.whyNow":{value:"Pourquoi maintenant",description:"Blog section heading: why now"},"blog.heading.whatYouGet":{value:"Ce que vous obtenez",description:"Blog section heading: what you get"},"blog.heading.proofItWorks":{value:"La preuve que \xE7a marche",description:"Blog section heading: proof it works"},"blog.body.whatYouGet":{value:"Une pile cibl\xE9e con\xE7ue pour l'automatisation conforme aux politiques.",description:"Blog section body: what you get"},"blog.body.proofItWorks":{value:"Les \xE9quipes utilisant le mod\xE8le rapportent des gains mesurables.",description:"Blog section body: proof it works"},"blog.metric.launchWorkflows":{value:"Lancez des workflows en quelques minutes",description:"Default metric: launch workflows"},"blog.metric.cutReviewTime":{value:"R\xE9duisez le temps de revue de 60\xA0%",description:"Default metric: cut review time"},"blog.outro.default":{value:"Pr\xEAt \xE0 voir en direct\xA0? Lancez un bac \xE0 sable en moins de 5 minutes.",description:"Default blog outro / call to action"},"blog.whyNow":{value:"Les \xE9quipes {audience} sont bloqu\xE9es par {pains}. {title} fournit des garde-fous sans ralentir les livraisons.",description:"Blog why-now section body template",placeholders:[{name:"audience",type:"string"},{name:"pains",type:"string"},{name:"title",type:"string"}]},"blog.audience.industry":{value:" dans le secteur {industry}",description:"Audience industry suffix for blog why-now",placeholders:[{name:"industry",type:"string"}]},"email.subject.announcement.launch":{value:"Lancement\xA0: {title}",description:"Announcement email subject variant: launch",placeholders:[{name:"title",type:"string"}]},"email.subject.announcement.live":{value:"{title} est en ligne",description:"Announcement email subject variant: live",placeholders:[{name:"title",type:"string"}]},"email.subject.announcement.new":{value:"Nouveau\xA0: {title}",description:"Announcement email subject variant: new",placeholders:[{name:"title",type:"string"}]},"email.subject.onboarding.getStarted":{value:"D\xE9marrez avec {title}",description:"Onboarding email subject variant: get started",placeholders:[{name:"title",type:"string"}]},"email.subject.onboarding.guide":{value:"Votre guide {title}",description:"Onboarding email subject variant: guide",placeholders:[{name:"title",type:"string"}]},"email.subject.nurture.speeds":{value:"Comment {title} acc\xE9l\xE8re les op\xE9rations",description:"Nurture email subject variant: speeds ops",placeholders:[{name:"title",type:"string"}]},"email.subject.nurture.proof":{value:"La preuve que {title} fonctionne",description:"Nurture email subject variant: proof",placeholders:[{name:"title",type:"string"}]},"email.subject.fallback":{value:"Mise \xE0 jour {title}",description:"Fallback email subject line",placeholders:[{name:"title",type:"string"}]},"email.preview.defaultWin":{value:"livrent plus vite sans lacunes de conformit\xE9",description:"Default win text for email preview"},"email.preview.template":{value:"D\xE9couvrez comment les \xE9quipes {win}.",description:"Email preview text template",placeholders:[{name:"win",type:"string"}]},"email.body.greeting":{value:"Bonjour,",description:"Email body greeting"},"email.body.reasons":{value:"Les principales raisons pour lesquelles les \xE9quipes adoptent {title}\xA0:",description:"Email body reasons intro",placeholders:[{name:"title",type:"string"}]},"email.cta.sandbox":{value:"Lancez un bac \xE0 sable",description:"Default CTA: spin up a sandbox"},"email.cta.explore":{value:"Explorez le bac \xE0 sable",description:"Default CTA: explore the sandbox"},"email.hook.announcement":{value:"{title} est en ligne. {summary}",description:"Announcement variant hook",placeholders:[{name:"title",type:"string"},{name:"summary",type:"string"}]},"email.hook.onboarding":{value:"Voici votre prochaine \xE9tape pour d\xE9bloquer {title}.",description:"Onboarding variant hook",placeholders:[{name:"title",type:"string"}]},"email.hook.nurture":{value:"Les op\xE9rateurs comme {role} demandent sans cesse comment automatiser les v\xE9rifications de conformit\xE9. Voici ce qui fonctionne.",description:"Nurture variant hook",placeholders:[{name:"role",type:"string"}]},"landing.eyebrow.defaultIndustry":{value:"Op\xE9rations",description:"Default industry for landing page eyebrow"},"landing.eyebrow.template":{value:"\xC9quipes {industry}",description:"Landing page eyebrow template",placeholders:[{name:"industry",type:"string"}]},"landing.cta.primary":{value:"Lancer un bac \xE0 sable",description:"Landing page primary CTA"},"landing.cta.secondary":{value:"Voir la documentation",description:"Landing page secondary CTA"},"landing.highlight.policySafe":{value:"Conforme aux politiques par d\xE9faut",description:"Landing page highlight heading 1"},"landing.highlight.autoAdapts":{value:"S'adapte automatiquement par locataire",description:"Landing page highlight heading 2"},"landing.highlight.launchReady":{value:"Pr\xEAt au lancement en quelques jours",description:"Landing page highlight heading 3"},"landing.highlight.fallback":{value:"Capacit\xE9 cl\xE9",description:"Fallback highlight heading"},"landing.socialProof.heading":{value:"\xC9quipes utilisant ContractSpec",description:"Social proof section heading"},"landing.socialProof.defaultQuote":{value:"\xAB\xA0Nous livrons des workflows conformes 5x plus vite tout en r\xE9duisant de moiti\xE9 les t\xE2ches op\xE9rationnelles.\xA0\xBB",description:"Default social proof quote"},"landing.faq.policiesEnforced.heading":{value:"Comment les politiques restent-elles appliqu\xE9es\xA0?",description:"FAQ heading: policies enforced"},"landing.faq.policiesEnforced.body":{value:"Tous les workflows sont compil\xE9s \xE0 partir de sp\xE9cifications TypeScript et passent par des v\xE9rifications PDP avant ex\xE9cution, emp\xEAchant toute logique non autoris\xE9e.",description:"FAQ body: policies enforced"},"landing.faq.existingStack.heading":{value:"Est-ce compatible avec notre pile existante\xA0?",description:"FAQ heading: existing stack"},"landing.faq.existingStack.body":{value:"Les adaptateurs se connectent \xE0 REST, GraphQL ou MCP. Les int\xE9grations restent agnostiques vis-\xE0-vis des fournisseurs.",description:"FAQ body: existing stack"},"landing.faq.compliance.heading":{value:"Qu'en est-il des exigences de conformit\xE9\xA0?",description:"FAQ heading: compliance requirements"},"social.cta.linkedin":{value:"R\xE9servez une d\xE9mo de 15 min",description:"LinkedIn post default CTA"},"social.cta.twitter":{value:"\u2192 contractspec.io/sandbox",description:"Twitter post default CTA"},"social.body.threads":{value:"Ops + conformit\xE9 peuvent avancer vite. {title} automatise les garde-fous pour que les \xE9quipes livrent quotidiennement.",description:"Threads post body template",placeholders:[{name:"title",type:"string"}]},"social.body.twitter.connector":{value:" en <60s. ",description:"Twitter body connector between solutions"},"seo.metaTitle":{value:"{title} | ContractSpec",description:"SEO meta title template",placeholders:[{name:"title",type:"string"}]},"seo.metaDescription":{value:"{summary} \u2014 con\xE7u pour {role}{industry}.",description:"SEO meta description template",placeholders:[{name:"summary",type:"string"},{name:"role",type:"string"},{name:"industry",type:"string"}]},"seo.offer.default":{value:"Commencez \xE0 construire avec ContractSpec",description:"Default offer description for schema markup"},"seo.audience.industry":{value:" dans le secteur {industry}",description:"Audience industry suffix for SEO description",placeholders:[{name:"industry",type:"string"}]}}});export{j as frMessages};