[dyad] Anwendung ins Deutsche übersetzen - wrote 17 file(s)
This commit is contained in:
@@ -43,7 +43,7 @@ export function useImageConverter() {
|
||||
|
||||
const imageFiles = Array.from(files).filter(file => file.type.startsWith("image/"));
|
||||
if (imageFiles.length === 0) {
|
||||
toast.error("No valid image files found.");
|
||||
toast.error("Keine gültigen Bilddateien gefunden.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ export function useImageConverter() {
|
||||
}));
|
||||
|
||||
setImages(prev => [...prev, ...newImageFiles]);
|
||||
toast.success(`${imageFiles.length} image(s) added.`);
|
||||
toast.success(`${imageFiles.length} Bild(er) hinzugefügt.`);
|
||||
}, [settings.useDefaultBaseName, settings.defaultBaseName]);
|
||||
|
||||
const handleRemoveImage = useCallback((indexToRemove: number) => {
|
||||
@@ -72,7 +72,7 @@ export function useImageConverter() {
|
||||
const handleClearAll = useCallback(() => {
|
||||
setImages([]);
|
||||
updateSettings({ width: initialSettings.width, height: initialSettings.height });
|
||||
toast.info("All images cleared.");
|
||||
toast.info("Alle Bilder gelöscht.");
|
||||
}, [updateSettings]);
|
||||
|
||||
const handleFilenameChange = useCallback((index: number, newName: string) => {
|
||||
@@ -87,15 +87,15 @@ export function useImageConverter() {
|
||||
|
||||
const handleConvertAndDownloadSingle = useCallback(async (index: number) => {
|
||||
setConvertingIndex(index);
|
||||
toast.info(`Starting conversion for ${images[index].filename}...`);
|
||||
toast.info(`Starte Konvertierung für ${images[index].filename}...`);
|
||||
try {
|
||||
const imageToConvert = images[index];
|
||||
const dataUrl = await processImage(imageToConvert, settings);
|
||||
const finalFilename = generateFinalFilename(imageToConvert.filename, settings, index);
|
||||
downloadDataUrl(dataUrl, `${finalFilename}.${settings.format}`);
|
||||
toast.success(`Successfully exported ${imageToConvert.filename}!`);
|
||||
toast.success(`${imageToConvert.filename} erfolgreich exportiert!`);
|
||||
} catch (error) {
|
||||
const message = error instanceof Error ? error.message : "An unknown error occurred.";
|
||||
const message = error instanceof Error ? error.message : "Ein unbekannter Fehler ist aufgetreten.";
|
||||
toast.error(message);
|
||||
} finally {
|
||||
setConvertingIndex(null);
|
||||
@@ -104,11 +104,11 @@ export function useImageConverter() {
|
||||
|
||||
const handleConvertAndDownloadAll = useCallback(async () => {
|
||||
if (images.length === 0) {
|
||||
toast.error("Please upload images first.");
|
||||
toast.error("Bitte laden Sie zuerst Bilder hoch.");
|
||||
return;
|
||||
}
|
||||
setIsConverting(true);
|
||||
toast.info(`Starting conversion for ${images.length} images...`);
|
||||
toast.info(`Starte Konvertierung für ${images.length} Bilder...`);
|
||||
|
||||
const conversionPromises = images.map(async (image, index) => {
|
||||
try {
|
||||
@@ -116,7 +116,7 @@ export function useImageConverter() {
|
||||
const finalFilename = generateFinalFilename(image.filename, settings, index);
|
||||
downloadDataUrl(dataUrl, `${finalFilename}.${settings.format}`);
|
||||
} catch (error) {
|
||||
const message = error instanceof Error ? error.message : `Failed to process ${image.filename}`;
|
||||
const message = error instanceof Error ? error.message : `Verarbeitung von ${image.filename} fehlgeschlagen`;
|
||||
toast.error(message);
|
||||
throw error;
|
||||
}
|
||||
@@ -124,9 +124,9 @@ export function useImageConverter() {
|
||||
|
||||
try {
|
||||
await Promise.all(conversionPromises);
|
||||
toast.success(`Successfully exported all ${images.length} images!`);
|
||||
toast.success(`Alle ${images.length} Bilder erfolgreich exportiert!`);
|
||||
} catch (error) {
|
||||
toast.error("Some images failed to convert. See individual errors.");
|
||||
toast.error("Einige Bilder konnten nicht konvertiert werden. Siehe einzelne Fehler.");
|
||||
} finally {
|
||||
setIsConverting(false);
|
||||
}
|
||||
@@ -134,7 +134,7 @@ export function useImageConverter() {
|
||||
|
||||
const handleResetSettings = useCallback(() => {
|
||||
setSettings(initialSettings);
|
||||
toast.success("All settings have been reset to their defaults.");
|
||||
toast.success("Alle Einstellungen wurden auf ihre Standardwerte zurückgesetzt.");
|
||||
}, []);
|
||||
|
||||
const handleAspectRatioChange = useCallback((value: string) => {
|
||||
@@ -159,15 +159,15 @@ export function useImageConverter() {
|
||||
|
||||
const handleApplyDefaultBaseNameToAll = useCallback(() => {
|
||||
if (!settings.defaultBaseName) {
|
||||
toast.error("Please enter a default base name to apply.");
|
||||
toast.error("Bitte geben Sie einen Standard-Basisnamen zum Anwenden ein.");
|
||||
return;
|
||||
}
|
||||
if (images.length === 0) {
|
||||
toast.info("Upload some images first.");
|
||||
toast.info("Laden Sie zuerst einige Bilder hoch.");
|
||||
return;
|
||||
}
|
||||
setImages(prev => prev.map(img => ({ ...img, filename: settings.defaultBaseName })));
|
||||
toast.success(`Set base name to "${settings.defaultBaseName}" for all ${images.length} images.`);
|
||||
toast.success(`Basisname für alle ${images.length} Bilder auf "${settings.defaultBaseName}" gesetzt.`);
|
||||
}, [images.length, settings.defaultBaseName]);
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user