From 26a947c9b74f51d65420a55c09e009f97bbc6743 Mon Sep 17 00:00:00 2001 From: "[dyad]" Date: Sun, 18 Jan 2026 17:28:41 +0100 Subject: [PATCH] =?UTF-8?q?[dyad]=20Anwendung=20ins=20Deutsche=20=C3=BCber?= =?UTF-8?q?setzen=20-=20wrote=2017=20file(s)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/changelog/page.tsx | 2 +- src/app/imprint/page.tsx | 26 +++++------ src/app/layout.tsx | 6 +-- src/app/page.tsx | 4 +- src/app/privacy/page.tsx | 20 ++++----- src/components/action-buttons.tsx | 10 ++--- src/components/changelog.tsx | 18 +++++--- src/components/footer.tsx | 4 +- src/components/image-list-item.tsx | 8 ++-- src/components/image-list.tsx | 10 ++--- src/components/image-upload-area.tsx | 6 +-- src/components/settings-panel.tsx | 12 ++--- src/components/settings/filename-settings.tsx | 34 +++++++------- src/components/settings/image-settings.tsx | 44 +++++++++---------- src/components/settings/quality-settings.tsx | 10 ++--- src/hooks/use-image-converter.ts | 30 ++++++------- src/lib/changelog-data.ts | 20 ++++----- 17 files changed, 135 insertions(+), 129 deletions(-) diff --git a/src/app/changelog/page.tsx b/src/app/changelog/page.tsx index ba7c4dd..e4be88e 100644 --- a/src/app/changelog/page.tsx +++ b/src/app/changelog/page.tsx @@ -10,7 +10,7 @@ export default function ChangelogPage() { diff --git a/src/app/imprint/page.tsx b/src/app/imprint/page.tsx index 4b252f5..c84e05d 100644 --- a/src/app/imprint/page.tsx +++ b/src/app/imprint/page.tsx @@ -10,34 +10,34 @@ export default function ImprintPage() {
- Imprint + Impressum

- Information according to § 5 TMG (German Telemedia Act) + Angaben gemäß § 5 TMG

-

Contact Information:

-

[Your Company Name]

-

[Street Name & Number]

-

[Postal Code & City]

-

Email: [your-email@example.com]

-

Phone: [your-phone-number]

+

Kontakt:

+

[Ihr Firmenname]

+

[Straße & Hausnummer]

+

[PLZ & Stadt]

+

E-Mail: [ihre-email@example.com]

+

Telefon: [ihre-telefonnummer]

-

Represented by:

-

[Your Name/CEO's Name]

+

Vertreten durch:

+

[Ihr Name/Name des Geschäftsführers]

-

Disclaimer:

+

Haftungsausschluss:

- This is a sample imprint and not legally binding. Please replace the placeholder content with your own information and consult a legal professional to ensure compliance with all applicable laws. + Dies ist ein Musterimpressum und nicht rechtsverbindlich. Bitte ersetzen Sie die Platzhalterinhalte durch Ihre eigenen Informationen und konsultieren Sie einen Rechtsexperten, um die Einhaltung aller geltenden Gesetze sicherzustellen.

diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 0aaa019..3769a1f 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -16,8 +16,8 @@ const geistMono = Geist_Mono({ }); export const metadata: Metadata = { - title: "Image Web Exporter", - description: "Upload a picture, then export it in a different resolution and format.", + title: "Bild Web Exporter", + description: "Laden Sie ein Bild hoch und exportieren Sie es in einer anderen Auflösung und einem anderen Format.", }; export default function RootLayout({ @@ -26,7 +26,7 @@ export default function RootLayout({ children: React.ReactNode; }>) { return ( - + diff --git a/src/app/page.tsx b/src/app/page.tsx index 42403e1..b42a990 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -6,10 +6,10 @@ export default function Home() {

- Image Web Exporter + Bild Web Exporter

- Upload a picture, then export it in a different resolution and format. + Laden Sie ein Bild hoch und exportieren Sie es in einer anderen Auflösung und einem anderen Format.

diff --git a/src/app/privacy/page.tsx b/src/app/privacy/page.tsx index 8469cdd..5e84f92 100644 --- a/src/app/privacy/page.tsx +++ b/src/app/privacy/page.tsx @@ -10,37 +10,37 @@ export default function PrivacyPage() {
- Data Privacy Policy + Datenschutzerklärung
-

1. General Information

+

1. Allgemeine Informationen

- This is a placeholder for your data privacy policy. It outlines how personal data is collected, used, and protected when you use this website. + Dies ist ein Platzhalter für Ihre Datenschutzerklärung. Sie beschreibt, wie personenbezogene Daten erfasst, verwendet und geschützt werden, wenn Sie diese Website nutzen.

-

2. Data Collection on This Website

+

2. Datenerfassung auf dieser Website

- All image processing happens directly in your browser. The images you upload are not sent to any server and are not stored by us. We do not collect any personal data from the images. + Die gesamte Bildverarbeitung findet direkt in Ihrem Browser statt. Die von Ihnen hochgeladenen Bilder werden an keinen Server gesendet und von uns nicht gespeichert. Wir erheben keine personenbezogenen Daten aus den Bildern.

-

3. Your Rights

+

3. Ihre Rechte

- As no personal data is collected, rights regarding access, rectification, or erasure of personal data are not applicable in this context. + Da keine personenbezogenen Daten erhoben werden, sind die Rechte auf Auskunft, Berichtigung oder Löschung personenbezogener Daten in diesem Zusammenhang nicht anwendbar.

-

Disclaimer:

+

Haftungsausschluss:

- This is a sample privacy policy and not legally binding. It is crucial to adapt this text to your specific data processing activities and to consult with a legal professional to ensure full GDPR compliance. + Dies ist eine Muster-Datenschutzerklärung und nicht rechtsverbindlich. Es ist entscheidend, diesen Text an Ihre spezifischen Datenverarbeitungsaktivitäten anzupassen und einen Rechtsexperten zu konsultieren, um die vollständige Einhaltung der DSGVO sicherzustellen.

diff --git a/src/components/action-buttons.tsx b/src/components/action-buttons.tsx index d314be4..6093bec 100644 --- a/src/components/action-buttons.tsx +++ b/src/components/action-buttons.tsx @@ -11,7 +11,7 @@ interface ActionButtonsProps { export function ActionButtons({ onReset }: ActionButtonsProps) { const handleApply = () => { - toast.info("Settings updated and will be used for all downloads."); + toast.info("Einstellungen aktualisiert und werden für alle Downloads verwendet."); }; return ( @@ -20,18 +20,18 @@ export function ActionButtons({ onReset }: ActionButtonsProps) { -

Reset all settings to their default values.

+

Alle Einstellungen auf ihre Standardwerte zurücksetzen.

-

Confirm and apply all the settings above. This does not download the images.

+

Bestätigen und alle oben genannten Einstellungen anwenden. Dies lädt die Bilder nicht herunter.

diff --git a/src/components/changelog.tsx b/src/components/changelog.tsx index 3de260e..bd43916 100644 --- a/src/components/changelog.tsx +++ b/src/components/changelog.tsx @@ -6,14 +6,20 @@ import { cn } from "@/lib/utils"; import { changelogData } from "@/lib/changelog-data"; export function Changelog() { + const typeTranslations: { [key: string]: string } = { + "New": "Neu", + "Improved": "Verbessert", + "Fixed": "Behoben", + }; + return (

- Changelog + Änderungsprotokoll

- Tracking all the new features, improvements, and bug fixes. + Verfolgung aller neuen Funktionen, Verbesserungen und Fehlerbehebungen.

@@ -32,12 +38,12 @@ export function Changelog() { - {change.type} + {typeTranslations[change.type] || change.type}

{change.text}

diff --git a/src/components/footer.tsx b/src/components/footer.tsx index e63ab3a..8ea9094 100644 --- a/src/components/footer.tsx +++ b/src/components/footer.tsx @@ -27,8 +27,8 @@ export function Footer() {
- Imprint - Privacy + Impressum + Datenschutz {latestVersion && ( {`Preview
- +

- Final name: {finalFilename}.{settings.format} + Finaler Name: {finalFilename}.{settings.format}

@@ -58,7 +58,7 @@ export function ImageListItem({ -

Download this image

+

Dieses Bild herunterladen

@@ -72,7 +72,7 @@ export function ImageListItem({ -

Remove this image

+

Dieses Bild entfernen

diff --git a/src/components/image-list.tsx b/src/components/image-list.tsx index 4775dc6..ab0a01f 100644 --- a/src/components/image-list.tsx +++ b/src/components/image-list.tsx @@ -41,24 +41,24 @@ export function ImageList({
- Uploaded Images + Hochgeladene Bilder
-

Remove all uploaded images.

+

Alle hochgeladenen Bilder entfernen.

-

Convert and download all images with the current settings.

+

Alle Bilder mit den aktuellen Einstellungen konvertieren und herunterladen.

diff --git a/src/components/image-upload-area.tsx b/src/components/image-upload-area.tsx index e140751..c87ec59 100644 --- a/src/components/image-upload-area.tsx +++ b/src/components/image-upload-area.tsx @@ -39,7 +39,7 @@ export function ImageUploadArea({ onFilesSelected }: ImageUploadAreaProps) {
-

Upload Images

+

Bilder hochladen

-

Click or drag and drop to upload

-

PNG, JPG, WEBP supported

+

Klicken oder per Drag & Drop hochladen

+

PNG, JPG, WEBP werden unterstützt

diff --git a/src/components/settings-panel.tsx b/src/components/settings-panel.tsx index 0839932..362ae82 100644 --- a/src/components/settings-panel.tsx +++ b/src/components/settings-panel.tsx @@ -28,8 +28,8 @@ export function SettingsPanel({
-

Image Settings

-

Adjust resolution and scaling for all images.

+

Bildeinstellungen

+

Auflösung und Skalierung für alle Bilder anpassen.

@@ -45,8 +45,8 @@ export function SettingsPanel({
-

Filename Settings

-

Customize the output filenames.

+

Dateinameneinstellungen

+

Die Ausgabe-Dateinamen anpassen.

@@ -62,8 +62,8 @@ export function SettingsPanel({
-

Quality Settings

-

Choose format and compression level.

+

Qualitätseinstellungen

+

Format und Komprimierungsstufe auswählen.

diff --git a/src/components/settings/filename-settings.tsx b/src/components/settings/filename-settings.tsx index 5c7e62f..418fe81 100644 --- a/src/components/settings/filename-settings.tsx +++ b/src/components/settings/filename-settings.tsx @@ -26,61 +26,61 @@ export function FilenameSettings({
onSettingsChange({ useDefaultBaseName: checked })} />
{settings.useDefaultBaseName && (
- +
onSettingsChange({ defaultBaseName: e.target.value })} /> -

Apply this base name to all currently uploaded images.

+

Diesen Basisnamen auf alle aktuell hochgeladenen Bilder anwenden.

)}
- + -

Add text to the beginning of every filename.

+

Text am Anfang jedes Dateinamens hinzufügen.

- onSettingsChange({ prefix: e.target.value })} /> + onSettingsChange({ prefix: e.target.value })} />
-

Add text to the end of every filename (before the number).

+

Text am Ende jedes Dateinamens (vor der Nummer) hinzufügen.

- onSettingsChange({ suffix: e.target.value })} /> + onSettingsChange({ suffix: e.target.value })} />
onSettingsChange({ useCounter: checked })} />
@@ -88,10 +88,10 @@ export function FilenameSettings({
- + -

The first number to use in the sequence.

+

Die erste Nummer, die in der Sequenz verwendet wird.

- + -

Total number of digits for the counter, padded with leading zeros (e.g., 3 for 001).

+

Gesamtzahl der Ziffern für den Zähler, mit führenden Nullen aufgefüllt (z.B. 3 für 001).

- + -

Choose a preset aspect ratio or select 'Custom' to enter dimensions manually.

+

Wählen Sie ein voreingestelltes Seitenverhältnis oder 'Benutzerdefiniert', um die Abmessungen manuell einzugeben.

{ onSettingsChange({ width: e.target.value, aspectRatio: 'custom' }) }} />
- -

Swap the entered width and height values.

+

Die eingegebenen Werte für Breite und Höhe tauschen.

- + -

Set the output height in pixels. Leave blank to use the original height.

+

Legen Sie die Ausgabehöhe in Pixeln fest. Leer lassen, um die Originalhöhe zu verwenden.

{ onSettingsChange({ height: e.target.value, aspectRatio: 'custom' }) }} /> @@ -83,27 +83,27 @@ export function ImageSettings({
onSettingsChange({ keepOrientation: Boolean(checked) })} />
- + -

Determines how the image fits into the new dimensions.

+

Bestimmt, wie das Bild in die neuen Abmessungen passt.

@@ -113,7 +113,7 @@ export function ImageSettings({ -

Sets the anchor point for 'Cover' or 'Contain' scaling.

+

Legt den Ankerpunkt für die Skalierung 'Abdecken' oder 'Enthalten' fest.

onSettingsChange({ objectPosition: pos as ObjectPosition })} /> diff --git a/src/components/settings/quality-settings.tsx b/src/components/settings/quality-settings.tsx index 656d75d..2a3a0e4 100644 --- a/src/components/settings/quality-settings.tsx +++ b/src/components/settings/quality-settings.tsx @@ -20,11 +20,11 @@ export function QualitySettings({ settings, onSettingsChange }: QualitySettingsP -

Choose the output file format for the images.

+

Wählen Sie das Ausgabedateiformat für die Bilder.