@jjlmoya/utils-converters 1.25.0 → 1.26.0

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 (133) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/de.ts +1 -1
  3. package/src/category/i18n/en.ts +1 -1
  4. package/src/category/i18n/fr.ts +1 -1
  5. package/src/category/i18n/id.ts +1 -1
  6. package/src/category/i18n/it.ts +1 -1
  7. package/src/category/i18n/nl.ts +1 -1
  8. package/src/category/i18n/pl.ts +1 -1
  9. package/src/category/i18n/pt.ts +1 -1
  10. package/src/category/i18n/sv.ts +1 -1
  11. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  12. package/src/tests/category_seo_quality.test.ts +74 -0
  13. package/src/tests/faq_count.test.ts +1 -1
  14. package/src/tests/no_h1_in_components.test.ts +1 -1
  15. package/src/tests/seo_parity.test.ts +2 -2
  16. package/src/tests/seo_wellformed_export.test.ts +65 -0
  17. package/src/tests/tool_validation.test.ts +15 -15
  18. package/src/tool/avifAJpg/i18n/en.ts +164 -164
  19. package/src/tool/avifAJpg/i18n/es.ts +164 -164
  20. package/src/tool/avifAJpg/i18n/fr.ts +164 -164
  21. package/src/tool/avifAJpg/i18n/ja.ts +166 -166
  22. package/src/tool/avifAJpg/i18n/ko.ts +166 -166
  23. package/src/tool/avifAJpg/i18n/zh.ts +166 -166
  24. package/src/tool/avifAJpg/seo.astro +15 -15
  25. package/src/tool/avifAPng/i18n/en.ts +164 -164
  26. package/src/tool/avifAPng/i18n/es.ts +164 -164
  27. package/src/tool/avifAPng/i18n/fr.ts +164 -164
  28. package/src/tool/avifAPng/i18n/ja.ts +166 -166
  29. package/src/tool/avifAPng/i18n/ko.ts +166 -166
  30. package/src/tool/avifAPng/i18n/zh.ts +166 -166
  31. package/src/tool/avifAPng/seo.astro +15 -15
  32. package/src/tool/avifAWebp/i18n/en.ts +164 -164
  33. package/src/tool/avifAWebp/i18n/es.ts +164 -164
  34. package/src/tool/avifAWebp/i18n/fr.ts +164 -164
  35. package/src/tool/avifAWebp/i18n/ja.ts +166 -166
  36. package/src/tool/avifAWebp/i18n/ko.ts +166 -166
  37. package/src/tool/avifAWebp/i18n/zh.ts +166 -166
  38. package/src/tool/avifAWebp/seo.astro +15 -15
  39. package/src/tool/bmpAJpg/i18n/en.ts +164 -164
  40. package/src/tool/bmpAJpg/i18n/es.ts +164 -164
  41. package/src/tool/bmpAJpg/i18n/fr.ts +164 -164
  42. package/src/tool/bmpAJpg/i18n/ja.ts +166 -166
  43. package/src/tool/bmpAJpg/i18n/ko.ts +166 -166
  44. package/src/tool/bmpAJpg/i18n/zh.ts +166 -166
  45. package/src/tool/bmpAJpg/seo.astro +15 -15
  46. package/src/tool/bmpAPng/i18n/en.ts +164 -164
  47. package/src/tool/bmpAPng/i18n/es.ts +164 -164
  48. package/src/tool/bmpAPng/i18n/fr.ts +164 -164
  49. package/src/tool/bmpAPng/i18n/ja.ts +165 -165
  50. package/src/tool/bmpAPng/i18n/ko.ts +165 -165
  51. package/src/tool/bmpAPng/i18n/zh.ts +165 -165
  52. package/src/tool/bmpAPng/seo.astro +15 -15
  53. package/src/tool/bmpAWebp/i18n/en.ts +164 -164
  54. package/src/tool/bmpAWebp/i18n/es.ts +164 -164
  55. package/src/tool/bmpAWebp/i18n/fr.ts +164 -164
  56. package/src/tool/bmpAWebp/i18n/ja.ts +166 -166
  57. package/src/tool/bmpAWebp/i18n/ko.ts +166 -166
  58. package/src/tool/bmpAWebp/i18n/zh.ts +166 -166
  59. package/src/tool/bmpAWebp/seo.astro +15 -15
  60. package/src/tool/gifAJpg/i18n/en.ts +164 -164
  61. package/src/tool/gifAJpg/i18n/es.ts +164 -164
  62. package/src/tool/gifAJpg/i18n/fr.ts +164 -164
  63. package/src/tool/gifAJpg/i18n/ja.ts +166 -166
  64. package/src/tool/gifAJpg/i18n/ko.ts +166 -166
  65. package/src/tool/gifAJpg/i18n/zh.ts +166 -166
  66. package/src/tool/gifAJpg/seo.astro +15 -15
  67. package/src/tool/gifAPng/i18n/en.ts +164 -164
  68. package/src/tool/gifAPng/i18n/es.ts +164 -164
  69. package/src/tool/gifAPng/i18n/fr.ts +164 -164
  70. package/src/tool/gifAPng/i18n/ja.ts +166 -166
  71. package/src/tool/gifAPng/i18n/ko.ts +166 -166
  72. package/src/tool/gifAPng/i18n/zh.ts +166 -166
  73. package/src/tool/gifAPng/seo.astro +15 -15
  74. package/src/tool/gifAWebp/i18n/en.ts +164 -164
  75. package/src/tool/gifAWebp/i18n/es.ts +164 -164
  76. package/src/tool/gifAWebp/i18n/fr.ts +164 -164
  77. package/src/tool/gifAWebp/i18n/ja.ts +166 -166
  78. package/src/tool/gifAWebp/i18n/ko.ts +166 -166
  79. package/src/tool/gifAWebp/i18n/zh.ts +166 -166
  80. package/src/tool/gifAWebp/seo.astro +15 -15
  81. package/src/tool/imagenBase64/i18n/en.ts +154 -154
  82. package/src/tool/imagenBase64/i18n/es.ts +154 -154
  83. package/src/tool/imagenBase64/i18n/fr.ts +154 -154
  84. package/src/tool/imagenBase64/seo.astro +15 -15
  85. package/src/tool/jpgAIco/seo.astro +15 -15
  86. package/src/tool/jpgAPng/i18n/en.ts +164 -164
  87. package/src/tool/jpgAPng/i18n/es.ts +164 -164
  88. package/src/tool/jpgAPng/i18n/fr.ts +164 -164
  89. package/src/tool/jpgAPng/i18n/ja.ts +166 -166
  90. package/src/tool/jpgAPng/i18n/ko.ts +166 -166
  91. package/src/tool/jpgAPng/i18n/zh.ts +166 -166
  92. package/src/tool/jpgAPng/seo.astro +15 -15
  93. package/src/tool/jpgAWebp/i18n/en.ts +164 -164
  94. package/src/tool/jpgAWebp/i18n/es.ts +164 -164
  95. package/src/tool/jpgAWebp/i18n/fr.ts +164 -164
  96. package/src/tool/jpgAWebp/seo.astro +15 -15
  97. package/src/tool/pngAIco/seo.astro +15 -15
  98. package/src/tool/pngAJpg/i18n/de.ts +21 -21
  99. package/src/tool/pngAJpg/i18n/es.ts +177 -177
  100. package/src/tool/pngAJpg/i18n/fr.ts +137 -137
  101. package/src/tool/pngAJpg/i18n/id.ts +89 -89
  102. package/src/tool/pngAJpg/i18n/it.ts +89 -89
  103. package/src/tool/pngAJpg/i18n/ko.ts +177 -177
  104. package/src/tool/pngAJpg/i18n/nl.ts +20 -20
  105. package/src/tool/pngAJpg/i18n/pl.ts +89 -89
  106. package/src/tool/pngAJpg/i18n/pt.ts +89 -89
  107. package/src/tool/pngAJpg/i18n/ru.ts +177 -177
  108. package/src/tool/pngAJpg/i18n/sv.ts +89 -89
  109. package/src/tool/pngAJpg/i18n/tr.ts +89 -89
  110. package/src/tool/pngAJpg/seo.astro +15 -15
  111. package/src/tool/pngAWebp/i18n/en.ts +164 -164
  112. package/src/tool/pngAWebp/i18n/es.ts +164 -164
  113. package/src/tool/pngAWebp/i18n/fr.ts +164 -164
  114. package/src/tool/pngAWebp/seo.astro +15 -15
  115. package/src/tool/svgAJpg/i18n/fr.ts +164 -164
  116. package/src/tool/svgAJpg/seo.astro +15 -15
  117. package/src/tool/svgAPng/i18n/fr.ts +164 -164
  118. package/src/tool/svgAPng/seo.astro +15 -15
  119. package/src/tool/webpAIco/seo.astro +15 -15
  120. package/src/tool/webpAJpg/seo.astro +15 -15
  121. package/src/tool/webpAPng/bibliography.ts +13 -13
  122. package/src/tool/webpAPng/i18n/de.ts +166 -166
  123. package/src/tool/webpAPng/i18n/es.ts +171 -171
  124. package/src/tool/webpAPng/i18n/fr.ts +166 -166
  125. package/src/tool/webpAPng/i18n/id.ts +166 -166
  126. package/src/tool/webpAPng/i18n/it.ts +166 -166
  127. package/src/tool/webpAPng/i18n/nl.ts +166 -166
  128. package/src/tool/webpAPng/i18n/pl.ts +166 -166
  129. package/src/tool/webpAPng/i18n/pt.ts +166 -166
  130. package/src/tool/webpAPng/i18n/ru.ts +166 -166
  131. package/src/tool/webpAPng/i18n/sv.ts +166 -166
  132. package/src/tool/webpAPng/i18n/tr.ts +167 -167
  133. package/src/tool/webpAPng/seo.astro +15 -15
@@ -1,168 +1,168 @@
1
1
  import { bibliography } from '../bibliography';
2
- import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
3
3
  import { generateSchemas } from '../../../shared/logic/schemas';
4
- import type { AvifAJpgLocaleContent } from '../index';
5
-
6
- const slug = 'avif-to-jpg-converter';
7
- const title = 'Convert AVIF to JPG Online';
8
- const description =
9
- 'Convert AVIF images to JPG in your browser. No server. 100% private local processing. Free and unlimited.';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'Drag AVIF files...',
13
- convertText: 'To convert them to JPG instantly',
14
- selectFiles: 'Select files',
15
- processedFiles: 'Processed files',
16
- downloadAll: 'Download All (.zip)',
4
+ import type { AvifAJpgLocaleContent } from '../index';
5
+
6
+ const slug = 'avif-to-jpg-converter';
7
+ const title = 'Convert AVIF to JPG Online';
8
+ const description =
9
+ 'Convert AVIF images to JPG in your browser. No server. 100% private local processing. Free and unlimited.';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'Drag AVIF files...',
13
+ convertText: 'To convert them to JPG instantly',
14
+ selectFiles: 'Select files',
15
+ processedFiles: 'Processed files',
16
+ downloadAll: 'Download All (.zip)',
17
17
  pending: 'Pending',
18
- bibliographyTitle: 'Bibliographic References',
19
- faqTitle: 'Frequently Asked Questions',
20
- };
21
-
22
- const faq: AvifAJpgLocaleContent['faq'] = [
23
- {
24
- question: 'Why convert AVIF to JPG?',
25
- answer:
26
- 'The AVIF format offers superior compression, but not all programs or viewers support it. Converting it to JPG ensures the image can be viewed on 100% of devices worldwide.',
27
- },
28
- {
29
- question: 'How do we protect your AVIF images?',
30
- answer:
31
- 'Your photos never leave your phone or PC. The entire drawing and JPEG encoding process runs in the JavaScript environment of your browser.',
32
- },
33
- {
34
- question: 'Will I lose quality when going from AVIF to JPG?',
35
- answer:
36
- 'Our tool processes pixels at standard Canvas quality (0.9 to 0.95), making changes barely perceptible.',
37
- },
38
- ];
39
-
40
- const howTo: AvifAJpgLocaleContent['howTo'] = [
41
- {
42
- name: 'Drag files or click',
43
- text: 'Move all the AVIF photos you want to convert to the delimited processing box.',
44
- },
45
- {
46
- name: 'Instant Transformation',
47
- text: 'Watch in less than a second as AVIF is re-encoded to JPG, replacing any alpha channels with a solid background.',
48
- },
49
- {
50
- name: 'Save or Download ZIP',
51
- text: 'Download your new JPG images individually or by clicking Download All if you processed in batch.',
52
- },
53
- ];
54
-
55
- const seo: AvifAJpgLocaleContent['seo'] = [
56
- {
57
- type: 'title',
58
- text: 'AVIF to JPG Converter: Universal Compatibility for Your Modern Images',
59
- level: 2,
60
- },
61
- {
62
- type: 'paragraph',
63
- html: 'AVIF (AV1 Image File Format) is the most efficient image format available today. Developed by the Alliance for Open Media and based on the AV1 video codec, it offers compression 50% better than JPG at the same visual quality. However, this technical advantage comes at a price: AVIF is not supported by Photoshop, Lightroom, Windows Photo Viewer, or most traditional editing and viewing tools. Converting to JPG solves this problem at its root.',
64
- },
65
- {
66
- type: 'title',
67
- text: 'AVIF vs JPG: Efficiency vs Universal Compatibility',
68
- level: 3,
69
- },
70
- {
71
- type: 'paragraph',
72
- html: 'AVIF compresses extraordinarily well: a high-resolution photo that weighs 4 MB in JPG can be just 2 MB in AVIF at the same perceived quality. This makes it perfect for web delivery where load performance is critical. However, outside the browser, AVIF is practically invisible: Windows Explorer does not preview it, cameras do not export it, and designers do not welcome it in their workflows.',
73
- },
74
- {
75
- type: 'paragraph',
76
- html: 'JPG has been the universal standard of digital photography for over 30 years. It is supported by 100% of devices, operating systems, office applications, social networks, printers and any software that has ever handled an image. When you need to share, print, edit or send by email, JPG is the guarantee that everything will work without friction.',
77
- },
78
- {
79
- type: 'title',
80
- text: 'Comparison: Cloud Converters vs Our Local Architecture',
81
- level: 3,
82
- },
83
- {
84
- type: 'comparative',
85
- items: [
86
- {
87
- title: 'Cloud Converters',
88
- description: 'Tools that upload your AVIF files to a remote server for processing.',
89
- icon: 'mdi:cloud-upload',
90
- pointIcon: 'mdi:close-circle-outline',
91
- points: [
92
- 'Your private photos travel over the internet to external servers',
93
- 'Waiting times for file upload and download',
94
- 'Size limits and restricted free conversions',
95
- 'Risk of image retention on third-party servers',
96
- ],
97
- },
98
- {
99
- title: 'Our Local Architecture',
100
- description: 'Direct processing in your browser using Vanilla JS and Canvas API technology.',
101
- icon: 'mdi:laptop-mac',
102
- highlight: true,
103
- points: [
104
- 'Your images never leave your device',
105
- 'Instant conversion with no network latency',
106
- 'No file or size limits',
107
- 'Suitable for medical, legal or confidential images',
108
- ],
109
- },
110
- ],
111
- },
112
- {
113
- type: 'title',
114
- text: 'How the technical conversion works in the browser',
115
- level: 3,
116
- },
117
- {
118
- type: 'paragraph',
119
- html: 'Modern browsers like Chrome, Firefox and Edge include native AVIF support through their built-in AV1 decoders. When you load an AVIF file, the browser decodes it in memory and converts it to a bitmap representation in RAM. This representation is painted onto an invisible HTML5 <code>Canvas</code> element.',
120
- },
121
- {
122
- type: 'paragraph',
123
- html: 'The Canvas then exports the image using <code>toBlob(\'image/jpeg\', quality)</code>, applying standard JPG compression. Since JPG does not support transparency, any alpha channel present in the AVIF is filled with a white background before export. The result is a high-quality JPG file ready for direct download, without a single byte leaving your browser.',
124
- },
125
- {
126
- type: 'tip',
127
- title: 'The perfect balance between compression and compatibility',
128
- html: 'AVIF is 50% smaller than JPG at equal quality - but JPG has 100% compatibility with any software. If you receive AVIF images from the server and need to edit them, send them by email or open them in desktop tools, convert them to JPG first.',
129
- },
130
- {
131
- type: 'title',
132
- text: 'Use cases: when to convert AVIF to JPG',
133
- level: 3,
134
- },
135
- {
136
- type: 'list',
137
- icon: 'mdi:check-circle',
138
- items: [
139
- 'Editing in Photoshop, Lightroom, GIMP or other desktop software.',
140
- 'Sharing images with users on older devices or operating systems.',
141
- 'Attaching to emails to ensure viewing in any mail client.',
142
- 'Publishing on platforms that do not accept AVIF as an upload format.',
143
- 'Printing: professional print services work with JPG natively.',
144
- ],
145
- },
146
- {
147
- type: 'title',
148
- text: 'Conclusion: Universal compatibility in a single step',
149
- level: 3,
150
- },
151
- {
152
- type: 'paragraph',
153
- html: 'AVIF is the future of image compression, but the present demands compatibility. Our converter lets you get the best of both worlds: receive and store images in AVIF for maximum efficiency, and convert them to JPG instantly when you need them to work in any context. All privately, free and without limits.',
154
- },
155
- ];
156
-
18
+ bibliographyTitle: 'Bibliographic References',
19
+ faqTitle: 'Frequently Asked Questions',
20
+ };
21
+
22
+ const faq: AvifAJpgLocaleContent['faq'] = [
23
+ {
24
+ question: 'Why convert AVIF to JPG?',
25
+ answer:
26
+ 'The AVIF format offers superior compression, but not all programs or viewers support it. Converting it to JPG ensures the image can be viewed on 100% of devices worldwide.',
27
+ },
28
+ {
29
+ question: 'How do we protect your AVIF images?',
30
+ answer:
31
+ 'Your photos never leave your phone or PC. The entire drawing and JPEG encoding process runs in the JavaScript environment of your browser.',
32
+ },
33
+ {
34
+ question: 'Will I lose quality when going from AVIF to JPG?',
35
+ answer:
36
+ 'Our tool processes pixels at standard Canvas quality (0.9 to 0.95), making changes barely perceptible.',
37
+ },
38
+ ];
39
+
40
+ const howTo: AvifAJpgLocaleContent['howTo'] = [
41
+ {
42
+ name: 'Drag files or click',
43
+ text: 'Move all the AVIF photos you want to convert to the delimited processing box.',
44
+ },
45
+ {
46
+ name: 'Instant Transformation',
47
+ text: 'Watch in less than a second as AVIF is re-encoded to JPG, replacing any alpha channels with a solid background.',
48
+ },
49
+ {
50
+ name: 'Save or Download ZIP',
51
+ text: 'Download your new JPG images individually or by clicking Download All if you processed in batch.',
52
+ },
53
+ ];
54
+
55
+ const seo: AvifAJpgLocaleContent['seo'] = [
56
+ {
57
+ type: 'title',
58
+ text: 'AVIF to JPG Converter: Universal Compatibility for Your Modern Images',
59
+ level: 2,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'AVIF (AV1 Image File Format) is the most efficient image format available today. Developed by the Alliance for Open Media and based on the AV1 video codec, it offers compression 50% better than JPG at the same visual quality. However, this technical advantage comes at a price: AVIF is not supported by Photoshop, Lightroom, Windows Photo Viewer, or most traditional editing and viewing tools. Converting to JPG solves this problem at its root.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'AVIF vs JPG: Efficiency vs Universal Compatibility',
68
+ level: 3,
69
+ },
70
+ {
71
+ type: 'paragraph',
72
+ html: 'AVIF compresses extraordinarily well: a high-resolution photo that weighs 4 MB in JPG can be just 2 MB in AVIF at the same perceived quality. This makes it perfect for web delivery where load performance is critical. However, outside the browser, AVIF is practically invisible: Windows Explorer does not preview it, cameras do not export it, and designers do not welcome it in their workflows.',
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'JPG has been the universal standard of digital photography for over 30 years. It is supported by 100% of devices, operating systems, office applications, social networks, printers and any software that has ever handled an image. When you need to share, print, edit or send by email, JPG is the guarantee that everything will work without friction.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'Comparison: Cloud Converters vs Our Local Architecture',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'comparative',
85
+ items: [
86
+ {
87
+ title: 'Cloud Converters',
88
+ description: 'Tools that upload your AVIF files to a remote server for processing.',
89
+ icon: 'mdi:cloud-upload',
90
+ pointIcon: 'mdi:close-circle-outline',
91
+ points: [
92
+ 'Your private photos travel over the internet to external servers',
93
+ 'Waiting times for file upload and download',
94
+ 'Size limits and restricted free conversions',
95
+ 'Risk of image retention on third-party servers',
96
+ ],
97
+ },
98
+ {
99
+ title: 'Our Local Architecture',
100
+ description: 'Direct processing in your browser using Vanilla JS and Canvas API technology.',
101
+ icon: 'mdi:laptop-mac',
102
+ highlight: true,
103
+ points: [
104
+ 'Your images never leave your device',
105
+ 'Instant conversion with no network latency',
106
+ 'No file or size limits',
107
+ 'Suitable for medical, legal or confidential images',
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'How the technical conversion works in the browser',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'Modern browsers like Chrome, Firefox and Edge include native AVIF support through their built-in AV1 decoders. When you load an AVIF file, the browser decodes it in memory and converts it to a bitmap representation in RAM. This representation is painted onto an invisible HTML5 <code>Canvas</code> element.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'The Canvas then exports the image using <code>toBlob(\'image/jpeg\', quality)</code>, applying standard JPG compression. Since JPG does not support transparency, any alpha channel present in the AVIF is filled with a white background before export. The result is a high-quality JPG file ready for direct download, without a single byte leaving your browser.',
124
+ },
125
+ {
126
+ type: 'tip',
127
+ title: 'The perfect balance between compression and compatibility',
128
+ html: 'AVIF is 50% smaller than JPG at equal quality - but JPG has 100% compatibility with any software. If you receive AVIF images from the server and need to edit them, send them by email or open them in desktop tools, convert them to JPG first.',
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Use cases: when to convert AVIF to JPG',
133
+ level: 3,
134
+ },
135
+ {
136
+ type: 'list',
137
+ icon: 'mdi:check-circle',
138
+ items: [
139
+ 'Editing in Photoshop, Lightroom, GIMP or other desktop software.',
140
+ 'Sharing images with users on older devices or operating systems.',
141
+ 'Attaching to emails to ensure viewing in any mail client.',
142
+ 'Publishing on platforms that do not accept AVIF as an upload format.',
143
+ 'Printing: professional print services work with JPG natively.',
144
+ ],
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Conclusion: Universal compatibility in a single step',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'AVIF is the future of image compression, but the present demands compatibility. Our converter lets you get the best of both worlds: receive and store images in AVIF for maximum efficiency, and convert them to JPG instantly when you need them to work in any context. All privately, free and without limits.',
154
+ },
155
+ ];
157
156
 
158
- export const content: AvifAJpgLocaleContent = {
159
- slug,
160
- title,
161
- description,
162
- ui,
163
- seo,
164
- faq,
165
- bibliography,
166
- howTo,
167
- schemas: generateSchemas({ title, description, inLanguage: 'en', faq, howTo }),
168
- };
157
+
158
+ export const content: AvifAJpgLocaleContent = {
159
+ slug,
160
+ title,
161
+ description,
162
+ ui,
163
+ seo,
164
+ faq,
165
+ bibliography,
166
+ howTo,
167
+ schemas: generateSchemas({ title, description, inLanguage: 'en', faq, howTo }),
168
+ };