@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 { AvifAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertidor-avif-a-png';
|
|
6
|
+
const title = 'Convertir AVIF a PNG Online - Rápido, local y 100% privado';
|
|
7
|
+
const description =
|
|
8
|
+
'Convierte imágenes AVIF a PNG preservando transparencias. Sin subir archivos. Procesado local en tu navegador. Gratis e ilimitado.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Arrastra archivos AVIF...',
|
|
12
|
+
convertText: 'Para convertirlos a PNG 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: AvifAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: '¿Por qué debería convertir AVIF a PNG?',
|
|
24
|
+
answer:
|
|
25
|
+
'AVIF es genial para compresión, pero su compatibilidad es limitada en navegadores antiguos y editores clásicos. Al convertir de AVIF a PNG, te aseguras de que tu archivo mantendrá la transparencia original y todas las aplicaciones podrán abrirlo.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '¿Se mantienen las transparencias del archivo AVIF original?',
|
|
29
|
+
answer:
|
|
30
|
+
'Sí. A diferencia de JPG que elimina el fondo transparente, al exportar a PNG nuestro convertidor mantiene intacto el canal alfa.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '¿Es verdad que no suben mis imágenes a internet?',
|
|
34
|
+
answer:
|
|
35
|
+
'Absolutamente cierto. Nuestro convertidor se ejecuta de manera 100% local en tu dispositivo utilizando el motor interno de JavaScript.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Añade tus archivos AVIF',
|
|
42
|
+
text: 'Puedes arrastrarlos directamente al área delimitada o usar el botón para explorar las carpetas de tu equipo.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Procesamiento inmediato',
|
|
46
|
+
text: 'Deja que el procesador HTML5 renderice la imagen; el formato cambiará a PNG de forma automática en microsegundos.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Hazte con tus PNGs',
|
|
50
|
+
text: 'Descarga las imágenes convertidas una a una o baja un bloque completo mediante el botón ZIP.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: AvifAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Alliance for Open Media: Formato AVIF',
|
|
57
|
+
url: 'https://aomediacodec.github.io/av1-avif/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'W3C - Portable Network Graphics (PNG) Specification',
|
|
61
|
+
url: 'https://www.w3.org/TR/png/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAPngLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertidor AVIF a PNG Online Gratuito',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'El formato AVIF es uno de los más avanzados disponibles hoy, capaz de comprimir imágenes con una eficiencia notable. Sin embargo, la adopción de AVIF en herramientas de edición, visores de imágenes y sistemas operativos más antiguos es aún limitada. PNG, en cambio, es un formato ampliamente compatible, soportado por prácticamente cualquier herramienta de software.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'La conversión de AVIF a PNG tiene una ventaja fundamental sobre la conversión a JPG: la preservación del canal alfa. Si tu imagen AVIF tiene áreas transparentes, al convertir a PNG estas se mantienen intactas. Esto es crucial para logos, iconos, pegatinas y cualquier gráfico donde la transparencia es esencial para el diseño.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html:
|
|
83
|
+
'Toda la conversión ocurre en tu navegador web. Los navegadores modernos ya incluyen soporte nativo para AVIF, lo que permite decodificar el archivo localmente, renderizarlo en un canvas y exportarlo como PNG sin ninguna comunicación con servidores externos.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'tip',
|
|
87
|
+
html:
|
|
88
|
+
'Si recibes un archivo AVIF que necesitas editar en Photoshop o GIMP, conviértelo primero a PNG para garantizar compatibilidad total y preservar cualquier transparencia presente.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'PNG tiene soporte universal en todos los editores de imagen, sistemas operativos y navegadores web. AVIF, a pesar de su eficiencia, todavía no está soportado en Internet Explorer, versiones antiguas de Safari y muchos programas de edición.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html:
|
|
98
|
+
'Convierte AVIF a PNG preservando transparencias, de forma gratuita y local. Obtén la compatibilidad universal de PNG sin sacrificar la calidad de imagen de tu AVIF.',
|
|
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: AvifAPngLocaleContent = {
|
|
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 { AvifAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertisseur-avif-en-png';
|
|
6
|
+
const title = 'Convertir AVIF en PNG en Ligne - Rapide, Local et 100% Privé';
|
|
7
|
+
const description =
|
|
8
|
+
'Convertissez des images AVIF en PNG en préservant la transparence. Sans téléchargement. Traitement local dans votre navigateur. Gratuit et illimité.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Faites glisser des fichiers AVIF...',
|
|
12
|
+
convertText: 'Pour les convertir en PNG 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: AvifAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Pourquoi devrais-je convertir AVIF en PNG ?',
|
|
24
|
+
answer:
|
|
25
|
+
'AVIF est excellent pour la compression, mais sa compatibilité est limitée dans les anciens navigateurs et éditeurs classiques. En convertissant d\'AVIF en PNG, vous vous assurez que votre fichier conservera la transparence originale et toutes les applications pourront l\'ouvrir.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Les transparences du fichier AVIF original sont-elles maintenues ?',
|
|
29
|
+
answer:
|
|
30
|
+
'Oui. Contrairement au JPG qui supprime le fond transparent, lors de l\'exportation en PNG notre convertisseur garde le canal alpha intact.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Est-il vrai que mes images ne sont pas téléchargées sur internet ?',
|
|
34
|
+
answer:
|
|
35
|
+
'Absolument vrai. Notre convertisseur fonctionne à 100% localement sur votre appareil en utilisant le moteur JavaScript interne.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Ajoutez vos fichiers AVIF',
|
|
42
|
+
text: 'Vous pouvez les faire glisser directement dans la zone délimitée ou utiliser le bouton pour parcourir les dossiers de votre ordinateur.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Traitement immédiat',
|
|
46
|
+
text: 'Laissez le processeur HTML5 rendre l\'image ; le format passera automatiquement en PNG en microsecondes.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Obtenez vos PNG',
|
|
50
|
+
text: 'Téléchargez les images converties une par une ou téléchargez un lot complet via le bouton ZIP.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: AvifAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Alliance for Open Media: Format AVIF',
|
|
57
|
+
url: 'https://aomediacodec.github.io/av1-avif/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'W3C - Spécification PNG (Portable Network Graphics)',
|
|
61
|
+
url: 'https://www.w3.org/TR/png/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAPngLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertisseur AVIF vers PNG en Ligne Gratuit',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'AVIF est l\'un des formats les plus avancés disponibles aujourd\'hui, capable de compresser des images avec une efficacité remarquable. Cependant, l\'adoption d\'AVIF dans les outils d\'édition, les visionneuses d\'images et les systèmes d\'exploitation plus anciens est encore limitée. PNG, en revanche, est un format largement compatible, supporté par pratiquement n\'importe quel outil logiciel.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'La conversion AVIF vers PNG présente un avantage fondamental par rapport à la conversion en JPG : la préservation du canal alpha. Si votre image AVIF a des zones transparentes, lors de la conversion en PNG celles-ci sont conservées intactes. Ceci est crucial pour les logos, icônes, autocollants et tout graphique où la transparence est essentielle.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'tip',
|
|
82
|
+
html:
|
|
83
|
+
'Si vous recevez un fichier AVIF que vous devez éditer dans Photoshop ou GIMP, convertissez-le d\'abord en PNG pour assurer une compatibilité totale et préserver toute transparence présente.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html:
|
|
88
|
+
'PNG bénéficie d\'un support universel dans tous les éditeurs d\'image, systèmes d\'exploitation et navigateurs web. AVIF, malgré son efficacité, n\'est toujours pas supporté dans Internet Explorer, les anciennes versions de Safari et de nombreux programmes d\'édition.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Convertissez AVIF en PNG en préservant la transparence, gratuitement et localement. Obtenez la compatibilité universelle du PNG sans sacrifier la qualité d\'image de votre AVIF.',
|
|
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: AvifAPngLocaleContent = {
|
|
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 AvifAPngCalculator from './component.astro';
|
|
4
|
+
import AvifAPngSEO from './seo.astro';
|
|
5
|
+
import AvifAPngBibliography from './bibliography.astro';
|
|
6
|
+
|
|
7
|
+
export type AvifAPngLocaleContent = ToolLocaleContent<ImageConverterUI>;
|
|
8
|
+
|
|
9
|
+
export const avifAPng: ConvertersToolEntry<ImageConverterUI> = {
|
|
10
|
+
id: 'avif-a-png',
|
|
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 { AvifAPngCalculator, AvifAPngSEO, AvifAPngBibliography };
|
|
23
|
+
|
|
24
|
+
export const AVIF_A_PNG_TOOL: ToolDefinition = {
|
|
25
|
+
entry: avifAPng,
|
|
26
|
+
Component: AvifAPngCalculator,
|
|
27
|
+
SEOComponent: AvifAPngSEO,
|
|
28
|
+
BibliographyComponent: AvifAPngBibliography,
|
|
29
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
+
import { avifAPng } 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 avifAPng.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 { avifAWebp } 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 avifAWebp.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="avif" to="webp" ui={ui} />
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { AvifAWebpLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'avif-to-webp-converter';
|
|
6
|
+
const title = 'Convert AVIF to WebP Online - Security and Speed';
|
|
7
|
+
const description =
|
|
8
|
+
'Convert AVIF images to WebP with better compatibility. Local processing without servers. Free, private and unlimited.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Drag AVIF files...',
|
|
12
|
+
convertText: 'To convert them to WebP 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: AvifAWebpLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'What is the real difference between converting to WebP vs other formats?',
|
|
24
|
+
answer:
|
|
25
|
+
'WebP offers the best of both worlds: compression as impressive as JPG but maintaining the ability to hold clean transparencies like PNG. Changing your AVIF to WebP maximizes web compatibility while preserving all its advantages.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'How do you manage to convert without a server and quickly?',
|
|
29
|
+
answer:
|
|
30
|
+
'We leverage built-in decoding modules and the HTML5 JavaScript Image object, which allows reading your AVIF in local memory and extracting an optimized WebP file in record time.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Is WebP fully compatible today?',
|
|
34
|
+
answer:
|
|
35
|
+
'Unlike the nascent AVIF, the WebP format enjoys very wide support among browsers like Chrome, Firefox and Safari.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAWebpLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Insert your photo files',
|
|
42
|
+
text: 'Move and drop all your AVIF format selections onto our canvas.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Algorithmic byte translation',
|
|
46
|
+
text: 'Our engine assimilates the algorithms without uploading anything and creates exact iterations based on compressed WebP.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Collect your ready downloads',
|
|
50
|
+
text: 'Click the panel and receive batches in ZIP boxes or individual files to publish directly.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: AvifAWebpLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'AV1 Image File Format',
|
|
57
|
+
url: 'https://aomediacodec.github.io/av1-avif/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Google WebP Format Overview',
|
|
61
|
+
url: 'https://developers.google.com/speed/webp',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAWebpLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Free Online AVIF to WebP Converter',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'Converting AVIF to WebP is a smart choice when you need to broaden the compatibility of your images without sacrificing compression efficiency. While AVIF offers the best possible compression, WebP has much wider compatibility across browsers, devices and applications.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'WebP maintains several features that make it superior to JPG for web use: it supports the alpha channel for transparency, can use both lossy and lossless compression, and has universal support in all modern browsers. By converting from AVIF to WebP, you get a file compatible with virtually the entire current web ecosystem.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'tip',
|
|
82
|
+
html:
|
|
83
|
+
'If you manage images for a website and need the best balance between compatibility and performance, WebP is the ideal choice. Convert your AVIFs to WebP to serve modern web images with universal support.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html:
|
|
88
|
+
'WebP has support in more than 96% of all web browsers globally, while AVIF is around 80-85%. This compatibility difference makes WebP safer for production deployment.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Convert AVIF to WebP for free with transparency support and better web compatibility. Processed locally without sending data to external servers.',
|
|
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: 'en',
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export const content: AvifAWebpLocaleContent = {
|
|
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,123 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { AvifAWebpLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertidor-avif-a-webp';
|
|
6
|
+
const title = 'Convertir AVIF a WebP Online - Seguridad y Velocidad';
|
|
7
|
+
const description =
|
|
8
|
+
'Convierte imágenes AVIF a WebP con mejor compatibilidad. Procesado local sin servidores. Gratis, privado e ilimitado.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Arrastra archivos AVIF...',
|
|
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: AvifAWebpLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: '¿Cuál es la diferencia real entre convertir a WebP y a otros formatos?',
|
|
24
|
+
answer:
|
|
25
|
+
'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.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '¿Cómo logran cambiar esto sin servidor y de forma rápida?',
|
|
29
|
+
answer:
|
|
30
|
+
'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.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '¿Es el formato WebP completamente compatible hoy en día?',
|
|
34
|
+
answer:
|
|
35
|
+
'A diferencia del naciente AVIF, el formato WebP disfruta de un amplísimo soporte entre navegadores como Chrome, Firefox y Safari.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAWebpLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Inserta tus archivos fotográficos',
|
|
42
|
+
text: 'Mueve y suelta todas las selecciones de formato AVIF hasta nuestro lienzo.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Traducción de Bytes Algorítmicos',
|
|
46
|
+
text: 'Nuestro motor asimila los algoritmos sin subir nada y crea iteraciones exactas basadas en WebP comprimido.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Acumula tus Descargas Listas',
|
|
50
|
+
text: 'Pulsa el panel y recibe lotes en cajas ZIP o sueltos para publicarlas directamente.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: AvifAWebpLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'AV1 Image File Format',
|
|
57
|
+
url: 'https://aomediacodec.github.io/av1-avif/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Google WebP Format Overview',
|
|
61
|
+
url: 'https://developers.google.com/speed/webp',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAWebpLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertidor AVIF a WebP Online Gratuito',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'La conversión de AVIF a WebP es una elección inteligente cuando necesitas ampliar la compatibilidad de tus imágenes sin sacrificar la eficiencia de compresión. Mientras que AVIF ofrece la mejor compresión posible, WebP tiene una compatibilidad mucho más amplia en navegadores, dispositivos y aplicaciones.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'WebP mantiene varias características que lo hacen superior al JPG para uso web: soporta el canal alfa para transparencias, puede usar compresión tanto con pérdida como sin pérdida, y tiene soporte universal en todos los navegadores modernos. Al convertir de AVIF a WebP, obtienes un archivo compatible con prácticamente todo el ecosistema web actual.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html:
|
|
83
|
+
'El proceso de conversión utiliza el soporte nativo de AVIF en navegadores modernos para decodificar el archivo en memoria. Después, el canvas API de HTML5 renderiza la imagen y la exporta como WebP. Todo el proceso ocurre localmente sin comunicación externa.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'tip',
|
|
87
|
+
html:
|
|
88
|
+
'Si gestionas imágenes para un sitio web y necesitas el mejor balance entre compatibilidad y rendimiento, WebP es la elección ideal. Convierte tus AVIF a WebP para servir imágenes web modernas con soporte universal.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'WebP tiene soporte en más del 96% de todos los navegadores web globalmente, mientras que AVIF ronda el 80-85%. Esta diferencia de compatibilidad hace que WebP sea más seguro para implementación en producción.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html:
|
|
98
|
+
'Convierte AVIF a WebP gratuitamente con soporte de transparencias y mejor compatibilidad web. Procesado localmente sin enviar datos a servidores externos.',
|
|
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: AvifAWebpLocaleContent = {
|
|
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 { AvifAWebpLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertisseur-avif-en-webp';
|
|
6
|
+
const title = 'Convertir AVIF en WebP en Ligne - Sécurité et Vitesse';
|
|
7
|
+
const description =
|
|
8
|
+
'Convertissez des images AVIF en WebP avec une meilleure compatibilité. Traitement local sans serveurs. Gratuit, privé et illimité.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Faites glisser des fichiers AVIF...',
|
|
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: AvifAWebpLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Quelle est la vraie différence entre convertir en WebP et d\'autres formats ?',
|
|
24
|
+
answer:
|
|
25
|
+
'WebP offre le meilleur des deux mondes : des compressions aussi impressionnantes que le JPG mais en conservant la capacité d\'héberger des transparences propres comme un PNG. Changer votre AVIF en WebP maximise la compatibilité web tout en préservant tous ses avantages.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Comment y parvenez-vous sans serveur et rapidement ?',
|
|
29
|
+
answer:
|
|
30
|
+
'Nous tirons parti des modules de décodage intégrés et de l\'objet Image HTML5 JavaScript, ce qui permet de lire votre AVIF en mémoire locale et d\'extraire un fichier WebP optimisé en un temps record.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Le format WebP est-il entièrement compatible aujourd\'hui ?',
|
|
34
|
+
answer:
|
|
35
|
+
'Contrairement à l\'AVIF naissant, le format WebP bénéficie d\'un très large support parmi les navigateurs comme Chrome, Firefox et Safari.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAWebpLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Insérez vos fichiers photo',
|
|
42
|
+
text: 'Déplacez et déposez toutes vos sélections au format AVIF sur notre canvas.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Traduction algorithmique d\'octets',
|
|
46
|
+
text: 'Notre moteur assimile les algorithmes sans rien télécharger et crée des itérations exactes basées sur WebP compressé.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Récupérez vos téléchargements prêts',
|
|
50
|
+
text: 'Cliquez sur le panneau et recevez des lots en boîtes ZIP ou des fichiers individuels à publier directement.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: AvifAWebpLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Format de fichier image AV1',
|
|
57
|
+
url: 'https://aomediacodec.github.io/av1-avif/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Aperçu du format Google WebP',
|
|
61
|
+
url: 'https://developers.google.com/speed/webp',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAWebpLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertisseur AVIF vers WebP en Ligne Gratuit',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'Convertir AVIF en WebP est un choix judicieux lorsque vous devez élargir la compatibilité de vos images sans sacrifier l\'efficacité de compression. Tandis qu\'AVIF offre la meilleure compression possible, WebP a une compatibilité bien plus large sur les navigateurs, appareils et applications.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'WebP maintient plusieurs caractéristiques qui le rendent supérieur au JPG pour le web : il supporte le canal alpha pour la transparence, peut utiliser à la fois la compression avec et sans perte, et bénéficie d\'un support universel dans tous les navigateurs modernes.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'tip',
|
|
82
|
+
html:
|
|
83
|
+
'Si vous gérez des images pour un site web et avez besoin du meilleur équilibre entre compatibilité et performances, WebP est le choix idéal. Convertissez vos AVIF en WebP pour servir des images web modernes avec un support universel.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html:
|
|
88
|
+
'WebP bénéficie d\'un support dans plus de 96% de tous les navigateurs web mondiaux, tandis qu\'AVIF est autour de 80-85%. Cette différence de compatibilité rend WebP plus sûr pour le déploiement en production.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Convertissez AVIF en WebP gratuitement avec support de transparence et meilleure compatibilité web. Traitement local sans envoi de données vers des serveurs externes.',
|
|
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: AvifAWebpLocaleContent = {
|
|
109
|
+
slug,
|
|
110
|
+
title,
|
|
111
|
+
description,
|
|
112
|
+
ui,
|
|
113
|
+
seo,
|
|
114
|
+
faq,
|
|
115
|
+
bibliography,
|
|
116
|
+
howTo,
|
|
117
|
+
schemas: [appSchema as any],
|
|
118
|
+
};
|