@jjlmoya/utils-converters 1.1.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.
- package/package.json +61 -0
- package/src/category/i18n/en.ts +90 -0
- package/src/category/i18n/es.ts +90 -0
- package/src/category/i18n/fr.ts +90 -0
- package/src/category/index.ts +39 -0
- package/src/category/seo.astro +15 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +152 -0
- package/src/data.ts +34 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +39 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +148 -0
- package/src/pages/[locale].astro +271 -0
- package/src/pages/index.astro +4 -0
- package/src/shared/ImageConverter.astro +237 -0
- package/src/shared/logic/converter.ts +167 -0
- package/src/shared/style.css +258 -0
- package/src/tests/faq_count.test.ts +10 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/seo_length.test.ts +22 -0
- package/src/tests/tool_validation.test.ts +17 -0
- package/src/tool/avifAJpg/bibliography.astro +14 -0
- package/src/tool/avifAJpg/component.astro +8 -0
- package/src/tool/avifAJpg/i18n/en.ts +123 -0
- package/src/tool/avifAJpg/i18n/es.ts +123 -0
- package/src/tool/avifAJpg/i18n/fr.ts +118 -0
- package/src/tool/avifAJpg/index.ts +29 -0
- package/src/tool/avifAJpg/seo.astro +14 -0
- package/src/tool/avifAPng/bibliography.astro +14 -0
- package/src/tool/avifAPng/component.astro +8 -0
- package/src/tool/avifAPng/i18n/en.ts +118 -0
- package/src/tool/avifAPng/i18n/es.ts +123 -0
- package/src/tool/avifAPng/i18n/fr.ts +118 -0
- package/src/tool/avifAPng/index.ts +29 -0
- package/src/tool/avifAPng/seo.astro +14 -0
- package/src/tool/avifAWebp/bibliography.astro +14 -0
- package/src/tool/avifAWebp/component.astro +8 -0
- package/src/tool/avifAWebp/i18n/en.ts +118 -0
- package/src/tool/avifAWebp/i18n/es.ts +123 -0
- package/src/tool/avifAWebp/i18n/fr.ts +118 -0
- package/src/tool/avifAWebp/index.ts +29 -0
- package/src/tool/avifAWebp/seo.astro +14 -0
- package/src/tool/bmpAJpg/bibliography.astro +14 -0
- package/src/tool/bmpAJpg/component.astro +8 -0
- package/src/tool/bmpAJpg/i18n/en.ts +123 -0
- package/src/tool/bmpAJpg/i18n/es.ts +123 -0
- package/src/tool/bmpAJpg/i18n/fr.ts +118 -0
- package/src/tool/bmpAJpg/index.ts +29 -0
- package/src/tool/bmpAJpg/seo.astro +14 -0
- package/src/tool/bmpAPng/bibliography.astro +14 -0
- package/src/tool/bmpAPng/component.astro +8 -0
- package/src/tool/bmpAPng/i18n/en.ts +123 -0
- package/src/tool/bmpAPng/i18n/es.ts +123 -0
- package/src/tool/bmpAPng/i18n/fr.ts +118 -0
- package/src/tool/bmpAPng/index.ts +29 -0
- package/src/tool/bmpAPng/seo.astro +14 -0
- package/src/tool/bmpAWebp/bibliography.astro +14 -0
- package/src/tool/bmpAWebp/component.astro +8 -0
- package/src/tool/bmpAWebp/i18n/en.ts +118 -0
- package/src/tool/bmpAWebp/i18n/es.ts +123 -0
- package/src/tool/bmpAWebp/i18n/fr.ts +118 -0
- package/src/tool/bmpAWebp/index.ts +29 -0
- package/src/tool/bmpAWebp/seo.astro +14 -0
- package/src/tool/gifAJpg/bibliography.astro +14 -0
- package/src/tool/gifAJpg/component.astro +8 -0
- package/src/tool/gifAJpg/i18n/en.ts +123 -0
- package/src/tool/gifAJpg/i18n/es.ts +123 -0
- package/src/tool/gifAJpg/i18n/fr.ts +118 -0
- package/src/tool/gifAJpg/index.ts +29 -0
- package/src/tool/gifAJpg/seo.astro +14 -0
- package/src/tool/gifAPng/bibliography.astro +14 -0
- package/src/tool/gifAPng/component.astro +8 -0
- package/src/tool/gifAPng/i18n/en.ts +123 -0
- package/src/tool/gifAPng/i18n/es.ts +123 -0
- package/src/tool/gifAPng/i18n/fr.ts +118 -0
- package/src/tool/gifAPng/index.ts +29 -0
- package/src/tool/gifAPng/seo.astro +14 -0
- package/src/tool/gifAWebp/bibliography.astro +14 -0
- package/src/tool/gifAWebp/component.astro +8 -0
- package/src/tool/gifAWebp/i18n/en.ts +123 -0
- package/src/tool/gifAWebp/i18n/es.ts +123 -0
- package/src/tool/gifAWebp/i18n/fr.ts +118 -0
- package/src/tool/gifAWebp/index.ts +29 -0
- package/src/tool/gifAWebp/seo.astro +14 -0
- package/src/tool/imagenBase64/bibliography.astro +14 -0
- package/src/tool/imagenBase64/component.astro +159 -0
- package/src/tool/imagenBase64/i18n/en.ts +137 -0
- package/src/tool/imagenBase64/i18n/es.ts +137 -0
- package/src/tool/imagenBase64/i18n/fr.ts +132 -0
- package/src/tool/imagenBase64/index.ts +43 -0
- package/src/tool/imagenBase64/seo.astro +14 -0
- package/src/tool/imagenBase64/style.css +299 -0
- package/src/tool/jpgAIco/bibliography.astro +14 -0
- package/src/tool/jpgAIco/component.astro +8 -0
- package/src/tool/jpgAIco/i18n/en.ts +123 -0
- package/src/tool/jpgAIco/i18n/es.ts +123 -0
- package/src/tool/jpgAIco/i18n/fr.ts +118 -0
- package/src/tool/jpgAIco/index.ts +29 -0
- package/src/tool/jpgAIco/seo.astro +14 -0
- package/src/tool/jpgAPng/bibliography.astro +14 -0
- package/src/tool/jpgAPng/component.astro +8 -0
- package/src/tool/jpgAPng/i18n/en.ts +128 -0
- package/src/tool/jpgAPng/i18n/es.ts +128 -0
- package/src/tool/jpgAPng/i18n/fr.ts +123 -0
- package/src/tool/jpgAPng/index.ts +29 -0
- package/src/tool/jpgAPng/seo.astro +14 -0
- package/src/tool/jpgAWebp/bibliography.astro +14 -0
- package/src/tool/jpgAWebp/component.astro +8 -0
- package/src/tool/jpgAWebp/i18n/en.ts +118 -0
- package/src/tool/jpgAWebp/i18n/es.ts +123 -0
- package/src/tool/jpgAWebp/i18n/fr.ts +118 -0
- package/src/tool/jpgAWebp/index.ts +29 -0
- package/src/tool/jpgAWebp/seo.astro +14 -0
- package/src/tool/pngAIco/bibliography.astro +14 -0
- package/src/tool/pngAIco/component.astro +8 -0
- package/src/tool/pngAIco/i18n/en.ts +123 -0
- package/src/tool/pngAIco/i18n/es.ts +123 -0
- package/src/tool/pngAIco/i18n/fr.ts +118 -0
- package/src/tool/pngAIco/index.ts +29 -0
- package/src/tool/pngAIco/seo.astro +14 -0
- package/src/tool/pngAJpg/bibliography.astro +14 -0
- package/src/tool/pngAJpg/component.astro +8 -0
- package/src/tool/pngAJpg/i18n/en.ts +133 -0
- package/src/tool/pngAJpg/i18n/es.ts +201 -0
- package/src/tool/pngAJpg/i18n/fr.ts +128 -0
- package/src/tool/pngAJpg/index.ts +29 -0
- package/src/tool/pngAJpg/seo.astro +14 -0
- package/src/tool/pngAWebp/bibliography.astro +14 -0
- package/src/tool/pngAWebp/component.astro +8 -0
- package/src/tool/pngAWebp/i18n/en.ts +127 -0
- package/src/tool/pngAWebp/i18n/es.ts +132 -0
- package/src/tool/pngAWebp/i18n/fr.ts +122 -0
- package/src/tool/pngAWebp/index.ts +29 -0
- package/src/tool/pngAWebp/seo.astro +14 -0
- package/src/tool/svgAJpg/bibliography.astro +14 -0
- package/src/tool/svgAJpg/component.astro +8 -0
- package/src/tool/svgAJpg/i18n/en.ts +118 -0
- package/src/tool/svgAJpg/i18n/es.ts +123 -0
- package/src/tool/svgAJpg/i18n/fr.ts +118 -0
- package/src/tool/svgAJpg/index.ts +29 -0
- package/src/tool/svgAJpg/seo.astro +14 -0
- package/src/tool/svgAPng/bibliography.astro +14 -0
- package/src/tool/svgAPng/component.astro +8 -0
- package/src/tool/svgAPng/i18n/en.ts +123 -0
- package/src/tool/svgAPng/i18n/es.ts +128 -0
- package/src/tool/svgAPng/i18n/fr.ts +118 -0
- package/src/tool/svgAPng/index.ts +29 -0
- package/src/tool/svgAPng/seo.astro +14 -0
- package/src/tool/webpAIco/bibliography.astro +14 -0
- package/src/tool/webpAIco/component.astro +8 -0
- package/src/tool/webpAIco/i18n/en.ts +123 -0
- package/src/tool/webpAIco/i18n/es.ts +123 -0
- package/src/tool/webpAIco/i18n/fr.ts +118 -0
- package/src/tool/webpAIco/index.ts +29 -0
- package/src/tool/webpAIco/seo.astro +14 -0
- package/src/tool/webpAJpg/bibliography.astro +14 -0
- package/src/tool/webpAJpg/component.astro +8 -0
- package/src/tool/webpAJpg/i18n/en.ts +122 -0
- package/src/tool/webpAJpg/i18n/es.ts +127 -0
- package/src/tool/webpAJpg/i18n/fr.ts +122 -0
- package/src/tool/webpAJpg/index.ts +29 -0
- package/src/tool/webpAJpg/seo.astro +14 -0
- package/src/tool/webpAPng/bibliography.astro +14 -0
- package/src/tool/webpAPng/component.astro +8 -0
- package/src/tool/webpAPng/i18n/en.ts +127 -0
- package/src/tool/webpAPng/i18n/es.ts +132 -0
- package/src/tool/webpAPng/i18n/fr.ts +122 -0
- package/src/tool/webpAPng/index.ts +29 -0
- package/src/tool/webpAPng/seo.astro +14 -0
- package/src/tools.ts +70 -0
- package/src/types.ts +69 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { JpgAWebpLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertidor-jpg-a-webp';
|
|
6
|
+
const title = 'Convertir JPG a WebP Online y Gratis - Alta Calidad';
|
|
7
|
+
const description =
|
|
8
|
+
'Convierte imágenes JPG a WebP en tu navegador. Compresión superior sin pérdida visible. Sin subir archivos. Gratuito, ilimitado y privado.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Arrastra archivos JPG...',
|
|
12
|
+
convertText: 'Para convertirlos a WebP al instante',
|
|
13
|
+
selectFiles: 'Seleccionar archivos',
|
|
14
|
+
processedFiles: 'Archivos procesados',
|
|
15
|
+
downloadAll: 'Descargar Todo (.zip)',
|
|
16
|
+
pending: 'Pendiente',
|
|
17
|
+
bibliographyTitle: 'Referencias Bibliográficas',
|
|
18
|
+
faqTitle: 'Preguntas Frecuentes',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: JpgAWebpLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: '¿Por qué convertir fotos JPG a WebP?',
|
|
24
|
+
answer:
|
|
25
|
+
'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.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '¿Tengo que pagar por imagen?',
|
|
29
|
+
answer:
|
|
30
|
+
'No, la herramienta es gratis y todo se procesa directamente en tu ordenador. Es ilimitada para uso doméstico o profesional.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '¿Es segura la conversión?',
|
|
34
|
+
answer:
|
|
35
|
+
'Sí, totalmente. Todo el procesamiento ocurre en el Canvas HTML5 de tu navegador local sin enviar ningún dato a servidores externos.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: JpgAWebpLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Inserta tus fotografías JPG',
|
|
42
|
+
text: 'Pega tus archivos JPG o arrástralos directamente al área superior. La detección es instantánea.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Procesado a WebP',
|
|
46
|
+
text: 'El motor de renderizado local convertirá cada archivo de imagen a un WebP ultra optimizado listo para la web.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Descarga los resultados',
|
|
50
|
+
text: 'Guarda cada WebP individualmente o descarga el ZIP con todos los archivos convertidos.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: JpgAWebpLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Google WebP Compression Study',
|
|
57
|
+
url: 'https://developers.google.com/speed/webp/docs/webp_study',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Web.dev: Serve images in modern formats',
|
|
61
|
+
url: 'https://web.dev/uses-webp-images/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: JpgAWebpLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertidor JPG a WebP Online Gratuito',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'El formato JPG ha sido durante décadas el estándar para fotografías en la web. Sin embargo, el moderno formato WebP de Google ofrece una mejor relación calidad-peso, permitiendo reducir el tamaño de los archivos JPG entre un 25% y un 35% manteniendo una calidad visual prácticamente idéntica. Para cualquier sitio web que busque mejorar su velocidad de carga, la conversión de JPG a WebP es una de las optimizaciones más impactantes disponibles.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'El proceso de conversión de JPG a WebP preserva toda la información de color de la imagen original. A diferencia de PNG que puede verse afectado por transparencias, el JPG es un formato puramente plano, lo que significa que la conversión a WebP es directa y sin complicaciones en cuanto al canal alfa.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html:
|
|
83
|
+
'Nuestro convertidor opera completamente en el navegador. Las imágenes JPG se cargan a través del Canvas API de HTML5, se renderiza su contenido y se exporta en formato WebP. Ningún archivo viaja a través de internet hacia un servidor remoto, garantizando la confidencialidad total de tu material.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'tip',
|
|
87
|
+
html:
|
|
88
|
+
'Utiliza WebP para imágenes de productos en e-commerce, fotografías de blog y cualquier imagen en tu web. Los navegadores modernos como Chrome, Firefox y Safari soportan WebP completamente.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Según estudios realizados por Google, las imágenes WebP con pérdida son entre un 25% y un 34% más pequeñas que los archivos JPG comparables, lo que puede acelerar el tiempo de carga de una página web en varios segundos.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html:
|
|
98
|
+
'Convierte JPG a WebP sin coste, sin límites y con total privacidad. Reduce el peso de tus imágenes y mejora el rendimiento de tu sitio web de forma inmediata.',
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
103
|
+
'@context': 'https://schema.org',
|
|
104
|
+
'@type': 'SoftwareApplication',
|
|
105
|
+
name: title,
|
|
106
|
+
description,
|
|
107
|
+
applicationCategory: 'UtilitiesApplication',
|
|
108
|
+
operatingSystem: 'Web',
|
|
109
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
110
|
+
inLanguage: 'es',
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export const content: JpgAWebpLocaleContent = {
|
|
114
|
+
slug,
|
|
115
|
+
title,
|
|
116
|
+
description,
|
|
117
|
+
ui,
|
|
118
|
+
seo,
|
|
119
|
+
faq,
|
|
120
|
+
bibliography,
|
|
121
|
+
howTo,
|
|
122
|
+
schemas: [appSchema as any],
|
|
123
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { JpgAWebpLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertisseur-jpg-en-webp';
|
|
6
|
+
const title = 'Convertir JPG en WebP en Ligne et Gratuitement - Haute Qualité';
|
|
7
|
+
const description =
|
|
8
|
+
'Convertissez des images JPG en WebP dans votre navigateur. Compression supérieure sans perte visible. Sans téléchargement. Gratuit, illimité et privé.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Faites glisser des fichiers JPG...',
|
|
12
|
+
convertText: 'Pour les convertir en WebP instantanément',
|
|
13
|
+
selectFiles: 'Sélectionner des fichiers',
|
|
14
|
+
processedFiles: 'Fichiers traités',
|
|
15
|
+
downloadAll: 'Tout télécharger (.zip)',
|
|
16
|
+
pending: 'En attente',
|
|
17
|
+
bibliographyTitle: 'Références Bibliographiques',
|
|
18
|
+
faqTitle: 'Questions Fréquentes',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: JpgAWebpLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Pourquoi convertir des photos JPG en WebP ?',
|
|
24
|
+
answer:
|
|
25
|
+
'WebP permet une compression significativement meilleure des fichiers JPG traditionnels sans que l\'œil humain ne remarque la différence, résultant en des sites web plus rapides et modernes.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Dois-je payer par image ?',
|
|
29
|
+
answer:
|
|
30
|
+
'Non, l\'outil est gratuit et tout est traité directement sur votre ordinateur. Il est illimité pour usage domestique ou professionnel.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'La conversion est-elle sécurisée ?',
|
|
34
|
+
answer:
|
|
35
|
+
'Oui, totalement. Tout le traitement se fait dans le Canvas HTML5 de votre navigateur local sans envoyer aucune donnée vers des serveurs externes.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: JpgAWebpLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Insérez vos photos JPG',
|
|
42
|
+
text: 'Déposez vos fichiers JPG ou faites-les glisser directement dans la zone supérieure. La détection est instantanée.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Traitement en WebP',
|
|
46
|
+
text: 'Le moteur de rendu local convertira chaque fichier image en un WebP ultra-optimisé prêt pour le web.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Téléchargez les résultats',
|
|
50
|
+
text: 'Sauvegardez chaque WebP individuellement ou téléchargez le ZIP avec tous les fichiers convertis.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: JpgAWebpLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Étude de compression Google WebP',
|
|
57
|
+
url: 'https://developers.google.com/speed/webp/docs/webp_study',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Web.dev: Servir des images en formats modernes',
|
|
61
|
+
url: 'https://web.dev/uses-webp-images/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: JpgAWebpLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertisseur JPG vers WebP en Ligne Gratuit',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'Le JPG est le standard pour les photographies web depuis des décennies. Cependant, le format moderne WebP de Google offre un meilleur rapport qualité-taille, permettant de réduire la taille des fichiers JPG de 25% à 35% tout en maintenant une qualité visuelle pratiquement identique.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'Le processus de conversion JPG vers WebP préserve toutes les informations de couleur de l\'image originale. Contrairement au PNG qui peut être affecté par la gestion de la transparence, le JPG est un format purement plat, ce qui signifie que la conversion en WebP est simple.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'tip',
|
|
82
|
+
html:
|
|
83
|
+
'Utilisez WebP pour les images de produits en e-commerce, les photographies de blog et toute image sur votre site web. Les navigateurs modernes comme Chrome, Firefox et Safari supportent entièrement WebP.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html:
|
|
88
|
+
'Selon des études de Google, les images WebP avec perte sont entre 25% et 34% plus petites que les fichiers JPG comparables, ce qui peut accélérer le temps de chargement d\'une page web de plusieurs secondes.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Convertissez JPG en WebP sans frais, sans limites et avec une confidentialité totale. Réduisez le poids de vos images et améliorez immédiatement les performances de votre site web.',
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
|
|
97
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
98
|
+
'@context': 'https://schema.org',
|
|
99
|
+
'@type': 'SoftwareApplication',
|
|
100
|
+
name: title,
|
|
101
|
+
description,
|
|
102
|
+
applicationCategory: 'UtilitiesApplication',
|
|
103
|
+
operatingSystem: 'Web',
|
|
104
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
105
|
+
inLanguage: 'fr',
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export const content: JpgAWebpLocaleContent = {
|
|
109
|
+
slug,
|
|
110
|
+
title,
|
|
111
|
+
description,
|
|
112
|
+
ui,
|
|
113
|
+
seo,
|
|
114
|
+
faq,
|
|
115
|
+
bibliography,
|
|
116
|
+
howTo,
|
|
117
|
+
schemas: [appSchema as any],
|
|
118
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ConvertersToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
|
|
2
|
+
import type { ImageConverterUI } from '../../shared/ImageConverter.astro';
|
|
3
|
+
import JpgAWebpCalculator from './component.astro';
|
|
4
|
+
import JpgAWebpSEO from './seo.astro';
|
|
5
|
+
import JpgAWebpBibliography from './bibliography.astro';
|
|
6
|
+
|
|
7
|
+
export type JpgAWebpLocaleContent = ToolLocaleContent<ImageConverterUI>;
|
|
8
|
+
|
|
9
|
+
export const jpgAWebp: ConvertersToolEntry<ImageConverterUI> = {
|
|
10
|
+
id: 'jpg-a-webp',
|
|
11
|
+
icons: {
|
|
12
|
+
bg: 'mdi:file-image',
|
|
13
|
+
fg: 'mdi:file-export',
|
|
14
|
+
},
|
|
15
|
+
i18n: {
|
|
16
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
18
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { JpgAWebpCalculator, JpgAWebpSEO, JpgAWebpBibliography };
|
|
23
|
+
|
|
24
|
+
export const JPG_A_WEBP_TOOL: ToolDefinition = {
|
|
25
|
+
entry: jpgAWebp,
|
|
26
|
+
Component: JpgAWebpCalculator,
|
|
27
|
+
SEOComponent: JpgAWebpSEO,
|
|
28
|
+
BibliographyComponent: JpgAWebpBibliography,
|
|
29
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
+
import { jpgAWebp } from './index';
|
|
4
|
+
import type { KnownLocale } from '../../types';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
locale?: KnownLocale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { locale = 'es' } = Astro.props;
|
|
11
|
+
const content = await jpgAWebp.i18n[locale]?.();
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
{content && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
+
import { pngAIco } from './index';
|
|
4
|
+
import type { KnownLocale } from '../../types';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
locale?: KnownLocale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { locale = 'es' } = Astro.props;
|
|
11
|
+
const content = await pngAIco.i18n[locale]?.();
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
{content && <SharedBibliography links={content.bibliography} title={content.ui.bibliographyTitle} />}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
import SharedImageConverter from '../../shared/ImageConverter.astro';
|
|
3
|
+
import type { ImageConverterUI } from '../../shared/ImageConverter.astro';
|
|
4
|
+
|
|
5
|
+
interface Props { ui: ImageConverterUI }
|
|
6
|
+
const { ui } = Astro.props;
|
|
7
|
+
---
|
|
8
|
+
<SharedImageConverter from="png" to="ico" ui={ui} />
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { PngAIcoLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'png-to-ico-converter';
|
|
6
|
+
const title = 'Convert PNG to ICO Online | Create 100% Real Icons for PC and Web';
|
|
7
|
+
const description =
|
|
8
|
+
'Convert PNG to ICO with real binary headers. Transparencies preserved. No file uploads. Free and 100% private.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Drag PNG files...',
|
|
12
|
+
convertText: 'To convert them to ICO instantly',
|
|
13
|
+
selectFiles: 'Select files',
|
|
14
|
+
processedFiles: 'Processed files',
|
|
15
|
+
downloadAll: 'Download All (.zip)',
|
|
16
|
+
pending: 'Pending',
|
|
17
|
+
bibliographyTitle: 'Bibliographic References',
|
|
18
|
+
faqTitle: 'Frequently Asked Questions',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: PngAIcoLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Is your converter a creator of simple disguised PNG files or a genuine ICO?',
|
|
24
|
+
answer:
|
|
25
|
+
'We make a real ICO. We extract data from your PNG, create the standardized Microsoft hexadecimal header (Header + Directory of 22 bytes), resize to the ideal square format locally and assemble a final file validated as native.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Are transparencies preserved when my logo is placed in the icon?',
|
|
29
|
+
answer:
|
|
30
|
+
'Absolutely yes. Our engine reads your PNG at 32 bits, anchoring it while precisely preserving any transparent passthrough holes so they stand out in the universal web address bar (Favicon).',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Is my company logo stored on your servers?',
|
|
34
|
+
answer:
|
|
35
|
+
'This service guarantees zero external network contact. The converter works anchored in your internal HTML5 Canvas; the manufacturing of your icon takes place one hundred percent inside your machine in purely secret local memory.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: PngAIcoLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Drag files to transfer',
|
|
42
|
+
text: 'Place your photo matrices (square 512x512 PNG is ideal) on the interactive local frame.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Automatic bytecode compilation',
|
|
46
|
+
text: 'You will see the bar run internally loading and manufacturing the local matrix of purified ICO hexadecimal headers.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Accumulate or escape with your ZIP',
|
|
50
|
+
text: 'Download them by clicking a mega compilation for your websites (global ZIP buttons) or download the thumbnail for the Windows executable.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: PngAIcoLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Microsoft ICO Format Technical Structure',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Favicon Standard - W3C',
|
|
61
|
+
url: 'https://www.w3.org/2005/10/howto-favicon',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: PngAIcoLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Free Online PNG to ICO Converter',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'The ICO (Icon) format is Microsoft\'s standard for Windows application icons and web page Favicons. Unlike simply renaming a PNG as .ico, a genuine ICO file requires a specific binary structure with 22-byte headers, an image directory and image data encoded in a particular way.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'Our converter creates authentic ICO files, not simple renames. The process includes: reading the PNG in an HTML5 canvas, creating the standard Microsoft binary ICO header with the correct magic number (00 00 01 00), generating the image directory and combining everything into a valid binary .ico file. The result is natively recognized by Windows, macOS and all web browsers.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'tip',
|
|
82
|
+
html:
|
|
83
|
+
'For best results as a Favicon, use a square PNG of 512x512 or 256x256 pixels as source. Our converter will resize it to the standard ICO size preserving proportion and transparency.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html:
|
|
88
|
+
'A standard ICO file takes between 1 KB and 100 KB depending on resolution and included layers. 16x16 and 32x32 ICO Favicons are the most common for websites.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'PNG transparencies are completely preserved in the resulting ICO. This is crucial for Favicons where the icon is displayed on different backgrounds. A 32-bit alpha channel ICO works perfectly in all contexts.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html:
|
|
98
|
+
'Convert PNG to authentic ICO with real binary headers. Free, private and with transparency support. Perfect for web Favicons and Windows icons.',
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
103
|
+
'@context': 'https://schema.org',
|
|
104
|
+
'@type': 'SoftwareApplication',
|
|
105
|
+
name: title,
|
|
106
|
+
description,
|
|
107
|
+
applicationCategory: 'UtilitiesApplication',
|
|
108
|
+
operatingSystem: 'Web',
|
|
109
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
110
|
+
inLanguage: 'en',
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export const content: PngAIcoLocaleContent = {
|
|
114
|
+
slug,
|
|
115
|
+
title,
|
|
116
|
+
description,
|
|
117
|
+
ui,
|
|
118
|
+
seo,
|
|
119
|
+
faq,
|
|
120
|
+
bibliography,
|
|
121
|
+
howTo,
|
|
122
|
+
schemas: [appSchema as any],
|
|
123
|
+
};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { PngAIcoLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertidor-png-a-ico';
|
|
6
|
+
const title = 'Convertir PNG a ICO Online | Fabrica iconos 100% reales para PC y web';
|
|
7
|
+
const description =
|
|
8
|
+
'Convierte PNG a ICO con cabeceras binarias reales. Transparencias preservadas. Sin subir archivos. Gratis y 100% privado.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Arrastra archivos PNG...',
|
|
12
|
+
convertText: 'Para convertirlos a ICO al instante',
|
|
13
|
+
selectFiles: 'Seleccionar archivos',
|
|
14
|
+
processedFiles: 'Archivos procesados',
|
|
15
|
+
downloadAll: 'Descargar Todo (.zip)',
|
|
16
|
+
pending: 'Pendiente',
|
|
17
|
+
bibliographyTitle: 'Referencias Bibliográficas',
|
|
18
|
+
faqTitle: 'Preguntas Frecuentes',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: PngAIcoLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: '¿Es tu conversor un creador de simples archivos PNG disfrazados o un ICO verídico?',
|
|
24
|
+
answer:
|
|
25
|
+
'Hacemos un ICO real. Extraemos los datos de tu PNG, creamos la cabecera hexadecimal estandarizada propia de Microsoft (Header + Directory de 22 bytes), redimensionamos al formato cuadrado ideal localmente y armamos un archivo informático final validado como nativo.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '¿Se conservan las transparencias cuando mi logo se asimile en el icono?',
|
|
29
|
+
answer:
|
|
30
|
+
'Absolutamente sí. Nuestro motor lee tu PNG a 32 bits, lo ancla conservando milimétricamente cualquier agujero pasante transparente para que resalte en la barra de direcciones universal web (Favicon).',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '¿Queda guardado el logo de mi empresa en sus servidores?',
|
|
34
|
+
answer:
|
|
35
|
+
'Este servicio garantiza un contacto cero red exterior. El convertidor funciona anclado en tu Canvas interno HTML5; la fabricación de tu icono transcurre cien por ciento dentro de tu equipo en memoria local puramente secreta.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: PngAIcoLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Arrastra Archivos A Trasladar',
|
|
42
|
+
text: 'Sitúa las matrices de tu foto (es deseable usar cuadrangulares 512x512 PNG) sobre el marco local interactivo.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Compilación Automática del Bytecode',
|
|
46
|
+
text: 'Verás a fondo la barra correr cargando internamente y fabricando la matriz local de cabeceras Hexadecimales purificadas ICO.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Acumula o Escapa con tu ZIP',
|
|
50
|
+
text: 'Asímilalos pinchando un mega compilado para tus sitios web (botones ZIP globales) o baja la miniatura para el ejecutable Windows.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: PngAIcoLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Estructura Técnica del Microsoft ICO Format',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Favicon Standard - W3C',
|
|
61
|
+
url: 'https://www.w3.org/2005/10/howto-favicon',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: PngAIcoLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertidor PNG a ICO Online Gratuito',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'El formato ICO (Icon) es el estándar de Microsoft para iconos de aplicaciones de Windows y Favicons de páginas web. A diferencia de simplemente renombrar un PNG como .ico, un archivo ICO genuino requiere una estructura binaria específica con cabeceras de 22 bytes, un directorio de imágenes y los datos de imagen codificados de forma particular.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'Nuestro convertidor crea archivos ICO auténticos, no simples renombrados. El proceso incluye: leer el PNG en un canvas HTML5, crear la cabecera ICO binaria estándar de Microsoft con el magic number correcto (00 00 01 00), generar el directorio de imagen y combinar todo en un archivo .ico binario válido. El resultado es reconocido nativamente por Windows, macOS y todos los navegadores web.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html:
|
|
83
|
+
'Las transparencias del PNG se preservan completamente en el ICO resultante. Esto es crucial para Favicons donde el icono se muestra sobre diferentes fondos (la barra de favoritos puede ser clara u oscura). Un ICO con canal alfa de 32 bits funciona perfectamente en todos los contextos.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'tip',
|
|
87
|
+
html:
|
|
88
|
+
'Para mejores resultados como Favicon, usa un PNG cuadrado de 512x512 o 256x256 píxeles como fuente. Nuestro convertidor lo redimensionará al tamaño estándar ICO preservando la proporción y la transparencia.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Un archivo ICO estándar ocupa entre 1 KB y 100 KB dependiendo de la resolución y las capas incluidas. Los Favicons ICO de 16x16 y 32x32 son los más comunes para sitios web.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html:
|
|
98
|
+
'Convierte PNG a ICO auténtico con cabeceras binarias reales. Gratis, privado y con soporte de transparencias. Perfecto para Favicons web e iconos de Windows.',
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
103
|
+
'@context': 'https://schema.org',
|
|
104
|
+
'@type': 'SoftwareApplication',
|
|
105
|
+
name: title,
|
|
106
|
+
description,
|
|
107
|
+
applicationCategory: 'UtilitiesApplication',
|
|
108
|
+
operatingSystem: 'Web',
|
|
109
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
110
|
+
inLanguage: 'es',
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export const content: PngAIcoLocaleContent = {
|
|
114
|
+
slug,
|
|
115
|
+
title,
|
|
116
|
+
description,
|
|
117
|
+
ui,
|
|
118
|
+
seo,
|
|
119
|
+
faq,
|
|
120
|
+
bibliography,
|
|
121
|
+
howTo,
|
|
122
|
+
schemas: [appSchema as any],
|
|
123
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { PngAIcoLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertisseur-png-en-ico';
|
|
6
|
+
const title = 'Convertir PNG en ICO en Ligne | Créez des Icônes 100% Réelles pour PC et Web';
|
|
7
|
+
const description =
|
|
8
|
+
'Convertissez PNG en ICO avec de vrais en-têtes binaires. Transparences préservées. Sans téléchargement. Gratuit et 100% privé.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Faites glisser des fichiers PNG...',
|
|
12
|
+
convertText: 'Pour les convertir en ICO instantanément',
|
|
13
|
+
selectFiles: 'Sélectionner des fichiers',
|
|
14
|
+
processedFiles: 'Fichiers traités',
|
|
15
|
+
downloadAll: 'Tout télécharger (.zip)',
|
|
16
|
+
pending: 'En attente',
|
|
17
|
+
bibliographyTitle: 'Références Bibliographiques',
|
|
18
|
+
faqTitle: 'Questions Fréquentes',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: PngAIcoLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Votre convertisseur crée-t-il de simples fichiers PNG déguisés ou un vrai ICO ?',
|
|
24
|
+
answer:
|
|
25
|
+
'Nous créons un vrai ICO. Nous extrayons les données de votre PNG, créons l\'en-tête hexadécimal standardisé Microsoft (Header + Directory de 22 octets), redimensionnons au format carré idéal localement et assemblons un fichier final validé comme natif.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Les transparences sont-elles préservées lorsque mon logo est intégré dans l\'icône ?',
|
|
29
|
+
answer:
|
|
30
|
+
'Absolument oui. Notre moteur lit votre PNG à 32 bits, l\'ancrant en préservant précisément tous les trous transparents pour qu\'ils ressortent dans la barre d\'adresse universelle web (Favicon).',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Le logo de mon entreprise est-il stocké sur vos serveurs ?',
|
|
34
|
+
answer:
|
|
35
|
+
'Ce service garantit zéro contact réseau externe. Le convertisseur fonctionne ancré dans votre Canvas HTML5 interne ; la fabrication de votre icône se déroule à cent pour cent dans votre machine en mémoire locale purement secrète.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: PngAIcoLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Faites glisser les fichiers à transférer',
|
|
42
|
+
text: 'Placez vos matrices photo (PNG carré 512x512 est idéal) sur le cadre local interactif.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Compilation automatique du bytecode',
|
|
46
|
+
text: 'Vous verrez la barre s\'exécuter en interne en chargeant et fabriquant la matrice locale d\'en-têtes hexadécimaux ICO purifiés.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Accumulez ou fuyez avec votre ZIP',
|
|
50
|
+
text: 'Téléchargez-les en cliquant sur une méga-compilation pour vos sites web (boutons ZIP globaux) ou téléchargez la miniature pour l\'exécutable Windows.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: PngAIcoLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Structure Technique du Format Microsoft ICO',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Standard Favicon - W3C',
|
|
61
|
+
url: 'https://www.w3.org/2005/10/howto-favicon',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: PngAIcoLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertisseur PNG vers ICO en Ligne Gratuit',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'Le format ICO (Icon) est le standard de Microsoft pour les icônes d\'applications Windows et les Favicons de pages web. Contrairement à simplement renommer un PNG en .ico, un vrai fichier ICO nécessite une structure binaire spécifique avec des en-têtes de 22 octets, un répertoire d\'images et des données d\'image encodées d\'une manière particulière.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'Notre convertisseur crée des fichiers ICO authentiques. Le processus inclut : lire le PNG dans un canvas HTML5, créer l\'en-tête ICO binaire standard Microsoft avec le bon magic number (00 00 01 00), générer le répertoire d\'image et combiner le tout en un fichier .ico binaire valide. Le résultat est reconnu nativement par Windows, macOS et tous les navigateurs web.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'tip',
|
|
82
|
+
html:
|
|
83
|
+
'Pour de meilleurs résultats en tant que Favicon, utilisez un PNG carré de 512x512 ou 256x256 pixels comme source. Notre convertisseur le redimensionnera à la taille ICO standard en préservant la proportion et la transparence.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html:
|
|
88
|
+
'Un fichier ICO standard occupe entre 1 Ko et 100 Ko selon la résolution et les couches incluses. Les Favicons ICO 16x16 et 32x32 sont les plus courants pour les sites web.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Convertissez PNG en ICO authentique avec de vrais en-têtes binaires. Gratuit, privé et avec support de transparence. Parfait pour les Favicons web et les icônes Windows.',
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
|
|
97
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
98
|
+
'@context': 'https://schema.org',
|
|
99
|
+
'@type': 'SoftwareApplication',
|
|
100
|
+
name: title,
|
|
101
|
+
description,
|
|
102
|
+
applicationCategory: 'UtilitiesApplication',
|
|
103
|
+
operatingSystem: 'Web',
|
|
104
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
105
|
+
inLanguage: 'fr',
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export const content: PngAIcoLocaleContent = {
|
|
109
|
+
slug,
|
|
110
|
+
title,
|
|
111
|
+
description,
|
|
112
|
+
ui,
|
|
113
|
+
seo,
|
|
114
|
+
faq,
|
|
115
|
+
bibliography,
|
|
116
|
+
howTo,
|
|
117
|
+
schemas: [appSchema as any],
|
|
118
|
+
};
|