- Introduced a new node type "video-prompt" for AI video generation, including its integration into the canvas command palette and node template picker. - Updated connection validation to allow connections from text nodes to video-prompt and from video-prompt to ai-video nodes. - Enhanced error handling and messaging for video generation failures, including specific cases for provider issues. - Added tests to validate new video-prompt functionality and connection policies. - Updated localization files to include new labels and prompts for video-prompt and ai-video nodes.
300 lines
12 KiB
JSON
300 lines
12 KiB
JSON
{
|
|
"common": {
|
|
"save": "Speichern",
|
|
"reset": "Zurücksetzen",
|
|
"cancel": "Abbrechen",
|
|
"delete": "Löschen",
|
|
"close": "Schließen",
|
|
"confirm": "Bestätigen",
|
|
"loading": "Laden...",
|
|
"error": "Fehler",
|
|
"success": "Erfolg",
|
|
"back": "Zurück",
|
|
"next": "Weiter",
|
|
"upgrade": "Upgrade"
|
|
},
|
|
"auth": {
|
|
"signIn": "Anmelden",
|
|
"signOut": "Abmelden",
|
|
"magicLink": "Magischer Link",
|
|
"magicLinkSent": "Magischer Link gesendet",
|
|
"emailLabel": "E-Mail-Adresse",
|
|
"emailPlaceholder": "ihre@email.de"
|
|
},
|
|
"dashboard": {
|
|
"title": "Dashboard",
|
|
"newCanvas": "Neuer Canvas",
|
|
"recentlyOpened": "Zuletzt geöffnet",
|
|
"templates": "Vorlagen",
|
|
"noCanvases": "Keine Canvases gefunden",
|
|
"lastEdited": "Zuletzt bearbeitet",
|
|
"nodeCount": "{count, plural, one {# Node} other {# Nodes}}"
|
|
},
|
|
"canvas": {
|
|
"autosaved": "Automatisch gespeichert",
|
|
"share": "Teilen",
|
|
"credits": "Kreditpunkte",
|
|
"zoomFit": "Auf Fenster skalieren",
|
|
"addNode": "Node hinzufügen",
|
|
"sidebar": {
|
|
"properties": "Eigenschaften",
|
|
"layers": "Ebene",
|
|
"filters": "Filter",
|
|
"actions": "Aktionen"
|
|
}
|
|
},
|
|
"nodes": {
|
|
"image": "Bild",
|
|
"aiImage": "KI-Bild",
|
|
"curves": "Kurven",
|
|
"render": "Rendern",
|
|
"compare": "Vergleichen",
|
|
"compareAction": "Vergleichen",
|
|
"compareClose": "Schließen",
|
|
"compareCurrent": "Aktuell",
|
|
"compareOriginal": "Original",
|
|
"compareProcessed": "Verarbeitet",
|
|
"custom": "Benutzerdefiniert",
|
|
"customize": "Anpassen",
|
|
"adjustments": {
|
|
"common": {
|
|
"presetPlaceholder": "Voreinstellung",
|
|
"presetNamePrompt": "Name der Voreinstellung",
|
|
"builtinPresetLabel": "Standard: {name}",
|
|
"userPresetLabel": "Benutzer: {name}"
|
|
},
|
|
"curves": {
|
|
"title": "Kurven",
|
|
"sliders": {
|
|
"blackPoint": "Schwarzpunkt",
|
|
"whitePoint": "Weißpunkt",
|
|
"gamma": "Gamma"
|
|
}
|
|
},
|
|
"colorAdjust": {
|
|
"title": "Farbe",
|
|
"sliders": {
|
|
"hue": "Farbton",
|
|
"saturation": "Sättigung",
|
|
"luminance": "Luminanz",
|
|
"temperature": "Temperatur",
|
|
"tint": "Tönung",
|
|
"vibrance": "Dynamik"
|
|
}
|
|
},
|
|
"lightAdjust": {
|
|
"title": "Licht",
|
|
"sliders": {
|
|
"brightness": "Helligkeit",
|
|
"contrast": "Kontrast",
|
|
"exposure": "Belichtung",
|
|
"highlights": "Lichter",
|
|
"shadows": "Schatten",
|
|
"whites": "Weißtöne",
|
|
"blacks": "Schwärzen",
|
|
"vignette": "Vignette"
|
|
}
|
|
},
|
|
"detailAdjust": {
|
|
"title": "Details",
|
|
"sliders": {
|
|
"sharpen": "Schärfen",
|
|
"radius": "Radius",
|
|
"threshold": "Schwellwert",
|
|
"clarity": "Klarheit",
|
|
"denoiseLuma": "Entrauschen Luma",
|
|
"denoiseColor": "Entrauschen Farbe",
|
|
"grain": "Körnung"
|
|
}
|
|
}
|
|
},
|
|
"prompts": {
|
|
"prompt1": "Prompt 1",
|
|
"prompt2": "Prompt 2",
|
|
"negative": "Negativ",
|
|
"style": "Stil",
|
|
"aspectRatio": "Formatverhältnis",
|
|
"imageSize": "Bildgröße",
|
|
"quality": "Qualität",
|
|
"seed": "Seed"
|
|
},
|
|
"status": {
|
|
"pending": "Ausstehend",
|
|
"processing": "Verarbeitung läuft",
|
|
"completed": "Abgeschlossen",
|
|
"failed": "Fehlgeschlagen"
|
|
}
|
|
},
|
|
"videoPromptNode": {
|
|
"label": "KI-Video",
|
|
"promptPlaceholder": "Beschreibe dein Video...",
|
|
"promptFromTextNode": "Prompt aus Text-Node",
|
|
"modelLabel": "Modell",
|
|
"durationLabel": "Laenge",
|
|
"duration5s": "5 Sek.",
|
|
"duration10s": "10 Sek.",
|
|
"generateButton": "Video generieren",
|
|
"insufficientCredits": "Nicht genug Credits",
|
|
"noPromptHint": "Prompt eingeben oder Text-Node verbinden"
|
|
},
|
|
"aiVideoNode": {
|
|
"label": "KI-Video-Ausgabe",
|
|
"idleHint": "Verbinde eine KI-Video-Node und starte dort die Generierung.",
|
|
"generating": "Video wird generiert...",
|
|
"retryButton": "Erneut versuchen",
|
|
"downloadButton": "Video herunterladen",
|
|
"modelMeta": "Modell: {model}",
|
|
"durationMeta": "{duration} Sek.",
|
|
"creditMeta": "{credits} Credits",
|
|
"errorFallback": "Video-Generierung fehlgeschlagen"
|
|
},
|
|
"credits": {
|
|
"balance": "Guthaben",
|
|
"available": "Verfügbar",
|
|
"reserved": "Reserviert",
|
|
"topUp": "Aufladen",
|
|
"upgrade": "Upgrade",
|
|
"renewsOn": "Aktualisiert am",
|
|
"insufficientCredits": "Nicht genügend Guthaben",
|
|
"transactionHistory": "Transaktionshistorie"
|
|
},
|
|
"pricing": {
|
|
"free": "Kostenlos",
|
|
"starter": "Starter",
|
|
"pro": "Pro",
|
|
"max": "Max",
|
|
"perMonth": "/Monat",
|
|
"creditsPerMonth": "Kreditpunkte pro Monat",
|
|
"currentPlan": "Aktueller Plan",
|
|
"choosePlan": "Plan auswählen"
|
|
},
|
|
"errors": {
|
|
"generic": "Etwas ist schiefgelaufen — bitte versuche es erneut.",
|
|
"networkError": "Verbindungsfehler — prüfe deine Internetverbindung.",
|
|
"timeout": "Timeout — Credits wurden nicht abgebucht.",
|
|
"insufficientCredits": "Nicht genug Credits für diese Operation.",
|
|
"rateLimited": "Zu viele Anfragen — bitte kurz warten.",
|
|
"unauthorized": "Nicht angemeldet — bitte melde dich an.",
|
|
"modelUnavailable": "Modell aktuell nicht verfügbar — bitte ein anderes wählen.",
|
|
"contentPolicy": "Anfrage durch Inhaltsrichtlinie blockiert.",
|
|
"invalidRequest": "Ungültige Anfrage — bitte Eingaben prüfen.",
|
|
"dailyCap": "Tageslimit erreicht — morgen neu starten.",
|
|
"concurrency": "Generierung bereits aktiv — bitte warten.",
|
|
"nodeError": "Node-Fehler",
|
|
"uploadFailed": "Upload fehlgeschlagen",
|
|
"creditsTestDisabled": "Test-Gutschriften sind deaktiviert.",
|
|
"creditsInvalidAmount": "Ungültiger Betrag.",
|
|
"creditsBalanceNotFound": "Keine Credit-Balance gefunden.",
|
|
"creditsDailyCapReached": "Tageslimit erreicht — morgen neu starten.",
|
|
"creditsConcurrencyLimit": "Generierung bereits aktiv — bitte warten.",
|
|
"openrouterMissingMessage": "OpenRouter: Antwort ungültig.",
|
|
"openrouterModelRefusal": "Modell lehnt ab — {reason}.",
|
|
"openrouterNoImageInResponse": "OpenRouter: Kein Bild in der Antwort.",
|
|
"openrouterImageUrlLoadFailed": "OpenRouter: Bild-URL konnte nicht geladen werden.",
|
|
"openrouterDataUriCreationFailed": "OpenRouter: Bild konnte nicht verarbeitet werden.",
|
|
"openrouterDataUriMissingBase64": "OpenRouter: Bild konnte nicht verarbeitet werden."
|
|
},
|
|
"toasts": {
|
|
"canvas": {
|
|
"imageUploaded": "Bild hochgeladen",
|
|
"adjustmentPresetSaved": "Voreinstellung gespeichert",
|
|
"uploadFailed": "Upload fehlgeschlagen",
|
|
"uploadFormatError": "Format „{format}“ wird nicht unterstützt. Erlaubt: PNG, JPG, WebP.",
|
|
"uploadSizeError": "Maximale Dateigröße: {maxMb} MB.",
|
|
"nodeRemoved": "Element entfernt",
|
|
"nodesRemoved": "{count, plural, one {Element entfernt} other {# Elemente entfernt}}",
|
|
"nodeDeleteBlockedTitle": "Löschen momentan nicht möglich",
|
|
"nodeDeleteBlockedDesc": "Bitte kurz warten und erneut versuchen.",
|
|
"nodeDeleteOptimisticTitle": "Element wird noch angelegt",
|
|
"nodeDeleteOptimisticDesc": "Dieses Element ist noch nicht vollständig auf dem Server gespeichert. Sobald die Synchronisierung fertig ist, kannst du es löschen.",
|
|
"nodeDeleteBlockedMultiDesc": "Mindestens ein Element wird noch angelegt. Bitte kurz warten und erneut versuchen.",
|
|
"nodeDeleteBlockedPartialTitle": "Nicht alle Elemente entfernt",
|
|
"nodeDeleteBlockedPartialSuffixOne": "Ein Element wurde deshalb nicht gelöscht; die übrige Auswahl wurde entfernt.",
|
|
"nodeDeleteBlockedPartialSuffixOther": "{count} Elemente wurden deshalb nicht gelöscht; die übrige Auswahl wurde entfernt."
|
|
},
|
|
"ai": {
|
|
"generating": "Bild wird generiert…",
|
|
"generated": "Bild generiert",
|
|
"generatedDesc": "{credits} Credits verbraucht",
|
|
"generationQueued": "Generierung gestartet",
|
|
"generationQueuedDesc": "Das Bild erscheint automatisch, sobald es fertig ist.",
|
|
"generationFailed": "Generierung fehlgeschlagen",
|
|
"creditsNotCharged": "Credits wurden nicht abgebucht",
|
|
"insufficientCreditsTitle": "Nicht genügend Credits",
|
|
"insufficientCreditsDesc": "{needed} Credits benötigt, {available} verfügbar.",
|
|
"modelUnavailableTitle": "Modell vorübergehend nicht verfügbar",
|
|
"modelUnavailableDesc": "Versuche ein anderes Modell oder probiere es später erneut.",
|
|
"contentPolicyTitle": "Anfrage durch Inhaltsrichtlinie blockiert",
|
|
"contentPolicyDesc": "Versuche, den Prompt umzuformulieren.",
|
|
"timeoutTitle": "Generierung abgelaufen",
|
|
"timeoutDesc": "Credits wurden nicht abgebucht.",
|
|
"providerIssuesTitle": "KI-Anbieter moeglicherweise gestoert",
|
|
"providerIssuesDesc": "Mehrere Bild- oder Video-Generierungen sind fehlgeschlagen.",
|
|
"openrouterIssuesTitle": "OpenRouter möglicherweise gestört",
|
|
"openrouterIssuesDesc": "Mehrere Generierungen fehlgeschlagen.",
|
|
"concurrentLimitReachedTitle": "Generierung bereits aktiv",
|
|
"concurrentLimitReachedDesc": "Bitte warte, bis die laufende Generierung abgeschlossen ist."
|
|
},
|
|
"export": {
|
|
"frameExported": "Frame exportiert",
|
|
"exportingFrames": "Frames werden exportiert…",
|
|
"zipReady": "ZIP bereit",
|
|
"exportFailed": "Export fehlgeschlagen",
|
|
"frameEmptyTitle": "Export fehlgeschlagen",
|
|
"frameEmptyDesc": "Frame hat keinen sichtbaren Inhalt.",
|
|
"noFramesOnCanvasTitle": "Export fehlgeschlagen",
|
|
"noFramesOnCanvasDesc": "Keine Frames auf dem Canvas — zuerst einen Frame anlegen.",
|
|
"download": "Herunterladen",
|
|
"downloaded": "Heruntergeladen!"
|
|
},
|
|
"auth": {
|
|
"welcomeBack": "Willkommen zurück",
|
|
"welcomeOnDashboard": "Schön, dass du da bist",
|
|
"checkEmailTitle": "E-Mail prüfen",
|
|
"checkEmailDesc": "Bestätigungslink an {email} gesendet.",
|
|
"sessionExpiredTitle": "Sitzung abgelaufen",
|
|
"sessionExpiredDesc": "Bitte erneut anmelden.",
|
|
"signedOut": "Abgemeldet",
|
|
"signIn": "Anmelden",
|
|
"initialSetupTitle": "Startguthaben aktiv",
|
|
"initialSetupDesc": "Du kannst loslegen."
|
|
},
|
|
"billing": {
|
|
"subscriptionActivatedTitle": "Abo aktiviert",
|
|
"subscriptionActivatedDesc": "{credits} Credits deinem Guthaben hinzugefügt.",
|
|
"creditsAddedTitle": "Credits hinzugefügt",
|
|
"creditsAddedDesc": "+{credits} Credits",
|
|
"subscriptionCancelledTitle": "Abo gekündigt",
|
|
"subscriptionCancelledDesc": "Deine Credits bleiben bis {periodEnd} verfügbar.",
|
|
"paymentFailedTitle": "Zahlung fehlgeschlagen",
|
|
"paymentFailedDesc": "Bitte Zahlungsmethode aktualisieren.",
|
|
"dailyLimitReachedTitle": "Tageslimit erreicht",
|
|
"dailyLimitReachedDesc": "Maximal {limit} Generierungen pro Tag in deinem Tarif.",
|
|
"lowCreditsTitle": "Credits fast aufgebraucht",
|
|
"lowCreditsDesc": "Noch {remaining} Credits übrig.",
|
|
"topUp": "Aufladen",
|
|
"upgrade": "Upgrade",
|
|
"manage": "Verwalten",
|
|
"redirectingToCheckoutTitle": "Weiterleitung…",
|
|
"redirectingToCheckoutDesc": "Du wirst zum sicheren Checkout weitergeleitet.",
|
|
"openingPortalTitle": "Portal wird geöffnet…",
|
|
"openingPortalDesc": "Du wirst zur Aboverwaltung weitergeleitet.",
|
|
"testGrantFailedTitle": "Gutschrift fehlgeschlagen"
|
|
},
|
|
"system": {
|
|
"reconnected": "Verbindung wiederhergestellt",
|
|
"connectionLostTitle": "Verbindung verloren",
|
|
"connectionLostDesc": "Änderungen werden möglicherweise nicht gespeichert.",
|
|
"copiedToClipboard": "In Zwischenablage kopiert"
|
|
},
|
|
"dashboard": {
|
|
"renameEmptyTitle": "Name ungültig",
|
|
"renameEmptyDesc": "Name darf nicht leer sein.",
|
|
"renameSuccess": "Arbeitsbereich umbenannt",
|
|
"renameFailed": "Umbenennen fehlgeschlagen",
|
|
"deleteSuccess": "Arbeitsbereich gelöscht",
|
|
"deleteFailed": "Löschen fehlgeschlagen"
|
|
}
|
|
}
|
|
}
|