@jjlmoya/utils-converters 1.9.0 → 1.10.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 +1 -1
- package/src/category/i18n/de.ts +90 -0
- package/src/category/i18n/id.ts +90 -0
- package/src/category/i18n/it.ts +90 -0
- package/src/category/i18n/ja.ts +90 -0
- package/src/category/i18n/ko.ts +90 -0
- package/src/category/i18n/nl.ts +90 -0
- package/src/category/i18n/pl.ts +90 -0
- package/src/category/i18n/pt.ts +90 -0
- package/src/category/i18n/ru.ts +90 -0
- package/src/category/i18n/sv.ts +90 -0
- package/src/category/i18n/tr.ts +90 -0
- package/src/category/i18n/zh.ts +90 -0
- package/src/category/index.ts +13 -1
- package/src/tests/category_validation.test.ts +73 -0
- package/src/tests/slug_language_code_format.test.ts +23 -0
package/package.json
CHANGED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'bild-konverter',
|
|
5
|
+
title: 'Online Bild Konverter',
|
|
6
|
+
description: 'Kostenlose Tools zur Konvertierung von Bildern zwischen den Formaten PNG, JPG, WebP, SVG, AVIF, GIF, BMP und ICO. Die Verarbeitung erfolgt vollständig lokal in Ihrem Browser, ohne Upload ins Internet.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: 'Warum unsere Konverter nutzen',
|
|
11
|
+
items: [
|
|
12
|
+
'100% lokale Konvertierung: Ihre Bilder verlassen nie Ihr Gerät.',
|
|
13
|
+
'Unterstützung für 21 Formatkombinationen: PNG, JPG, WebP, SVG, AVIF, GIF, BMP und ICO.',
|
|
14
|
+
'Stapelverarbeitung mit ZIP-Download.',
|
|
15
|
+
'Keine Registrierung, keine Limits, keine störende Werbung.',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: 'Bildkonvertierung: Der komplette Format-Leitfaden',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: 'Die Wahl des richtigen Bildformats hat direkten Einfluss auf die Web-Performance, die Gerätekompatibilität und die wahrgenommene visuelle Qualität. Unsere <strong>Online-Bild-Konverter</strong> decken die von Designern, Webentwicklern und Fotografen am häufigsten benötigten Konvertierungswege ab – ganz ohne externe Server, die die Vertraulichkeit Ihrer Dateien gefährden könnten.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG, JPG und WebP: Die drei Säulen des modernen Webdesigns',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: 'Das <strong>PNG-Format</strong> zeichnet sich durch verlustfreie Kompression und Transparenz-Unterstützung (Alpha-Kanal) aus und ist der Standard für Logos, Icons und Grafiken mit scharfen Kanten. Das <strong>JPG-Format</strong> bietet maximale universelle Kompatibilität und reduzierte Dateigrößen für Fotos, opfert jedoch bei jedem Speichervorgang etwas Qualität. Das von Google entwickelte <strong>WebP-Format</strong> vereint das Beste aus beiden Welten: 30-40 % bessere Kompression als PNG/JPG bei gleichzeitiger Unterstützung von Transparenz und Animationen; es ist heute das von den Core Web Vitals empfohlene Format zur Verbesserung des LCP.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['Format', 'Transparenz', 'Kompression', 'Bestens geeignet für'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', 'Ja', 'Verlustfrei', 'Logos, Grafiken, Screenshots'],
|
|
41
|
+
['JPG', 'Nein', 'Verlustbehaftet', 'Fotos, große Bilder'],
|
|
42
|
+
['WebP', 'Ja', 'Verlustfrei/behaftet', 'Modernes Web, Performance'],
|
|
43
|
+
['SVG', 'Ja', 'Vektor', 'Skalierbare Icons, Animationen'],
|
|
44
|
+
['AVIF', 'Ja', 'Überlegen', 'Next-Gen Web'],
|
|
45
|
+
['ICO', 'Ja', 'Bitmap', 'Favicons, Windows-Icons'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Formate der nächsten Generation: AVIF und WebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: 'Das <strong>AVIF-Format</strong> (AV1 Image File Format) ist der technologische Nachfolger von WebP und bietet bei gleicher subjektiver Qualität bis zu 50 % geringere Dateigrößen als JPG. Obwohl seine Verbreitung schnell zunimmt, macht die eingeschränkte Kompatibilität in älteren Systemen die Konvertierung von AVIF in etabliertere Formate wie JPG, PNG oder WebP zu einem häufigen Bedarf in Produktions-Workflows.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: 'Tipp für Web Performance',
|
|
60
|
+
html: 'Um die Ladegeschwindigkeit Ihrer Seite zu maximieren, verwenden Sie WebP als primäres Format auf Ihrer Website mit JPG/PNG-Fallbacks für ältere Browser. Das HTML-Element <code>picture</code> mit mehreren <code>source</code>-Tags ermöglicht es Ihnen, das optimale Format basierend auf der Unterstützung des besuchenden Browsers bereitzustellen.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG, BMP und ICO: Spezielle Anwendungsfälle',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: '<strong>SVG-Dateien</strong> sind mathematische Vektoren, die verlustfrei auf jede Auflösung skaliert werden können, ideal für Logos und Grafikdesign. Viele Plattformen und Bearbeitungsanwendungen unterstützen sie jedoch nicht direkt, weshalb eine Rasterung in PNG oder JPG für die Verteilung erforderlich sein kann. <strong>BMP-Dateien</strong> sind zwar für die Webnutzung veraltet, bleiben aber in Windows-Umgebungen und älterer Bearbeitungssoftware gebräuchlich. Schließlich ist das <strong>ICO-Format</strong> der Standard für Web-Favicons und die Windows-Icon-Anpassung, was eine spezifische binäre Header-Struktur erfordert, die unser Konverter nativ generiert.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: 'Kombinationen', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: 'Privatsphäre', value: '100% lokal', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: 'Formate', value: '8 Typen', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Absolute Privatsphäre: Konvertierung ohne Server',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'Im Gegensatz zu anderen Online-Tools, die Ihre Bilder auf entfernte Server hochladen (mit den damit verbundenen Datenschutz- und Sicherheitsrisiken), nutzen unsere Konverter ausschließlich native Browser-APIs: die <strong>Canvas 2D API</strong> für die Rasterung, die <strong>FileReader API</strong> zum lokalen Lesen von Dateien und <strong>Blob/URL.createObjectURL</strong> für Downloads. Das bedeutet, dass Sie vertrauliche Bilder, Firmenlogos oder private Dokumente mit absoluter Sicherheit konvertieren können.',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'pengonversi-gambar',
|
|
5
|
+
title: 'Pengonversi Gambar Online',
|
|
6
|
+
description: 'Alat gratis untuk mengonversi gambar antara format PNG, JPG, WebP, SVG, AVIF, GIF, BMP, dan ICO. Semuanya diproses secara lokal di browser Anda tanpa mengunggah apa pun ke internet.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: 'Mengapa menggunakan pengonversi kami',
|
|
11
|
+
items: [
|
|
12
|
+
'Konversi 100% lokal: gambar Anda tidak pernah meninggalkan perangkat Anda.',
|
|
13
|
+
'Dukungan untuk 21 kombinasi format: PNG, JPG, WebP, SVG, AVIF, GIF, BMP, dan ICO.',
|
|
14
|
+
'Pemrosesan batch dengan unduhan ZIP.',
|
|
15
|
+
'Tanpa registrasi, tanpa batasan, tanpa iklan yang mengganggu.',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: 'Konversi Gambar: Panduan Format Lengkap',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: 'Memilih format gambar yang tepat berdampak langsung pada performa web, kompatibilitas perangkat, und kualitas visual yang dirasakan. <strong>Pengonversi gambar online</strong> kami mencakup rute konversi yang paling banyak diminta oleh desainer, pengembang web, dan fotografer, semuanya tanpa mengandalkan server eksternal yang dapat membahayakan privasi file Anda.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG, JPG, dan WebP: Tiga Pilar Desain Web Modern',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: '<strong>Format PNG</strong> menonjol karena kompresi lossless dan dukungan transparansi (saluran alfa), menjadi standar untuk logo, ikon, dan grafik dengan tepi tajam. <strong>Format JPG</strong> menawarkan kompatibilitas universal maksimum dan ukuran yang dikurangi untuk foto, tetapi mengorbankan kualitas setiap kali disimpan. <strong>Format WebP</strong>, yang dikembangkan oleh Google, menggabungkan yang terbaik dari keduanya: kompresi 30-40% lebih baik daripada PNG/JPG dengan dukungan transparansi dan animasi, kini menjadi format yang direkomendasikan oleh Core Web Vitals untuk meningkatkan LCP.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['Format', 'Transparansi', 'Kompresi', 'Terbaik untuk'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', 'Ya', 'Lossless', 'Logo, grafik, tangkapan layar'],
|
|
41
|
+
['JPG', 'Tidak', 'Lossy', 'Foto, gambar besar'],
|
|
42
|
+
['WebP', 'Ya', 'Lossless/Lossy', 'Web modern, performa'],
|
|
43
|
+
['SVG', 'Ya', 'Vektor', 'Ikon skalabel, animasi'],
|
|
44
|
+
['AVIF', 'Ya', 'Superior', 'Web generasi berikutnya'],
|
|
45
|
+
['ICO', 'Ya', 'Bitmap', 'Favicon, ikon Windows'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Format Generasi Berikutnya: AVIF dan WebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: '<strong>Format AVIF</strong> (AV1 Image File Format) adalah penerus teknologi WebP, menawarkan ukuran file hingga 50% lebih kecil daripada JPG pada kualitas subjektif yang sama. Meskipun adopsinya tumbuh cepat, kompatibilitas terbatas pada sistem lama membuat konversi AVIF ke format yang lebih mapan seperti JPG, PNG, atau WebP menjadi kebutuhan yang sering dalam alur kerja produksi.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: 'Tip performa web',
|
|
60
|
+
html: 'Untuk memaksimalkan kecepatan pemuatan halaman, gunakan WebP sebagai format utama di situs web Anda dengan fallback JPG/PNG untuk browser lama. Elemen HTML <code>picture</code> dengan beberapa tag <code>source</code> memungkinkan Anda menyajikan format optimal berdasarkan dukungan browser yang berkunjung.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG, BMP, dan ICO: Kasus Penggunaan Khusus',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: '<strong>Berkas SVG</strong> adalah vektor matematika yang diskalakan tanpa kehilangan kualitas ke resolusi apa pun, cocok untuk logo dan desain grafis. Namun, banyak platform dan aplikasi pengeditan tidak mendukungnya secara langsung, sehingga perlu merasterisasinya ke PNG atau JPG untuk distribusi. <strong>Berkas BMP</strong>, meskipun usang untuk penggunaan web, tetap umum di lingkungan Windows dan perangkat lunak pengeditan lama. Terakhir, <strong>format ICO</strong> adalah standar untuk favicon web dan kustomisasi ikon Windows, memerlukan struktur header biner khusus yang dihasilkan oleh pengonversi kami secara asli.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: 'Kombinasi', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: 'Privasi', value: '100% lokal', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: 'Format', value: '8 tipe', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Privasi Total: Konversi tanpa Server',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'Tidak seperti alat online lainnya yang mengunggah gambar Anda ke server jarak jauh (dengan risiko privasi dan keamanan yang ditimbulkannya), pengonversi kami hanya menggunakan API browser asli: <strong>Canvas 2D API</strong> untuk rasterisasi, <strong>FileReader API</strong> untuk membaca file secara lokal, dan <strong>Blob/URL.createObjectURL</strong> untuk unduhan. Ini berarti Anda dapat mengonversi gambar rahasia, logo perusahaan, atau dokumen pribadi dengan keamanan penuh.',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'convertitori-di-immagini',
|
|
5
|
+
title: 'Convertitori di Immagini Online',
|
|
6
|
+
description: 'Strumenti gratuiti per convertire immagini tra i formati PNG, JPG, WebP, SVG, AVIF, GIF, BMP e ICO. Tutto viene elaborato localmente nel tuo browser senza caricare nulla su Internet.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: 'Perché usare i nostri convertitori',
|
|
11
|
+
items: [
|
|
12
|
+
'Conversione 100% locale: le tue immagini non lasciano mai il tuo dispositivo.',
|
|
13
|
+
'Supporto per 21 combinazioni di formati: PNG, JPG, WebP, SVG, AVIF, GIF, BMP e ICO.',
|
|
14
|
+
'Elaborazione batch con download in formato ZIP.',
|
|
15
|
+
'Nessuna registrazione, nessun limite, nessuna pubblicità invasiva.',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: 'Conversione Immagini: Guida Completa ai Formati',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: 'Scegliere il formato d\'immagine corretto ha un impatto diretto sulle prestazioni web, sulla compatibilità dei dispositivi e sulla qualità visiva percepita. I nostri <strong>convertitori di immagini online</strong> coprono i percorsi di conversione più richiesti da designer, sviluppatori web e fotografi, il tutto senza fare affidamento su server esterni che potrebbero compromettere la privacy dei tuoi file.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG, JPG e WebP: I Tre Pilastri del Web Design Moderno',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: 'Il <strong>formato PNG</strong> si distingue per la compressione senza perdita di dati e il supporto alla trasparenza (canale alfa), essendo lo standard per loghi, icone e grafiche con bordi netti. Il <strong>formato JPG</strong> offre la massima compatibilità universale e dimensioni ridotte per le foto, ma sacrifica la qualità a ogni salvataggio. Il <strong>formato WebP</strong>, sviluppato da Google, combina il meglio di entrambi: compressione migliore del 30-40% rispetto a PNG/JPG con supporto a trasparenza e animazioni, ed è ora il formato raccomandato da Core Web Vitals per migliorare l\'LCP.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['Formato', 'Trasparenza', 'Compressione', 'Ideale per'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', 'Sì', 'Lossless', 'Loghi, grafiche, screenshot'],
|
|
41
|
+
['JPG', 'No', 'Lossy', 'Foto, immagini grandi'],
|
|
42
|
+
['WebP', 'Sì', 'Lossless/Lossy', 'Web moderno, performance'],
|
|
43
|
+
['SVG', 'Sì', 'Vettoriale', 'Icone scalabili, animazioni'],
|
|
44
|
+
['AVIF', 'Sì', 'Superiore', 'Web di nuova generazione'],
|
|
45
|
+
['ICO', 'Sì', 'Bitmap', 'Favicon, icone Windows'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Formati di Nuova Generazione: AVIF e WebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: 'Il <strong>formato AVIF</strong> (AV1 Image File Format) è il successore tecnologico di WebP, offrendo dimensioni di file fino al 50% inferiori rispetto al JPG a parità di qualità soggettiva. Sebbene la sua adozione cresca rapidamente, la compatibilità limitata nei sistemi più vecchi rende la conversione da AVIF a formati più consolidati come JPG, PNG o WebP una necessità frequente nei flussi di lavoro di produzione.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: 'Consiglio per le prestazioni web',
|
|
60
|
+
html: 'Per massimizzare la velocità di caricamento delle pagine, usa WebP come formato principale sul tuo sito web con fallback JPG/PNG per i browser più datati. L\'elemento HTML <code>picture</code> con tag <code>source</code> multipli ti consente di servire il formato ottimale in base al supporto del browser del visitatore.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG, BMP e ICO: Casi d\'Uso Speciali',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: 'I <strong>file SVG</strong> sono vettori matematici che scalano senza perdite a qualsiasi risoluzione, perfetti per loghi e design grafico. Tuttavia, molte piattaforme e applicazioni di editing non li supportano direttamente, rendendo necessario rasterizzarli in PNG o JPG per la distribuzione. I <strong>file BMP</strong>, sebbene obsoleti per l\'uso web, rimangono comuni negli ambienti Windows e nei software di editing tradizionali. Infine, il <strong>formato ICO</strong> è lo standard per le favicon web e la personalizzazione delle icone di Windows, richiedendo una specifica struttura di intestazione binaria che il nostro convertitore genera nativamente.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: 'Combinazioni', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: 'Privacy', value: '100% locale', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: 'Formati', value: '8 tipi', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Privacy Totale: Conversione senza Server',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'A differenza di altri strumenti online che caricano le tue immagini su server remoti (con i rischi per la privacy e la sicurezza che ne derivano), i nostri convertitori utilizzano esclusivamente API native del browser: <strong>Canvas 2D API</strong> per la rasterizzazione, <strong>FileReader API</strong> per leggere i file localmente e <strong>Blob/URL.createObjectURL</strong> per i download. Ciò significa che puoi convertire immagini riservate, loghi aziendali o documenti privati in completa sicurezza.',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'image-converters',
|
|
5
|
+
title: 'オンライン画像変換ツール',
|
|
6
|
+
description: 'PNG、JPG、WebP、SVG、AVIF、GIF、BMP、ICO形式の間で画像を変換するための無料ツール。すべてブラウザ内でローカルに処理されるため、インターネットにアップロードされることはありません。',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: '当サイトの変換ツールが選ばれる理由',
|
|
11
|
+
items: [
|
|
12
|
+
'100%ローカル変換:画像がデバイスの外に出ることはありません。',
|
|
13
|
+
'21種類のフォーマット組み合わせに対応:PNG、JPG、WebP、SVG、AVIF、GIF、BMP、ICO。',
|
|
14
|
+
'ZIPダウンロードによる一括処理。',
|
|
15
|
+
'登録不要、制限なし、不快な広告 भीはありません。',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: '画像変換:完全フォーマットガイド',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: '適切な画像フォーマットの選択は、ウェブのパフォーマンス、デバイスの互換性、および体感的な視覚品質に直接影響します。当サイトの<strong>オンライン画像変換ツール</strong>は、デザイナー、ウェブ開発者、写真家から最も要望の多い変換ルートを網羅しており、ファイルのプライバシーを損なう可能性のある外部サーバーに依存することはありません。',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG、JPG、WebP:現代のウェブデザインの三本柱',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: '<strong>PNG形式</strong>は、可逆圧縮と透過サポート(アルファチャンネル)が特徴で、ロゴ、アイコン、エッジの鋭いグラフィックの標準となっています。<strong>JPG形式</strong>は、最高の汎用互換性と写真向けのファイルサイズ縮小を提供しますが、保存するたびに品質が犠牲になります。Googleが開発した<strong>WebP形式</strong>は、両方の長所を兼ね備えています。PNGやJPGよりも30〜40%優れた圧縮率で、透過やアニメーションもサポートしており、現在はLCPを改善するためにCore Web Vitalsによって推奨されている形式です。',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['フォーマット', '透過', '圧縮', '用途'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', 'あり', '可逆圧縮', 'ロゴ、グラフィック、スクリーンショット'],
|
|
41
|
+
['JPG', 'なし', '非可逆圧縮', '写真、大きな画像'],
|
|
42
|
+
['WebP', 'あり', '可逆/非可逆', '現代のウェブ、パフォーマンス'],
|
|
43
|
+
['SVG', 'あり', 'ベクター', 'スケーラブルなアイコン、アニメーション'],
|
|
44
|
+
['AVIF', 'あり', '最高', '次世代ウェブ'],
|
|
45
|
+
['ICO', 'あり', 'ビットマップ', 'ファビコン、Windowsアイコン'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: '次世代フォーマット:AVIFとWebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: '<strong>AVIF形式</strong>(AV1 Image File Format)は、WebP의技術的後継であり、同等の主観的品質でJPGよりも最大50%小さいファイルサイズを提供します。普及は急速に進んでいますが、古いシステムでの互換性が限られているため、制作ワークフローではAVIFをJPG、PNG、WebPなどのより確立された形式に変換することが頻繁に必要となります。',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: 'ウェブパフォーマンスのヒント',
|
|
60
|
+
html: 'ページの読み込み速度を最大化するには、ウェブサイトの主要形式としてWebPを使用し、古いブラウザ向けにJPG/PNGのフォールバックを用意してください。複数の<code>source</code>タグを持つHTMLの<code>picture</code>要素を使用すると、訪問者のブラウザのサポート状況に基づいて最適な形式を提供できます。',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG、BMP、ICO:特殊なユースケース',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: '<strong>SVG形式</strong>は、解像度に関係なく劣化なしでスケーリングできる数学的ベクターであり、ロゴやグラフィックデザインに最適です。しかし、多くのプラットフォームや編集ソフトが直接サポートしていないため、配布用にPNGやJPGにラスタライズする必要があります。<strong>BMP形式</strong>は、ウェブ利用としては時代遅れですが、Windows環境やレガシーな編集ソフトでは依然として一般的です。最後に、<strong>ICO形式</strong>はウェブのファビコンやWindowsアイコンのカスタマイズの標準であり、当サイトの変換ツールがネイティブに生成する特定のバイナリヘッダー構造を必要とします。',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: '組み合わせ', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: 'プライバシー', value: '100%ローカル', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: 'フォーマット', value: '8種類', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: '完全なプライバシー:サーバーを介さない変換',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: '画像をリモートサーバーにアップロードする他のオンラインツール(プライバシーやセキュリティのリスクを伴います)とは異なり、当サイトの変換ツールはブラウザ独自のAPIのみを使用します。ラスタライズには<strong>Canvas 2D API</strong>を、ファイルのローカル読み込みには<strong>FileReader API</strong>を、ダウンロードには<strong>Blob/URL.createObjectURL</strong>を使用します。つまり、機密画像、企業ロゴ、プライベートなドキュメントを完全に安全に変換できます。',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'image-converters',
|
|
5
|
+
title: '온라인 이미지 변환기',
|
|
6
|
+
description: 'PNG, JPG, WebP, SVG, AVIF, GIF, BMP, ICO 형식 간에 이미지를 변환하는 무료 도구입니다. 모든 작업은 인터넷 업로드 없이 브라우저에서 로컬로 처리됩니다.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: '우리의 변환기를 사용하는 이유',
|
|
11
|
+
items: [
|
|
12
|
+
'100% 로컬 변환: 이미지가 장치를 떠나지 않습니다.',
|
|
13
|
+
'21가지 형식 조합 지원: PNG, JPG, WebP, SVG, AVIF, GIF, BMP, ICO.',
|
|
14
|
+
'ZIP 다운로드를 통한 일괄 처리.',
|
|
15
|
+
'가입 불필요, 제한 없음, 침입 광고 없음.',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: '이미지 변환: 전체 형식 가이드',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: '올바른 이미지 형식을 선택하는 것은 웹 성능, 장치 호환성 및 시각적 품질에 직접적인 영향을 미칩니다. 우리의 <strong>온라인 이미지 변환기</strong>는 디자이너, 웹 개발자 및 사진가가 가장 많이 요청하는 변환 경로를 다루며, 파일의 개인 정보를 침해할 수 있는 외부 서버에 의존하지 않습니다.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG, JPG 및 WebP: 현대 웹 디자인의 세 가지 기둥',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: '<strong>PNG 형식</strong>은 무손실 압축과 투명도 지원(알파 채널)으로 유명하며, 로고, 아이콘 및 선명한 그래픽의 표준입니다. <strong>JPG 형식</strong>은 최대한의 범용 호환성과 사진을 위한 줄어든 크기를 제공하지만, 저장할 때마다 품질이 저하됩니다. Google에서 개발한 <strong>WebP 형식</strong>은 두 형식의 장점을 모두 결합하여 PNG/JPG보다 30-40% 더 나은 압축률과 투명도 및 애니메이션을 지원합니다. 현재 Core Web Vitals에서 LCP 개선을 위해 권장하는 형식입니다.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['형식', '투명도', '압축', '용도'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', '예', '무손실', '로고, 그래픽, 스크린샷'],
|
|
41
|
+
['JPG', '아니요', '손실', '사진, 큰 이미지'],
|
|
42
|
+
['WebP', '예', '무손실/손실', '현대 웹, 성능'],
|
|
43
|
+
['SVG', '예', '벡터', '확장 가능한 아이콘, 애니메이션'],
|
|
44
|
+
['AVIF', '예', '우수', '차세대 웹'],
|
|
45
|
+
['ICO', '예', '비트맵', '파비콘, Windows 아이콘'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: '차세대 형식: AVIF 및 WebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: '<strong>AVIF 형식</strong>(AV1 Image File Format)은 WebP의 기술적 후계자로, 동일한 주관적 품질에서 JPG보다 최대 50% 작은 파일 크기를 제공합니다. 채택이 빠르게 증가하고 있지만, 이전 시스템과의 호환성이 제한적이어서 AVIF를 JPG, PNG 또는 WebP와 같은 기존 형식으로 변환하는 작업이 제작 워크플로우에서 자주 필요합니다.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: '웹 성능 팁',
|
|
60
|
+
html: '페이지 로딩 속도를 최대화하려면 웹사이트의 기본 형식으로 WebP를 사용하고 구형 브라우저를 위해 JPG/PNG 폴백을 제공하세요. 여러 <code>source</code> 태그가 있는 HTML <code>picture</code> 요소를 사용하면 방문자의 브라우저 지원에 따라 최적의 형식을 제공할 수 있습니다.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG, BMP 및 ICO: 특수 용도',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: '<strong>SVG 파일</strong>은 어떤 해상도에서도 품질 저하 없이 확장 가능한 수학적 벡터로, 로고 및 그래픽 디자인에 적합합니다. 그러나 많은 플랫폼과 편집 애플리케이션이 이를 직접 지원하지 않으므로 배포를 위해 PNG 또는 JPG로 래스터화해야 하는 경우가 많습니다. <strong>BMP 파일</strong>은 웹 용도로는 구식이지만 Windows 환경과 레거시 편집 소프트웨어에서 여전히 사용됩니다. 마지막으로 <strong>ICO 형식</strong>은 웹 파비콘 및 Windows 아이콘 사용자 정의의 표준이며, 변환기에서 기본적으로 생성하는 특정 바이너리 헤더 구조가 필요합니다.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: '조합', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: '개인정보 보호', value: '100% 로컬', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: '형식', value: '8가지', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: '완전한 개인정보 보호: 서버 없는 변환',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: '이미지를 원격 서버로 업로드하는 다른 온라인 도구(개인 정보 및 보안 위험 수반)와 달리, 우리의 변환기는 브라우저 기본 API만을 사용합니다: 래스터화에는 <strong>Canvas 2D API</strong>, 파일 로컬 읽기에는 <strong>FileReader API</strong>, 다운로드에는 <strong>Blob/URL.createObjectURL</strong>을 사용합니다. 즉, 기밀 이미지, 기업 로고 또는 개인 문서를 완벽하게 안전하게 변환할 수 있습니다.',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'afbeelding-converters',
|
|
5
|
+
title: 'Online Afbeelding Converters',
|
|
6
|
+
description: 'Gratis tools om afbeeldingen te converteren tussen PNG, JPG, WebP, SVG, AVIF, GIF, BMP en ICO formaten. Alles wordt lokaal in je browser verwerkt zonder iets naar het internet te uploaden.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: 'Waarom onze converters gebruiken',
|
|
11
|
+
items: [
|
|
12
|
+
'100% lokale conversie: je afbeeldingen verlaten nooit je apparaat.',
|
|
13
|
+
'Ondersteuning voor 21 formaatcombinaties: PNG, JPG, WebP, SVG, AVIF, GIF, BMP en ICO.',
|
|
14
|
+
'Batchverwerking met ZIP-download.',
|
|
15
|
+
'Geen registratie, geen limieten, geen storende advertenties.',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: 'Beeldconversie: De Volledige Formaatgids',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: 'De keuze van het juiste afbeeldingsformaat heeft direct invloed op webprestaties, apparaatcompatibiliteit en waargenomen visuele kwaliteit. Onze <strong>online afbeelding converters</strong> dekken de meest gevraagde conversieroutes door ontwerpers, webontwikkelaars en fotografen, allemaal zonder te vertrouwen op externe servers die de privacy van je bestanden in gevaar kunnen brengen.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG, JPG en WebP: De Drie Pijlers van Modern Webdesign',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: '<strong>PNG-formaat</strong> valt op door zijn verliesvrije compressie en ondersteuning voor transparantie (alfakanaal), en is de standaard voor logo\'s, iconen en afbeeldingen with scherpe randen. <strong>JPG-formaat</strong> biedt maximale universele compatibiliteit en gereduceerde bestandsgroottes voor foto\'s, maar offert kwaliteit op bij elke opslag. Het door Google ontwikkelde <strong>WebP-formaat</strong> combineert het beste van beide: 30-40% betere compressie dan PNG/JPG met ondersteuning voor transparantie en animatie, en is nu het aanbevolen formaat door Core Web Vitals om LCP te verbeteren.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['Formaat', 'Transparantie', 'Compressie', 'Beste voor'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', 'Ja', 'Lossless', 'Logo\'s, graphics, screenshots'],
|
|
41
|
+
['JPG', 'Nee', 'Lossy', 'Foto\'s, grote afbeeldingen'],
|
|
42
|
+
['WebP', 'Ja', 'Lossless/Lossy', 'Modern web, prestaties'],
|
|
43
|
+
['SVG', 'Ja', 'Vector', 'Schaalbare iconen, animaties'],
|
|
44
|
+
['AVIF', 'Ja', 'Superieur', 'Next-gen web'],
|
|
45
|
+
['ICO', 'Ja', 'Bitmap', 'Favicons, Windows iconen'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Volgende Generatie Formaten: AVIF en WebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: '<strong>AVIF-formaat</strong> (AV1 Image File Format) is de technologische opvolger van WebP en biedt tot 50% kleinere bestandsgroottes dan JPG bij dezelfde subjectieve kwaliteit. Hoewel de adoptie snel groeit, maakt de beperkte compatibiliteit in oudere systemen het converteren van AVIF naar meer gevestigde formaten zoals JPG, PNG of WebP tot een frequente behoefte in productieworkflows.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: 'Webprestatie tip',
|
|
60
|
+
html: 'Om de laadsnelheid van de pagina te maximaliseren, gebruik WebP als het primaire formaat op je website met JPG/PNG fallbacks voor oudere browsers. Het HTML <code>picture</code> element met meerdere <code>source</code> tags stelt je in staat om het optimale formaat te serveren op basis van de ondersteuning van de browser van de bezoeker.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG, BMP en ICO: Speciale Toepassingen',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: '<strong>SVG-bestanden</strong> zijn wiskundige vectoren die zonder kwaliteitsverlies schalen naar elke resolutie, perfect voor logo\'s en grafisch ontwerp. Veel platforms en bewerkingsprogramma\'s ondersteunen ze echter niet direct, waardoor het nodig is om ze te rasteren naar PNG of JPG voor distributie. <strong>BMP-bestanden</strong>, hoewel verouderd voor webgebruik, blijven gebruikelijk in Windows-omgevingen en oudere bewerkingssoftware. Ten slotte is het <strong>ICO-formaat</strong> de standaard voor web favicons en Windows icoonaanpassingen, waarvoor een specifieke binaire headerstructuur vereist is die onze converter systeemeigen genereert.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: 'Combinaties', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: 'Privacy', value: '100% lokaal', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: 'Formaten', value: '8 types', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Totale Privacy: Conversie zonder Servers',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'In tegenstelling tot andere online tools die je afbeeldingen naar externe servers uploaden (met de bijbehorende privacy- en veiligheidsrisico\'s), gebruiken onze converters uitsluitend systeemeigen browser-API\'s: <strong>Canvas 2D API</strong> voor rastering, <strong>FileReader API</strong> om bestanden lokaal te lezen en <strong>Blob/URL.createObjectURL</strong> voor downloads. Dit betekent dat je vertrouwelijke afbeeldingen, bedrijfslogo\'s of privédocumenten met volledige beveiliging kunt converteren.',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'konwertery-obrazow',
|
|
5
|
+
title: 'Konwertery Obrazów Online',
|
|
6
|
+
description: 'Darmowe narzędzia do konwersji obrazów między formatami PNG, JPG, WebP, SVG, AVIF, GIF, BMP i ICO. Wszystko jest przetwarzane lokalnie w Twojej przeglądarce, bez przesyłania plików do Internetu.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: 'Dlaczego warto korzystać z naszych konwerterów',
|
|
11
|
+
items: [
|
|
12
|
+
'W 100% lokalna konwersja: Twoje obrazy nigdy nie opuszczają Twojego urządzenia.',
|
|
13
|
+
'Wsparcie dla 21 kombinacji formatów: PNG, JPG, WebP, SVG, AVIF, GIF, BMP i ICO.',
|
|
14
|
+
'Przetwarzanie wsadowe z możliwością pobrania archiwum ZIP.',
|
|
15
|
+
'Bez rejestracji, bez limitów, bez uciążliwych reklam.',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: 'Konwersja Obrazu: Kompleksowy Przewodnik po Formatach',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: 'Wybór właściwego formatu obrazu ma bezpośredni wpływ na wydajność strony, kompatybilność urządzeń i subiektywnie postrzeganą jakość wizualną. Nasze <strong>konwertery obrazów online</strong> obsługują najczęściej poszukiwane przez projektantów, deweloperów i fotografów ścieżki konwersji, a wszystko to bez polegania na zewnętrznych serwerach, które mogłyby naruszyć prywatność Twoich plików.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG, JPG i WebP: Trzy Filary Nowoczesnego Projektowania WWW',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: '<strong>Format PNG</strong> wyróżnia się bezstratną kompresją i obsługą przezroczystości (kanał alfa), będąc standardem dla logo, ikon i grafik o ostrych krawędziach. <strong>Format JPG</strong> oferuje maksymalną uniwersalną kompatybilność i mniejsze rozmiary dla zdjęć, ale traci na jakości przy każdym zapisie. Opracowany przez Google <strong>format WebP</strong> łączy w sobie najlepsze cechy obu tych rozwiązań: o 30-40% lepszą kompresję niż PNG/JPG przy zachowaniu wsparcia dla przezroczystości i animacji. Jest to obecnie format zalecany przez Core Web Vitals w celu poprawy wskaźnika LCP.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['Format', 'Przezroczystość', 'Kompresja', 'Najlepszy do'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', 'Tak', 'Bezstratna', 'Logo, grafiki, zrzuty ekranu'],
|
|
41
|
+
['JPG', 'Nie', 'Stratna', 'Zdjęcia, duże obrazy'],
|
|
42
|
+
['WebP', 'Tak', 'Bezstratna/Stratna', 'Nowoczesne WWW, wydajność'],
|
|
43
|
+
['SVG', 'Tak', 'Wektorowa', 'Skalowalne ikony, animacje'],
|
|
44
|
+
['AVIF', 'Tak', 'Najwyższa', 'WWW nowej generacji'],
|
|
45
|
+
['ICO', 'Tak', 'Bitmapowa', 'Favikony, ikony Windows'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Formaty Nowej Generacji: AVIF i WebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: '<strong>Format AVIF</strong> (AV1 Image File Format) jest technologicznym następcą WebP, oferującym do 50% mniejszy rozmiar pliku niż JPG przy zachowaniu identycznej jakości wizualnej. Choć jego popularność szybko rośnie, ograniczona kompatybilność ze starszymi systemami sprawia, że konwersja z AVIF na bardziej utrwalone formaty, takie jak JPG, PNG czy WebP, jest częstą potrzebą w profesjonalnych projektach.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: 'Wskazówka dotycząca wydajności WWW',
|
|
60
|
+
html: 'Aby zmaksymalizować szybkość ładowania strony, używaj WebP jako głównego formatu w swojej witrynie, zapewniając JPG/PNG jako alternatywę (fallback) dla starszych przeglądarek. Element HTML <code>picture</code> z wieloma znacznikami <code>source</code> pozwala przeglądarce na wybór optymalnego formatu w zależności od stopnia jego wsparcia.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG, BMP i ICO: Specyficzne Zastosowania',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: '<strong>Pliki SVG</strong> to wektory matematyczne, które można skalować bezstratnie do dowolnej rozdzielczości, co czyni je idealnymi dla logo i projektów graficznych. Jednak wiele platform i aplikacji do edycji nie wspiera ich bezpośrednio, co wymusza ich rasteryzację do formatu PNG lub JPG w celu publikacji. <strong>Pliki BMP</strong>, choć przestarzałe w kontekście WWW, wciąż są powszechnie używane w środowiskach Windows i starszym oprogramowaniu graficznym. Z kolei <strong>format ICO</strong> jest standardem dla favikon internetowych i ikon systemowych Windows, wymagającym specyficznej struktury nagłówka binarnego, którą nasz konwerter generuje natywnie.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: 'Kombinacje', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: 'Prywatność', value: '100% lokalnie', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: 'Formaty', value: '8 typów', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Całkowita Prywatność: Konwersja bez Serwerów',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'W przeciwieństwie do innych narzędzi online, które przesyłają Twoje obrazy na zdalne serwery (co niesie ze sobą ryzyko dla prywatności i bezpieczeństwa), nasze konwertery korzystają wyłącznie z natywnych API przeglądarki: <strong>Canvas 2D API</strong> do rasteryzacji, <strong>FileReader API</strong> do lokalnego odczytu plików oraz <strong>Blob/URL.createObjectURL</strong> do pobierania wyników. Oznacza to, że możesz konwertować poufne obrazy, logo firmowe czy dokumenty prywatne z zachowaniem pełnego bezpieczeństwa.',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'conversores-de-imagem',
|
|
5
|
+
title: 'Conversores de Imagem Online',
|
|
6
|
+
description: 'Ferramentas gratuitas para converter imagens entre os formatos PNG, JPG, WebP, SVG, AVIF, GIF, BMP e ICO. Tudo é processado localmente no seu navegador, sem carregar nada para a internet.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: 'Por que usar os nossos conversores',
|
|
11
|
+
items: [
|
|
12
|
+
'Conversão 100% local: as suas imagens nunca saem do seu dispositivo.',
|
|
13
|
+
'Suporte para 21 combinações de formatos: PNG, JPG, WebP, SVG, AVIF, GIF, BMP e ICO.',
|
|
14
|
+
'Processamento em lote com download em ZIP.',
|
|
15
|
+
'Sem registo, sem limites, sem anúncios intrusivos.',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: 'Conversão de Imagem: Guia Completo de Formatos',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: 'Escolher o formato de imagem correto tem um impacto direto no desempenho web, na compatibilidade de dispositivos e na qualidade visual percebida. Os nossos <strong>conversores de imagem online</strong> abrangem as rotas de conversão mais solicitadas por designers, desenvolvedores web e fotógrafos, tudo sem depender de servidores externos que poderiam comprometer a privacidade dos seus ficheiros.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG, JPG e WebP: Os Três Pilares do Web Design Moderno',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: 'O <strong>formato PNG</strong> destaca-se pela sua compressão sem perdas e suporte para transparência (canal alfa), sendo o padrão para logótipos, ícones e gráficos com bordas nítidas. O <strong>formato JPG</strong> oferece a máxima compatibilidade universal e tamanhos reduzidos para fotos, mas sacrifica a qualidade a cada gravação. O <strong>formato WebP</strong>, desenvolvido pela Google, combina o melhor de ambos: compressão 30-40% melhor que PNG/JPG com suporte para transparência e animação, sendo agora o formato recomendado pelos Core Web Vitals para melhorar o LCP.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['Formato', 'Transparência', 'Compressão', 'Ideal para'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', 'Sim', 'Sem perdas', 'Logótipos, gráficos, capturas de ecrã'],
|
|
41
|
+
['JPG', 'Não', 'Com perdas', 'Fotos, imagens grandes'],
|
|
42
|
+
['WebP', 'Sim', 'Com/Sem perdas', 'Web moderna, desempenho'],
|
|
43
|
+
['SVG', 'Sim', 'Vetorial', 'Ícones escaláveis, animações'],
|
|
44
|
+
['AVIF', 'Sim', 'Superior', 'Web de próxima geração'],
|
|
45
|
+
['ICO', 'Sim', 'Bitmap', 'Favicons, ícones do Windows'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Formatos de Próxima Geração: AVIF e WebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: 'O <strong>formato AVIF</strong> (AV1 Image File Format) é o sucessor tecnológico do WebP, oferecendo até 50% menos tamanho de ficheiro que o JPG para a mesma qualidade subjetiva. Embora a sua adoção cresça rapidamente, a compatibilidade limitada em sistemas mais antigos torna a conversão de AVIF para formatos mais estabelecidos como JPG, PNG ou WebP uma necessidade frequente nos fluxos de trabalho de produção.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: 'Dica de desempenho web',
|
|
60
|
+
html: 'Para maximizar a velocidade de carregamento da página, use WebP como o formato principal no seu site, com alternativas (fallbacks) em JPG/PNG para navegadores mais antigos. O elemento HTML <code>picture</code> com várias tags <code>source</code> permite servir o formato ideal com base no suporte do navegador do visitante.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG, BMP e ICO: Casos de Uso Especiais',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: 'Os <strong>ficheiros SVG</strong> são vetores matemáticos que escalam sem perdas para qualquer resolução, perfeitos para logótipos e design gráfico. No entanto, muitas plataformas e aplicações de edição não os suportam diretamente, tornando necessário rasterizá-los para PNG o JPG para distribuição. Os <strong>ficheiros BMP</strong>, embora obsoletos para uso web, continuam comuns em ambientes Windows e software de edição legado. Por fim, o <strong>formato ICO</strong> é o padrão para favicons web e personalização de ícones do Windows, exigindo uma estrutura de cabeçalho binário específica que o nosso conversor gera nativamente.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: 'Combinações', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: 'Privacidade', value: '100% local', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: 'Formatos', value: '8 tipos', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Privacidade Total: Conversão sem Servidores',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'Ao contrário de outras ferramentas online que carregam as suas imagens para servidores remotos (com os riscos de privacidade e segurança que isso acarreta), os nossos conversores usam exclusivamente APIs nativas do navegador: <strong>Canvas 2D API</strong> para rasterização, <strong>FileReader API</strong> para ler ficheiros localmente e <strong>Blob/URL.createObjectURL</strong> para transferências. Isto significa que pode converter imagens confidenciais, logótipos corporativos ou documentos privados com total segurança.',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'konveryery-izobrazhenij',
|
|
5
|
+
title: 'Онлайн Конвертеры Изображений',
|
|
6
|
+
description: 'Бесплатные инструменты для конвертации изображений между форматами PNG, JPG, WebP, SVG, AVIF, GIF, BMP и ICO. Все обрабатывается локально в вашем браузере без загрузки в интернет.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: 'Почему стоит использовать наши конвертеры',
|
|
11
|
+
items: [
|
|
12
|
+
'100% локальная конвертация: ваши изображения никогда не покидают ваше устройство.',
|
|
13
|
+
'Поддержка 21 комбинации форматов: PNG, JPG, WebP, SVG, AVIF, GIF, BMP и ICO.',
|
|
14
|
+
'Пакетная обработка со скачиванием в ZIP.',
|
|
15
|
+
'Без регистрации, без лимитов, без навязчивой рекламы.',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: 'Конвертация изображений: полное руководство по форматам',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: 'Выбор правильного формата изображения напрямую влияет на производительность сайта, совместимость устройств и воспринимаемое визуальное качество. Наши <strong>онлайн-конвертеры изображений</strong> охватывают наиболее востребованные маршруты конвертации для дизайнеров, веб-разработчиков и фотографов, и все это без использования внешних серверов, которые могли бы поставить под угрозу конфиденциальность ваших файлов.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG, JPG и WebP: три кита современного веб-дизайна',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: '<strong>Формат PNG</strong> отличается сжатием без потерь и поддержкой прозрачности (альфа-канал), являясь стандартом для логотипов, иконок и графики с четкими краями. <strong>Формат JPG</strong> обеспечивает максимальную универсальную совместимость и уменьшенный размер для фотографий, но жертвует качеством при каждом сохранении. <strong>Формат WebP</strong>, разработанный Google, сочетает в себе лучшее из обоих миров: сжатие на 30-40% лучше, чем у PNG/JPG, с поддержкой прозрачности и анимации, и теперь является форматом, рекомендованным Core Web Vitals для улучшения LCP.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['Формат', 'Прозрачность', 'Сжатие', 'Лучше всего для'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', 'Да', 'Без потерь', 'Логотипы, графика, скриншоты'],
|
|
41
|
+
['JPG', 'Нет', 'С потерями', 'Фотографии, большие изображения'],
|
|
42
|
+
['WebP', 'Да', 'Без потерь/С потерями', 'Современный веб, скорость'],
|
|
43
|
+
['SVG', 'Да', 'Векторное', 'Масштабируемые иконки, анимация'],
|
|
44
|
+
['AVIF', 'Да', 'Превосходное', 'Веб нового поколения'],
|
|
45
|
+
['ICO', 'Да', 'Растровое', 'Фавиконы, иконки Windows'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Форматы следующего поколения: AVIF и WebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: '<strong>Формат AVIF</strong> (AV1 Image File Format) является технологическим преемником WebP, предлагая размер файла до 50% меньше, чем JPG при равном субъективном качестве. Хотя его внедрение быстро растет, ограниченная совместимость со старыми системами делает конвертацию AVIF в более устоявшиеся форматы, такие как JPG, PNG или WebP, частой необходимостью в производственных процессах.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: 'Совет по производительности веб сайта',
|
|
60
|
+
html: 'Чтобы максимально ускорить загрузку страниц, используйте WebP в качестве основного формата на своем сайте с резервными вариантами (fallbacks) в форматах JPG/PNG для старых браузеров. Элемент HTML <code>picture</code> с несколькими тегами <code>source</code> позволяет предоставлять оптимальный формат в зависимости от поддержки используемого браузера.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG, BMP и ICO: специальные случаи использования',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: '<strong>Файлы SVG</strong> — это математические векторы, которые масштабируются без потерь до любого разрешения, что идеально подходит для логотипов и графического дизайна. Однако многие платформы и приложения для редактирования не поддерживают их напрямую, поэтому для распространения их необходимо растрировать в PNG или JPG. <strong>Битмап-файлы (BMP)</strong>, хотя и устарели для использования в Интернете, по-прежнему часто встречаются в среде Windows и устаревшем программном обеспечении для редактирования. Наконец, <strong>формат ICO</strong> является стандартом для веб-фавиконов и настройки значков Windows, требуя определенной структуры двоичного заголовка, которую наш конвертер генерирует нативно.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: 'Комбинации', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: 'Приватность', value: '100% локально', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: 'Форматы', value: '8 типов', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Полная конфиденциальность: конвертация без серверов',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'В отличие от других онлайн-инструментов, которые загружают ваши изображения на удаленные серверы (со всеми вытекающими рисками для конфиденциальности и безопасности), наши конвертеры используют исключительно встроенные API браузера: <strong>Canvas 2D API</strong> для растрирования, <strong>FileReader API</strong> для локального чтения файлов и <strong>Blob/URL.createObjectURL</strong> для скачивания. Это означает, что вы можете конвертировать конфиденциальные изображения, корпоративные логотипы или частные документы в полной безопасности.',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'bildkonverterare',
|
|
5
|
+
title: 'Bildkonverterare Online',
|
|
6
|
+
description: 'Gratis verktyg för att konvertera bilder mellan formaten PNG, JPG, WebP, SVG, AVIF, GIF, BMP och ICO. Allt bearbetas lokalt i din webbläsare utan att något laddas upp till internet.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: 'Varför använda våra konverterare',
|
|
11
|
+
items: [
|
|
12
|
+
'100 % lokal konvertering: dina bilder lämnar aldrig din enhet.',
|
|
13
|
+
'Stöd för 21 formatkombinationer: PNG, JPG, WebP, SVG, AVIF, GIF, BMP och ICO.',
|
|
14
|
+
'Batchbearbetning med ZIP-nedladdning.',
|
|
15
|
+
'Ingen registrering, inga gränser, inga påträngande annonser.',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: 'Bildkonvertering: Komplett formatguide',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: 'Att välja rätt bildformat har en direkt inverkan på webbprestanda, enhetskompatibilitet och upplevd visuell kvalitet. Våra <strong>bildkonverterare online</strong> täcker de mest efterfrågade konverteringsvägarna av designers, webbutvecklare och fotografer, allt utan att förlita sig på externa servrar som kan äventyra integriteten för dina filer.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG, JPG och WebP: De tre pelarna i modern webbdesign',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: '<strong>PNG-formatet</strong> utmärker sig för sin förlustfria komprimering och stöd för transparens (alfakanal), och är standarden för logotyper, ikoner och grafik med skarpa kanter. <strong>JPG-formatet</strong> erbjuder maximal universell kompatibilitet och reducerade storlekar för foton, men offrar kvalitet vid varje sparande. <strong>WebP-formatet</strong>, utvecklat av Google, kombinerar det bästa av båda: 30–40 % bättre komprimering än PNG/JPG med stöd för transparens och animering, och är nu det rekommenderade formatet av Core Web Vitals för att förbättra LCP.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['Format', 'Transparens', 'Komprimering', 'Bäst för'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', 'Ja', 'Förlustfri', 'Logotyper, grafik, skärmdumpar'],
|
|
41
|
+
['JPG', 'Nej', 'Förlustgivande', 'Foton, stora bilder'],
|
|
42
|
+
['WebP', 'Ja', 'Förlustfri/givande', 'Modern webb, prestanda'],
|
|
43
|
+
['SVG', 'Ja', 'Vektor', 'Skalbara ikoner, animationer'],
|
|
44
|
+
['AVIF', 'Ja', 'Överlägsen', 'Nästa generations webb'],
|
|
45
|
+
['ICO', 'Ja', 'Bitmapp', 'Favicons, Windows-ikoner'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Nästa generations format: AVIF och WebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: '<strong>AVIF-formatet</strong> (AV1 Image File Format) är den tekniska efterföljaren till WebP och erbjuder upp till 50 % mindre filstorlek än JPG vid samma subjektiva kvalitet. Även om användningen växer snabbt, gör begränsad kompatibilitet i äldre system att konvertering från AVIF till mer etablerade format som JPG, PNG eller WebP är ett vanligt behov i produktionsflöden.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: 'Tips för webbprestanda',
|
|
60
|
+
html: 'För att maximera sidladdningshastigheten, använd WebP som huvudformat på din webbplats med JPG/PNG-fallbacks för äldre webbläsare. HTML-elementet <code>picture</code> med flera <code>source</code>-taggar gör att du kan servera det optimala formatet baserat på den besökande webbläsarens stöd.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG, BMP och ICO: Speciella användningsområden',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: '<strong>SVG-filer</strong> är matematiska vektorer som skalar förlustfritt till valfri upplösning, perfekt för logotyper och grafisk design. Många plattformar och redigeringsprogram stöder dem dock inte direkt, vilket gör det nödvändigt att rastrera dem till PNG eller JPG för distribution. <strong>BMP-filer</strong>, även om de är föråldrade för webbanvändning, förblir vanliga i Windows-miljöer och äldre redigeringsprogram. Slutligen är <strong>ICO-formatet</strong> standarden för webbfavicons och Windows-ikonanpassning, vilket kräver en specifik binär huvudstruktur som vår konverterare genererar inbyggt.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: 'Kombinationer', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: 'Integritet', value: '100 % lokalt', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: 'Format', value: '8 typer', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Total integritet: Konvertering utan servrar',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'Till skillnad från andra onlineverktyg som laddar upp dina bilder till fjärrservrar (med de integritets- och säkerhetsrisker det innebär), använder våra konverterare uteslutande inbyggda webbläsar-API:er: <strong>Canvas 2D API</strong> för rastrering, <strong>FileReader API</strong> för att läsa filer lokalt och <strong>Blob/URL.createObjectURL</strong> för nedladdningar. Detta innebär att du kan konvertera konfidentiella bilder, företagslogotyper eller privata dokument med fullständig säkerhet.',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'goruntu-donusturuculer',
|
|
5
|
+
title: 'Çevrimiçi Görüntü Dönüştürücüler',
|
|
6
|
+
description: 'PNG, JPG, WebP, SVG, AVIF, GIF, BMP ve ICO formatları arasında görüntüleri dönüştürmek için ücretsiz araçlar. Her şey internete yüklenmeden tarayıcınızda yerel olarak işlenir.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: 'Neden bizim dönüştürücülerimizi kullanmalısınız?',
|
|
11
|
+
items: [
|
|
12
|
+
'%100 yerel dönüştürme: görüntüleriniz asla cihazınızdan çıkmaz.',
|
|
13
|
+
'21 format kombinasyonu desteği: PNG, JPG, WebP, SVG, AVIF, GIF, BMP ve ICO.',
|
|
14
|
+
'ZIP indirme ile toplu işleme.',
|
|
15
|
+
'Kayıt yok, sınır yok, rahatsız edici reklamlar yok.',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: 'Görüntü Dönüştürme: Eksiksiz Format Kılavuzu',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: 'Doğru görüntü formatını seçmek web performansı, cihaz uyumluluğu ve algılanan görsel kalite üzerinde doğrudan etkiye sahiptir. <strong>Çevrimiçi görüntü dönüştürücülerimiz</strong>, tasarımcılar, web geliştiricileri ve fotoğrafçılar tarafından en çok talep edilen dönüştürme yollarını kapsar ve bunların hiçbiri dosyalarınızın gizliliğini tehlikeye atabilecek harici sunuculara dayanmaz.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG, JPG ve WebP: Modern Web Tasarımının Üç Temel Taşı',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: '<strong>PNG formatı</strong>, kayıpsız sıkıştırma ve şeffaflık desteği (alfa kanalı) ile öne çıkar; logolar, simgeler ve keskin kenarlı grafikler için standarttır. <strong>JPG formatı</strong>, fotoğraflar için maksimum evrensel uyumluluk ve küçültülmüş boyutlar sunar, ancak her kayıtta kaliteden ödün verir. Google tarafından geliştirilen <strong>WebP formatı</strong>, her ikisinin de en iyisini birleştirir: şeffaflık ve animasyon desteğiyle PNG/JPG\'den %30-40 daha iyi sıkıştırma sağlar; şu anda LCP\'yi iyileştirmek için Core Web Vitals tarafından önerilen formattır.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['Format', 'Şeffaflık', 'Sıkıştırma', 'En iyi kullanım'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', 'Evet', 'Kayıpsız', 'Logolar, grafikler, ekran görüntüleri'],
|
|
41
|
+
['JPG', 'Hayır', 'Kayıplı', 'Fotoğraflar, büyük görüntüler'],
|
|
42
|
+
['WebP', 'Evet', 'Kayıpsız/Kayıplı', 'Modern web, performans'],
|
|
43
|
+
['SVG', 'Evet', 'Vektör', 'Ölçeklenebilir simgeler, animasyonlar'],
|
|
44
|
+
['AVIF', 'Evet', 'Üstün', 'Yeni nesil web'],
|
|
45
|
+
['ICO', 'Evet', 'Bitmap', 'Faviconlar, Windows simgeleri'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Yeni Nesil Formatlar: AVIF ve WebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: '<strong>AVIF formatı</strong> (AV1 Image File Format), WebP\'nin teknolojik halefidir ve eşit sübjektif kalitede JPG\'den %50\'ye kadar daha küçük dosya boyutu sunar. Benimsenmesi hızla artsa da, eski sistemlerdeki sınırlı uyumluluk, AVIF\'in JPG, PNG veya WebP gibi daha yerleşik formatlara dönüştürülmesini üretim iş akışlarında sık görülen bir ihtiyaç haline getirir.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: 'Web performansı ipucu',
|
|
60
|
+
html: 'Sayfa yükleme hızını en üst düzeye çıkarmak için, web sitenizde birincil format olarak WebP kullanın ve eski tarayıcılar için JPG/PNG yedekleri (fallbacks) ekleyin. Birden fazla <code>source</code> etiketine sahip HTML <code>picture</code> öğesi, ziyaret eden tarayıcının desteğine göre en uygun formatı sunmanıza olanak tanır.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG, BMP ve ICO: Özel Kullanım Durumları',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: '<strong>SVG dosyaları</strong>, herhangi bir çözünürlüğe kayıpsız bir şekilde ölçeklenen matematiksel vektörlerdir; logolar ve grafik tasarım için mükemmeldir. Ancak birçok platform ve düzenleme uygulaması bunları doğrudan desteklemez, bu da dağıtım için PNG veya JPG\'ye rasterleştirilmesini gerekli kılar. <strong>BMP dosyaları</strong>, web kullanımı için modası geçmiş olsa da, Windows ortamlarında ve eski düzenleme yazılımlarında yaygınlığını korumaktadır. Son olarak, <strong>ICO formatı</strong>, dönüştürücümüzün yerel olarak oluşturduğu özel bir ikili başlık yapısı gerektiren web faviconları ve Windows simge özelleştirmesi için standarttır.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: 'Kombinasyonlar', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: 'Gizlilik', value: '%100 yerel', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: 'Formatlar', value: '8 tip', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Tam Gizlilik: Sunucusuz Dönüştürme',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'Görüntülerinizi uzak sunuculara yükleyen diğer çevrimiçi araçların aksine (bunun getirdiği gizlilik ve güvenlik riskleriyle birlikte), dönüştürücülerimiz yalnızca yerel tarayıcı API\'lerini kullanır: rasterleştirme için <strong>Canvas 2D API</strong>, dosyaları yerel olarak okumak için <strong>FileReader API</strong> ve indirmeler için <strong>Blob/URL.createObjectURL</strong>. Bu, gizli görüntüleri, kurumsal logoları veya özel belgeleri tam güvenlikle dönüştürebileceğiniz anlamına gelir.',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'image-converters',
|
|
5
|
+
title: '在线图像转换器',
|
|
6
|
+
description: '在 PNG、JPG、WebP、SVG、AVIF、GIF、BMP 和 ICO 格式之间转换图像的免费工具。所有操作都在您的浏览器中本地处理,无需上传到互联网。',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'summary',
|
|
10
|
+
title: '为什么使用我们的转换器',
|
|
11
|
+
items: [
|
|
12
|
+
'100% 本地转换:您的图像永远不会离开您的设备。',
|
|
13
|
+
'支持 21 种格式组合:PNG、JPG、WebP、SVG、AVIF、GIF、BMP 和 ICO。',
|
|
14
|
+
'支持 ZIP 下载的批量处理。',
|
|
15
|
+
'无需注册,无限制,无侵入性广告。',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'title',
|
|
20
|
+
text: '图像转换:完整格式指南',
|
|
21
|
+
level: 2,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
html: '选择正确的图像格式直接影响网页性能、设备兼容性和感知的视觉质量。我们的<strong>在线图像转换器</strong>涵盖了设计师、网页开发人员和摄影师需求最频繁的转换路径,所有这些都不依赖于可能损害文件隐私的外部服务器。',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'title',
|
|
29
|
+
text: 'PNG、JPG 和 WebP:现代网页设计的三大支柱',
|
|
30
|
+
level: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
html: '<strong>PNG 格式</strong>以其无损压缩和透明度支持(Alpha 通道)脱颖而出,是标志、图标和具有锋利边缘图形的标准。<strong>JPG 格式</strong>为照片提供最大的通用兼容性和减小的尺寸,但每次保存都会牺牲质量。由 Google 开发的 <strong>WebP 格式</strong>结合了两者之长:比 PNG/JPG 的压缩率高 30-40%,且支持透明度和动画,现在是 Core Web Vitals 推荐用于改善 LCP 的格式。',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'table',
|
|
38
|
+
headers: ['格式', '透明度', '压缩', '最适合'],
|
|
39
|
+
rows: [
|
|
40
|
+
['PNG', '是', '无损', '标志、图形、屏幕截图'],
|
|
41
|
+
['JPG', '否', '有损', '照片、大图'],
|
|
42
|
+
['WebP', '是', '无损/有损', '现代网页、性能'],
|
|
43
|
+
['SVG', '是', '矢量', '可缩放图标、动画'],
|
|
44
|
+
['AVIF', '是', '卓越', '下一代网页'],
|
|
45
|
+
['ICO', '是', '位图', '网站图标、Windows 图标'],
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: '下一代格式:AVIF 和 WebP',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: '<strong>AVIF 格式</strong> (AV1 Image File Format) 是 WebP 的技术继任者,在主观质量相同的情况下,文件大小比 JPG 小 50%。虽然其采用率快速增长,但在旧系统中的兼容性有限,使得在生产工作流中经常需要将 AVIF 转换为更成熟的格式(如 JPG、PNG 或 WebP)。',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'tip',
|
|
59
|
+
title: '网页性能提示',
|
|
60
|
+
html: '为了最大限度地提高页面加载速度,请在您的网站上使用 WebP 作为主要格式,并为旧浏览器提供 JPG/PNG 备用。具有多个 <code>source</code> 标签的 HTML <code>picture</code> 元素允许您根据访问浏览器的支持情况提供最佳格式。',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'title',
|
|
64
|
+
text: 'SVG、BMP 和 ICO:特殊用例',
|
|
65
|
+
level: 2,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: '<strong>SVG 文件</strong>是数学矢量,可以无损缩放到任何分辨率,非常适合标志和图形设计。然而,许多平台和编辑应用程序并不直接支持它们,因此需要将它们光栅化为 PNG 或 JPG 以进行分发。<strong>BMP 文件</strong>虽然在网页使用方面已经过时,但在 Windows 环境和旧版编辑软件中仍然很常见。最后,<strong>ICO 格式</strong>是网页图标和 Windows 图标自定义的标准,需要我们的转换器原生生成的特定二进制头结构。',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'stats',
|
|
73
|
+
columns: 3,
|
|
74
|
+
items: [
|
|
75
|
+
{ label: '组合', value: '21', icon: 'mdi:image-sync' },
|
|
76
|
+
{ label: '隐私', value: '100% 本地', icon: 'mdi:shield-lock' },
|
|
77
|
+
{ label: '格式', value: '8 种类型', icon: 'mdi:file-image' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: '完全隐私:无需服务器转换',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: '与其他将图像上传到远程服务器(由于隐私和安全风险)的在线工具不同,我们的转换器仅使用原生浏览器 API:用于光栅化的 <strong>Canvas 2D API</strong>、用于本地读取文件的 <strong>FileReader API</strong> 以及用于下载的 <strong>Blob/URL.createObjectURL</strong> kenyataan. 这意味着您可以完全安全地转换机密图像、公司标志或私人文档。',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
package/src/category/index.ts
CHANGED
|
@@ -32,8 +32,20 @@ export const convertersCategory: ConvertersCategoryEntry = {
|
|
|
32
32
|
pngAIco, jpgAIco, webpAIco,
|
|
33
33
|
],
|
|
34
34
|
i18n: {
|
|
35
|
-
|
|
35
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
36
36
|
en: () => import('./i18n/en').then((m) => m.content),
|
|
37
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
37
38
|
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
39
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
40
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
41
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
42
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
43
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
44
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
45
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
46
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
47
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
48
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
49
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
38
50
|
},
|
|
39
51
|
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { convertersCategory as toolsCategory } from '../category/index';
|
|
3
|
+
import type { CategoryLocaleContent } from '../types';
|
|
4
|
+
|
|
5
|
+
const EXPECTED_LOCALES = [
|
|
6
|
+
'de', 'en', 'es', 'fr', 'id', 'it', 'ja', 'ko', 'nl', 'pl', 'pt', 'ru', 'sv', 'tr', 'zh'
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
const sharingLocales = ['ja', 'ko', 'zh'];
|
|
10
|
+
|
|
11
|
+
describe('Category Validation', () => {
|
|
12
|
+
it('should have all 15 required locales', () => {
|
|
13
|
+
const registeredLocales = Object.keys(toolsCategory.i18n);
|
|
14
|
+
EXPECTED_LOCALES.forEach((locale) => {
|
|
15
|
+
expect(
|
|
16
|
+
registeredLocales,
|
|
17
|
+
`Category is missing locale "${locale}"`,
|
|
18
|
+
).toContain(locale);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
describe('Category Slug Validation', () => {
|
|
23
|
+
it('every locale should have a unique, translated slug and follow format rules', async () => {
|
|
24
|
+
const slugs = new Map<string, string>();
|
|
25
|
+
const locales = Object.keys(toolsCategory.i18n);
|
|
26
|
+
|
|
27
|
+
let enSlug = '';
|
|
28
|
+
if (locales.includes('en')) {
|
|
29
|
+
const enLoader = toolsCategory.i18n['en' as keyof typeof toolsCategory.i18n];
|
|
30
|
+
const enContent = (await enLoader?.()) as CategoryLocaleContent;
|
|
31
|
+
enSlug = enContent.slug;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
for (const locale of locales) {
|
|
35
|
+
const loader = toolsCategory.i18n[locale as keyof typeof toolsCategory.i18n];
|
|
36
|
+
const content = (await loader?.()) as CategoryLocaleContent;
|
|
37
|
+
|
|
38
|
+
expect(
|
|
39
|
+
content.slug,
|
|
40
|
+
`Category locale "${locale}" has an invalid slug ("${content.slug}"). Slugs must be transliterated (only a-z, 0-9, and -).`,
|
|
41
|
+
).toMatch(/^[a-z0-9-]+$/);
|
|
42
|
+
|
|
43
|
+
expect(
|
|
44
|
+
content.slug,
|
|
45
|
+
`Category locale "${locale}" slug ("${content.slug}") cannot end with a 2-letter language code (e.g., -ja, -ru, -ko).`,
|
|
46
|
+
).not.toMatch(/-[a-z]{2}$/);
|
|
47
|
+
|
|
48
|
+
if (locale !== 'en') {
|
|
49
|
+
if (sharingLocales.includes(locale)) {
|
|
50
|
+
expect(
|
|
51
|
+
content.slug,
|
|
52
|
+
`Category locale "${locale}" must use the same slug as "en" ("${enSlug}").`,
|
|
53
|
+
).toBe(enSlug);
|
|
54
|
+
} else {
|
|
55
|
+
expect(
|
|
56
|
+
content.slug,
|
|
57
|
+
`Category locale "${locale}" has the same slug as "en" ("${enSlug}"). Cada slug tiene que estar en su propio idioma`,
|
|
58
|
+
).not.toBe(enSlug);
|
|
59
|
+
|
|
60
|
+
if (slugs.has(content.slug)) {
|
|
61
|
+
const previousLocale = slugs.get(content.slug);
|
|
62
|
+
expect(
|
|
63
|
+
false,
|
|
64
|
+
`Category locales "${locale}" and "${previousLocale}" share the same slug ("${content.slug}"). Cada slug tiene que estar en su propia idioma`,
|
|
65
|
+
).toBe(true);
|
|
66
|
+
}
|
|
67
|
+
slugs.set(content.slug, locale);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { ALL_TOOLS } from '../tools';
|
|
3
|
+
import type { ToolLocaleContent } from '../types';
|
|
4
|
+
|
|
5
|
+
describe('Slug Language Code Format Validation', () => {
|
|
6
|
+
ALL_TOOLS.forEach((tool) => {
|
|
7
|
+
describe(`Tool: ${tool.entry.id}`, () => {
|
|
8
|
+
it('slug should not end with 2-letter language codes like -ja, -ru, -ko', async () => {
|
|
9
|
+
const locales = Object.keys(tool.entry.i18n);
|
|
10
|
+
|
|
11
|
+
for (const locale of locales) {
|
|
12
|
+
const loader = tool.entry.i18n[locale as keyof typeof tool.entry.i18n];
|
|
13
|
+
const content = (await loader?.()) as ToolLocaleContent;
|
|
14
|
+
|
|
15
|
+
expect(
|
|
16
|
+
content.slug,
|
|
17
|
+
`Tool "${tool.entry.id}" locale "${locale}" slug ("${content.slug}") cannot end with a 2-letter language code (e.g., -ja, -ru, -ko).`,
|
|
18
|
+
).not.toMatch(/-[a-z]{2}$/);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
});
|