@jjlmoya/utils-audiovisual 1.6.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 +59 -58
- package/src/category/i18n/de.ts +198 -0
- package/src/category/i18n/fr.ts +1 -1
- 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/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/chromaticLens/i18n/de.ts +246 -0
- package/src/tool/chromaticLens/i18n/en.ts +1 -1
- package/src/tool/chromaticLens/i18n/es.ts +1 -1
- package/src/tool/chromaticLens/i18n/fr.ts +1 -1
- 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/en.ts +1 -1
- package/src/tool/collageMaker/i18n/es.ts +1 -1
- package/src/tool/collageMaker/i18n/fr.ts +1 -1
- 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/en.ts +2 -2
- package/src/tool/exifCleaner/i18n/es.ts +2 -2
- package/src/tool/exifCleaner/i18n/fr.ts +4 -4
- 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 +2 -2
- package/src/tool/imageCompressor/i18n/es.ts +2 -2
- 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/en.ts +2 -2
- package/src/tool/printQualityCalculator/i18n/es.ts +3 -3
- package/src/tool/printQualityCalculator/i18n/fr.ts +3 -3
- 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/en.ts +1 -1
- package/src/tool/privacyBlur/i18n/es.ts +1 -1
- package/src/tool/privacyBlur/i18n/fr.ts +1 -1
- 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/en.ts +1 -1
- package/src/tool/subtitleSync/i18n/es.ts +1 -1
- package/src/tool/subtitleSync/i18n/fr.ts +8 -8
- 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/en.ts +1 -1
- package/src/tool/tvDistance/i18n/es.ts +1 -1
- package/src/tool/tvDistance/i18n/fr.ts +1 -1
- 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/en.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/es.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/fr.ts +1 -1
- 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 = 'online-image-compressor-minska-filstorlek-utan-kvalitetsforlust';
|
|
5
|
+
const title = 'Online Bildkompressor: Minska vikten utan att förlora kvalitet';
|
|
6
|
+
const description = 'Optimera och komprimera dina JPG-, PNG- och WebP-foton gratis. Minska filstorleken för att förbättra din webbladdningshastighet lokalt.';
|
|
7
|
+
|
|
8
|
+
const ui: ImageCompressorUI = {
|
|
9
|
+
dropTitle: "Optimera Bilder",
|
|
10
|
+
dropSubtitle: "Dra dina foton hit för att minska deras vikt omedelbart.",
|
|
11
|
+
settingsTitle: "Komprimeringsinställningar",
|
|
12
|
+
qualityLabel: "Visuell Kvalitet",
|
|
13
|
+
widthLabel: "Maximal Bredd (Pixlar)",
|
|
14
|
+
convertToWebpLabel: "Konvertera till WebP",
|
|
15
|
+
compressionLabel: "Komprimering",
|
|
16
|
+
compressBtn: "Komprimera Bild",
|
|
17
|
+
processingLabel: "Bearbetar...",
|
|
18
|
+
resultsTitle: "Optimerade Bilder",
|
|
19
|
+
originalSizeLabel: "Ursprunglig Storlek",
|
|
20
|
+
newSizeLabel: "Ny Storlek",
|
|
21
|
+
reductionLabel: "Besparing",
|
|
22
|
+
downloadBtn: "Ladda ner",
|
|
23
|
+
addMoreBtn: "Lägg till fler",
|
|
24
|
+
browseFilesBtn: "Bläddra bland filer",
|
|
25
|
+
processedFilesTitle: "Bearbetade Filer",
|
|
26
|
+
downloadAllBtn: "Ladda ner alla",
|
|
27
|
+
adjustThisImage: "Justera denna bild",
|
|
28
|
+
downloadTitle: "Ladda ner",
|
|
29
|
+
maxWidthLabel: "Max bredd (px)",
|
|
30
|
+
closeBtn: "Stäng",
|
|
31
|
+
totalSavingsLabel: "Total besparing",
|
|
32
|
+
noSavings: "Ingen nettobesparing",
|
|
33
|
+
faqTitle: "Vanliga Frågor",
|
|
34
|
+
bibliographyTitle: "Referenser"
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const faq: ImageCompressorLocaleContent['faq'] = [
|
|
38
|
+
{
|
|
39
|
+
question: "Hur fungerar förlustfri komprimering?",
|
|
40
|
+
answer: "Vi använder algoritmer som tar bort onödiga metadata och optimerar pixelkodning. När du väljer WebP används en mer avancerad komprimeringsteknik än i traditionella format.",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
question: "Laddas mina bilder upp till någon server?",
|
|
44
|
+
answer: "Nej. All bearbetning sker 100% i din webbläsare (Client-Side). Dina foton lämnar aldrig din enhet, vilket garanterar absolut integritet.",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: "Varför ska jag konvertera till WebP?",
|
|
48
|
+
answer: "WebP är det moderna standardformatet för webben. Det erbjuder överlägsen kvalitet jämfört med JPG och PNG med en vikt som är upp till 30% mindre, vilket snabbar upp sidladdningstiden.",
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const howTo: ImageCompressorLocaleContent['howTo'] = [
|
|
53
|
+
{
|
|
54
|
+
name: "Ladda upp bilden",
|
|
55
|
+
text: "Ladda upp filen du vill komprimera (JPG, PNG eller WebP).",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: "Justera kvaliteten",
|
|
59
|
+
text: "Använd skjutreglaget för att hitta den perfekta balansen mellan filstorlek och visuell kvalitet (rekommenderas: 75 85%).",
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "Ändra storlek (valfritt)",
|
|
63
|
+
text: "Om bilden är mycket stor kan du ange en maximal bredd för att minska dess upplösning.",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "Ladda ner resultatet",
|
|
67
|
+
text: "Tryck på nedladdningsknappen för att få din optimerade bild redo att användas.",
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
|
|
71
|
+
const bibliography: ImageCompressorLocaleContent['bibliography'] = [
|
|
72
|
+
{
|
|
73
|
+
name: "WebP: Ett bildformat för webben",
|
|
74
|
+
url: "https://developers.google.com/speed/webp",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: "Betydelsen av bildoptimering för 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: 'Professionell Webbaldbildoptimering',
|
|
86
|
+
items: [
|
|
87
|
+
'Intelligent JPG-, PNG- och WebP-komprimering',
|
|
88
|
+
'Minska vikten med 50-80% med bibehållen visuell kvalitet',
|
|
89
|
+
'100% lokal bearbetning - integritet garanterad',
|
|
90
|
+
'Förbättra Core Web Vitals och SEO-positionering'
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{ type: 'title', text: 'Bildoptimering: Webbhastighet och Core Web Vitals', level: 2 },
|
|
94
|
+
{ type: 'paragraph', html: 'I den digitala omedelbarhetens era förlorar en långsam webbplats användare. Ooptimerade bilder representerar 60-70% av den totala vikten på en webbsida. Att optimera dem är det första steget för att förbättra dina Google-mått (LCP, CLS) och din positionering i sökresultaten.' },
|
|
95
|
+
|
|
96
|
+
{ type: 'stats', items: [
|
|
97
|
+
{ value: '50-80%', label: 'Typisk Viktminskning', icon: 'mdi:trending-down' },
|
|
98
|
+
{ value: '100%', label: 'Lokal Integritet', icon: 'mdi:lock' },
|
|
99
|
+
{ value: '+30%', label: 'Snabbare än JPG', icon: 'mdi:speedometer' }
|
|
100
|
+
], columns: 3 },
|
|
101
|
+
|
|
102
|
+
{ type: 'title', text: 'Komprimeringsformat Förklaras', level: 3 },
|
|
103
|
+
{ type: 'table', headers: ['Format', 'Komprimering', 'Användningsfall', 'Kompatibilitet'], rows: [
|
|
104
|
+
['JPEG', 'Lossy 50-90%', 'Kamerafoton, redaktionellt innehåll', 'Universell (100%)'],
|
|
105
|
+
['PNG', 'Lossless 30-50%', 'Grafik, logotyper, transparens', 'Universell (100%)'],
|
|
106
|
+
['WebP', 'Lossy/Lossless 25-35% mer', 'Modern webb, sociala nätverk', '95% moderna webbläsare'],
|
|
107
|
+
['AVIF', 'Lossy/Lossless 20% förbättring', 'Nästa generations webb', 'Endast nya webbläsare']
|
|
108
|
+
] },
|
|
109
|
+
|
|
110
|
+
{ type: 'card', title: 'Varför WebP är Framtiden', html: 'Google utvecklade WebP specifikt för webben. Det erbjuder överlägsen komprimering jämfört med JPEG och PNG, med bibehållen eller förbättrad visuell kvalitet. Det är 25-35% mindre än motsvarande JPEG-bilder. Moderna webbläsare stöder det till 95%.' },
|
|
111
|
+
|
|
112
|
+
{ type: 'title', text: 'Lossy vs Lossless Komprimering', level: 3 },
|
|
113
|
+
{ type: 'comparative', items: [
|
|
114
|
+
{
|
|
115
|
+
title: 'Lossy Komprimering',
|
|
116
|
+
description: 'JPG, WebP - Tar bort omärklig visuell information',
|
|
117
|
+
icon: 'mdi:compress',
|
|
118
|
+
points: [
|
|
119
|
+
'Minskar 70-90% av ursprunglig vikt',
|
|
120
|
+
'Omärkligt för det mänskliga ögat om kvaliteten behålls >75%',
|
|
121
|
+
'Idealisk för realistisk fotografering',
|
|
122
|
+
'Rekommenderas inte för logotyper eller skarp text'
|
|
123
|
+
],
|
|
124
|
+
highlight: true
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: 'Lossless Komprimering',
|
|
128
|
+
description: 'PNG, WebP lossless - Behåller 100% visuell data',
|
|
129
|
+
icon: 'mdi:shield',
|
|
130
|
+
points: [
|
|
131
|
+
'Minskar 20-50% av vikten',
|
|
132
|
+
'Perfekt kvalitet, ingen försämring',
|
|
133
|
+
'Idealisk för grafik, logotyper, transparens',
|
|
134
|
+
'Tyngre filer än med Lossy'
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
], columns: 2 },
|
|
138
|
+
|
|
139
|
+
{ type: 'title', text: 'Inverkan på SEO och Konvertering', level: 3 },
|
|
140
|
+
{ type: 'list', items: [
|
|
141
|
+
'<strong>Core Web Vitals:</strong> Google straffar långsamma webbplatser. Optimerade bilder förbättrar LCP (Largest Contentful Paint) direkt.',
|
|
142
|
+
'<strong>Avvisningsfrekvens:</strong> Varje sekund av fördröjning = 7% högre avvisning. Snabbare bilder = färre användare som lämnar.',
|
|
143
|
+
'<strong>Sökranking:</strong> Hastighet är en rankingfaktor. Optimering av bilder boostar positioneringen.',
|
|
144
|
+
'<strong>Konvertering:</strong> Snabbare laddningstider = fler konverteringar. Studier visar +10% konvertering med optimering.'
|
|
145
|
+
], icon: 'mdi:check' },
|
|
146
|
+
|
|
147
|
+
{ type: 'proscons', items: [
|
|
148
|
+
{
|
|
149
|
+
pro: 'Total integritet: 100% lokal bearbetning, inga molnservrar',
|
|
150
|
+
con: 'Kräver webbläsare med stöd för Canvas API (det är universellt)'
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
pro: 'WebP är 25-35% mindre än JPEG med samma kvalitet',
|
|
154
|
+
con: 'Gamla Safari och IE stöder inte WebP (fallback finns tillgänglig)'
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
pro: 'Omedelbar bearbetning av flera bilder',
|
|
158
|
+
con: 'Mycket stora bilder (>50MB) kan kräva väntetid'
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
pro: 'Valfri ändring av storlek: minskar upplösning såväl som komprimering',
|
|
162
|
+
con: 'Ändring av storlek förlorar information - bättre att optimera upplösningen vid källan'
|
|
163
|
+
}
|
|
164
|
+
], proTitle: 'Fördelar', conTitle: 'Begränsningar' },
|
|
165
|
+
|
|
166
|
+
{ type: 'diagnostic', variant: 'warning', title: 'Varning: Överdriven komprimering försämrar kvaliteten', icon: 'mdi:alert', badge: 'Kvalitet', html: 'Behåll kvaliteten >75% för fotografering och >85% för redaktionellt innehåll. Därunder blir komprimeringsartefakter (fläckar, bandning) synliga. En bild som ser bra ut i miniatyr kan se dålig ut i stort format.' },
|
|
167
|
+
|
|
168
|
+
{ type: 'glossary', items: [
|
|
169
|
+
{
|
|
170
|
+
term: 'Lossy Komprimering',
|
|
171
|
+
definition: 'Tar bort visuella data som det mänskliga ögat uppfattar som \"brus\". Idealisk för fotografering. JPEG, lossy WebP, HEIC är lossy.'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
term: 'Lossless Komprimering',
|
|
175
|
+
definition: 'Minskar storleken utan att förlora visuell information. PNG och lossless WebP. Idealisk för grafik, logotyper, transparens.'
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
term: 'Core Web Vitals (Google)',
|
|
179
|
+
definition: 'Mätvärden för användarupplevelse: LCP (laddningshastighet), FID (interaktionslatens), CLS (visuell stabilitet). Påverkar SEO-ranking.'
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
term: 'WebP',
|
|
183
|
+
definition: 'Format utvecklat av Google. 25-35% mindre än JPEG. Stöds av 95% av moderna webbläsare (alla utom IE).'
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
term: 'Komprimeringsartefakter',
|
|
187
|
+
definition: 'Visuella defekter orsakade av överdriven komprimering: fläckar, färgbandning, suddiga kanter. Omärkligt vid >75% kvalitet.'
|
|
188
|
+
}
|
|
189
|
+
] },
|
|
190
|
+
|
|
191
|
+
{ type: 'message', title: 'Professionell Webboptimering', ariaLabel: 'Information om bildoptimering för SEO', html: 'Det är inte teknisk fåfänga: att komprimera bilder är en direkt investering i användarupplevelse och ranking i Google. Varje kilobyte räknas på mobilen. Vårt verktyg förvandlar det som tidigare krävde professionell programvara ($$$) till en gratis process på 3 klick.' },
|
|
192
|
+
|
|
193
|
+
{ type: 'title', text: 'Förberedd för den Moderna Webben', level: 3 },
|
|
194
|
+
{ type: 'paragraph', html: 'Använd intelligent komprimering och WebP-format så att din online-närvaro är snabb, responsiv och konkurrenskraftig i sökningar. Professionell kvalitet, minimal vikt, omedelbar laddning.' }
|
|
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: 'sv',
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export const content: ImageCompressorLocaleContent = {
|
|
231
|
+
slug,
|
|
232
|
+
title,
|
|
233
|
+
description,
|
|
234
|
+
ui,
|
|
235
|
+
seo,
|
|
236
|
+
faqTitle: "Vanliga Frågor",
|
|
237
|
+
faq,
|
|
238
|
+
bibliographyTitle: "Referenser",
|
|
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-gorsel-kompresor-kalite-kaybi-olmadan-dosya-boyutunu-dusur';
|
|
5
|
+
const title = 'Online Görsel Kompresör: Kalite kaybı olmadan boyutu düşürün';
|
|
6
|
+
const description = 'JPG, PNG ve WebP fotoğraflarınızı ücretsiz olarak optimize edin ve sıkıştırın. Web yükleme hızınızı yerel olarak artırmak için dosya boyutunu küçültün.';
|
|
7
|
+
|
|
8
|
+
const ui: ImageCompressorUI = {
|
|
9
|
+
dropTitle: "Görsel Optimizasyonu",
|
|
10
|
+
dropSubtitle: "Boyutlarını anında düşürmek için fotoğraflarınızı sürükleyin.",
|
|
11
|
+
settingsTitle: "Sıkıştırma Ayarları",
|
|
12
|
+
qualityLabel: "Görsel Kalite",
|
|
13
|
+
widthLabel: "Maksimum Genişlik (Piksel)",
|
|
14
|
+
convertToWebpLabel: "WebP\'ye Dönüştür",
|
|
15
|
+
compressionLabel: "Sıkıştırma",
|
|
16
|
+
compressBtn: "Görseli Sıkıştır",
|
|
17
|
+
processingLabel: "İşleniyor...",
|
|
18
|
+
resultsTitle: "Optimize Edilmiş Görseller",
|
|
19
|
+
originalSizeLabel: "Orijinal Boyut",
|
|
20
|
+
newSizeLabel: "Yeni Boyut",
|
|
21
|
+
reductionLabel: "Tasarruf",
|
|
22
|
+
downloadBtn: "İndir",
|
|
23
|
+
addMoreBtn: "Daha fazla ekle",
|
|
24
|
+
browseFilesBtn: "Dosyalara göz at",
|
|
25
|
+
processedFilesTitle: "İşlenen Dosyalar",
|
|
26
|
+
downloadAllBtn: "Hepsini İndir",
|
|
27
|
+
adjustThisImage: "Bu görseli ayarla",
|
|
28
|
+
downloadTitle: "İndir",
|
|
29
|
+
maxWidthLabel: "Maks genişlik (px)",
|
|
30
|
+
closeBtn: "Kapat",
|
|
31
|
+
totalSavingsLabel: "Toplam tasarruf",
|
|
32
|
+
noSavings: "Net tasarruf yok",
|
|
33
|
+
faqTitle: "Sıkça Sorulan Sorular",
|
|
34
|
+
bibliographyTitle: "Referanslar"
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const faq: ImageCompressorLocaleContent['faq'] = [
|
|
38
|
+
{
|
|
39
|
+
question: "Kayıpsız sıkıştırma nasıl çalışır?",
|
|
40
|
+
answer: "Gereksiz meta verileri kaldıran ve piksel kodlamasını optimize eden algoritmalar kullanıyoruz. WebP seçildiğinde, geleneksel formatlardan daha gelişmiş bir sıkıştırma teknolojisi kullanılır.",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
question: "Görsellerim herhangi bir sunucuya yükleniyor mu?",
|
|
44
|
+
answer: "Hayır. Tüm işlemler %100 tarayıcınızda (İstemci Tarafı) gerçekleşir. Fotoğraflarınız asla bilgisayarınızdan ayrılmaz, bu da mutlak gizliliği garanti eder.",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: "Neden WebP\'ye dönüştürmeliyim?",
|
|
48
|
+
answer: "WebP, web için modern standart formattır. JPG ve PNG\'den daha üstün kaliteyi %30\'a kadar daha az boyutla sunar, bu da sayfa yükleme süresini hızlandırır.",
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const howTo: ImageCompressorLocaleContent['howTo'] = [
|
|
53
|
+
{
|
|
54
|
+
name: "Görseli yükleyin",
|
|
55
|
+
text: "Sıkıştırmak istediğiniz dosyayı (JPG, PNG veya WebP) yükleyin.",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: "Kaliteyi ayarlayın",
|
|
59
|
+
text: "Dosya boyutu ve görsel kalite arasındaki mükemmel dengeyi bulmak için kaydırıcıyı kullanın (önerilen: %75 85).",
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "Yeniden boyutlandırın (isteğe bağlı)",
|
|
63
|
+
text: "Görsel çok büyükse, çözünürlüğünü düşürmek için maksimum bir genişlik belirleyebilirsiniz.",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "Sonucu indirin",
|
|
67
|
+
text: "Optimize edilmiş görselinizi kullanıma hazır bir şekilde almak için indir düğmesine basın.",
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
|
|
71
|
+
const bibliography: ImageCompressorLocaleContent['bibliography'] = [
|
|
72
|
+
{
|
|
73
|
+
name: "WebP: Web için Görsel Formatı",
|
|
74
|
+
url: "https://developers.google.com/speed/webp",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: "SEO için görsel optimizasyonunun önemi",
|
|
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: 'Profesyonel Web Görsel Optimizasyonu',
|
|
86
|
+
items: [
|
|
87
|
+
'Akıllı JPG, PNG ve WebP sıkıştırma',
|
|
88
|
+
'Görsel kaliteyi koruyarak boyutu %50-80 oranında düşürün',
|
|
89
|
+
'%100 yerel işleme - gizlilik garantili',
|
|
90
|
+
'Core Web Vitals\'ı ve SEO sıralamasını iyileştirin'
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{ type: 'title', text: 'Görsel Optimizasyonu: Web Hızı ve Core Web Vitals', level: 2 },
|
|
94
|
+
{ type: 'paragraph', html: 'Dijital hız çağında, yavaş bir web sitesi kullanıcı kaybeder. Optimize edilmemiş görseller, bir web sayfasının toplam boyutunun %60-70\'ini oluşturur. Bunları optimize etmek, Google metriklerinizi (LCP, CLS) ve arama sonuçlarındaki sıralamanızı iyileştirmek için ilk adımdır.' },
|
|
95
|
+
|
|
96
|
+
{ type: 'stats', items: [
|
|
97
|
+
{ value: '%50-80', label: 'Tipik Boyut Azaltma', icon: 'mdi:trending-down' },
|
|
98
|
+
{ value: '%100', label: 'Yerel Gizlilik', icon: 'mdi:lock' },
|
|
99
|
+
{ value: '+%30', label: 'JPG\'den Daha Hızlı', icon: 'mdi:speedometer' }
|
|
100
|
+
], columns: 3 },
|
|
101
|
+
|
|
102
|
+
{ type: 'title', text: 'Sıkıştırma Formatlarının Açıklaması', level: 3 },
|
|
103
|
+
{ type: 'table', headers: ['Format', 'Sıkıştırma', 'Kullanım Durumları', 'Uyumluluk'], rows: [
|
|
104
|
+
['JPEG', 'Kayıplı %50-90', 'Kamera fotoğrafları, editoryal içerik', 'Evrensel (%100)'],
|
|
105
|
+
['PNG', 'Kayıpsız %30-50', 'Grafikler, logolar, şeffaflıklar', 'Evrensel (%100)'],
|
|
106
|
+
['WebP', 'Kayıplı/Kayıpsız %25-35 daha fazla', 'Modern web, sosyal ağlar', '%95 modern tarayıcılar'],
|
|
107
|
+
['AVIF', 'Kayıplı/Kayıpsız %20 iyileştirme', 'Yeni nesil web', 'Yalnızca yeni tarayıcılar']
|
|
108
|
+
] },
|
|
109
|
+
|
|
110
|
+
{ type: 'card', title: 'Neden WebP Gelecektir', html: 'Google, WebP\'yi özellikle web için geliştirdi. JPEG ve PNG\'ye göre üstün sıkıştırma sunarken görsel kaliteyi korur veya iyileştirir. Eşdeğer JPEG\'lerden %25-35 daha küçüktür. Modern tarayıcıların %95\'i bunu destekler.' },
|
|
111
|
+
|
|
112
|
+
{ type: 'title', text: 'Kayıplı vs Kayıpsız Sıkıştırma', level: 3 },
|
|
113
|
+
{ type: 'comparative', items: [
|
|
114
|
+
{
|
|
115
|
+
title: 'Kayıplı Sıkıştırma (Lossy)',
|
|
116
|
+
description: 'JPG, WebP - Algılanamaz görsel bilgileri kaldırır',
|
|
117
|
+
icon: 'mdi:compress',
|
|
118
|
+
points: [
|
|
119
|
+
'Orijinal boyutun %70-90\'ını azaltır',
|
|
120
|
+
'Kalite %75\'in üzerinde tutulursa insan gözü tarafından fark edilemez',
|
|
121
|
+
'Gerçekçi fotoğrafçılık için idealdir',
|
|
122
|
+
'Logolar veya keskin metinler için önerilmez'
|
|
123
|
+
],
|
|
124
|
+
highlight: true
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: 'Kayıpsız Sıkıştırma (Lossless)',
|
|
128
|
+
description: 'PNG, WebP kayıpsız - %100 görsel veriyi korur',
|
|
129
|
+
icon: 'mdi:shield',
|
|
130
|
+
points: [
|
|
131
|
+
'%20-50 oranında boyut azaltır',
|
|
132
|
+
'Mükemmel kalite, bozulma yok',
|
|
133
|
+
'Grafikler, logolar, şeffaflıklar için idealdir',
|
|
134
|
+
'Kayıplı sıkıştırmaya göre daha ağır dosyalar'
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
], columns: 2 },
|
|
138
|
+
|
|
139
|
+
{ type: 'title', text: 'SEO ve Dönüşüm Üzerindeki Etkisi', level: 3 },
|
|
140
|
+
{ type: 'list', items: [
|
|
141
|
+
'<strong>Core Web Vitals:</strong> Google yavaş siteleri cezalandırır. Optimize edilmiş görseller LCP (En Büyük İçerikli Boyama) değerini doğrudan iyileştirir.',
|
|
142
|
+
'<strong>Hemen Çıkma Oranı:</strong> Her saniyelik gecikme = %7 daha fazla hemen çıkma. Daha hızlı görseller = ayrılan daha az kullanıcı.',
|
|
143
|
+
'<strong>Arama Sıralaması:</strong> Hız bir sıralama faktörüdür. Görselleri optimize etmek sıralamayı yükseltir.',
|
|
144
|
+
'<strong>Dönüşüm:</strong> Daha hızlı yükleme süreleri = daha fazla dönüşüm. Araştırmalar, optimizasyon ile +%10 dönüşüm artışı göstermektedir.'
|
|
145
|
+
], icon: 'mdi:check' },
|
|
146
|
+
|
|
147
|
+
{ type: 'proscons', items: [
|
|
148
|
+
{
|
|
149
|
+
pro: 'Tam gizlilik: %100 yerel işleme, bulut sunucusu yok',
|
|
150
|
+
con: 'Canvas API destekli tarayıcı gerektirir (evrenseldir)'
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
pro: 'WebP, eşit kalitede JPEG\'den %25-35 daha küçüktür',
|
|
154
|
+
con: 'Eski Safari ve IE, WebP\'yi desteklemez (fallback mevcuttur)'
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
pro: 'Birden fazla görselin anında işlenmesi',
|
|
158
|
+
con: 'Çok büyük görseller (50MB+) bekleme süresi gerektirebilir'
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
pro: 'İsteğe bağlı yeniden boyutlandırma: sıkıştırmanın yanı sıra çözünürlüğü de düşürür',
|
|
162
|
+
con: 'Yeniden boyutlandırma bilgi kaybına neden olur - çözünürlüğü kaynakta optimize etmek daha iyidir'
|
|
163
|
+
}
|
|
164
|
+
], proTitle: 'Avantajlar', conTitle: 'Sınırlamalar' },
|
|
165
|
+
|
|
166
|
+
{ type: 'diagnostic', variant: 'warning', title: 'Dikkat: Aşırı Sıkıştırma Kaliteyi Bozar', icon: 'mdi:alert', badge: 'Kalite', html: 'Fotoğrafçılık için kaliteyi %75, editoryal içerik için %85\'in üzerinde tutun. Bunun altında, sıkıştırma kusurları (lekeler, bantlanma) görünür hale gelir. Küçük resimde iyi görünen bir görsel, büyük halde kötü görünebilir.' },
|
|
167
|
+
|
|
168
|
+
{ type: 'glossary', items: [
|
|
169
|
+
{
|
|
170
|
+
term: 'Kayıplı Sıkıştırma (Lossy)',
|
|
171
|
+
definition: 'İnsan gözünün \"gürültü\" olarak algıladığı görsel verileri kaldırır. Fotoğrafçılık için idealdir. JPEG, kayıplı WebP, HEIC kayıplıdır.'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
term: 'Kayıpsız Sıkıştırma (Lossless)',
|
|
175
|
+
definition: 'Görsel bilgi kaybetmeden boyutu küçültür. PNG ve kayıpsız WebP. Grafikler, logolar, şeffaflıklar için idealdir.'
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
term: 'Core Web Vitals (Google)',
|
|
179
|
+
definition: 'Kullanıcı deneyimi metrikleri: LCP (yükleme hızı), FID (etkileşim gecikmesi), CLS (görsel kararlılık). SEO sıralamasını etkiler.'
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
term: 'WebP',
|
|
183
|
+
definition: 'Google tarafından geliştirilen format. JPEG\'den %25-35 daha küçüktür. Modern tarayıcıların %95\'i tarafından desteklenir (IE hariç hepsi).'
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
term: 'Sıkıştırma Kusurları (Artifacts)',
|
|
187
|
+
definition: 'Aşırı sıkıştırmanın neden olduğu görsel kusurlar: lekeler, renk bantlanması, bulanık kenarlar. %75 kalitenin üzerinde fark edilemez.'
|
|
188
|
+
}
|
|
189
|
+
] },
|
|
190
|
+
|
|
191
|
+
{ type: 'message', title: 'Profesyonel Web Optimizasyonu', ariaLabel: 'SEO için görsel optimizasyonu hakkında bilgiler', html: 'Bu teknik bir gösteriş değil: görselleri sıkıştırmak, kullanıcı deneyimine ve Google sıralamasına doğrudan bir yatırımdır. Mobilde her kilobayt önemlidir. Aracımız, eskiden profesyonel yazılım ($$$) gerektiren işi ücretsiz bir 3 tıklamalı işleme dönüştürür.' },
|
|
192
|
+
|
|
193
|
+
{ type: 'title', text: 'Modern Web İçin Hazır', level: 3 },
|
|
194
|
+
{ type: 'paragraph', html: 'Çevrimiçi varlığınızın hızlı, duyarlı ve aramada rekabetçi olması için akıllı sıkıştırma ve WebP formatını kullanın. Profesyonel kalite, minimum boyut, anında yükleme.' }
|
|
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: 'tr',
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export const content: ImageCompressorLocaleContent = {
|
|
231
|
+
slug,
|
|
232
|
+
title,
|
|
233
|
+
description,
|
|
234
|
+
ui,
|
|
235
|
+
seo,
|
|
236
|
+
faqTitle: "Sıkça Sorulan Sorular",
|
|
237
|
+
faq,
|
|
238
|
+
bibliographyTitle: "Referanslar",
|
|
239
|
+
bibliography,
|
|
240
|
+
howTo,
|
|
241
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
242
|
+
};
|