@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 { JpgAPngLocaleContent } from '../index';
5
-
6
- const slug = 'jpg-to-png-converter';
7
- const title = 'Convert JPG to PNG Online and Free';
8
- const description =
9
- 'Convert JPG images to PNG in your browser without uploading files. Lossless conversion, free and completely private.';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'Drag JPG files...',
13
- convertText: 'To convert them to PNG instantly',
14
- selectFiles: 'Select files',
15
- processedFiles: 'Processed files',
16
- downloadAll: 'Download All (.zip)',
4
+ import type { JpgAPngLocaleContent } from '../index';
5
+
6
+ const slug = 'jpg-to-png-converter';
7
+ const title = 'Convert JPG to PNG Online and Free';
8
+ const description =
9
+ 'Convert JPG images to PNG in your browser without uploading files. Lossless conversion, free and completely private.';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'Drag JPG files...',
13
+ convertText: 'To convert them to PNG 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: JpgAPngLocaleContent['faq'] = [
23
- {
24
- question: 'When should I use JPG to PNG?',
25
- answer:
26
- 'Whenever you plan to edit text or logos within a photograph. If you save a JPG multiple times, it degrades. PNG freezes the compression.',
27
- },
28
- {
29
- question: 'Will the PNG file have a transparent background immediately?',
30
- answer:
31
- 'No. The original JPG was flat and without that type of structural channel. The resulting PNG will prepare that container, then you must isolate the element using Photoshop or another editor.',
32
- },
33
- {
34
- question: 'Does this website have traffic limits?',
35
- answer:
36
- 'Thanks to Edge technologies without cloud dependencies, your conversion has no limits because it uses your computer or mobile entirely.',
37
- },
38
- ];
39
-
40
- const howTo: JpgAPngLocaleContent['howTo'] = [
41
- {
42
- name: 'Drag JPG to the panel',
43
- text: 'Upload static JPG images using touch mouse or computer file picker.',
44
- },
45
- {
46
- name: 'Lossless Execution',
47
- text: 'The Vanilla software pushes the frame bits into a native lossless wrapper of the PNG family.',
48
- },
49
- {
50
- name: 'Finish Session',
51
- text: 'Click the panel and your browser will deposit the downloaded web assets in your User Folders.',
52
- },
53
- ];
54
-
55
- const seo: JpgAPngLocaleContent['seo'] = [
56
- {
57
- type: 'title',
58
- text: 'JPG to PNG Converter: Edit Without Quality Loss and Add Transparency',
59
- level: 2,
60
- },
61
- {
62
- type: 'paragraph',
63
- html: '<strong>JPG</strong> is unbeatable for camera photographs, but it has a critical weakness: every time you save the file, it applies its lossy compression again, progressively degrading edges and gradients. <strong>PNG</strong> uses lossless compression - once saved, pixels are immutable. Converting a JPG to PNG is the essential step when you need to prepare an image for intensive editing, add a transparent background, or integrate it into a design workflow that requires multiple saves.',
64
- },
65
- {
66
- type: 'title',
67
- text: 'JPG or PNG? When to use each format',
68
- level: 3,
69
- },
70
- {
71
- type: 'paragraph',
72
- html: '<strong>JPG</strong> is the king of photography: small files, compatible with everything. But its compression artifacts accumulate with each edit and re-save. If you need to crop, retouch, or add text to an image repeatedly, starting from JPG means introducing degradation in every cycle. JPG also lacks an alpha channel: it cannot have transparent backgrounds, which disqualifies it for logos, icons, and UI elements.',
73
- },
74
- {
75
- type: 'paragraph',
76
- html: '<strong>PNG</strong> is the right choice for corporate logos, screenshots with sharp text, interface elements, product images with white backgrounds that you will later need to cut out, or any graphic asset that will be edited more than once. Lossless compression guarantees that text edges remain perfectly defined and flat colors stay pure - no JPEG noise.',
77
- },
78
- {
79
- type: 'title',
80
- text: 'Comparison: Local vs Cloud Conversion',
81
- level: 3,
82
- },
83
- {
84
- type: 'comparative',
85
- items: [
86
- {
87
- title: 'Cloud Converters',
88
- description: 'Tools that upload your files to a remote server.',
89
- icon: 'mdi:cloud-upload',
90
- pointIcon: 'mdi:close-circle-outline',
91
- points: [
92
- 'Network latency on upload and download',
93
- 'Your images are stored on third-party servers',
94
- 'File size limits and daily conversion caps',
95
- 'Intrusive ads and third-party trackers',
96
- ],
97
- },
98
- {
99
- title: 'Our Local Architecture',
100
- description: 'Direct processing on your hardware using Vanilla JS technology.',
101
- icon: 'mdi:laptop-mac',
102
- highlight: true,
103
- points: [
104
- 'Instant speed - zero network latency',
105
- 'Complete privacy - 0 bytes sent externally',
106
- 'No MB limits or file count restrictions',
107
- 'Clean interface, no ads or tracking',
108
- ],
109
- },
110
- ],
111
- },
112
- {
113
- type: 'title',
114
- text: 'How it works technically',
115
- level: 3,
116
- },
117
- {
118
- type: 'paragraph',
119
- html: 'The process is entirely local: the browser creates a <strong>Blob</strong> from the selected JPG and draws it onto an in-memory <strong>HTML5 Canvas</strong>. Once rendered, it calls <code>toDataURL(\'image/png\')</code> - the browser\'s built-in PNG codec re-encodes every pixel without applying any new lossy compression. The result is a PNG that faithfully preserves the current state of the JPG: neither better nor worse, simply frozen.',
120
- },
121
- {
122
- type: 'paragraph',
123
- html: 'The resulting PNG uses lossless DEFLATE compression, the same used by professional tools like Photoshop or GIMP. Its size will be larger than the original JPG - typically 2 to 5 times - because it stores all pixels without discarding any information. This is the price paid for fidelity and infinite editability.',
124
- },
125
- {
126
- type: 'tip',
127
- title: 'Important: PNG does not recover JPEG quality',
128
- html: 'Converting a JPG to PNG <strong>does not recover quality lost</strong> during the original JPEG compression. If your JPG already had block artifacts or color noise, the PNG will preserve them intact - it simply prevents more from being added. Think of the conversion as "freezing" the current state of the image so that future edits do not degrade it further.',
129
- },
130
- {
131
- type: 'title',
132
- text: 'Use cases and compatibility',
133
- level: 3,
134
- },
135
- {
136
- type: 'list',
137
- icon: 'mdi:check-circle',
138
- items: [
139
- 'Logos and brand elements that need a transparent background after cutting out.',
140
- 'Screenshots with text that will be edited and re-saved multiple times.',
141
- 'Product images for e-commerce requiring a clean, cuttable white background.',
142
- 'Graphic assets for PowerPoint or Google Slides presentations.',
143
- 'UI assets for web and mobile applications where edge sharpness is critical.',
144
- ],
145
- },
146
- {
147
- type: 'title',
148
- text: 'Conclusion',
149
- level: 3,
150
- },
151
- {
152
- type: 'paragraph',
153
- html: 'Converting JPG to PNG is the first step in any serious design workflow. It does not transform the original quality, but it protects every pixel from future edits. With this tool, the process happens instantly and completely privately - your corporate or personal images never leave your device at any point.',
154
- },
155
- ];
156
-
18
+ bibliographyTitle: 'Bibliographic References',
19
+ faqTitle: 'Frequently Asked Questions',
20
+ };
21
+
22
+ const faq: JpgAPngLocaleContent['faq'] = [
23
+ {
24
+ question: 'When should I use JPG to PNG?',
25
+ answer:
26
+ 'Whenever you plan to edit text or logos within a photograph. If you save a JPG multiple times, it degrades. PNG freezes the compression.',
27
+ },
28
+ {
29
+ question: 'Will the PNG file have a transparent background immediately?',
30
+ answer:
31
+ 'No. The original JPG was flat and without that type of structural channel. The resulting PNG will prepare that container, then you must isolate the element using Photoshop or another editor.',
32
+ },
33
+ {
34
+ question: 'Does this website have traffic limits?',
35
+ answer:
36
+ 'Thanks to Edge technologies without cloud dependencies, your conversion has no limits because it uses your computer or mobile entirely.',
37
+ },
38
+ ];
39
+
40
+ const howTo: JpgAPngLocaleContent['howTo'] = [
41
+ {
42
+ name: 'Drag JPG to the panel',
43
+ text: 'Upload static JPG images using touch mouse or computer file picker.',
44
+ },
45
+ {
46
+ name: 'Lossless Execution',
47
+ text: 'The Vanilla software pushes the frame bits into a native lossless wrapper of the PNG family.',
48
+ },
49
+ {
50
+ name: 'Finish Session',
51
+ text: 'Click the panel and your browser will deposit the downloaded web assets in your User Folders.',
52
+ },
53
+ ];
54
+
55
+ const seo: JpgAPngLocaleContent['seo'] = [
56
+ {
57
+ type: 'title',
58
+ text: 'JPG to PNG Converter: Edit Without Quality Loss and Add Transparency',
59
+ level: 2,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: '<strong>JPG</strong> is unbeatable for camera photographs, but it has a critical weakness: every time you save the file, it applies its lossy compression again, progressively degrading edges and gradients. <strong>PNG</strong> uses lossless compression - once saved, pixels are immutable. Converting a JPG to PNG is the essential step when you need to prepare an image for intensive editing, add a transparent background, or integrate it into a design workflow that requires multiple saves.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'JPG or PNG? When to use each format',
68
+ level: 3,
69
+ },
70
+ {
71
+ type: 'paragraph',
72
+ html: '<strong>JPG</strong> is the king of photography: small files, compatible with everything. But its compression artifacts accumulate with each edit and re-save. If you need to crop, retouch, or add text to an image repeatedly, starting from JPG means introducing degradation in every cycle. JPG also lacks an alpha channel: it cannot have transparent backgrounds, which disqualifies it for logos, icons, and UI elements.',
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: '<strong>PNG</strong> is the right choice for corporate logos, screenshots with sharp text, interface elements, product images with white backgrounds that you will later need to cut out, or any graphic asset that will be edited more than once. Lossless compression guarantees that text edges remain perfectly defined and flat colors stay pure - no JPEG noise.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'Comparison: Local vs Cloud Conversion',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'comparative',
85
+ items: [
86
+ {
87
+ title: 'Cloud Converters',
88
+ description: 'Tools that upload your files to a remote server.',
89
+ icon: 'mdi:cloud-upload',
90
+ pointIcon: 'mdi:close-circle-outline',
91
+ points: [
92
+ 'Network latency on upload and download',
93
+ 'Your images are stored on third-party servers',
94
+ 'File size limits and daily conversion caps',
95
+ 'Intrusive ads and third-party trackers',
96
+ ],
97
+ },
98
+ {
99
+ title: 'Our Local Architecture',
100
+ description: 'Direct processing on your hardware using Vanilla JS technology.',
101
+ icon: 'mdi:laptop-mac',
102
+ highlight: true,
103
+ points: [
104
+ 'Instant speed - zero network latency',
105
+ 'Complete privacy - 0 bytes sent externally',
106
+ 'No MB limits or file count restrictions',
107
+ 'Clean interface, no ads or tracking',
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'How it works technically',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'The process is entirely local: the browser creates a <strong>Blob</strong> from the selected JPG and draws it onto an in-memory <strong>HTML5 Canvas</strong>. Once rendered, it calls <code>toDataURL(\'image/png\')</code> - the browser\'s built-in PNG codec re-encodes every pixel without applying any new lossy compression. The result is a PNG that faithfully preserves the current state of the JPG: neither better nor worse, simply frozen.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'The resulting PNG uses lossless DEFLATE compression, the same used by professional tools like Photoshop or GIMP. Its size will be larger than the original JPG - typically 2 to 5 times - because it stores all pixels without discarding any information. This is the price paid for fidelity and infinite editability.',
124
+ },
125
+ {
126
+ type: 'tip',
127
+ title: 'Important: PNG does not recover JPEG quality',
128
+ html: 'Converting a JPG to PNG <strong>does not recover quality lost</strong> during the original JPEG compression. If your JPG already had block artifacts or color noise, the PNG will preserve them intact - it simply prevents more from being added. Think of the conversion as "freezing" the current state of the image so that future edits do not degrade it further.',
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Use cases and compatibility',
133
+ level: 3,
134
+ },
135
+ {
136
+ type: 'list',
137
+ icon: 'mdi:check-circle',
138
+ items: [
139
+ 'Logos and brand elements that need a transparent background after cutting out.',
140
+ 'Screenshots with text that will be edited and re-saved multiple times.',
141
+ 'Product images for e-commerce requiring a clean, cuttable white background.',
142
+ 'Graphic assets for PowerPoint or Google Slides presentations.',
143
+ 'UI assets for web and mobile applications where edge sharpness is critical.',
144
+ ],
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Conclusion',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Converting JPG to PNG is the first step in any serious design workflow. It does not transform the original quality, but it protects every pixel from future edits. With this tool, the process happens instantly and completely privately - your corporate or personal images never leave your device at any point.',
154
+ },
155
+ ];
157
156
 
158
- export const content: JpgAPngLocaleContent = {
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: JpgAPngLocaleContent = {
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
+ };