@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,181 +1,181 @@
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 { PngAJpgLocaleContent } from '../index';
5
-
6
- const slug = 'convertidor-png-a-jpg';
7
- const title = 'Convertir PNG a JPG Online';
8
- const description =
9
- 'Convierte tus imágenes PNG a formato JPG de compresión rápida al instante en tu propio ordenador. Sin subir fotos a internet. Optimización por lotes.';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'Arrastra archivos PNG...',
13
- convertText: 'Para convertirlos a JPG al instante',
14
- selectFiles: 'Seleccionar archivos',
15
- processedFiles: 'Archivos procesados',
16
- downloadAll: 'Descargar Todo (.zip)',
4
+ import type { PngAJpgLocaleContent } from '../index';
5
+
6
+ const slug = 'convertidor-png-a-jpg';
7
+ const title = 'Convertir PNG a JPG Online';
8
+ const description =
9
+ 'Convierte tus imágenes PNG a formato JPG de compresión rápida al instante en tu propio ordenador. Sin subir fotos a internet. Optimización por lotes.';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'Arrastra archivos PNG...',
13
+ convertText: 'Para convertirlos a JPG al instante',
14
+ selectFiles: 'Seleccionar archivos',
15
+ processedFiles: 'Archivos procesados',
16
+ downloadAll: 'Descargar Todo (.zip)',
17
17
  pending: 'Pendiente',
18
- bibliographyTitle: 'Referencias Bibliográficas',
19
- faqTitle: 'Preguntas Frecuentes',
20
- };
21
-
22
- const faq: PngAJpgLocaleContent['faq'] = [
23
- {
24
- question: '¿Por qué elegir nuestro convertidor local de PNG a JPG?',
25
- answer:
26
- 'A diferencia de las herramientas convencionales, nuestra utilidad procesa los archivos íntegramente en tu navegador. Tus imágenes nunca tocan un disco duro ajeno, garantizando la total soberanía y privacidad de tus datos.',
27
- },
28
- {
29
- question: '¿JPG o PNG? ¿Cuál es mejor para mi caso?',
30
- answer:
31
- 'El PNG es ideal para logotipos y elementos con transparencia. Sin embargo, el JPG es el estándar de oro para fotografías y banners web, ya que logra pesos mucho más reducidos, mejorando drásticamente la velocidad de carga de un sitio.',
32
- },
33
- {
34
- question: '¿Cómo funciona la conversión técnica sin subir nada?',
35
- answer:
36
- 'Utilizamos la potencia del Canvas de HTML5. El navegador recrea la imagen en un lienzo virtual invisible, rellena las transparencias con blanco y genera un flujo de bytes que descargas directamente al instante.',
37
- },
38
- {
39
- question: '¿Es seguro para documentos confidenciales?',
40
- answer:
41
- 'Sí, es la opción más segura para profesionales de la banca, salud o derecho. Al ser una "caja negra" que solo usa tu RAM, lo que pasa dentro muere al cerrar la pestaña, evitando filtraciones en nubes de terceros.',
42
- },
43
- ];
44
-
45
- const howTo: PngAJpgLocaleContent['howTo'] = [
46
- {
47
- name: 'Selección de archivos',
48
- text: 'Prepara tus archivos PNG en una carpeta y arrástralos todos juntos al área de procesamiento o búscalos con el explorador.',
49
- },
50
- {
51
- name: 'Procesamiento instantáneo',
52
- text: 'Verifica que el estado cambie a "Listo" para cada archivo mientras el navegador optimiza el peso localmente.',
53
- },
54
- {
55
- name: 'Descarga optimizada',
56
- text: 'Guarda tus nuevos JPG uno a uno o usa el botón "Descargar Todo" para obtener un archivo ZIP comprimido con todas las imágenes.',
57
- },
58
- ];
59
-
60
- const seo: PngAJpgLocaleContent['seo'] = [
61
- {
62
- type: 'title',
63
- text: 'Convertidor de PNG a JPG: La Guía Definitiva para la Optimización de Imágenes',
64
- level: 2,
65
- },
66
- {
67
- type: 'paragraph',
68
- html: 'En el mundo del diseño digital y el desarrollo web, la eficiencia lo es todo. El formato PNG (Portable Network Graphics) es amado por su capacidad de mantener transparencias y su compresión sin pérdida, pero tiene un gran enemigo: el peso del archivo. Cuando necesitas que tu sitio web vuele o que tus emails carguen instantáneamente, el paso de PNG a JPG es la decisión técnica más inteligente.',
69
- },
70
- {
71
- type: 'title',
72
- text: '¿JPG o PNG?',
73
- level: 3,
74
- },
75
- {
76
- type: 'paragraph',
77
- html: 'No existe un formato mejor que otro, sino una herramienta para cada necesidad. El PNG es un formato sin pérdida, ideal para maquetas de interfaces, logotipos con texto pequeño y elementos visuales que requieren un fondo transparente. Sin embargo, esta fidelidad tiene un coste: archivos que pueden ser 5 o 10 veces más pesados que su equivalente comprimido.',
78
- },
79
- {
80
- type: 'paragraph',
81
- html: 'El JPG (Joint Photographic Experts Group), por otro lado, utiliza algoritmos de discretización para eliminar información que el ojo humano apenas percibe, logrando pesos pluma. Es el estándar de oro para fotografías, banners publicitarios y redes sociales. Al convertir tus PNG a JPG, estás traduciendo fidelidad geométrica por velocidad de red.',
82
- },
83
- {
84
- type: 'title',
85
- text: 'Comparativa de Arquitectura: Local vs Nube',
86
- level: 3,
87
- },
88
- {
89
- type: 'comparative',
90
- items: [
91
- {
92
- title: 'Convertidores Cloud',
93
- description: 'Herramientas tradicionales que suben tus fotos a un servidor remoto.',
94
- icon: 'mdi:cloud-upload',
95
- pointIcon: 'mdi:close-circle-outline',
96
- points: [
97
- 'Latencia de red (Upload/Download)',
98
- 'Riesgo de filtración de datos privados',
99
- 'Límites de tamaño por archivo',
100
- 'Publicidad y rastreadores',
101
- ],
102
- },
103
- {
104
- title: 'Nuestra Arquitectura Local',
105
- description: 'Procesamiento directo en tu hardware mediante tecnología Vanilla JS.',
106
- icon: 'mdi:laptop-mac',
107
- highlight: true,
108
- points: [
109
- 'Velocidad instantánea sin red',
110
- 'Privacidad garantizada (0 bytes enviados)',
111
- 'Sin límites de MB por archivo',
112
- 'Interfaz profesional y limpia',
113
- ],
114
- },
115
- ],
116
- },
117
- {
118
- type: 'title',
119
- text: 'Cómo funciona la conversión técnica',
120
- level: 3,
121
- },
122
- {
123
- type: 'paragraph',
124
- html: 'Probablemente te preguntes cómo es posible convertir una imagen sin enviarla a un servidor. La magia reside en la potencia de los navegadores modernos. Cuando seleccionas un archivo, generamos un Blob que solo existe en tu RAM. Ese Blob se dibuja en un elemento HTML5 Canvas invisible.',
125
- },
126
- {
127
- type: 'paragraph',
128
- html: 'Dado que el JPG no soporta transparencias, nuestro algoritmo rellena el fondo con un color blanco sólido antes de "pintar" el PNG encima. Una vez compuesta la imagen, ejecutamos el método de exportación nativo, generando un flujo de bytes que tu ordenador descarga directamente.',
129
- },
130
- {
131
- type: 'tip',
132
- title: 'Consejo SEO: El Peso Ideal',
133
- html: 'Google penaliza activamente los sitios web lentos. Si tu Largest Contentful Paint (LCP) es alto por culpa de un PNG de cabecera de 2MB, convertirlo a un JPG de 200KB puede mejorar tus métricas de PageSpeed instantáneamente sin diferencias visuales.',
134
- },
135
- {
136
- type: 'title',
137
- text: 'Seguridad para Empresas y Profesionales',
138
- level: 3,
139
- },
140
- {
141
- type: 'paragraph',
142
- html: 'Si trabajas en sectores sensibles como la banca, la salud o el derecho, subir archivos a conversores online es una violación de seguridad. Nuestra herramienta funciona como una "caja negra": lo que pasa dentro se queda en tu RAM. Es la única forma segura de trabajar con documentos confidenciales.',
143
- },
144
- {
145
- type: 'title',
146
- text: 'Compatibilidad del Resultado',
147
- level: 3,
148
- },
149
- {
150
- type: 'list',
151
- icon: 'mdi:check-circle',
152
- items: [
153
- 'Visores de Windows, macOS y dispositivos móviles.',
154
- 'Redes sociales (Instagram, LinkedIn, etc).',
155
- 'Herramientas de ofimática (Word, PowerPoint).',
156
- 'Gestores de contenido (WordPress, Shopify).',
157
- ],
158
- },
159
- {
160
- type: 'title',
161
- text: 'Conclusión: Optimiza como un Pro',
162
- level: 3,
163
- },
164
- {
165
- type: 'paragraph',
166
- html: 'Este convertidor no es solo una página más; es una pieza de ingeniería diseñada para facilitarte la vida. Ya seas un desarrollador o un usuario doméstico, aquí tienes la solución definitiva para ahorrar megabytes y mantener tus datos a salvo.',
167
- },
168
- ];
169
-
18
+ bibliographyTitle: 'Referencias Bibliográficas',
19
+ faqTitle: 'Preguntas Frecuentes',
20
+ };
21
+
22
+ const faq: PngAJpgLocaleContent['faq'] = [
23
+ {
24
+ question: '¿Por qué elegir nuestro convertidor local de PNG a JPG?',
25
+ answer:
26
+ 'A diferencia de las herramientas convencionales, nuestra utilidad procesa los archivos íntegramente en tu navegador. Tus imágenes nunca tocan un disco duro ajeno, garantizando la total soberanía y privacidad de tus datos.',
27
+ },
28
+ {
29
+ question: '¿JPG o PNG? ¿Cuál es mejor para mi caso?',
30
+ answer:
31
+ 'El PNG es ideal para logotipos y elementos con transparencia. Sin embargo, el JPG es el estándar de oro para fotografías y banners web, ya que logra pesos mucho más reducidos, mejorando drásticamente la velocidad de carga de un sitio.',
32
+ },
33
+ {
34
+ question: '¿Cómo funciona la conversión técnica sin subir nada?',
35
+ answer:
36
+ 'Utilizamos la potencia del Canvas de HTML5. El navegador recrea la imagen en un lienzo virtual invisible, rellena las transparencias con blanco y genera un flujo de bytes que descargas directamente al instante.',
37
+ },
38
+ {
39
+ question: '¿Es seguro para documentos confidenciales?',
40
+ answer:
41
+ 'Sí, es la opción más segura para profesionales de la banca, salud o derecho. Al ser una "caja negra" que solo usa tu RAM, lo que pasa dentro muere al cerrar la pestaña, evitando filtraciones en nubes de terceros.',
42
+ },
43
+ ];
44
+
45
+ const howTo: PngAJpgLocaleContent['howTo'] = [
46
+ {
47
+ name: 'Selección de archivos',
48
+ text: 'Prepara tus archivos PNG en una carpeta y arrástralos todos juntos al área de procesamiento o búscalos con el explorador.',
49
+ },
50
+ {
51
+ name: 'Procesamiento instantáneo',
52
+ text: 'Verifica que el estado cambie a "Listo" para cada archivo mientras el navegador optimiza el peso localmente.',
53
+ },
54
+ {
55
+ name: 'Descarga optimizada',
56
+ text: 'Guarda tus nuevos JPG uno a uno o usa el botón "Descargar Todo" para obtener un archivo ZIP comprimido con todas las imágenes.',
57
+ },
58
+ ];
59
+
60
+ const seo: PngAJpgLocaleContent['seo'] = [
61
+ {
62
+ type: 'title',
63
+ text: 'Convertidor de PNG a JPG: La Guía Definitiva para la Optimización de Imágenes',
64
+ level: 2,
65
+ },
66
+ {
67
+ type: 'paragraph',
68
+ html: 'En el mundo del diseño digital y el desarrollo web, la eficiencia lo es todo. El formato PNG (Portable Network Graphics) es amado por su capacidad de mantener transparencias y su compresión sin pérdida, pero tiene un gran enemigo: el peso del archivo. Cuando necesitas que tu sitio web vuele o que tus emails carguen instantáneamente, el paso de PNG a JPG es la decisión técnica más inteligente.',
69
+ },
70
+ {
71
+ type: 'title',
72
+ text: '¿JPG o PNG?',
73
+ level: 3,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
+ html: 'No existe un formato mejor que otro, sino una herramienta para cada necesidad. El PNG es un formato sin pérdida, ideal para maquetas de interfaces, logotipos con texto pequeño y elementos visuales que requieren un fondo transparente. Sin embargo, esta fidelidad tiene un coste: archivos que pueden ser 5 o 10 veces más pesados que su equivalente comprimido.',
78
+ },
79
+ {
80
+ type: 'paragraph',
81
+ html: 'El JPG (Joint Photographic Experts Group), por otro lado, utiliza algoritmos de discretización para eliminar información que el ojo humano apenas percibe, logrando pesos pluma. Es el estándar de oro para fotografías, banners publicitarios y redes sociales. Al convertir tus PNG a JPG, estás traduciendo fidelidad geométrica por velocidad de red.',
82
+ },
83
+ {
84
+ type: 'title',
85
+ text: 'Comparativa de Arquitectura: Local vs Nube',
86
+ level: 3,
87
+ },
88
+ {
89
+ type: 'comparative',
90
+ items: [
91
+ {
92
+ title: 'Convertidores Cloud',
93
+ description: 'Herramientas tradicionales que suben tus fotos a un servidor remoto.',
94
+ icon: 'mdi:cloud-upload',
95
+ pointIcon: 'mdi:close-circle-outline',
96
+ points: [
97
+ 'Latencia de red (Upload/Download)',
98
+ 'Riesgo de filtración de datos privados',
99
+ 'Límites de tamaño por archivo',
100
+ 'Publicidad y rastreadores',
101
+ ],
102
+ },
103
+ {
104
+ title: 'Nuestra Arquitectura Local',
105
+ description: 'Procesamiento directo en tu hardware mediante tecnología Vanilla JS.',
106
+ icon: 'mdi:laptop-mac',
107
+ highlight: true,
108
+ points: [
109
+ 'Velocidad instantánea sin red',
110
+ 'Privacidad garantizada (0 bytes enviados)',
111
+ 'Sin límites de MB por archivo',
112
+ 'Interfaz profesional y limpia',
113
+ ],
114
+ },
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Cómo funciona la conversión técnica',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'Probablemente te preguntes cómo es posible convertir una imagen sin enviarla a un servidor. La magia reside en la potencia de los navegadores modernos. Cuando seleccionas un archivo, generamos un Blob que solo existe en tu RAM. Ese Blob se dibuja en un elemento HTML5 Canvas invisible.',
125
+ },
126
+ {
127
+ type: 'paragraph',
128
+ html: 'Dado que el JPG no soporta transparencias, nuestro algoritmo rellena el fondo con un color blanco sólido antes de "pintar" el PNG encima. Una vez compuesta la imagen, ejecutamos el método de exportación nativo, generando un flujo de bytes que tu ordenador descarga directamente.',
129
+ },
130
+ {
131
+ type: 'tip',
132
+ title: 'Consejo SEO: El Peso Ideal',
133
+ html: 'Google penaliza activamente los sitios web lentos. Si tu Largest Contentful Paint (LCP) es alto por culpa de un PNG de cabecera de 2MB, convertirlo a un JPG de 200KB puede mejorar tus métricas de PageSpeed instantáneamente sin diferencias visuales.',
134
+ },
135
+ {
136
+ type: 'title',
137
+ text: 'Seguridad para Empresas y Profesionales',
138
+ level: 3,
139
+ },
140
+ {
141
+ type: 'paragraph',
142
+ html: 'Si trabajas en sectores sensibles como la banca, la salud o el derecho, subir archivos a conversores online es una violación de seguridad. Nuestra herramienta funciona como una "caja negra": lo que pasa dentro se queda en tu RAM. Es la única forma segura de trabajar con documentos confidenciales.',
143
+ },
144
+ {
145
+ type: 'title',
146
+ text: 'Compatibilidad del Resultado',
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'list',
151
+ icon: 'mdi:check-circle',
152
+ items: [
153
+ 'Visores de Windows, macOS y dispositivos móviles.',
154
+ 'Redes sociales (Instagram, LinkedIn, etc).',
155
+ 'Herramientas de ofimática (Word, PowerPoint).',
156
+ 'Gestores de contenido (WordPress, Shopify).',
157
+ ],
158
+ },
159
+ {
160
+ type: 'title',
161
+ text: 'Conclusión: Optimiza como un Pro',
162
+ level: 3,
163
+ },
164
+ {
165
+ type: 'paragraph',
166
+ html: 'Este convertidor no es solo una página más; es una pieza de ingeniería diseñada para facilitarte la vida. Ya seas un desarrollador o un usuario doméstico, aquí tienes la solución definitiva para ahorrar megabytes y mantener tus datos a salvo.',
167
+ },
168
+ ];
170
169
 
171
- export const content: PngAJpgLocaleContent = {
172
- slug,
173
- title,
174
- description,
175
- ui,
176
- seo,
177
- faq,
178
- bibliography,
179
- howTo,
180
- schemas: generateSchemas({ title, description, inLanguage: 'es', faq, howTo }),
181
- };
170
+
171
+ export const content: PngAJpgLocaleContent = {
172
+ slug,
173
+ title,
174
+ description,
175
+ ui,
176
+ seo,
177
+ faq,
178
+ bibliography,
179
+ howTo,
180
+ schemas: generateSchemas({ title, description, inLanguage: 'es', faq, howTo }),
181
+ };