refactor: remove jepgify

This commit is contained in:
Maya 2025-10-19 17:38:46 +03:00
parent 677ec9250e
commit f88a9a6ec3
No known key found for this signature in database
14 changed files with 60 additions and 267 deletions

View File

@ -17,8 +17,7 @@
"subtitle": "Die Verarbeitung aller Bild-, Audio- und Dokumentdateien findet auf deinem Gerät statt. Videos werden auf unseren blitzschnellen Servern konvertiert. Kein Dateigrößenlimit, keine Werbung und vollständig Open-Source.", "subtitle": "Die Verarbeitung aller Bild-, Audio- und Dokumentdateien findet auf deinem Gerät statt. Videos werden auf unseren blitzschnellen Servern konvertiert. Kein Dateigrößenlimit, keine Werbung und vollständig Open-Source.",
"uploader": { "uploader": {
"text": "Dateien hier ablegen oder klicken zum {action}", "text": "Dateien hier ablegen oder klicken zum {action}",
"convert": "Konvertieren", "convert": "Konvertieren"
"jpegify": "Jpegifizieren"
}, },
"cards": { "cards": {
"title": "VERT unterstützt...", "title": "VERT unterstützt...",
@ -190,7 +189,7 @@
"notable_contributors": "Besonders erwähnenswerte Mitwirkende", "notable_contributors": "Besonders erwähnenswerte Mitwirkende",
"notable_description": "Wir möchten diesen Personen für ihre wichtigen Beiträge zu VERT danken.", "notable_description": "Wir möchten diesen Personen für ihre wichtigen Beiträge zu VERT danken.",
"github_contributors": "GitHub-Mitwirkende", "github_contributors": "GitHub-Mitwirkende",
"github_description": "Ein großes [jpegify_link]Dankeschön[/jpegify_link] an all diese Leute für ihre Hilfe! [github_link]Möchtest du auch helfen?[/github_link]", "github_description": "Ein großes Dankeschön an all diese Leute für ihre Hilfe! [github_link]Möchtest du auch helfen?[/github_link]",
"no_contributors": "Scheint, als hätte noch niemand beigetragen... [contribute_link]sei der Erste, der beiträgt![/contribute_link]", "no_contributors": "Scheint, als hätte noch niemand beigetragen... [contribute_link]sei der Erste, der beiträgt![/contribute_link]",
"libraries": "Bibliotheken", "libraries": "Bibliotheken",
"libraries_description": "Ein großes Dankeschön an FFmpeg (Audio, Video), ImageMagick (Bilder) und Pandoc (Dokumente) für die Pflege solch exzellenter Bibliotheken über so viele Jahre. VERT verlässt sich auf sie, um dir deine Konvertierungen zu ermöglichen.", "libraries_description": "Ein großes Dankeschön an FFmpeg (Audio, Video), ImageMagick (Bilder) und Pandoc (Dokumente) für die Pflege solch exzellenter Bibliotheken über so viele Jahre. VERT verlässt sich auf sie, um dir deine Konvertierungen zu ermöglichen.",
@ -215,12 +214,5 @@
"no_audio": "Kein Audiostream gefunden.", "no_audio": "Kein Audiostream gefunden.",
"invalid_rate": "Ungültige Abtastrate angegeben: {rate}Hz" "invalid_rate": "Ungültige Abtastrate angegeben: {rate}Hz"
} }
},
"jpegify": {
"title": "GEHEIMES JPEGIFIZIEREN!!!",
"subtitle": "(psst... sag es niemandem!)",
"button": "JPEGIFIZIEREN {compression}%!!!",
"download": "Herunterladen",
"delete": "Löschen"
} }
} }

View File

@ -17,8 +17,7 @@
"subtitle": "Όλη η επεξεργασία εικόνων, ήχου και εγγράφων γίνεται στη συσκευή σας. Τα βίντεο μετατρέπονται στους κεραυνοβόλα γρήγορους διακομιστές μας. Χωρίς όριο μεγέθους αρχείου, χωρίς διαφημίσεις και εντελώς ανοιχτού κώδικα.", "subtitle": "Όλη η επεξεργασία εικόνων, ήχου και εγγράφων γίνεται στη συσκευή σας. Τα βίντεο μετατρέπονται στους κεραυνοβόλα γρήγορους διακομιστές μας. Χωρίς όριο μεγέθους αρχείου, χωρίς διαφημίσεις και εντελώς ανοιχτού κώδικα.",
"uploader": { "uploader": {
"text": "Σύρετε ή κάντε κλικ για {action}", "text": "Σύρετε ή κάντε κλικ για {action}",
"convert": "μετατροπή", "convert": "μετατροπή"
"jpegify": "μετατροπή σε jpeg"
}, },
"cards": { "cards": {
"title": "Το VERT υποστηρίζει...", "title": "Το VERT υποστηρίζει...",
@ -216,7 +215,7 @@
"notable_contributors": "Αξιόλογοι συνεισφέροντες", "notable_contributors": "Αξιόλογοι συνεισφέροντες",
"notable_description": "Θα θέλαμε να ευχαριστήσουμε αυτά τα άτομα για τις σημαντικές συνεισφορές τους στο VERT.", "notable_description": "Θα θέλαμε να ευχαριστήσουμε αυτά τα άτομα για τις σημαντικές συνεισφορές τους στο VERT.",
"github_contributors": "Συνεισφέροντες στο GitHub", "github_contributors": "Συνεισφέροντες στο GitHub",
"github_description": "Μεγάλες [jpegify_link]ευχαριστίες[/jpegify_link] σε όλα αυτά τα άτομα που βοήθησαν! [github_link]Θέλετε να βοηθήσετε κι εσείς;[/github_link]", "github_description": "Μεγάλες ευχαριστίες σε όλα αυτά τα άτομα που βοήθησαν! [github_link]Θέλετε να βοηθήσετε κι εσείς;[/github_link]",
"no_contributors": "Φαίνεται ότι κανείς δεν έχει συνεισφέρει ακόμα... [contribute_link]γίνετε ο πρώτος που θα συνεισφέρει![/contribute_link]", "no_contributors": "Φαίνεται ότι κανείς δεν έχει συνεισφέρει ακόμα... [contribute_link]γίνετε ο πρώτος που θα συνεισφέρει![/contribute_link]",
"libraries": "Βιβλιοθήκες", "libraries": "Βιβλιοθήκες",
"libraries_description": "Μεγάλες ευχαριστίες στα FFmpeg (ήχος, βίντεο), ImageMagick (εικόνες) και Pandoc (έγγραφα) που διατηρούν τέτοιες εξαιρετικές βιβλιοθήκες για τόσα χρόνια. Το VERT βασίζεται σε αυτές για να σας παρέχει τις μετατροπές σας.", "libraries_description": "Μεγάλες ευχαριστίες στα FFmpeg (ήχος, βίντεο), ImageMagick (εικόνες) και Pandoc (έγγραφα) που διατηρούν τέτοιες εξαιρετικές βιβλιοθήκες για τόσα χρόνια. Το VERT βασίζεται σε αυτές για να σας παρέχει τις μετατροπές σας.",
@ -241,12 +240,5 @@
"no_audio": "Δεν βρέθηκε ροή ήχου.", "no_audio": "Δεν βρέθηκε ροή ήχου.",
"invalid_rate": "Καθορίστηκε μη έγκυρος ρυθμός δειγματοληψίας: {rate}Hz" "invalid_rate": "Καθορίστηκε μη έγκυρος ρυθμός δειγματοληψίας: {rate}Hz"
} }
},
"jpegify": {
"title": "ΜΥΣΤΙΚΟ JPEGIFY!!!",
"subtitle": "(σσσ... μην το πεις σε κανέναν!)",
"button": "JPEGIFY {compression}%!!!",
"download": "Λήψη",
"delete": "Διαγραφή"
} }
} }

View File

@ -18,8 +18,7 @@
"subtitle": "All image, audio, and document processing is done on your device. Videos are converted on our lightning-fast servers. No file size limit, no ads, and completely open source.", "subtitle": "All image, audio, and document processing is done on your device. Videos are converted on our lightning-fast servers. No file size limit, no ads, and completely open source.",
"uploader": { "uploader": {
"text": "Drop or click to {action}", "text": "Drop or click to {action}",
"convert": "convert", "convert": "convert"
"jpegify": "jpegify"
}, },
"cards": { "cards": {
"title": "VERT supports...", "title": "VERT supports...",
@ -225,7 +224,7 @@
"notable_contributors": "Notable contributors", "notable_contributors": "Notable contributors",
"notable_description": "We'd like to thank these people for their major contributions to VERT.", "notable_description": "We'd like to thank these people for their major contributions to VERT.",
"github_contributors": "GitHub contributors", "github_contributors": "GitHub contributors",
"github_description": "Big [jpegify_link]thanks[/jpegify_link] to all these people for helping out! [github_link]Want to help too?[/github_link]", "github_description": "Big thanks to all these people for helping out! [github_link]Want to help too?[/github_link]",
"no_contributors": "Seems like no one has contributed yet... [contribute_link]be the first to contribute![/contribute_link]", "no_contributors": "Seems like no one has contributed yet... [contribute_link]be the first to contribute![/contribute_link]",
"libraries": "Libraries", "libraries": "Libraries",
"libraries_description": "A big thanks to FFmpeg (audio, video), ImageMagick (images) and Pandoc (documents) for maintaining such excellent libraries for so many years. VERT relies on them to provide you with your conversions.", "libraries_description": "A big thanks to FFmpeg (audio, video), ImageMagick (images) and Pandoc (documents) for maintaining such excellent libraries for so many years. VERT relies on them to provide you with your conversions.",
@ -251,13 +250,6 @@
"invalid_rate": "Invalid sample rate specified: {rate}Hz" "invalid_rate": "Invalid sample rate specified: {rate}Hz"
} }
}, },
"jpegify": {
"title": "SECRET JPEGIFY!!!",
"subtitle": "(shh... don't tell anyone!)",
"button": "JPEGIFY {compression}%!!!",
"download": "Download",
"delete": "Delete"
},
"privacy": { "privacy": {
"title": "Privacy Policy" "title": "Privacy Policy"
} }

View File

@ -17,8 +17,7 @@
"subtitle": "Todo el procesamiento de imágenes, audio y documentos es hecho en tu dispositivo. Los vídeos son convertidos en nuestros servidores ultra rápidos. Sin límite de tamaño de archivo, sin anuncios y de código abierto.", "subtitle": "Todo el procesamiento de imágenes, audio y documentos es hecho en tu dispositivo. Los vídeos son convertidos en nuestros servidores ultra rápidos. Sin límite de tamaño de archivo, sin anuncios y de código abierto.",
"uploader": { "uploader": {
"text": "Arrastra o haz clic para {action}", "text": "Arrastra o haz clic para {action}",
"convert": "convertir", "convert": "convertir"
"jpegify": "jpegificar"
}, },
"cards": { "cards": {
"title": "VERT soporta...", "title": "VERT soporta...",
@ -210,7 +209,7 @@
"notable_contributors": "Colaboradores destacados", "notable_contributors": "Colaboradores destacados",
"notable_description": "Queremos dar las gracias a las siguientes personas por sus importantes contribuciones a VERT.", "notable_description": "Queremos dar las gracias a las siguientes personas por sus importantes contribuciones a VERT.",
"github_contributors": "Contribuidores de GitHub", "github_contributors": "Contribuidores de GitHub",
"github_description": "¡Muchas [jpegify_link]gracias[/jpegify_link] a todos los que han contribuido! [github_link]¿Quieres contribuir también?[/github_link]", "github_description": "¡Muchas gracias a todos los que han contribuido! [github_link]¿Quieres contribuir también?[/github_link]",
"no_contributors": "Parece que nadie ha contribuido todavía... [contribute_link]¡Sé el primero en hacerlo![/contribute_link]", "no_contributors": "Parece que nadie ha contribuido todavía... [contribute_link]¡Sé el primero en hacerlo![/contribute_link]",
"libraries": "Librerías", "libraries": "Librerías",
"libraries_description": "Muchas gracias a FFmpeg (audio, vídeo), ImageMagick (imágenes) y Pandoc (documentos) por mantener librerías excelentes por tantos años. VERT depende de ellas para proporcionar tus conversiones.", "libraries_description": "Muchas gracias a FFmpeg (audio, vídeo), ImageMagick (imágenes) y Pandoc (documentos) por mantener librerías excelentes por tantos años. VERT depende de ellas para proporcionar tus conversiones.",
@ -235,12 +234,5 @@
"no_audio": "No se encontró una pista de audio.", "no_audio": "No se encontró una pista de audio.",
"invalid_rate": "La tasa de muestreo especificada no es válida: {rate}Hz" "invalid_rate": "La tasa de muestreo especificada no es válida: {rate}Hz"
} }
},
"jpegify": {
"title": "¡¡¡JPEGIFICADOR SECRETO!!!",
"subtitle": "(shh... ¡no se lo digas a nadie!)",
"button": "¡¡¡JPEGIFICAR {compression}%!!!",
"download": "Descargar",
"delete": "Eliminar"
} }
} }

View File

@ -17,8 +17,7 @@
"subtitle": "Tout le traitement des images, des fichiers audio et des documents s'effectue sur votre appareil. Les vidéos sont converties sur nos serveurs ultra-rapides. Aucune limite de taille de fichier, aucune publicité et entièrement open source.", "subtitle": "Tout le traitement des images, des fichiers audio et des documents s'effectue sur votre appareil. Les vidéos sont converties sur nos serveurs ultra-rapides. Aucune limite de taille de fichier, aucune publicité et entièrement open source.",
"uploader": { "uploader": {
"text": "Déposer ou cliquer pour {action}", "text": "Déposer ou cliquer pour {action}",
"convert": "convertir", "convert": "convertir"
"jpegify": "jpegify"
}, },
"cards": { "cards": {
"title": "VERT supports...", "title": "VERT supports...",
@ -190,7 +189,7 @@
"notable_contributors": "Contributeurs notables", "notable_contributors": "Contributeurs notables",
"notable_description": "Nous tenons à remercier ces personnes pour leurs contributions majeures à VERT.", "notable_description": "Nous tenons à remercier ces personnes pour leurs contributions majeures à VERT.",
"github_contributors": "Les contributeurs de GitHub", "github_contributors": "Les contributeurs de GitHub",
"github_description": "Un grand [jpegify_link]merci[/jpegify_link] à toutes ces personnes pour leur aide ! [github_link]Vous voulez aussi aider ?[/github_link]", "github_description": "Un grand merci à toutes ces personnes pour leur aide ! [github_link]Vous voulez aussi aider ?[/github_link]",
"no_contributors": "Il semble que personne n'ait encore contribué... [contribute_link]soyez le premier à contribuer ![/contribute_link]", "no_contributors": "Il semble que personne n'ait encore contribué... [contribute_link]soyez le premier à contribuer ![/contribute_link]",
"libraries": "Bibliothèques", "libraries": "Bibliothèques",
"libraries_description": "un grand merci à FFmpeg (audio, video), ImageMagick (images) et Pandoc (documents) pour avoir maintenu d'aussi excellentes bibliothèques pendant tant d'années, VERT compte sur eux pour vous fournir vos conversions.", "libraries_description": "un grand merci à FFmpeg (audio, video), ImageMagick (images) et Pandoc (documents) pour avoir maintenu d'aussi excellentes bibliothèques pendant tant d'années, VERT compte sur eux pour vous fournir vos conversions.",
@ -215,12 +214,5 @@
"no_audio": "Aucun flux audio détécté.", "no_audio": "Aucun flux audio détécté.",
"invalid_rate": "Taux d'échantillonnage spécifié non valide: {rate}Hz" "invalid_rate": "Taux d'échantillonnage spécifié non valide: {rate}Hz"
} }
},
"jpegify": {
"title": "SECRET JPEGIFY!!!",
"subtitle": "(chut... ne le dis à personne !)",
"button": "JPEGIFY {compression}%!!!",
"download": "Télécharger",
"delete": "Supprimer"
} }
} }

View File

@ -17,8 +17,7 @@
"subtitle": "Cijelokupna obrada slika, zvuka i dokumenata se odvija na vašem uređaju. Videozapisi se pretvaraju na našim izrazito brzim serverima. Nema nikakvih ograničenja veličine niti reklama i potpuno je open source.", "subtitle": "Cijelokupna obrada slika, zvuka i dokumenata se odvija na vašem uređaju. Videozapisi se pretvaraju na našim izrazito brzim serverima. Nema nikakvih ograničenja veličine niti reklama i potpuno je open source.",
"uploader": { "uploader": {
"text": "Ubaci ili klikni da {action}", "text": "Ubaci ili klikni da {action}",
"convert": "pretvori", "convert": "pretvori"
"jpegify": "jpegiraj"
}, },
"cards": { "cards": {
"title": "VERT podržava...", "title": "VERT podržava...",
@ -190,7 +189,7 @@
"notable_contributors": "Značajni suradnici", "notable_contributors": "Značajni suradnici",
"notable_description": "Želimo zahvaliti ovim ljudima za njihove ogromne doprinose VERTu.", "notable_description": "Želimo zahvaliti ovim ljudima za njihove ogromne doprinose VERTu.",
"github_contributors": "GitHub suradnici", "github_contributors": "GitHub suradnici",
"github_description": "Velike [jpegify_link]zahvale[/jpegify_link] svim ovim ljudima koji su nam pomogli! [github_link]Želiš nam i ti pomoći?[/github_link]", "github_description": "Velike zahvale svim ovim ljudima koji su nam pomogli! [github_link]Želiš nam i ti pomoći?[/github_link]",
"no_contributors": "Čini se kako nitko nije još doprinio... [contribute_link]budite prvi koji će doprinjeti![/contribute_link]", "no_contributors": "Čini se kako nitko nije još doprinio... [contribute_link]budite prvi koji će doprinjeti![/contribute_link]",
"libraries": "Biblioteke", "libraries": "Biblioteke",
"libraries_description": "Velike zahvale prema FFmpeg (audio, video), ImageMagick (slike) i Pandoc (dokumenti) što su održavali tako odlične biblioteke svih ovih godina. VERT se oslanja na njih da bi Vam pružili pretvorbu.", "libraries_description": "Velike zahvale prema FFmpeg (audio, video), ImageMagick (slike) i Pandoc (dokumenti) što su održavali tako odlične biblioteke svih ovih godina. VERT se oslanja na njih da bi Vam pružili pretvorbu.",
@ -214,12 +213,5 @@
"no_audio": "Nije pronađen audio.", "no_audio": "Nije pronađen audio.",
"invalid_rate": "Upisan nevažeći sample rate: {rate}Hz!" "invalid_rate": "Upisan nevažeći sample rate: {rate}Hz!"
} }
},
"jpegify": {
"title": "TAJNI JPEGIFY!!!",
"subtitle": "(shhhh... nemoj reći nikome!)",
"button": "JPEGIRAJ {compression}%!!!",
"download": "Preuzmi",
"delete": "Obriši"
} }
} }

View File

@ -17,8 +17,7 @@
"subtitle": "Tutta l'elaborazione di immagini, audio e documenti avviene sul tuo dispositivo. I video sono convertiti sui nostri server velocissimi. Nessun limite di dimensione, nessuna pubblicità e completamente open source.", "subtitle": "Tutta l'elaborazione di immagini, audio e documenti avviene sul tuo dispositivo. I video sono convertiti sui nostri server velocissimi. Nessun limite di dimensione, nessuna pubblicità e completamente open source.",
"uploader": { "uploader": {
"text": "Trascina o clicca per {action}", "text": "Trascina o clicca per {action}",
"convert": "convertire", "convert": "convertire"
"jpegify": "jpegificare"
}, },
"cards": { "cards": {
"title": "VERT supporta...", "title": "VERT supporta...",
@ -216,7 +215,7 @@
"notable_contributors": "Contributori di rilievo", "notable_contributors": "Contributori di rilievo",
"notable_description": "Vorremmo ringraziare queste persone per i loro importanti contributi a VERT.", "notable_description": "Vorremmo ringraziare queste persone per i loro importanti contributi a VERT.",
"github_contributors": "Contributori GitHub", "github_contributors": "Contributori GitHub",
"github_description": "Un grande [jpegify_link]grazie[/jpegify_link] a tutte queste persone per aver dato una mano! [github_link]Vuoi aiutare anche tu?[/github_link]", "github_description": "Un grande grazie a tutte queste persone per aver dato una mano! [github_link]Vuoi aiutare anche tu?[/github_link]",
"no_contributors": "Sembra che nessuno abbia ancora contribuito... [contribute_link]sii il primo a contribuire![/contribute_link]", "no_contributors": "Sembra che nessuno abbia ancora contribuito... [contribute_link]sii il primo a contribuire![/contribute_link]",
"libraries": "Librerie", "libraries": "Librerie",
"libraries_description": "Un grande ringraziamento a FFmpeg (audio, video), ImageMagick (immagini) e Pandoc (documenti) per aver mantenuto librerie così eccellenti per così tanti anni. VERT si affida a loro per fornirti le tue conversioni.", "libraries_description": "Un grande ringraziamento a FFmpeg (audio, video), ImageMagick (immagini) e Pandoc (documenti) per aver mantenuto librerie così eccellenti per così tanti anni. VERT si affida a loro per fornirti le tue conversioni.",
@ -241,12 +240,5 @@
"no_audio": "Nessuno *stream* audio trovato.", "no_audio": "Nessuno *stream* audio trovato.",
"invalid_rate": "Frequenza di campionamento specificata non valida: {rate}Hz" "invalid_rate": "Frequenza di campionamento specificata non valida: {rate}Hz"
} }
},
"jpegify": {
"title": "JPEGIFY SEGRETO!!!",
"subtitle": "(shh... non dirlo a nessuno!)",
"button": "JPEGIFY {compression}%!!!",
"download": "Scarica",
"delete": "Elimina"
} }
} }

View File

@ -17,8 +17,7 @@
"subtitle": "すべての画像・音声・ドキュメント処理はデバイス上で行われます。動画は超高速サーバーで変換されます。ファイルサイズ制限なし、広告なし、完全オープンソース。", "subtitle": "すべての画像・音声・ドキュメント処理はデバイス上で行われます。動画は超高速サーバーで変換されます。ファイルサイズ制限なし、広告なし、完全オープンソース。",
"uploader": { "uploader": {
"text": "ドロップまたはクリックして{action}", "text": "ドロップまたはクリックして{action}",
"convert": "変換", "convert": "変換"
"jpegify": "JPEG化"
}, },
"cards": { "cards": {
"title": "VERTがサポートしている形式", "title": "VERTがサポートしている形式",
@ -210,7 +209,7 @@
"notable_contributors": "特筆すべき貢献者", "notable_contributors": "特筆すべき貢献者",
"notable_description": "VERTに大きく貢献してくださった方々に感謝します。", "notable_description": "VERTに大きく貢献してくださった方々に感謝します。",
"github_contributors": "GitHubの貢献者", "github_contributors": "GitHubの貢献者",
"github_description": "多くの方々に[jpegify_link]感謝[/jpegify_link]します![github_link]あなたも参加してみませんか?[/github_link]", "github_description": "多くの方々に感謝します![github_link]あなたも参加してみませんか?[/github_link]",
"no_contributors": "まだ誰も貢献していないようです… [contribute_link]最初の貢献者になりましょう![/contribute_link]", "no_contributors": "まだ誰も貢献していないようです… [contribute_link]最初の貢献者になりましょう![/contribute_link]",
"libraries": "ライブラリ", "libraries": "ライブラリ",
"libraries_description": "長年にわたり優れたライブラリを提供してくれているFFmpeg音声・動画、ImageMagick画像、Pandocドキュメントに感謝します。VERTはこれらに依存して動作しています。", "libraries_description": "長年にわたり優れたライブラリを提供してくれているFFmpeg音声・動画、ImageMagick画像、Pandocドキュメントに感謝します。VERTはこれらに依存して動作しています。",
@ -235,12 +234,5 @@
"no_audio": "音声ストリームが見つかりません。", "no_audio": "音声ストリームが見つかりません。",
"invalid_rate": "無効なサンプリングレートが指定されました: {rate}Hz" "invalid_rate": "無効なサンプリングレートが指定されました: {rate}Hz"
} }
},
"jpegify": {
"title": "秘密のJPEGIFY!!!",
"subtitle": "(しっ…誰にも言わないで!)",
"button": "JPEGIFY {compression}%!!!",
"download": "ダウンロード",
"delete": "削除"
} }
} }

View File

@ -17,8 +17,7 @@
"subtitle": "Tüm görüntü, ses ve belge işlemleri cihazınızda gerçekleştirilir. Videolar, ışık hızındaki sunucularımızda dönüştürülür. Dosya boyutu sınırı ve reklam yoktur. Tamamen açık kaynaklıdır.", "subtitle": "Tüm görüntü, ses ve belge işlemleri cihazınızda gerçekleştirilir. Videolar, ışık hızındaki sunucularımızda dönüştürülür. Dosya boyutu sınırı ve reklam yoktur. Tamamen açık kaynaklıdır.",
"uploader": { "uploader": {
"text": "{action} için sürükleyip bırakın veya dosya seçin", "text": "{action} için sürükleyip bırakın veya dosya seçin",
"convert": "dönüştürmek", "convert": "dönüştürmek"
"jpegify": "jpegify"
}, },
"cards": { "cards": {
"title": "VERT'in desteklediği formatlar...", "title": "VERT'in desteklediği formatlar...",
@ -211,7 +210,7 @@
"notable_contributors": "Önemli katılımcılar", "notable_contributors": "Önemli katılımcılar",
"notable_description": "VERT'e sağladıkları büyük katkılardan dolayı bu kişilere teşekkür ederiz.", "notable_description": "VERT'e sağladıkları büyük katkılardan dolayı bu kişilere teşekkür ederiz.",
"github_contributors": "GitHub katılımcıları", "github_contributors": "GitHub katılımcıları",
"github_description": "Yardımcı olan herkese çok [jpegify_link]teşekkürler[/jpegify_link]! [github_link]Sen de yardım etmek ister misin?[/github_link]", "github_description": "Yardımcı olan herkese çok teşekkürler! [github_link]Sen de yardım etmek ister misin?[/github_link]",
"no_contributors": "Henüz kimse katkıda bulunmamış gibi görünüyor... [contribute_link]ilk katkıda bulunan sen ol![/contribute_link]", "no_contributors": "Henüz kimse katkıda bulunmamış gibi görünüyor... [contribute_link]ilk katkıda bulunan sen ol![/contribute_link]",
"libraries": "Kütüphaneler", "libraries": "Kütüphaneler",
"libraries_description": "Bu mükemmel kütüphaneleri yıllardır geliştirdikleri için FFmpeg (ses, video), ImageMagick (görseller) ve Pandoc (belgeler)'a çok teşekkür ederiz. VERT, dönüştürme işlemleri için bu kütüphaneleri kullanmaktadır.", "libraries_description": "Bu mükemmel kütüphaneleri yıllardır geliştirdikleri için FFmpeg (ses, video), ImageMagick (görseller) ve Pandoc (belgeler)'a çok teşekkür ederiz. VERT, dönüştürme işlemleri için bu kütüphaneleri kullanmaktadır.",
@ -236,12 +235,5 @@
"no_audio": "Ses akışı bulunamadı.", "no_audio": "Ses akışı bulunamadı.",
"invalid_rate": "Geçersiz örnekleme hızı: {hız}Hz" "invalid_rate": "Geçersiz örnekleme hızı: {hız}Hz"
} }
},
"jpegify": {
"title": "GİZLİ JPEGIFY!!!",
"subtitle": "(şşş... kimseye söyleme!)",
"button": "JPEGIFY {compression}%!!!",
"download": "İndir",
"delete": "Sil"
} }
} }

View File

@ -11,10 +11,9 @@
type Props = { type Props = {
class?: string; class?: string;
jpegify?: boolean;
}; };
const { class: classList, jpegify }: Props = $props(); const { class: classList }: Props = $props();
let uploaderButton = $state<HTMLButtonElement>(); let uploaderButton = $state<HTMLButtonElement>();
let fileInput = $state<HTMLInputElement>(); let fileInput = $state<HTMLInputElement>();
@ -43,13 +42,9 @@
const handleFileChange = (e: Event) => { const handleFileChange = (e: Event) => {
if (!fileInput) return; if (!fileInput) return;
if (page.url.pathname !== "/jpegify/") { const oldLength = files.files.length;
const oldLength = files.files.length; files.add(fileInput.files);
files.add(fileInput.files); if (oldLength !== files.files.length) goto("/convert");
if (oldLength !== files.files.length) goto("/convert");
} else {
files.add(fileInput.files);
}
}; };
onMount(() => { onMount(() => {
@ -100,9 +95,7 @@
</div> </div>
<h2 class="text-center text-2xl font-semibold mt-4"> <h2 class="text-center text-2xl font-semibold mt-4">
{m["upload.uploader.text"]({ {m["upload.uploader.text"]({
action: jpegify action: m["upload.uploader.convert"]()
? m["upload.uploader.jpegify"]()
: m["upload.uploader.convert"](),
})} })}
</h2> </h2>
</Panel> </Panel>

View File

@ -36,11 +36,6 @@
color: "var(--bg-gradient-from)", color: "var(--bg-gradient-from)",
at: 25, at: 25,
}, },
{
matcher: (path) => path === "/jpegify/",
color: "var(--bg-gradient-red-from)",
at: 100,
},
{ {
matcher: (path) => path === "/privacy/", matcher: (path) => path === "/privacy/",
color: "var(--bg-gradient-red-from)", color: "var(--bg-gradient-red-from)",

View File

@ -94,30 +94,34 @@
<div class="flex flex-col gap-1"> <div class="flex flex-col gap-1">
<h2 class="text-base font-bold"> <h2 class="text-base font-bold">
{m["about.credits.github_contributors"]()} {m["about.credits.github_contributors"]()}
</h2> </h2>
{#if ghContribs && ghContribs.length > 0}
<p class="text-base text-muted font-normal">
{@html sanitize(
link(
"github_link",
m["about.credits.github_description"](),
GITHUB_URL_VERT,
true,
"text-blue-500 font-normal hover:underline",
),
)}
</p>
{:else}
<p class="text-base text-muted font-normal italic">
{@html sanitize(
link(
"contribute_link",
m["about.credits.no_contributors"](),
GITHUB_URL_VERT,
true,
"text-blue-500 font-normal hover:underline",
),
)}
</p>
{/if}
</div>
{#if ghContribs && ghContribs.length > 0} {#if ghContribs && ghContribs.length > 0}
<p class="text-base text-muted font-normal">
{@html sanitize(link(
["jpegify_link", "github_link"],
m["about.credits.github_description"](),
["/jpegify", GITHUB_URL_VERT],
[false, true],
[
"text-black dynadark:text-white",
"text-blue-500 font-normal hover:underline",
],
))}
</p>
{:else}
<p class="text-base text-muted font-normal italic">
{@html sanitize(link(
"contribute_link",
m["about.credits.no_contributors"](),
GITHUB_URL_VERT,
))}
</p>
{/if}
</div> {#if ghContribs && ghContribs.length > 0}
<div class="flex flex-row flex-wrap gap-2"> <div class="flex flex-row flex-wrap gap-2">
{#each ghContribs as contrib} {#each ghContribs as contrib}
{@const { name, github, avatar } = contrib} {@const { name, github, avatar } = contrib}

View File

@ -46,13 +46,9 @@
const dropFiles = (e: DragEvent) => { const dropFiles = (e: DragEvent) => {
e.preventDefault(); e.preventDefault();
dropping.set(false); dropping.set(false);
if (page.url.pathname !== "/jpegify/") { const oldLength = files.files.length;
const oldLength = files.files.length; files.add(e.dataTransfer?.files);
files.add(e.dataTransfer?.files); if (oldLength !== files.files.length) goto("/convert");
if (oldLength !== files.files.length) goto("/convert");
} else {
files.add(e.dataTransfer?.files);
}
}; };
const handleDrag = (e: DragEvent, drag: boolean) => { const handleDrag = (e: DragEvent, drag: boolean) => {
@ -64,14 +60,9 @@
const clipboardData = e.clipboardData; const clipboardData = e.clipboardData;
if (!clipboardData || !clipboardData.files.length) return; if (!clipboardData || !clipboardData.files.length) return;
e.preventDefault(); e.preventDefault();
const oldLength = files.files.length;
if (page.url.pathname !== "/jpegify/") { files.add(clipboardData.files);
const oldLength = files.files.length; if (oldLength !== files.files.length) goto("/convert");
files.add(clipboardData.files);
if (oldLength !== files.files.length) goto("/convert");
} else {
files.add(clipboardData.files);
}
}; };
onMount(() => { onMount(() => {
@ -128,7 +119,7 @@
name="description" name="description"
content="With VERT you can quickly convert any image, video and audio file. No ads, no tracking, open source, and all processing (other than video) is done on your device." content="With VERT you can quickly convert any image, video and audio file. No ads, no tracking, open source, and all processing (other than video) is done on your device."
/> />
<meta property="og:url" content="https://vert.sh"> <meta property="og:url" content="https://vert.sh" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta <meta
property="og:title" property="og:title"
@ -139,9 +130,9 @@
content="With VERT you can quickly convert any image, video and audio file. No ads, no tracking, open source, and all processing (other than video) is done on your device." content="With VERT you can quickly convert any image, video and audio file. No ads, no tracking, open source, and all processing (other than video) is done on your device."
/> />
<meta property="og:image" content={featuredImage} /> <meta property="og:image" content={featuredImage} />
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="vert.sh"> <meta property="twitter:domain" content="vert.sh" />
<meta property="twitter:url" content="https://vert.sh"> <meta property="twitter:url" content="https://vert.sh" />
<meta <meta
property="twitter:title" property="twitter:title"
content="{VERT_NAME} — Free, fast, and awesome file converter" content="{VERT_NAME} — Free, fast, and awesome file converter"

View File

@ -1,118 +0,0 @@
<script lang="ts">
import { flip } from "$lib/animation";
import Uploader from "$lib/components/functional/Uploader.svelte";
import Panel from "$lib/components/visual/Panel.svelte";
import { files } from "$lib/store/index.svelte";
import { quintOut } from "svelte/easing";
import { blur } from "svelte/transition";
import { m } from "$lib/paraglide/messages";
const images = $derived(
files.files.filter((f) =>
f.converters.map((c) => c.name).includes("imagemagick"),
),
);
let forcedBlobURLs = $state<Map<string, string>>(new Map());
const jpegify = () => {
const imgs = [...images];
imgs.map(async (f, i) => {
f.to = ".jpeg";
const result = await f.convert(compression);
if (!result) return;
forcedBlobURLs.set(f.id, URL.createObjectURL(result.file));
forcedBlobURLs = new Map([...forcedBlobURLs]);
});
};
let compressionInverted = $state(10);
const compression = $derived(100 - compressionInverted);
const processing = $derived(images.map((f) => f.processing).includes(true));
</script>
<svelte:head>
<meta name="robots" content="noindex" />
</svelte:head>
<div class="mx-auto w-full max-w-[778px] flex flex-col gap-8">
<h1 class="text-5xl text-center">{m["jpegify.title"]()}</h1>
<p class="text-muted text-center -mt-4 font-normal italic">
{m["jpegify.subtitle"]()}
</p>
<Uploader class="w-full h-64" jpegify={true} />
<input
type="range"
min="1"
max="100"
step="1"
class="w-full h-2 bg-panel rounded-lg appearance-none cursor-pointer"
bind:value={compressionInverted}
disabled={processing}
/>
<button
onclick={jpegify}
disabled={processing}
class="btn bg-accent text-black rounded-2xl text-2xl w-full mx-auto"
>{m["jpegify.button"]({ compression: compressionInverted })}</button
>
<div class="flex flex-wrap flex-row justify-center gap-4">
{#each images as file, i (file.id)}
<div
class="max-w-full w-full h-96"
animate:flip={{ duration: 400, easing: quintOut }}
transition:blur={{
duration: 400,
amount: 8,
easing: quintOut,
}}
>
<Panel class="w-full h-full flex flex-col gap-4 relative z-0">
<div
class="relative rounded-xl flex-grow overflow-hidden flex items-center justify-center"
>
<img
src={forcedBlobURLs.get(file.id) ||
file.result?.blobUrl ||
file.blobUrl}
alt={file.name}
class="h-full relative"
/>
<img
src={forcedBlobURLs.get(file.id) ||
file.result?.blobUrl ||
file.blobUrl}
alt={file.name}
class="h-full absolute top-0 left-0 w-full object-cover blur-2xl -z-10"
/>
</div>
<div class="flex-shrink-0 flex items-center gap-4 w-full">
<button
onclick={() => {
file?.download();
}}
disabled={!!!file.result}
class="btn bg-accent text-black rounded-2xl text-2xl w-full mx-auto"
>
{m["jpegify.download"]()}
</button>
<button
onclick={() => {
URL.revokeObjectURL(
forcedBlobURLs.get(file.id) || "",
);
forcedBlobURLs.delete(file.id);
files.files = files.files.filter(
(f) => f.id !== file.id,
);
}}
class="btn border-accent-red border-2 bg-transparent text-black dynadark:text-white rounded-2xl text-2xl w-full mx-auto"
>
{m["jpegify.delete"]()}
</button>
</div>
</Panel>
</div>
{/each}
</div>
</div>