@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 { JpgAWebpLocaleContent } from '../index';
5
-
6
- const slug = 'convertidor-jpg-a-webp';
7
- const title = 'Convertir JPG a WebP Online y Gratis';
8
- const description =
9
- 'Convierte imágenes JPG a WebP en tu navegador. Compresión superior sin pérdida visible. Sin subir archivos. Gratuito, ilimitado y privado.';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'Arrastra archivos JPG...',
13
- convertText: 'Para convertirlos a WebP al instante',
14
- selectFiles: 'Seleccionar archivos',
15
- processedFiles: 'Archivos procesados',
16
- downloadAll: 'Descargar Todo (.zip)',
4
+ import type { JpgAWebpLocaleContent } from '../index';
5
+
6
+ const slug = 'convertidor-jpg-a-webp';
7
+ const title = 'Convertir JPG a WebP Online y Gratis';
8
+ const description =
9
+ 'Convierte imágenes JPG a WebP en tu navegador. Compresión superior sin pérdida visible. Sin subir archivos. Gratuito, ilimitado y privado.';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'Arrastra archivos JPG...',
13
+ convertText: 'Para convertirlos a WebP 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: JpgAWebpLocaleContent['faq'] = [
23
- {
24
- question: '¿Por qué convertir fotos JPG a WebP?',
25
- answer:
26
- 'WebP permite comprimir significativamente más los archivos JPG tradicionales sin que el ojo humano note la diferencia, resultando en sitios web más rápidos y modernos.',
27
- },
28
- {
29
- question: '¿Tengo que pagar por imagen?',
30
- answer:
31
- 'No, la herramienta es gratis y todo se procesa directamente en tu ordenador. Es ilimitada para uso doméstico o profesional.',
32
- },
33
- {
34
- question: '¿Es segura la conversión?',
35
- answer:
36
- 'Sí, totalmente. Todo el procesamiento ocurre en el Canvas HTML5 de tu navegador local sin enviar ningún dato a servidores externos.',
37
- },
38
- ];
39
-
40
- const howTo: JpgAWebpLocaleContent['howTo'] = [
41
- {
42
- name: 'Inserta tus fotografías JPG',
43
- text: 'Pega tus archivos JPG o arrástralos directamente al área superior. La detección es instantánea.',
44
- },
45
- {
46
- name: 'Procesado a WebP',
47
- text: 'El motor de renderizado local convertirá cada archivo de imagen a un WebP ultra optimizado listo para la web.',
48
- },
49
- {
50
- name: 'Descarga los resultados',
51
- text: 'Guarda cada WebP individualmente o descarga el ZIP con todos los archivos convertidos.',
52
- },
53
- ];
54
-
55
- const seo: JpgAWebpLocaleContent['seo'] = [
56
- {
57
- type: 'title',
58
- text: 'Convertidor de JPG a WebP: Acelera tu Web con el Formato de Google',
59
- level: 2,
60
- },
61
- {
62
- type: 'paragraph',
63
- html: 'El formato <strong>JPG</strong> ha dominado la fotografía digital durante décadas: universal, compacto y compatible con cualquier dispositivo. Sin embargo, Google diseñó <strong>WebP</strong> para superar al JPG en su propio terreno: mismo nivel visual, un 25-35% menos de peso. Para los desarrolladores web y los equipos de marketing que luchan contra tiempos de carga lentos, convertir JPG a WebP es la palanca de optimización con mayor retorno por esfuerzo.',
64
- },
65
- {
66
- type: 'title',
67
- text: '¿JPG o WebP? Cuándo usar cada formato',
68
- level: 3,
69
- },
70
- {
71
- type: 'paragraph',
72
- html: 'El <strong>JPG</strong> sigue siendo la opción correcta cuando necesitas compatibilidad universal: correos electrónicos a clientes, documentos de Word, redes sociales heredadas o sistemas CMS que no aceptan WebP. Su ecosistema de treinta años garantiza que cualquier pantalla, impresora o visor lo abrirá sin problemas. El mayor inconveniente es su tamaño: un JPG de cabecera de 1,5 MB puede lastrar el LCP de tu página hasta hacerlo reprobar en Core Web Vitals.',
73
- },
74
- {
75
- type: 'paragraph',
76
- html: '<strong>WebP</strong> es la elección inteligente para todo el contenido que vive en tu sitio web. Chrome, Firefox, Safari y Edge lo soportan de forma nativa desde hace años. Las imágenes de producto en e-commerce, los banners de blog, las miniaturas de vídeo y cualquier fotografía publicada en línea se benefician directamente: páginas más ligeras, mejor puntuación en Google PageSpeed Insights y una experiencia de usuario más fluida, especialmente en conexiones móviles.',
77
- },
78
- {
79
- type: 'title',
80
- text: 'Comparativa: Conversión Local vs Nube',
81
- level: 3,
82
- },
83
- {
84
- type: 'comparative',
85
- items: [
86
- {
87
- title: 'Convertidores Cloud',
88
- description: 'Herramientas que suben tus archivos a un servidor remoto.',
89
- icon: 'mdi:cloud-upload',
90
- pointIcon: 'mdi:close-circle-outline',
91
- points: [
92
- 'Latencia de red en upload y download',
93
- 'Tus fotografías quedan en servidores ajenos',
94
- 'Límites de tamaño y conversiones diarias',
95
- 'Publicidad intrusiva y rastreadores de terceros',
96
- ],
97
- },
98
- {
99
- title: 'Nuestra Arquitectura Local',
100
- description: 'Procesamiento directo en tu hardware mediante tecnología Vanilla JS.',
101
- icon: 'mdi:laptop-mac',
102
- highlight: true,
103
- points: [
104
- 'Velocidad instantánea: cero latencia de red',
105
- 'Privacidad total - 0 bytes enviados al exterior',
106
- 'Sin límites de MB ni de número de archivos',
107
- 'Interfaz limpia, sin anuncios ni rastreos',
108
- ],
109
- },
110
- ],
111
- },
112
- {
113
- type: 'title',
114
- text: 'Cómo funciona técnicamente',
115
- level: 3,
116
- },
117
- {
118
- type: 'paragraph',
119
- html: 'Cuando arrastras un JPG a la herramienta, el navegador crea un objeto <strong>Blob</strong> que reside únicamente en tu RAM. Ese Blob se decodifica y se dibuja sobre un elemento <strong>Canvas de HTML5</strong> invisible. Como el JPG no tiene canal alfa, la conversión a WebP es directa: el motor exporta el canvas llamando a <code>toDataURL(\'image/webp\')</code>, generando un flujo de bytes que tu sistema operativo descarga al instante sin pasar por ningún servidor.',
120
- },
121
- {
122
- type: 'paragraph',
123
- html: 'El algoritmo de compresión WebP combina técnicas de predicción de bloques (similares a las de VP8, el codec de vídeo de Google) con transformadas de color y codificación aritmética. El resultado es un archivo que contiene la misma información perceptual que el JPG original pero empaquetada de forma mucho más eficiente, lo que se traduce directamente en menos kilobytes transferidos por cada visita a tu página.',
124
- },
125
- {
126
- type: 'tip',
127
- title: 'Consejo Core Web Vitals: LCP y el peso de las imágenes',
128
- html: 'El <strong>Largest Contentful Paint (LCP)</strong> es la métrica de Google que mide cuánto tarda en cargarse el elemento visual más grande de tu página. Un JPG de cabecera de 1,5 MB puede convertirse en un WebP de apenas 900 KB - o incluso 600 KB - sin diferencia visual apreciable. Ese ahorro del <strong>25-35%</strong> puede mover tu LCP de "Necesita mejorar" a "Bueno" y subir posiciones en los resultados de búsqueda.',
129
- },
130
- {
131
- type: 'title',
132
- text: 'Casos de uso y compatibilidad',
133
- level: 3,
134
- },
135
- {
136
- type: 'list',
137
- icon: 'mdi:check-circle',
138
- items: [
139
- 'Imágenes de producto en tiendas WooCommerce o Shopify: menos peso, más conversiones.',
140
- 'Fotografías de blog y artículos de contenido: mejor puntuación PageSpeed sin retocar el diseño.',
141
- 'Banners y creatividades publicitarias web: archivos más ligeros con la misma nitidez.',
142
- 'Galerías de portfolio o portafolios de arquitectura/fotografía con muchas imágenes.',
143
- 'Miniaturas de vídeo en sitios de streaming o plataformas de cursos online.',
144
- ],
145
- },
146
- {
147
- type: 'title',
148
- text: 'Conclusión',
149
- level: 3,
150
- },
151
- {
152
- type: 'paragraph',
153
- html: 'Convertir tus JPG a WebP es hoy una de las optimizaciones más sencillas y rentables que puedes aplicar a cualquier sitio web. Con esta herramienta lo haces en segundos, de forma gratuita y sin que tus imágenes salgan de tu dispositivo. Menos kilobytes, mejor LCP, más velocidad - y todo eso con el mismo aspecto visual que ya tenías.',
154
- },
155
- ];
156
-
18
+ bibliographyTitle: 'Referencias Bibliográficas',
19
+ faqTitle: 'Preguntas Frecuentes',
20
+ };
21
+
22
+ const faq: JpgAWebpLocaleContent['faq'] = [
23
+ {
24
+ question: '¿Por qué convertir fotos JPG a WebP?',
25
+ answer:
26
+ 'WebP permite comprimir significativamente más los archivos JPG tradicionales sin que el ojo humano note la diferencia, resultando en sitios web más rápidos y modernos.',
27
+ },
28
+ {
29
+ question: '¿Tengo que pagar por imagen?',
30
+ answer:
31
+ 'No, la herramienta es gratis y todo se procesa directamente en tu ordenador. Es ilimitada para uso doméstico o profesional.',
32
+ },
33
+ {
34
+ question: '¿Es segura la conversión?',
35
+ answer:
36
+ 'Sí, totalmente. Todo el procesamiento ocurre en el Canvas HTML5 de tu navegador local sin enviar ningún dato a servidores externos.',
37
+ },
38
+ ];
39
+
40
+ const howTo: JpgAWebpLocaleContent['howTo'] = [
41
+ {
42
+ name: 'Inserta tus fotografías JPG',
43
+ text: 'Pega tus archivos JPG o arrástralos directamente al área superior. La detección es instantánea.',
44
+ },
45
+ {
46
+ name: 'Procesado a WebP',
47
+ text: 'El motor de renderizado local convertirá cada archivo de imagen a un WebP ultra optimizado listo para la web.',
48
+ },
49
+ {
50
+ name: 'Descarga los resultados',
51
+ text: 'Guarda cada WebP individualmente o descarga el ZIP con todos los archivos convertidos.',
52
+ },
53
+ ];
54
+
55
+ const seo: JpgAWebpLocaleContent['seo'] = [
56
+ {
57
+ type: 'title',
58
+ text: 'Convertidor de JPG a WebP: Acelera tu Web con el Formato de Google',
59
+ level: 2,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'El formato <strong>JPG</strong> ha dominado la fotografía digital durante décadas: universal, compacto y compatible con cualquier dispositivo. Sin embargo, Google diseñó <strong>WebP</strong> para superar al JPG en su propio terreno: mismo nivel visual, un 25-35% menos de peso. Para los desarrolladores web y los equipos de marketing que luchan contra tiempos de carga lentos, convertir JPG a WebP es la palanca de optimización con mayor retorno por esfuerzo.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: '¿JPG o WebP? Cuándo usar cada formato',
68
+ level: 3,
69
+ },
70
+ {
71
+ type: 'paragraph',
72
+ html: 'El <strong>JPG</strong> sigue siendo la opción correcta cuando necesitas compatibilidad universal: correos electrónicos a clientes, documentos de Word, redes sociales heredadas o sistemas CMS que no aceptan WebP. Su ecosistema de treinta años garantiza que cualquier pantalla, impresora o visor lo abrirá sin problemas. El mayor inconveniente es su tamaño: un JPG de cabecera de 1,5 MB puede lastrar el LCP de tu página hasta hacerlo reprobar en Core Web Vitals.',
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: '<strong>WebP</strong> es la elección inteligente para todo el contenido que vive en tu sitio web. Chrome, Firefox, Safari y Edge lo soportan de forma nativa desde hace años. Las imágenes de producto en e-commerce, los banners de blog, las miniaturas de vídeo y cualquier fotografía publicada en línea se benefician directamente: páginas más ligeras, mejor puntuación en Google PageSpeed Insights y una experiencia de usuario más fluida, especialmente en conexiones móviles.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'Comparativa: Conversión Local vs Nube',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'comparative',
85
+ items: [
86
+ {
87
+ title: 'Convertidores Cloud',
88
+ description: 'Herramientas que suben tus archivos a un servidor remoto.',
89
+ icon: 'mdi:cloud-upload',
90
+ pointIcon: 'mdi:close-circle-outline',
91
+ points: [
92
+ 'Latencia de red en upload y download',
93
+ 'Tus fotografías quedan en servidores ajenos',
94
+ 'Límites de tamaño y conversiones diarias',
95
+ 'Publicidad intrusiva y rastreadores de terceros',
96
+ ],
97
+ },
98
+ {
99
+ title: 'Nuestra Arquitectura Local',
100
+ description: 'Procesamiento directo en tu hardware mediante tecnología Vanilla JS.',
101
+ icon: 'mdi:laptop-mac',
102
+ highlight: true,
103
+ points: [
104
+ 'Velocidad instantánea: cero latencia de red',
105
+ 'Privacidad total - 0 bytes enviados al exterior',
106
+ 'Sin límites de MB ni de número de archivos',
107
+ 'Interfaz limpia, sin anuncios ni rastreos',
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Cómo funciona técnicamente',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'Cuando arrastras un JPG a la herramienta, el navegador crea un objeto <strong>Blob</strong> que reside únicamente en tu RAM. Ese Blob se decodifica y se dibuja sobre un elemento <strong>Canvas de HTML5</strong> invisible. Como el JPG no tiene canal alfa, la conversión a WebP es directa: el motor exporta el canvas llamando a <code>toDataURL(\'image/webp\')</code>, generando un flujo de bytes que tu sistema operativo descarga al instante sin pasar por ningún servidor.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'El algoritmo de compresión WebP combina técnicas de predicción de bloques (similares a las de VP8, el codec de vídeo de Google) con transformadas de color y codificación aritmética. El resultado es un archivo que contiene la misma información perceptual que el JPG original pero empaquetada de forma mucho más eficiente, lo que se traduce directamente en menos kilobytes transferidos por cada visita a tu página.',
124
+ },
125
+ {
126
+ type: 'tip',
127
+ title: 'Consejo Core Web Vitals: LCP y el peso de las imágenes',
128
+ html: 'El <strong>Largest Contentful Paint (LCP)</strong> es la métrica de Google que mide cuánto tarda en cargarse el elemento visual más grande de tu página. Un JPG de cabecera de 1,5 MB puede convertirse en un WebP de apenas 900 KB - o incluso 600 KB - sin diferencia visual apreciable. Ese ahorro del <strong>25-35%</strong> puede mover tu LCP de "Necesita mejorar" a "Bueno" y subir posiciones en los resultados de búsqueda.',
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Casos de uso y compatibilidad',
133
+ level: 3,
134
+ },
135
+ {
136
+ type: 'list',
137
+ icon: 'mdi:check-circle',
138
+ items: [
139
+ 'Imágenes de producto en tiendas WooCommerce o Shopify: menos peso, más conversiones.',
140
+ 'Fotografías de blog y artículos de contenido: mejor puntuación PageSpeed sin retocar el diseño.',
141
+ 'Banners y creatividades publicitarias web: archivos más ligeros con la misma nitidez.',
142
+ 'Galerías de portfolio o portafolios de arquitectura/fotografía con muchas imágenes.',
143
+ 'Miniaturas de vídeo en sitios de streaming o plataformas de cursos online.',
144
+ ],
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Conclusión',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Convertir tus JPG a WebP es hoy una de las optimizaciones más sencillas y rentables que puedes aplicar a cualquier sitio web. Con esta herramienta lo haces en segundos, de forma gratuita y sin que tus imágenes salgan de tu dispositivo. Menos kilobytes, mejor LCP, más velocidad - y todo eso con el mismo aspecto visual que ya tenías.',
154
+ },
155
+ ];
157
156
 
158
- export const content: JpgAWebpLocaleContent = {
159
- slug,
160
- title,
161
- description,
162
- ui,
163
- seo,
164
- faq,
165
- bibliography,
166
- howTo,
167
- schemas: generateSchemas({ title, description, inLanguage: 'es', faq, howTo }),
168
- };
157
+
158
+ export const content: JpgAWebpLocaleContent = {
159
+ slug,
160
+ title,
161
+ description,
162
+ ui,
163
+ seo,
164
+ faq,
165
+ bibliography,
166
+ howTo,
167
+ schemas: generateSchemas({ title, description, inLanguage: 'es', faq, howTo }),
168
+ };