@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 { AvifAWebpLocaleContent } from '../index';
5
-
6
- const slug = 'convertidor-avif-a-webp';
7
- const title = 'Convertir AVIF a WebP Online';
8
- const description =
9
- 'Convierte imágenes AVIF a WebP con mejor compatibilidad. Procesado local sin servidores. Gratis, privado e ilimitado.';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'Arrastra archivos AVIF...',
13
- convertText: 'Para convertirlos a WebP al instante',
14
- selectFiles: 'Seleccionar archivos',
15
- processedFiles: 'Archivos procesados',
16
- downloadAll: 'Descargar Todo (.zip)',
4
+ import type { AvifAWebpLocaleContent } from '../index';
5
+
6
+ const slug = 'convertidor-avif-a-webp';
7
+ const title = 'Convertir AVIF a WebP Online';
8
+ const description =
9
+ 'Convierte imágenes AVIF a WebP con mejor compatibilidad. Procesado local sin servidores. Gratis, privado e ilimitado.';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'Arrastra archivos AVIF...',
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: AvifAWebpLocaleContent['faq'] = [
23
- {
24
- question: '¿Cuál es la diferencia real entre convertir a WebP y a otros formatos?',
25
- answer:
26
- 'WebP ofrece lo mejor de ambos mundos: compresiones tan asombrosas como el JPG pero conservando la capacidad de albergar transparencias limpias como un PNG. Cambiar tu AVIF a WebP maximiza su compatibilidad para la web preservando todas sus ventajas.',
27
- },
28
- {
29
- question: '¿Cómo logran cambiar esto sin servidor y de forma rápida?',
30
- answer:
31
- 'Aprovechamos los módulos de decodificación incorporados y el objeto Image de JavaScript HTML5, lo que permite leer tu AVIF en memoria local y extraer un archivo WebP optimizado en tiempo récord.',
32
- },
33
- {
34
- question: '¿Es el formato WebP completamente compatible hoy en día?',
35
- answer:
36
- 'A diferencia del naciente AVIF, el formato WebP disfruta de un amplísimo soporte entre navegadores como Chrome, Firefox y Safari.',
37
- },
38
- ];
39
-
40
- const howTo: AvifAWebpLocaleContent['howTo'] = [
41
- {
42
- name: 'Inserta tus archivos fotográficos',
43
- text: 'Mueve y suelta todas las selecciones de formato AVIF hasta nuestro lienzo.',
44
- },
45
- {
46
- name: 'Traducción de Bytes Algorítmicos',
47
- text: 'Nuestro motor asimila los algoritmos sin subir nada y crea iteraciones exactas basadas en WebP comprimido.',
48
- },
49
- {
50
- name: 'Acumula tus Descargas Listas',
51
- text: 'Pulsa el panel y recibe lotes en cajas ZIP o sueltos para publicarlas directamente.',
52
- },
53
- ];
54
-
55
- const seo: AvifAWebpLocaleContent['seo'] = [
56
- {
57
- type: 'title',
58
- text: 'Convertidor AVIF a WebP: La Alternativa Moderna y Segura para la Web',
59
- level: 2,
60
- },
61
- {
62
- type: 'paragraph',
63
- html: 'AVIF es el formato de imagen más avanzado disponible hoy: más pequeño que WebP, más pequeño que JPG, con calidad visual superior. Sin embargo, su adopción ha sido irregular - Safari no lo soportó hasta 2024, y muchos dispositivos móviles más antiguos lo desconocen. WebP, en cambio, lleva años consolidado como el estándar moderno de la web con más del 95% de soporte global. Convertir AVIF a WebP es la decisión pragmática cuando necesitas modernidad sin arriesgar la compatibilidad.',
64
- },
65
- {
66
- type: 'title',
67
- text: 'AVIF vs WebP: El Más Nuevo vs El Más Seguro',
68
- level: 3,
69
- },
70
- {
71
- type: 'paragraph',
72
- html: 'AVIF ofrece la compresión más avanzada disponible - típicamente un 20-30% más pequeño que WebP a la misma calidad. Su tecnología basada en AV1 es la más moderna del sector. Sin embargo, el soporte de AVIF todavía tiene puntos ciegos: versiones antiguas de Safari, algunos navegadores en Android más antiguo, y ciertos reproductores de imagen de escritorio no lo reconocen. Para producción web con audiencias amplias y diversas, esto supone un riesgo.',
73
- },
74
- {
75
- type: 'paragraph',
76
- html: 'WebP tiene una historia de soporte mucho más sólida. Chrome lo adoptó en 2010, Firefox y Edge siguieron, y Safari lo incorporó en 2020. Con más del 95% de cobertura global en navegadores, WebP es la elección segura para cualquier sitio web que no quiera servir formatos de reserva. Soporta transparencias, compresión con y sin pérdida, y logra archivos mucho más pequeños que JPG o PNG.',
77
- },
78
- {
79
- type: 'title',
80
- text: 'Comparativa: Convertidores Cloud vs Nuestra Arquitectura Local',
81
- level: 3,
82
- },
83
- {
84
- type: 'comparative',
85
- items: [
86
- {
87
- title: 'Convertidores Cloud',
88
- description: 'Herramientas que suben tus archivos AVIF a un servidor remoto para procesarlos.',
89
- icon: 'mdi:cloud-upload',
90
- pointIcon: 'mdi:close-circle-outline',
91
- points: [
92
- 'Tus imágenes privadas transitan por servidores externos',
93
- 'Latencia de red que ralentiza el flujo de trabajo',
94
- 'Límites de archivos por conversión gratuita',
95
- 'Dependencia de servicios de terceros que pueden cambiar',
96
- ],
97
- },
98
- {
99
- title: 'Nuestra Arquitectura Local',
100
- description: 'Procesamiento directo en tu navegador mediante tecnología Vanilla JS y Canvas API.',
101
- icon: 'mdi:laptop-mac',
102
- highlight: true,
103
- points: [
104
- 'Privacidad total - 0 bytes salen de tu dispositivo',
105
- 'Velocidad instantánea sin dependencia de red',
106
- 'Sin límites de tamaño ni de número de archivos',
107
- 'Funciona sin conexión a internet',
108
- ],
109
- },
110
- ],
111
- },
112
- {
113
- type: 'title',
114
- text: 'Cómo funciona la conversión técnica en el navegador',
115
- level: 3,
116
- },
117
- {
118
- type: 'paragraph',
119
- html: 'Chrome, Firefox y Edge incluyen decodificadores AVIF nativos. Al cargar el archivo, el motor de imágenes del navegador lo decodifica en RAM manteniendo la información de canal alfa. La imagen se pinta sobre un <code>Canvas</code> HTML5 invisible usando el contexto 2D, que preserva las transparencias correctamente.',
120
- },
121
- {
122
- type: 'paragraph',
123
- html: 'La exportación se realiza con <code>toBlob(\'image/webp\', quality)</code>. El navegador aplica el algoritmo de compresión WebP internamente, generando un Blob que incluye canal alfa si la imagen original lo tenía. Este Blob se convierte en enlace de descarga directa. El proceso completo ocurre en microsegundos sin ninguna comunicación con servidores externos.',
124
- },
125
- {
126
- type: 'tip',
127
- title: 'WebP: la elección pragmática del desarrollador moderno',
128
- html: 'WebP tiene más del 95% de soporte en navegadores - AVIF está creciendo pero aún no llega a esa cifra. Para sitios en producción sin detección de formato adaptativa, WebP es la elección segura que cubre casi cualquier audiencia. Convierte tus AVIF a WebP y sirve imágenes modernas con confianza.',
129
- },
130
- {
131
- type: 'title',
132
- text: 'Casos de uso: cuándo elegir WebP sobre AVIF',
133
- level: 3,
134
- },
135
- {
136
- type: 'list',
137
- icon: 'mdi:check-circle',
138
- items: [
139
- 'Sitios web que necesitan soporte en navegadores desde 2020 sin polyfills.',
140
- 'CDNs y sistemas de entrega de imágenes que aceptan WebP pero no AVIF.',
141
- 'Aplicaciones móviles híbridas con WebViews que pueden no soportar AVIF.',
142
- 'Emails HTML modernos donde WebP tiene mayor soporte que AVIF.',
143
- 'Plataformas CMS y ecommerce con soporte de imagen WebP establecido.',
144
- ],
145
- },
146
- {
147
- type: 'title',
148
- text: 'Conclusión: Modernidad con compatibilidad garantizada',
149
- level: 3,
150
- },
151
- {
152
- type: 'paragraph',
153
- html: 'AVIF es la vanguardia de la compresión de imágenes, pero WebP es la elección fiable y universal del ecosistema web moderno. Con nuestra herramienta, conviertes de lo más nuevo a lo más soportado en un instante - sin subir nada a ningún servidor, con privacidad total y sin límites de tamaño.',
154
- },
155
- ];
156
-
18
+ bibliographyTitle: 'Referencias Bibliográficas',
19
+ faqTitle: 'Preguntas Frecuentes',
20
+ };
21
+
22
+ const faq: AvifAWebpLocaleContent['faq'] = [
23
+ {
24
+ question: '¿Cuál es la diferencia real entre convertir a WebP y a otros formatos?',
25
+ answer:
26
+ 'WebP ofrece lo mejor de ambos mundos: compresiones tan asombrosas como el JPG pero conservando la capacidad de albergar transparencias limpias como un PNG. Cambiar tu AVIF a WebP maximiza su compatibilidad para la web preservando todas sus ventajas.',
27
+ },
28
+ {
29
+ question: '¿Cómo logran cambiar esto sin servidor y de forma rápida?',
30
+ answer:
31
+ 'Aprovechamos los módulos de decodificación incorporados y el objeto Image de JavaScript HTML5, lo que permite leer tu AVIF en memoria local y extraer un archivo WebP optimizado en tiempo récord.',
32
+ },
33
+ {
34
+ question: '¿Es el formato WebP completamente compatible hoy en día?',
35
+ answer:
36
+ 'A diferencia del naciente AVIF, el formato WebP disfruta de un amplísimo soporte entre navegadores como Chrome, Firefox y Safari.',
37
+ },
38
+ ];
39
+
40
+ const howTo: AvifAWebpLocaleContent['howTo'] = [
41
+ {
42
+ name: 'Inserta tus archivos fotográficos',
43
+ text: 'Mueve y suelta todas las selecciones de formato AVIF hasta nuestro lienzo.',
44
+ },
45
+ {
46
+ name: 'Traducción de Bytes Algorítmicos',
47
+ text: 'Nuestro motor asimila los algoritmos sin subir nada y crea iteraciones exactas basadas en WebP comprimido.',
48
+ },
49
+ {
50
+ name: 'Acumula tus Descargas Listas',
51
+ text: 'Pulsa el panel y recibe lotes en cajas ZIP o sueltos para publicarlas directamente.',
52
+ },
53
+ ];
54
+
55
+ const seo: AvifAWebpLocaleContent['seo'] = [
56
+ {
57
+ type: 'title',
58
+ text: 'Convertidor AVIF a WebP: La Alternativa Moderna y Segura para la Web',
59
+ level: 2,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'AVIF es el formato de imagen más avanzado disponible hoy: más pequeño que WebP, más pequeño que JPG, con calidad visual superior. Sin embargo, su adopción ha sido irregular - Safari no lo soportó hasta 2024, y muchos dispositivos móviles más antiguos lo desconocen. WebP, en cambio, lleva años consolidado como el estándar moderno de la web con más del 95% de soporte global. Convertir AVIF a WebP es la decisión pragmática cuando necesitas modernidad sin arriesgar la compatibilidad.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'AVIF vs WebP: El Más Nuevo vs El Más Seguro',
68
+ level: 3,
69
+ },
70
+ {
71
+ type: 'paragraph',
72
+ html: 'AVIF ofrece la compresión más avanzada disponible - típicamente un 20-30% más pequeño que WebP a la misma calidad. Su tecnología basada en AV1 es la más moderna del sector. Sin embargo, el soporte de AVIF todavía tiene puntos ciegos: versiones antiguas de Safari, algunos navegadores en Android más antiguo, y ciertos reproductores de imagen de escritorio no lo reconocen. Para producción web con audiencias amplias y diversas, esto supone un riesgo.',
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'WebP tiene una historia de soporte mucho más sólida. Chrome lo adoptó en 2010, Firefox y Edge siguieron, y Safari lo incorporó en 2020. Con más del 95% de cobertura global en navegadores, WebP es la elección segura para cualquier sitio web que no quiera servir formatos de reserva. Soporta transparencias, compresión con y sin pérdida, y logra archivos mucho más pequeños que JPG o PNG.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'Comparativa: Convertidores Cloud vs Nuestra Arquitectura Local',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'comparative',
85
+ items: [
86
+ {
87
+ title: 'Convertidores Cloud',
88
+ description: 'Herramientas que suben tus archivos AVIF a un servidor remoto para procesarlos.',
89
+ icon: 'mdi:cloud-upload',
90
+ pointIcon: 'mdi:close-circle-outline',
91
+ points: [
92
+ 'Tus imágenes privadas transitan por servidores externos',
93
+ 'Latencia de red que ralentiza el flujo de trabajo',
94
+ 'Límites de archivos por conversión gratuita',
95
+ 'Dependencia de servicios de terceros que pueden cambiar',
96
+ ],
97
+ },
98
+ {
99
+ title: 'Nuestra Arquitectura Local',
100
+ description: 'Procesamiento directo en tu navegador mediante tecnología Vanilla JS y Canvas API.',
101
+ icon: 'mdi:laptop-mac',
102
+ highlight: true,
103
+ points: [
104
+ 'Privacidad total - 0 bytes salen de tu dispositivo',
105
+ 'Velocidad instantánea sin dependencia de red',
106
+ 'Sin límites de tamaño ni de número de archivos',
107
+ 'Funciona sin conexión a internet',
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Cómo funciona la conversión técnica en el navegador',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'Chrome, Firefox y Edge incluyen decodificadores AVIF nativos. Al cargar el archivo, el motor de imágenes del navegador lo decodifica en RAM manteniendo la información de canal alfa. La imagen se pinta sobre un <code>Canvas</code> HTML5 invisible usando el contexto 2D, que preserva las transparencias correctamente.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'La exportación se realiza con <code>toBlob(\'image/webp\', quality)</code>. El navegador aplica el algoritmo de compresión WebP internamente, generando un Blob que incluye canal alfa si la imagen original lo tenía. Este Blob se convierte en enlace de descarga directa. El proceso completo ocurre en microsegundos sin ninguna comunicación con servidores externos.',
124
+ },
125
+ {
126
+ type: 'tip',
127
+ title: 'WebP: la elección pragmática del desarrollador moderno',
128
+ html: 'WebP tiene más del 95% de soporte en navegadores - AVIF está creciendo pero aún no llega a esa cifra. Para sitios en producción sin detección de formato adaptativa, WebP es la elección segura que cubre casi cualquier audiencia. Convierte tus AVIF a WebP y sirve imágenes modernas con confianza.',
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Casos de uso: cuándo elegir WebP sobre AVIF',
133
+ level: 3,
134
+ },
135
+ {
136
+ type: 'list',
137
+ icon: 'mdi:check-circle',
138
+ items: [
139
+ 'Sitios web que necesitan soporte en navegadores desde 2020 sin polyfills.',
140
+ 'CDNs y sistemas de entrega de imágenes que aceptan WebP pero no AVIF.',
141
+ 'Aplicaciones móviles híbridas con WebViews que pueden no soportar AVIF.',
142
+ 'Emails HTML modernos donde WebP tiene mayor soporte que AVIF.',
143
+ 'Plataformas CMS y ecommerce con soporte de imagen WebP establecido.',
144
+ ],
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Conclusión: Modernidad con compatibilidad garantizada',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'AVIF es la vanguardia de la compresión de imágenes, pero WebP es la elección fiable y universal del ecosistema web moderno. Con nuestra herramienta, conviertes de lo más nuevo a lo más soportado en un instante - sin subir nada a ningún servidor, con privacidad total y sin límites de tamaño.',
154
+ },
155
+ ];
157
156
 
158
- export const content: AvifAWebpLocaleContent = {
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: AvifAWebpLocaleContent = {
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
+ };