@jjlmoya/utils-audiovisual 1.7.0 → 1.8.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 +2 -1
- package/src/category/i18n/de.ts +198 -0
- package/src/category/i18n/id.ts +198 -0
- package/src/category/i18n/it.ts +198 -0
- package/src/category/i18n/ja.ts +198 -0
- package/src/category/i18n/ko.ts +198 -0
- package/src/category/i18n/nl.ts +198 -0
- package/src/category/i18n/pl.ts +198 -0
- package/src/category/i18n/pt.ts +198 -0
- package/src/category/i18n/ru.ts +198 -0
- package/src/category/i18n/sv.ts +198 -0
- package/src/category/i18n/tr.ts +198 -0
- package/src/category/i18n/zh.ts +198 -0
- package/src/category/index.ts +31 -3
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tool/chromaticLens/i18n/de.ts +246 -0
- package/src/tool/chromaticLens/i18n/id.ts +246 -0
- package/src/tool/chromaticLens/i18n/it.ts +246 -0
- package/src/tool/chromaticLens/i18n/ja.ts +246 -0
- package/src/tool/chromaticLens/i18n/ko.ts +246 -0
- package/src/tool/chromaticLens/i18n/nl.ts +246 -0
- package/src/tool/chromaticLens/i18n/pl.ts +246 -0
- package/src/tool/chromaticLens/i18n/pt.ts +246 -0
- package/src/tool/chromaticLens/i18n/ru.ts +246 -0
- package/src/tool/chromaticLens/i18n/sv.ts +246 -0
- package/src/tool/chromaticLens/i18n/tr.ts +246 -0
- package/src/tool/chromaticLens/i18n/zh.ts +246 -0
- package/src/tool/chromaticLens/index.ts +15 -7
- package/src/tool/collageMaker/i18n/de.ts +233 -0
- package/src/tool/collageMaker/i18n/id.ts +233 -0
- package/src/tool/collageMaker/i18n/it.ts +233 -0
- package/src/tool/collageMaker/i18n/ja.ts +233 -0
- package/src/tool/collageMaker/i18n/ko.ts +233 -0
- package/src/tool/collageMaker/i18n/nl.ts +233 -0
- package/src/tool/collageMaker/i18n/pl.ts +233 -0
- package/src/tool/collageMaker/i18n/pt.ts +233 -0
- package/src/tool/collageMaker/i18n/ru.ts +233 -0
- package/src/tool/collageMaker/i18n/sv.ts +233 -0
- package/src/tool/collageMaker/i18n/tr.ts +233 -0
- package/src/tool/collageMaker/i18n/zh.ts +233 -0
- package/src/tool/collageMaker/index.ts +15 -6
- package/src/tool/exifCleaner/i18n/de.ts +277 -0
- package/src/tool/exifCleaner/i18n/fr.ts +1 -1
- package/src/tool/exifCleaner/i18n/id.ts +277 -0
- package/src/tool/exifCleaner/i18n/it.ts +277 -0
- package/src/tool/exifCleaner/i18n/ja.ts +277 -0
- package/src/tool/exifCleaner/i18n/ko.ts +277 -0
- package/src/tool/exifCleaner/i18n/nl.ts +277 -0
- package/src/tool/exifCleaner/i18n/pl.ts +277 -0
- package/src/tool/exifCleaner/i18n/pt.ts +277 -0
- package/src/tool/exifCleaner/i18n/ru.ts +277 -0
- package/src/tool/exifCleaner/i18n/sv.ts +277 -0
- package/src/tool/exifCleaner/i18n/tr.ts +277 -0
- package/src/tool/exifCleaner/i18n/zh.ts +277 -0
- package/src/tool/exifCleaner/index.ts +16 -8
- package/src/tool/imageCompressor/i18n/de.ts +242 -0
- package/src/tool/imageCompressor/i18n/en.ts +1 -1
- package/src/tool/imageCompressor/i18n/es.ts +1 -1
- package/src/tool/imageCompressor/i18n/id.ts +242 -0
- package/src/tool/imageCompressor/i18n/it.ts +242 -0
- package/src/tool/imageCompressor/i18n/ja.ts +242 -0
- package/src/tool/imageCompressor/i18n/ko.ts +242 -0
- package/src/tool/imageCompressor/i18n/nl.ts +242 -0
- package/src/tool/imageCompressor/i18n/pl.ts +242 -0
- package/src/tool/imageCompressor/i18n/pt.ts +242 -0
- package/src/tool/imageCompressor/i18n/ru.ts +242 -0
- package/src/tool/imageCompressor/i18n/sv.ts +242 -0
- package/src/tool/imageCompressor/i18n/tr.ts +242 -0
- package/src/tool/imageCompressor/i18n/zh.ts +244 -0
- package/src/tool/imageCompressor/index.ts +15 -7
- package/src/tool/printQualityCalculator/i18n/de.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/fr.ts +1 -1
- package/src/tool/printQualityCalculator/i18n/id.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/it.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ja.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ko.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/nl.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/pl.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/pt.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ru.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/sv.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/tr.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/zh.ts +261 -0
- package/src/tool/printQualityCalculator/index.ts +15 -7
- package/src/tool/privacyBlur/i18n/de.ts +238 -0
- package/src/tool/privacyBlur/i18n/id.ts +238 -0
- package/src/tool/privacyBlur/i18n/it.ts +238 -0
- package/src/tool/privacyBlur/i18n/ja.ts +238 -0
- package/src/tool/privacyBlur/i18n/ko.ts +238 -0
- package/src/tool/privacyBlur/i18n/nl.ts +238 -0
- package/src/tool/privacyBlur/i18n/pl.ts +238 -0
- package/src/tool/privacyBlur/i18n/pt.ts +238 -0
- package/src/tool/privacyBlur/i18n/ru.ts +238 -0
- package/src/tool/privacyBlur/i18n/sv.ts +238 -0
- package/src/tool/privacyBlur/i18n/tr.ts +238 -0
- package/src/tool/privacyBlur/i18n/zh.ts +238 -0
- package/src/tool/privacyBlur/index.ts +15 -7
- package/src/tool/subtitleSync/i18n/de.ts +241 -0
- package/src/tool/subtitleSync/i18n/fr.ts +5 -5
- package/src/tool/subtitleSync/i18n/id.ts +241 -0
- package/src/tool/subtitleSync/i18n/it.ts +241 -0
- package/src/tool/subtitleSync/i18n/ja.ts +241 -0
- package/src/tool/subtitleSync/i18n/ko.ts +241 -0
- package/src/tool/subtitleSync/i18n/nl.ts +241 -0
- package/src/tool/subtitleSync/i18n/pl.ts +241 -0
- package/src/tool/subtitleSync/i18n/pt.ts +241 -0
- package/src/tool/subtitleSync/i18n/ru.ts +241 -0
- package/src/tool/subtitleSync/i18n/sv.ts +241 -0
- package/src/tool/subtitleSync/i18n/tr.ts +241 -0
- package/src/tool/subtitleSync/i18n/zh.ts +241 -0
- package/src/tool/subtitleSync/index.ts +15 -7
- package/src/tool/timelapseCalculator/i18n/de.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/fr.ts +2 -2
- package/src/tool/timelapseCalculator/i18n/id.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/it.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ja.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ko.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/nl.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/pl.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/pt.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ru.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/sv.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/tr.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/zh.ts +169 -0
- package/src/tool/timelapseCalculator/index.ts +16 -8
- package/src/tool/tvDistance/i18n/de.ts +223 -0
- package/src/tool/tvDistance/i18n/id.ts +223 -0
- package/src/tool/tvDistance/i18n/it.ts +223 -0
- package/src/tool/tvDistance/i18n/ja.ts +223 -0
- package/src/tool/tvDistance/i18n/ko.ts +223 -0
- package/src/tool/tvDistance/i18n/nl.ts +223 -0
- package/src/tool/tvDistance/i18n/pl.ts +223 -0
- package/src/tool/tvDistance/i18n/pt.ts +223 -0
- package/src/tool/tvDistance/i18n/ru.ts +223 -0
- package/src/tool/tvDistance/i18n/sv.ts +223 -0
- package/src/tool/tvDistance/i18n/tr.ts +223 -0
- package/src/tool/tvDistance/i18n/zh.ts +223 -0
- package/src/tool/tvDistance/index.ts +15 -7
- package/src/tool/videoFrameExtractor/i18n/de.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/id.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/it.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ja.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ko.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/nl.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/pl.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/pt.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ru.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/sv.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/tr.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/zh.ts +235 -0
- package/src/tool/videoFrameExtractor/index.ts +16 -8
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageCompressorUI, ImageCompressorLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'compressore-immagini-online-riduci-dimensioni-senza-perdita-qualita';
|
|
5
|
+
const title = 'Compressore Immagini Online: Riduci il peso senza perdere qualità';
|
|
6
|
+
const description = 'Ottimizza e comprimi le tue foto JPG, PNG e WebP gratuitamente. Riduci le dimensioni del file per migliorare la velocità di caricamento del tuo sito web localmente.';
|
|
7
|
+
|
|
8
|
+
const ui: ImageCompressorUI = {
|
|
9
|
+
dropTitle: "Ottimizza Immagini",
|
|
10
|
+
dropSubtitle: "Trascina le tue foto per ridurne il peso istantaneamente.",
|
|
11
|
+
settingsTitle: "Impostazioni di Compressione",
|
|
12
|
+
qualityLabel: "Qualità Visiva",
|
|
13
|
+
widthLabel: "Larghezza Massima (Pixel)",
|
|
14
|
+
convertToWebpLabel: "Converti in WebP",
|
|
15
|
+
compressionLabel: "Compressione",
|
|
16
|
+
compressBtn: "Comprimi Immagine",
|
|
17
|
+
processingLabel: "Elaborazione in corso...",
|
|
18
|
+
resultsTitle: "Immagini Ottimizzate",
|
|
19
|
+
originalSizeLabel: "Dimensione Originale",
|
|
20
|
+
newSizeLabel: "Nuova Dimensione",
|
|
21
|
+
reductionLabel: "Risparmio",
|
|
22
|
+
downloadBtn: "Scarica",
|
|
23
|
+
addMoreBtn: "Aggiungi altre",
|
|
24
|
+
browseFilesBtn: "Sfoglia file",
|
|
25
|
+
processedFilesTitle: "File Elaborati",
|
|
26
|
+
downloadAllBtn: "Scarica Tutto",
|
|
27
|
+
adjustThisImage: "Regola questa immagine",
|
|
28
|
+
downloadTitle: "Download",
|
|
29
|
+
maxWidthLabel: "Larghezza max (px)",
|
|
30
|
+
closeBtn: "Chiudi",
|
|
31
|
+
totalSavingsLabel: "Risparmio totale",
|
|
32
|
+
noSavings: "Nessun risparmio netto",
|
|
33
|
+
faqTitle: "Domande Frequenti",
|
|
34
|
+
bibliographyTitle: "Riferimenti"
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const faq: ImageCompressorLocaleContent['faq'] = [
|
|
38
|
+
{
|
|
39
|
+
question: "Come funziona la compressione senza perdita?",
|
|
40
|
+
answer: "Utilizziamo algoritmi che rimuovono i metadati non necessari e ottimizzano la codifica dei pixel. Scegliendo WebP, viene utilizzata una tecnologia di compressione più avanzata rispetto ai formati tradizionali.",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
question: "Le mie immagini vengono caricate su qualche server?",
|
|
44
|
+
answer: "No. Tutta l'elaborazione avviene al 100% nel tuo browser (Client-Side). Le tue foto non lasciano mai il tuo computer, garantendo la massima privacy.",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: "Perché dovrei convertire in WebP?",
|
|
48
|
+
answer: "WebP è il moderno formato standard per il web. Offre una qualità superiore a JPG e PNG con un peso inferiore fino al 30%, il che accelera il tempo di caricamento della pagina.",
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const howTo: ImageCompressorLocaleContent['howTo'] = [
|
|
53
|
+
{
|
|
54
|
+
name: "Carica l'immagine",
|
|
55
|
+
text: "Carica il file che desideri comprimere (JPG, PNG o WebP).",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: "Regola la qualità",
|
|
59
|
+
text: "Usa lo slider per trovare l'equilibrio perfetto tra dimensione del file e qualità visiva (consigliato: 75-85%).",
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "Ridimensiona (opzionale)",
|
|
63
|
+
text: "Se l'immagine è molto grande, puoi specificare una larghezza massima per ridurne la risoluzione.",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "Scarica il risultato",
|
|
67
|
+
text: "Premi il pulsante di download per ottenere la tua immagine ottimizzata pronta all'uso.",
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
|
|
71
|
+
const bibliography: ImageCompressorLocaleContent['bibliography'] = [
|
|
72
|
+
{
|
|
73
|
+
name: "WebP: Un formato immagine per il Web",
|
|
74
|
+
url: "https://developers.google.com/speed/webp",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: "L'importanza dell'ottimizzazione delle immagini per la SEO",
|
|
78
|
+
url: "https://developers.google.com/search/docs/appearance/google-images",
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
const seo: ImageCompressorLocaleContent['seo'] = [
|
|
83
|
+
{
|
|
84
|
+
type: 'summary',
|
|
85
|
+
title: 'Ottimizzazione Professionale Immagini Web',
|
|
86
|
+
items: [
|
|
87
|
+
'Compressione intelligente JPG, PNG e WebP',
|
|
88
|
+
'Riduci il peso del 50-80% mantenendo la qualità visiva',
|
|
89
|
+
'Elaborazione 100% locale - privacy garantita',
|
|
90
|
+
'Migliora i Core Web Vitals e il posizionamento SEO'
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{ type: 'title', text: 'Ottimizzazione Immagini: Velocità Web e Core Web Vitals', level: 2 },
|
|
94
|
+
{ type: 'paragraph', html: 'Nell\'era dell\'immediatezza digitale, un sito web lento perde utenti. Le immagini non ottimizzate rappresentano il 60-70% del peso totale di una pagina web. Ottimizzarle è il primo passo per migliorare le tue metriche Google (LCP, CLS) e il tuo posizionamento nei risultati di ricerca.' },
|
|
95
|
+
|
|
96
|
+
{ type: 'stats', items: [
|
|
97
|
+
{ value: '50-80%', label: 'Riduzione Peso Tipica', icon: 'mdi:trending-down' },
|
|
98
|
+
{ value: '100%', label: 'Privacy Locale', icon: 'mdi:lock' },
|
|
99
|
+
{ value: '+30%', label: 'Più veloce del JPG', icon: 'mdi:speedometer' }
|
|
100
|
+
], columns: 3 },
|
|
101
|
+
|
|
102
|
+
{ type: 'title', text: 'Spiegazione dei Formati di Compressione', level: 3 },
|
|
103
|
+
{ type: 'table', headers: ['Formato', 'Compressione', 'Casi d\'Uso', 'Compatibilità'], rows: [
|
|
104
|
+
['JPEG', 'Lossy 50-90%', 'Foto camera, contenuti editoriali', 'Universale (100%)'],
|
|
105
|
+
['PNG', 'Lossless 30-50%', 'Grafica, loghi, trasparenze', 'Universale (100%)'],
|
|
106
|
+
['WebP', 'Lossy/Lossless 25-35% in più', 'Web moderno, social network', '95% dei browser moderni'],
|
|
107
|
+
['AVIF', 'Lossy/Lossless miglioramento del 20%', 'Web di nuova generazione', 'Solo nuovi browser']
|
|
108
|
+
] },
|
|
109
|
+
|
|
110
|
+
{ type: 'card', title: 'Perché il WebP è il Futuro', html: 'Google ha sviluppato il WebP specificamente per il web. Offre una compressione superiore a JPEG e PNG, mantenendo o migliorando la qualità visiva. È più piccolo del 25-35% rispetto agli equivalenti JPEG. I browser moderni lo supportano al 95%.' },
|
|
111
|
+
|
|
112
|
+
{ type: 'title', text: 'Compressione Lossy vs Lossless', level: 3 },
|
|
113
|
+
{ type: 'comparative', items: [
|
|
114
|
+
{
|
|
115
|
+
title: 'Compressione Lossy',
|
|
116
|
+
description: 'JPG, WebP - Rimuove informazioni visive impercettibili',
|
|
117
|
+
icon: 'mdi:compress',
|
|
118
|
+
points: [
|
|
119
|
+
'Riduce del 70-90% il peso originale',
|
|
120
|
+
'Impercettibile all\'occhio umano se la qualità rimane >75%',
|
|
121
|
+
'Ideale per la fotografia realistica',
|
|
122
|
+
'Non consigliato per loghi o testi nitidi'
|
|
123
|
+
],
|
|
124
|
+
highlight: true
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: 'Compressione Lossless',
|
|
128
|
+
description: 'PNG, WebP lossless - Mantiene il 100% dei dati visivi',
|
|
129
|
+
icon: 'mdi:shield',
|
|
130
|
+
points: [
|
|
131
|
+
'Riduce del 20-50% il peso',
|
|
132
|
+
'Qualità perfetta, nessuna degradazione',
|
|
133
|
+
'Ideale per grafica, loghi, trasparenze',
|
|
134
|
+
'File più pesanti rispetto alla compressione Lossy'
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
], columns: 2 },
|
|
138
|
+
|
|
139
|
+
{ type: 'title', text: 'Impatto sulla SEO e sulla Conversione', level: 3 },
|
|
140
|
+
{ type: 'list', items: [
|
|
141
|
+
'<strong>Core Web Vitals:</strong> Google penalizza i siti lenti. Le immagini ottimizzate migliorano direttamente l\'LCP (Largest Contentful Paint).',
|
|
142
|
+
'<strong>Frequenza di Rimbalzo:</strong> Ogni secondo di ritardo = 7% di rimbalzo in più. Immagini più veloci = meno utenti che se ne vanno.',
|
|
143
|
+
'<strong>Posizionamento nella Ricerca:</strong> La velocità è un fattore di ranking. Ottimizzare le immagini aumenta il posizionamento.',
|
|
144
|
+
'<strong>Conversione:</strong> Tempi di caricamento più veloci = più conversioni. Gli studi mostrano +10% di conversione con l\'ottimizzazione.'
|
|
145
|
+
], icon: 'mdi:check' },
|
|
146
|
+
|
|
147
|
+
{ type: 'proscons', items: [
|
|
148
|
+
{
|
|
149
|
+
pro: 'Privacy totale: elaborazione 100% locale, nessun server cloud',
|
|
150
|
+
con: 'Richiede un browser con supporto Canvas API (è universale)'
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
pro: 'Il WebP è più piccolo del 25-35% rispetto al JPEG a parità di qualità',
|
|
154
|
+
con: 'Le vecchie versioni di Safari e IE non supportano il WebP (è disponibile il fallback)'
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
pro: 'Elaborazione istantanea di più immagini',
|
|
158
|
+
con: 'Le immagini molto grandi (>50MB) potrebbero richiedere un tempo di attesa'
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
pro: 'Ridimensionamento opzionale: riduce sia la risoluzione che la compressione',
|
|
162
|
+
con: 'Il ridimensionamento fa perdere informazioni - meglio ottimizzare la risoluzione alla fonte'
|
|
163
|
+
}
|
|
164
|
+
], proTitle: 'Vantaggi', conTitle: 'Limitazioni' },
|
|
165
|
+
|
|
166
|
+
{ type: 'diagnostic', variant: 'warning', title: 'Attenzione: La compressione eccessiva degrada', icon: 'mdi:alert', badge: 'Qualità', html: 'Mantieni la qualità >75% per la fotografia e >85% per i contenuti editoriali. Al di sotto, gli artefatti di compressione (macchie, banding) diventano visibili. Un\'immagine che sembra buona in miniatura può sembrare pessima ingrandita.' },
|
|
167
|
+
|
|
168
|
+
{ type: 'glossary', items: [
|
|
169
|
+
{
|
|
170
|
+
term: 'Compressione Lossy',
|
|
171
|
+
definition: 'Rimuove i dati visivi che l\'occhio umano percepisce come \"rumore\". Ideale per la fotografia. JPEG, WebP lossy, HEIC sono lossy.'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
term: 'Compressione Lossless',
|
|
175
|
+
definition: 'Riduce le dimensioni senza perdere informazioni visive. PNG e WebP lossless. Ideale per grafica, loghi, trasparenze.'
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
term: 'Core Web Vitals (Google)',
|
|
179
|
+
definition: 'Metriche dell\'esperienza utente: LCP (velocità di caricamento), FID (latenza di interazione), CLS (stabilità visiva). Influenzano il ranking SEO.'
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
term: 'WebP',
|
|
183
|
+
definition: 'Formato sviluppato da Google. 25-35% più piccolo del JPEG. Supportato dal 95% dei browser moderni (tutti tranne IE).'
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
term: 'Artefatti di Compressione',
|
|
187
|
+
definition: 'Difetti visivi causati da una compressione eccessiva: macchie, banding di colore, bordi sfocati. Impercettibili con qualità >75%.'
|
|
188
|
+
}
|
|
189
|
+
] },
|
|
190
|
+
|
|
191
|
+
{ type: 'message', title: 'Ottimizzazione Web Professionale', ariaLabel: 'Informazioni sull\'ottimizzazione delle immagini per la SEO', html: 'Non è vana estetica tecnica: comprimere le immagini è un investimento diretto nella user experience e nel ranking di Google. Ogni kilobyte conta sui dispositivi mobili. Il nostro strumento trasforma quello che prima richiedeva software professionali ($$$) in un processo gratuito di 3 clic.' },
|
|
192
|
+
|
|
193
|
+
{ type: 'title', text: 'Preparati per il Web Moderno', level: 3 },
|
|
194
|
+
{ type: 'paragraph', html: 'Usa la compressione intelligente e il formato WebP affinché la tua presenza online sia veloce, responsiva e competitiva nella ricerca. Qualità professionale, peso minimo, caricamento istantaneo.' }
|
|
195
|
+
];
|
|
196
|
+
|
|
197
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
198
|
+
'@context': 'https://schema.org',
|
|
199
|
+
'@type': 'FAQPage',
|
|
200
|
+
mainEntity: faq.map((item) => ({
|
|
201
|
+
'@type': 'Question',
|
|
202
|
+
name: item.question,
|
|
203
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
204
|
+
})),
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
const howToSchema: WithContext<HowTo> = {
|
|
208
|
+
'@context': 'https://schema.org',
|
|
209
|
+
'@type': 'HowTo',
|
|
210
|
+
name: title,
|
|
211
|
+
description,
|
|
212
|
+
step: howTo.map((step) => ({
|
|
213
|
+
'@type': 'HowToStep',
|
|
214
|
+
name: step.name,
|
|
215
|
+
text: step.text,
|
|
216
|
+
})),
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
220
|
+
'@context': 'https://schema.org',
|
|
221
|
+
'@type': 'SoftwareApplication',
|
|
222
|
+
name: title,
|
|
223
|
+
description,
|
|
224
|
+
applicationCategory: 'UtilitiesApplication',
|
|
225
|
+
operatingSystem: 'Web',
|
|
226
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
227
|
+
inLanguage: 'it',
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export const content: ImageCompressorLocaleContent = {
|
|
231
|
+
slug,
|
|
232
|
+
title,
|
|
233
|
+
description,
|
|
234
|
+
ui,
|
|
235
|
+
seo,
|
|
236
|
+
faqTitle: "Domande Frequenti",
|
|
237
|
+
faq,
|
|
238
|
+
bibliographyTitle: "Riferimenti",
|
|
239
|
+
bibliography,
|
|
240
|
+
howTo,
|
|
241
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
242
|
+
};
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageCompressorUI, ImageCompressorLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'online-image-compressor-reduce-file-size-no-quality-loss';
|
|
5
|
+
const title = 'オンライン画像圧縮ツール:画質を落とさずにファイルサイズを削減';
|
|
6
|
+
const description = 'JPG、PNG、WebP形式の写真を無料で最適化および圧縮。ファイルサイズを削減して、ウェブサイトの読み込み速度をローカルで向上させます。';
|
|
7
|
+
|
|
8
|
+
const ui: ImageCompressorUI = {
|
|
9
|
+
dropTitle: "画像を最適化",
|
|
10
|
+
dropSubtitle: "写真をドラッグして、瞬時にファイルサイズを削減します。",
|
|
11
|
+
settingsTitle: "圧縮設定",
|
|
12
|
+
qualityLabel: "視覚的画質",
|
|
13
|
+
widthLabel: "最大幅(ピクセル)",
|
|
14
|
+
convertToWebpLabel: "WebPに変換",
|
|
15
|
+
compressionLabel: "圧縮",
|
|
16
|
+
compressBtn: "画像を圧縮",
|
|
17
|
+
processingLabel: "処理中...",
|
|
18
|
+
resultsTitle: "最適化された画像",
|
|
19
|
+
originalSizeLabel: "元のサイズ",
|
|
20
|
+
newSizeLabel: "新しいサイズ",
|
|
21
|
+
reductionLabel: "削減量",
|
|
22
|
+
downloadBtn: "ダウンロード",
|
|
23
|
+
addMoreBtn: "さらに追加",
|
|
24
|
+
browseFilesBtn: "ファイルを選択",
|
|
25
|
+
processedFilesTitle: "処理済みファイル",
|
|
26
|
+
downloadAllBtn: "一括ダウンロード",
|
|
27
|
+
adjustThisImage: "この画像を調整",
|
|
28
|
+
downloadTitle: "ダウンロード",
|
|
29
|
+
maxWidthLabel: "最大幅 (px)",
|
|
30
|
+
closeBtn: "閉じる",
|
|
31
|
+
totalSavingsLabel: "合計削減量",
|
|
32
|
+
noSavings: "削減なし",
|
|
33
|
+
faqTitle: "よくある質問",
|
|
34
|
+
bibliographyTitle: "リファレンス"
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const faq: ImageCompressorLocaleContent['faq'] = [
|
|
38
|
+
{
|
|
39
|
+
question: "ロスレス(無劣化)圧縮はどのように機能しますか?",
|
|
40
|
+
answer: "不要なメタデータを削除し、ピクセルエンコーディングを最適化するアルゴリズムを使用しています。WebPを選択すると、従来の形式よりも高度な圧縮技術が使用されます。",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
question: "画像はサーバーにアップロードされますか?",
|
|
44
|
+
answer: "いいえ。すべての処理はブラウザ内で100%行われます(クライアントサイド)。写真はコンピュータの外に出ることはなく、絶対的なプライバシーが保証されます。",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: "なぜWebPに変換すべきなのですか?",
|
|
48
|
+
answer: "WebPはウェブの現代的な標準形式です。JPGやPNGよりも優れた画質を保ちながら、ファイルサイズを最大30%削減でき、ページの読み込み速度を向上させます。",
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const howTo: ImageCompressorLocaleContent['howTo'] = [
|
|
53
|
+
{
|
|
54
|
+
name: "画像をアップロード",
|
|
55
|
+
text: "圧縮したいファイル(JPG、PNG、またはWebP)をアップロードします。",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: "画質を調整",
|
|
59
|
+
text: "スライダーを使用して、ファイルサイズと視覚的画質の完璧なバランスを見つけます(推奨:75〜85%)。",
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "リサイズ(任意)",
|
|
63
|
+
text: "画像が非常に大きい場合は、最大幅を指定して解像度を下げることができます。",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "結果をダウンロード",
|
|
67
|
+
text: "ダウンロードボタンを押して、最適化された画像を取得し、すぐに使用できるようにします。",
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
|
|
71
|
+
const bibliography: ImageCompressorLocaleContent['bibliography'] = [
|
|
72
|
+
{
|
|
73
|
+
name: "WebP: ウェブ用の画像形式",
|
|
74
|
+
url: "https://developers.google.com/speed/webp",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: "SEOにおける画像最適化の重要性",
|
|
78
|
+
url: "https://developers.google.com/search/docs/appearance/google-images",
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
const seo: ImageCompressorLocaleContent['seo'] = [
|
|
83
|
+
{
|
|
84
|
+
type: 'summary',
|
|
85
|
+
title: 'プロフェッショナルなウェブ画像最適化',
|
|
86
|
+
items: [
|
|
87
|
+
'高度なJPG、PNG、WebP圧縮',
|
|
88
|
+
'視覚的画質を維持しつつ、サイズを50〜80%削減',
|
|
89
|
+
'100%ローカル処理 - プライバシーを保証',
|
|
90
|
+
'Core Web VitalsとSEO順位の向上'
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{ type: 'title', text: '画像最適化:ウェブ速度とCore Web Vitals', level: 2 },
|
|
94
|
+
{ type: 'paragraph', html: 'デジタル環境において、遅いウェブサイトはユーザーを失います。最適化されていない画像は、ウェブページの総容量の60〜70%を占めます。画像の最適化は、Googleの指標(LCP、CLS)と検索結果の順位を向上させるための第一歩です。' },
|
|
95
|
+
|
|
96
|
+
{ type: 'stats', items: [
|
|
97
|
+
{ value: '50-80%', label: '一般的な削減量', icon: 'mdi:trending-down' },
|
|
98
|
+
{ value: '100%', label: 'ローカルプライバシー', icon: 'mdi:lock' },
|
|
99
|
+
{ value: '+30%', label: 'JPGより高速', icon: 'mdi:speedometer' }
|
|
100
|
+
], columns: 3 },
|
|
101
|
+
|
|
102
|
+
{ type: 'title', text: '圧縮形式の解説', level: 3 },
|
|
103
|
+
{ type: 'table', headers: ['形式', '圧縮方法', '用途', '互換性'], rows: [
|
|
104
|
+
['JPEG', '非可逆 50-90%', '写真、編集コンテンツ', 'ユニバーサル (100%)'],
|
|
105
|
+
['PNG', '可逆 30-50%', 'グラフィックス、ロゴ、透過画像', 'ユニバーサル (100%)'],
|
|
106
|
+
['WebP', '非可逆/可逆 さらに25-35%削減', '現代のウェブ、SNS', '95%の現代のブラウザ'],
|
|
107
|
+
['AVIF', '非可逆/可逆 さらに20%向上', '次世代ウェブ', '最新ブラウザのみ']
|
|
108
|
+
] },
|
|
109
|
+
|
|
110
|
+
{ type: 'card', title: 'WebPが未来である理由', html: 'Googleはウェブ向けにWebPを開発しました。JPEGやPNGよりも優れた圧縮を提供しつつ、視覚的画質を維持または向上させます。同等のJPEGよりも25〜35%軽量です。現代のブラウザの95%が対応しています。' },
|
|
111
|
+
|
|
112
|
+
{ type: 'title', text: '非可逆圧縮 vs 可逆圧縮', level: 3 },
|
|
113
|
+
{ type: 'comparative', items: [
|
|
114
|
+
{
|
|
115
|
+
title: '非可逆圧縮 (Lossy)',
|
|
116
|
+
description: 'JPG, WebP - 人の目には見えない視覚情報を削除',
|
|
117
|
+
icon: 'mdi:compress',
|
|
118
|
+
points: [
|
|
119
|
+
'元のサイズの70〜90%を削減',
|
|
120
|
+
'画質が75%以上に保たれていれば、人の目には判別不能',
|
|
121
|
+
'実写写真に最適',
|
|
122
|
+
'ロゴや鮮明なテキストには不向き'
|
|
123
|
+
],
|
|
124
|
+
highlight: true
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: '可逆圧縮 (Lossless)',
|
|
128
|
+
description: 'PNG, WebPロスレス - 100%の視覚データを維持',
|
|
129
|
+
icon: 'mdi:shield',
|
|
130
|
+
points: [
|
|
131
|
+
'サイズを20〜50%削減',
|
|
132
|
+
'劣化のない完璧な画質',
|
|
133
|
+
'グラフィックス、ロゴ、透過画像に最適',
|
|
134
|
+
'非可逆圧縮よりもファイルサイズは大きくなる'
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
], columns: 2 },
|
|
138
|
+
|
|
139
|
+
{ type: 'title', text: 'SEOとコンバージョンへの影響', level: 3 },
|
|
140
|
+
{ type: 'list', items: [
|
|
141
|
+
'<strong>Core Web Vitals:</strong> Googleは遅いサイトを評価しません。最適化された画像はLCP(Largest Contentful Paint)を直接改善します。',
|
|
142
|
+
'<strong>直帰率:</strong> 1秒の遅延で直帰率が7%増加します。高速な画像表示はユーザー離脱を防ぎます。',
|
|
143
|
+
'<strong>検索順位:</strong> 速度はランキング要因です。画像最適化はSEO順位を押し上げます。',
|
|
144
|
+
'<strong>コンバージョン:</strong> 読み込みが速いほど、コンバージョン率は向上します。最適化によりコンバージョンが10%向上するという研究結果もあります。'
|
|
145
|
+
], icon: 'mdi:check' },
|
|
146
|
+
|
|
147
|
+
{ type: 'proscons', items: [
|
|
148
|
+
{
|
|
149
|
+
pro: '完全なプライバシー:サーバー不要の100%ローカル処理',
|
|
150
|
+
con: 'Canvas APIをサポートするブラウザが必要(主要ブラウザはすべて対応)'
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
pro: 'WebPは同じ画質でもJPEGより25〜35%軽量',
|
|
154
|
+
con: '古いSafariやIEはWebP非対応(代替手段あり)'
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
pro: '複数画像の即時処理',
|
|
158
|
+
con: '非常に大きな画像(50MB以上)は処理に時間がかかる場合があります'
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
pro: '任意のリサイズ機能:圧縮に加えて解像度の縮小も可能',
|
|
162
|
+
con: 'リサイズは情報を失います - 元の解像度で最適化するのがベストです'
|
|
163
|
+
}
|
|
164
|
+
], proTitle: 'メリット', conTitle: '制限事項' },
|
|
165
|
+
|
|
166
|
+
{ type: 'diagnostic', variant: 'warning', title: '注意:過度な圧縮は画質を損なう', icon: 'mdi:alert', badge: '画質', html: '写真は75%以上、文字を含む画像は85%以上の画質を維持してください。それ以下になると、圧縮ノイズ(ブロックノイズや色にじみ)が目立つようになります。サムネイルで綺麗に見えても、拡大すると劣化している場合があります。' },
|
|
167
|
+
|
|
168
|
+
{ type: 'glossary', items: [
|
|
169
|
+
{
|
|
170
|
+
term: '非可逆圧縮 (Lossy)',
|
|
171
|
+
definition: '人の目が「ノイズ」として認識する視覚データを取り除きます。写真に最適です。JPEGやWebPの非可逆モードが該当します。'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
term: '可逆圧縮 (Lossless)',
|
|
175
|
+
definition: '視覚情報を一切失わずにサイズを削減します。PNGやWebPのロスレスモードが該当します。ロゴや図解に最適です。'
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
term: 'Core Web Vitals (Google)',
|
|
179
|
+
definition: 'ユーザー体験を測る指標。LCP(読み込み速度)、FID(応答性)、CLS(視覚的安定性)があり、SEOに影響します。'
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
term: 'WebP',
|
|
183
|
+
definition: 'Googleが開発した次世代画像形式。JPEGより25〜35%軽量。IE以外の主要な現代ブラウザでサポートされています。'
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
term: '圧縮ノイズ (Artifacts)',
|
|
187
|
+
definition: '過度な圧縮によって生じる画像の乱れ(斑点、色の縞模様、輪郭のボケ)。画質75%以上ではほとんど目立ちません。'
|
|
188
|
+
}
|
|
189
|
+
] },
|
|
190
|
+
|
|
191
|
+
{ type: 'message', title: 'プロフェッショナルなウェブ最適化', ariaLabel: 'SEOのための画像最適化に関する情報', html: '画像圧縮は単なる技術的なこだわりではなく、ユーザー体験とGoogle順位への直接的な投資です。モバイルでは数キロバイトの差が重要になります。かつては高価なプロ用ソフトを必要とした処理が、このツールによりわずか3クリックで無料で行えます。' },
|
|
192
|
+
|
|
193
|
+
{ type: 'title', text: '現代のウェブ環境への対応', level: 3 },
|
|
194
|
+
{ type: 'paragraph', html: '高度な圧縮技術とWebP形式を活用して、高速でレスポンシブな、検索に強いサイトを実現しましょう。プロ仕様の品質を保ち、最小限の容量で、瞬時に読み込まれる体験を。' }
|
|
195
|
+
];
|
|
196
|
+
|
|
197
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
198
|
+
'@context': 'https://schema.org',
|
|
199
|
+
'@type': 'FAQPage',
|
|
200
|
+
mainEntity: faq.map((item) => ({
|
|
201
|
+
'@type': 'Question',
|
|
202
|
+
name: item.question,
|
|
203
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
204
|
+
})),
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
const howToSchema: WithContext<HowTo> = {
|
|
208
|
+
'@context': 'https://schema.org',
|
|
209
|
+
'@type': 'HowTo',
|
|
210
|
+
name: title,
|
|
211
|
+
description,
|
|
212
|
+
step: howTo.map((step) => ({
|
|
213
|
+
'@type': 'HowToStep',
|
|
214
|
+
name: step.name,
|
|
215
|
+
text: step.text,
|
|
216
|
+
})),
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
220
|
+
'@context': 'https://schema.org',
|
|
221
|
+
'@type': 'SoftwareApplication',
|
|
222
|
+
name: title,
|
|
223
|
+
description,
|
|
224
|
+
applicationCategory: 'UtilitiesApplication',
|
|
225
|
+
operatingSystem: 'Web',
|
|
226
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
227
|
+
inLanguage: 'ja',
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export const content: ImageCompressorLocaleContent = {
|
|
231
|
+
slug,
|
|
232
|
+
title,
|
|
233
|
+
description,
|
|
234
|
+
ui,
|
|
235
|
+
seo,
|
|
236
|
+
faqTitle: "よくある質問",
|
|
237
|
+
faq,
|
|
238
|
+
bibliographyTitle: "リファレンス",
|
|
239
|
+
bibliography,
|
|
240
|
+
howTo,
|
|
241
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
242
|
+
};
|