@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 { BmpAPngLocaleContent } from '../index';
5
-
6
- const slug = 'convertidor-bmp-a-png';
7
- const title = 'Convertidor de BMP a PNG';
8
- const description =
9
- 'Convierte imágenes BMP a PNG sin pérdida de calidad. Compresión moderna sin artefactos. Sin subir archivos. Gratis y 100% privado.';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'Arrastra archivos BMP...',
13
- convertText: 'Para convertirlos a PNG al instante',
14
- selectFiles: 'Seleccionar archivos',
15
- processedFiles: 'Archivos procesados',
16
- downloadAll: 'Descargar Todo (.zip)',
4
+ import type { BmpAPngLocaleContent } from '../index';
5
+
6
+ const slug = 'convertidor-bmp-a-png';
7
+ const title = 'Convertidor de BMP a PNG';
8
+ const description =
9
+ 'Convierte imágenes BMP a PNG sin pérdida de calidad. Compresión moderna sin artefactos. Sin subir archivos. Gratis y 100% privado.';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'Arrastra archivos BMP...',
13
+ convertText: 'Para convertirlos a PNG 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: BmpAPngLocaleContent['faq'] = [
23
- {
24
- question: '¿Cuál es la principal diferencia entre BMP y PNG?',
25
- answer:
26
- 'Tanto BMP como PNG son formatos sin pérdida. La diferencia radica en la optimización: PNG entiende de algoritmos de compresión modernos para guardar la misma imagen ocupando 5 o 10 veces menos memoria que el BMP.',
27
- },
28
- {
29
- question: '¿Es la conversión realmente privada?',
30
- answer:
31
- 'Sí. Toda la red fotográfica la hace tu ordenador. Absolutamente nadie accede a tus archivos en tránsito local.',
32
- },
33
- {
34
- question: '¿Por qué PNG sobre JPEG en este caso?',
35
- answer:
36
- 'Si tienes un archivo BMP, es porque la imagen tiene colores precisos. Pasar un BMP al estándar destructivo JPG ensuciaría tus colores netos. El PNG protege esa fidelidad.',
37
- },
38
- ];
39
-
40
- const howTo: BmpAPngLocaleContent['howTo'] = [
41
- {
42
- name: 'Acopla tu Fotografía',
43
- text: 'Mueve tranquilamente los archivos de origen BMP a nuestra zona para soltar elementos web.',
44
- },
45
- {
46
- name: 'Traduce Sin Transmisión de Red',
47
- text: 'Percibe en apenas un segundo el procesado limpio hecho localmente por tu JS de HTML5.',
48
- },
49
- {
50
- name: 'Consigue PNGs Puros',
51
- text: 'Baja las réplicas en PNG individualmente o mediante un paquete comprimido.',
52
- },
53
- ];
54
-
55
- const seo: BmpAPngLocaleContent['seo'] = [
56
- {
57
- type: 'title',
58
- text: 'Convertidor de BMP a PNG: El Reemplazo Sin Pérdida del Formato BMP',
59
- level: 2,
60
- },
61
- {
62
- type: 'paragraph',
63
- html: 'El BMP es un formato sin compresión que ocupa enormes cantidades de espacio sin ningún beneficio técnico frente al PNG. Ambos son formatos sin pérdida: guardan cada píxel con exactitud absoluta. Pero el PNG añade compresión lossless mediante el algoritmo Deflate, lo que reduce el tamaño del archivo entre 3 y 5 veces sin sacrificar ni un solo bit de información visual. El PNG es, en esencia, lo que el BMP siempre quiso ser.',
64
- },
65
- {
66
- type: 'title',
67
- text: 'BMP vs PNG: misma calidad, tamaño radicalmente diferente',
68
- level: 3,
69
- },
70
- {
71
- type: 'paragraph',
72
- html: 'La diferencia fundamental entre BMP y PNG no está en la calidad de imagen - ambos son sin pérdida - sino en la eficiencia de almacenamiento. El BMP almacena píxeles en bruto: sin compresión, sin optimización, sin consideración por el espacio. El PNG analiza los patrones de píxeles repetidos y los codifica de forma compacta mediante Deflate, el mismo algoritmo que usa ZIP.',
73
- },
74
- {
75
- type: 'paragraph',
76
- html: 'Además de la compresión superior, el PNG añade una característica que el BMP nunca tuvo: canal alfa completo para transparencias. Capturas de pantalla, gráficos de interfaz, logotipos, diagramas técnicos: todos estos tipos de imágenes se benefician enormemente de la conversión a PNG, que mantiene cada valor de color exacto mientras reduce el peso del archivo a una fracción del original.',
77
- },
78
- {
79
- type: 'title',
80
- text: 'Comparativa de Arquitectura: Local vs Nube',
81
- level: 3,
82
- },
83
- {
84
- type: 'comparative',
85
- items: [
86
- {
87
- title: 'Convertidores Cloud',
88
- description: 'Servicios que procesan tus archivos BMP en servidores de terceros.',
89
- icon: 'mdi:cloud-upload',
90
- pointIcon: 'mdi:close-circle-outline',
91
- points: [
92
- 'Tus imágenes de trabajo viajan por internet',
93
- 'Tiempo de espera proporcional al tamaño del BMP',
94
- 'Límites de tamaño en planes gratuitos',
95
- 'Riesgo de análisis o retención de tus archivos',
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
- 'El BMP se procesa localmente, nunca sale de tu dispositivo',
105
- 'Conversión instantánea en milisegundos',
106
- 'Sin límites de tamaño ni de número de archivos',
107
- 'Privacidad total: 0 bytes enviados al exterior',
108
- ],
109
- },
110
- ],
111
- },
112
- {
113
- type: 'title',
114
- text: 'Cómo funciona la conversión local de BMP a PNG',
115
- level: 3,
116
- },
117
- {
118
- type: 'paragraph',
119
- html: 'El proceso utiliza el Canvas API de HTML5. El archivo BMP se lee con la API <code>FileReader</code> del navegador y se decodifica como un Blob en memoria. Ese Blob se dibuja sobre un canvas HTML5 invisible. A continuación, el método <code>toDataURL(\'image/png\')</code> aplica el algoritmo de compresión PNG nativo del navegador y genera el archivo resultante.',
120
- },
121
- {
122
- type: 'paragraph',
123
- html: 'A diferencia de la conversión a JPG, la conversión a PNG es completamente lossless: cada valor de color del BMP original se preserva exactamente en el PNG resultante. No hay artefactos, no hay suavizado de bordes, no hay pérdida de información. El archivo final es visualmente idéntico al BMP pero ocupa entre 3 y 5 veces menos espacio en disco.',
124
- },
125
- {
126
- type: 'tip',
127
- title: 'PNG es el estándar moderno donde BMP se usaba antes',
128
- html: 'Si trabajas con software antiguo que exporta BMP (maquinaria industrial, sistemas de control, software de diagnóstico médico), convertir a PNG es la mejor decisión. PNG es compatible con absolutamente todos los programas modernos, mantiene la fidelidad de color perfecta y ocupa hasta 5 veces menos espacio. Es la migración más sencilla y segura posible.',
129
- },
130
- {
131
- type: 'title',
132
- text: 'Casos de uso y compatibilidad del PNG resultante',
133
- level: 3,
134
- },
135
- {
136
- type: 'list',
137
- icon: 'mdi:check-circle',
138
- items: [
139
- 'Capturas de pantalla y gráficos de interfaz con colores exactos preservados.',
140
- 'Imágenes de documentación técnica y diagramas de software.',
141
- 'Exportaciones de CAD, sistemas industriales y software legacy.',
142
- 'Logotipos y elementos de identidad visual con transparencia añadida.',
143
- 'Compatible con Adobe Photoshop, GIMP, Figma y todos los editores modernos.',
144
- ],
145
- },
146
- {
147
- type: 'title',
148
- text: 'Conclusión: el PNG es lo que el BMP siempre debió ser',
149
- level: 3,
150
- },
151
- {
152
- type: 'paragraph',
153
- html: 'Convertir BMP a PNG es la modernización más natural de un archivo de imagen: misma calidad sin pérdida, mayor compatibilidad, soporte de transparencia y entre 3 y 5 veces menos peso. Nuestra herramienta realiza esta conversión en milisegundos, directamente en tu navegador, sin subir ningún archivo a ningún servidor.',
154
- },
155
- ];
156
-
18
+ bibliographyTitle: 'Referencias Bibliográficas',
19
+ faqTitle: 'Preguntas Frecuentes',
20
+ };
21
+
22
+ const faq: BmpAPngLocaleContent['faq'] = [
23
+ {
24
+ question: '¿Cuál es la principal diferencia entre BMP y PNG?',
25
+ answer:
26
+ 'Tanto BMP como PNG son formatos sin pérdida. La diferencia radica en la optimización: PNG entiende de algoritmos de compresión modernos para guardar la misma imagen ocupando 5 o 10 veces menos memoria que el BMP.',
27
+ },
28
+ {
29
+ question: '¿Es la conversión realmente privada?',
30
+ answer:
31
+ 'Sí. Toda la red fotográfica la hace tu ordenador. Absolutamente nadie accede a tus archivos en tránsito local.',
32
+ },
33
+ {
34
+ question: '¿Por qué PNG sobre JPEG en este caso?',
35
+ answer:
36
+ 'Si tienes un archivo BMP, es porque la imagen tiene colores precisos. Pasar un BMP al estándar destructivo JPG ensuciaría tus colores netos. El PNG protege esa fidelidad.',
37
+ },
38
+ ];
39
+
40
+ const howTo: BmpAPngLocaleContent['howTo'] = [
41
+ {
42
+ name: 'Acopla tu Fotografía',
43
+ text: 'Mueve tranquilamente los archivos de origen BMP a nuestra zona para soltar elementos web.',
44
+ },
45
+ {
46
+ name: 'Traduce Sin Transmisión de Red',
47
+ text: 'Percibe en apenas un segundo el procesado limpio hecho localmente por tu JS de HTML5.',
48
+ },
49
+ {
50
+ name: 'Consigue PNGs Puros',
51
+ text: 'Baja las réplicas en PNG individualmente o mediante un paquete comprimido.',
52
+ },
53
+ ];
54
+
55
+ const seo: BmpAPngLocaleContent['seo'] = [
56
+ {
57
+ type: 'title',
58
+ text: 'Convertidor de BMP a PNG: El Reemplazo Sin Pérdida del Formato BMP',
59
+ level: 2,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'El BMP es un formato sin compresión que ocupa enormes cantidades de espacio sin ningún beneficio técnico frente al PNG. Ambos son formatos sin pérdida: guardan cada píxel con exactitud absoluta. Pero el PNG añade compresión lossless mediante el algoritmo Deflate, lo que reduce el tamaño del archivo entre 3 y 5 veces sin sacrificar ni un solo bit de información visual. El PNG es, en esencia, lo que el BMP siempre quiso ser.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'BMP vs PNG: misma calidad, tamaño radicalmente diferente',
68
+ level: 3,
69
+ },
70
+ {
71
+ type: 'paragraph',
72
+ html: 'La diferencia fundamental entre BMP y PNG no está en la calidad de imagen - ambos son sin pérdida - sino en la eficiencia de almacenamiento. El BMP almacena píxeles en bruto: sin compresión, sin optimización, sin consideración por el espacio. El PNG analiza los patrones de píxeles repetidos y los codifica de forma compacta mediante Deflate, el mismo algoritmo que usa ZIP.',
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'Además de la compresión superior, el PNG añade una característica que el BMP nunca tuvo: canal alfa completo para transparencias. Capturas de pantalla, gráficos de interfaz, logotipos, diagramas técnicos: todos estos tipos de imágenes se benefician enormemente de la conversión a PNG, que mantiene cada valor de color exacto mientras reduce el peso del archivo a una fracción del original.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'Comparativa de Arquitectura: Local vs Nube',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'comparative',
85
+ items: [
86
+ {
87
+ title: 'Convertidores Cloud',
88
+ description: 'Servicios que procesan tus archivos BMP en servidores de terceros.',
89
+ icon: 'mdi:cloud-upload',
90
+ pointIcon: 'mdi:close-circle-outline',
91
+ points: [
92
+ 'Tus imágenes de trabajo viajan por internet',
93
+ 'Tiempo de espera proporcional al tamaño del BMP',
94
+ 'Límites de tamaño en planes gratuitos',
95
+ 'Riesgo de análisis o retención de tus archivos',
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
+ 'El BMP se procesa localmente, nunca sale de tu dispositivo',
105
+ 'Conversión instantánea en milisegundos',
106
+ 'Sin límites de tamaño ni de número de archivos',
107
+ 'Privacidad total: 0 bytes enviados al exterior',
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Cómo funciona la conversión local de BMP a PNG',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'El proceso utiliza el Canvas API de HTML5. El archivo BMP se lee con la API <code>FileReader</code> del navegador y se decodifica como un Blob en memoria. Ese Blob se dibuja sobre un canvas HTML5 invisible. A continuación, el método <code>toDataURL(\'image/png\')</code> aplica el algoritmo de compresión PNG nativo del navegador y genera el archivo resultante.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'A diferencia de la conversión a JPG, la conversión a PNG es completamente lossless: cada valor de color del BMP original se preserva exactamente en el PNG resultante. No hay artefactos, no hay suavizado de bordes, no hay pérdida de información. El archivo final es visualmente idéntico al BMP pero ocupa entre 3 y 5 veces menos espacio en disco.',
124
+ },
125
+ {
126
+ type: 'tip',
127
+ title: 'PNG es el estándar moderno donde BMP se usaba antes',
128
+ html: 'Si trabajas con software antiguo que exporta BMP (maquinaria industrial, sistemas de control, software de diagnóstico médico), convertir a PNG es la mejor decisión. PNG es compatible con absolutamente todos los programas modernos, mantiene la fidelidad de color perfecta y ocupa hasta 5 veces menos espacio. Es la migración más sencilla y segura posible.',
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Casos de uso y compatibilidad del PNG resultante',
133
+ level: 3,
134
+ },
135
+ {
136
+ type: 'list',
137
+ icon: 'mdi:check-circle',
138
+ items: [
139
+ 'Capturas de pantalla y gráficos de interfaz con colores exactos preservados.',
140
+ 'Imágenes de documentación técnica y diagramas de software.',
141
+ 'Exportaciones de CAD, sistemas industriales y software legacy.',
142
+ 'Logotipos y elementos de identidad visual con transparencia añadida.',
143
+ 'Compatible con Adobe Photoshop, GIMP, Figma y todos los editores modernos.',
144
+ ],
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Conclusión: el PNG es lo que el BMP siempre debió ser',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Convertir BMP a PNG es la modernización más natural de un archivo de imagen: misma calidad sin pérdida, mayor compatibilidad, soporte de transparencia y entre 3 y 5 veces menos peso. Nuestra herramienta realiza esta conversión en milisegundos, directamente en tu navegador, sin subir ningún archivo a ningún servidor.',
154
+ },
155
+ ];
157
156
 
158
- export const content: BmpAPngLocaleContent = {
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: BmpAPngLocaleContent = {
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
+ };