@jjlmoya/utils-converters 1.24.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 (134) 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/entries.ts +6 -0
  12. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  13. package/src/tests/category_seo_quality.test.ts +74 -0
  14. package/src/tests/faq_count.test.ts +1 -1
  15. package/src/tests/no_h1_in_components.test.ts +1 -1
  16. package/src/tests/seo_parity.test.ts +2 -2
  17. package/src/tests/seo_wellformed_export.test.ts +65 -0
  18. package/src/tests/tool_validation.test.ts +15 -15
  19. package/src/tool/avifAJpg/i18n/en.ts +164 -164
  20. package/src/tool/avifAJpg/i18n/es.ts +164 -164
  21. package/src/tool/avifAJpg/i18n/fr.ts +164 -164
  22. package/src/tool/avifAJpg/i18n/ja.ts +166 -166
  23. package/src/tool/avifAJpg/i18n/ko.ts +166 -166
  24. package/src/tool/avifAJpg/i18n/zh.ts +166 -166
  25. package/src/tool/avifAJpg/seo.astro +15 -15
  26. package/src/tool/avifAPng/i18n/en.ts +164 -164
  27. package/src/tool/avifAPng/i18n/es.ts +164 -164
  28. package/src/tool/avifAPng/i18n/fr.ts +164 -164
  29. package/src/tool/avifAPng/i18n/ja.ts +166 -166
  30. package/src/tool/avifAPng/i18n/ko.ts +166 -166
  31. package/src/tool/avifAPng/i18n/zh.ts +166 -166
  32. package/src/tool/avifAPng/seo.astro +15 -15
  33. package/src/tool/avifAWebp/i18n/en.ts +164 -164
  34. package/src/tool/avifAWebp/i18n/es.ts +164 -164
  35. package/src/tool/avifAWebp/i18n/fr.ts +164 -164
  36. package/src/tool/avifAWebp/i18n/ja.ts +166 -166
  37. package/src/tool/avifAWebp/i18n/ko.ts +166 -166
  38. package/src/tool/avifAWebp/i18n/zh.ts +166 -166
  39. package/src/tool/avifAWebp/seo.astro +15 -15
  40. package/src/tool/bmpAJpg/i18n/en.ts +164 -164
  41. package/src/tool/bmpAJpg/i18n/es.ts +164 -164
  42. package/src/tool/bmpAJpg/i18n/fr.ts +164 -164
  43. package/src/tool/bmpAJpg/i18n/ja.ts +166 -166
  44. package/src/tool/bmpAJpg/i18n/ko.ts +166 -166
  45. package/src/tool/bmpAJpg/i18n/zh.ts +166 -166
  46. package/src/tool/bmpAJpg/seo.astro +15 -15
  47. package/src/tool/bmpAPng/i18n/en.ts +164 -164
  48. package/src/tool/bmpAPng/i18n/es.ts +164 -164
  49. package/src/tool/bmpAPng/i18n/fr.ts +164 -164
  50. package/src/tool/bmpAPng/i18n/ja.ts +165 -165
  51. package/src/tool/bmpAPng/i18n/ko.ts +165 -165
  52. package/src/tool/bmpAPng/i18n/zh.ts +165 -165
  53. package/src/tool/bmpAPng/seo.astro +15 -15
  54. package/src/tool/bmpAWebp/i18n/en.ts +164 -164
  55. package/src/tool/bmpAWebp/i18n/es.ts +164 -164
  56. package/src/tool/bmpAWebp/i18n/fr.ts +164 -164
  57. package/src/tool/bmpAWebp/i18n/ja.ts +166 -166
  58. package/src/tool/bmpAWebp/i18n/ko.ts +166 -166
  59. package/src/tool/bmpAWebp/i18n/zh.ts +166 -166
  60. package/src/tool/bmpAWebp/seo.astro +15 -15
  61. package/src/tool/gifAJpg/i18n/en.ts +164 -164
  62. package/src/tool/gifAJpg/i18n/es.ts +164 -164
  63. package/src/tool/gifAJpg/i18n/fr.ts +164 -164
  64. package/src/tool/gifAJpg/i18n/ja.ts +166 -166
  65. package/src/tool/gifAJpg/i18n/ko.ts +166 -166
  66. package/src/tool/gifAJpg/i18n/zh.ts +166 -166
  67. package/src/tool/gifAJpg/seo.astro +15 -15
  68. package/src/tool/gifAPng/i18n/en.ts +164 -164
  69. package/src/tool/gifAPng/i18n/es.ts +164 -164
  70. package/src/tool/gifAPng/i18n/fr.ts +164 -164
  71. package/src/tool/gifAPng/i18n/ja.ts +166 -166
  72. package/src/tool/gifAPng/i18n/ko.ts +166 -166
  73. package/src/tool/gifAPng/i18n/zh.ts +166 -166
  74. package/src/tool/gifAPng/seo.astro +15 -15
  75. package/src/tool/gifAWebp/i18n/en.ts +164 -164
  76. package/src/tool/gifAWebp/i18n/es.ts +164 -164
  77. package/src/tool/gifAWebp/i18n/fr.ts +164 -164
  78. package/src/tool/gifAWebp/i18n/ja.ts +166 -166
  79. package/src/tool/gifAWebp/i18n/ko.ts +166 -166
  80. package/src/tool/gifAWebp/i18n/zh.ts +166 -166
  81. package/src/tool/gifAWebp/seo.astro +15 -15
  82. package/src/tool/imagenBase64/i18n/en.ts +154 -154
  83. package/src/tool/imagenBase64/i18n/es.ts +154 -154
  84. package/src/tool/imagenBase64/i18n/fr.ts +154 -154
  85. package/src/tool/imagenBase64/seo.astro +15 -15
  86. package/src/tool/jpgAIco/seo.astro +15 -15
  87. package/src/tool/jpgAPng/i18n/en.ts +164 -164
  88. package/src/tool/jpgAPng/i18n/es.ts +164 -164
  89. package/src/tool/jpgAPng/i18n/fr.ts +164 -164
  90. package/src/tool/jpgAPng/i18n/ja.ts +166 -166
  91. package/src/tool/jpgAPng/i18n/ko.ts +166 -166
  92. package/src/tool/jpgAPng/i18n/zh.ts +166 -166
  93. package/src/tool/jpgAPng/seo.astro +15 -15
  94. package/src/tool/jpgAWebp/i18n/en.ts +164 -164
  95. package/src/tool/jpgAWebp/i18n/es.ts +164 -164
  96. package/src/tool/jpgAWebp/i18n/fr.ts +164 -164
  97. package/src/tool/jpgAWebp/seo.astro +15 -15
  98. package/src/tool/pngAIco/seo.astro +15 -15
  99. package/src/tool/pngAJpg/i18n/de.ts +21 -21
  100. package/src/tool/pngAJpg/i18n/es.ts +177 -177
  101. package/src/tool/pngAJpg/i18n/fr.ts +137 -137
  102. package/src/tool/pngAJpg/i18n/id.ts +89 -89
  103. package/src/tool/pngAJpg/i18n/it.ts +89 -89
  104. package/src/tool/pngAJpg/i18n/ko.ts +177 -177
  105. package/src/tool/pngAJpg/i18n/nl.ts +20 -20
  106. package/src/tool/pngAJpg/i18n/pl.ts +89 -89
  107. package/src/tool/pngAJpg/i18n/pt.ts +89 -89
  108. package/src/tool/pngAJpg/i18n/ru.ts +177 -177
  109. package/src/tool/pngAJpg/i18n/sv.ts +89 -89
  110. package/src/tool/pngAJpg/i18n/tr.ts +89 -89
  111. package/src/tool/pngAJpg/seo.astro +15 -15
  112. package/src/tool/pngAWebp/i18n/en.ts +164 -164
  113. package/src/tool/pngAWebp/i18n/es.ts +164 -164
  114. package/src/tool/pngAWebp/i18n/fr.ts +164 -164
  115. package/src/tool/pngAWebp/seo.astro +15 -15
  116. package/src/tool/svgAJpg/i18n/fr.ts +164 -164
  117. package/src/tool/svgAJpg/seo.astro +15 -15
  118. package/src/tool/svgAPng/i18n/fr.ts +164 -164
  119. package/src/tool/svgAPng/seo.astro +15 -15
  120. package/src/tool/webpAIco/seo.astro +15 -15
  121. package/src/tool/webpAJpg/seo.astro +15 -15
  122. package/src/tool/webpAPng/bibliography.ts +13 -13
  123. package/src/tool/webpAPng/i18n/de.ts +166 -166
  124. package/src/tool/webpAPng/i18n/es.ts +171 -171
  125. package/src/tool/webpAPng/i18n/fr.ts +166 -166
  126. package/src/tool/webpAPng/i18n/id.ts +166 -166
  127. package/src/tool/webpAPng/i18n/it.ts +166 -166
  128. package/src/tool/webpAPng/i18n/nl.ts +166 -166
  129. package/src/tool/webpAPng/i18n/pl.ts +166 -166
  130. package/src/tool/webpAPng/i18n/pt.ts +166 -166
  131. package/src/tool/webpAPng/i18n/ru.ts +166 -166
  132. package/src/tool/webpAPng/i18n/sv.ts +166 -166
  133. package/src/tool/webpAPng/i18n/tr.ts +167 -167
  134. 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 { BmpAWebpLocaleContent } from '../index';
5
-
6
- const slug = 'convertidor-bmp-a-webp';
7
- const title = 'Convertir BMP a WebP Gratis';
8
- const description =
9
- 'Convierte imágenes BMP a WebP sin conexión. Reduce archivos enormes a kilobytes. Sin subir archivos. Gratis, offline y completamente privado.';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'Arrastra archivos BMP...',
13
- convertText: 'Para convertirlos a WebP al instante',
14
- selectFiles: 'Seleccionar archivos',
15
- processedFiles: 'Archivos procesados',
16
- downloadAll: 'Descargar Todo (.zip)',
4
+ import type { BmpAWebpLocaleContent } from '../index';
5
+
6
+ const slug = 'convertidor-bmp-a-webp';
7
+ const title = 'Convertir BMP a WebP Gratis';
8
+ const description =
9
+ 'Convierte imágenes BMP a WebP sin conexión. Reduce archivos enormes a kilobytes. Sin subir archivos. Gratis, offline y completamente privado.';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'Arrastra archivos BMP...',
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: BmpAWebpLocaleContent['faq'] = [
23
- {
24
- question: '¿Por qué mis archivos BMP ocupan 10 veces más y qué gano al tenerlos en WebP?',
25
- answer:
26
- 'El BMP guarda mapas de píxeles sin comprimir. WebP usa compresión matemática para bajar enormes BMPs a menos de un megabyte manteniendo la imagen sumamente reconocible.',
27
- },
28
- {
29
- question: '¿Tengo que registrar una cuenta?',
30
- answer:
31
- 'No exigimos correo y tu material permanecerá aislado, puesto que el procesamiento lo realiza el Javascript del navegador instalado en tu PC, sin envío remoto.',
32
- },
33
- {
34
- question: '¿Puedo arrastrar muchos archivos simultáneamente?',
35
- answer:
36
- 'Sí, puedes arrastrar 50 o 100 archivos si tu hardware aguanta procesar todos sin hacer colas.',
37
- },
38
- ];
39
-
40
- const howTo: BmpAWebpLocaleContent['howTo'] = [
41
- {
42
- name: 'Identificar Archivos Brutos',
43
- text: 'Sitúa tus colecciones de mapa de bit en ventanas listas al traslado.',
44
- },
45
- {
46
- name: 'Activación Nativa del Lote',
47
- text: 'Proyecta o arrastra todos los archivos a nuestra mesa digital.',
48
- },
49
- {
50
- name: 'Evacuación del Lote WebP',
51
- text: 'Pulsa los resultados y obtendrás por separado la imagen en disco de micro-pesos o como comprimidos inmediatos.',
52
- },
53
- ];
54
-
55
- const seo: BmpAWebpLocaleContent['seo'] = [
56
- {
57
- type: 'title',
58
- text: 'Convertidor BMP a WebP: La Reducción de Tamaño Más Extrema Posible',
59
- level: 2,
60
- },
61
- {
62
- type: 'paragraph',
63
- html: 'Convertir BMP a WebP es, sin duda, la transformación más espectacular que puedes hacer con una imagen. El formato BMP (Bitmap) es el formato más antiguo y pesado del ecosistema digital: almacena cada píxel sin ningún tipo de compresión, resultando en archivos que pueden pesar 20, 50 o incluso 100 veces más que su equivalente moderno. WebP, desarrollado por Google, aplica algoritmos de compresión de última generación que reducen el tamaño al mínimo posible manteniendo una calidad visual excelente.',
64
- },
65
- {
66
- type: 'title',
67
- text: '¿Por qué BMP es tan pesado y WebP tan eficiente?',
68
- level: 3,
69
- },
70
- {
71
- type: 'paragraph',
72
- html: 'El formato BMP nació en los años 80 para Windows, cuando el espacio en disco era enorme y la compresión no era una prioridad. Cada píxel se guarda tal cual, sin ningún algoritmo de reducción: una imagen de 1920x1080 píxeles en BMP ocupa exactamente 5,93 MB, independientemente de su contenido. Esto lo hace ideal para capturas de pantalla internas o edición sin pérdidas, pero completamente inapropiado para la web o el almacenamiento moderno.',
73
- },
74
- {
75
- type: 'paragraph',
76
- html: 'WebP utiliza compresión predictiva basada en bloques y transformadas DCT (la misma tecnología que subyace al video digital), logrando que la misma imagen de 1920x1080 ocupe entre 80 KB y 300 KB. Eso supone una reducción del 95 al 99% respecto al BMP original. Además, WebP soporta canal alfa para transparencias y compresión tanto con pérdida como sin pérdida, ofreciendo versatilidad total.',
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 BMP a un servidor remoto para procesarlos.',
89
- icon: 'mdi:cloud-upload',
90
- pointIcon: 'mdi:close-circle-outline',
91
- points: [
92
- 'Subir un BMP de 20 MB lleva minutos con conexión lenta',
93
- 'Tus imágenes quedan almacenadas en servidores ajenos',
94
- 'Límites de tamaño que excluyen archivos BMP grandes',
95
- 'Publicidad invasiva y rastreadores de datos',
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
- 'Conversión instantánea sin transferencia de red',
105
- 'Privacidad absoluta - 0 bytes salen de tu dispositivo',
106
- 'Sin límites de tamaño por archivo',
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: 'Al arrastrar un archivo BMP, el navegador lo lee como un Blob binario en memoria RAM. Este Blob se carga en un elemento <code>Image</code> de JavaScript, que lo decodifica usando el motor de imágenes nativo. A continuación, la imagen se pinta sobre un elemento <code>Canvas</code> HTML5 invisible. El Canvas actúa como lienzo virtual donde la imagen existe en su forma píxel a píxel.',
120
- },
121
- {
122
- type: 'paragraph',
123
- html: 'Una vez pintada en el Canvas, ejecutamos el método <code>toBlob()</code> con el tipo MIME <code>image/webp</code> y el nivel de calidad deseado. El navegador aplica internamente el algoritmo de compresión WebP y genera un nuevo Blob con el archivo resultante. Este Blob se convierte en una URL de descarga directa que tu navegador guarda en disco. En ningún momento se establece ninguna conexión de red.',
124
- },
125
- {
126
- type: 'tip',
127
- title: 'El mayor salto de compresión posible',
128
- html: 'La conversión de BMP a WebP puede lograr una reducción del 99% en el tamaño del archivo. Un BMP de 20 MB puede convertirse en un WebP de apenas 200 KB con calidad visual prácticamente idéntica. Es la transformación más eficiente disponible entre formatos de imagen estándar.',
129
- },
130
- {
131
- type: 'title',
132
- text: 'Casos de uso y compatibilidad de WebP',
133
- level: 3,
134
- },
135
- {
136
- type: 'list',
137
- icon: 'mdi:check-circle',
138
- items: [
139
- 'Publicación web - Chrome, Firefox, Safari, Edge y todos los navegadores modernos.',
140
- 'Redes sociales - Instagram, Twitter, Facebook aceptan WebP de forma nativa.',
141
- 'Aplicaciones web y PWA - tamaños mínimos para carga instantánea.',
142
- 'Archivado eficiente - sustituye colecciones de BMPs heredados ahorrando gigabytes.',
143
- 'Email marketing - imágenes ligeras que cargan rápido en cualquier cliente de correo moderno.',
144
- ],
145
- },
146
- {
147
- type: 'title',
148
- text: 'Conclusión: La conversión más impactante en un solo clic',
149
- level: 3,
150
- },
151
- {
152
- type: 'paragraph',
153
- html: 'Si tienes archivos BMP heredados de Windows, capturas de pantalla sin comprimir o imágenes de herramientas antiguas, convertirlos a WebP es la acción más impactante que puedes tomar para optimizar tu almacenamiento y rendimiento web. Con nuestra herramienta, la conversión es instantánea, privada y sin límites - exactamente como debería ser.',
154
- },
155
- ];
156
-
18
+ bibliographyTitle: 'Referencias Bibliográficas',
19
+ faqTitle: 'Preguntas Frecuentes',
20
+ };
21
+
22
+ const faq: BmpAWebpLocaleContent['faq'] = [
23
+ {
24
+ question: '¿Por qué mis archivos BMP ocupan 10 veces más y qué gano al tenerlos en WebP?',
25
+ answer:
26
+ 'El BMP guarda mapas de píxeles sin comprimir. WebP usa compresión matemática para bajar enormes BMPs a menos de un megabyte manteniendo la imagen sumamente reconocible.',
27
+ },
28
+ {
29
+ question: '¿Tengo que registrar una cuenta?',
30
+ answer:
31
+ 'No exigimos correo y tu material permanecerá aislado, puesto que el procesamiento lo realiza el Javascript del navegador instalado en tu PC, sin envío remoto.',
32
+ },
33
+ {
34
+ question: '¿Puedo arrastrar muchos archivos simultáneamente?',
35
+ answer:
36
+ 'Sí, puedes arrastrar 50 o 100 archivos si tu hardware aguanta procesar todos sin hacer colas.',
37
+ },
38
+ ];
39
+
40
+ const howTo: BmpAWebpLocaleContent['howTo'] = [
41
+ {
42
+ name: 'Identificar Archivos Brutos',
43
+ text: 'Sitúa tus colecciones de mapa de bit en ventanas listas al traslado.',
44
+ },
45
+ {
46
+ name: 'Activación Nativa del Lote',
47
+ text: 'Proyecta o arrastra todos los archivos a nuestra mesa digital.',
48
+ },
49
+ {
50
+ name: 'Evacuación del Lote WebP',
51
+ text: 'Pulsa los resultados y obtendrás por separado la imagen en disco de micro-pesos o como comprimidos inmediatos.',
52
+ },
53
+ ];
54
+
55
+ const seo: BmpAWebpLocaleContent['seo'] = [
56
+ {
57
+ type: 'title',
58
+ text: 'Convertidor BMP a WebP: La Reducción de Tamaño Más Extrema Posible',
59
+ level: 2,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'Convertir BMP a WebP es, sin duda, la transformación más espectacular que puedes hacer con una imagen. El formato BMP (Bitmap) es el formato más antiguo y pesado del ecosistema digital: almacena cada píxel sin ningún tipo de compresión, resultando en archivos que pueden pesar 20, 50 o incluso 100 veces más que su equivalente moderno. WebP, desarrollado por Google, aplica algoritmos de compresión de última generación que reducen el tamaño al mínimo posible manteniendo una calidad visual excelente.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: '¿Por qué BMP es tan pesado y WebP tan eficiente?',
68
+ level: 3,
69
+ },
70
+ {
71
+ type: 'paragraph',
72
+ html: 'El formato BMP nació en los años 80 para Windows, cuando el espacio en disco era enorme y la compresión no era una prioridad. Cada píxel se guarda tal cual, sin ningún algoritmo de reducción: una imagen de 1920x1080 píxeles en BMP ocupa exactamente 5,93 MB, independientemente de su contenido. Esto lo hace ideal para capturas de pantalla internas o edición sin pérdidas, pero completamente inapropiado para la web o el almacenamiento moderno.',
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'WebP utiliza compresión predictiva basada en bloques y transformadas DCT (la misma tecnología que subyace al video digital), logrando que la misma imagen de 1920x1080 ocupe entre 80 KB y 300 KB. Eso supone una reducción del 95 al 99% respecto al BMP original. Además, WebP soporta canal alfa para transparencias y compresión tanto con pérdida como sin pérdida, ofreciendo versatilidad total.',
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 BMP a un servidor remoto para procesarlos.',
89
+ icon: 'mdi:cloud-upload',
90
+ pointIcon: 'mdi:close-circle-outline',
91
+ points: [
92
+ 'Subir un BMP de 20 MB lleva minutos con conexión lenta',
93
+ 'Tus imágenes quedan almacenadas en servidores ajenos',
94
+ 'Límites de tamaño que excluyen archivos BMP grandes',
95
+ 'Publicidad invasiva y rastreadores de datos',
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
+ 'Conversión instantánea sin transferencia de red',
105
+ 'Privacidad absoluta - 0 bytes salen de tu dispositivo',
106
+ 'Sin límites de tamaño por archivo',
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: 'Al arrastrar un archivo BMP, el navegador lo lee como un Blob binario en memoria RAM. Este Blob se carga en un elemento <code>Image</code> de JavaScript, que lo decodifica usando el motor de imágenes nativo. A continuación, la imagen se pinta sobre un elemento <code>Canvas</code> HTML5 invisible. El Canvas actúa como lienzo virtual donde la imagen existe en su forma píxel a píxel.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'Una vez pintada en el Canvas, ejecutamos el método <code>toBlob()</code> con el tipo MIME <code>image/webp</code> y el nivel de calidad deseado. El navegador aplica internamente el algoritmo de compresión WebP y genera un nuevo Blob con el archivo resultante. Este Blob se convierte en una URL de descarga directa que tu navegador guarda en disco. En ningún momento se establece ninguna conexión de red.',
124
+ },
125
+ {
126
+ type: 'tip',
127
+ title: 'El mayor salto de compresión posible',
128
+ html: 'La conversión de BMP a WebP puede lograr una reducción del 99% en el tamaño del archivo. Un BMP de 20 MB puede convertirse en un WebP de apenas 200 KB con calidad visual prácticamente idéntica. Es la transformación más eficiente disponible entre formatos de imagen estándar.',
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Casos de uso y compatibilidad de WebP',
133
+ level: 3,
134
+ },
135
+ {
136
+ type: 'list',
137
+ icon: 'mdi:check-circle',
138
+ items: [
139
+ 'Publicación web - Chrome, Firefox, Safari, Edge y todos los navegadores modernos.',
140
+ 'Redes sociales - Instagram, Twitter, Facebook aceptan WebP de forma nativa.',
141
+ 'Aplicaciones web y PWA - tamaños mínimos para carga instantánea.',
142
+ 'Archivado eficiente - sustituye colecciones de BMPs heredados ahorrando gigabytes.',
143
+ 'Email marketing - imágenes ligeras que cargan rápido en cualquier cliente de correo moderno.',
144
+ ],
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Conclusión: La conversión más impactante en un solo clic',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Si tienes archivos BMP heredados de Windows, capturas de pantalla sin comprimir o imágenes de herramientas antiguas, convertirlos a WebP es la acción más impactante que puedes tomar para optimizar tu almacenamiento y rendimiento web. Con nuestra herramienta, la conversión es instantánea, privada y sin límites - exactamente como debería ser.',
154
+ },
155
+ ];
157
156
 
158
- export const content: BmpAWebpLocaleContent = {
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: BmpAWebpLocaleContent = {
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
+ };