5623 lines
397 KiB
TypeScript
5623 lines
397 KiB
TypeScript
import type { MessageDict } from "./types";
|
||||
|
|
|
|||
|
|
/** German (de) UI pack — keys must stay in sync with en.ts. */
|
|||
|
|
export const de: MessageDict = {
|
|||
|
|
"app.name": "Descrybe",
|
|||
|
|
"app.home": "Descrybe-Startseite",
|
|||
|
|
"common.cancel": "Abbrechen",
|
|||
|
|
"common.save": "Änderungen speichern",
|
|||
|
|
"common.saveShort": "Speichern",
|
|||
|
|
"common.continue": "Weiter",
|
|||
|
|
"common.open": "Öffnen",
|
|||
|
|
"common.markDone": "Als erledigt markieren",
|
|||
|
|
"common.viewAll": "Alle anzeigen",
|
|||
|
|
"common.close": "Schließen",
|
|||
|
|
"common.askAdmin": "Fragen Sie einen Unternehmens-Admin",
|
|||
|
|
"common.you": "Sie",
|
|||
|
|
"common.active": "Aktiv",
|
|||
|
|
"common.pending": "Ausstehend",
|
|||
|
|
"common.email": "E-Mail",
|
|||
|
|
"common.password": "Passwort",
|
|||
|
|
"common.name": "Ihr Name",
|
|||
|
|
"common.viewPricing": "Preise ansehen",
|
|||
|
|
"common.backToSignIn": "Zurück zur Anmeldung",
|
|||
|
|
"common.signingOut": "Abmelden…",
|
|||
|
|
"common.signOutAndContinue": "Abmelden und fortfahren",
|
|||
|
|
"common.staySignedIn": "Angemeldet bleiben",
|
|||
|
|
"a11y.skipToContent": "Zum Inhalt springen",
|
|||
|
|
"theme.switchToDark": "Zum dunklen Design wechseln",
|
|||
|
|
"theme.switchToLight": "Zum hellen Design wechseln",
|
|||
|
|
"header.signOut": "Abmelden",
|
|||
|
|
"header.signingOut": "Abmelden…",
|
|||
|
|
"status.emDash": "—",
|
|||
|
|
"status.pending": "Ausstehend",
|
|||
|
|
"status.processing": "Verarbeitung",
|
|||
|
|
"status.completed": "Abgeschlossen",
|
|||
|
|
"status.failed": "Fehlgeschlagen",
|
|||
|
|
"status.cancelled": "Abgebrochen",
|
|||
|
|
"nav.section.overview": "Übersicht",
|
|||
|
|
"nav.section.catalog": "Katalog",
|
|||
|
|
"nav.section.feeds": "Feeds",
|
|||
|
|
"nav.section.stores": "Shops",
|
|||
|
|
"nav.section.processing": "Verarbeitung",
|
|||
|
|
"nav.section.marketing": "Marketing",
|
|||
|
|
"nav.section.integrations": "Integrationen",
|
|||
|
|
"nav.section.account": "Konto",
|
|||
|
|
"nav.section.platform": "Plattform",
|
|||
|
|
"nav.dashboard": "Übersicht",
|
|||
|
|
"nav.products": "Produkte",
|
|||
|
|
"nav.categories": "Kategorien",
|
|||
|
|
"nav.attributes": "Attribute",
|
|||
|
|
"nav.fields": "Felder",
|
|||
|
|
"nav.feeds": "Feeds",
|
|||
|
|
"nav.exports": "Exporte",
|
|||
|
|
"nav.stores": "Shops",
|
|||
|
|
"nav.jobs": "Aufträge",
|
|||
|
|
"nav.campaigns": "Kampagnen",
|
|||
|
|
"nav.calendar": "Kalender",
|
|||
|
|
"nav.seo": "SEO",
|
|||
|
|
"nav.brand": "Marke",
|
|||
|
|
"nav.reviews": "Bewertungen",
|
|||
|
|
"nav.ai": "KI",
|
|||
|
|
"nav.email": "E-Mail",
|
|||
|
|
"nav.billing": "Abrechnung",
|
|||
|
|
"nav.settings": "Einstellungen",
|
|||
|
|
"nav.support": "Hilfezentrum",
|
|||
|
|
"nav.admin": "Admin",
|
|||
|
|
"nav.main": "Hauptnavigation",
|
|||
|
|
"nav.sidebar": "App-Seitenleiste",
|
|||
|
|
"nav.close": "Navigation schließen",
|
|||
|
|
"nav.closeMenu": "Menü schließen",
|
|||
|
|
"nav.open": "Navigation öffnen",
|
|||
|
|
"nav.commandPalette": "Seiten suchen",
|
|||
|
|
"nav.commandPaletteLabel": "Suchen",
|
|||
|
|
"auth.login.title": "Anmelden",
|
|||
|
|
"auth.login.description": "Verwenden Sie Ihre Descrybe-E-Mail und Ihr Passwort.",
|
|||
|
|
"auth.login.submit": "Anmelden",
|
|||
|
|
"auth.login.submitting": "Anmeldung…",
|
|||
|
|
"auth.login.failed": "Anmeldung fehlgeschlagen",
|
|||
|
|
"auth.login.passwordNotSet": "Dieses Konto benötigt noch ein Passwort. Öffnen Sie Ihren Einladungslink oder bitten Sie einen Admin, einen neuen auszustellen.",
|
|||
|
|
"auth.login.setPasswordFirstTitle": "Zuerst Passwort festlegen:",
|
|||
|
|
"auth.login.setPasswordFirstBody": "nutzen Sie den Einladungslink aus Ihrer E-Mail. Wenn der Link an eine alte Adresse ging (E-Mail-Drift), bitten Sie einen Unternehmens-Admin, eine neue Passwort-Einladung an {email} auszustellen.",
|
|||
|
|
"auth.login.yourEmail": "Ihre E-Mail",
|
|||
|
|
"auth.login.platformAdminsReissue": "Plattform-Admins können erneut ausstellen unter",
|
|||
|
|
"auth.login.adminUsersLink": "Admin → Benutzer",
|
|||
|
|
"auth.login.haveToken": "Haben Sie ein Token? Einladung annehmen öffnen",
|
|||
|
|
"auth.login.noAccount": "Kein Konto?",
|
|||
|
|
"auth.login.createCompany": "Unternehmen erstellen",
|
|||
|
|
"auth.login.haveInvite": "Haben Sie eine Einladung oder einen Passwort-Link?",
|
|||
|
|
"auth.login.acceptInvite": "Einladung annehmen",
|
|||
|
|
"auth.login.forgotPassword": "Passwort vergessen?",
|
|||
|
|
"auth.login.forgotPasswordHelp": "Geben Sie Ihre E-Mail auf der Reset-Seite ein. Wenn Sie noch kein Passwort gesetzt haben, nutzen Sie den Einladungs-/Set-Password-Link.",
|
|||
|
|
"auth.forgot.title": "Passwort vergessen",
|
|||
|
|
"auth.forgot.description": "Geben Sie die E-Mail Ihres Kontos ein. Wenn sie zu einem aktiven Konto gehört, senden wir einen Reset-Link.",
|
|||
|
|
"auth.forgot.submit": "Reset-Link senden",
|
|||
|
|
"auth.forgot.submitting": "Wird gesendet…",
|
|||
|
|
"auth.forgot.failed": "Reset konnte nicht angefordert werden",
|
|||
|
|
"auth.forgot.sentTitle": "E-Mail prüfen",
|
|||
|
|
"auth.forgot.sentBody": "Wenn ein Konto zu dieser Adresse existiert, ist ein Reset-Link unterwegs. Der Link läuft in einer Stunde ab.",
|
|||
|
|
"auth.forgot.backToSignIn": "Zurück zur Anmeldung",
|
|||
|
|
"auth.reset.title": "Passwort zurücksetzen",
|
|||
|
|
"auth.reset.description": "Wählen Sie ein neues Passwort für Ihr Descrybe-Konto (mindestens 8 Zeichen).",
|
|||
|
|
"auth.reset.submit": "Neues Passwort speichern",
|
|||
|
|
"auth.reset.submitting": "Wird gespeichert…",
|
|||
|
|
"auth.reset.failed": "Passwort konnte nicht zurückgesetzt werden",
|
|||
|
|
"auth.reset.doneTitle": "Passwort aktualisiert",
|
|||
|
|
"auth.reset.doneDescription": "Melden Sie sich mit Ihrer E-Mail und dem neuen Passwort an.",
|
|||
|
|
"auth.reset.goToSignIn": "Zur Anmeldung",
|
|||
|
|
"auth.reset.passwordConfirm": "Passwort bestätigen",
|
|||
|
|
"auth.reset.passwordMismatch": "Passwörter stimmen nicht überein",
|
|||
|
|
"auth.reset.missingTitle": "Reset-Link fehlt",
|
|||
|
|
"auth.reset.missingDescription": "Öffnen Sie den Link aus Ihrer E-Mail, um ein neues Passwort zu wählen.",
|
|||
|
|
"auth.reset.requestNewLink": "Neuen Reset-Link anfordern",
|
|||
|
|
"auth.reset.tokenMissing": "Es wurde kein Reset-Link angegeben. Nutzen Sie den Link aus Ihrer E-Mail oder fordern Sie einen neuen an.",
|
|||
|
|
"auth.reset.tokenInvalid": "Dieser Reset-Link ist ungültig oder abgelaufen. Fordern Sie einen neuen über die Passwort-vergessen-Seite an.",
|
|||
|
|
"auth.reset.linkRecognized": "Reset-Link erkannt. Geben Sie unten ein neues Passwort ein — das Geheimnis wird auf dieser Seite nicht angezeigt.",
|
|||
|
|
"auth.reset.tokenLabel": "Reset-Token",
|
|||
|
|
"auth.reset.passwordHint": "Mindestens 8 Zeichen. Keine weiteren Komplexitätsregeln.",
|
|||
|
|
"auth.register.title": "Unternehmen erstellen",
|
|||
|
|
"auth.register.description": "Registriert ein Unternehmen und dessen Admin-Benutzer.",
|
|||
|
|
"auth.register.companyName": "Unternehmensname",
|
|||
|
|
"auth.register.submit": "Konto erstellen",
|
|||
|
|
"auth.register.submitting": "Wird erstellt…",
|
|||
|
|
"auth.register.failed": "Registrierung fehlgeschlagen",
|
|||
|
|
"auth.register.haveAccount": "Haben Sie bereits ein Konto?",
|
|||
|
|
"auth.register.signIn": "Anmelden",
|
|||
|
|
"auth.invite.title": "Einladung annehmen",
|
|||
|
|
"auth.invite.setPasswordTitle": "Passwort festlegen",
|
|||
|
|
"auth.invite.description": "Legen Sie Ihr Passwort fest, um dem Unternehmen beizutreten. Ihr Admin hat entweder Mitglied (Tagesgeschäft) oder Admin (Team und Abrechnung) zugewiesen.",
|
|||
|
|
"auth.invite.setPasswordDescription": "Wählen Sie ein Passwort für Ihr migriertes Descrybe-Konto (mindestens 8 Zeichen).",
|
|||
|
|
"auth.invite.checking": "Einladung wird geprüft…",
|
|||
|
|
"auth.invite.forEmail": "Einladung für {email}.",
|
|||
|
|
"auth.invite.linkRecognized": "Einladungslink erkannt. Geben Sie unten ein Passwort ein, um fortzufahren — das Geheimnis wird auf dieser Seite nicht angezeigt.",
|
|||
|
|
"auth.invite.resetLinkRecognized": "Reset-Link erkannt. Geben Sie unten ein Passwort ein, um fortzufahren — das Geheimnis wird auf dieser Seite nicht angezeigt.",
|
|||
|
|
"auth.invite.tokenLabel": "Einladungs-Token",
|
|||
|
|
"auth.invite.resetTokenLabel": "Reset-Token",
|
|||
|
|
"auth.invite.tokenHelp": "Fügen Sie das Token aus Ihrer Einladungs-E-Mail ein. Es wird in diesem Feld maskiert angezeigt.",
|
|||
|
|
"auth.invite.passwordHint": "Mindestens 8 Zeichen. Keine weiteren Komplexitätsregeln.",
|
|||
|
|
"auth.invite.submit": "Einladung annehmen",
|
|||
|
|
"auth.invite.setPasswordSubmit": "Passwort festlegen",
|
|||
|
|
"auth.invite.accepting": "Wird angenommen…",
|
|||
|
|
"auth.invite.saving": "Speichern…",
|
|||
|
|
"auth.invite.verifyFailed": "Einladung konnte nicht verifiziert werden",
|
|||
|
|
"auth.invite.verifySetPasswordFailed": "Passwort-Link konnte nicht verifiziert werden",
|
|||
|
|
"auth.invite.acceptFailed": "Einladung konnte nicht angenommen werden",
|
|||
|
|
"auth.invite.setPasswordFailed": "Passwort konnte nicht festgelegt werden",
|
|||
|
|
"auth.invite.expired": "Diese Einladung ist ungültig oder abgelaufen. Bitten Sie Ihren Unternehmens-Admin um eine neue Einladung und öffnen Sie den neuen Link (oder fügen Sie das neue Token unten ein).",
|
|||
|
|
"auth.invite.setPasswordExpired": "Dieser Passwort-Link ist ungültig oder abgelaufen. Bitten Sie einen Unternehmens- oder Plattform-Admin um Neuausstellung und öffnen Sie den neuen Link (oder fügen Sie das neue Token unten ein).",
|
|||
|
|
"auth.invite.emailMismatchDefault": "Sie sind mit einer anderen E-Mail angemeldet als diese Einladung.",
|
|||
|
|
"auth.invite.expiredFooter": "Abgelaufener Link? Bitten Sie einen Admin um Neuausstellung — es gibt keine Self-Service-API zum erneuten Senden. Plattform-Admins:",
|
|||
|
|
"auth.invite.adminUsersLink": "Admin → Benutzer",
|
|||
|
|
"auth.invite.doneTitle": "Sie sind im Team",
|
|||
|
|
"auth.invite.doneSetPasswordTitle": "Passwort gespeichert",
|
|||
|
|
"auth.invite.doneDescription": "Ihr Konto ist bereit. Öffnen Sie als Nächstes das Dashboard, um mit Feeds und Produkten zu arbeiten, oder prüfen Sie die Unternehmenseinstellungen.",
|
|||
|
|
"auth.invite.doneSetPasswordDescription": "Melden Sie sich mit Ihrer E-Mail und dem neuen Passwort an, um Ihren Arbeitsbereich zu öffnen.",
|
|||
|
|
"auth.invite.openDashboard": "Dashboard öffnen",
|
|||
|
|
"auth.invite.companySettings": "Unternehmenseinstellungen",
|
|||
|
|
"auth.invite.goToSignIn": "Zur Anmeldung",
|
|||
|
|
"auth.invite.afterSignInNote": "Nach der Anmeldung landen Sie in Ihrem Arbeitsbereich — die Greenfield-Einrichtungstour wird übersprungen.",
|
|||
|
|
"auth.invite.mismatchTitle": "Falsches Konto für diese Einladung",
|
|||
|
|
"auth.invite.mismatchDescription": "Dieser Link gilt für eine andere E-Mail als die, mit der Sie angemeldet sind. Melden Sie sich ab, um als eingeladener Benutzer fortzufahren, oder bleiben Sie angemeldet und bitten Sie einen Admin um Neuausstellung der Einladung.",
|
|||
|
|
"auth.invite.mismatchDetail": "Angemeldet als {session}, aber diese Einladung ist für {invite}.",
|
|||
|
|
"auth.invite.mismatchFallback": "Die angemeldete E-Mail stimmt nicht mit dieser Einladung überein.",
|
|||
|
|
"auth.invite.switchAccountTitle": "Konto wechseln:",
|
|||
|
|
"auth.invite.switchAccountBody": "melden Sie sich ab und schließen Sie dieses Formular mit der eingeladenen E-Mail{emailSuffix} ab.",
|
|||
|
|
"auth.invite.reissueTitle": "Neuausstellungs-Pfad:",
|
|||
|
|
"auth.invite.reissueBody": "wenn sich Ihre echte Anmelde-E-Mail geändert hat (E-Mail-Drift), bitten Sie einen Unternehmens-Admin, diese Einladung zu widerrufen und eine neue an die E-Mail zu senden, mit der Sie sich anmelden. Plattform-Admins können Passwort-Links auch unter Admin → Benutzer erneut ausstellen.",
|
|||
|
|
"locale.switcher": "Oberflächensprache",
|
|||
|
|
"locale.menu": "Oberflächensprache wählen",
|
|||
|
|
"locale.label": "Dashboard-Sprache",
|
|||
|
|
"locale.help": "Ändert Beschriftungen in Navigation und Einstellungen. Die Sprache für generierte Inhalte wird separat unter Unternehmen festgelegt.",
|
|||
|
|
"settings.contentLanguage": "Inhaltssprache",
|
|||
|
|
"settings.contentLanguageHelp": "Sprache für Produkttitel, Beschreibungen und andere generierte Inhalte",
|
|||
|
|
"settings.tab.profile": "Profil",
|
|||
|
|
"settings.tab.company": "Unternehmen",
|
|||
|
|
"settings.tab.alerts": "Hinweise",
|
|||
|
|
"settings.tab.apiKeys": "API-Schlüssel",
|
|||
|
|
"settings.tab.team": "Teammitglieder",
|
|||
|
|
"settings.title": "Einstellungen",
|
|||
|
|
"settings.description": "Konto, Unternehmen, API-Schlüssel und Team.",
|
|||
|
|
"settings.accessDenied": "Sie haben keine Berechtigung, die Unternehmenseinstellungen zu öffnen. Bitten Sie einen Unternehmens-Admin um Hilfe.",
|
|||
|
|
"settings.loadFailed": "Einstellungen konnten nicht geladen werden",
|
|||
|
|
"settings.profileHeading": "Profil",
|
|||
|
|
"settings.personalInfo": "Persönliche Daten",
|
|||
|
|
"settings.personalInfoHelp": "Aktualisieren Sie Ihre persönlichen Daten",
|
|||
|
|
"settings.firstName": "Vorname",
|
|||
|
|
"settings.firstNamePlaceholder": "Ihr Vorname",
|
|||
|
|
"settings.lastName": "Nachname",
|
|||
|
|
"settings.lastNamePlaceholder": "Ihr Nachname",
|
|||
|
|
"settings.email": "E-Mail",
|
|||
|
|
"settings.profileUpdated": "Profil aktualisiert.",
|
|||
|
|
"settings.profileUpdateFailed": "Profil konnte nicht aktualisiert werden",
|
|||
|
|
"settings.role.member": "Mitglied",
|
|||
|
|
"settings.role.admin": "Admin",
|
|||
|
|
"settings.teamHeading": "Teammitglieder",
|
|||
|
|
"settings.inviteUser": "Benutzer einladen",
|
|||
|
|
"settings.teamAdminOnly": "Nur Unternehmens-Admins können Teammitglieder einladen, befördern, herabstufen oder entfernen.",
|
|||
|
|
"settings.shareAcceptLink": "Annahmelink teilen",
|
|||
|
|
"settings.shareAcceptLinkHelp": "Ausgehende E-Mail ist nicht konfiguriert. Kopieren Sie diesen Einmal-Link und senden Sie ihn an den Eingeladenen. Er legt ein Passwort fest (mindestens 8 Zeichen) und tritt mit der von Ihnen gewählten Rolle bei.",
|
|||
|
|
"settings.acceptLinkLabel": "Einmaliger Einladungs-Annahmelink",
|
|||
|
|
"settings.copyLink": "Link kopieren",
|
|||
|
|
"settings.linkCopied": "Annahmelink kopiert.",
|
|||
|
|
"settings.table.email": "E-Mail",
|
|||
|
|
"settings.table.role": "Rolle",
|
|||
|
|
"settings.table.status": "Zustand",
|
|||
|
|
"settings.table.joined": "Beigetreten / läuft ab",
|
|||
|
|
"settings.table.actions": "Aktionen",
|
|||
|
|
"settings.teamForbidden": "Sie haben keine Berechtigung, die Teamliste anzuzeigen. Bitten Sie einen Unternehmens-Admin um Hilfe.",
|
|||
|
|
"settings.noTeammates": "Noch keine Teammitglieder",
|
|||
|
|
"settings.noTeammatesHelp": "Laden Sie Kollegen als Mitglied (Produkte und Feeds) oder Admin (Team und Unternehmenseinstellungen) ein. Ausstehende Einladungen erscheinen hier bis zur Annahme.",
|
|||
|
|
"settings.noTeammatesMemberHelp": "Noch keine Teammitglieder aufgelistet. Bitten Sie einen Unternehmens-Admin, Einladungen zu senden.",
|
|||
|
|
"settings.memberActions": "Mitgliederaktionen",
|
|||
|
|
"settings.makeAdmin": "Zum Admin machen",
|
|||
|
|
"settings.makeMember": "Zum Mitglied machen",
|
|||
|
|
"settings.removeMember": "Entfernen",
|
|||
|
|
"settings.revokeInvite": "Einladung widerrufen",
|
|||
|
|
"settings.needOneAdmin": "Unternehmen benötigen mindestens einen Admin",
|
|||
|
|
"settings.expires": "Läuft ab am {date}",
|
|||
|
|
"settings.invalidEmail": "Geben Sie eine gültige E-Mail-Adresse ein.",
|
|||
|
|
"settings.inviteCreatedNoMail": "Einladung für {email} als {role} erstellt. Kopieren Sie den Annahmelink unten und teilen Sie ihn — ausgehende E-Mail ist nicht konfiguriert.",
|
|||
|
|
"settings.inviteSent": "Einladung an {email} als {role} gesendet. Die Person sollte die E-Mail öffnen und vor Ablauf annehmen.",
|
|||
|
|
"settings.inviteFailed": "Einladung konnte nicht gesendet werden",
|
|||
|
|
"settings.revokeConfirm": "Diese Einladung widerrufen?",
|
|||
|
|
"settings.revoked": "Einladung widerrufen.",
|
|||
|
|
"settings.revokeFailed": "Einladung konnte nicht widerrufen werden",
|
|||
|
|
"settings.removeConfirm": "{email} aus diesem Unternehmen entfernen?",
|
|||
|
|
"settings.memberRemoved": "{email} entfernt.",
|
|||
|
|
"settings.removeFailed": "Benutzer konnte nicht entfernt werden",
|
|||
|
|
"settings.roleChangeConfirm": "{email} zu {role} {action}?",
|
|||
|
|
"settings.roleChanged": "{email} ist jetzt {role}.",
|
|||
|
|
"settings.roleChangeFailed": "Rolle konnte nicht aktualisiert werden",
|
|||
|
|
"settings.promote": "Befördern",
|
|||
|
|
"settings.demote": "Herabstufen",
|
|||
|
|
"settings.inviteTitle": "Teammitglied einladen",
|
|||
|
|
"settings.inviteDescription": "Sie erhalten einen Link, um ein Passwort festzulegen (mindestens 8 Zeichen) und diesem Unternehmen beizutreten.",
|
|||
|
|
"settings.inviteEmail": "E-Mail",
|
|||
|
|
"settings.inviteEmailPlaceholder": "kollege@beispiel.com",
|
|||
|
|
"settings.inviteRole": "Rolle",
|
|||
|
|
"settings.inviteRoleHint": "Mitglieder verwalten Produkte und Feeds. Admins können auch Teammitglieder einladen und Unternehmenseinstellungen ändern.",
|
|||
|
|
"settings.sendInvite": "Einladung senden",
|
|||
|
|
"settings.companyHeading": "Unternehmenseinstellungen",
|
|||
|
|
"settings.activeCompany": "Aktives Unternehmen",
|
|||
|
|
"settings.creditsOverview": "Credit-Übersicht",
|
|||
|
|
"settings.plan": "Tarifplan",
|
|||
|
|
"settings.used": "Verbraucht",
|
|||
|
|
"settings.companyInfo": "Unternehmensinformationen",
|
|||
|
|
"settings.companyInfoHelp": "Aktualisieren Sie Ihre Unternehmensdaten",
|
|||
|
|
"settings.companyName": "Unternehmensname",
|
|||
|
|
"settings.companyNamePlaceholder": "Ihr Unternehmensname",
|
|||
|
|
"settings.contentSettings": "Inhaltseinstellungen",
|
|||
|
|
"settings.mergeProducts": "Produkte mit derselben GTIN zusammenführen",
|
|||
|
|
"settings.emailIntegration": "E-Mail-Integration",
|
|||
|
|
"settings.aiIntegrations": "KI-Integrationen",
|
|||
|
|
"settings.alertsHeading": "Operator-Benachrichtigungen",
|
|||
|
|
"settings.inAppToasts": "In-App-Toasts",
|
|||
|
|
"settings.emailAlerts": "E-Mail-Benachrichtigungen",
|
|||
|
|
"settings.apiKeysHeading": "API-Schlüssel",
|
|||
|
|
"settings.createApiKey": "API-Schlüssel erstellen",
|
|||
|
|
"settings.createApiKeyShort": "API-Schlüssel erstellen",
|
|||
|
|
"settings.createApiKeyTitle": "API-Schlüssel erstellen",
|
|||
|
|
"settings.apiKeyLabel": "API-Schlüssel",
|
|||
|
|
"settings.keyName": "Schlüsselname",
|
|||
|
|
"settings.storeKeySafe": "Bewahren Sie ihn sicher auf — das vollständige Geheimnis ist danach nicht mehr sichtbar.",
|
|||
|
|
"settings.apiKeysIntro": "Erstellen Sie einen Unternehmens-API-Schlüssel für die öffentlichen /api/v1-Endpunkte. Das vollständige Geheimnis wird nur einmal bei der Erstellung angezeigt — sofort kopieren.",
|
|||
|
|
"settings.apiKeysUseWhere": "Senden Sie ihn als Authorization: Bearer <key> (bevorzugt) oder X-API-Key.",
|
|||
|
|
"settings.apiKeysDocsLink": "API-Authentifizierungsdocs",
|
|||
|
|
"settings.apiKeyOnceWarning": "Dies ist die einzige Anzeige des vollständigen Geheimnisses. Kopieren Sie es jetzt, bevor Sie diesen Dialog schließen.",
|
|||
|
|
"settings.table.name": "Bezeichnung",
|
|||
|
|
"settings.table.key": "Schlüssel",
|
|||
|
|
"settings.table.lastUsed": "Zuletzt verwendet",
|
|||
|
|
"dashboard.demoSandbox": "Demo-Sandbox",
|
|||
|
|
"dashboard.demoEmptyTitle": "Demo-Sandbox ist leer",
|
|||
|
|
"dashboard.demoEmptyHint": "Demo-Sandbox ist leer — wechseln Sie zu A1 oder verbinden Sie einen Feed, um echte Katalogstatistiken zu sehen.",
|
|||
|
|
"dashboard.overviewTitle": "Übersicht",
|
|||
|
|
"dashboard.quickLinks": "Schnelllinks",
|
|||
|
|
"dashboard.whatsNew": "Neuigkeiten",
|
|||
|
|
"dashboard.startTutorial": "Tutorial starten",
|
|||
|
|
"dashboard.resumeTutorial": "Tutorial fortsetzen",
|
|||
|
|
"dashboard.restartTutorial": "Tutorial neu starten",
|
|||
|
|
"dashboard.tourTopics": "Tour-Themen",
|
|||
|
|
"dashboard.browseTutorialSections": "Tutorial-Abschnitte durchsuchen",
|
|||
|
|
"dashboard.connectFeed": "Feed verbinden",
|
|||
|
|
"dashboard.processProducts": "Produkte verarbeiten",
|
|||
|
|
"dashboard.openProducts": "Produkte öffnen",
|
|||
|
|
"dashboard.welcomeTo": "Willkommen bei {name}",
|
|||
|
|
"dashboard.trialBadge": "Testphase",
|
|||
|
|
"dashboard.actions": "Dashboard-Aktionen",
|
|||
|
|
"dashboard.emptyPaygHint": "Descrybe holt einen Katalog herein, reichert ihn an und verarbeitet ihn, dann exportiert oder pusht zu Shops. Nutzen Sie Erste Schritte unten.",
|
|||
|
|
"dashboard.emptyCreditsHint": "Descrybe holt einen Katalog herein, reichert ihn an und verarbeitet ihn, dann exportiert oder pusht zu Shops. Sie haben {credits} — starten Sie mit Erste Schritte unten.",
|
|||
|
|
"dashboard.workflowTitle": "Katalog-Workflow",
|
|||
|
|
"dashboard.recentActivity": "Letzte Aktivität",
|
|||
|
|
"dashboard.loadFailed": "Dashboard konnte nicht geladen werden",
|
|||
|
|
"dashboard.workspaceFallback": "Dieser Arbeitsbereich",
|
|||
|
|
"dashboard.jobFallback": "Job {id}",
|
|||
|
|
"dashboard.workflow.feeds.connect": "Quelle verbinden",
|
|||
|
|
"dashboard.workflow.feeds.sources": "{count} Quelle",
|
|||
|
|
"dashboard.workflow.feeds.sourcesPlural": "{count} Quellen",
|
|||
|
|
"dashboard.workflow.products.build": "Katalog aufbauen",
|
|||
|
|
"dashboard.workflow.products.count": "{count} im Katalog",
|
|||
|
|
"dashboard.workflow.map": "Map",
|
|||
|
|
"dashboard.workflow.map.detail": "Spalten zuordnen, nachdem Sie einen Feed hinzugefügt haben",
|
|||
|
|
"dashboard.workflow.map.ready": "Map bei einem Feed öffnen",
|
|||
|
|
"dashboard.workflow.sync": "Sync",
|
|||
|
|
"dashboard.workflow.sync.detail": "Nach dem Mapping eine Stichprobe abrufen",
|
|||
|
|
"dashboard.workflow.sync.ready": "Stichprobe in Produkte synchronisieren",
|
|||
|
|
"dashboard.workflow.process": "Verarbeiten",
|
|||
|
|
"dashboard.workflow.processActive": "{count} aktiv",
|
|||
|
|
"dashboard.workflow.processWaiting": "{count} wartend",
|
|||
|
|
"dashboard.workflow.processDone": "{count} erledigt",
|
|||
|
|
"dashboard.workflow.processRun": "KI-Jobs ausführen",
|
|||
|
|
"dashboard.workflow.export": "Exportieren",
|
|||
|
|
"dashboard.workflow.exportReady": "Vorlagen & Download",
|
|||
|
|
"dashboard.workflow.exportMap": "Zuordnen dann exportieren",
|
|||
|
|
"dashboard.workflowHint": "Katalog rein → anreichern / verarbeiten → exportieren oder zu Shops pushen. Zum nächsten Schritt für {name}.",
|
|||
|
|
"dashboard.overviewHint": "Live-Summen für {name}",
|
|||
|
|
"dashboard.demoEmptyMessage": "Wechseln Sie in der Kopfzeile zu A1 (oder einem anderen Seed-Unternehmen) oder verbinden Sie hier einen Feed, um diese Sandbox zu füllen.",
|
|||
|
|
"dashboard.emptyTitle": "Katalog hereinholen",
|
|||
|
|
"dashboard.emptyMessage": "Katalog rein → anreichern / verarbeiten → exportieren oder zu Shops pushen. Starten Sie mit Erste Schritte unten (oder Feed verbinden / CSV hochladen).",
|
|||
|
|
"dashboard.connectFeedAnyway": "Feed trotzdem verbinden",
|
|||
|
|
"dashboard.connectFeedShort": "Feed verbinden",
|
|||
|
|
"dashboard.uploadCsv": "CSV hochladen",
|
|||
|
|
"dashboard.goToBilling": "Zur Abrechnung",
|
|||
|
|
"dashboard.freePlanTitle": "Sie nutzen den Free-Plan",
|
|||
|
|
"dashboard.freePlanMessageWithLimit": "{used} von {max} Produkten genutzt. Feed-Zuordnung, Basisbereinigung und EU-Energieetiketten (EPREL) sind enthalten; upgraden Sie für KI-Titel und -Beschreibungen sowie mehr Kapazität.",
|
|||
|
|
"dashboard.freePlanMessage": "Feed-Zuordnung, Basisbereinigung und EU-Energieetiketten (EPREL) sind enthalten; upgraden Sie für KI-Titel und -Beschreibungen sowie mehr Kapazität.",
|
|||
|
|
"dashboard.outOfCreditsTitle": "Ihre KI-Credits sind aufgebraucht",
|
|||
|
|
"dashboard.outOfCreditsMessage": "Kaufen Sie mehr Credits oder upgraden Sie Ihren Plan, um die Verarbeitung fortzusetzen.",
|
|||
|
|
"dashboard.productLimitTitle": "Produktlimit erreicht",
|
|||
|
|
"dashboard.productLimitMessage": "Ihr {plan}-Plan erlaubt {max} Produkte ({count} im Katalog). Upgraden Sie, um mehr zu verarbeiten.",
|
|||
|
|
"dashboard.productLimitMessageFull": "Das Produktlimit Ihres {plan}-Plans ist erreicht. Upgraden Sie, um mehr zu verarbeiten.",
|
|||
|
|
"dashboard.comparePlans": "Pläne vergleichen",
|
|||
|
|
"dashboard.viewPlans": "Pläne ansehen",
|
|||
|
|
"dashboard.trialTitle": "Testphase · {plan}",
|
|||
|
|
"dashboard.trialMessageDated": "Testphase endet am {date}. {credits} Credits übrig.",
|
|||
|
|
"dashboard.trialMessage": "{credits} Credits verbleiben in Ihrer Testphase.",
|
|||
|
|
"dashboard.lowCreditsTitle": "Credits werden knapp",
|
|||
|
|
"dashboard.lowCreditsMessage": "{remaining} von {total} Credits übrig. Laden Sie auf oder upgraden Sie, bevor Jobs stoppen.",
|
|||
|
|
"dashboard.latestJobs": "Neueste Verarbeitungsjobs",
|
|||
|
|
"dashboard.noJobsEmpty": "Noch keine Jobs — importieren Sie zuerst Produkte.",
|
|||
|
|
"dashboard.noJobsReady": "Keine aktuellen Jobs. Starten Sie einen unter Produkte, wenn Sie bereit sind.",
|
|||
|
|
"dashboard.startJob": "Job unter Produkte starten",
|
|||
|
|
"dashboard.quickLinksHint": "Feeds, Produkte, Jobs und Export.",
|
|||
|
|
"dashboard.feedsImportMap": "Importieren und zuordnen",
|
|||
|
|
"dashboard.productsBrowse": "Durchsuchen und verarbeiten",
|
|||
|
|
"dashboard.jobsMonitor": "Aufgaben überwachen",
|
|||
|
|
"dashboard.exportsTemplates": "Vorlagen & Download",
|
|||
|
|
"activation.title": "Erste Schritte",
|
|||
|
|
"activation.description": "Descrybe holt einen Katalog herein, reichert ihn an und verarbeitet ihn, dann exportiert oder pusht zu Shops. Schließen Sie den aktuellen Schritt ab und fahren Sie fort — die Demo-Tour erklärt die Bildschirme, ohne den Checklistenfortschritt zu ändern.",
|
|||
|
|
"activation.descriptionShort": "Beginnen Sie mit dem hervorgehobenen Schritt unten — eine Aktion nach der anderen. Shop-Verbindung ist optional.",
|
|||
|
|
"activation.nextCta": "Diesen Schritt ausführen",
|
|||
|
|
"activation.valueProp": "Descrybe holt einen Katalog herein, reichert ihn an und verarbeitet ihn, dann exportiert oder pusht zu Ihren Shops.",
|
|||
|
|
"activation.alreadyDone": "Bereits erledigt",
|
|||
|
|
"activation.skipForNow": "Vorerst überspringen",
|
|||
|
|
"activation.showAllSteps": "Alle {total} Schritte anzeigen",
|
|||
|
|
"activation.showFewerSteps": "Weniger Schritte anzeigen",
|
|||
|
|
"activation.corePathLabel": "Kurz gesagt",
|
|||
|
|
"activation.corePath": "Katalog rein → Anreichern / verarbeiten → Exportieren oder zu Shops pushen",
|
|||
|
|
"activation.storeWizardHint": "Nicht nötig für Feeds oder Exporte — überspringen, außer Sie möchten Produkte in einen Live-Shop pushen.",
|
|||
|
|
"activation.storeWizardCta": "Geführtes Setup starten",
|
|||
|
|
"activation.focus.map": "Als Nächstes: Map bei einem Feed öffnen, Spalten zuordnen und speichern. Zuerst einen Feed hinzufügen, wenn die Liste leer ist.",
|
|||
|
|
"activation.focus.sync": "Als Nächstes: Nach dem Speichern der Zuordnung eine Stichprobe synchronisieren. Sync nur bei zugeordneten Feeds — nicht bei unmapped Quellen.",
|
|||
|
|
"activation.focus.dismiss": "Hinweis schließen",
|
|||
|
|
"activation.dismiss": "Checkliste ausblenden",
|
|||
|
|
"hypercare.report.title": "Cutover-Hypercare",
|
|||
|
|
"hypercare.report.message": "Fehlende oder falsche Daten nach der Migration? Melden Sie es, damit wir Ihren Workspace korrigieren können.",
|
|||
|
|
"hypercare.report.cta": "Fehlende oder falsche Daten melden",
|
|||
|
|
"hypercare.report.dismiss": "Verwerfen",
|
|||
|
|
"hypercare.report.adminTriage": "Hypercare-Warteschlange öffnen",
|
|||
|
|
|
|||
|
|
"etl.gaps.title": "What did not migrate",
|
|||
|
|
"etl.gaps.message": "These areas were intentionally left empty or partial after the Descrybe platform cutover. Nothing is “broken” — recreate or reconnect as needed.",
|
|||
|
|
"etl.gaps.dismiss": "Dismiss",
|
|||
|
|
"etl.gaps.apiKeys.title": "API keys",
|
|||
|
|
"etl.gaps.apiKeys.body": "Legacy API key secrets were not migrated. Create a new key to restore API access — the secret is shown only once.",
|
|||
|
|
"etl.gaps.apiKeys.cta": "Open API keys",
|
|||
|
|
"etl.gaps.blobs.title": "File contents (blobs)",
|
|||
|
|
"etl.gaps.blobs.body": "Upload records may exist as metadata only. File bytes were not copied — re-upload CSVs or resync object storage if you need the originals.",
|
|||
|
|
"etl.gaps.blobs.countHint": "{count} file records are metadata-only (bytes were not migrated).",
|
|||
|
|
"etl.gaps.blobs.cta": "Open Files",
|
|||
|
|
"etl.gaps.jobs.title": "Processing history",
|
|||
|
|
"etl.gaps.jobs.body": "Legacy job and task history was not backfilled for cutover. New jobs you start here will appear normally.",
|
|||
|
|
"etl.gaps.jobs.emptyHint": "Optional jobs domain was not run — empty history is expected.",
|
|||
|
|
"etl.gaps.jobs.migratedHint": "{count} jobs were tagged migrated from an optional backfill.",
|
|||
|
|
"etl.gaps.jobs.cta": "Open Processing",
|
|||
|
|
"etl.gaps.woo.title": "Store credentials",
|
|||
|
|
"etl.gaps.woo.body": "WooCommerce and Shopify secrets may need to be re-entered after cutover — that is a reconnect step, not a broken sync.",
|
|||
|
|
"etl.gaps.woo.cta": "Open Stores",
|
|||
|
|
"etl.gaps.settings.title": "Company settings",
|
|||
|
|
"etl.gaps.settings.body": "Only language and merge-products settings were imported. Re-check other company preferences in Settings.",
|
|||
|
|
"etl.gaps.settings.cta": "Open company settings",
|
|||
|
|
"activation.progress": "{done} von {total} erledigt",
|
|||
|
|
"activation.stepsLabel": "Aktivierungsschritte",
|
|||
|
|
"activation.pausedTitle": "Erste Schritte pausiert",
|
|||
|
|
"activation.pausedBody": "Jederzeit fortsetzen — von Produktfeldern bis Export. Shop-Verbindung bleibt optional.",
|
|||
|
|
"activation.resume": "Checkliste fortsetzen",
|
|||
|
|
"activation.step.enable-fields.title": "Produktfelder aktivieren",
|
|||
|
|
"activation.step.enable-fields.body": "Wählen Sie, welche Standard-Produktspalten Descrybe mappen und bereinigen soll.",
|
|||
|
|
"activation.step.connect-source.title": "Produktfeed hinzufügen",
|
|||
|
|
"activation.step.connect-source.body": "Fügen Sie einen CSV- oder XML-Katalogfeed hinzu, damit Produkte in Descrybe gelangen. Eine Live-Shop-Verbindung ist ein späterer optionaler Schritt.",
|
|||
|
|
"activation.step.map.title": "Feed-Spalten mappen",
|
|||
|
|
"activation.step.map.body": "Öffnen Sie unter Feeds die Map für Ihren Feed, ordnen Sie Lieferantenspalten zu und speichern Sie.",
|
|||
|
|
"activation.step.sync-sample.title": "Stichprobe synchronisieren",
|
|||
|
|
"activation.step.sync-sample.body": "Synchronisieren Sie unter Feeds eine kleine Stichprobe von einem gemappten Feed, um das Mapping vor dem vollen Lauf zu prüfen.",
|
|||
|
|
"activation.step.process.title": "Produkte verarbeiten",
|
|||
|
|
"activation.step.process.body": "Öffnen Sie unverarbeitete Produkte und starten Sie die Verarbeitung für bereinigte Kataloginhalte.",
|
|||
|
|
"activation.step.store-connect.title": "Shop verbinden",
|
|||
|
|
"activation.step.store-connect.body": "Optional. Verbinden Sie WooCommerce oder Shopify, um Produkte in Ihren Shop zu pushen. Überspringen, wenn Sie nur Feeds und Exporte nutzen.",
|
|||
|
|
"activation.step.export.title": "Export erstellen",
|
|||
|
|
"activation.step.export.body": "Erstellen Sie einen Export-Feed, um bereinigte Produkte als XML oder CSV herunterzuladen oder zu veröffentlichen.",
|
|||
|
|
"stats.products": "Importierte Produkte",
|
|||
|
|
"stats.categories": "Kategorien",
|
|||
|
|
"stats.attributes": "Attribute",
|
|||
|
|
"stats.feeds": "Feeds",
|
|||
|
|
"stats.credits": "Guthaben",
|
|||
|
|
"stats.openCatalog": "Katalog öffnen",
|
|||
|
|
"stats.productsHint": "Katalog {processed} · Warteschlange {unprocessed} (getrennte Zähler)",
|
|||
|
|
"stats.catalogTree": "Katalogbaum",
|
|||
|
|
"stats.attributeLibrary": "Attributbibliothek",
|
|||
|
|
"stats.importSources": "Importquellen",
|
|||
|
|
"stats.payAsYouGo": "Nutzung nach Verbrauch",
|
|||
|
|
"stats.walletBilling": "Wallet · Abrechnung",
|
|||
|
|
"stats.enterpriseBilling": "Enterprise · Abrechnung",
|
|||
|
|
"stats.usedBilling": "{used} verbraucht · Abrechnung",
|
|||
|
|
"processing.jobStatus.processing": "Verarbeitung",
|
|||
|
|
"processing.jobStatus.completed": "Abgeschlossen",
|
|||
|
|
"processing.jobStatus.failed": "Fehlgeschlagen",
|
|||
|
|
"processing.jobStatus.cancelled": "Abgebrochen",
|
|||
|
|
"processing.jobStatus.pending": "Ausstehend",
|
|||
|
|
"processing.jobStatus.queued": "In Warteschlange",
|
|||
|
|
"processing.jobStatus.skipped": "Übersprungen",
|
|||
|
|
"processing.jobStatus.unknown": "Unbekannt",
|
|||
|
|
"processing.job.error.all_failed": "Alle {count} Produkte sind fehlgeschlagen.",
|
|||
|
|
"processing.job.error.partial_failed": "{count} Produkte sind fehlgeschlagen.",
|
|||
|
|
"processing.step.normalize": "Normalisieren",
|
|||
|
|
"processing.step.parse_specs": "Specs parsen",
|
|||
|
|
"processing.step.fill_fields": "Felder ausfüllen",
|
|||
|
|
"processing.step.eprel": "EPREL",
|
|||
|
|
"processing.step.ai_enhance": "KI-Verbesserung",
|
|||
|
|
"processing.type.full": "Vollständige Verarbeitung",
|
|||
|
|
"processing.type.enhance_only": "Nur verbessern",
|
|||
|
|
"processing.type.title": "Nur Titel",
|
|||
|
|
"processing.type.description": "Nur Beschreibung",
|
|||
|
|
"processing.type.attributes": "Attribute",
|
|||
|
|
"processing.type.category": "Kategorie",
|
|||
|
|
"processing.type.eprel": "EPREL",
|
|||
|
|
"processing.type.seo": "SEO",
|
|||
|
|
"processing.type.normalize": "Normalisieren",
|
|||
|
|
"errors.requestFailed": "Anfrage fehlgeschlagen",
|
|||
|
|
"errors.maintenance": "Das System ist in Wartung. Versuchen Sie es später erneut.",
|
|||
|
|
"errors.readOnly": "Das System ist im Nur-Lesen-Modus. Änderungen sind vorübergehend deaktiviert.",
|
|||
|
|
"errors.companyAdminDenied": "Nur Unternehmens-Admins können {action}. Bitten Sie einen Admin um Hilfe.",
|
|||
|
|
"errors.companyAdminDenied.actionDefault": "dies tun",
|
|||
|
|
"docs.tryIt.memberCannotCreate": "Nur Unternehmens-Admins können API-Schlüssel erstellen. Legacy-Schlüssel wurden nicht migriert — Schlüssel unten einfügen oder Admin um einen neuen bitten.",
|
|||
|
|
"docs.tryIt.noKeysLegacyAdmin": "Legacy-API-Schlüssel wurden nicht migriert. Neuen Schlüssel über Use my API key oder Einstellungen → API-Schlüssel erstellen — Geheimnis nur einmal sichtbar.",
|
|||
|
|
"docs.tryIt.noKeysLegacyMember": "Keine API-Schlüssel gelistet. Legacy-Schlüssel nicht migriert — Admin um Erstellung bitten oder dk_-Schlüssel einfügen.",
|
|||
|
|
"errors.couldNotUpdateLanguage": "Sprache konnte nicht aktualisiert werden",
|
|||
|
|
"toast.support.replyTitle": "Support-Antwort",
|
|||
|
|
"toast.support.replyBody": "Das Team hat auf Ihr Support-Ticket geantwortet.",
|
|||
|
|
"toast.support.replyRe": "Re: {subject}",
|
|||
|
|
"toast.support.statusTitle": "Ticketstatus aktualisiert",
|
|||
|
|
"toast.support.statusBody": "Der Status Ihres Support-Tickets hat sich geändert.",
|
|||
|
|
"toast.support.updateTitle": "Support-Update",
|
|||
|
|
"assistant.label": "Assistent",
|
|||
|
|
"assistant.open": "Systemassistenten öffnen",
|
|||
|
|
"assistant.close": "Systemassistenten schließen",
|
|||
|
|
"tutorial.demoTour": "Demo-Tour",
|
|||
|
|
"tutorial.jumpToTopic": "Zu einem Thema springen",
|
|||
|
|
"tutorial.whereNeedHelp": "Wobei brauchen Sie Hilfe?",
|
|||
|
|
"tutorial.skipTour": "Tour überspringen",
|
|||
|
|
"tutorial.skipAria": "Tutorial überspringen",
|
|||
|
|
"tutorial.pickerBody": "Wählen Sie einen Abschnitt, um diesen Teil der Demo erneut zu öffnen. Das Durchsuchen der Tour ändert Ihre Kontodaten nicht.",
|
|||
|
|
"tutorial.sectionsAria": "Tutorial-Abschnitte",
|
|||
|
|
"tutorial.open": "Öffnen",
|
|||
|
|
"tutorial.close": "Schließen",
|
|||
|
|
"tutorial.resumeLastStep": "Letzten Schritt fortsetzen",
|
|||
|
|
"tutorial.startFromBeginning": "Von vorn starten",
|
|||
|
|
"tutorial.stepOf": "Schritt {current} von {total}",
|
|||
|
|
"tutorial.jumpTo": "Springen zu…",
|
|||
|
|
"tutorial.jumpToSectionAria": "Zum Abschnitt springen",
|
|||
|
|
"tutorial.back": "Zurück",
|
|||
|
|
"tutorial.pause": "Pausieren",
|
|||
|
|
"tutorial.continue": "Weiter",
|
|||
|
|
"tutorial.finishTour": "Tour beenden",
|
|||
|
|
"tutorial.missingTargetHint": "Dieses Steuerelement ist auf diesem Bildschirm noch nicht vorhanden. Sie können trotzdem Weiter wählen — die Tour erfordert nie Speichern oder Synchronisieren.",
|
|||
|
|
"tutorial.section.welcome": "Welcome",
|
|||
|
|
"tutorial.section.catalog": "Catalog setup",
|
|||
|
|
"tutorial.section.sources": "Feeds",
|
|||
|
|
"tutorial.section.mapping": "Map & sync",
|
|||
|
|
"tutorial.section.products": "Process",
|
|||
|
|
"tutorial.section.export": "Export & stores",
|
|||
|
|
"tutorial.section.grow": "Grow",
|
|||
|
|
"tutorial.section.done": "Done",
|
|||
|
|
"tutorial.step.welcome.title": "Willkommen bei Descrybe",
|
|||
|
|
"tutorial.step.welcome.body": "Descrybes Kernschleife ist Feeds → Process → Export / Stores. Diese geführte Demo hebt diese Screens auf Ihrem echten Dashboard hervor — ohne Speichern, Sync, Felder aktivieren oder Feeds anlegen. Jederzeit pausieren; Fortsetzen über die Kopfzeile. Springen Sie zu einem Abschnitt, wenn Sie nur bei einem Thema Hilfe brauchen.",
|
|||
|
|
"tutorial.step.welcome.tip": "Demo tour — your data stays unchanged until you choose to act outside the tour.",
|
|||
|
|
"tutorial.step.welcome.nextLabel": "Start tour",
|
|||
|
|
"tutorial.step.welcome.missingHint": "You’re on the dashboard — continue when ready.",
|
|||
|
|
"tutorial.step.dashboard-overview.title": "Ihr Kommandozentrum",
|
|||
|
|
"tutorial.step.dashboard-overview.body": "Der Katalog-Workflow zeigt den täglichen Pfad: Feeds → Map → Sync → Process. Getting started verfolgt echten Workspace-Fortschritt (getrennt von dieser Demo). Wenn Sie ernsthaft arbeiten wollen, nutzen Sie Manage feeds oder Start processing — dann exportieren oder einen Shop verbinden.",
|
|||
|
|
"tutorial.step.dashboard-overview.tip": "Completing this tour does not mark checklist steps done — only real workspace progress does.",
|
|||
|
|
"tutorial.step.dashboard-overview.missingHint": "The workflow strip and checklist appear after the dashboard loads.",
|
|||
|
|
"tutorial.step.enable-fields.title": "Standardfelder",
|
|||
|
|
"tutorial.step.enable-fields.body": "Standard Fields sind die Produktspalten, die Descrybe zuordnet, verarbeitet und exportiert — Titel, Beschreibung, GTIN, Bilder und mehr. Enable recommended aktiviert einen sinnvollen Standard für die meisten Kataloge. Sie können die Liste später verfeinern, ohne vorhandene Mappings zu brechen.",
|
|||
|
|
"tutorial.step.enable-fields.tip": "In the demo you don’t need to click Enable recommended — Continue when you understand the idea.",
|
|||
|
|
"tutorial.step.enable-fields.warning": "Enabling or disabling fields affects mapping and processing for this company. Prefer Enable recommended once, then tweak carefully.",
|
|||
|
|
"tutorial.step.enable-fields.missingHint": "Wait for the Fields page to load, or open Fields from the Catalog section in the sidebar.",
|
|||
|
|
"tutorial.step.catalog-depth.title": "Kategorien & Attribute",
|
|||
|
|
"tutorial.step.catalog-depth.body": "Im Katalog-Bereich der Seitenleiste finden Sie auch Categories und Attributes. Categories organisieren den Katalog; Attribute speisen Filter und strukturierte Beschreibungen. Sie müssen sie nicht konfigurieren, um diese Tour zu beenden.",
|
|||
|
|
"tutorial.step.catalog-depth.tip": "Return to this section anytime from Jump to… if you revisit taxonomy later.",
|
|||
|
|
"tutorial.step.catalog-depth.missingHint": "Expand Catalog in the sidebar to open Categories or Attributes after the tour.",
|
|||
|
|
"tutorial.step.connect-source.title": "Produktquelle hinzufügen",
|
|||
|
|
"tutorial.step.connect-source.body": "Feeds bringen Lieferantenkataloge in Descrybe — CSV-, XML- oder URL-Dateien. Add Feed legt eine neue Quelle an; jede Zeile zeigt den Status (bereit zum Mapping, gemappt, aktiv). Map öffnet den Feldabgleich für diesen Feed.",
|
|||
|
|
"tutorial.step.connect-source.tip": "You don’t need to add a feed for the demo. When ready for real setup, add one sample file first.",
|
|||
|
|
"tutorial.step.connect-source.warning": "Avoid deleting live feeds unless you intend to remove that source and its sync history.",
|
|||
|
|
"tutorial.step.connect-source.missingHint": "Open Feeds from the sidebar if this screen hasn’t loaded.",
|
|||
|
|
"tutorial.step.map.title": "Quellfelder zuordnen",
|
|||
|
|
"tutorial.step.map.body": "Auf dem Map-Bildschirm eines Feeds ordnen Sie Lieferantenspalten den Descrybe-Standardfeldern zu. Auto-map schlägt Treffer aus Spaltennamen vor; bestätigen Sie unscharfe Treffer und korrigieren Sie Fehler. Save Mappings speichert die Zuordnung, damit Sync und Verarbeitung jede Zeile lesen können.",
|
|||
|
|
"tutorial.step.map.tip": "Demo tip: open Map on a feed when you have one — you are not required to save.",
|
|||
|
|
"tutorial.step.map.warning": "Don’t Save Mappings until Auto-map looks right — a bad map makes bad products.",
|
|||
|
|
"tutorial.step.map.missingHint": "Add a feed and click Map to see the mapping UI; or Continue to keep learning.",
|
|||
|
|
"tutorial.step.sync-sample.title": "Stichprobe synchronisieren (wenn bereit)",
|
|||
|
|
"tutorial.step.sync-sample.body": "Nach gespeicherten Mappings zieht Sync + Process sample einen kleinen Batch und startet die Verarbeitung, damit Sie Titel, Bilder und Attribute vor einem Voll-Lauf prüfen können. Full Sync now in der Feed-Liste ist für größere Imports, sobald die Stichprobe gut aussieht.",
|
|||
|
|
"tutorial.step.sync-sample.tip": "Skip Sync during the demo — use it only after Save Mappings on a real feed.",
|
|||
|
|
"tutorial.step.sync-sample.warning": "Syncing writes products into this company. Prefer a sample first; avoid Sync now on unmapped feeds.",
|
|||
|
|
"tutorial.step.sync-sample.missingHint": "Sync controls appear on feed rows and on the mapping screen footer.",
|
|||
|
|
"tutorial.step.process.title": "Produkte prüfen",
|
|||
|
|
"tutorial.step.process.body": "Products listet synchronisierte und verarbeitete Katalogartikel. Filtern Sie nach Status, öffnen Sie eine Zeile für Details und nutzen Sie EPREL-Badges bei Energielabel-Daten. Hier erkennen Sie Mapping-Fehler vor Export oder Shop-Sync.",
|
|||
|
|
"tutorial.step.process.tip": "Browsing products is read-only for exploration — editing a row changes live catalog data.",
|
|||
|
|
"tutorial.step.process.missingHint": "Wait for the products table, or Continue if the catalog is still empty.",
|
|||
|
|
"tutorial.step.processing-hub.title": "Hintergrundverarbeitung",
|
|||
|
|
"tutorial.step.processing-hub.body": "Jobs unter Processing zeigen KI- und Pipeline-Fortschritt: abgeschlossene Läufe und Fehler. Starten Sie Jobs vom Dashboard oder Produkten, wenn Sie bewusst Credits für einen Batch ausgeben wollen.",
|
|||
|
|
"tutorial.step.processing-hub.tip": "Jobs consume credits — watch Billing before large runs.",
|
|||
|
|
"tutorial.step.processing-hub.missingHint": "Open Jobs from the Processing section in the sidebar if the page is empty.",
|
|||
|
|
"tutorial.step.stores-hub.title": "Shops & Plattformen",
|
|||
|
|
"tutorial.step.stores-hub.body": "Nach der Verarbeitung verbindet Stores WooCommerce oder Shopify, um bereinigte Katalogdaten in Ihren Shop zu pushen. Nutzen Sie das, wenn Marketplace/CMS das Ziel ist — oder springen Sie zu Export feeds, wenn Partner nur Datei/URL brauchen.",
|
|||
|
|
"tutorial.step.stores-hub.tip": "Reconnect banners appear if a token expires — fix those before relying on sync.",
|
|||
|
|
"tutorial.step.stores-hub.missingHint": "Open Stores from the sidebar to see connection cards.",
|
|||
|
|
"tutorial.step.export.title": "Bereinigte Produkte exportieren",
|
|||
|
|
"tutorial.step.export.body": "Export feeds veröffentlichen bereinigte Produkte als XML oder CSV für Kanäle, Partner oder Ihren Shop. Erstellen Sie einen Export, wählen Sie Format und Filter, dann teilen Sie die Feed-URL oder laden herunter. Exporte lesen verarbeitete Katalogdaten — zuerst mappen und verarbeiten für beste Ergebnisse.",
|
|||
|
|
"tutorial.step.export.tip": "You don’t need to create an export during the demo.",
|
|||
|
|
"tutorial.step.export.warning": "Creating or deleting export feeds affects what partners can download — avoid deleting production feeds casually.",
|
|||
|
|
"tutorial.step.export.missingHint": "Wait for Export feeds to load, or open Exports from the Feeds section in the sidebar.",
|
|||
|
|
"tutorial.step.billing-hub.title": "Credits & Abrechnung",
|
|||
|
|
"tutorial.step.billing-hub.body": "Billing zeigt Ihren Plan, Wallet und verbleibende Credits. Verarbeitung und einige AI-Funktionen belasten dieses Guthaben. Behalten Sie die Nutzung vor großen Katalogläufen im Blick.",
|
|||
|
|
"tutorial.step.billing-hub.tip": "Demo accounts may show unlimited or large balances — treat production credits carefully.",
|
|||
|
|
"tutorial.step.billing-hub.missingHint": "Open Billing from the Account section in the sidebar.",
|
|||
|
|
"tutorial.step.grow-hub.title": "Kampagnen, SEO & Reviews",
|
|||
|
|
"tutorial.step.grow-hub.body": "Unter Marketing: Campaigns erzeugt Inhalte, Content calendar plant Posts, SEO prüft Listings und Reviews bindet WooCommerce ein. Das baut auf einem gesunden gemappten Katalog auf — schließen Sie Feeds → Process → Export / Stores ab, bevor Sie sich darauf stützen.",
|
|||
|
|
"tutorial.step.grow-hub.tip": "Jump back here when you’re ready to market, not during first mapping.",
|
|||
|
|
"tutorial.step.grow-hub.missingHint": "Open Campaigns from Marketing in the sidebar, or Continue.",
|
|||
|
|
"tutorial.step.tour-done.title": "Bereit zum Erkunden",
|
|||
|
|
"tutorial.step.tour-done.body": "Das ist die Produktkarte: Feeds → Map → Sync → Process → Export / Stores. Nutzen Sie Getting started auf dem Dashboard für echte Einrichtung. Tour jederzeit in der Kopfzeile fortsetzen/neu starten, oder Jump to… einen Abschnitt. Skip tour beendet die Demo ohne Checklistenänderung.",
|
|||
|
|
"tutorial.step.tour-done.tip": "Demo complete — no cleanup needed. Your account was not modified by Continue alone.",
|
|||
|
|
"tutorial.step.tour-done.nextLabel": "Finish tour",
|
|||
|
|
"tutorial.step.tour-done.missingHint": "Return to the dashboard to finish.",
|
|||
|
|
"news.uxImprovements.title": "Verbesserungen der Benutzerfreundlichkeit",
|
|||
|
|
"flash.contentLanguageUpdated": "Inhaltssprache aktualisiert.",
|
|||
|
|
"theme.darkMode": "Dunkelmodus",
|
|||
|
|
"theme.lightMode": "Hellmodus",
|
|||
|
|
"forbidden.title.accessRestricted": "Zugriff eingeschränkt",
|
|||
|
|
"forbidden.title.permissionDenied": "Berechtigung verweigert",
|
|||
|
|
"forbidden.message.support": "Dieser Bereich ist nur für Support-Mitarbeiter und Plattform-Admins verfügbar.",
|
|||
|
|
"forbidden.message.platform": "Dieser Bereich ist nur für Plattform-Admins verfügbar.",
|
|||
|
|
"forbidden.message.company": "Sie haben dafür keine Berechtigung. Bitten Sie einen Unternehmens-Admin um Hilfe.",
|
|||
|
|
"forbidden.backToDashboard": "Zurück zum Dashboard",
|
|||
|
|
"admin.chrome.platformOps": "Plattform-Ops",
|
|||
|
|
"admin.chrome.sidebar": "Seitenleiste Plattform-Ops",
|
|||
|
|
"admin.chrome.nav": "Plattform-Ops",
|
|||
|
|
"admin.chrome.mobileMenu": "Mobiles Menü Plattform-Ops",
|
|||
|
|
"admin.chrome.opsBadge": "Ops",
|
|||
|
|
"admin.chrome.backToApp": "Zurück zur App",
|
|||
|
|
"admin.chrome.uiLanguage": "UI-Sprache",
|
|||
|
|
"admin.chrome.staff.supportDesk": "Support-Desk",
|
|||
|
|
"admin.chrome.staff.platformAdmin": "Plattform-Admin",
|
|||
|
|
"admin.chrome.staff.staff": "Mitarbeiter",
|
|||
|
|
"admin.chrome.staff.admin": "Admin",
|
|||
|
|
"admin.nav.section.overview": "Übersicht",
|
|||
|
|
"admin.nav.section.directory": "Verzeichnis",
|
|||
|
|
"admin.nav.section.support": "Hilfezentrum",
|
|||
|
|
"admin.nav.section.ops": "Betrieb",
|
|||
|
|
"admin.nav.section.commerce": "Commerce",
|
|||
|
|
"admin.nav.section.system": "Systembereich",
|
|||
|
|
"admin.nav.commandCenter": "Kommandozentrale",
|
|||
|
|
"admin.nav.analytics": "Analysen",
|
|||
|
|
"admin.nav.usersOrgs": "Benutzer & Orgs",
|
|||
|
|
"admin.nav.tickets": "Tickets",
|
|||
|
|
"admin.nav.knowledge": "Wissen",
|
|||
|
|
"admin.nav.diagnostics": "Diagnose",
|
|||
|
|
"admin.nav.stuckProducts": "Hängengebliebene Produkte",
|
|||
|
|
"admin.nav.orphanProcessed": "Orphan processed",
|
|||
|
|
"admin.nav.billing": "Abrechnung",
|
|||
|
|
"admin.nav.sales": "Sales",
|
|||
|
|
"admin.nav.translations": "Übersetzungen",
|
|||
|
|
"admin.nav.settings": "Einstellungen",
|
|||
|
|
"admin.sales.title": "Sales leads",
|
|||
|
|
"admin.sales.description": "Inbound Contact sales messages and custom payment quotes.",
|
|||
|
|
"admin.sales.listTitle": "Leads",
|
|||
|
|
"admin.sales.listDesc": "{total} matching leads",
|
|||
|
|
"admin.sales.searchPlaceholder": "Search name, email, company…",
|
|||
|
|
"admin.sales.statusAll": "All statuses",
|
|||
|
|
"admin.sales.status.new": "New",
|
|||
|
|
"admin.sales.status.contacted": "Contacted",
|
|||
|
|
"admin.sales.status.quoted": "Quoted",
|
|||
|
|
"admin.sales.status.won": "Won",
|
|||
|
|
"admin.sales.status.closed": "Closed",
|
|||
|
|
"admin.sales.empty": "No sales leads yet.",
|
|||
|
|
"admin.sales.loadError": "Could not load sales leads.",
|
|||
|
|
"admin.sales.saveError": "Could not save lead.",
|
|||
|
|
"admin.sales.saved": "Lead updated.",
|
|||
|
|
"admin.sales.notFound": "Lead not found.",
|
|||
|
|
"admin.sales.leadTitle": "Lead details",
|
|||
|
|
"admin.sales.estimatedSkus": "Estimated SKUs",
|
|||
|
|
"admin.sales.linkCompany": "Link company",
|
|||
|
|
"admin.sales.noCompany": "No company linked",
|
|||
|
|
"admin.sales.adminNotes": "Admin notes",
|
|||
|
|
"admin.sales.companyRequired": "Link a company before creating a payment quote.",
|
|||
|
|
"admin.sales.prepareQuote": "Prepare custom plan",
|
|||
|
|
"admin.sales.prepareQuoteDesc": "Creates an is_custom plan and optional Stripe Checkout link (one-time or installments).",
|
|||
|
|
"admin.sales.planName": "Plan name",
|
|||
|
|
"admin.sales.monthlyCredits": "Monthly AI credits",
|
|||
|
|
"admin.sales.maxProducts": "Max SKUs",
|
|||
|
|
"admin.sales.unlimitedHint": "Leave blank for unlimited",
|
|||
|
|
"admin.sales.totalUsd": "Total price (USD)",
|
|||
|
|
"admin.sales.termMonths": "Term (months)",
|
|||
|
|
"admin.sales.installmentCount": "Installments",
|
|||
|
|
"admin.sales.installmentInterval": "Interval",
|
|||
|
|
"admin.sales.interval.month": "Monthly",
|
|||
|
|
"admin.sales.interval.quarter": "Quarterly",
|
|||
|
|
"admin.sales.interval.year": "Yearly",
|
|||
|
|
"admin.sales.prepareCheckoutNow": "Create Stripe Checkout link now",
|
|||
|
|
"admin.sales.createQuote": "Create quote",
|
|||
|
|
"admin.sales.quoteCreated": "Quote created.",
|
|||
|
|
"admin.sales.quoteError": "Could not create quote.",
|
|||
|
|
"admin.sales.quotesTitle": "Quotes",
|
|||
|
|
"admin.sales.noQuotes": "No quotes yet for this lead.",
|
|||
|
|
"admin.sales.prepareCheckout": "Prepare Checkout",
|
|||
|
|
"admin.sales.checkoutReady": "Checkout link ready.",
|
|||
|
|
"admin.sales.checkoutError": "Could not prepare Checkout.",
|
|||
|
|
"admin.sales.markSent": "Mark sent",
|
|||
|
|
"admin.sales.markedSent": "Quote marked as sent.",
|
|||
|
|
"admin.sales.col.name": "Name",
|
|||
|
|
"admin.sales.col.email": "Email",
|
|||
|
|
"admin.sales.col.company": "Company",
|
|||
|
|
"admin.sales.col.status": "Status",
|
|||
|
|
"admin.sales.col.created": "Created",
|
|||
|
|
"sales.contact.title": "Contact sales",
|
|||
|
|
"sales.contact.lead": "Tell us about your catalog and capacity needs — we will prepare a custom plan you can pay online.",
|
|||
|
|
"sales.contact.formTitle": "Send a message",
|
|||
|
|
"sales.contact.formLead": "Enterprise and custom deals are prepared by our team, then paid via Stripe Checkout.",
|
|||
|
|
"sales.contact.name": "Name",
|
|||
|
|
"sales.contact.email": "Work email",
|
|||
|
|
"sales.contact.company": "Company",
|
|||
|
|
"sales.contact.phone": "Phone (optional)",
|
|||
|
|
"sales.contact.estimatedSkus": "Estimated SKUs (optional)",
|
|||
|
|
"sales.contact.message": "How can we help?",
|
|||
|
|
"sales.contact.submit": "Send message",
|
|||
|
|
"sales.contact.submitting": "Sending…",
|
|||
|
|
"sales.contact.error": "Could not send your message. Please try again.",
|
|||
|
|
"sales.contact.toast.success": "Message sent — we will follow up soon.",
|
|||
|
|
"sales.contact.thanksTitle": "Thanks — we got your message",
|
|||
|
|
"sales.contact.thanksBody": "A platform admin will review your request and can send a Checkout link for a custom plan.",
|
|||
|
|
"sales.contact.bookDemo": "Book a live demo",
|
|||
|
|
"sales.contact.orBookDemo": "Or book a Calendly demo",
|
|||
|
|
"sales.contact.backPricing": "Back to pricing",
|
|||
|
|
"admin.overview.eyebrow": "Kommandozentrale",
|
|||
|
|
"admin.overview.title": "Plattformübersicht",
|
|||
|
|
"admin.overview.description": "Live-Puls der Plattform aus der Analyseübersicht — zu Betrieb, Einblicken und Support springen.",
|
|||
|
|
"admin.overview.tokens": "Token-Einheiten",
|
|||
|
|
"admin.overview.tokensHint": "Gesamt · Zeitraum",
|
|||
|
|
"admin.overview.credits": "Guthaben",
|
|||
|
|
"admin.overview.creditsHint": "Über alle Unternehmen",
|
|||
|
|
"admin.overview.jobs": "Aufträge",
|
|||
|
|
"admin.overview.jobsHint": "Warteschlangen-Snapshot",
|
|||
|
|
"admin.overview.platform": "Plattform",
|
|||
|
|
"admin.overview.platformHint": "Mandanten · Volumen",
|
|||
|
|
"admin.overview.signals": "Aktuelle Signale",
|
|||
|
|
"admin.overview.shortcuts": "Ops-Kurzbefehle",
|
|||
|
|
"admin.overview.providers": "KI-Anbieter-Mix",
|
|||
|
|
"admin.overview.internalAi": "Interne KI",
|
|||
|
|
"admin.overview.internalAiHint": "Plattformeinstellungen",
|
|||
|
|
"admin.overview.popularKeys": "Beliebte Schlüssel",
|
|||
|
|
"admin.overview.popularKeysHint": "Beliebte Mandanten-Anbieter",
|
|||
|
|
"admin.overview.customUrl": "Benutzerdefinierte URL",
|
|||
|
|
"admin.overview.customUrlHint": "Benutzerdefinierte Basis-URL des Mandanten",
|
|||
|
|
"admin.overview.linkBilling": "Abrechnung",
|
|||
|
|
"admin.overview.linkSettings": "Einstellungen",
|
|||
|
|
"admin.overview.shortcut.diagnostics.title": "Diagnose",
|
|||
|
|
"admin.overview.shortcut.diagnostics.desc": "Health-Checks, Warteschlange, aktuelle Fehler",
|
|||
|
|
"admin.overview.shortcut.analytics.title": "Analysen",
|
|||
|
|
"admin.overview.shortcut.analytics.desc": "Tokens, Jobs, Anmeldungen, Anbieter",
|
|||
|
|
"admin.overview.shortcut.knowledge.title": "Wissen",
|
|||
|
|
"admin.overview.shortcut.knowledge.desc": "Artikel, Vorlagen, Auto-Antwort",
|
|||
|
|
"admin.overview.shortcut.users.title": "Benutzer & Orgs",
|
|||
|
|
"admin.overview.shortcut.users.desc": "Konten, Unternehmen, Einladungen",
|
|||
|
|
"admin.overview.shortcut.stuck.title": "Hängengebliebene Produkte",
|
|||
|
|
"admin.overview.shortcut.stuck.desc": "Läuft länger als 2 Stunden",
|
|||
|
|
"admin.overview.signal.stuckTitle": "{count} hängengebliebener Job",
|
|||
|
|
"admin.overview.signal.stuckTitlePlural": "{count} hängengebliebene Jobs",
|
|||
|
|
"admin.overview.signal.stuckDetail": "Läuft länger als 2 Stunden — prüfen und ggf. zurücksetzen.",
|
|||
|
|
"admin.overview.signal.stuckCta": "Hängengebliebene Jobs öffnen",
|
|||
|
|
"admin.overview.signal.failedTitle": "{count} fehlgeschlagen in den letzten {days} T",
|
|||
|
|
"admin.overview.signal.failedDetail": "{completed} im selben Fenster abgeschlossen.",
|
|||
|
|
"admin.overview.signal.failedDetailRate": "{rate}% Fehlerrate · {completed} abgeschlossen.",
|
|||
|
|
"admin.overview.signal.failedCta": "Diagnose öffnen",
|
|||
|
|
"admin.overview.signal.runningTitle": "{count} laufender Job",
|
|||
|
|
"admin.overview.signal.runningTitlePlural": "{count} laufende Jobs",
|
|||
|
|
"admin.overview.signal.runningDetail": "Aktive Verarbeitungsjobs gerade jetzt.",
|
|||
|
|
"admin.overview.signal.runningCta": "Warteschlange anzeigen",
|
|||
|
|
"admin.overview.signal.ticketsTitle": "{count} offenes Support-Ticket",
|
|||
|
|
"admin.overview.signal.ticketsTitlePlural": "{count} offene Support-Tickets",
|
|||
|
|
"admin.overview.signal.ticketsDetail": "Offene oder ausstehende Tickets im Support-Desk.",
|
|||
|
|
"admin.overview.signal.ticketsCta": "Support öffnen",
|
|||
|
|
"admin.overview.signal.clearTitle": "Keine erhöhten Signale",
|
|||
|
|
"admin.overview.signal.clearDetail": "Keine hängengebliebenen Jobs, Periodenfehler oder offenen Tickets in der Live-Zusammenfassung (letzte {days} T).",
|
|||
|
|
"admin.overview.signal.clearCta": "In der Diagnose bestätigen",
|
|||
|
|
"admin.overview.badge.action": "Aktion",
|
|||
|
|
"admin.overview.badge.watch": "Überwachen",
|
|||
|
|
"admin.overview.badge.live": "Live",
|
|||
|
|
"admin.overview.badge.clear": "Leeren",
|
|||
|
|
"admin.overview.summaryLoadFailed": "Live-Zusammenfassung konnte nicht geladen werden. Die Shortcuts unten funktionieren weiter.",
|
|||
|
|
"admin.overview.keyMetrics": "Kennzahlen",
|
|||
|
|
"admin.overview.summaryWindow": "Letzte {days} T · Summary-Endpunkt",
|
|||
|
|
"admin.overview.tokensPeriod": "{count} in den letzten {days} T",
|
|||
|
|
"admin.overview.creditsFoot": "{remaining} verbleibend von {allocated} zugewiesen",
|
|||
|
|
"admin.overview.jobsFoot": "{failed} fehlgeschlagen · {running} laufend · {stuck} hängend",
|
|||
|
|
"admin.overview.platformFoot": "{users} Nutzer · {processed} verarbeitet · {feeds} Eingabe-Feeds",
|
|||
|
|
"admin.overview.fullDiagnostics": "Vollständige Diagnose",
|
|||
|
|
"admin.overview.also": "Auch:",
|
|||
|
|
"admin.overview.linkSupport": "Support-Desk",
|
|||
|
|
"admin.overview.charts": "Diagramme",
|
|||
|
|
"admin.overview.providerFoot": "{jobs} Jobs · {products} Produkte",
|
|||
|
|
"admin.analytics.eyebrow": "Einblicke",
|
|||
|
|
"admin.analytics.title": "Analysen & Berichte",
|
|||
|
|
"admin.analytics.description": "Live-KPIs und Trends der Plattform aus Tokens, Jobs, Anmeldungen, Feeds, Tickets und Abrechnung.",
|
|||
|
|
"admin.analytics.period": "Zeitraum",
|
|||
|
|
"admin.analytics.refreshing": "Aktualisieren…",
|
|||
|
|
"admin.analytics.llmTokens": "LLM-Tokens",
|
|||
|
|
"admin.analytics.credits": "Credits",
|
|||
|
|
"admin.analytics.jobs": "Jobs",
|
|||
|
|
"admin.analytics.volume": "Volumen",
|
|||
|
|
"admin.analytics.failureRate": "Fehlerrate",
|
|||
|
|
"admin.analytics.stuckJobs": "Hängengebliebene Jobs",
|
|||
|
|
"admin.analytics.apiKeys": "API-Schlüssel",
|
|||
|
|
"admin.analytics.signups": "Anmeldungen",
|
|||
|
|
"admin.analytics.internalAi": "Interne KI",
|
|||
|
|
"admin.analytics.internalAiHint": "Plattform-OpenAI (Admin-Einstellungen)",
|
|||
|
|
"admin.analytics.popularKeys": "Beliebte Schlüssel",
|
|||
|
|
"admin.analytics.popularKeysHint": "Mandanten-OpenAI / Groq / …",
|
|||
|
|
"admin.analytics.customUrl": "Benutzerdefinierte URL/Modell",
|
|||
|
|
"admin.analytics.customUrlHint": "Mandanten-Basis-URL + Modell + Schlüssel",
|
|||
|
|
"admin.analytics.tokensByDay": "Tokens pro Tag",
|
|||
|
|
"admin.analytics.tokensByProvider": "Tokens nach Anbieterklasse",
|
|||
|
|
"admin.analytics.tokensByProviderAria": "Tokens nach Anbieterklasse",
|
|||
|
|
"admin.analytics.internalCount": "Intern {count}",
|
|||
|
|
"admin.analytics.popularCount": "Beliebt {count}",
|
|||
|
|
"admin.analytics.customCount": "Benutzerdefiniert {count}",
|
|||
|
|
"admin.analytics.jobsByDay": "Jobs pro Tag",
|
|||
|
|
"admin.analytics.jobsByDayHint": "Erstellte Jobs (sekundär = fehlgeschlagen).",
|
|||
|
|
"admin.analytics.signupsByDay": "Anmeldungen pro Tag",
|
|||
|
|
"admin.analytics.signupsByDayHint": "Neue Benutzer (primär) und Unternehmen (sekundär)",
|
|||
|
|
"admin.analytics.processingJobsStatus": "processing_jobs nach Status",
|
|||
|
|
"admin.analytics.feedSyncStatus": "feed_sync_jobs nach Status",
|
|||
|
|
"admin.analytics.ticketsStatus": "support_tickets nach Status",
|
|||
|
|
"admin.analytics.providerDetail": "Anbieterdetails",
|
|||
|
|
"admin.analytics.providerDetailHint": "Top-Anbietermodi (für Payload-Größe begrenzt).",
|
|||
|
|
"admin.analytics.noProviderRows": "Keine Anbieterzeilen",
|
|||
|
|
"admin.analytics.provider": "Anbieter",
|
|||
|
|
"admin.analytics.class": "Klasse",
|
|||
|
|
"admin.analytics.tokensCol": "Token-Einheiten",
|
|||
|
|
"admin.analytics.productsCol": "Produkte",
|
|||
|
|
"admin.analytics.companiesHint": "Top-Unternehmen nach Tokens mit Anbieteraufteilung",
|
|||
|
|
"admin.analytics.noCompanies": "Keine Unternehmen",
|
|||
|
|
"admin.analytics.noCompaniesMsg": "Die Unternehmensliste ist leer.",
|
|||
|
|
"admin.analytics.company": "Unternehmen",
|
|||
|
|
"admin.analytics.internal": "Intern",
|
|||
|
|
"admin.analytics.popular": "Beliebt",
|
|||
|
|
"admin.analytics.custom": "Benutzerdefiniert",
|
|||
|
|
"admin.analytics.noBillingCycles": "Noch keine Abrechnungszyklen",
|
|||
|
|
"admin.analytics.linkDiagnostics": "Diagnose",
|
|||
|
|
"admin.analytics.linkStuck": "Hängengebliebene Produkte",
|
|||
|
|
"admin.users.eyebrow": "Plattform-Admin",
|
|||
|
|
"admin.users.title": "Benutzer & Organisationen",
|
|||
|
|
"admin.users.description": "Plattform-Benutzerverzeichnis, Mitarbeiterrollen und Unternehmensplan-Zuweisungen.",
|
|||
|
|
"admin.users.staffRoleUnavailable": "Mitarbeiterrollen-Updates sind auf diesem Deployment noch nicht verfügbar. Kontaktieren Sie Ihren Plattform-Admin bei Bedarf.",
|
|||
|
|
"admin.users.search": "Suchen",
|
|||
|
|
"admin.users.tabUsers": "Benutzer",
|
|||
|
|
"admin.users.tabCompanies": "Unternehmen",
|
|||
|
|
"admin.users.filterWithoutPlan": "Ohne Plan",
|
|||
|
|
"admin.users.filterWithoutApiKeys": "Schlüssel zur Neuausstellung",
|
|||
|
|
"admin.users.needsApiKeyReissue": "API-Schlüssel neu ausstellen",
|
|||
|
|
"admin.users.colName": "Bezeichnung",
|
|||
|
|
"admin.users.colStaffRole": "Mitarbeiterrolle",
|
|||
|
|
"admin.users.colStatus": "Zustand",
|
|||
|
|
"admin.users.colCreated": "Erstellt",
|
|||
|
|
"admin.users.colActions": "Aktionen",
|
|||
|
|
"admin.users.mustSetPassword": "Passwort muss gesetzt werden",
|
|||
|
|
"admin.users.inactive": "Inaktiv",
|
|||
|
|
"admin.users.reissueInvite": "Einladung neu ausstellen",
|
|||
|
|
"admin.users.setLocalPassword": "Lokales Passwort festlegen",
|
|||
|
|
"admin.users.switchToUser": "Zu Benutzer wechseln",
|
|||
|
|
"admin.users.colCompany": "Unternehmen",
|
|||
|
|
"admin.users.colPlan": "Tarifplan",
|
|||
|
|
"admin.users.colCredits": "Credits",
|
|||
|
|
"admin.users.colLanguage": "Sprache",
|
|||
|
|
"admin.users.assignPlan": "Plan zuweisen",
|
|||
|
|
"admin.users.noUsers": "Keine Benutzer entsprechen diesem Filter.",
|
|||
|
|
"admin.users.noCompanies": "Keine Unternehmen entsprechen diesem Filter.",
|
|||
|
|
"admin.users.assignRoleTitle": "Mitarbeiterrolle zuweisen",
|
|||
|
|
"admin.users.assignRoleDesc": "Plattformrollen steuern das Admin-Panel (Admin & Developer) und den Support-Desk (Support-Mitarbeiter).",
|
|||
|
|
"admin.users.staffRole": "Mitarbeiterrolle",
|
|||
|
|
"admin.users.saveRole": "Rolle speichern",
|
|||
|
|
"admin.users.assignPlanTitle": "Plan zuweisen",
|
|||
|
|
"admin.users.assignPlanDesc": "Öffentlichen, Legacy- oder benutzerdefinierten Plan diesem Unternehmen zuweisen.",
|
|||
|
|
"admin.users.selectPlan": "Plan auswählen",
|
|||
|
|
"admin.users.assign": "Zuweisen",
|
|||
|
|
"admin.settings.title": "Plattformeinstellungen",
|
|||
|
|
"admin.settings.description": "Plattform-Anmeldedaten, KI-Rollen, Mail und Integrationen für dieses Deployment",
|
|||
|
|
"admin.settings.intro": "Konfigurieren Sie hier Plattform-KI-Rollen, SMTP, OAuth, EPREL, Pinecone und Stripe. Lassen Sie Geheimfelder leer, um den gespeicherten Wert zu behalten. Firmen-Keys bleiben unter Mandanten-Integrationen.",
|
|||
|
|
"admin.settings.aiRolesUnavailable": "Vollständige KI-Rollen sind auf diesem Deployment noch nicht verfügbar. Verarbeitung speichert weiter über Plattform-OpenAI; andere Rollen werden persistiert, sobald unterstützt.",
|
|||
|
|
"admin.settings.tab.integrations": "Übersicht",
|
|||
|
|
"admin.settings.tab.ai": "KI-Rollen",
|
|||
|
|
"admin.settings.tab.mail": "Mail",
|
|||
|
|
"admin.settings.tab.other": "Sonstiges",
|
|||
|
|
"admin.settings.tab.admins": "Admin-Benutzer",
|
|||
|
|
"admin.settings.mailCardDesc": "Passwort-Einladungen und ausgehende Plattform-E-Mail",
|
|||
|
|
"admin.settings.integrationsCardDesc": "OAuth, EPREL, Pinecone, Stripe, Feeds",
|
|||
|
|
"admin.settings.tenantVsPlatform": "Mandant vs Plattform",
|
|||
|
|
"admin.settings.hostSecrets": "Server-Datenbank-, Sitzungs- und Signaturgeheimnisse — nur auf dem Host konfigurieren",
|
|||
|
|
"admin.settings.linkAi": "KI",
|
|||
|
|
"admin.settings.linkEmail": "E-Mail",
|
|||
|
|
"admin.settings.linkBilling": "Abrechnung",
|
|||
|
|
"admin.settings.provider": "Anbieter",
|
|||
|
|
"admin.settings.model": "Modell",
|
|||
|
|
"admin.settings.baseUrl": "Basis-URL",
|
|||
|
|
"admin.settings.apiKey": "API-Schlüssel",
|
|||
|
|
"admin.settings.embeddingDims": "Embedding-Dimensionen (optional)",
|
|||
|
|
"admin.settings.smtpHost": "SMTP-Host",
|
|||
|
|
"admin.settings.port": "Port",
|
|||
|
|
"admin.settings.username": "Benutzername",
|
|||
|
|
"admin.settings.fromAddress": "Absenderadresse",
|
|||
|
|
"admin.settings.testRecipient": "Testempfänger (optional)",
|
|||
|
|
"admin.settings.testRecipientPlaceholder": "Standardmäßig Ihre Admin-E-Mail",
|
|||
|
|
"admin.settings.googleOauth": "Google OAuth",
|
|||
|
|
"admin.settings.googleOauthDesc": "Optionale Plattform-Google-OAuth-Client-Anmeldedaten.",
|
|||
|
|
"admin.settings.clientId": "Client-ID",
|
|||
|
|
"admin.settings.eprel": "EPREL",
|
|||
|
|
"admin.settings.timeout": "Zeitüberschreitung",
|
|||
|
|
"admin.settings.ficheLanguage": "Fiche-Sprache",
|
|||
|
|
"admin.settings.pinecone": "Pinecone",
|
|||
|
|
"admin.settings.host": "Host",
|
|||
|
|
"admin.settings.namespace": "Namespace",
|
|||
|
|
"admin.settings.namespacePlaceholder": "optional",
|
|||
|
|
"admin.settings.stripe": "Stripe",
|
|||
|
|
"admin.settings.priceStarterMo": "Starter Monatspreis-ID",
|
|||
|
|
"admin.settings.priceStarterYr": "Starter Jahrespreis-ID",
|
|||
|
|
"admin.settings.pricePlusMo": "Plus monthly price ID",
|
|||
|
|
"admin.settings.pricePlusYr": "Plus yearly price ID",
|
|||
|
|
"admin.settings.priceGrowthMo": "Growth Monatspreis-ID",
|
|||
|
|
"admin.settings.priceGrowthYr": "Growth Jahrespreis-ID",
|
|||
|
|
"admin.settings.priceBusinessMo": "Business Monatspreis-ID",
|
|||
|
|
"admin.settings.priceBusinessYr": "Business Jahrespreis-ID",
|
|||
|
|
"admin.settings.priceScaleMo": "Scale monthly price ID",
|
|||
|
|
"admin.settings.priceScaleYr": "Scale yearly price ID",
|
|||
|
|
"admin.settings.creditPackPrices": "AI credit pack price IDs (one-time)",
|
|||
|
|
"admin.settings.creditPackPricesHint": "Create one-time Prices in Stripe (mode=payment products). Paste Price IDs here — same sync path as plan subscriptions.",
|
|||
|
|
"admin.settings.syncCreditPacks": "Sync Stripe packs",
|
|||
|
|
"admin.settings.syncCreditPacksOk": "Synced {count} credit pack price(s) ({mode} mode).",
|
|||
|
|
"admin.settings.syncCreditPacksModeHint": "Stripe mode for this sync: {mode}. Switch the secret key (sk_test_ vs sk_live_) to sync the other environment.",
|
|||
|
|
"admin.settings.syncCreditPacksFailed": "Could not sync credit packs to Stripe.",
|
|||
|
|
"admin.settings.pricePackSmall": "Starter pack (500 credits) price ID",
|
|||
|
|
"admin.settings.pricePackMedium": "Growth pack (2,000 credits) price ID",
|
|||
|
|
"admin.settings.pricePackLarge": "Catalog pack (10,000 credits) price ID",
|
|||
|
|
"admin.settings.pricePackXL": "Scale pack (40,000 credits) price ID",
|
|||
|
|
"admin.settings.feedAllowlist": "Allowlist für private Feed-URLs",
|
|||
|
|
"admin.settings.allowlist": "Allowlist",
|
|||
|
|
"admin.settings.platformAdmins": "Plattform-Administratoren",
|
|||
|
|
"admin.settings.colUserId": "Benutzer-ID",
|
|||
|
|
"admin.settings.colEmail": "E-Mail",
|
|||
|
|
"admin.settings.colName": "Bezeichnung",
|
|||
|
|
"admin.settings.colAddedOn": "Hinzugefügt am",
|
|||
|
|
"admin.settings.colRole": "Rolle",
|
|||
|
|
"admin.settings.platformAdminBadge": "Plattform-Admin",
|
|||
|
|
"admin.settings.noAdmins": "Keine Admin-Benutzer gefunden",
|
|||
|
|
"admin.settings.adminStatusCheck": "Admin-Statusprüfung",
|
|||
|
|
"admin.settings.bootstrapPage": "Bootstrap-Seite",
|
|||
|
|
"admin.readiness.title": "Cutover-Bereitschaft",
|
|||
|
|
"admin.readiness.detail": "Hypercare-Zähler, die vor dem DNS-Umstellung noch Aufmerksamkeit brauchen.",
|
|||
|
|
"admin.readiness.mustSetPassword": "{count} Benutzer müssen ein Passwort setzen",
|
|||
|
|
"admin.readiness.withoutAdmin": "{count} Unternehmen ohne Admin",
|
|||
|
|
"admin.readiness.withoutPlan": "{count} Unternehmen ohne aktiven Plan",
|
|||
|
|
"admin.readiness.withoutApiKeys": "{count} Unternehmen brauchen API-Schlüssel-Neuausstellung",
|
|||
|
|
"admin.readiness.linksAria": "Bereitschafts-Deep-Links",
|
|||
|
|
"admin.readiness.linkUsers": "Benutzer",
|
|||
|
|
"admin.readiness.linkBilling": "Abrechnung",
|
|||
|
|
"admin.readiness.linkSettings": "Einstellungen",
|
|||
|
|
"admin.readiness.linkApiKeys": "Schlüssel zur Neuausstellung",
|
|||
|
|
"admin.diagnostics.eyebrow": "Plattform",
|
|||
|
|
"admin.diagnostics.title": "Diagnose",
|
|||
|
|
"admin.diagnostics.description": "Ops-Konsole für App-Gesundheit, Warteschlangentiefe, aktuelle Jobs und Config-Flags. Secrets und DSNs werden nie angezeigt; Jobfehler sind bereinigt.",
|
|||
|
|
"admin.diagnostics.filterAria": "Job-Statusfilter",
|
|||
|
|
"admin.diagnostics.queue": "Warteschlange",
|
|||
|
|
"admin.diagnostics.noJobsInQueue": "Keine Jobs in der Warteschlange.",
|
|||
|
|
"admin.diagnostics.sanitizedErrors": "Bereinigte Fehler · max. 25",
|
|||
|
|
"admin.diagnostics.colId": "ID",
|
|||
|
|
"admin.diagnostics.colCompany": "Unternehmen",
|
|||
|
|
"admin.diagnostics.colStatus": "Zustand",
|
|||
|
|
"admin.diagnostics.colProgress": "Fortschritt",
|
|||
|
|
"admin.diagnostics.colUpdated": "Aktualisiert",
|
|||
|
|
"admin.diagnostics.colError": "Fehler",
|
|||
|
|
"admin.diagnostics.colTicket": "Ticket",
|
|||
|
|
"admin.diagnostics.colWhen": "Wann",
|
|||
|
|
"admin.diagnostics.noJobsFilter": "Keine Jobs für diesen Filter.",
|
|||
|
|
"admin.stuck.title": "Hängengebliebene Produkte",
|
|||
|
|
"admin.stuck.description": "Aktuelle Verarbeitungsjobs prüfen und länger als 2 Stunden hängengebliebene zurücksetzen",
|
|||
|
|
"admin.stuck.noJobs": "Keine Jobs gefunden.",
|
|||
|
|
"admin.stuck.filterAria": "Jobs nach Status filtern",
|
|||
|
|
"admin.orphan.title": "Orphan processed",
|
|||
|
|
"admin.orphan.description": "Cutover ops #7 — report stale catalog rows first (dry-run), then confirm delete only if needed.",
|
|||
|
|
"admin.orphan.cutoverHint": "Safe by default: refresh and dry-run never delete. Confirm delete sends confirm=true only after you approve the dialog.",
|
|||
|
|
"admin.orphan.refreshReport": "Refresh report",
|
|||
|
|
"admin.orphan.dryRunBtn": "Dry-run cleanup",
|
|||
|
|
"admin.orphan.deleteBtn": "Confirm delete…",
|
|||
|
|
"admin.orphan.loadFailed": "Could not load orphan report",
|
|||
|
|
"admin.orphan.dryRunFailed": "Dry-run cleanup failed",
|
|||
|
|
"admin.orphan.deleteFailed": "Confirmed orphan cleanup failed",
|
|||
|
|
"admin.orphan.metric.total": "Total orphans",
|
|||
|
|
"admin.orphan.metric.missingRaw": "Missing raw",
|
|||
|
|
"admin.orphan.metric.unprocessedRaw": "Unprocessed raw",
|
|||
|
|
"admin.orphan.samplesTitle": "Sample rows",
|
|||
|
|
"admin.orphan.samplesDesc": "Up to 25 most recently updated orphan catalog rows",
|
|||
|
|
"admin.orphan.cleanBadge": "Clean",
|
|||
|
|
"admin.orphan.needsCleanupBadge": "Needs cleanup",
|
|||
|
|
"admin.orphan.noneFound": "No orphan processed rows — cutover ops #7 report is clean.",
|
|||
|
|
"admin.orphan.noSamples": "No sample rows in this report.",
|
|||
|
|
"admin.orphan.colProcessed": "Processed ID",
|
|||
|
|
"admin.orphan.colCompany": "Company",
|
|||
|
|
"admin.orphan.colRaw": "Raw ID",
|
|||
|
|
"admin.orphan.colReason": "Reason",
|
|||
|
|
"admin.orphan.colRawStatus": "Raw status",
|
|||
|
|
"admin.orphan.reason.missingRaw": "Missing raw",
|
|||
|
|
"admin.orphan.reason.unprocessedRaw": "Unprocessed raw",
|
|||
|
|
"admin.orphan.reason.other": "Other",
|
|||
|
|
"admin.orphan.rawProcessedYes": "is_processed=true",
|
|||
|
|
"admin.orphan.rawProcessedNo": "is_processed=false",
|
|||
|
|
"admin.orphan.confirmTitle": "Delete orphan processed rows?",
|
|||
|
|
"admin.orphan.confirmDesc": "This permanently deletes {total} processed_products row(s) whose raw is missing or unprocessed. Job product links use ON DELETE SET NULL.",
|
|||
|
|
"admin.orphan.confirmDelete": "Delete orphans",
|
|||
|
|
"admin.billing.title": "Billing-Admin",
|
|||
|
|
"admin.billing.description": "Verwalten Sie Pläne, Credits, Feature-Berechtigungen pro Paket und plattformweite Feature-Schalter.",
|
|||
|
|
"admin.billing.noCompanies": "Keine Unternehmen gefunden.",
|
|||
|
|
"admin.billing.noCompaniesFilter": "Keine Unternehmen entsprechen diesem Filter.",
|
|||
|
|
"admin.billing.assignPlanTitle": "Plan zuweisen",
|
|||
|
|
"admin.billing.assignPlanDesc": "Weisen Sie einem Unternehmen einen Abrechnungsplan zu. Optionale Test-Credits setzen den Firmensaldo für den Testzeitraum zurück.",
|
|||
|
|
"admin.billing.creditsTitle": "Credits hinzufügen / anpassen",
|
|||
|
|
"admin.billing.creditsDesc": "Guthaben eines Unternehmens gutschreiben oder belasten.",
|
|||
|
|
"admin.billing.searchCompany": "Unternehmen suchen…",
|
|||
|
|
"admin.knowledge.draft": "Entwurf",
|
|||
|
|
"admin.knowledge.badge.draft": "Entwurf",
|
|||
|
|
"admin.knowledge.newArticle": "Neuer Artikel",
|
|||
|
|
"admin.knowledge.editArticle": "Artikel bearbeiten",
|
|||
|
|
"admin.knowledge.noMatchingArticles": "Keine passenden Artikel",
|
|||
|
|
"admin.knowledge.noArticles": "Keine Wissensartikel",
|
|||
|
|
"admin.knowledge.emptyCategoryMsg": "Kategorie „{category}“ ist bereit — fügen Sie eine Artikelschale hinzu, die ein Content-Agent füllt.",
|
|||
|
|
"admin.knowledge.emptyArticlesMsg": "Fügen Sie FAQ-artige Schalen mit Kategorien und Keywords hinzu. Lassen Sie Platzhalter im Text für Content-Agenten.",
|
|||
|
|
"admin.knowledge.col.title": "Titel",
|
|||
|
|
"admin.knowledge.col.name": "Bezeichnung",
|
|||
|
|
"admin.knowledge.edit": "Bearbeiten",
|
|||
|
|
"admin.knowledge.newTemplate": "Neue Vorlage",
|
|||
|
|
"admin.knowledge.editTemplate": "Vorlage bearbeiten",
|
|||
|
|
"admin.knowledge.allCategories": "Alle",
|
|||
|
|
"admin.settings.enablePlatformSmtp": "Plattform-SMTP aktivieren",
|
|||
|
|
"admin.plans.title": "Abonnementpläne",
|
|||
|
|
"admin.plans.description": "Öffentlich ladder, A1 / Legacy, Plattform Demo, and custom deals. Ephemeral test and obsolete ladder rows stay under Versteckt.",
|
|||
|
|
"admin.plans.searchPlaceholder": "Name oder Beschreibung suchen…",
|
|||
|
|
"admin.plans.searchAria": "Pläne suchen",
|
|||
|
|
"admin.plans.filterAria": "Pläne nach Sichtbarkeit filtern",
|
|||
|
|
"admin.plans.filter.catalog": "Katalog",
|
|||
|
|
"admin.plans.filter.public": "Öffentlich",
|
|||
|
|
"admin.plans.filter.legacy": "Legacy",
|
|||
|
|
"admin.plans.filter.custom": "Benutzerdefiniert",
|
|||
|
|
"admin.plans.filter.hidden": "Versteckt",
|
|||
|
|
"admin.plans.filter.all": "Alle",
|
|||
|
|
"admin.plans.col.plan": "Tarifplan",
|
|||
|
|
"admin.plans.col.visibility": "Sichtbarkeit",
|
|||
|
|
"admin.plans.col.monthlyCredits": "Monatliche Credits",
|
|||
|
|
"admin.plans.col.maxProducts": "Max. Produkte",
|
|||
|
|
"admin.plans.col.term": "Laufzeit",
|
|||
|
|
"admin.plans.customPackageFlag": "Custom-Paket-Flag",
|
|||
|
|
"admin.plans.visibility.public": "Öffentlich",
|
|||
|
|
"admin.plans.visibility.legacy": "Legacy",
|
|||
|
|
"admin.plans.visibility.hidden": "Versteckt",
|
|||
|
|
"admin.plans.visibility.custom": "Benutzerdefiniert",
|
|||
|
|
"admin.plans.edit": "Bearbeiten",
|
|||
|
|
"admin.plans.editAria": "{name} bearbeiten",
|
|||
|
|
"admin.plans.assign": "Zuweisen",
|
|||
|
|
"admin.plans.assignAria": "{name} zuweisen",
|
|||
|
|
"admin.plans.permissions": "Planberechtigungen",
|
|||
|
|
"admin.plans.permissionsAria": "Bearbeiten Planberechtigungen for {name}",
|
|||
|
|
"admin.plans.showing": "Anzeige von {filtered} von {total} Plänen",
|
|||
|
|
"admin.plans.unlimited": "Unbegrenzt",
|
|||
|
|
"admin.plans.optionLabel": "{name} ({credits} Credits) · {kind}",
|
|||
|
|
"admin.permissions.noteStrong": "Nur Planberechtigungen.",
|
|||
|
|
"admin.permissions.noteBody": "These toggles set what this package may include. Plattform-wide on/aus masters are on the {global} tab — a plan can enable a feature that still stays aus when the platform switch is deaktiviert.",
|
|||
|
|
"admin.permissions.globalTab": "Globale Schalter",
|
|||
|
|
"admin.permissions.title": "Planberechtigungen",
|
|||
|
|
"admin.permissions.descCount": "{enabled}/{total} aktiviert",
|
|||
|
|
"admin.permissions.matchesProfile": "entspricht {profile}",
|
|||
|
|
"admin.permissions.customizedOverrides": "angepasste Überschreibungen",
|
|||
|
|
"admin.permissions.planDefaults": "Plan-Standardwerte",
|
|||
|
|
"admin.permissions.badge.legacy": "Migriertes Legacy-Paket",
|
|||
|
|
"admin.permissions.badge.publicLadder": "Öffentlich ladder",
|
|||
|
|
"admin.permissions.badge.ladderCustom": "Öffentlich ladder · benutzerdefiniert flag",
|
|||
|
|
"admin.permissions.badge.customDeal": "Benutzerdefiniert deal",
|
|||
|
|
"admin.permissions.badge.clientDeal": "Kundenvereinbarung",
|
|||
|
|
"admin.permissions.badge.customOverrides": "Benutzerdefiniert overrides",
|
|||
|
|
"admin.permissions.badge.defaults": "Standardwerte",
|
|||
|
|
"admin.permissions.badge.customFlag": "Benutzerdefiniert flag",
|
|||
|
|
"admin.permissions.package": "Paket",
|
|||
|
|
"admin.permissions.noPlans": "Keine Pläne",
|
|||
|
|
"admin.permissions.suffix.legacy": "· legacy",
|
|||
|
|
"admin.permissions.suffix.default": " · Standard",
|
|||
|
|
"admin.permissions.suffix.custom": " · benutzerdefiniert",
|
|||
|
|
"admin.permissions.section": "Bereich",
|
|||
|
|
"admin.permissions.allSections": "Alle Abschnitte",
|
|||
|
|
"admin.permissions.state": "Zustand",
|
|||
|
|
"admin.permissions.stateAll": "Alle",
|
|||
|
|
"admin.permissions.stateOn": "Aktiviert",
|
|||
|
|
"admin.permissions.stateOff": "Deaktiviert",
|
|||
|
|
"admin.permissions.stateDiffers": "Weicht ab from default",
|
|||
|
|
"admin.permissions.search": "Suchen",
|
|||
|
|
"admin.permissions.searchPlaceholder": "Nach Schlüssel oder Bezeichnung filtern",
|
|||
|
|
"admin.permissions.profilesAria": "Plan-Feature-Profile",
|
|||
|
|
"admin.permissions.applyProfile": "Profil anwenden",
|
|||
|
|
"admin.permissions.applyLegacy": "Legacy-Profil anwenden",
|
|||
|
|
"admin.permissions.profilesHint": "One-click matrices for public ladder packages and migrated legacy navigation. Speicherns overrides for the ausgewählt package only.",
|
|||
|
|
"admin.permissions.applyNamed": "{label} anwenden",
|
|||
|
|
"admin.permissions.applyGeneric": "Profil anwenden",
|
|||
|
|
"admin.permissions.enableAll": "Alles aktivieren",
|
|||
|
|
"admin.permissions.disableAll": "Alles deaktivieren",
|
|||
|
|
"admin.permissions.clearOverrides": "Overrides löschen",
|
|||
|
|
"admin.permissions.globallyOff": "Globally aus",
|
|||
|
|
"admin.permissions.enableSection": "Bereich aktivieren",
|
|||
|
|
"admin.permissions.disableSection": "Bereich deaktivieren",
|
|||
|
|
"admin.permissions.noMatch": "Keine Funktionen entsprechen den aktuellen Filtern.",
|
|||
|
|
"admin.permissions.differs": "Weicht ab",
|
|||
|
|
"admin.permissions.platformOffHint": "Aus plattformweit even if this plan enables it.",
|
|||
|
|
"admin.permissions.sectionToggled": "{label} {state} für diesen Plan.",
|
|||
|
|
"admin.permissions.state.enabled": "aktiviert",
|
|||
|
|
"admin.permissions.state.disabled": "deaktiviert",
|
|||
|
|
"admin.permissions.loadFailed": "Laden fehlgeschlagen Planberechtigungen",
|
|||
|
|
"admin.permissions.saveFailed": "Speichern fehlgeschlagen feature",
|
|||
|
|
"admin.permissions.enableAllFailed": "Allees aktivieren fehlgeschlagen",
|
|||
|
|
"admin.permissions.disableAllFailed": "Allees deaktivieren fehlgeschlagen",
|
|||
|
|
"admin.permissions.profileFailed": "Fehlgeschlagen: apply profile",
|
|||
|
|
"admin.permissions.resetFailed": "Fehlgeschlagen: reset defaults",
|
|||
|
|
"admin.permissions.sectionFailed": "Abschnitt update fehlgeschlagen",
|
|||
|
|
"admin.profile.legacy.label": "Legacy",
|
|||
|
|
"admin.profile.legacy.description": "Migrated legacy navigation: catalog, Feeds, Abrechnung, and Einstellungen; no Zurückground Tasks, Shops, or marketing.",
|
|||
|
|
"admin.profile.free.label": "Kostenlos",
|
|||
|
|
"admin.profile.free.description": "Öffentlich Free ladder — AI, API-Schlüssels, live email, and own-key AI aus.",
|
|||
|
|
"admin.profile.starter.label": "Starter",
|
|||
|
|
"admin.profile.starter.description": "Öffentlich Starter — AI on; own-key AI aus.",
|
|||
|
|
"admin.profile.growth.label": "Growth",
|
|||
|
|
"admin.profile.growth.description": "Alle Katalogfunktionen aktiv.",
|
|||
|
|
"admin.profile.business.label": "Business",
|
|||
|
|
"admin.profile.business.description": "Alle Katalogfunktionen aktiv.",
|
|||
|
|
"admin.profile.enterprise.label": "Enterprise / alles an",
|
|||
|
|
"admin.profile.enterprise.description": "Full Feature-Matrix (custom and Enterprise default).",
|
|||
|
|
"admin.gates.noteStrong": "Plattform-wide masters.",
|
|||
|
|
"admin.gates.noteBody": "Diese Schalter gelten für jedes Paket. Effektiver Zugriff ist {combo}. Paketbezogene Rechte bleiben auf dem Tab {permissions}.",
|
|||
|
|
"admin.gates.combo": "Planberechtigung UND globaler Bereich UND globales Feature",
|
|||
|
|
"admin.gates.permissionsTab": "Planberechtigungen",
|
|||
|
|
"admin.gates.sectionsOff": "{count} section aus",
|
|||
|
|
"admin.gates.sectionsOffPlural": "{count} sections aus",
|
|||
|
|
"admin.gates.featuresOff": "{count} feature master aus",
|
|||
|
|
"admin.gates.featuresOffPlural": "{count} feature masters aus",
|
|||
|
|
"admin.gates.title": "Globale Feature-Master",
|
|||
|
|
"admin.gates.description": "Disable a feature here to turn it aus for every package, even when a plan enables it.",
|
|||
|
|
"admin.gates.section": "Bereich",
|
|||
|
|
"admin.gates.allSections": "Alle Abschnitte",
|
|||
|
|
"admin.gates.search": "Suchen",
|
|||
|
|
"admin.gates.searchPlaceholder": "Nach Schlüssel oder Bezeichnung filtern",
|
|||
|
|
"admin.gates.sectionOff": "Abschnitt aus",
|
|||
|
|
"admin.gates.noMatch": "Keine Funktionen entsprechen den aktuellen Filtern.",
|
|||
|
|
"admin.gates.featureAria": "{label} global",
|
|||
|
|
"admin.gates.sectionsTitle": "Globale Bereichsschalter",
|
|||
|
|
"admin.gates.sectionsDesc": "Turn an entire Produkt area on or aus for all packages. “Abschnitt + features” also updates every feature master in that section.",
|
|||
|
|
"admin.gates.sectionAria": "Globaler Bereich {label}",
|
|||
|
|
"admin.gates.enableSectionFeatures": "Bereich + Features aktivieren",
|
|||
|
|
"admin.gates.disableSectionFeatures": "Bereich + Features deaktivieren",
|
|||
|
|
"admin.gates.sectionSuccess": "{label} {state} für alle Pakete.",
|
|||
|
|
"admin.gates.sectionSuccessWithFeatures": "{label} {state} für alle Pakete (Bereichs- und Feature-Master).",
|
|||
|
|
"admin.gates.featureSuccess": "{key} {state} global.",
|
|||
|
|
"admin.gates.state.enabled": "aktiviert",
|
|||
|
|
"admin.gates.state.disabled": "deaktiviert",
|
|||
|
|
"admin.gates.loadFailed": "Laden fehlgeschlagen global feature switches",
|
|||
|
|
"admin.gates.sectionFailed": "Fehlgeschlagen: update global section",
|
|||
|
|
"admin.gates.saveFailed": "Speichern fehlgeschlagen global feature",
|
|||
|
|
"admin.billing.createPlan": "Plan erstellen",
|
|||
|
|
"admin.billing.assignPlanBtn": "Plan zuweisen",
|
|||
|
|
"admin.billing.stat.plans": "Pläne",
|
|||
|
|
"admin.billing.stat.catalogHidden": "{catalog} Katalog · {hidden} ausgeblendet",
|
|||
|
|
"admin.billing.stat.creditsAllocated": "Zugewiesene Credits",
|
|||
|
|
"admin.billing.stat.acrossCompanies": "Across Unternehmen on this page (first 50)",
|
|||
|
|
"admin.billing.stat.creditsUsed": "Verbrauchte Credits",
|
|||
|
|
"admin.billing.stat.creditsConsumed": "Auf dieser Seite verbrauchte Credits",
|
|||
|
|
"admin.billing.stat.noActivePlan": "Kein aktiver Plan",
|
|||
|
|
"admin.billing.stat.noActivePlanHint": "Unternehmen with no active subscription (this page)",
|
|||
|
|
"admin.billing.tab.plans": "Pläne",
|
|||
|
|
"admin.billing.tab.permissions": "Planberechtigungen",
|
|||
|
|
"admin.billing.tab.global": "Globale Schalter",
|
|||
|
|
"admin.billing.tab.companies": "Unternehmen",
|
|||
|
|
"admin.billing.cyclesTitle": "Abrechnung cycles",
|
|||
|
|
"admin.billing.cyclesDesc": "Process due renewals for Unternehmen on scheduled Abrechnungszyklen.",
|
|||
|
|
"admin.billing.runCycles": "Run due Abrechnungszyklen",
|
|||
|
|
"admin.billing.companiesTitle": "Unternehmen",
|
|||
|
|
"admin.billing.companiesDesc": "Credit-Salden und Planstatus — Pläne zuweisen oder Credits anpassen.",
|
|||
|
|
"admin.billing.searchCompaniesAria": "Suchen Unternehmen",
|
|||
|
|
"admin.billing.planStatusAria": "Planstatus",
|
|||
|
|
"admin.billing.filter.all": "Alle Unternehmen",
|
|||
|
|
"admin.billing.filter.withPlan": "Hat aktiven Plan",
|
|||
|
|
"admin.billing.filter.withoutPlan": "Kein aktiver Plan",
|
|||
|
|
"admin.billing.col.company": "Unternehmen",
|
|||
|
|
"admin.billing.col.planStatus": "Planstatus",
|
|||
|
|
"admin.billing.col.creditsRemaining": "Verbleibende Credits",
|
|||
|
|
"admin.billing.col.total": "Gesamt",
|
|||
|
|
"admin.billing.col.used": "Verbraucht",
|
|||
|
|
"admin.billing.col.usagePct": "Nutzung %",
|
|||
|
|
"admin.billing.badge.noPlan": "Kein Plan",
|
|||
|
|
"admin.billing.badge.active": "Aktiv",
|
|||
|
|
"admin.billing.assignPlanAria": "Plan {name} zuweisen",
|
|||
|
|
"admin.billing.addCredits": "Credits hinzufügen",
|
|||
|
|
"admin.billing.addCreditsAria": "Hinzufügen credits for {name}",
|
|||
|
|
"admin.billing.showingCompanies": "Anzeige von {filtered} von {total} Unternehmen",
|
|||
|
|
"admin.billing.editPlanTitle": "Bearbeiten plan",
|
|||
|
|
"admin.billing.createPlanTitle": "Plan erstellen",
|
|||
|
|
"admin.billing.editPlanDesc": "Update credits, Produkt caps, and whether this plan is marked custom.",
|
|||
|
|
"admin.billing.createPlanDesc": "Erstellen a package. Benutzerdefiniert plans stay hidden from public pricing.",
|
|||
|
|
"admin.billing.field.name": "Bezeichnung",
|
|||
|
|
"admin.billing.field.description": "Beschreibung",
|
|||
|
|
"admin.billing.field.descriptionPlaceholder": "Optionale kurze Zusammenfassung für Admins",
|
|||
|
|
"admin.billing.field.monthlyCredits": "Monatliche Credits",
|
|||
|
|
"admin.billing.field.yearlyCredits": "Jährliche Credits",
|
|||
|
|
"admin.billing.field.maxProducts": "Max. Produkte",
|
|||
|
|
"admin.billing.field.maxProductsPlaceholder": "Leer = unbegrenzt",
|
|||
|
|
"admin.billing.field.term": "Laufzeit",
|
|||
|
|
"admin.billing.term.monthly": "Monatlich",
|
|||
|
|
"admin.billing.term.yearly": "Jährlich",
|
|||
|
|
"admin.billing.customPackage": "Benutzerdefiniert package",
|
|||
|
|
"admin.billing.customPackageHint": "Versteckt from public pricing. Use for client deals; leave aus for Free–Business.",
|
|||
|
|
"admin.billing.previewBadge": "Vorschau-Badge: {preview}.",
|
|||
|
|
"admin.billing.company": "Unternehmen",
|
|||
|
|
"admin.billing.selectCompany": "Auswählen Unternehmen",
|
|||
|
|
"admin.billing.noPlanSuffix": "· no plan",
|
|||
|
|
"admin.billing.plan": "Tarifplan",
|
|||
|
|
"admin.billing.selectPlan": "Plan auswählen",
|
|||
|
|
"admin.billing.trialAssignment": "Testzuweisung",
|
|||
|
|
"admin.billing.trialHint": "Optionales Trial-Flag + Credit-Gutschrift für Sales- oder Evaluierungs-Trials.",
|
|||
|
|
"admin.billing.trialCredits": "Test-Credits",
|
|||
|
|
"admin.billing.assign": "Zuweisen",
|
|||
|
|
"admin.billing.amount": "Betrag",
|
|||
|
|
"admin.billing.amountHint": "Negativen Wert verwenden, um abzubuchen.",
|
|||
|
|
"admin.billing.apply": "Anwenden",
|
|||
|
|
"admin.billing.planUpdated": "Plan aktualisiert.",
|
|||
|
|
"admin.billing.planCreated": "Plan erstellt.",
|
|||
|
|
"admin.billing.loadFailed": "Laden fehlgeschlagen Abrechnung data",
|
|||
|
|
"admin.billing.updateFailed": "Update plan fehlgeschlagen",
|
|||
|
|
"admin.billing.createFailed": "Erstellen plan fehlgeschlagen",
|
|||
|
|
"admin.billing.assignFailed": "Assign fehlgeschlagen",
|
|||
|
|
"admin.billing.creditsFailed": "Add credits fehlgeschlagen",
|
|||
|
|
"admin.billing.cyclesFailed": "Run cycles fehlgeschlagen",
|
|||
|
|
"admin.knowledge.supportInbox": "Support-Posteingang",
|
|||
|
|
"admin.knowledge.aiRoles": "KI-Rollen",
|
|||
|
|
"admin.knowledge.tab.articles": "Artikel",
|
|||
|
|
"admin.knowledge.tab.templates": "Vorlagen",
|
|||
|
|
"admin.knowledge.tab.settings": "Auto-Antwort",
|
|||
|
|
"admin.knowledge.allStatuses": "Alle statuses",
|
|||
|
|
"admin.knowledge.published": "Veröffentlicht",
|
|||
|
|
"admin.knowledge.createArticle": "Erstellen article",
|
|||
|
|
"admin.knowledge.col.categories": "Kategorien",
|
|||
|
|
"admin.knowledge.col.status": "Zustand",
|
|||
|
|
"admin.knowledge.col.keywords": "Schlüsselwörter",
|
|||
|
|
"admin.knowledge.badge.published": "Veröffentlicht",
|
|||
|
|
"admin.knowledge.createTemplate": "Erstellen template",
|
|||
|
|
"admin.knowledge.badge.active": "Aktiv",
|
|||
|
|
"admin.knowledge.badge.inactive": "Inaktiv",
|
|||
|
|
"admin.knowledge.autoFirstResponses": "Automatische Erstantworten aktivieren",
|
|||
|
|
"admin.knowledge.faqMatching": "FAQ- / Vorlagenabgleich",
|
|||
|
|
"admin.knowledge.retryOnReply": "Erneut versuchen on first customer reply (if no prior auto)",
|
|||
|
|
"admin.knowledge.matchThreshold": "Match-Konfidenzschwelle",
|
|||
|
|
"admin.knowledge.enableAiFallback": "KI-Fallback aktivieren",
|
|||
|
|
"admin.knowledge.deliveryMode": "Zustellmodus",
|
|||
|
|
"admin.knowledge.delivery.draft": "Nur Entwurf (interne Notiz)",
|
|||
|
|
"admin.knowledge.delivery.autoSend": "Automatisch an Kunden senden",
|
|||
|
|
"admin.knowledge.aiThreshold": "KI-Konfidenzschwelle",
|
|||
|
|
"admin.knowledge.usePlatformRole": "Use platform Support AI role (recommended)",
|
|||
|
|
"admin.knowledge.modelOverride": "Modell override",
|
|||
|
|
"admin.knowledge.providerOverride": "Anbieter override",
|
|||
|
|
"admin.knowledge.baseUrlOverride": "Basis URL override",
|
|||
|
|
"admin.knowledge.supportAiRoleTitle": "Support-KI-Rolle (Fallback-Anbieter)",
|
|||
|
|
"admin.knowledge.configured": "Konfiguriert",
|
|||
|
|
"admin.knowledge.notReadyBadge": "Nicht bereit",
|
|||
|
|
"admin.knowledge.enabled": "Aktiviert",
|
|||
|
|
"admin.knowledge.disabled": "Deaktiviert",
|
|||
|
|
"admin.knowledge.openAiRoles": "Öffnen Plattform Einstellungen → AI roles",
|
|||
|
|
"admin.knowledge.field.title": "Titel",
|
|||
|
|
"admin.knowledge.field.slug": "Slug",
|
|||
|
|
"admin.knowledge.field.body": "Inhalt (Markdown)",
|
|||
|
|
"admin.knowledge.field.keywords": "Schlüsselwörter",
|
|||
|
|
"admin.knowledge.keywordsPlaceholder": "kommagetrennt",
|
|||
|
|
"admin.knowledge.field.intents": "Intent-Schlüssel",
|
|||
|
|
"admin.knowledge.intentsPlaceholder": "kommagetrennt",
|
|||
|
|
"admin.knowledge.field.categories": "Kategorie slugs",
|
|||
|
|
"admin.knowledge.categoriesPlaceholder": "Abrechnung, account…",
|
|||
|
|
"admin.knowledge.field.weight": "Prioritätsgewicht",
|
|||
|
|
"admin.knowledge.publishedEligible": "Veröffentlicht (für Abgleich geeignet)",
|
|||
|
|
"admin.knowledge.field.name": "Bezeichnung",
|
|||
|
|
"admin.knowledge.field.templateBody": "Text",
|
|||
|
|
"admin.knowledge.active": "Aktiv",
|
|||
|
|
"admin.settings.card.aiRolesTitle": "Plattform AI roles",
|
|||
|
|
"admin.settings.card.aiRolesDesc": "Verarbeitung, vectorization, docs/API, and Support — separate keys/models",
|
|||
|
|
"admin.settings.roleOff": " (aus)",
|
|||
|
|
"admin.settings.roleNotSet": "· not set",
|
|||
|
|
"admin.settings.someRolesUnavailable": "Some AI roles are not verfügbar on this deployment yet. Verarbeitung still uses the platform ÖffnenAI Einstellungen until all roles are Supported.",
|
|||
|
|
"admin.settings.configure": "Konfigurieren",
|
|||
|
|
"admin.settings.card.smtpTitle": "Plattform SMTP",
|
|||
|
|
"admin.settings.configured": "Konfiguriert",
|
|||
|
|
"admin.settings.notConfigured": "Nicht konfiguriert",
|
|||
|
|
"admin.settings.source": "Quelle: {source}",
|
|||
|
|
"admin.settings.smtpEnabled": "SMTP aktiviert",
|
|||
|
|
"admin.settings.smtpDisabled": "SMTP deaktiviert",
|
|||
|
|
"admin.settings.passwordSet": "· password set",
|
|||
|
|
"admin.settings.card.otherTitle": "Andere Integrationen",
|
|||
|
|
"admin.settings.oauthSet": "Google OAuth gesetzt",
|
|||
|
|
"admin.settings.oauthOff": "Google OAuth aus",
|
|||
|
|
"admin.settings.eprelOn": "EPREL an",
|
|||
|
|
"admin.settings.eprelOff": "EPREL aus",
|
|||
|
|
"admin.settings.pineconeSet": "Pinecone gesetzt",
|
|||
|
|
"admin.settings.pineconeOff": "Pinecone aus",
|
|||
|
|
"admin.settings.stripeSet": "Stripe gesetzt",
|
|||
|
|
"admin.settings.stripeOff": "Stripe aus",
|
|||
|
|
"admin.settings.password": "Passwort",
|
|||
|
|
"admin.settings.passwordSavedHint": "(gespeichert — leave blank to keep)",
|
|||
|
|
"admin.settings.secretKey": "Geheimschlüssel",
|
|||
|
|
"admin.settings.secretConfiguredHint": "(konfiguriert — leer lassen zum Behalten)",
|
|||
|
|
"admin.settings.passwordConfigured": "Passwort configured",
|
|||
|
|
"admin.settings.noSmtpPassword": "Kein SMTP-Passwort",
|
|||
|
|
"admin.settings.enabled": "Aktiviert",
|
|||
|
|
"admin.settings.disabled": "Deaktiviert",
|
|||
|
|
"admin.settings.saveRole": "Speichern {label}",
|
|||
|
|
"admin.settings.testConnection": "Verbindung testen",
|
|||
|
|
"admin.settings.saveMail": "Speichern mail Einstellungen",
|
|||
|
|
"admin.settings.saveIntegrations": "Speichern integrations",
|
|||
|
|
"admin.settings.eprelEnabled": "EPREL enrichment aktiviert",
|
|||
|
|
"admin.settings.loadFailed": "Plattform Einstellungen could not be loaded. Saving is deaktiviert until reload succeeds.",
|
|||
|
|
"admin.settings.testAccepted": "Testnachricht von SMTP akzeptiert",
|
|||
|
|
"admin.stuck.cleanupBtn": "Hängengebliebene Jobs bereinigen (>2 Std. laufend)",
|
|||
|
|
"admin.stuck.jobsTitle": "Verarbeitungsjobs",
|
|||
|
|
"admin.stuck.jobsDesc": "Letzte 100 Jobs · {running} derzeit laufend",
|
|||
|
|
"admin.stuck.filterAll": "Alle",
|
|||
|
|
"admin.stuck.filterRunning": "Läuft",
|
|||
|
|
"admin.stuck.filterFailed": "Fehlgeschlagen",
|
|||
|
|
"admin.stuck.filterPending": "Ausstehend",
|
|||
|
|
"admin.stuck.filterCompleted": "Abgeschlossen",
|
|||
|
|
"admin.stuck.colId": "ID",
|
|||
|
|
"admin.stuck.colCompany": "Unternehmen",
|
|||
|
|
"admin.stuck.colStatus": "Zustand",
|
|||
|
|
"admin.stuck.colProgress": "Fortschritt",
|
|||
|
|
"admin.stuck.colUpdated": "Aktualisiert",
|
|||
|
|
"admin.stuck.colError": "Fehler",
|
|||
|
|
"admin.stuck.loadFailed": "Jobs konnten nicht geladen werden",
|
|||
|
|
"admin.stuck.cleanupFailed": "Bereinigung fehlgeschlagen",
|
|||
|
|
"admin.support.knowledgeLink": "Wissen & Auto-Antwort",
|
|||
|
|
"admin.support.queueTitle": "Ticket-Warteschlange",
|
|||
|
|
"admin.support.queueMeta": "{total} · Bereich {scope}",
|
|||
|
|
"admin.support.queueMetaStatus": "· Status {status}",
|
|||
|
|
"admin.support.ticketCountOne": "{count} Ticket",
|
|||
|
|
"admin.support.ticketCountMany": "{count} Tickets",
|
|||
|
|
"admin.support.statusAll": "Alle statuses",
|
|||
|
|
"admin.support.scopeAll": "Alle Tickets",
|
|||
|
|
"admin.support.scopeInbox": "Posteingang",
|
|||
|
|
"admin.support.scopeMine": "Meine",
|
|||
|
|
"admin.support.scopeUnassigned": "Nicht zugewiesen",
|
|||
|
|
"admin.support.flagAny": "Beliebiger Auto-Status",
|
|||
|
|
"admin.support.flagNeedsHuman": "Mensch nötig",
|
|||
|
|
"admin.support.flagAiDraft": "KI-Entwurf",
|
|||
|
|
"admin.support.colSubject": "Betreff",
|
|||
|
|
"admin.support.colStatus": "Zustand",
|
|||
|
|
"admin.support.colAuto": "Auto",
|
|||
|
|
"admin.support.colPriority": "Priorität",
|
|||
|
|
"admin.support.colAssignee": "Zuständig",
|
|||
|
|
"admin.support.colCompany": "Unternehmen",
|
|||
|
|
"admin.support.colUpdated": "Aktualisiert",
|
|||
|
|
"admin.support.colActions": "Aktionen",
|
|||
|
|
"admin.support.autoOff": "Auto aus",
|
|||
|
|
"admin.support.claim": "Übernehmen",
|
|||
|
|
"admin.support.claimAria": "Ticket {subject} übernehmen",
|
|||
|
|
"admin.support.unassigned": "Nicht zugewiesen",
|
|||
|
|
"admin.support.you": "Sie",
|
|||
|
|
"admin.support.assigned": "Zugewiesen",
|
|||
|
|
"admin.support.loadQueueFailed": "Support-Warteschlange konnte nicht geladen werden",
|
|||
|
|
"admin.support.claimFailed": "Ticket konnte nicht übernommen werden",
|
|||
|
|
"admin.support.ticketFallbackTitle": "Support Ticket",
|
|||
|
|
"admin.support.ticketMeta": "{company} · {requester}",
|
|||
|
|
"admin.support.ticketMetaFallback": "Staff-Prüfthread",
|
|||
|
|
"admin.support.companyFallback": "Unternehmen",
|
|||
|
|
"admin.support.requesterFallback": "Anfragender",
|
|||
|
|
"admin.support.backQueue": "Warteschlange",
|
|||
|
|
"admin.support.resolve": "Lösen",
|
|||
|
|
"admin.support.markPending": "Als ausstehend markieren",
|
|||
|
|
"admin.support.reopen": "Wieder öffnen",
|
|||
|
|
"admin.support.assigneeLabel": "Zuständig:",
|
|||
|
|
"admin.support.unassign": "Zuweisung aufheben",
|
|||
|
|
"admin.support.assignToStaff": "Mitarbeitern zuweisen",
|
|||
|
|
"admin.support.apply": "Anwenden",
|
|||
|
|
"admin.support.autoPanelTitle": "Auto-Match / KI-Assistenz",
|
|||
|
|
"admin.support.autoPanelDesc": "Nur für Staff: Ergebnis von FAQ-Match und KI-Entwurf/Versand. Kunden sehen keine Entwürfe.",
|
|||
|
|
"admin.support.autoDisabledBadge": "Auto deaktiviert",
|
|||
|
|
"admin.support.autoStatusLabel": "Statusangabe:",
|
|||
|
|
"admin.support.lastAttempt": "Letzter Versuch:",
|
|||
|
|
"admin.support.reenableAuto": "Auto wieder aktivieren",
|
|||
|
|
"admin.support.disableAuto": "Auto für dieses Ticket deaktivieren",
|
|||
|
|
"admin.support.aiDraftTitle": "KI-Entwurf (genehmigen oder bearbeiten)",
|
|||
|
|
"admin.support.aiDraftDesc": "Nur-Entwurf-Modus hat eine interne Notiz hinterlassen. Bei Bedarf bearbeiten, dann an den Kunden senden — oder verwerfen und manuell übernehmen.",
|
|||
|
|
"admin.support.confidence": "Konfidenz {value}",
|
|||
|
|
"admin.support.statusAfterSend": "Status nach dem Senden",
|
|||
|
|
"admin.support.approveSend": "Genehmigen & senden",
|
|||
|
|
"admin.support.discardDraft": "Entwurf verwerfen",
|
|||
|
|
"admin.support.threadTitle": "Thread",
|
|||
|
|
"admin.support.threadMeta": "{count} · letzte Aktivität {when}",
|
|||
|
|
"admin.support.messageCountOne": "{count} Nachricht",
|
|||
|
|
"admin.support.messageCountMany": "{count} Nachrichten",
|
|||
|
|
"admin.support.replyTitle": "Antworten",
|
|||
|
|
"admin.support.replyDesc": "Öffentliche Antworten benachrichtigen den Kunden. Interne Notizen bleiben staff-only. Standardstatus nach öffentlicher Antwort ist ausstehend.",
|
|||
|
|
"admin.support.internalNote": "Interne Notiz (für Kunden nicht sichtbar)",
|
|||
|
|
"admin.support.setStatus": "Status setzen",
|
|||
|
|
"admin.support.statusDefault": "Standard",
|
|||
|
|
"admin.support.saveNote": "Notiz speichern",
|
|||
|
|
"admin.support.sendReply": "Antwort senden",
|
|||
|
|
"admin.support.replyAndResolve": "Antworten & lösen",
|
|||
|
|
"admin.support.closedBanner": "Dieses Ticket ist geschlossen. Öffnen Sie es erneut, um fortzufahren.",
|
|||
|
|
"admin.support.priorityMeta": "Priorität {priority}",
|
|||
|
|
"admin.support.authorAiDraft": "KI-Entwurf (nur Staff)",
|
|||
|
|
"admin.support.authorInternal": "Interne Notiz",
|
|||
|
|
"admin.support.authorStaff": "Mitarbeiter",
|
|||
|
|
"admin.support.authorCustomer": "Kunde",
|
|||
|
|
"admin.support.flash.noteSaved": "Interne Notiz gespeichert.",
|
|||
|
|
"admin.support.flash.replySent": "Antwort gesendet.",
|
|||
|
|
"admin.support.flash.resolved": "Ticket als gelöst markiert.",
|
|||
|
|
"admin.support.flash.pending": "Ticket als ausstehend markiert (wartet auf Kunden).",
|
|||
|
|
"admin.support.flash.reopened": "Ticket wieder geöffnet.",
|
|||
|
|
"admin.support.flash.statusSet": "Ticket-Status auf {status} gesetzt.",
|
|||
|
|
"admin.support.flash.autoDisabled": "Automatische Antworten für dieses Ticket deaktiviert.",
|
|||
|
|
"admin.support.flash.autoEnabled": "Automatische Antworten für dieses Ticket wieder aktiviert.",
|
|||
|
|
"admin.support.loadTicketFailed": "Ticket konnte nicht geladen werden",
|
|||
|
|
"admin.support.replyFailed": "Antwort konnte nicht gesendet werden",
|
|||
|
|
"admin.support.statusFailed": "Status konnte nicht aktualisiert werden",
|
|||
|
|
"admin.support.unassignFailed": "Zuweisung konnte nicht aufgehoben werden",
|
|||
|
|
"admin.support.assignFailed": "Ticket konnte nicht zugewiesen werden",
|
|||
|
|
"admin.support.autoFailed": "Auto-Antwort konnte nicht aktualisiert werden",
|
|||
|
|
"admin.support.approveFailed": "KI-Entwurf konnte nicht genehmigt werden",
|
|||
|
|
"admin.support.discardFailed": "KI-Entwurf konnte nicht verworfen werden",
|
|||
|
|
"admin.settings.sourceResolved": "Aufgelöst aus {sources}",
|
|||
|
|
"admin.settings.sourceUpdated": " · aktualisiert {when}",
|
|||
|
|
"admin.settings.updatedAt": "Aktualisiert {when}",
|
|||
|
|
"admin.settings.tenantDesc": "Unternehmens-KI-Schlüssel und Marketing-E-Mail bleiben unter Integrationen. Sitzungs- und Verschlüsselungsgeheimnisse bleiben in der Serverumgebung und werden hier nicht bearbeitet.",
|
|||
|
|
"admin.settings.perCompanyAiEmail": "KI/E-Mail pro Unternehmen —",
|
|||
|
|
"admin.settings.plansCredits": "Pläne und Credits —",
|
|||
|
|
"admin.settings.fromDatabase": "Aus der Datenbank",
|
|||
|
|
"admin.settings.fromEnvironment": "Aus der Umgebung",
|
|||
|
|
"admin.settings.sourceBadge": "Quelle: {source}",
|
|||
|
|
"admin.settings.storedKey": "Gespeicherter Schlüssel: {masked}",
|
|||
|
|
"admin.settings.enableRole": "Diese Rolle aktivieren",
|
|||
|
|
"admin.settings.clearApiKey": "Gespeicherten API-Schlüssel löschen",
|
|||
|
|
"admin.settings.apiKeyKeepPlaceholder": "•••• leer lassen zum Behalten",
|
|||
|
|
"admin.settings.apiKeyNewPlaceholder": "sk-… oder lokal",
|
|||
|
|
"admin.settings.smtpCardTitle": "Plattform SMTP",
|
|||
|
|
"admin.settings.smtpCardDesc": "Für Set-Password-Einladungen und ausgehende Plattform-E-Mails. Marketing-Resend/SMTP bleibt pro Unternehmen unter Integrationen → E-Mail.",
|
|||
|
|
"admin.settings.smtpBadgeOn": "SMTP aktiviert",
|
|||
|
|
"admin.settings.smtpBadgeOff": "SMTP deaktiviert",
|
|||
|
|
"admin.settings.enableSmtp": "Plattform-SMTP aktivieren",
|
|||
|
|
"admin.settings.storedPassword": "Gespeichertes Passwort: {masked}",
|
|||
|
|
"admin.settings.clearSmtpPassword": "Gespeichertes SMTP-Passwort löschen",
|
|||
|
|
"admin.settings.sendTestEmail": "Test-E-Mail senden",
|
|||
|
|
"admin.settings.enableGoogle": "Google OAuth aktivieren",
|
|||
|
|
"admin.settings.clientSecret": "Client-Secret",
|
|||
|
|
"admin.settings.leaveBlankKeep": "(leer lassen zum Behalten)",
|
|||
|
|
"admin.settings.storedSecret": "Gespeichertes Geheimnis: {masked}",
|
|||
|
|
"admin.settings.clearClientSecret": "Gespeichertes Client-Geheimnis löschen",
|
|||
|
|
"admin.settings.eprelDesc": "Kostenlose öffentliche EU-Energielabel-Daten während der Verarbeitung. Standardmäßig für alle Pläne aktiv — keine Aktivierung oder kostenpflichtiges Upgrade. Steuerelemente nur zum Deaktivieren oder Feinabstimmen.",
|
|||
|
|
"admin.settings.optionalKeySaved": "Optionaler API-Schlüssel gespeichert",
|
|||
|
|
"admin.settings.noApiKeyNeeded": "Kein API-Schlüssel nötig",
|
|||
|
|
"admin.settings.optionalApiKey": "Optionaler API-Schlüssel",
|
|||
|
|
"admin.settings.optionalApiKeySavedHint": "(gespeichert — leave blank to keep)",
|
|||
|
|
"admin.settings.optionalApiKeyPublicHint": "(öffentliche API funktioniert ohne)",
|
|||
|
|
"admin.settings.clearEprelKey": "Gespeicherten EPREL-API-Schlüssel löschen",
|
|||
|
|
"admin.settings.pineconeDesc": "Optionale Vektor-Kategorievorschläge während der Verarbeitung. Host-Umgebungswerte werden genutzt, wenn Felder hier leer bleiben.",
|
|||
|
|
"admin.settings.apiKeyConfigured": "API-Schlüssel konfiguriert",
|
|||
|
|
"admin.settings.noApiKey": "Kein API-Schlüssel",
|
|||
|
|
"admin.settings.apiKeyLabel": "API-Schlüssel",
|
|||
|
|
"admin.settings.clearPineconeKey": "Gespeicherten Pinecone-API-Schlüssel löschen",
|
|||
|
|
"admin.settings.stripeDesc": "Optionale Überschreibungen der Server-Stripe-Konfiguration. Passwortfelder bevorzugen; Werte werden nach dem Speichern nicht erneut angezeigt.",
|
|||
|
|
"admin.settings.stripeMock": "Stripe-Mock-Modus erzwingen (nur Nicht-Produktion — deaktiviert echte Abbuchungen)",
|
|||
|
|
"admin.settings.webhookSecret": "Webhook-Geheimnis",
|
|||
|
|
"admin.settings.clearStripeSecret": "Stripe-Geheimschlüssel löschen",
|
|||
|
|
"admin.settings.clearStripeWebhook": "Stripe-Webhook-Geheimnis löschen",
|
|||
|
|
"admin.settings.feedAllowlistDesc": "Kommagetrennte Hosts/CIDRs für private Feed-URLs erlaubt.",
|
|||
|
|
"admin.settings.adminsDesc": "Plattform-Administratoren auf diesem Deployment",
|
|||
|
|
"admin.settings.onboardingTitle": "Admin-Onboarding-Hilfen",
|
|||
|
|
"admin.settings.onboardingDesc": "Nutzen Sie Set-Password-Einladungs-E-Mails, um berechtigte Nutzer ohne Passwort einzuarbeiten.",
|
|||
|
|
"admin.settings.sendInvites": "Set-Password-E-Mails senden",
|
|||
|
|
"admin.settings.adminStatusBefore": "Plattform-Admins können von diesem Bildschirm nicht erstellt werden. Bestätigen Sie Ihren Zugang auf der",
|
|||
|
|
"admin.settings.adminStatusAfter": ", oder bitten Sie einen bestehenden Admin/Ops, Ihr Konto zu befördern.",
|
|||
|
|
"admin.settings.loadUsersFailed": "Admin-Benutzer konnten nicht geladen werden",
|
|||
|
|
"admin.settings.sendFailed": "Senden fehlgeschlagen",
|
|||
|
|
"admin.settings.saveMailFailed": "Mail-Einstellungen konnten nicht gespeichert werden",
|
|||
|
|
"admin.settings.smtpNotConfigured": "SMTP ist nicht konfiguriert — aktivieren und speichern Sie zuerst die Mail-Einstellungen.",
|
|||
|
|
"admin.settings.smtpTestFailed": "SMTP-Test fehlgeschlagen",
|
|||
|
|
"admin.settings.testEmailFailed": "Test-E-Mail konnte nicht gesendet werden",
|
|||
|
|
"admin.settings.saveIntegrationFailed": "Integrationseinstellungen konnten nicht gespeichert werden",
|
|||
|
|
"admin.settings.aiSaved": "{label}-KI-Einstellungen gespeichert. API-Schlüssel werden nicht erneut angezeigt.",
|
|||
|
|
"admin.settings.aiSaveFailed": "{label}-KI-Einstellungen konnten nicht gespeichert werden",
|
|||
|
|
"admin.settings.aiTestOk": "{label}: Verbindung OK",
|
|||
|
|
"admin.settings.aiTestSkipped": "{label}: übersprungen — speichern Sie Zugangsdaten (und aktivieren Sie die Rolle) zum Testen.",
|
|||
|
|
"admin.settings.aiTestFailed": "{label}: Verbindung fehlgeschlagen",
|
|||
|
|
"admin.settings.aiTestError": "{label}-Verbindung konnte nicht getestet werden",
|
|||
|
|
"admin.settings.aiRole.processing.label": "Verarbeitung",
|
|||
|
|
"admin.settings.aiRole.processing.desc": "Produkt-Pipeline Chat/Completions (Titel, Beschreibungen, Enhance).",
|
|||
|
|
"admin.settings.aiRole.vectorization.label": "Vektorisierung",
|
|||
|
|
"admin.settings.aiRole.vectorization.desc": "Embeddings für Suche / Pinecone-Indexierung (Indexdimensionen abstimmen).",
|
|||
|
|
"admin.settings.aiRole.docs_api.label": "Docs / API",
|
|||
|
|
"admin.settings.aiRole.docs_api.desc": "Zukünftiger Docs/API-Assistenten-Slot — /docs Ask bleibt regelbasiert und darf diese Rolle nie aufrufen.",
|
|||
|
|
"admin.settings.aiRole.support.label": "Hilfezentrum",
|
|||
|
|
"admin.settings.aiRole.support.desc": "KI-Fallback für Ticket-Auto-Antwort — Anbieter/Schlüssel/Modell hier konfigurieren; Versand unter Support-Wissen → Auto-Antwort aktivieren.",
|
|||
|
|
"admin.settings.providerOption.openai": "OpenAI",
|
|||
|
|
"admin.settings.providerOption.openrouter": "OpenRouter",
|
|||
|
|
"admin.settings.providerOption.azure": "Azure OpenAI",
|
|||
|
|
"admin.settings.providerOption.ollama": "Ollama",
|
|||
|
|
"admin.settings.providerOption.custom": "Benutzerdefiniert / sonstige",
|
|||
|
|
"admin.support.title": "Support-Center",
|
|||
|
|
"admin.support.description": "Mitarbeiter-Posteingang — aus Warteschlange übernehmen, nach Bereich filtern, Threads öffnen und lösen",
|
|||
|
|
"admin.support.unavailable": "Support-Warteschlange ist nicht verfügbar. Kontaktieren Sie Ihren Plattform-Admin, falls das anhält.",
|
|||
|
|
"admin.support.noTickets": "Keine Tickets in dieser Warteschlange.",
|
|||
|
|
"admin.support.ticketNotFound": "Ticket nicht gefunden.",
|
|||
|
|
"admin.support.notAvailable": "Support ist auf diesem Deployment nicht verfügbar.",
|
|||
|
|
"admin.support.loadFailed": "Dieses Ticket konnte nicht geladen werden.",
|
|||
|
|
"admin.support.noMessages": "Noch keine Nachrichten.",
|
|||
|
|
"admin.support.queueScopeAria": "Warteschlangenbereich",
|
|||
|
|
"admin.support.statusFilterAria": "Statusfilter",
|
|||
|
|
"admin.support.autoAssistFilterAria": "Auto-Assist-Filter",
|
|||
|
|
"admin.support.searchPlaceholder": "Betreff, E-Mail oder Unternehmen suchen",
|
|||
|
|
"admin.support.searchAria": "Tickets suchen",
|
|||
|
|
"admin.support.assignStaffAria": "Mitarbeitern zuweisen",
|
|||
|
|
"admin.support.aiDraftAria": "KI-Entwurf",
|
|||
|
|
"admin.support.replyPlaceholder": "Antwort schreiben…",
|
|||
|
|
"admin.support.replyAria": "Antworttext",
|
|||
|
|
"admin.knowledge.eyebrow": "Plattform-Admin",
|
|||
|
|
"admin.knowledge.title": "Support-Wissen",
|
|||
|
|
"admin.knowledge.description": "Strukturieren Sie Hilfeartikel für FAQ-Auto-Match. Content-Agenten füllen Texte — halten Sie Fakten korrekt.",
|
|||
|
|
"admin.knowledge.notReady": "Support-Wissen ist nicht bereit",
|
|||
|
|
"admin.knowledge.noTemplates": "Keine Antwortvorlagen",
|
|||
|
|
"admin.knowledge.articleDesc": "Markdown-Text unterstützt Bilder per sicherem Upload. Erfinden Sie keine Produktfakten — lassen Sie Platzhalter für Content-Agenten.",
|
|||
|
|
"admin.knowledge.templateDesc": "Erlaubte Platzhalter: subject, category.",
|
|||
|
|
"admin.knowledge.searchPlaceholder": "Titel, Slug, Keywords suchen…",
|
|||
|
|
"admin.knowledge.searchAria": "Artikel suchen",
|
|||
|
|
"admin.knowledge.publishFilterAria": "Veröffentlichungsstatusfilter",
|
|||
|
|
"admin.knowledge.deleteArticleAria": "Artikel löschen",
|
|||
|
|
"admin.knowledge.deleteTemplateAria": "Vorlage löschen",
|
|||
|
|
"admin.support.autoReplyStatus.matched": "FAQ gefunden",
|
|||
|
|
"admin.support.autoReplyStatus.aiDraft": "KI-Entwurf ausstehend",
|
|||
|
|
"admin.support.autoReplyStatus.aiSent": "KI-Antwort gesendet",
|
|||
|
|
"admin.support.autoReplyStatus.skipped": "Auto übersprungen",
|
|||
|
|
"admin.support.autoReplyStatus.failed": "Auto fehlgeschlagen",
|
|||
|
|
"admin.support.autoReplyStatus.handedOff": "Mensch nötig",
|
|||
|
|
"admin.support.autoReplyStatus.none": "Kein Auto-Versuch",
|
|||
|
|
"admin.support.autoSource.kb": "Wissensdatenbank",
|
|||
|
|
"admin.support.autoSource.template": "Vorlage",
|
|||
|
|
"admin.support.autoSource.ai": "KI-unterstützt",
|
|||
|
|
"admin.support.autoSource.automated": "Automatisiert",
|
|||
|
|
"admin.knowledge.categoriesHeading": "Kategorien",
|
|||
|
|
"admin.knowledge.categoriesHint": "Leere vorbereitete Buckets für Content-Agenten.",
|
|||
|
|
"admin.knowledge.showingArticles": "{shown} Artikel angezeigt (Inhalt wird beim Bearbeiten geladen).",
|
|||
|
|
"admin.knowledge.showingArticlesOf": "{shown} von {total} Artikeln angezeigt (Inhalt wird beim Bearbeiten geladen).",
|
|||
|
|
"admin.knowledge.templatesHint": "Vorgefertigte Antworten mit optionalen Platzhaltern {{subject}} / {{category}}.",
|
|||
|
|
"admin.knowledge.faqAutoMatchTitle": "FAQ-Auto-Match",
|
|||
|
|
"admin.knowledge.faqAutoMatchDesc": "Schlüsselwort-Match bei Ticket-Erstellung. Standardschwelle 0,78 (Bereich 0,50–0,95).",
|
|||
|
|
"admin.knowledge.aiFallbackTitle": "KI-Fallback",
|
|||
|
|
"admin.knowledge.aiFallbackDesc": "Wird genutzt, wenn der FAQ-Match unter dem Schwellwert liegt. Antworten nutzen die Plattform-KI-Rolle {role}.",
|
|||
|
|
"admin.knowledge.noModel": "kein Modell",
|
|||
|
|
"admin.knowledge.keyLast4": "Schlüssel …{last4}",
|
|||
|
|
"admin.knowledge.sourceLabel": "Quelle {source}",
|
|||
|
|
"admin.knowledge.apiKeyNote": "Der API-Schlüssel kommt immer von dieser Rolle; Overrides oben ändern nur Anbieter / Modell / Basis-URL.",
|
|||
|
|
"admin.knowledge.saveAutoSettings": "Auto-Antwort-Einstellungen speichern",
|
|||
|
|
"admin.knowledge.insertImage": "Bild einfügen",
|
|||
|
|
"admin.knowledge.uploading": "Wird hochgeladen…",
|
|||
|
|
"admin.knowledge.imageUploadHint": "PNG / JPEG / WebP, max. 2 MiB. Gespeichert unter UPLOAD_DIR/support-kb (öffentliche HMAC-URL).",
|
|||
|
|
"admin.knowledge.unavailableMsg": "Support-Wissen ist in dieser Bereitstellung nicht verfügbar. Wenden Sie sich an Ihren Plattform-Administrator.",
|
|||
|
|
"admin.knowledge.loadFailed": "Support-Wissen konnte nicht geladen werden",
|
|||
|
|
"admin.knowledge.loadArticleFailed": "Artikel konnte nicht geladen werden",
|
|||
|
|
"admin.knowledge.loadTemplateFailed": "Vorlage konnte nicht geladen werden",
|
|||
|
|
"admin.knowledge.saveArticleFailed": "Artikel konnte nicht gespeichert werden",
|
|||
|
|
"admin.knowledge.saveTemplateFailed": "Vorlage konnte nicht gespeichert werden",
|
|||
|
|
"admin.knowledge.deleteArticleFailed": "Artikel konnte nicht gelöscht werden",
|
|||
|
|
"admin.knowledge.deleteTemplateFailed": "Vorlage konnte nicht gelöscht werden",
|
|||
|
|
"admin.knowledge.saveAutoFailed": "Auto-Antwort-Einstellungen konnten nicht gespeichert werden",
|
|||
|
|
"admin.knowledge.uploadImageFailed": "Bild konnte nicht hochgeladen werden",
|
|||
|
|
"admin.translations.eyebrow": "Plattform",
|
|||
|
|
"admin.translations.title": "Übersetzungen",
|
|||
|
|
"admin.translations.description": "Prüfen Sie die Dashboard-UI-Abdeckung und bearbeiten Sie dateibasierte Locale-Packs.",
|
|||
|
|
"admin.translations.unavailable": "Übersetzungen nicht verfügbar",
|
|||
|
|
"admin.translations.sourceOfTruth": "Single Source of Truth",
|
|||
|
|
"admin.translations.sourceOfTruthLabel": "Single Source of Truth:",
|
|||
|
|
"admin.translations.colLocale": "Locale",
|
|||
|
|
"admin.translations.colTranslated": "Übersetzt",
|
|||
|
|
"admin.translations.colMissing": "Fehlend",
|
|||
|
|
"admin.translations.colStatus": "Zustand",
|
|||
|
|
"admin.translations.badgeBase": "Basis",
|
|||
|
|
"admin.translations.badgeComplete": "Vollständig",
|
|||
|
|
"admin.translations.badgeUnregistered": "Nicht registriert",
|
|||
|
|
"admin.translations.badgeGaps": "Lücken",
|
|||
|
|
"admin.translations.language": "Sprache",
|
|||
|
|
"admin.translations.show": "Anzeigen",
|
|||
|
|
"admin.translations.filterMissing": "Nur fehlende",
|
|||
|
|
"admin.translations.filterTranslated": "Nur übersetzte",
|
|||
|
|
"admin.translations.filterAll": "Alle Schlüssel",
|
|||
|
|
"admin.translations.search": "Suchen",
|
|||
|
|
"admin.translations.searchPlaceholder": "Schlüssel oder Text…",
|
|||
|
|
"admin.translations.noKeysMatch": "Keine Schlüssel passen",
|
|||
|
|
"admin.translations.badgeMissing": "Fehlend",
|
|||
|
|
"admin.translations.badgeUnsaved": "Ungespeichert",
|
|||
|
|
"admin.translations.english": "Englisch",
|
|||
|
|
"admin.bootstrap.title": "Bootstrap-Admin-Zugriff",
|
|||
|
|
"admin.bootstrap.description": "Bestätigen Sie, ob Ihr Konto bereits Plattform-Admin-Zugriff hat. Neue Admins müssen von einem bestehenden Administrator gewährt werden.",
|
|||
|
|
"admin.bootstrap.statusTitle": "Plattform-Admin-Status",
|
|||
|
|
"admin.bootstrap.statusDesc": "Plattform-Admin-Zugriff wird von einem bestehenden Administrator gewährt. Es gibt kein Self-Serve-Bootstrap für diese Rolle.",
|
|||
|
|
"admin.bootstrap.alreadyAdmin": "Sie haben bereits Plattform-Admin-Zugriff.",
|
|||
|
|
"admin.bootstrap.signedInAs": "Angemeldet als {email}. Öffnen Sie das Admin-Panel, um fortzufahren.",
|
|||
|
|
"admin.bootstrap.signedInAsShort": "Angemeldet als {email}",
|
|||
|
|
"admin.bootstrap.notAdminTitle": "Kein Plattform-Admin",
|
|||
|
|
"admin.bootstrap.notAdminMsg": "Ihr Konto ist angemeldet, aber nicht als Plattform-Admin markiert. Bitten Sie einen bestehenden Admin um Zugriff, melden Sie sich ab und wieder an.",
|
|||
|
|
"admin.bootstrap.goToPanel": "Zum Admin-Panel",
|
|||
|
|
"admin.bootstrap.loadFailed": "Profil konnte nicht geladen werden",
|
|||
|
|
"admin.migrate.title": "Organisationsmigration",
|
|||
|
|
"admin.migrate.description": "Dieses Migrationswerkzeug ist außer Betrieb und ändert keine Daten.",
|
|||
|
|
"admin.migrate.notAvailable": "Nicht verfügbar",
|
|||
|
|
"admin.migrate.body": "Die Organisationsmigration vom vorherigen Identity Provider ist nicht mehr nötig. Unternehmen und lokale Auth werden unter Benutzer & Organisationen verwaltet.",
|
|||
|
|
"admin.migrate.hint": "Wenn Sie dies über ein altes Lesezeichen geöffnet haben, fahren Sie mit Benutzer & Organisationen, Plattform-Abrechnung oder Hängengebliebenen Produkten fort.",
|
|||
|
|
"admin.migrate.adminHome": "Admin-Start",
|
|||
|
|
"admin.migrate.users": "Benutzer",
|
|||
|
|
"admin.redirect.diagnostics": "Weiterleitung zur Diagnose…",
|
|||
|
|
"admin.redirect.stuck": "Weiterleitung zu hängengebliebenen Produkten…",
|
|||
|
|
"common.refresh": "Aktualisieren",
|
|||
|
|
"common.delete": "Löschen",
|
|||
|
|
"common.clearSearch": "Suche löschen",
|
|||
|
|
"common.loading": "Laden…",
|
|||
|
|
"common.never": "Nie",
|
|||
|
|
"common.back": "Zurück",
|
|||
|
|
"common.startOver": "Von vorn beginnen",
|
|||
|
|
"common.create": "Erstellen",
|
|||
|
|
"common.required": "Erforderlich",
|
|||
|
|
"common.actions": "Aktionen",
|
|||
|
|
"common.status": "Zustand",
|
|||
|
|
"common.nameCol": "Bezeichnung",
|
|||
|
|
"common.products": "Produkte",
|
|||
|
|
"common.more": "+{count} weitere",
|
|||
|
|
"feeds.title": "Ihre Feeds",
|
|||
|
|
"feeds.loadingDesc": "Lieferanten-Feeds werden geladen…",
|
|||
|
|
"feeds.desc": "{page} auf dieser Seite · {total} Feeds gesamt — Lieferanten-CSV/XML-URLs und Uploads. Verbinden Sie über Stores für geführte Optionen.",
|
|||
|
|
"feeds.storesHub": "Shop-Zentrale",
|
|||
|
|
"feeds.addFeed": "Feed hinzufügen",
|
|||
|
|
"feeds.searchPlaceholder": "Feeds suchen...",
|
|||
|
|
"feeds.emptyTitle": "Noch keine Produkt-Feeds",
|
|||
|
|
"feeds.emptyMessage": "Verbinden Sie eine Lieferanten-CSV/XML-URL oder laden Sie eine Datei hoch, um Produkte in Ihren Katalog zu synchronisieren.",
|
|||
|
|
"feeds.connectFeed": "Feed verbinden",
|
|||
|
|
"feeds.uploadCsvCta": "CSV hochladen",
|
|||
|
|
"feeds.noMatchTitle": "Keine passenden Feeds",
|
|||
|
|
"feeds.noMatchMessage": "Versuchen Sie einen anderen Suchbegriff oder leeren Sie die Suche, um alle Feeds zu sehen.",
|
|||
|
|
"feeds.col.source": "Quelle",
|
|||
|
|
"feeds.col.mapping": "Zuordnung",
|
|||
|
|
"feeds.col.lastData": "Letzte Sync",
|
|||
|
|
"feeds.copyUrl": "URL kopieren",
|
|||
|
|
"feeds.fieldsMapped": "{count} Felder",
|
|||
|
|
"feeds.fieldsMappedTitle": "{count} Feld zugeordnet",
|
|||
|
|
"feeds.fieldsMappedTitlePlural": "{count} Felder zugeordnet",
|
|||
|
|
"feeds.mappingsSaved": "Feldzuordnungen gespeichert",
|
|||
|
|
"feeds.mapped": "Zugeordnet",
|
|||
|
|
"feeds.notMapped": "Nicht zugeordnet",
|
|||
|
|
"feeds.notMappedTitle": "Noch keine Feldzuordnungen — öffnen Sie Zuordnen zum Konfigurieren",
|
|||
|
|
"feeds.productsFromFeed": "{count} Produkte aus diesem Feed",
|
|||
|
|
"feeds.noProductsYet": "Noch keine Produkte aus diesem Feed importiert",
|
|||
|
|
"feeds.syncing": "Synchronisierung…",
|
|||
|
|
"feeds.syncingShort": "Synchronisierung",
|
|||
|
|
"feeds.syncingHint": "Kann bei großen Feeds einige Minuten dauern",
|
|||
|
|
"feeds.liveSync": "Feed-Sync",
|
|||
|
|
"feeds.productData": "Katalogdaten",
|
|||
|
|
"feeds.mapFields": "Felder zuordnen",
|
|||
|
|
"feeds.map": "Zuordnen",
|
|||
|
|
"feeds.sync": "Synchronisieren",
|
|||
|
|
"feeds.syncNow": "Jetzt synchronisieren",
|
|||
|
|
"feeds.syncManualTitle": "Jetzt einmalig synchronisieren. Die Auto-Sync-Intervall-Einstellung bleibt unverändert.",
|
|||
|
|
"feeds.syncInProgress": "Sync läuft",
|
|||
|
|
"feeds.addTitle": "Feed hinzufügen",
|
|||
|
|
"feeds.addDesc": "Verbinden Sie eine Produkt-Feed-URL oder laden Sie eine CSV hoch. Nutzen Sie die Beispiele unten für die erwartete Struktur.",
|
|||
|
|
"feeds.field.name": "Bezeichnung",
|
|||
|
|
"feeds.field.namePlaceholder": "Mein Produktfeed",
|
|||
|
|
"feeds.tab.url": "Feed-URL",
|
|||
|
|
"feeds.tab.file": "CSV-Datei",
|
|||
|
|
"feeds.field.url": "Feed-URL",
|
|||
|
|
"feeds.field.urlPlaceholder": "https://…",
|
|||
|
|
"feeds.field.type": "Typ",
|
|||
|
|
"feeds.field.file": "CSV-Datei",
|
|||
|
|
"feeds.fileHint": "Max. 5 MiB. Nach dem Erstellen Spalten zuordnen, dann synchronisieren — gleicher Ablauf wie URL-Feeds.",
|
|||
|
|
"feeds.field.interval": "Auto-Sync-Intervall (Minuten)",
|
|||
|
|
"feeds.field.intervalHint": "Wie oft Descrybe diesen Feed automatisch abrufen soll, solange er aktiv ist. Sync in der Feed-Liste startet einen einmaligen Abruf — das ändert diesen Zeitplan nicht.",
|
|||
|
|
"feeds.createFeed": "Feed erstellen",
|
|||
|
|
"feeds.editTitle": "Feed bearbeiten",
|
|||
|
|
"feeds.editDesc": "Name, Typ, Auto-Sync-Zeitplan oder Quell-URL aktualisieren. Sync in der Feed-Liste führt einen einmaligen Abruf aus.",
|
|||
|
|
"feeds.csvSource": "CSV-Quelle",
|
|||
|
|
"feeds.uploadedCsv": "Hochgeladenes CSV",
|
|||
|
|
"feeds.replaceFileHint": "Um die Datei zu ersetzen, erstellen Sie einen neuen Feed. Sync liest den gespeicherten Upload erneut.",
|
|||
|
|
"feeds.csvTypeLocked": "Hochgeladene CSV-Feeds bleiben vom Typ CSV.",
|
|||
|
|
"feeds.saveChanges": "Änderungen speichern",
|
|||
|
|
"feeds.historyTitle": "Sync-Verlauf",
|
|||
|
|
"feeds.historyDesc": "Aktuelle Sync-Jobs für „{name}“.",
|
|||
|
|
"feeds.historyLastSynced": "Letzte erfolgreiche Sync {relative} ({absolute}).",
|
|||
|
|
"feeds.historyNeverSynced": "Noch keine erfolgreiche Sync.",
|
|||
|
|
"feeds.historyLoading": "Sync-Verlauf wird geladen…",
|
|||
|
|
"feeds.historyEmpty": "Noch keine Sync-Jobs.",
|
|||
|
|
"feeds.history.started": "Gestartet",
|
|||
|
|
"feeds.history.completed": "Abgeschlossen",
|
|||
|
|
"feeds.loadFailed": "Feeds konnten nicht geladen werden",
|
|||
|
|
"feeds.copyFailed": "URL konnte nicht kopiert werden",
|
|||
|
|
"feeds.created": "Feed erstellt",
|
|||
|
|
"feeds.updated": "Feed aktualisiert.",
|
|||
|
|
"feeds.mapBeforeSync": "Ordnen Sie Felder zu, bevor Sie diesen Feed synchronisieren.",
|
|||
|
|
"feeds.activateBeforeSync": "Aktivieren Sie den Feed vor dem Synchronisieren.",
|
|||
|
|
"feeds.syncFinished": "Sync abgeschlossen",
|
|||
|
|
"feeds.viewProducts": "Produkte anzeigen",
|
|||
|
|
"feeds.processing": "Verarbeitung",
|
|||
|
|
"feeds.syncFailed": "Sync fehlgeschlagen",
|
|||
|
|
"feeds.statusUpdateFailed": "Status konnte nicht aktualisiert werden",
|
|||
|
|
"feeds.deleteConfirm": "Feed „{name}“ löschen? Das kann nicht rückgängig gemacht werden.",
|
|||
|
|
"feeds.deleted": "Feed gelöscht.",
|
|||
|
|
"feeds.deleteFailed": "Feed konnte nicht gelöscht werden",
|
|||
|
|
"feeds.historyLoadFailed": "Sync-Verlauf konnte nicht geladen werden",
|
|||
|
|
"feeds.ftpUnsupported": "FTP/FTPS-Sync wird nicht unterstützt. Bitten Sie Ihren Lieferanten um eine öffentliche HTTPS-Feed-URL, laden Sie hier einen CSV-Feed hoch oder importieren Sie eine Datei unter Uploads.",
|
|||
|
|
"feeds.ftpUnsupportedShort": "FTP-Sync nicht unterstützt",
|
|||
|
|
"feeds.ftpBadge": "FTP",
|
|||
|
|
"feeds.ftpMigrateBanner": "Einige Feeds nutzen noch FTP/FTPS. Descrybe kann diese Links nicht abrufen. Wechseln Sie zu einer öffentlichen HTTPS-URL, fügen Sie einen CSV-Feed hinzu oder laden Sie unter Uploads hoch.",
|
|||
|
|
"feeds.ftpUploadCta": "Zu Uploads",
|
|||
|
|
"feeds.ftpHttpsCta": "HTTPS-Feed hinzufügen",
|
|||
|
|
"feeds.ftpCsvCta": "CSV-Feed hochladen",
|
|||
|
|
"feeds.status.mappingIncomplete": "Zuordnung unvollständig",
|
|||
|
|
"feeds.status.readyForMapping": "Bereit zur Zuordnung",
|
|||
|
|
"feeds.status.mapped": "Zugeordnet",
|
|||
|
|
"feeds.status.active": "Aktiv",
|
|||
|
|
"feeds.status.inactive": "Inaktiv",
|
|||
|
|
"feeds.status.error": "Fehler",
|
|||
|
|
"feeds.status.unknown": "Unbekannt",
|
|||
|
|
"feeds.actions.menu": "Feed-Aktionen",
|
|||
|
|
"feeds.actions.menuSyncing": "Feed-Aktionen (Sync läuft)",
|
|||
|
|
"feeds.actions.editFeed": "Feed bearbeiten",
|
|||
|
|
"feeds.actions.editMapping": "Zuordnung bearbeiten",
|
|||
|
|
"feeds.actions.syncNow": "Jetzt synchronisieren",
|
|||
|
|
"feeds.actions.syncInProgress": "Sync läuft…",
|
|||
|
|
"feeds.actions.activateToSync": "Feed zum Synchronisieren aktivieren",
|
|||
|
|
"feeds.actions.viewHistory": "Sync-Verlauf anzeigen",
|
|||
|
|
"feeds.actions.deactivate": "Feed deaktivieren",
|
|||
|
|
"feeds.actions.activate": "Feed aktivieren",
|
|||
|
|
"feeds.actions.delete": "Feed löschen",
|
|||
|
|
"feeds.stats.totalFeeds": "Feeds gesamt",
|
|||
|
|
"feeds.stats.activeMapped": "{active} aktiv · {mapped} zugeordnet",
|
|||
|
|
"feeds.stats.activeOnly": "{active} aktiv",
|
|||
|
|
"feeds.stats.totalProducts": "Importierte Produkte",
|
|||
|
|
"feeds.stats.acrossFeeds": "Rohzeilen über Feeds (nicht Katalog + Warteschlange)",
|
|||
|
|
"feeds.stats.processed": "Im Katalog",
|
|||
|
|
"feeds.stats.readyCatalog": "Katalogzeilen — kein Anteil der Importierten",
|
|||
|
|
"feeds.stats.unprocessed": "Wartet auf Verarbeitung",
|
|||
|
|
"feeds.stats.waiting": "Roh-Warteschlange — kein Anteil der Importierten",
|
|||
|
|
"feeds.format.howTo": "So strukturieren Sie Ihren Feed",
|
|||
|
|
"feeds.format.required": "Erforderlich:",
|
|||
|
|
"feeds.preview.title": "Vorschau der Feed-Quelle",
|
|||
|
|
"feeds.preview.truncated": "Gekürzt",
|
|||
|
|
"feeds.preview.refresh": "Vorschau aktualisieren",
|
|||
|
|
"feeds.preview.copy": "Vorschau kopieren",
|
|||
|
|
"feeds.preview.loading": "Vorschau wird geladen…",
|
|||
|
|
"feeds.preview.empty": "Schema extrahieren, um die Feed-Quelle vorzuschauen.",
|
|||
|
|
"feeds.schema.search": "Felder suchen…",
|
|||
|
|
"feeds.schema.fieldName": "Feldname",
|
|||
|
|
"feeds.schema.sourcePath": "Quellpfad",
|
|||
|
|
"feeds.schema.confirm": "Bestätigen",
|
|||
|
|
"feeds.schema.apply": "Anwenden",
|
|||
|
|
"feeds.preflight.missingItemPath": "Wählen Sie vor dem Synchronisieren einen Produkt-Elementpfad.",
|
|||
|
|
"feeds.preflight.emptyMappings": "Ordnen Sie vor dem Synchronisieren mindestens ein Quellfeld zu.",
|
|||
|
|
"feeds.preflight.missingRequired": "Ordnen Sie Pflichtfelder vor dem Synchronisieren zu: {fields}.",
|
|||
|
|
"feeds.preflight.unknownSource": "Einige zugeordnete Quellen fehlen im extrahierten Schema: {fields}{more}. Extrahieren Sie erneut oder korrigieren Sie Pfade, bevor Sie Stichprobenwerte nutzen.",
|
|||
|
|
"feeds.preflight.emptySample": "Pflichtfelder haben leere Stichprobenwerte: {fields}. Prüfen Sie Quellspalten vor einer vollständigen Sync.",
|
|||
|
|
"feeds.preflight.fix": "Korrigieren Sie Feldzuordnungen vor dem Synchronisieren.",
|
|||
|
|
"mapping.title": "Feed-Mapping",
|
|||
|
|
"mapping.titleNamed": "Zuordnen: {name}",
|
|||
|
|
"mapping.description": "Wählen Sie das wiederkehrende Produktelement, extrahieren Sie Quellfelder und ordnen Sie sie den Descrybe-Produktfeldern zu.",
|
|||
|
|
"mapping.autoMap": "Auto-zuordnen",
|
|||
|
|
"mapping.fuzzy": "{count} unscharf",
|
|||
|
|
"mapping.extractSchema": "Schema extrahieren",
|
|||
|
|
"mapping.backToFeeds": "Zurück zu Feeds",
|
|||
|
|
"mapping.ftpStillEdit": "{message} Sie können Zuordnungen hier weiterhin bearbeiten. Zum Aktualisieren der Produkte auf HTTPS wechseln oder eine Datei hochladen.",
|
|||
|
|
"mapping.ftpUploadCta": "Zu Uploads",
|
|||
|
|
"mapping.ftpHttpsCta": "HTTPS-Feed hinzufügen",
|
|||
|
|
"mapping.ftpCsvCta": "CSV-Feed hochladen",
|
|||
|
|
"mapping.loading": "Feed-Details werden geladen…",
|
|||
|
|
"mapping.step1": "Produktelement auswählen",
|
|||
|
|
"mapping.step2": "Felder zuordnen",
|
|||
|
|
"mapping.step1Heading": "Schritt 1: Produktelement auswählen",
|
|||
|
|
"mapping.csvHint": "CSV-Feeds nutzen Spaltenköpfe als Quellfelder. Extrahieren Sie das Schema, um Spalten zu laden, und fahren Sie mit dem Mapping fort.",
|
|||
|
|
"mapping.howToSelect": "So wählen Sie das Produktelement:",
|
|||
|
|
"mapping.howToHint": "Optionale Anleitung",
|
|||
|
|
"mapping.howTo.1": "Schema extrahieren oder auf ein wiederholtes Tag in der Vorschau klicken",
|
|||
|
|
"mapping.howTo.2": "Jedes Element sollte die Details eines einzelnen Produkts enthalten",
|
|||
|
|
"mapping.howTo.3": "Pfad bestätigen (zum Beispiel",
|
|||
|
|
"mapping.howTo.4": "Weiter Quellfelder den Produktfeldern zuordnen",
|
|||
|
|
"mapping.productElementPath": "Pfad des Produktelements",
|
|||
|
|
"mapping.pathPlaceholder": "z. B. rss/channel/item oder products/product",
|
|||
|
|
"mapping.continue": "Weiter →",
|
|||
|
|
"mapping.continueFields": "Weiter zur Feldzuordnung →",
|
|||
|
|
"mapping.discovered": "{fields} Quellfelder aus {rows} Beispielzeile(n) gefunden.",
|
|||
|
|
"mapping.suggestionsCount": "· {count} Auto-Mapping-Vorschlag/-schläge",
|
|||
|
|
"mapping.step2Heading": "Schritt 2: Felder zuordnen",
|
|||
|
|
"mapping.requiredFieldsBadge": "{count} Pflichtfelder",
|
|||
|
|
"mapping.unmappedRequired": "{count} Pflichtfelder ohne Zuordnung",
|
|||
|
|
"mapping.sourceFieldsBadge": "{count} Quellfelder",
|
|||
|
|
"mapping.suggestedBadge": "{count} vorgeschlagen",
|
|||
|
|
"mapping.step2Help": "Ordnen Sie Spalten oder XPath-Knoten Ihren Produktfeldern zu. Pflichtfelder sind mit * markiert. Hover über das Hilfe-Icon für einen kurzen Tipp.",
|
|||
|
|
"mapping.requiredFields": "Pflichtfelder",
|
|||
|
|
"mapping.requiredMapped": "· {mapped}/{total} zugeordnet",
|
|||
|
|
"mapping.requiredProgressDone": "Alle Pflichtfelder zugeordnet — bereit für den nächsten Schritt.",
|
|||
|
|
"mapping.requiredProgressHint": "Mit * markierte Felder müssen zugeordnet sein, bevor dieser Feed Produkte synchronisieren kann.",
|
|||
|
|
"mapping.requiredProgressAria": "Fortschritt Pflichtfelder: {mapped} von {total} zugeordnet",
|
|||
|
|
"mapping.nextAfterSaveReady": "Mappings saved. Next, sync a small sample to check products look right.",
|
|||
|
|
"mapping.nextAfterSaveIncomplete": "Mappings saved. Finish the remaining required fields, then sync a sample.",
|
|||
|
|
"mapping.nextCtaSyncSample": "Sync + process sample",
|
|||
|
|
"mapping.nextCtaFinishRequired": "Show missing required fields",
|
|||
|
|
"mapping.highConfidence": "{count} hochvertrauenswürdige Zuordnung bereit",
|
|||
|
|
"mapping.highConfidencePlural": "{count} hochvertrauenswürdige Zuordnungen bereit",
|
|||
|
|
"mapping.highConfidenceHelp": "Exakte und Alias-Treffer (z. B. EAN → GTIN). Alle anwenden oder Chips pro Zeile akzeptieren.",
|
|||
|
|
"mapping.reviewMappings": "Zuordnungen prüfen",
|
|||
|
|
"mapping.needItemPath": "Geben Sie vor dem Mapping einen Produkt-Elementpfad ein.",
|
|||
|
|
"mapping.removeMapping": "Zuordnung entfernen",
|
|||
|
|
"mapping.sourcePlaceholder": "Spaltenname oder XPath",
|
|||
|
|
"mapping.processAfterSync": "Produkte nach Sync verarbeiten",
|
|||
|
|
"mapping.noFuzzyLeft": "Keine unscharfen Treffer mehr zu bestätigen.",
|
|||
|
|
"mapping.syncedQueued": "Feed synchronisiert und {queued} Produkt(e) zur Verarbeitung eingereiht{jobId}.",
|
|||
|
|
"mapping.saveMappings": "Zuordnungen speichern",
|
|||
|
|
"mapping.syncProcessSample": "Sync + Stichprobe verarbeiten",
|
|||
|
|
"mapping.badgeCsv": "CSV",
|
|||
|
|
"mapping.requiredAria": "Hilfe zu Pflichtfeldern",
|
|||
|
|
"mapping.applySuggestions": "Vorschläge anwenden ({count})",
|
|||
|
|
"mapping.confirmFuzzy": "Unscharfe bestätigen ({count})",
|
|||
|
|
"mapping.fuzzyNeedConfirm": "{count} unscharfer Treffer zu bestätigen",
|
|||
|
|
"mapping.fuzzyNeedConfirmPlural": "{count} unscharfe Treffer zu bestätigen",
|
|||
|
|
"mapping.fuzzyHelp": "Treffer mit geringer Sicherheit werden nicht automatisch angewendet. Hier bestätigen oder pro Zeile akzeptieren.",
|
|||
|
|
"mapping.missingRequiredTitle": "Pflichtfelder brauchen noch eine Quellzuordnung:",
|
|||
|
|
"mapping.applyTip": "Tipp: Vorschläge oben anwenden — viele Pflichtfelder passen zu gängigen Quellnamen.",
|
|||
|
|
"mapping.formatLabel": "Format:",
|
|||
|
|
"mapping.itemPathLabel": "Item-Pfad:",
|
|||
|
|
"mapping.reExtract": "Erneut extrahieren",
|
|||
|
|
"mapping.manualRows": "Manuelle Zeilen",
|
|||
|
|
"mapping.schemaTable": "Schema-Tabelle",
|
|||
|
|
"mapping.addField": "Feld hinzufügen",
|
|||
|
|
"mapping.noSchemaYet": "Noch kein Schema extrahiert.",
|
|||
|
|
"mapping.orManualRows": "oder nutzen Sie die manuellen Zeilen unten.",
|
|||
|
|
"mapping.sourceField": "Quellfeld",
|
|||
|
|
"mapping.selectSource": "Quelle wählen…",
|
|||
|
|
"mapping.mapsTo": "Zuordnen zu",
|
|||
|
|
"mapping.none": "Keine",
|
|||
|
|
"mapping.backToItem": "← Zurück zur Elementauswahl",
|
|||
|
|
"mapping.unsaved": "Ungespeicherte Änderungen",
|
|||
|
|
"mapping.requiredFieldsColon": "Pflichtfelder:",
|
|||
|
|
"mapping.sampleOptions": "Beispieloptionen",
|
|||
|
|
"mapping.sampleSize": "Stichprobengröße",
|
|||
|
|
"mapping.noExactAlias": "Keine exakten/Alias-Vorschläge. Prüfen Sie die unscharfen Treffer unten.",
|
|||
|
|
"mapping.noSuggestionsExtract": "Keine Vorschläge — zuerst Schema extrahieren.",
|
|||
|
|
"mapping.schemaExtracted": "Schema extrahiert: {fields} Felder aus {rows} Beispielzeile(n).",
|
|||
|
|
"mapping.saved": "Feldzuordnungen gespeichert{version}.",
|
|||
|
|
"mapping.savedVersion": " (v{version})",
|
|||
|
|
"mapping.syncNoProducts": "Sync fertig; keine Produkte zu verarbeiten.",
|
|||
|
|
"mapping.jobSuffix": " (Job {jobId})",
|
|||
|
|
"mapping.appliedReplace": "{count} {kind} Zuordnung(en) angewendet.",
|
|||
|
|
"mapping.appliedNew": "{count} neue {kind} Zuordnung(en) angewendet ({total} gesamt).",
|
|||
|
|
"mapping.kindHighConfidence": "hochvertrauenswürdige",
|
|||
|
|
"mapping.kindFuzzy": "unscharfe",
|
|||
|
|
"mapping.fuzzyConfirmFlash": "{count} unscharfer Treffer zu bestätigen — Unscharfe bestätigen unten oder Chips pro Zeile nutzen.",
|
|||
|
|
"mapping.fuzzyConfirmFlashPlural": "{count} unscharfe Treffer zu bestätigen — Unscharfe bestätigen unten oder Chips pro Zeile nutzen.",
|
|||
|
|
"mapping.formatHelp.title": "So strukturieren Sie Ihren Feed",
|
|||
|
|
"mapping.formatHelp.required": "Erforderlich:",
|
|||
|
|
"mapping.formatHelp.requiredBody": "{gtin} (EAN/UPC), {title} (oder {name}), {brand}",
|
|||
|
|
"mapping.formatHelp.https": "Nutzen Sie öffentliche HTTPS-URLs für Remote-Feeds (kein FTP oder localhost). CSV-Upload eignet sich für lokale Dateien.",
|
|||
|
|
"mapping.formatHelp.specs": "Specs als Label: Wert-Paare (z. B. {ram}). Abmessungen: {height}, {width}, {depth}, {mass}",
|
|||
|
|
"mapping.formatHelp.also": "Auch unterstützt: Preise, Bestand, Bilder, Kategorie, Garantie, EPREL-ID, HTML-Beschreibungen, Extra-Bilder, Video-URL und mehr — vollständige Stichprobe herunterladen.",
|
|||
|
|
"mapping.formatHelp.downloadXml": "Beispiel-XML herunterladen",
|
|||
|
|
"mapping.formatHelp.downloadCsv": "Beispiel-CSV herunterladen",
|
|||
|
|
"mapping.formatHelp.xmlExample": "XML-Beispiel",
|
|||
|
|
"mapping.formatHelp.csvExample": "CSV-Beispiel (Kopf + Zeilen)",
|
|||
|
|
"mapping.sourcePreview.title": "Vorschau der Feed-Quelle",
|
|||
|
|
"mapping.sourcePreview.truncated": "Gekürzt",
|
|||
|
|
"mapping.sourcePreview.refresh": "Vorschau aktualisieren",
|
|||
|
|
"mapping.sourcePreview.copy": "Vorschau kopieren",
|
|||
|
|
"mapping.sourcePreview.loading": "Feed-Stichprobe wird geladen…",
|
|||
|
|
"mapping.sourcePreview.errorHint": "Sie können den Produktelement-Pfad weiterhin manuell eingeben. Schema extrahieren, wenn die Feed-URL erreichbar ist.",
|
|||
|
|
"mapping.sourcePreview.retry": "Erneut versuchen",
|
|||
|
|
"mapping.sourcePreview.empty": "Noch keine Vorschau",
|
|||
|
|
"mapping.sourcePreview.emptyHintXml": "Klicken Sie auf „Schema extrahieren“, um eine Stichprobe zu laden und Felder zu finden, oder geben Sie einen Item-Pfad manuell ein.",
|
|||
|
|
"mapping.sourcePreview.emptyHintCsv": "Klicken Sie auf „Schema extrahieren“, um eine Stichprobe zu laden und Felder zu finden.",
|
|||
|
|
"mapping.sourcePreview.selectPath": "Pfad wählen: {path}",
|
|||
|
|
"mapping.sourcePreview.clickTag": "Klicken Sie auf eine Tag-Zeile, um den Produktelement-Pfad festzulegen.",
|
|||
|
|
"mapping.table.search": "Felder suchen…",
|
|||
|
|
"mapping.table.all": "Alle Felder",
|
|||
|
|
"mapping.table.mapped": "Zugeordnet",
|
|||
|
|
"mapping.table.unmapped": "Nicht zugeordnet",
|
|||
|
|
"mapping.table.fieldName": "Feldname",
|
|||
|
|
"mapping.table.sourcePath": "Quellpfad",
|
|||
|
|
"mapping.table.sampleValues": "Beispielwerte",
|
|||
|
|
"mapping.table.type": "Typ",
|
|||
|
|
"mapping.table.mapTo": "Zuordnen zu",
|
|||
|
|
"mapping.table.emptySchema": "Extrahieren Sie das Feed-Schema für Quellfelder, oder fügen Sie Zuordnungen manuell hinzu.",
|
|||
|
|
"mapping.table.noMatch": "Keine Felder entsprechen Ihren Kriterien.",
|
|||
|
|
"mapping.table.unique": "{count} eindeutig",
|
|||
|
|
"mapping.table.nested": "verschachtelt",
|
|||
|
|
"mapping.table.apply": "Anwenden",
|
|||
|
|
"mapping.table.confirm": "Bestätigen",
|
|||
|
|
"mapping.table.suggestedMatch": "Vorgeschlagener {confidence}-Treffer",
|
|||
|
|
"mapping.table.confirmFuzzyMatch": "Unscharfen Treffer bestätigen ({percent}%)",
|
|||
|
|
"mapping.preview.title": "Mapping-Vorschau",
|
|||
|
|
"mapping.preview.subtitle": "Beispiel-Produktform aus Ihren aktuellen Feldzuordnungen",
|
|||
|
|
"mapping.preview.usingSamples": "· mit extrahierten Stichproben",
|
|||
|
|
"mapping.preview.formatCsv": "format: csv",
|
|||
|
|
"mapping.preview.item": "Element: {path}",
|
|||
|
|
"mapping.preview.sourceFields": "· {count} Quellfelder",
|
|||
|
|
"mapping.preview.empty": "Noch keine Felder zugeordnet",
|
|||
|
|
"mapping.preview.emptyHint": "Ordnen Sie Spalten oder XPath-Knoten Produktfeldern zu. Hier erscheint eine Produktvorschau.",
|
|||
|
|
"mapping.preview.rawSample": "Rohes Stichprobenfragment",
|
|||
|
|
"imports.title": "Uploads",
|
|||
|
|
"imports.description": "CSV-Importe für diesen Workspace gespeichert — Produkte, Kategorien und Attribute.",
|
|||
|
|
"imports.importProducts": "Produkte importieren",
|
|||
|
|
"imports.emptyTitle": "Noch keine Uploads",
|
|||
|
|
"imports.emptyMessage": "Produkt-, Kategorie- und Attribut-CSV-Importe erscheinen hier nach dem Upload.",
|
|||
|
|
"imports.goProducts": "Zu Produkten",
|
|||
|
|
"imports.categories": "Kategorien",
|
|||
|
|
"imports.recent": "Aktuelle Uploads",
|
|||
|
|
"imports.fileCount": "{count} Datei",
|
|||
|
|
"imports.fileCountPlural": "{count} Dateien",
|
|||
|
|
"imports.col.fileName": "Dateiname",
|
|||
|
|
"imports.col.kind": "Art",
|
|||
|
|
"imports.col.uploaded": "Hochgeladen",
|
|||
|
|
"imports.col.size": "Größe",
|
|||
|
|
"imports.actions": "Upload-Aktionen",
|
|||
|
|
"imports.loadFailed": "Uploads konnten nicht geladen werden",
|
|||
|
|
"imports.metadataOnlyNotice": "{count} upload records are metadata-only — file bytes were not migrated. Re-upload or resync storage if you need the originals.",
|
|||
|
|
"imports.metadataOnlyBadge": "Metadata only (blob not migrated)",
|
|||
|
|
"imports.deleteConfirm": "„{name}“ löschen? Damit wird der Upload-Datensatz entfernt (und der lokale Blob, falls vorhanden).",
|
|||
|
|
"imports.deleted": "Upload gelöscht.",
|
|||
|
|
"imports.deleteFailed": "Upload konnte nicht gelöscht werden",
|
|||
|
|
"imports.status.uploaded": "Hochgeladen",
|
|||
|
|
"reviews.redirectLoading": "WooCommerce-Bewertungen werden geöffnet…",
|
|||
|
|
"reviews.tab": "Bewertungen",
|
|||
|
|
"reviews.syncTitle": "Bewertungsimport (Shop → Descrybe)",
|
|||
|
|
"reviews.syncDesc": "Eingehender Import — WooCommerce-Produktbewertungen für Kampagnen und Reputation nach Descrybe holen",
|
|||
|
|
"reviews.syncQueued": "Bewertungs-Sync in Warteschlange",
|
|||
|
|
"reviews.statusBadge": "Bewertungen: {status}",
|
|||
|
|
"reviews.syncedCount": "{count} synchronisiert",
|
|||
|
|
"reviews.lastSync": "Letzte Sync: {date}",
|
|||
|
|
"reviews.noSyncYet": "Noch keine Bewertungs-Sync abgeschlossen.",
|
|||
|
|
"reviews.needsReconnect": "Bewertungsimport kann erst laufen, wenn Zugangsdaten nach der Migration erneut verbunden sind. Im Reiter Verbindung: Speichern, dann Verbindung testen.",
|
|||
|
|
"reviews.queueImport": "Bewertungsimport einreihen (Shop → Descrybe)",
|
|||
|
|
"reviews.queueing": "Wird eingereiht...",
|
|||
|
|
"reviews.saveTestFirst": "Speichern Sie Anmeldedaten und testen Sie die Verbindung vor dem Sync",
|
|||
|
|
"reviews.refreshList": "Liste aktualisieren",
|
|||
|
|
"reviews.loading": "Bewertungen werden geladen…",
|
|||
|
|
"reviews.emptyTitle": "Noch keine Bewertungen",
|
|||
|
|
"reviews.emptyMessage": "Nach Shop-Verbindung Bewertungs-Sync einreihen. Dieses Tab bleibt mit leerer Liste nutzbar.",
|
|||
|
|
"reviews.col.product": "Produkt",
|
|||
|
|
"reviews.col.reviewer": "Rezensent",
|
|||
|
|
"reviews.col.rating": "Bewertung",
|
|||
|
|
"reviews.col.review": "Prüfen",
|
|||
|
|
"reviews.queuedSuccess": "Bewertungs-Sync in Warteschlange. Sync läuft bald.",
|
|||
|
|
"reviews.queueFailed": "Bewertungs-Sync konnte nicht in die Warteschlange gestellt werden",
|
|||
|
|
"campaigns.title": "Kampagnen",
|
|||
|
|
"campaigns.description": "Erstellen Sie saisonale E-Mail-Kampagnen aus Ihrem Katalog — Saison wählen, Produkte auswählen, Zielgruppe festlegen und generieren.",
|
|||
|
|
"campaigns.new": "Neue Kampagne",
|
|||
|
|
"campaigns.loading": "Laden Kampagnen…",
|
|||
|
|
"campaigns.loadFailed": "Laden fehlgeschlagen Kampagnen",
|
|||
|
|
"campaigns.deleteConfirm": "Kampagne „{name}“ löschen? Das kann nicht rückgängig gemacht werden.",
|
|||
|
|
"campaigns.deleted": "Kampagne gelöscht",
|
|||
|
|
"campaigns.deleteFailed": "Kampagne konnte nicht gelöscht werden",
|
|||
|
|
"campaigns.partialUnavailable": "Kampagnen sind derzeit nicht vollständig erreichbar. Generieren und Senden können fehlschlagen, bis der Dienst wieder da ist.",
|
|||
|
|
"campaigns.searchPlaceholder": "Suchen Kampagnen…",
|
|||
|
|
"campaigns.unavailableTitle": "Kampagnen nicht verfügbar",
|
|||
|
|
"campaigns.unavailableMessage": "Der Kampagnendienst ist nicht erreichbar. Sie können den Assistenten öffnen, aber Generieren und Senden warten auf den Dienst.",
|
|||
|
|
"campaigns.openWizard": "Erstellungsassistent öffnen",
|
|||
|
|
"campaigns.backDashboard": "Zurück zum Dashboard",
|
|||
|
|
"campaigns.browseProducts": "Produkte durchsuchen",
|
|||
|
|
"campaigns.emptyTitle": "Noch keine Kampagnen",
|
|||
|
|
"campaigns.noMatches": "Keine Treffer",
|
|||
|
|
"campaigns.emptyMessage": "Erstellen Sie in wenigen Schritten eine Black-Friday-, Weihnachts- oder individuelle Kampagne — saisonale Vorlagen stehen bereit.",
|
|||
|
|
"campaigns.noMatchesMessage": "Anderen Namen, Saison oder Status versuchen.",
|
|||
|
|
"campaigns.create": "Erstellen Kampagne",
|
|||
|
|
"campaigns.col.season": "Saison",
|
|||
|
|
"campaigns.col.updated": "Aktualisiert",
|
|||
|
|
"campaigns.scheduled": "Geplant {date}",
|
|||
|
|
"campaigns.newTitle": "Neue Kampagne",
|
|||
|
|
"campaigns.newDesc": "Saison wählen, Produkte und Zielgruppe auswählen, Prompt schreiben, dann generieren, testen und planen.",
|
|||
|
|
"campaigns.editTitle": "Bearbeiten Kampagne",
|
|||
|
|
"campaigns.editDesc": "Saison, Produkte und Zielgruppe aktualisieren — dann neu generieren, Test senden oder planen.",
|
|||
|
|
"campaignWizard.loading": "Kampagnenassistent wird geladen…",
|
|||
|
|
"campaignWizard.apiMissing": "Die Kampagnen-API ist vorübergehend nicht verfügbar. Sie können den Assistenten erkunden; Speichern / Generieren / Senden brauchen erreichbares /api/campaigns.",
|
|||
|
|
"campaignWizard.upgradeTitle": "KI-Kampagnen sind eine kostenpflichtige Funktion",
|
|||
|
|
"campaignWizard.upgradeMessage": "Free-Pläne können Saisons und Zielgruppen vorbereiten, aber KI generieren braucht Starter oder höher. Upgraden Sie für KI-E-Mail-Entwürfe.",
|
|||
|
|
"campaignWizard.comparePlans": "Pläne vergleichen",
|
|||
|
|
"campaignWizard.step.season": "Saison",
|
|||
|
|
"campaignWizard.step.catalog": "Produkte",
|
|||
|
|
"campaignWizard.step.audience": "Zielgruppe",
|
|||
|
|
"campaignWizard.step.prompt": "Prompt",
|
|||
|
|
"campaignWizard.step.preview": "Vorschau",
|
|||
|
|
"campaignWizard.step.send": "Senden",
|
|||
|
|
"campaignWizard.pickSeason": "Saison wählen",
|
|||
|
|
"campaignWizard.pickSeasonHelp": "Mit Vorlage starten — Sie können später alles bearbeiten.",
|
|||
|
|
"campaignWizard.name": "Kampagnenname",
|
|||
|
|
"campaignWizard.namePlaceholder": "Black Friday 2026",
|
|||
|
|
"campaignWizard.catalogTitle": "Kategorien & Produkte",
|
|||
|
|
"campaignWizard.catalogHelp": "Wählen Sie, was diese E-Mail zeigen soll. Kategorien allein reichen für einen schnellen Start.",
|
|||
|
|
"campaignWizard.categories": "Kategorien",
|
|||
|
|
"campaignWizard.noCategories": "Noch keine Kategorien — fügen Sie welche unter Katalog hinzu.",
|
|||
|
|
"campaignWizard.categoriesSelected": "{count} Kategorie ausgewählt",
|
|||
|
|
"campaignWizard.categoriesSelectedPlural": "{count} Kategorien ausgewählt",
|
|||
|
|
"campaignWizard.productsOptional": "Produkte (optional)",
|
|||
|
|
"campaignWizard.selectedCount": "{count} ausgewählt",
|
|||
|
|
"campaignWizard.searchProducts": "Produkte suchen…",
|
|||
|
|
"campaignWizard.noProducts": "Keine Produkte gefunden.",
|
|||
|
|
"campaignWizard.audienceTitle": "Wer soll das erhalten?",
|
|||
|
|
"campaignWizard.audienceHelp": "Standardmäßig alle. Eingrenzen mit Kategorien oder früheren Käufern, wenn Bestellungen sync sind.",
|
|||
|
|
"campaignWizard.audience.all": "Alle Kontakte",
|
|||
|
|
"campaignWizard.audience.allHint": "An die gesamte Liste senden (wenn E-Mail-Anbieter konfiguriert ist).",
|
|||
|
|
"campaignWizard.audience.byCategory": "Nach Kategorieinteresse",
|
|||
|
|
"campaignWizard.audience.byCategoryHint": "Personen mit Bezug zu ausgewählten Kategorien.",
|
|||
|
|
"campaignWizard.audience.purchased": "In Kategorie gekauft",
|
|||
|
|
"campaignWizard.audience.purchasedHint": "Kunden, die Produkte der Zielgruppen-Kategorien kauften (aus sync Bestellungen).",
|
|||
|
|
"campaignWizard.audience.notPurchased": "Noch nicht gekauft",
|
|||
|
|
"campaignWizard.audience.notPurchasedHint": "Kontakte, die diese Kategorien nicht kauften — ideal für Win-back.",
|
|||
|
|
"campaignWizard.ordersHint": "Gekauft-/Nicht-gekauft-Targeting erscheint nach Sync von WooCommerce-Bestellungen.",
|
|||
|
|
"campaignWizard.audienceCategories": "Zielgruppen-Kategorien",
|
|||
|
|
"campaignWizard.promptTitle": "E-Mail-Prompt",
|
|||
|
|
"campaignWizard.promptHelp": "Wir haben eine solide Vorgabe für {season} ausgefüllt. Beliebig bearbeiten oder behalten.",
|
|||
|
|
"campaignWizard.promptSeasonFallback": "diese Saison",
|
|||
|
|
"campaignWizard.useDefaultPrompt": "Standardmäßigen Saison-Prompt verwenden",
|
|||
|
|
"campaignWizard.promptLabel": "Prompt",
|
|||
|
|
"campaignWizard.advanced": "Erweiterte Optionen",
|
|||
|
|
"campaignWizard.advancedHelp": "Die KI-Generierung nutzt Ihr Brand-Kit (falls gesetzt) und ausgewählte Produkte. Nur-Vorlagen-Vorschau überspringt KI und dient als Layout-Stub.",
|
|||
|
|
"campaignWizard.planFree": "Kostenlos",
|
|||
|
|
"campaignWizard.planPaid": "Kostenpflichtig",
|
|||
|
|
"campaignWizard.planLine": "Tarif:",
|
|||
|
|
"campaignWizard.aiLocked": "— KI generieren ist gesperrt.",
|
|||
|
|
"campaignWizard.generateAi": "KI generieren",
|
|||
|
|
"campaignWizard.templatePreview": "Vorlagenvorschau",
|
|||
|
|
"campaignWizard.saveDraft": "Entwurf speichern",
|
|||
|
|
"campaignWizard.previewTitle": "Vorschau",
|
|||
|
|
"campaignWizard.status": "Statusangabe:",
|
|||
|
|
"campaignWizard.generateToSee": "Generieren Sie einen Entwurf, um den E-Mail-Text zu sehen.",
|
|||
|
|
"campaignWizard.noPreview": "Noch keine Vorschau. Zurück zu Prompt und KI generieren oder Vorlagenvorschau ausführen.",
|
|||
|
|
"campaignWizard.backToPrompt": "Zurück zum Prompt",
|
|||
|
|
"campaignWizard.subject": "Betreff",
|
|||
|
|
"campaignWizard.emailPreview": "E-Mail-Vorschau",
|
|||
|
|
"campaignWizard.regenerateAi": "Mit KI neu generieren",
|
|||
|
|
"campaignWizard.regenerate": "Neu generieren",
|
|||
|
|
"campaignWizard.continueSend": "Weiter zum Senden",
|
|||
|
|
"campaignWizard.testSend": "Testsenden",
|
|||
|
|
"campaignWizard.testSendHelp": "Senden Sie sich eine Kopie vor dem Planen.",
|
|||
|
|
"campaignWizard.testEmail": "Test-E-Mail",
|
|||
|
|
"campaignWizard.testEmailPlaceholder": "sie@firma.de",
|
|||
|
|
"campaignWizard.sendTest": "Test senden",
|
|||
|
|
"campaignWizard.scheduleTitle": "Planen",
|
|||
|
|
"campaignWizard.scheduleHelp": "Wählen Sie, wann diese Kampagne rausgehen soll.",
|
|||
|
|
"campaignWizard.sendAt": "Senden um",
|
|||
|
|
"campaignWizard.schedule": "Kampagne planen",
|
|||
|
|
"campaignWizard.generateToContinue": "Generieren zum Fortfahren",
|
|||
|
|
"campaignWizard.done": "Fertig",
|
|||
|
|
"campaignWizard.loadFailed": "Assistent konnte nicht geladen werden",
|
|||
|
|
"campaignWizard.pickCatalog": "Wählen Sie mindestens eine Kategorie oder ein Produkt",
|
|||
|
|
"campaignWizard.pickAudienceCats": "Wählen Sie Zielgruppen-Kategorien für diesen Filter",
|
|||
|
|
"campaignWizard.completeStep": "Schließen Sie diesen Schritt ab, um fortzufahren",
|
|||
|
|
"campaignWizard.aiDraftReady": "KI-Entwurf erzeugt",
|
|||
|
|
"campaignWizard.templateReady": "Vorlagenvorschau bereit",
|
|||
|
|
"campaignWizard.unavailableSave": "Kampagnen sind derzeit nicht verfügbar. Entwürfe können nicht gespeichert werden, bis die Funktion live ist.",
|
|||
|
|
"campaignWizard.generateFailed": "Generierung fehlgeschlagen",
|
|||
|
|
"campaignWizard.generateFirst": "Zuerst eine Vorschau erzeugen",
|
|||
|
|
"campaignWizard.enterTestEmail": "Geben Sie eine Test-E-Mail-Adresse ein",
|
|||
|
|
"campaignWizard.testFailed": "Testversand fehlgeschlagen",
|
|||
|
|
"campaignWizard.pickSchedule": "Wählen Sie Datum und Uhrzeit",
|
|||
|
|
"campaignWizard.scheduled": "Kampagne geplant",
|
|||
|
|
"campaignWizard.scheduleFailed": "Planung fehlgeschlagen",
|
|||
|
|
"campaignWizard.draftSaved": "Entwurf gespeichert",
|
|||
|
|
"campaignWizard.unavailableShort": "Kampagnen sind derzeit nicht verfügbar.",
|
|||
|
|
"campaignWizard.saveFailed": "Speichern fehlgeschlagen",
|
|||
|
|
"marketing.calendarTitle": "Content-Kalender",
|
|||
|
|
"marketing.calendarDesc": "Verknüpfen Sie Saisonkampagnen mit Daten und bereiten Sie einen Export-Feed mit Shopping-Defaults vor.",
|
|||
|
|
"marketing.loadFailed": "Kalender konnte nicht geladen werden",
|
|||
|
|
"marketing.prepared": "Kampagne vorbereitet",
|
|||
|
|
"marketing.alreadyReady": "Kampagne ist bereits bereit",
|
|||
|
|
"marketing.exportFeedsHint": "{name} → Export-Feeds",
|
|||
|
|
"marketing.prepareFailed": "Kampagne konnte nicht vorbereitet werden",
|
|||
|
|
"marketing.requestFailed": "Anfrage fehlgeschlagen",
|
|||
|
|
"marketing.emptyTitle": "Keine saisonalen Presets",
|
|||
|
|
"marketing.emptyMessage": "Kalender-Presets erscheinen hier, sobald die Marketing-API verfügbar ist.",
|
|||
|
|
"marketing.openCampaigns": "E-Mail-Kampagnen öffnen",
|
|||
|
|
"marketing.window": "Fenster:",
|
|||
|
|
"marketing.linkedExport": "Verknüpfter Export:",
|
|||
|
|
"marketing.openPrepared": "Vorbereiteten Feed öffnen",
|
|||
|
|
"marketing.preparing": "Wird vorbereitet…",
|
|||
|
|
"marketing.prepareNamed": "{name}-Kampagne vorbereiten",
|
|||
|
|
"marketing.footer": "E-Mail-Kampagnen bleiben unter {link} — diese Seite bereitet nur Katalog-Export-Feeds vor.",
|
|||
|
|
"common.done": "Fertig",
|
|||
|
|
"common.copied": "In die Zwischenablage kopiert.",
|
|||
|
|
"common.copyFailed": "Kopieren fehlgeschlagen. Markieren Sie den Text und kopieren Sie manuell.",
|
|||
|
|
"common.submitting": "Wird gesendet…",
|
|||
|
|
"common.sending": "Senden…",
|
|||
|
|
"settings.companyAdminOnlyView": "Nur Unternehmens-Admins können Firmeneinstellungen ändern. Sie können die aktuellen Workspace-Details einsehen.",
|
|||
|
|
"settings.activeCompanyHelp": "Workspace für Katalog, Feeds, Abrechnung und API-Schlüssel. Wechseln Sie jederzeit hier oder in der Kopfzeile.",
|
|||
|
|
"settings.noCompanySelected": "Kein Unternehmen ausgewählt",
|
|||
|
|
"settings.creditsOverviewHelp": "KI-Credit-Saldo des aktiven Unternehmens. Detaillierte Nutzung steht unter Abrechnung.",
|
|||
|
|
"settings.billingLabel": "Abrechnung",
|
|||
|
|
"settings.remainingLabel": "Verbleibend",
|
|||
|
|
"settings.creditsUnavailable": "Credit-Saldo ist für diesen Workspace noch nicht verfügbar.",
|
|||
|
|
"settings.openBilling": "Nutzung & Abrechnung öffnen",
|
|||
|
|
"settings.companyNameHelp": "Dieser Name erscheint in Einladungen und Organisationseinstellungen",
|
|||
|
|
"settings.contentSettingsHelp": "Sprache und Produktmatching für generierte Inhalte konfigurieren",
|
|||
|
|
"settings.mergeProductsHelp": "Wenn aktiv, kombinieren CSV-Importe Zeilen mit demselben GTIN zu einem Produkt. Deaktivieren, um jede Zeile getrennt zu halten.",
|
|||
|
|
"settings.emailIntegrationHelp": "Richten Sie Resend oder SMTP für Einladungen, Kampagnen und Transaktionsmail ein.",
|
|||
|
|
"settings.configureEmail": "E-Mail konfigurieren",
|
|||
|
|
"settings.aiIntegrationsHelp": "Plattform-Credits oder eigener Schlüssel, plus bearbeitbare Prompts für Titel, Beschreibungen, SEO und Kampagnen. Schlüssel ruhend verschlüsselt.",
|
|||
|
|
"settings.openAiIntegrations": "KI-Integrationen öffnen",
|
|||
|
|
"settings.companyNameRequired": "Geben Sie einen Unternehmensnamen ein.",
|
|||
|
|
"settings.companySaved": "Unternehmenseinstellungen gespeichert.",
|
|||
|
|
"settings.companyUpdateFailed": "Unternehmen konnte nicht aktualisiert werden",
|
|||
|
|
"settings.mergeOn": "Produkte mit demselben GTIN werden feedübergreifend zusammengeführt.",
|
|||
|
|
"settings.mergeOff": "Produkte mit demselben GTIN bleiben getrennt.",
|
|||
|
|
"settings.mergeUpdateFailed": "Zusammenführungseinstellung konnte nicht aktualisiert werden",
|
|||
|
|
"settings.inAppToastsHelp": "Nur in diesem Browser. Fehler sind standardmäßig an; Abschlüsse sind stumm, um Lärm zu reduzieren. Formularfeedback und Rückgängig werden nie stummgeschaltet.",
|
|||
|
|
"settings.emailAlertsHelp": "E-Mail-Alert-Einstellungen kommen bald. Fehlerbenachrichtigungen standardmäßig an (wie in-app); Abschluss-Mails bleiben aus, außer Sie aktivieren sie.",
|
|||
|
|
"settings.emailAlertsBody": "Konfigurieren Sie Transaktionsmail vorerst unter Unternehmen → E-Mail-Integration. In-App-Alerts oben gelten weiter.",
|
|||
|
|
"settings.apiKeysLegacyNotice": "Legacy-API-Schlüssel wurden nicht migriert. Neuen Schlüssel erstellen — das Geheimnis wird nur einmal angezeigt.",
|
|||
|
|
"settings.apiKeysAdminOnly": "Nur Unternehmens-Admins können API-Schlüssel erstellen oder widerrufen. Vorhandene Präfixe können Sie anzeigen.",
|
|||
|
|
"settings.apiKeysCopyUnavailableNotice": "Kopieren für vorhandene Schlüssel nicht verfügbar — nur Präfix gespeichert. Neuen Schlüssel erstellen, Geheimnis einmal kopieren, alten bei Bedarf widerrufen.",
|
|||
|
|
"settings.apiKeysForbidden": "Sie dürfen API-Schlüssel nicht anzeigen. Bitten Sie einen Unternehmens-Admin um Hilfe.",
|
|||
|
|
"settings.noApiKeys": "Noch keine API-Schlüssel",
|
|||
|
|
"settings.noApiKeysHelpAdmin": "Legacy-API-Schlüssel wurden nicht migriert. Neuen Schlüssel für Descrybe-API (X-API-Key) erstellen. Vollständiges Geheimnis nur einmal sichtbar.",
|
|||
|
|
"settings.noApiKeysHelpMember": "Noch keine API-Schlüssel für dieses Unternehmen. Legacy-Schlüssel nicht migriert — Admin um Erstellung bitten.",
|
|||
|
|
"settings.unnamedKey": "Unbenannter Schlüssel",
|
|||
|
|
"settings.neverUsed": "Nie verwendet",
|
|||
|
|
"settings.apiKeyActions": "API-Schlüssel-Aktionen",
|
|||
|
|
"settings.copyUnavailable": "Kopieren nicht verfügbar",
|
|||
|
|
"settings.copyUnavailableTitle": "Vollständiges Geheimnis wird nur einmal bei Erstellung angezeigt",
|
|||
|
|
"settings.revoke": "Widerrufen",
|
|||
|
|
"settings.apiKeyNameRequired": "Geben Sie einen Namen für diesen API-Schlüssel ein.",
|
|||
|
|
"settings.apiKeyCreatedOnce": "API-Schlüssel erstellt. Jetzt kopieren — wird nicht erneut angezeigt.",
|
|||
|
|
"settings.apiKeyCreated": "API-Schlüssel erstellt.",
|
|||
|
|
"settings.apiKeyCreateFailed": "API-Schlüssel konnte nicht erstellt werden",
|
|||
|
|
"settings.apiKeyRevokeConfirm": "Diesen API-Schlüssel widerrufen? Anfragen damit funktionieren nicht mehr.",
|
|||
|
|
"settings.apiKeyRevoked": "API-Schlüssel widerrufen.",
|
|||
|
|
"settings.apiKeyRevokeFailed": "API-Schlüssel konnte nicht widerrufen werden",
|
|||
|
|
"settings.apiKeyCopied": "API-Schlüssel kopiert.",
|
|||
|
|
"settings.createApiKeyOnceHelp": "Diesen Schlüssel jetzt kopieren — er wird nicht erneut angezeigt. Als Authorization: Bearer oder X-API-Key auf /api/v1 verwenden.",
|
|||
|
|
"settings.createApiKeyNameHelp": "Benennen Sie den Schlüssel zur späteren Unterscheidung. Nach dem Erstellen als Authorization: Bearer (bevorzugt) oder X-API-Key senden.",
|
|||
|
|
"settings.keyNamePlaceholder": "z. B. Production",
|
|||
|
|
"settings.newApiKeyAria": "Neuer API-Schlüssel einmal angezeigt",
|
|||
|
|
"settings.copyApiKeyAria": "API-Schlüssel kopieren",
|
|||
|
|
"settings.alert.sync_fail.title": "Sync-Fehler",
|
|||
|
|
"settings.alert.sync_fail.description": "Wenn ein Feed-Sync abläuft oder die API einen Fehler zurückgibt.",
|
|||
|
|
"settings.alert.sync_done.title": "Sync abgeschlossen",
|
|||
|
|
"settings.alert.sync_done.description": "Wenn ein Feed-Sync erfolgreich endet.",
|
|||
|
|
"settings.alert.ai_fail.title": "KI- / Verarbeitungsfehler",
|
|||
|
|
"settings.alert.ai_fail.description": "Wenn Start oder Lauf eines Verarbeitungsjobs fehlschlägt.",
|
|||
|
|
"settings.alert.ai_done.title": "KI / Verarbeitung abgeschlossen",
|
|||
|
|
"settings.alert.ai_done.description": "Wenn ein Hintergrund-Job erfolgreich endet. Start-Toasts bleiben immer an, damit Rückgängig verfügbar bleibt.",
|
|||
|
|
"settings.alert.export_fail.title": "Exportfehler",
|
|||
|
|
"settings.alert.export_fail.description": "Wenn ein Produkt- oder Export-Feed-Export fehlschlägt.",
|
|||
|
|
"settings.alert.export_done.title": "Export abgeschlossen",
|
|||
|
|
"settings.alert.export_done.description": "Wenn ein Export erfolgreich endet.",
|
|||
|
|
"settings.alert.support_reply.title": "Antworten des Support-Personals",
|
|||
|
|
"settings.alert.support_reply.description": "Wenn ein Plattform-Agent auf Ihr Support-Ticket antwortet.",
|
|||
|
|
"settings.alert.support_status.title": "Support-Statusänderungen",
|
|||
|
|
"settings.alert.support_status.description": "Wenn ein Support-Ticket auf ausstehend oder gelöst wechselt.",
|
|||
|
|
"empty.forbidden.title.company": "Berechtigung verweigert",
|
|||
|
|
"empty.forbidden.title.platform": "Zugriff eingeschränkt",
|
|||
|
|
"empty.forbidden.message.company": "Sie haben dafür keine Berechtigung. Bitten Sie einen Unternehmens-Admin um Hilfe.",
|
|||
|
|
"empty.forbidden.message.platform": "Dieser Bereich ist nur für Plattform-Admins verfügbar.",
|
|||
|
|
"empty.forbidden.message.support": "Dieser Bereich ist nur für Support-Mitarbeiter und Plattform-Admins verfügbar.",
|
|||
|
|
"empty.forbidden.backDashboard": "Zurück zum Dashboard",
|
|||
|
|
"empty.forbidden.apiKeys": "Sie dürfen API-Schlüssel nicht anzeigen. Bitten Sie einen Unternehmens-Admin um Hilfe.",
|
|||
|
|
"empty.forbidden.ai": "Sie dürfen KI-Anbietereinstellungen nicht anzeigen. Bitten Sie einen Unternehmens-Admin um Hilfe.",
|
|||
|
|
"empty.forbidden.email": "Sie dürfen E-Mail-Anbietereinstellungen nicht anzeigen. Bitten Sie einen Unternehmens-Admin um Hilfe.",
|
|||
|
|
"confirm.defaultTitle": "Löschen bestätigen",
|
|||
|
|
"confirm.defaultDescription": "Sind Sie sicher?",
|
|||
|
|
"confirm.defaultConfirm": "Bestätigen",
|
|||
|
|
"confirm.deleteFeed": "Feed „{name}“ löschen? Das kann nicht rückgängig gemacht werden.",
|
|||
|
|
"confirm.deleteCampaign": "Kampagne „{name}“ löschen? Das kann nicht rückgängig gemacht werden.",
|
|||
|
|
"confirm.deleteExportFeed": "Möchten Sie diesen Export-Feed wirklich löschen?",
|
|||
|
|
"confirm.rotateExportToken": "Feed-URL-Token rotieren? Die alte oeffentliche URL funktioniert sofort nicht mehr.",
|
|||
|
|
"confirm.deleteUpload": "„{name}“ löschen? Damit wird der Upload-Datensatz entfernt (und der lokale Blob, falls vorhanden).",
|
|||
|
|
"confirm.revokeApiKey": "Diesen API-Schlüssel widerrufen? Anfragen damit funktionieren nicht mehr.",
|
|||
|
|
"confirm.deleteKnowledgeArticle": "Diesen Wissensartikel löschen?",
|
|||
|
|
"confirm.deleteReplyTemplate": "Diese Antwortvorlage löschen?",
|
|||
|
|
"confirm.deleteStructuredField": "Möchten Sie dieses Feld wirklich löschen? Das kann nicht rückgängig gemacht werden.",
|
|||
|
|
"toast.campaign.pickAudience": "Wählen Sie mindestens eine Kategorie oder ein Produkt",
|
|||
|
|
"toast.campaign.pickCategories": "Wählen Sie Zielgruppen-Kategorien für diesen Filter",
|
|||
|
|
"toast.campaign.completeStep": "Schließen Sie diesen Schritt ab, um fortzufahren",
|
|||
|
|
"toast.campaign.aiDraft": "KI-Entwurf erzeugt",
|
|||
|
|
"toast.campaign.templatePreview": "Vorlagenvorschau bereit",
|
|||
|
|
"toast.campaign.generateFirst": "Zuerst eine Vorschau erzeugen",
|
|||
|
|
"toast.campaign.testSent": "Test-E-Mail an {email} gesendet",
|
|||
|
|
"toast.campaign.scheduled": "Kampagne geplant",
|
|||
|
|
"toast.campaign.draftSaved": "Entwurf gespeichert",
|
|||
|
|
"toast.campaign.deleted": "Kampagne gelöscht",
|
|||
|
|
"toast.campaign.prepared": "Kampagne vorbereitet",
|
|||
|
|
"toast.campaign.alreadyReady": "Kampagne ist bereits bereit",
|
|||
|
|
"toast.campaign.prepareFailed": "Kampagne konnte nicht vorbereitet werden",
|
|||
|
|
"toast.campaign.deleteFailed": "Kampagne konnte nicht gelöscht werden",
|
|||
|
|
"toast.feed.copyFailed": "URL konnte nicht kopiert werden",
|
|||
|
|
"toast.feed.created": "Feed erstellt",
|
|||
|
|
"toast.feed.updated": "Feed aktualisiert.",
|
|||
|
|
"toast.feed.mapBeforeSync": "Ordnen Sie Felder zu, bevor Sie diesen Feed synchronisieren.",
|
|||
|
|
"toast.feed.activateBeforeSync": "Aktivieren Sie den Feed vor dem Synchronisieren.",
|
|||
|
|
"toast.feed.syncFinished": "Sync abgeschlossen",
|
|||
|
|
"toast.feed.deleted": "Feed gelöscht.",
|
|||
|
|
"toast.feed.mappingLoadFailed": "Feldzuordnungen konnten nicht geladen werden. Öffnen Sie das Mapping vor dem Sync.",
|
|||
|
|
"toast.feed.syncFailed": "Sync fehlgeschlagen",
|
|||
|
|
"toast.feed.statusFailed": "Status konnte nicht aktualisiert werden",
|
|||
|
|
"toast.feed.deleteFailed": "Feed konnte nicht gelöscht werden",
|
|||
|
|
"toast.feed.beforeSampling": "Vor dem Sampling",
|
|||
|
|
"toast.processing.jobCompleted": "Verarbeitung abgeschlossen",
|
|||
|
|
"toast.processing.jobFailed": "Verarbeitung fehlgeschlagen",
|
|||
|
|
"toast.products.startFailed": "Verarbeitung konnte nicht gestartet werden",
|
|||
|
|
"toast.products.jobStarted": "Verarbeitungsjob gestartet",
|
|||
|
|
"toast.products.acceptUndone": "Übernahme rückgängig",
|
|||
|
|
"toast.products.resetComplete": "Zurücksetzen abgeschlossen",
|
|||
|
|
"toast.products.nameAcceptUndone": "Namensakzeptanz rückgängig gemacht",
|
|||
|
|
"toast.products.descAcceptUndone": "Beschreibungsakzeptanz rückgängig gemacht",
|
|||
|
|
"toast.products.cancelOne": "Verarbeitung abgebrochen",
|
|||
|
|
"toast.products.cancelMany": "Verarbeitungsjobs abgebrochen",
|
|||
|
|
"toast.products.startJobFailed": "Verarbeitungsjob konnte nicht gestartet werden",
|
|||
|
|
"toast.products.acceptFailed": "Anreicherung konnte nicht akzeptiert werden",
|
|||
|
|
"toast.products.updateFailed": "Produkt konnte nicht aktualisiert werden",
|
|||
|
|
"toast.products.undoAcceptFailed": "Akzeptieren konnte nicht rückgängig gemacht werden",
|
|||
|
|
"toast.products.undoFieldAcceptFailed": "Feldakzeptanz konnte nicht rückgängig gemacht werden",
|
|||
|
|
"toast.products.undoFieldDiscardFailed": "Feldverwerfen konnte nicht rückgängig gemacht werden",
|
|||
|
|
"toast.products.rejectFailed": "Anreicherung konnte nicht abgelehnt werden",
|
|||
|
|
"toast.products.exportFailed": "Ausgewählte Produkte konnten nicht exportiert werden",
|
|||
|
|
"toast.products.resetFailed": "Produkte konnten nicht zurückgesetzt werden",
|
|||
|
|
"toast.products.cancelFailed": "Verarbeitungsjob konnte nicht abgebrochen werden",
|
|||
|
|
"toast.support.ticketCreated": "Ticket erstellt",
|
|||
|
|
"toast.support.replySent": "Antwort gesendet",
|
|||
|
|
"toast.support.thanksFeedback": "Danke für Ihr Feedback",
|
|||
|
|
"toast.support.createFailed": "Ticket konnte nicht erstellt werden",
|
|||
|
|
"toast.support.unavailable": "Support nicht verfügbar",
|
|||
|
|
"toast.support.loadFailed": "Support-Tickets konnten nicht geladen werden",
|
|||
|
|
"toast.support.loadTicketFailed": "Ticket konnte nicht geladen werden",
|
|||
|
|
"toast.support.replyFailed": "Antwort konnte nicht gesendet werden",
|
|||
|
|
"toast.support.ratingUnavailable": "Bewertung nicht verfügbar",
|
|||
|
|
"toast.support.alreadyRated": "Bereits bewertet",
|
|||
|
|
"toast.support.ratingFailed": "Bewertung konnte nicht übermittelt werden",
|
|||
|
|
"toast.structured.fieldAdded": "Feld hinzugefügt",
|
|||
|
|
"toast.structured.fieldAddedBody": "Das Feld für strukturierte Beschreibungen wurde hinzugefügt.",
|
|||
|
|
"toast.structured.fieldDeleted": "Feld gelöscht",
|
|||
|
|
"toast.structured.fieldDeletedBody": "Das Feld für strukturierte Beschreibungen wurde gelöscht.",
|
|||
|
|
"toast.structured.addFailed": "Feld konnte nicht hinzugefügt werden",
|
|||
|
|
"toast.structured.deleteFailed": "Feld konnte nicht gelöscht werden",
|
|||
|
|
"toast.brand.saved": "Marken-Kit gespeichert",
|
|||
|
|
"toast.brand.logoUploaded": "Logo hochgeladen",
|
|||
|
|
"toast.brand.saveFailed": "Marken-Kit konnte nicht gespeichert werden",
|
|||
|
|
"toast.brand.uploadFailed": "Logo konnte nicht hochgeladen werden",
|
|||
|
|
"toast.vector.indexCreated": "Vektorindex erfolgreich erstellt",
|
|||
|
|
"toast.vector.dbInitialized": "Vektordatenbank erfolgreich initialisiert",
|
|||
|
|
"toast.vector.indexFailed": "Vektorindex konnte nicht erstellt werden",
|
|||
|
|
"toast.vector.initFailed": "Vektordatenbank konnte nicht initialisiert werden",
|
|||
|
|
"toast.vector.searchFailed": "Kategoriesuche fehlgeschlagen",
|
|||
|
|
"toast.export.refreshFailed": "Feed konnte nicht aktualisiert werden",
|
|||
|
|
"toast.mapping.loadFailed": "Feed-Mapping konnte nicht geladen werden",
|
|||
|
|
"toast.mapping.extractFailed": "Schema konnte nicht extrahiert werden",
|
|||
|
|
"toast.mapping.saveFailed": "Feldzuordnungen konnten nicht gespeichert werden",
|
|||
|
|
"toast.mapping.sampleFailed": "Sync + Sample-Verarbeitung fehlgeschlagen",
|
|||
|
|
"toast.attrs.createFailed": "Erstellen fehlgeschlagen",
|
|||
|
|
"toast.attrs.importFailed": "Import fehlgeschlagen",
|
|||
|
|
"toast.attrs.updateFailed": "Aktualisierung fehlgeschlagen",
|
|||
|
|
"toast.attrs.deleteFailed": "Löschen fehlgeschlagen",
|
|||
|
|
"toast.switcher.loadUsersFailed": "Umschaltbare Benutzer konnten nicht geladen werden",
|
|||
|
|
"toast.switcher.switchFailed": "Benutzerwechsel fehlgeschlagen",
|
|||
|
|
"toast.switcher.returnFailed": "Rückkehr zum ursprünglichen Benutzer fehlgeschlagen",
|
|||
|
|
"toast.switcher.companyFailed": "Unternehmenswechsel fehlgeschlagen",
|
|||
|
|
"toast.requestFailed": "Anfrage fehlgeschlagen",
|
|||
|
|
"flash.campaign.unavailableDraft": "Kampagnen sind derzeit nicht verfügbar. Entwürfe können nicht gespeichert werden, bis die Funktion live ist.",
|
|||
|
|
"flash.campaign.testEmailRequired": "Geben Sie eine Test-E-Mail-Adresse ein",
|
|||
|
|
"flash.campaign.scheduleRequired": "Wählen Sie Datum und Uhrzeit",
|
|||
|
|
"flash.campaign.unavailable": "Kampagnen sind derzeit nicht verfügbar.",
|
|||
|
|
"flash.campaign.generateFailed": "Generierung fehlgeschlagen",
|
|||
|
|
"flash.campaign.testFailed": "Testversand fehlgeschlagen",
|
|||
|
|
"flash.campaign.scheduleFailed": "Planung fehlgeschlagen",
|
|||
|
|
"flash.campaign.saveFailed": "Speichern fehlgeschlagen",
|
|||
|
|
"flash.feed.copyFailed": "URL konnte nicht kopiert werden",
|
|||
|
|
"flash.feed.csvRequired": "Bitte wählen Sie eine .csv-Datei.",
|
|||
|
|
"flash.feed.csvFileRequired": "Bitte wählen Sie eine CSV-Datei.",
|
|||
|
|
"flash.feed.urlRequired": "Feed-URL ist erforderlich.",
|
|||
|
|
"flash.feed.updated": "Feed aktualisiert.",
|
|||
|
|
"flash.feed.syncFinishedNamed": "Sync für „{name}“ abgeschlossen ({status}: {products}).",
|
|||
|
|
"flash.feed.deleted": "Feed gelöscht.",
|
|||
|
|
"flash.feed.createFailed": "Feed konnte nicht erstellt werden",
|
|||
|
|
"flash.feed.updateFailed": "Feed konnte nicht aktualisiert werden",
|
|||
|
|
"flash.settings.companyNameRequired": "Geben Sie einen Unternehmensnamen ein.",
|
|||
|
|
"flash.settings.companySaved": "Unternehmenseinstellungen gespeichert.",
|
|||
|
|
"flash.settings.companyFailed": "Unternehmen konnte nicht aktualisiert werden",
|
|||
|
|
"flash.settings.mergeFailed": "Zusammenführungseinstellung konnte nicht aktualisiert werden",
|
|||
|
|
"flash.settings.apiKeyNameRequired": "Geben Sie einen Namen für diesen API-Schlüssel ein.",
|
|||
|
|
"flash.settings.apiKeyCreatedFailed": "API-Schlüssel konnte nicht erstellt werden",
|
|||
|
|
"flash.settings.apiKeyRevoked": "API-Schlüssel widerrufen.",
|
|||
|
|
"flash.settings.apiKeyRevokeFailed": "API-Schlüssel konnte nicht widerrufen werden",
|
|||
|
|
"flash.settings.copyFailed": "Kopieren fehlgeschlagen. Markieren Sie den Text und kopieren Sie manuell.",
|
|||
|
|
"flash.products.accepted": "{count} Produkt(e) akzeptiert — nach Verarbeitet verschoben.",
|
|||
|
|
"flash.products.updated": "Produkt aktualisiert.",
|
|||
|
|
"flash.products.enrichmentAccepted": "Anreicherung akzeptiert — nach Verarbeitet verschoben.",
|
|||
|
|
"flash.products.originalEmpty": "Originalwert ist leer; Anreicherung kann per PATCH nicht gelöscht werden.",
|
|||
|
|
"flash.products.selectExport": "Wählen Sie mindestens ein Produkt zum Exportieren.",
|
|||
|
|
"flash.products.exported": "{count} Produkt(e) über Export-Feed exportiert.",
|
|||
|
|
"flash.support.missingId": "Ticket-ID fehlt",
|
|||
|
|
"flash.support.notFound": "Ticket nicht gefunden",
|
|||
|
|
"flash.support.unavailable": "Support ist vorübergehend nicht verfügbar.",
|
|||
|
|
"flash.support.ratingUnavailable": "Bewertung ist vorübergehend nicht verfügbar. Bitte später erneut versuchen.",
|
|||
|
|
"flash.support.alreadyRated": "Sie haben dieses Ticket bereits bewertet.",
|
|||
|
|
"flash.support.queueUnavailable": "Die Support-Warteschlange ist in dieser Bereitstellung nicht verfügbar.",
|
|||
|
|
"flash.support.deploymentUnavailable": "Support ist auf diesem Deployment nicht verfügbar.",
|
|||
|
|
"flash.support.replyRequired": "Antworttext ist erforderlich.",
|
|||
|
|
"flash.support.draftRequired": "Entwurftext ist vor der Freigabe erforderlich.",
|
|||
|
|
"flash.support.claimed": "Ticket übernommen.",
|
|||
|
|
"flash.support.unassigned": "Ticket nicht zugewiesen.",
|
|||
|
|
"flash.support.assigneeCleared": "Zuständigkeit gelöscht.",
|
|||
|
|
"flash.support.assigneeUpdated": "Zuständigkeit aktualisiert.",
|
|||
|
|
"flash.support.draftApproved": "KI-Entwurf freigegeben und an den Kunden gesendet.",
|
|||
|
|
"flash.support.draftSent": "Entwurf als Mitarbeiterantwort gesendet.",
|
|||
|
|
"flash.support.draftDiscarded": "KI-Entwurf verworfen. Ticket an die menschliche Warteschlange übergeben.",
|
|||
|
|
"flash.support.autoReplyDisabled": "Auto-Antwort deaktiviert (Entwurf als interne Notiz belassen).",
|
|||
|
|
"flash.structured.keyRequired": "Feldschlüssel ist erforderlich",
|
|||
|
|
"flash.category.nameRequired": "Name und eindeutige ID sind erforderlich.",
|
|||
|
|
"flash.category.textEmpty": "Text darf nicht leer sein",
|
|||
|
|
"flash.export.noConfigs": "Noch keine Export-Feeds. Erstellen Sie einen unter Export Feeds und kehren Sie zurück, um Ihre Auswahl zu exportieren.",
|
|||
|
|
"flash.export.selectFormat": "Bitte wählen Sie einen Export-Feed.",
|
|||
|
|
"flash.files.deleted": "Upload gelöscht.",
|
|||
|
|
"flash.mapping.noSuggestions": "Keine Vorschläge — Quellfeldnamen prüfen.",
|
|||
|
|
"flash.mapping.allMapped": "Alle Vorschläge sind bereits zugeordnet. Prüfen Sie die Konfidenz-Chips in der Tabelle.",
|
|||
|
|
"flash.mapping.extractFirst": "Keine Vorschläge — zuerst Schema extrahieren.",
|
|||
|
|
"flash.mapping.pathRequired": "Geben Sie vor dem Mapping einen Produkt-Elementpfad ein.",
|
|||
|
|
"flash.billing.checkoutCanceled": "Checkout wurde abgebrochen. Es wurden keine Änderungen vorgenommen.",
|
|||
|
|
"flash.billing.portalReturn": "Zurück vom Abrechnungsportal. Verwalten Sie Ihren Plan hier oder unter Plans.",
|
|||
|
|
"flash.billing.invalidAmount": "Bitte geben Sie einen gültigen Credit-Betrag ein.",
|
|||
|
|
"flash.billing.companyNotFound": "Unternehmen nicht gefunden.",
|
|||
|
|
"flash.billing.creditsAdded": "{amount} Credits wurden hinzugefügt.",
|
|||
|
|
"flash.unsubscribe.missingToken": "Abmelde-Token fehlt.",
|
|||
|
|
"flash.unsubscribe.loadFailed": "Abmeldestatus konnte nicht geladen werden.",
|
|||
|
|
"flash.unsubscribe.failed": "Abmeldung fehlgeschlagen.",
|
|||
|
|
"flash.seo.filledMeta": "Meta für „{label}“ ausgefüllt ({mode}).",
|
|||
|
|
"flash.shopify.saved": "Shopify-Einstellungen gespeichert.",
|
|||
|
|
"flash.woo.saved": "WooCommerce-Einstellungen gespeichert.",
|
|||
|
|
"flash.woo.syncSaved": "Sync-Einstellungen gespeichert.",
|
|||
|
|
"flash.woo.autoCategories": "{count} Kategorien automatisch zugeordnet.",
|
|||
|
|
"flash.woo.autoAttributes": "{count} Attribute automatisch zugeordnet.",
|
|||
|
|
"flash.ai.promptsSaved": "Prompt-Vorlagen gespeichert. Sie gelten für den nächsten KI-Lauf.",
|
|||
|
|
"flash.ai.promptRestored": "Integrierten Standard-Prompt wiederhergestellt.",
|
|||
|
|
"flash.ai.connectionOk": "Verbindung OK ({detail}).",
|
|||
|
|
"flash.ai.connectionByok": ", Ihr eigener Schlüssel",
|
|||
|
|
"flash.email.saved": "E-Mail-Anbieter gespeichert. Domain verifizieren, dann Test senden.",
|
|||
|
|
"flash.email.testDryRun": "Test im Dry-Run protokolliert — es wurde keine E-Mail gesendet.",
|
|||
|
|
"flash.email.testSent": "Test-E-Mail gesendet. Die From-Adresse wird bei erfolgreicher Zustellung als verifiziert markiert.",
|
|||
|
|
"flash.fields.apiUnavailable": "Die Standardfelder-API ist nicht verfügbar. Änderungen können nicht gespeichert werden.",
|
|||
|
|
"flash.fields.updated": "Feld erfolgreich aktualisiert",
|
|||
|
|
"flash.fields.created": "Feld erfolgreich erstellt",
|
|||
|
|
"flash.fields.enabledRecommended": "Empfohlene E-Commerce-Felder aktiviert",
|
|||
|
|
"flash.fields.deleted": "Feld erfolgreich gelöscht",
|
|||
|
|
"flash.fields.groupUpdated": "Gruppe erfolgreich aktualisiert",
|
|||
|
|
"flash.fields.groupCreated": "Gruppe erfolgreich erstellt",
|
|||
|
|
"flash.fields.groupDeleted": "Gruppe erfolgreich gelöscht",
|
|||
|
|
"flash.processing.cancelled": "„{name}“ wurde abgebrochen.",
|
|||
|
|
"flash.processing.retried": "„{name}“ zur Wiederholung eingereiht.",
|
|||
|
|
"flash.admin.staffRoleUpdated": "Mitarbeiterrolle für {email} aktualisiert.",
|
|||
|
|
"flash.admin.staffRoleUnavailable": "Mitarbeiterrollen-Updates sind auf diesem Server noch nicht verfügbar.",
|
|||
|
|
"flash.admin.planAssigned": "Plan {name} zugewiesen.",
|
|||
|
|
"flash.admin.planAssignedShort": "Plan zugewiesen.",
|
|||
|
|
"flash.admin.creditsUpdated": "Credits aktualisiert.",
|
|||
|
|
"flash.admin.cyclesProcessed": "Abrechnungszyklen verarbeitet: {count}",
|
|||
|
|
"flash.admin.invitesSummary": "Passwort-Einladungen: {parts}. E-Mail-Zustellung: {smtp}.",
|
|||
|
|
"flash.admin.smtpOn": "an",
|
|||
|
|
"flash.admin.smtpOff": "aus",
|
|||
|
|
"flash.admin.localPasswordSet": "Lokales Passwort für {email} gesetzt.",
|
|||
|
|
"flash.admin.localPasswordUnavailable": "Lokale Passwort-Tools sind in dieser Umgebung nicht verfügbar.",
|
|||
|
|
"flash.admin.switchedUser": "Benutzer gewechselt. Wird neu geladen…",
|
|||
|
|
"flash.admin.switchUnavailable": "Benutzerwechsel ist in dieser Umgebung nicht verfügbar.",
|
|||
|
|
"flash.admin.diagnosticsRateLimit": "Diagnose-Limit erreicht (20/min). Eine Minute warten und aktualisieren.",
|
|||
|
|
"flash.admin.smtpSaved": "Plattform-SMTP-Einstellungen gespeichert. Passwörter bleiben verborgen.",
|
|||
|
|
"flash.admin.integrationSaved": "Integrationseinstellungen gespeichert. Geheimfelder werden nie wieder vollständig angezeigt.",
|
|||
|
|
"flash.admin.aiSaved": "{label}-KI-Einstellungen gespeichert. API-Schlüssel werden nicht erneut angezeigt.",
|
|||
|
|
"flash.admin.cleanup": "Bereinigung: {jobs} Jobs fehlgeschlagen, {products} Produkte zurückgesetzt.",
|
|||
|
|
"flash.admin.orphanDryRun": "Dry-run only — {total} orphan(s) would be deleted. Nothing removed.",
|
|||
|
|
"flash.admin.orphanDeleted": "Deleted {deleted} orphan row(s). Remaining: {remaining}.",
|
|||
|
|
"flash.admin.articleUpdated": "Artikel aktualisiert.",
|
|||
|
|
"flash.admin.articleCreated": "Artikel erstellt.",
|
|||
|
|
"flash.admin.templateUpdated": "Vorlage aktualisiert.",
|
|||
|
|
"flash.admin.templateCreated": "Vorlage erstellt.",
|
|||
|
|
"flash.admin.articleDeleted": "Artikel gelöscht.",
|
|||
|
|
"flash.admin.templateDeleted": "Vorlage gelöscht.",
|
|||
|
|
"flash.admin.autoReplySaved": "Auto-Antwort-Einstellungen gespeichert.",
|
|||
|
|
"flash.admin.imageUploaded": "Bild hochgeladen und in Markdown eingefügt.",
|
|||
|
|
"flash.admin.translationsSaved": "{count} Zeichenkette(n) für {locale} gespeichert. Committen Sie das Message-Pack, wenn bereit.",
|
|||
|
|
"flash.admin.featuresUpdated": "{key} aktualisiert.",
|
|||
|
|
"flash.admin.featuresAllOn": "Alle Funktionen für diesen Plan aktiviert.",
|
|||
|
|
"flash.admin.featuresAllOff": "Alle Funktionen für diesen Plan deaktiviert.",
|
|||
|
|
"flash.admin.profileApplied": "Profil {label} auf {name} angewendet.",
|
|||
|
|
"flash.admin.overridesCleared": "Overrides gelöscht — Plan-Name-Standardwerte werden verwendet.",
|
|||
|
|
"empty.plans.none": "Keine Pläne gefunden.",
|
|||
|
|
"empty.plans.noMatch": "Kein Plan entspricht diesem Filter.",
|
|||
|
|
"empty.plans.selectPackage": "Wählen Sie ein Paket, um Funktionen zu bearbeiten.",
|
|||
|
|
"empty.products.processingTitle": "Keine Produkte in Verarbeitung",
|
|||
|
|
"empty.products.processingMessageCan": "Live-Fortschritt finden Sie unter Verarbeitung. Öffnen Sie dort einen laufenden Job für den Schrittstatus; dieses Tab listet laufende Produkte, sobald Job-Item-Filter verfügbar sind.",
|
|||
|
|
"empty.products.processingMessageCannot": "Produkte in einem Job erscheinen hier, sobald die Verarbeitung im Katalog gestartet wurde.",
|
|||
|
|
"empty.products.reviewTitle": "Keine Produkte zur Prüfung",
|
|||
|
|
"empty.products.reviewMessage": "Nach einem Job landen angereicherte Produkte hier. Öffnen Sie eine Zeile zum Vergleichen, dann Übernehmen, bearbeiten oder Ablehnen.",
|
|||
|
|
"empty.products.errorTitle": "Keine Produkte mit Fehlern",
|
|||
|
|
"empty.products.errorMessage": "Wenn ein Job für ein Produkt fehlschlägt, erscheint es hier zum erneuten Versuch.",
|
|||
|
|
"empty.products.filterTitleUnprocessed": "Keine unverarbeiteten Treffer",
|
|||
|
|
"empty.products.filterTitle": "Keine Produkte stimmen überein",
|
|||
|
|
"empty.products.filterMessage": "Andere Suche, Kategorie oder Feed versuchen — oder Filter leeren, um alles zu sehen.",
|
|||
|
|
"empty.products.unprocessedTitle": "Noch keine unverarbeiteten Produkte",
|
|||
|
|
"empty.products.unprocessedMessage": "Verbinden Sie einen Lieferanten-Feed oder laden Sie eine CSV hoch, um Produkte zu importieren.",
|
|||
|
|
"empty.products.noneTitle": "Noch keine Produkte",
|
|||
|
|
"empty.products.noneMessageStores": "Aus Feed oder Shop importieren, dann einen Auftrag starten, um den Katalog aufzubauen.",
|
|||
|
|
"empty.products.noneMessage": "Aus Feed importieren oder CSV hochladen, dann einen Auftrag starten.",
|
|||
|
|
"empty.products.viewJobs": "Jobs anzeigen",
|
|||
|
|
"empty.products.startJob": "Auftrag starten",
|
|||
|
|
"empty.products.clearFilters": "Filter löschen",
|
|||
|
|
"empty.products.viewProcessed": "Verarbeitete anzeigen",
|
|||
|
|
"empty.products.retryCatalog": "Aus Katalog erneut versuchen",
|
|||
|
|
"empty.products.connectFeed": "Feed verbinden",
|
|||
|
|
"empty.products.addProduct": "Produkt hinzufügen",
|
|||
|
|
"empty.products.uploadCsv": "CSV hochladen",
|
|||
|
|
"empty.feeds.noneTitle": "Noch keine Produkt-Feeds",
|
|||
|
|
"empty.feeds.noneMessage": "Verbinden Sie eine Lieferanten-CSV/XML-URL oder laden Sie eine Datei hoch. Als Nächstes: Map → Sync → Process.",
|
|||
|
|
"empty.feeds.noMatchTitle": "Keine passenden Feeds",
|
|||
|
|
"empty.feeds.noMatchMessage": "Versuchen Sie einen anderen Suchbegriff oder leeren Sie die Suche, um alle Feeds zu sehen.",
|
|||
|
|
"empty.export.loadFailedTitle": "Export-Feeds konnten nicht geladen werden",
|
|||
|
|
"empty.export.loadFailedMessage": "Beim Laden Ihrer Exporte ist etwas schiefgelaufen. Erneut versuchen oder den Fehler oben für Details prüfen.",
|
|||
|
|
"empty.export.noneTitle": "Noch keine Export-Feeds",
|
|||
|
|
"empty.export.noneMessage": "Erstellen Sie einen Google-Shopping-, Meta- oder eigenen CSV/XML-Feed, um festzulegen, welche Produkte und Felder ausgegeben werden. Öffentliche URL für Merchant Center oder Partner erzeugen — oder eine Auswahl unter Produkte exportieren.",
|
|||
|
|
"empty.export.noMatchTitle": "Keine passenden Feeds",
|
|||
|
|
"empty.export.noMatchMessage": "Versuchen Sie einen anderen Suchbegriff.",
|
|||
|
|
"empty.files.noneTitle": "Noch keine Uploads",
|
|||
|
|
"empty.files.noneMessage": "CSV-Importe für Produkte, Kategorien und Attribute erscheinen hier nach dem Upload. Nach einer Plattform-Migration wurden Dateiinhalte (Blobs) nicht kopiert — laden Sie sie bei Bedarf erneut hoch.",
|
|||
|
|
"empty.files.uploadCta": "CSV hochladen",
|
|||
|
|
"empty.export.fromProductsCta": "Aus Produkten exportieren",
|
|||
|
|
"empty.dashboard.noJobsTitle": "Keine aktuellen Jobs",
|
|||
|
|
"empty.dashboard.noJobsMessage": "Jobs erscheinen hier, nachdem Sie die Verarbeitung unter Produkte starten. Reichern Sie Titel und Beschreibungen an, bevor Sie exportieren.",
|
|||
|
|
"empty.stores.noneTitle": "Noch kein Shop verbunden",
|
|||
|
|
"empty.stores.noneMessage": "Verbinden Sie WooCommerce oder Shopify, um Katalog und Bestellungen zu synchronisieren. Lieferantendatei bevorzugt? Nutzen Sie Feed-URL oder CSV-Upload.",
|
|||
|
|
"empty.stores.noneTitleMember": "Noch kein Store verbunden",
|
|||
|
|
"empty.stores.noneMessageMember": "Nur Unternehmens-Admins können WooCommerce oder Shopify verbinden. Bitten Sie einen Admin um Hilfe, oder nutzen Sie Feed-URL/CSV, wenn Ihre Rolle das erlaubt.",
|
|||
|
|
"empty.woo.openConnection": "Verbindungseinstellungen öffnen",
|
|||
|
|
"empty.shopify.openConnection": "Verbindungseinstellungen öffnen",
|
|||
|
|
"empty.processing.noneTitle": "Noch keine Jobs",
|
|||
|
|
"empty.processing.noneMessage": "Starten Sie einen Job unter Produkte, wenn Sie bereit sind. Fortschritt und Verlauf erscheinen hier.",
|
|||
|
|
"empty.campaigns.unavailableTitle": "Kampagnen nicht verfügbar",
|
|||
|
|
"empty.campaigns.unavailableMessage": "Der Kampagnendienst ist nicht erreichbar. Sie können den Assistenten öffnen, aber Generieren und Senden warten auf den Dienst.",
|
|||
|
|
"empty.calendar.noneTitle": "Keine saisonalen Presets",
|
|||
|
|
"empty.calendar.noneMessage": "Kalender-Presets erscheinen hier, sobald die Marketing-API verfügbar ist.",
|
|||
|
|
"empty.seo.noneTitle": "Kein Katalog zum Bewerten",
|
|||
|
|
"empty.seo.noneMessage": "Zuerst Produkte verarbeiten oder Kategorien hinzufügen. SEO-Scores erscheinen, sobald Katalogdaten da sind.",
|
|||
|
|
"empty.vector.unavailableTitle": "Vektor-Kategorien nicht verfügbar",
|
|||
|
|
"empty.vector.noMatchTitle": "Noch keine Treffer",
|
|||
|
|
"empty.vector.noMatchMessage": "Produktbeschreibung eingeben und suchen, um Vektor-Kategorie-Treffer zu sehen.",
|
|||
|
|
"empty.structured.unavailableTitle": "Strukturierte Beschreibungen nicht verfügbar",
|
|||
|
|
"empty.structured.unavailableMessage": "Diese API ist auf diesem Backend noch nicht verfügbar. Export-ID-Felder können hier erst verwaltet werden, wenn /api/structured-descriptions angebunden ist.",
|
|||
|
|
"empty.structured.noneTitle": "Noch keine Felder für strukturierte Beschreibungen",
|
|||
|
|
"empty.structured.noneMessage": "Hier ein Feld hinzufügen oder Export-IDs in einer Kategorie-Beschreibungsformel erstellen — sie erscheinen für Export-Feeds.",
|
|||
|
|
"empty.support.unavailableTitle": "Support nicht verfügbar",
|
|||
|
|
"empty.support.noneTitle": "Noch keine Tickets",
|
|||
|
|
"empty.support.unavailableMessage": "Die Support-API ist nicht erreichbar. Bald erneut versuchen oder neues Ticket öffnen, wenn der Dienst da ist.",
|
|||
|
|
"empty.support.filterMessage": "Kein Ticket entspricht diesem Status. Anderen Filter versuchen oder neues Ticket erstellen.",
|
|||
|
|
"empty.support.noneMessage": "Beschreiben Sie Ihr Problem; unser Team antwortet in diesem Thread. Sie erhalten auch eine In-App-Benachrichtigung, wenn Mitarbeiter antworten.",
|
|||
|
|
"empty.support.createTicket": "Ticket erstellen",
|
|||
|
|
"empty.support.clearFilter": "Filter löschen",
|
|||
|
|
"empty.support.ticketNotFoundTitle": "Ticket nicht gefunden",
|
|||
|
|
"empty.support.ticketNotFoundMessage": "Dieses Ticket wurde möglicherweise entfernt oder Sie haben keinen Zugriff.",
|
|||
|
|
"empty.support.noMessagesTitle": "Keine Nachrichten",
|
|||
|
|
"empty.support.noMessagesMessage": "Dieser Thread hat noch keine Nachrichten.",
|
|||
|
|
"empty.settings.noApiKeysTitle": "Noch keine API-Schlüssel",
|
|||
|
|
"empty.shopify.noOrdersTitle": "Noch keine Bestellungen",
|
|||
|
|
"empty.shopify.noOrdersMessage": "Bestellungen erscheinen, nachdem Shopify verbunden ist und ein Bestellimport läuft. Leere Listen sind bis zum ersten Sync normal.",
|
|||
|
|
"empty.woo.noOrdersTitle": "Noch keine Bestellungen",
|
|||
|
|
"empty.woo.noOrdersMessage": "Bestellungen erscheinen, nachdem WooCommerce verbunden ist und eine Bestellsynchronisierung läuft. Leere Listen sind bis zum ersten Sync normal.",
|
|||
|
|
"empty.woo.noReviewsTitle": "Noch keine Bewertungen",
|
|||
|
|
"empty.woo.noReviewsMessage": "Bewertungen erscheinen, nachdem Sie einen Bewertungsimport aus einem verbundenen Shop starten. Dieser Tab bleibt bei leerer Liste nutzbar.",
|
|||
|
|
"empty.admin.noProviderTitle": "Keine Anbieterzeilen",
|
|||
|
|
"empty.admin.noProviderMessage": "Tokens erscheinen hier, sobald Produkte einen Anbietertyp speichern.",
|
|||
|
|
"empty.admin.noCompaniesTitle": "Keine Unternehmen",
|
|||
|
|
"empty.admin.noCompaniesMessage": "Die Unternehmensliste ist leer.",
|
|||
|
|
"empty.admin.noCyclesTitle": "Noch keine Abrechnungszyklen",
|
|||
|
|
"empty.admin.noCyclesMessage": "Zyklen erscheinen, sobald Abrechnungsläufe historische Zeilen erzeugen.",
|
|||
|
|
"empty.admin.noCompaniesFound": "Keine Unternehmen gefunden.",
|
|||
|
|
"empty.admin.noCompaniesMatch": "Keine Unternehmen entsprechen diesem Filter.",
|
|||
|
|
"empty.admin.notPlatformTitle": "Kein Plattform-Admin",
|
|||
|
|
"empty.admin.notPlatformMessage": "Ihr Konto ist angemeldet, aber nicht als Plattform-Admin markiert. Bitten Sie einen bestehenden Admin um Zugriff, melden Sie sich ab und wieder an.",
|
|||
|
|
"empty.admin.noJobsFilter": "Keine Jobs für diesen Filter.",
|
|||
|
|
"empty.admin.noAdminUsers": "Keine Admin-Benutzer gefunden",
|
|||
|
|
"empty.admin.noJobs": "Keine Jobs gefunden.",
|
|||
|
|
"empty.admin.queueUnavailable": "Support-Warteschlange ist nicht verfügbar. Kontaktieren Sie Ihren Plattform-Admin, falls das anhält.",
|
|||
|
|
"empty.admin.noTicketsQueue": "Keine Tickets in dieser Warteschlange.",
|
|||
|
|
"empty.admin.knowledgeTitle": "Support-Wissen",
|
|||
|
|
"empty.admin.knowledgeNotReadyTitle": "Support-Wissen ist nicht bereit",
|
|||
|
|
"empty.admin.knowledgeNotReadyMessage": "Artikel und Auto-Antwort sind in dieser Bereitstellung noch nicht eingerichtet.",
|
|||
|
|
"empty.admin.noTemplatesTitle": "Keine Antwortvorlagen",
|
|||
|
|
"empty.admin.noTemplatesMessage": "Vorlagen werden wie Artikel zugeordnet und als gekennzeichnete Auto-Antworten gepostet.",
|
|||
|
|
"empty.admin.ticketNotFound": "Ticket nicht gefunden.",
|
|||
|
|
"empty.admin.supportUnavailable": "Support ist auf diesem Deployment nicht verfügbar.",
|
|||
|
|
"empty.admin.ticketLoadFailed": "Dieses Ticket konnte nicht geladen werden.",
|
|||
|
|
"empty.admin.noMessages": "Noch keine Nachrichten.",
|
|||
|
|
"empty.admin.translationsUnavailableTitle": "Übersetzungen nicht verfügbar",
|
|||
|
|
"empty.admin.translationsUnavailableMessage": "Der Übersetzungs-Katalog-Endpunkt ist in diesem Build nicht verfügbar.",
|
|||
|
|
"empty.admin.noKeysMatchTitle": "Keine Schlüssel passen",
|
|||
|
|
"empty.admin.noKeysMatchMessage": "Anderen Filter oder Suche versuchen, oder aktualisieren, wenn neue Schlüssel in Englisch hinzugefügt wurden.",
|
|||
|
|
"empty.admin.noUsersMatch": "Keine Benutzer entsprechen diesem Filter.",
|
|||
|
|
"empty.admin.noCompaniesMatchFilter": "Keine Unternehmen entsprechen diesem Filter.",
|
|||
|
|
"blast.title": "E-Mail-Blast bestätigen",
|
|||
|
|
"blast.dryRunDescription": "Dry-Run ist aktiv — es verlassen keine echten E-Mails Descrybe. Bestätigen, um den Dry-Run zu protokollieren.",
|
|||
|
|
"blast.liveDescription": "Dadurch werden echte E-Mails an Ihre Zielgruppe gesendet. Tippen Sie I understand zum Fortfahren.",
|
|||
|
|
"blast.recipients": "Empfänger in dieser Anfrage: {count}",
|
|||
|
|
"blast.typePhrase": "„I understand“ eingeben",
|
|||
|
|
"blast.placeholder": "I understand",
|
|||
|
|
"blast.runDryRun": "Dry-Run ausführen",
|
|||
|
|
"blast.send": "Blast senden",
|
|||
|
|
"marketing.footerBefore": "E-Mail-Kampagnen bleiben unter",
|
|||
|
|
"marketing.footerAfter": "— diese Seite bereitet nur Katalog-Export-Feeds vor.",
|
|||
|
|
"support.title": "Support-Center",
|
|||
|
|
"support.description": "Öffnen a Ticket for Abrechnung, bugs, or account help. Personal replies show here and as in-app notifications.",
|
|||
|
|
"support.newTicket": "New Ticket",
|
|||
|
|
"support.createTicket": "Ticket erstellen",
|
|||
|
|
"support.loadingTickets": "Laden Tickets…",
|
|||
|
|
"support.loadFailed": "Support-Tickets konnten nicht geladen werden",
|
|||
|
|
"support.unavailableBanner": "Support is not fully verfügbar yet. You can still prepare a Ticket; submitting may wait until the service is ready.",
|
|||
|
|
"support.yourTickets": "Ihre Tickets",
|
|||
|
|
"support.ticketCount": "{count} Tickets",
|
|||
|
|
"support.ticketCountOne": "{count} Ticket",
|
|||
|
|
"support.statusFilterSuffix": "· Status {status}",
|
|||
|
|
"support.filterByStatus": "Filtern by status",
|
|||
|
|
"support.unavailableTitle": "Support nicht verfügbar",
|
|||
|
|
"support.emptyTitle": "Noch keine Tickets",
|
|||
|
|
"support.unavailableEmpty": "Die Support-API ist nicht erreichbar. Bald erneut versuchen oder neues Ticket öffnen, wenn der Dienst da ist.",
|
|||
|
|
"support.emptyFiltered": "Kein Ticket entspricht diesem Status. Anderen Filter versuchen oder neues Ticket erstellen.",
|
|||
|
|
"support.emptyHelp": "Beschreiben Sie Ihr Problem; unser Team antwortet in diesem Thread. Sie erhalten auch eine In-App-Benachrichtigung, wenn Mitarbeiter antworten.",
|
|||
|
|
"support.clearFilter": "Filter löschen",
|
|||
|
|
"support.table.subject": "Betreff",
|
|||
|
|
"support.table.category": "Kategorie",
|
|||
|
|
"support.table.status": "Zustand",
|
|||
|
|
"support.table.priority": "Priorität",
|
|||
|
|
"support.table.updated": "Aktualisiert",
|
|||
|
|
"support.openTicketAria": "Öffnen Ticket {subject}",
|
|||
|
|
"support.status.all": "Alle",
|
|||
|
|
"support.status.open": "Öffnen",
|
|||
|
|
"support.status.pending": "Ausstehend",
|
|||
|
|
"support.status.resolved": "Gelöst",
|
|||
|
|
"support.status.closed": "Geschlossen",
|
|||
|
|
"support.new.title": "Neues Support-Ticket",
|
|||
|
|
"support.new.description": "Sagen Sie uns, wobei Sie Hilfe brauchen. Schritte, Fehlermeldungen oder Rechnungsdetails wenn relevant.",
|
|||
|
|
"support.new.back": "Zurück to Tickets",
|
|||
|
|
"support.new.details": "Ticketdetails",
|
|||
|
|
"support.new.detailsHelp": "Status startet als offen. Zuerst kann eine automatische Antwort kommen; ein Mensch kann jederzeit im selben Thread übernehmen.",
|
|||
|
|
"support.new.subject": "Betreff",
|
|||
|
|
"support.new.subjectPlaceholder": "Kurze Zusammenfassung",
|
|||
|
|
"support.new.category": "Kategorie",
|
|||
|
|
"support.new.priority": "Priorität",
|
|||
|
|
"support.new.optional": "Optionale Details",
|
|||
|
|
"support.new.optionalHint": "(SKU, Tags — hilft beim Routing)",
|
|||
|
|
"support.new.relatedSku": "Zugehörige SKU",
|
|||
|
|
"support.new.relatedSkuPlaceholder": "z. B. ABC-123",
|
|||
|
|
"support.new.relatedSkuHelp": "Produkt or Feed SKU if this is about a specific item.",
|
|||
|
|
"support.new.tags": "Tags",
|
|||
|
|
"support.new.tagsPlaceholder": "Login, Rechnung (kommagetrennt)",
|
|||
|
|
"support.new.tagsHelp": "Bis zu 10 kurze Labels. Leerzeichen und Satzzeichen werden normalisiert.",
|
|||
|
|
"support.new.tagsWillSend": "Wird gesendet: {tags}",
|
|||
|
|
"support.new.message": "Nachricht",
|
|||
|
|
"support.new.messagePlaceholder": "Beschreiben Sie das Problem, Ihre Erwartung und alles, was uns beim Reproduzieren hilft.",
|
|||
|
|
"support.new.createdTitle": "Ticket erstellt",
|
|||
|
|
"support.new.createdBody": "Wir antworten in diesem Thread. Achten Sie auf In-App-Benachrichtigungen.",
|
|||
|
|
"support.new.viewTicket": "View Ticket",
|
|||
|
|
"support.new.unavailable": "Support is temporarily nicht verfügbar. Your message was not submitted — try again shortly.",
|
|||
|
|
"support.new.unavailableTitle": "Support nicht verfügbar",
|
|||
|
|
"support.new.createFailed": "Ticket konnte nicht erstellt werden",
|
|||
|
|
"support.ticket.fallbackTitle": "Support Ticket",
|
|||
|
|
"support.ticket.description": "Conversation thread with Descrybe Support.",
|
|||
|
|
"support.ticket.meta": "{category} · {priority} · Aktualisiert {when}",
|
|||
|
|
"support.ticket.allTickets": "Alle Tickets",
|
|||
|
|
"support.ticket.loading": "Laden Ticket…",
|
|||
|
|
"support.ticket.missingId": "Ticket-ID fehlt",
|
|||
|
|
"support.ticket.notFound": "Ticket nicht gefunden",
|
|||
|
|
"support.ticket.notFoundMessage": "Dieses Ticket wurde möglicherweise entfernt oder Sie haben keinen Zugriff.",
|
|||
|
|
"support.ticket.backCenter": "Zurück to Support Center",
|
|||
|
|
"support.ticket.unavailable": "Support ist vorübergehend nicht verfügbar.",
|
|||
|
|
"support.ticket.loadFailed": "Ticket konnte nicht geladen werden",
|
|||
|
|
"support.ticket.openedMeta": "Öffnened {when} · {category} · {priority} priority",
|
|||
|
|
"support.ticket.sku": "SKU {sku}",
|
|||
|
|
"support.ticket.messagesAria": "Ticketnachrichten",
|
|||
|
|
"support.ticket.noMessages": "Keine Nachrichten",
|
|||
|
|
"support.ticket.noMessagesHelp": "Dieser Thread hat noch keine Nachrichten.",
|
|||
|
|
"support.ticket.yourReply": "Ihre Antwort",
|
|||
|
|
"support.ticket.replyPlaceholder": "Add details or reply to Support…",
|
|||
|
|
"support.ticket.sendReply": "Antwort senden",
|
|||
|
|
"support.ticket.replySent": "Antwort gesendet",
|
|||
|
|
"support.ticket.reopened": "Ticket für Teamprüfung wieder geöffnet.",
|
|||
|
|
"support.ticket.replyAdded": "Ihre Nachricht wurde dem Thread hinzugefügt.",
|
|||
|
|
"support.ticket.replyFailed": "Antwort konnte nicht gesendet werden",
|
|||
|
|
"support.ticket.reopenHint": "Replying reopens this Ticket for staff.",
|
|||
|
|
"support.ticket.humanHint": "Replying asks a human teammate to continue from hier.",
|
|||
|
|
"support.ticket.closedBanner": "This Ticket is closed. Erstellen a new Ticket if you still need help.",
|
|||
|
|
"support.kind.you": "Sie",
|
|||
|
|
"support.kind.human": "Hilfezentrum",
|
|||
|
|
"support.kind.auto": "Automatisiert",
|
|||
|
|
"support.kind.ai": "KI-unterstützt",
|
|||
|
|
"support.kind.system": "Systembereich",
|
|||
|
|
"support.kind.autoBadge": "Automatische Antwort",
|
|||
|
|
"support.kind.aiBadge": "KI-unterstützt",
|
|||
|
|
"support.progress.closed.title": "Ticket geschlossen",
|
|||
|
|
"support.progress.closed.message": "This conversation is closed. Öffnen a new Ticket if you still need help.",
|
|||
|
|
"support.progress.resolved.title": "Als gelöst markiert",
|
|||
|
|
"support.progress.resolved.message": "Wir glauben, das ist erledigt. Antworten zum Wiederöffnen oder unten kurz bewerten.",
|
|||
|
|
"support.progress.quickAnswer.title": "Schnelle Antwort gesendet",
|
|||
|
|
"support.progress.quickAnswer.message": "We shared an automated reply below. If it does not solve it, reply hier — a human will take over.",
|
|||
|
|
"support.progress.onIt.title": "Wir sind dran",
|
|||
|
|
"support.progress.onIt.handedMessage": "A Support teammate has your Ticket and will reply in this thread.",
|
|||
|
|
"support.progress.onIt.pendingMessage": "Support prüft Ihre Nachricht. Updates erscheinen in diesem Thread.",
|
|||
|
|
"support.progress.received.title": "Ticket empfangen",
|
|||
|
|
"support.progress.received.message": "Danke — wir haben Ihre Anfrage. Automatische Hilfe kann bald erscheinen, oder ein Teammitglied antwortet.",
|
|||
|
|
"support.category.billing": "Abrechnung",
|
|||
|
|
"support.category.billing.help": "Rechnungen, payment methods, plan changes, and Stripe receipts.",
|
|||
|
|
"support.category.billing_credits": "Abrechnung / credits",
|
|||
|
|
"support.category.billing_credits.help": "Credit-Saldo, Nutzungskontingente und Aufladungen.",
|
|||
|
|
"support.category.bug": "Bug / Fehler",
|
|||
|
|
"support.category.bug.help": "Unerwartete Fehler, kaputte Screens oder Schritte, die jedes Mal scheitern.",
|
|||
|
|
"support.category.account": "Konto / Zugang",
|
|||
|
|
"support.category.account.help": "Login, invites, Unternehmen membership, and permissions.",
|
|||
|
|
"support.category.integrations": "Integrationen",
|
|||
|
|
"support.category.integrations.help": "WooCommerce, Shopify, öffentliche API oder Connector-Setup.",
|
|||
|
|
"support.category.processing": "Verarbeitung / AI",
|
|||
|
|
"support.category.processing.help": "Produkt Verarbeitung, AI prompts, and generation quality.",
|
|||
|
|
"support.category.export": "Exportieren / channels",
|
|||
|
|
"support.category.export.help": "Exportieren Feeds, channels, and sync destinations.",
|
|||
|
|
"support.category.migration": "Migration / Daten",
|
|||
|
|
"support.category.migration.help": "Fehlende oder falsche Daten nach dem Cutover — Produkte, Feeds, Stores, Billing oder Team.",
|
|||
|
|
"support.category.other": "Sonstiges",
|
|||
|
|
"support.category.other.help": "Alles andere — wir leiten es an die richtige Person weiter.",
|
|||
|
|
"support.priority.low": "Niedrig",
|
|||
|
|
"support.priority.low.help": "Nice-to-have oder nicht blockierend — wir kommen der Reihe nach dazu.",
|
|||
|
|
"support.priority.normal": "Normal",
|
|||
|
|
"support.priority.normal.help": "Standard request. Most Tickets use this.",
|
|||
|
|
"support.priority.high": "Hoch",
|
|||
|
|
"support.priority.high.help": "Blockiert Arbeit oder Umsatz — sparsam verwenden.",
|
|||
|
|
"support.csat.thanks": "Danke für Ihr Feedback",
|
|||
|
|
"support.csat.unavailable": "Bewertung ist vorübergehend nicht verfügbar. Bitte später erneut versuchen.",
|
|||
|
|
"support.csat.unavailableTitle": "Bewertung nicht verfügbar",
|
|||
|
|
"support.csat.alreadyRated": "Sie haben dieses Ticket bereits bewertet.",
|
|||
|
|
"support.csat.alreadyRatedTitle": "Bereits bewertet",
|
|||
|
|
"support.csat.submitFailed": "Bewertung konnte nicht übermittelt werden",
|
|||
|
|
"support.csat.yourRating": "Ihre Bewertung",
|
|||
|
|
"support.csat.ratedOutOf": "You rated this Ticket {score} out of 5",
|
|||
|
|
"support.csat.howDidWeDo": "Wie waren wir?",
|
|||
|
|
"support.csat.formHelp": "This Ticket is {status}. Rate your experience (1–5). Optional comment helps us improve.",
|
|||
|
|
"support.csat.rating": "Bewertung",
|
|||
|
|
"support.csat.scoreAria": "{value} — {label}",
|
|||
|
|
"support.csat.whatWentWrong": "Was ist schiefgelaufen? (optional)",
|
|||
|
|
"support.csat.whatWentWrongPlaceholder": "Eine kurze Notiz hilft uns beim Nachfassen.",
|
|||
|
|
"support.csat.anythingElse": "Noch etwas? (optional)",
|
|||
|
|
"support.csat.optionalFeedback": "Optional Feedback",
|
|||
|
|
"support.csat.submit": "Bewertung absenden",
|
|||
|
|
"support.csat.score.1": "Sehr unzufrieden",
|
|||
|
|
"support.csat.score.2": "Unzufrieden",
|
|||
|
|
"support.csat.score.3": "OK",
|
|||
|
|
"support.csat.score.4": "Zufrieden",
|
|||
|
|
"support.csat.score.5": "Sehr zufrieden",
|
|||
|
|
"catalog.delete": "Löschen",
|
|||
|
|
"catalog.deleting": "Löschen…",
|
|||
|
|
"catalog.saving": "Speichern…",
|
|||
|
|
"catalog.adding": "Wird hinzugefügt…",
|
|||
|
|
"catalog.assigning": "Zuweisen…",
|
|||
|
|
"catalog.uploading": "Wird hochgeladen…",
|
|||
|
|
"catalog.create": "Erstellen",
|
|||
|
|
"catalog.createFailed": "Erstellen fehlgeschlagen",
|
|||
|
|
"catalog.updateFailed": "Aktualisierung fehlgeschlagen",
|
|||
|
|
"catalog.deleteFailed": "Löschen fehlgeschlagen",
|
|||
|
|
"catalog.importFailed": "Import fehlgeschlagen",
|
|||
|
|
"catalog.confirm": "Bestätigen",
|
|||
|
|
"catalog.confirmDeletion": "Löschen bestätigen",
|
|||
|
|
"catalog.areYouSure": "Sind Sie sicher?",
|
|||
|
|
"catalog.previous": "Zurück",
|
|||
|
|
"catalog.next": "Weiter",
|
|||
|
|
"catalog.expand": "Erweitern",
|
|||
|
|
"catalog.collapse": "Einklappen",
|
|||
|
|
"catalog.clearSearch": "Suche löschen",
|
|||
|
|
"catalog.clearFilters": "Filter löschen",
|
|||
|
|
"catalog.clearSelection": "Auswahl leeren",
|
|||
|
|
"catalog.add": "Hinzufügen",
|
|||
|
|
"catalog.update": "Aktualisieren",
|
|||
|
|
"catalog.edit": "Bearbeiten",
|
|||
|
|
"catalog.accept": "Übernehmen",
|
|||
|
|
"catalog.reject": "Ablehnen",
|
|||
|
|
"catalog.reset": "Zurücksetzen",
|
|||
|
|
"catalog.undo": "Rückgängig",
|
|||
|
|
"catalog.close": "Schließen",
|
|||
|
|
"catalog.closePanel": "Panel schließen",
|
|||
|
|
"catalog.closeMenus": "Menüs schließen",
|
|||
|
|
"catalog.openMenu": "Menü öffnen",
|
|||
|
|
"catalog.loading": "Laden…",
|
|||
|
|
"catalog.empty": "Leer",
|
|||
|
|
"catalog.required": "Erforderlich",
|
|||
|
|
"catalog.optional": "Optional",
|
|||
|
|
"catalog.features": "Funktionen",
|
|||
|
|
"catalog.csvImportFinished": "CSV-Import abgeschlossen.",
|
|||
|
|
"catalog.comparePlans": "Pläne vergleichen",
|
|||
|
|
"catalog.saveChanges": "Änderungen speichern",
|
|||
|
|
"catalog.saveFormula": "Formel speichern",
|
|||
|
|
"catalog.saveFormulaShort": "Formel speichern",
|
|||
|
|
"catalog.noResults": "Keine Ergebnisse",
|
|||
|
|
"products.title": "Produkte",
|
|||
|
|
"products.description": "Durchsuchen, prüfen und verarbeiten Sie Ihren Katalog.",
|
|||
|
|
"products.loadFailed": "Produkte konnten nicht geladen werden",
|
|||
|
|
"products.unnamed": "Unbenanntes Produkt",
|
|||
|
|
"products.tabs.navLabel": "Produktansichten",
|
|||
|
|
"products.tab.processed": "Verarbeitet",
|
|||
|
|
"products.tab.processedHint": "Fertige Produkte zum Exportieren oder Synchronisieren",
|
|||
|
|
"products.tab.needsReview": "Zur Prüfung",
|
|||
|
|
"products.tab.needsReviewHint": "Angereicherte Produkte zum Annehmen, Bearbeiten oder Ablehnen",
|
|||
|
|
"products.tab.needsReviewShort": "Prüfung",
|
|||
|
|
"products.tab.error": "Fehler",
|
|||
|
|
"products.tab.errorHint": "Produkte, die in einem Job fehlgeschlagen sind",
|
|||
|
|
"products.tab.processing": "In Bearbeitung",
|
|||
|
|
"products.tab.processingHint": "Produkte in einem laufenden Job",
|
|||
|
|
"products.tab.busy": "In Bearbeitung",
|
|||
|
|
"products.tab.unprocessed": "Unverarbeitet",
|
|||
|
|
"products.tab.unprocessedHint": "Katalogprodukte, die noch nicht verarbeitet wurden",
|
|||
|
|
"products.tab.raw": "Unverarbeitet",
|
|||
|
|
"products.status.processed": "Verarbeitet",
|
|||
|
|
"products.status.needsReview": "Prüfung erforderlich",
|
|||
|
|
"products.status.processing": "Verarbeitung",
|
|||
|
|
"products.status.error": "Fehler",
|
|||
|
|
"products.status.failed": "Fehlgeschlagen",
|
|||
|
|
"products.status.unprocessed": "Unverarbeitet",
|
|||
|
|
"products.status.pending": "Ausstehend",
|
|||
|
|
"products.status.unknown": "Unbekannt",
|
|||
|
|
"products.pagination.showing": "Anzeige {start}–{end} von {total}",
|
|||
|
|
"products.empty.processing.title": "Noch keine Jobs",
|
|||
|
|
"products.empty.processing.messageJobs": "Gerade läuft nichts. Starten Sie einen Job unter Unverarbeitet, oder öffnen Sie Verarbeitung, um den Fortschritt zu verfolgen.",
|
|||
|
|
"products.empty.processing.messageBasic": "Produkte erscheinen hier, während ein Job läuft.",
|
|||
|
|
"products.empty.needsReview.title": "Keine Produkte zur Prüfung",
|
|||
|
|
"products.empty.needsReview.message": "Nach einem Job landen angereicherte Produkte hier. Öffnen Sie eine Zeile zum Vergleichen, dann Übernehmen, bearbeiten oder Ablehnen.",
|
|||
|
|
"products.empty.error.title": "Keine Produkte mit Fehlern",
|
|||
|
|
"products.empty.error.message": "Wenn ein Job für ein Produkt fehlschlägt, erscheint es hier zum erneuten Versuch.",
|
|||
|
|
"products.empty.noUnprocessedMatches": "Keine unverarbeiteten Treffer",
|
|||
|
|
"products.empty.noMatch": "Keine Produkte stimmen überein",
|
|||
|
|
"products.empty.filtersHint": "Andere Suche, Kategorie oder Feed versuchen — oder Filter leeren, um alles zu sehen.",
|
|||
|
|
"products.empty.noUnprocessed.title": "Noch keine unverarbeiteten Produkte",
|
|||
|
|
"products.empty.noUnprocessed.message": "Verbinden Sie einen Lieferanten-Feed oder laden Sie eine CSV hoch, um Produkte zu importieren.",
|
|||
|
|
"products.empty.none.title": "Noch keine Produkte",
|
|||
|
|
"products.empty.none.messageStores": "Schließen Sie zuerst Feeds → Map → Sync ab, dann Process. Importieren Sie aus einem Feed oder einem Store.",
|
|||
|
|
"products.empty.none.messageBasic": "Schließen Sie zuerst Feeds → Map → Sync ab, dann Process. Verbinden Sie einen Feed oder laden Sie eine CSV hoch.",
|
|||
|
|
"products.actions.viewJobs": "Jobs anzeigen",
|
|||
|
|
"products.actions.startJob": "Auftrag starten",
|
|||
|
|
"products.actions.viewProcessed": "Verarbeitete anzeigen",
|
|||
|
|
"products.actions.retryFromCatalog": "Aus Katalog erneut versuchen",
|
|||
|
|
"products.actions.connectFeed": "Feed verbinden",
|
|||
|
|
"products.actions.addProduct": "Produkt hinzufügen",
|
|||
|
|
"products.actions.uploadCsv": "CSV hochladen",
|
|||
|
|
"products.actions.exportSelected": "Auswahl exportieren",
|
|||
|
|
"products.export.title": "Ausgewählte Produkte exportieren",
|
|||
|
|
"products.export.confirm": "Export bestätigen",
|
|||
|
|
"products.export.loadFailed": "Export-Feed-Optionen konnten nicht geladen werden. Bitte erneut versuchen.",
|
|||
|
|
"products.export.noneFound": "Noch keine Export-Feeds. Erstellen Sie einen unter Export Feeds und kehren Sie zurück, um Ihre Auswahl zu exportieren.",
|
|||
|
|
"products.export.selectFormat": "Bitte wählen Sie einen Export-Feed.",
|
|||
|
|
"products.export.failed": "Ausgewählte Produkte konnten nicht exportiert werden",
|
|||
|
|
"products.upload.title": "CSV hochladen",
|
|||
|
|
"products.upload.description": "Importieren Sie Produkte aus einer CSV-Datei (GTIN/EAN, Name, Kategorie, …). Laden Sie die Beispieldatei herunter, um den vollständigen Spaltensatz zu sehen.",
|
|||
|
|
"products.upload.submit": "Hochladen & importieren",
|
|||
|
|
"products.upload.chooseFirst": "Wählen Sie zuerst eine CSV-Datei.",
|
|||
|
|
"products.upload.csvOnly": "Bitte laden Sie eine CSV-Datei hoch.",
|
|||
|
|
"products.upload.tooLarge": "CSV must be 5 MB or smaller.",
|
|||
|
|
"products.processing.started": "Verarbeitungsjob gestartet",
|
|||
|
|
"products.processing.startFailed": "Verarbeitung konnte nicht gestartet werden",
|
|||
|
|
"products.processing.startJobFailed": "Verarbeitungsjob konnte nicht gestartet werden",
|
|||
|
|
"products.processing.cancelled": "Verarbeitung abgebrochen",
|
|||
|
|
"products.processing.jobsCancelled": "Verarbeitungsjobs abgebrochen",
|
|||
|
|
"products.processing.cancelFailed": "Verarbeitungsjob konnte nicht abgebrochen werden",
|
|||
|
|
"products.processing.justCancelled": "Der soeben gestartete Job wurde abgebrochen.",
|
|||
|
|
"products.processing.viewInProcessing": "In Verarbeitung anzeigen",
|
|||
|
|
"products.processing.confirm": "Verarbeitung bestätigen",
|
|||
|
|
"products.processing.freePlanTitle": "Free-Plan — Verarbeitung ohne KI",
|
|||
|
|
"products.processing.freePlanBody": "Normalisierung, Spezifikationen, Ausfüllen und EPREL verbrauchen keine Credits. AI-Titel/Beschreibungen erfordern einen bezahlten Plan oder Credits.",
|
|||
|
|
"products.enrichment.acceptTitle": "Anreicherung akzeptieren?",
|
|||
|
|
"products.enrichment.acceptConfirm": "Anreicherung akzeptieren bestätigen",
|
|||
|
|
"products.enrichment.acceptSelected": "Anreicherung für {count} ausgewählte(s) Produkt(e) akzeptieren? Sie werden zu Verarbeitet verschoben.",
|
|||
|
|
"products.enrichment.rejectConfirm": "Anreicherungsablehnung bestätigen",
|
|||
|
|
"products.enrichment.rejectBody": "Anreicherung ablehnen und dieses Produkt zu unverarbeitet zurücksetzen? Sie können die Verarbeitung später erneut ausführen.",
|
|||
|
|
"products.enrichment.rejectSelectedConfirm": "Ablehnung der Auswahl bestätigen",
|
|||
|
|
"products.enrichment.resetConfirm": "Zurücksetzen auf unverarbeitet bestätigen",
|
|||
|
|
"products.enrichment.resetSelected": "{count} ausgewählte(s) Produkt(e) auf unverarbeitet zurücksetzen? Sie erscheinen wieder als unverarbeitete Einträge.",
|
|||
|
|
"products.enrichment.accepted": "Anreicherung akzeptiert — nach Verarbeitet verschoben.",
|
|||
|
|
"products.enrichment.rejected": "Anreicherung abgelehnt — Produkt zu unverarbeitet zurückgesetzt.",
|
|||
|
|
"products.enrichment.acceptFailed": "Anreicherung konnte nicht akzeptiert werden",
|
|||
|
|
"products.enrichment.rejectFailed": "Anreicherung konnte nicht abgelehnt werden",
|
|||
|
|
"products.enrichment.acceptUndone": "Übernahme rückgängig",
|
|||
|
|
"products.enrichment.undoAcceptFailed": "Akzeptieren konnte nicht rückgängig gemacht werden",
|
|||
|
|
"products.enrichment.resetDone": "Produkt zu unverarbeitet zurückgesetzt.",
|
|||
|
|
"products.enrichment.resetFailed": "Produkte konnten nicht zurückgesetzt werden",
|
|||
|
|
"products.enrichment.valueReset": "Angereicherter Wert auf Original zurückgesetzt.",
|
|||
|
|
"products.enrichment.originalEmpty": "Originalwert ist leer; Anreicherung kann per PATCH nicht gelöscht werden.",
|
|||
|
|
"products.enrichment.staysNeedsReview": "Das Produkt bleibt in Needs Review, bis Sie alles akzeptieren.",
|
|||
|
|
"products.field.nameAcceptUndone": "Namensakzeptanz rückgängig gemacht",
|
|||
|
|
"products.field.descriptionAcceptUndone": "Beschreibungsakzeptanz rückgängig gemacht",
|
|||
|
|
"products.field.nameDiscardUndone": "Namensverwerfen rückgängig gemacht",
|
|||
|
|
"products.field.descriptionDiscardUndone": "Beschreibungsverwerfen rückgängig gemacht",
|
|||
|
|
"products.field.undoAcceptFailed": "Feldakzeptanz konnte nicht rückgängig gemacht werden",
|
|||
|
|
"products.field.undoDiscardFailed": "Feldverwerfen konnte nicht rückgängig gemacht werden",
|
|||
|
|
"products.updateFailed": "Produkt konnte nicht aktualisiert werden",
|
|||
|
|
"products.keyboardTips": "Tastaturkürzel",
|
|||
|
|
"products.keyboardTipsShort": "Tastaturkürzel (?)",
|
|||
|
|
"products.option.categories": "Kategorien",
|
|||
|
|
"products.option.attributes": "Attribute / Spezifikationen",
|
|||
|
|
"products.option.titlesAi": "Titel (KI)",
|
|||
|
|
"products.option.descriptionsAi": "Beschreibungen (KI)",
|
|||
|
|
"products.enrichment.piece.name": "Bezeichnung",
|
|||
|
|
"products.enrichment.piece.description": "Beschreibung",
|
|||
|
|
"products.enrichment.piece.attributes": "Attribute",
|
|||
|
|
"products.enrichment.piece.category": "Kategorie",
|
|||
|
|
"products.enrichment.state.processed": "Verarbeitet",
|
|||
|
|
"products.enrichment.state.feed": "Aus dem Feed",
|
|||
|
|
"products.enrichment.state.missing": "Fehlend",
|
|||
|
|
"products.enrichment.help.name": "Produkttitel. Grün = AI-verarbeiteter Name; orange = nur Feed-/Originalname; grau = fehlend.",
|
|||
|
|
"products.enrichment.help.description": "Produktbeschreibung. Grün = AI-verarbeitet; orange = nur Feed/Original; grau = fehlend.",
|
|||
|
|
"products.enrichment.help.attributes": "Spezifikationen und Attribute. Grün = AI-/angereicherte Attribute; orange = nur aus dem Feed; grau = keine.",
|
|||
|
|
"products.enrichment.help.category": "Zugewiesene Kategorie. Grün = Kategorie gesetzt; grau = fehlend.",
|
|||
|
|
"products.enrichment.chipTitle": "{label}: {state}. {help}",
|
|||
|
|
"products.enrichment.complete": "Vollständig — {parts}",
|
|||
|
|
"products.enrichment.missingSummary": "Fehlt {missing} — {parts}",
|
|||
|
|
"products.issue.title": "Titel",
|
|||
|
|
"products.issue.gtin": "GTIN",
|
|||
|
|
"products.issue.category": "Kategorie",
|
|||
|
|
"products.filters.allCategories": "Alle Kategorien",
|
|||
|
|
"products.filters.allFeeds": "Alle Feeds",
|
|||
|
|
"products.filters.allCoverage": "Gesamte Abdeckung",
|
|||
|
|
"products.filters.anyFeedChange": "Jede Feed-Änderung",
|
|||
|
|
"products.filters.eprelAll": "EPREL: alle",
|
|||
|
|
"products.filters.feedChangesAll": "Feed-Änderungen: alle",
|
|||
|
|
"products.filters.byCategory": "Nach Kategorie filtern",
|
|||
|
|
"products.filters.byCoverage": "Nach Abdeckung filtern",
|
|||
|
|
"products.filters.byFeed": "Nach Feed filtern",
|
|||
|
|
"products.filters.byEprel": "Nach EPREL filtern",
|
|||
|
|
"products.filters.byFeedSync": "Nach Feed-Sync-Änderungen filtern",
|
|||
|
|
"products.filters.coverageHint": "Nach Vollständigkeit von Name / Beschreibung / Attribute / Kategorie filtern",
|
|||
|
|
"products.filters.feedSyncHint": "Nach Preis-/Bestands-/Titeländerungen der letzten Feed-Synchronisation filtern",
|
|||
|
|
"products.filters.eprelHint": "Produkte filtern, die eine EPREL-Energieetiketten-Register-ID haben oder nicht",
|
|||
|
|
"products.filters.availabilityChanged": "Verfügbarkeit geändert",
|
|||
|
|
"products.eprel.badgeTitle": "EPREL-ID bei diesem Produkt vorhanden (European Product Registry for Energy Labelling).",
|
|||
|
|
"products.eprel.help": "Die European Product Registry for Energy Labelling (EPREL)-ID ist auf diesem Produkt vorhanden.",
|
|||
|
|
"products.feedData": "Feed-Daten",
|
|||
|
|
"attributes.title": "Attribute",
|
|||
|
|
"attributes.description": "Definieren Sie Produktfelder, Listenwerte und Kategoriezuweisungen.",
|
|||
|
|
"attributes.loadFailed": "Attribute konnten nicht geladen werden",
|
|||
|
|
"attributes.loading": "Attribute werden geladen…",
|
|||
|
|
"attributes.zero": "0 Attribute",
|
|||
|
|
"attributes.addNew": "Neues Attribut hinzufügen",
|
|||
|
|
"attributes.create": "Attribut erstellen",
|
|||
|
|
"attributes.edit": "Attribut bearbeiten",
|
|||
|
|
"attributes.delete": "Attribut löschen",
|
|||
|
|
"attributes.displayName": "Anzeigename des Attributs",
|
|||
|
|
"attributes.actions": "Attributaktionen",
|
|||
|
|
"attributes.created": "Attribut erstellt.",
|
|||
|
|
"attributes.createdAssignFailed": "Attribut erstellt, aber die Kategoriezuweisung ist fehlgeschlagen.",
|
|||
|
|
"attributes.updated": "Attribut aktualisiert.",
|
|||
|
|
"attributes.deleted": "Attribut gelöscht.",
|
|||
|
|
"attributes.addValue": "Wert hinzufügen",
|
|||
|
|
"attributes.manageValues": "Werte für dieses Listenattribut hinzufügen, bearbeiten oder entfernen.",
|
|||
|
|
"attributes.valueTypeHint": "Wählen Sie, wie Werte für dieses Attribut eingegeben werden.",
|
|||
|
|
"attributes.createDescription": "Erstellen Sie eine neue Attributdefinition. Sie können sie während der Erstellung einer Kategorie zuweisen.",
|
|||
|
|
"attributes.assignToCategories": "Attribute Kategorien zuweisen",
|
|||
|
|
"attributes.assignFailed": "Attribut konnte der ausgewählten Kategorie nicht zugewiesen werden.",
|
|||
|
|
"attributes.bulkAssignFailed": "Massenzuweisung fehlgeschlagen",
|
|||
|
|
"attributes.filterByCategory": "Nach Kategorie filtern",
|
|||
|
|
"attributes.saveValueFailed": "Wert konnte nicht gespeichert werden",
|
|||
|
|
"attributes.deleteValueFailed": "Wert konnte nicht gelöscht werden",
|
|||
|
|
"attributes.csvNeedHeader": "CSV muss eine Kopfzeile und mindestens eine Zeile enthalten",
|
|||
|
|
"attributes.csvNeedColumns": "CSV muss die Spalten „category_id“ und „attribute_key“ enthalten",
|
|||
|
|
"attributes.type.string": "Text",
|
|||
|
|
"attributes.type.stringHint": "Freitext — Namen, Modelle, kurze Notizen",
|
|||
|
|
"attributes.type.number": "Zahl",
|
|||
|
|
"attributes.type.numberHint": "Numerischer Wert; Einheit hinzufügen, wenn sinnvoll (cm, kg, W)",
|
|||
|
|
"attributes.type.boolean": "Ja / Nein",
|
|||
|
|
"attributes.type.booleanHint": "Wahr oder falsch — z. B. hat GPS, kabelloses Laden",
|
|||
|
|
"attributes.type.date": "Datum",
|
|||
|
|
"attributes.type.dateHint": "Ein Kalenderdatum (Veröffentlichung, Garantieende, …)",
|
|||
|
|
"attributes.type.list": "Dropdown",
|
|||
|
|
"attributes.type.listHint": "Wählen Sie genau eine Option aus einer definierten Liste",
|
|||
|
|
"attributes.type.multiselect": "Mehrfachauswahl",
|
|||
|
|
"attributes.type.multiselectHint": "Wählen Sie eine oder mehrere Optionen aus einer Liste",
|
|||
|
|
"attributes.color": "Farbe",
|
|||
|
|
"categories.title": "Kategorien",
|
|||
|
|
"categories.description": "Organisieren Sie Ihre Kataloghierarchie. Bearbeiten Sie eine Kategorie für Titel-/Beschreibungsformeln und KI-Prompts.",
|
|||
|
|
"categories.loadFailed": "Kategorien konnten nicht geladen werden",
|
|||
|
|
"categories.add": "Kategorie hinzufügen",
|
|||
|
|
"categories.edit": "Kategorie bearbeiten",
|
|||
|
|
"categories.delete": "Kategorie löschen",
|
|||
|
|
"categories.deleteConfirm": "Möchten Sie diese Kategorie wirklich löschen? Dies kann nicht rückgängig gemacht werden.",
|
|||
|
|
"categories.name": "Kategoriename",
|
|||
|
|
"categories.namePlaceholder": "Kategoriename",
|
|||
|
|
"categories.descriptionPlaceholder": "Optionale Kategoriebeschreibung",
|
|||
|
|
"categories.uniqueIdPlaceholder": "Optionale eindeutige Kennung",
|
|||
|
|
"categories.searchPlaceholder": "Nach Name oder ID suchen...",
|
|||
|
|
"categories.created": "{name} wurde erstellt.",
|
|||
|
|
"categories.updated": "Die Kategorie wurde erfolgreich aktualisiert.",
|
|||
|
|
"categories.deleted": "Die Kategorie wurde erfolgreich gelöscht.",
|
|||
|
|
"categories.notFound": "Kategorie nicht gefunden.",
|
|||
|
|
"categories.loadCategoryFailed": "Kategorie konnte nicht geladen werden",
|
|||
|
|
"categories.noCategoriesYet": "Noch keine Kategorien",
|
|||
|
|
"categories.noMatch": "Keine Kategorie entspricht „{query}“. Suche löschen oder anderen Begriff versuchen.",
|
|||
|
|
"categories.emptyHint": "Fügen Sie eine Kategorie hinzu oder importieren Sie eine CSV für Ihren Baum.",
|
|||
|
|
"categories.promptCountOne": "{count} Kategorie hat einen KI-Generierungs-Prompt. Öffnen Sie das Menü ⋮ → KI-Prompt bearbeiten, oder bearbeiten Sie eine Kategorie und wählen Sie KI-Prompt bearbeiten.",
|
|||
|
|
"categories.promptCountMany": "{count} Kategorien haben einen KI-Generierungs-Prompt. Öffnen Sie das Menü ⋮ → KI-Prompt bearbeiten, oder bearbeiten Sie eine Kategorie und wählen Sie KI-Prompt bearbeiten.",
|
|||
|
|
"categories.actions": "Kategorieaktionen",
|
|||
|
|
"categories.chooseCsv": "CSV wählen",
|
|||
|
|
"categories.createSingleOrImport": "Erstellen Sie eine Kategorie oder importieren Sie viele per CSV.",
|
|||
|
|
"categories.createSingle": "Eine einzelne Kategorie erstellen.",
|
|||
|
|
"categories.missingNameColumn": "Erforderliche Spalte 'name' fehlt",
|
|||
|
|
"categories.missingUniqueIdColumn": "Erforderliche Spalte 'unique_id' fehlt",
|
|||
|
|
"categories.nameAndIdRequired": "Name und eindeutige ID sind erforderlich.",
|
|||
|
|
"categories.csvNeedRows": "Die Datei muss eine Kopfzeile und mindestens eine Datenzeile enthalten",
|
|||
|
|
"categories.titleFormula": "Titelformel",
|
|||
|
|
"categories.descriptionFormula": "Beschreibungsformel",
|
|||
|
|
"categories.setTitleFormula": "Titelformel festlegen",
|
|||
|
|
"categories.editTitleFormula": "Titelformel bearbeiten",
|
|||
|
|
"categories.setDescriptionFormula": "Beschreibungsformel festlegen",
|
|||
|
|
"categories.editDescriptionFormula": "Beschreibungsformel bearbeiten",
|
|||
|
|
"categories.setAiPrompt": "KI-Prompt festlegen",
|
|||
|
|
"categories.editAiPrompt": "KI-Prompt bearbeiten",
|
|||
|
|
"categories.editAiPromptShort": "KI-Prompt bearbeiten",
|
|||
|
|
"categories.aiPromptSet": "KI-Generierungs-Prompt ist gesetzt",
|
|||
|
|
"categories.aiPromptTitle": "Kategorie-KI-Prompt",
|
|||
|
|
"categories.aiPromptDescription": "Kategoriebezogene Generierungsvorlage beim Anreichern von Produkten in dieser Kategorie.",
|
|||
|
|
"categories.aiPromptSaved": "KI-Prompt gespeichert.",
|
|||
|
|
"categories.aiPromptCleared": "KI-Prompt gelöscht (Unternehmensstandard gilt).",
|
|||
|
|
"categories.aiPromptSaveFailed": "Prompt konnte nicht gespeichert werden",
|
|||
|
|
"categories.aiPromptAssignFailed": "Prompt konnte nicht zugewiesen werden",
|
|||
|
|
"categories.assignAiPrompt": "KI-Prompt zuweisen",
|
|||
|
|
"categories.assignAiPromptHelp": "Kopieren Sie diesen KI-Generierungs-Prompt in andere Kategorien.",
|
|||
|
|
"categories.loadingPrompt": "Prompt wird geladen…",
|
|||
|
|
"categories.brandVoice": "Markenstimme",
|
|||
|
|
"categories.productName": "Produktname",
|
|||
|
|
"categories.gtin": "GTIN",
|
|||
|
|
"categories.backToCategories": "Zurück zu Kategorien",
|
|||
|
|
"categories.cancelReturn": "Abbrechen und zu Kategorien zurück",
|
|||
|
|
"categories.assignFormula": "Formel zuweisen",
|
|||
|
|
"categories.assignFormulaOther": "Formel anderen Kategorien zuweisen",
|
|||
|
|
"categories.assignTitleFormula": "Titelformel zuweisen",
|
|||
|
|
"categories.assignDescriptionFormula": "Beschreibungsformel zuweisen",
|
|||
|
|
"categories.assignSelectHelp": "Wählen Sie die Kategorien für diese Vorlage.",
|
|||
|
|
"categories.assignTitleHelp": "Wählen Sie die Kategorien für diese Titelformel-Vorlage.",
|
|||
|
|
"categories.assignDescriptionHelp": "Wählen Sie die Kategorien für diese Beschreibungsformel-Vorlage.",
|
|||
|
|
"categories.searchCategories": "Kategorien suchen…",
|
|||
|
|
"categories.matching": " passende",
|
|||
|
|
"categories.titleFormulaHelp": "Erstellen Sie Produkttitel aus Variablen und statischem Text für diese Kategorie.",
|
|||
|
|
"categories.descriptionFormulaHelp": "Definieren Sie SEO-Metatext und Body-Abschnitte, die die KI für diese Kategorie erzeugen soll.",
|
|||
|
|
"categories.loadingFormula": "Formel wird geladen…",
|
|||
|
|
"categories.titleFormulaSaved": "Titelformel erfolgreich gespeichert",
|
|||
|
|
"categories.titleFormulaRemoved": "Titelformel erfolgreich entfernt",
|
|||
|
|
"categories.titleFormulaSaveFailed": "Titelformel konnte nicht gespeichert werden",
|
|||
|
|
"categories.titleFormulaAssignFailed": "Titelformel konnte nicht zugewiesen werden",
|
|||
|
|
"categories.descriptionFormulaRemoved": "Beschreibungsformel erfolgreich entfernt",
|
|||
|
|
"categories.descriptionFormulaSaved": "Beschreibungsformel erfolgreich gespeichert",
|
|||
|
|
"categories.descriptionFormulaSavedWithExports": "Beschreibungsformel erfolgreich gespeichert und {count} Export-IDs synchronisiert",
|
|||
|
|
"categories.descriptionFormulaSaveFailed": "Beschreibungsformel konnte nicht gespeichert werden",
|
|||
|
|
"categories.descriptionFormulaAssignFailed": "Beschreibungsformel konnte nicht zugewiesen werden",
|
|||
|
|
"categories.seoTitlePlaceholder": "Sagen Sie der KI, wie der SEO-Titel geschrieben werden soll…",
|
|||
|
|
"categories.seoDescriptionPlaceholder": "Sagen Sie der KI, wie die SEO-Beschreibung geschrieben werden soll…",
|
|||
|
|
"categories.sectionPromptPlaceholder": "Was soll die KI in diesem Abschnitt schreiben?",
|
|||
|
|
"categories.sectionKeyPlaceholder": "z. B. short_description (Buchstaben, Zahlen, _)",
|
|||
|
|
"categories.formulaElementTypes": "Formelelementtypen",
|
|||
|
|
"categories.formulaElements": "Formelelemente",
|
|||
|
|
"categories.elementSeparator": "Elementtrenner",
|
|||
|
|
"categories.elementSeparatorHint": "Leerzeichen, Bindestrich usw.",
|
|||
|
|
"categories.dragToReorder": "Ziehen zum Neuordnen",
|
|||
|
|
"categories.addCustomVariable": "Benutzerdefinierte Variable hinzufügen",
|
|||
|
|
"categories.editCustomVariable": "Benutzerdefinierte Variable bearbeiten",
|
|||
|
|
"categories.customVariableHelp": "Definieren Sie eine wiederverwendbare Variable für Titelformeln.",
|
|||
|
|
"categories.manageVariables": "Variablen verwalten",
|
|||
|
|
"categories.manageVariablesHelp": "Variablen für Ihre Titelformeln anzeigen, bearbeiten und hinzufügen.",
|
|||
|
|
"categories.searchVariables": "Variablen suchen…",
|
|||
|
|
"categories.variableAdded": "Variable erfolgreich hinzugefügt",
|
|||
|
|
"categories.variableUpdated": "Variable erfolgreich aktualisiert",
|
|||
|
|
"categories.variableDeleted": "Variable erfolgreich gelöscht",
|
|||
|
|
"categories.variableDeleteFailed": "Variable konnte nicht gelöscht werden",
|
|||
|
|
"categories.variableNameRequired": "Variablenname ist erforderlich",
|
|||
|
|
"categories.displayNameRequired": "Anzeigename ist erforderlich",
|
|||
|
|
"categories.variableNamePattern": "Der Name darf nur Buchstaben, Zahlen und Unterstriche enthalten",
|
|||
|
|
"categories.deleteVariableConfirm": "Möchten Sie diese Variable wirklich löschen? Das kann Formeln betreffen, die sie verwenden.",
|
|||
|
|
"categories.removeElementConfirm": "Möchten Sie dieses Element wirklich aus Ihrer Formel entfernen?",
|
|||
|
|
"categories.addTextElement": "Textelement hinzufügen",
|
|||
|
|
"categories.addTextElementHelp": "Fügen Sie Ihrer Formel ein statisches Textelement hinzu.",
|
|||
|
|
"categories.editTextElement": "Textelement bearbeiten",
|
|||
|
|
"categories.editTextElementHelp": "Bearbeiten Sie das Textelement in Ihrer Formel.",
|
|||
|
|
"categories.staticTextPlaceholder": "Statischen Text eingeben",
|
|||
|
|
"categories.textCannotBeEmpty": "Text darf nicht leer sein",
|
|||
|
|
"categories.exampleProductName": "Produktname",
|
|||
|
|
"categories.exampleWidget": "Acme Widget Pro (Beispiel)",
|
|||
|
|
"fields.title": "Standardfelder",
|
|||
|
|
"fields.description": "Definieren Sie Standard-Produktfelder und organisieren Sie sie in Gruppen",
|
|||
|
|
"fields.loading": "Standardfelder werden geladen…",
|
|||
|
|
"fields.loadFailed": "Felder konnten nicht geladen werden",
|
|||
|
|
"fields.loadGroupsFailed": "Feldgruppen konnten nicht geladen werden",
|
|||
|
|
"fields.addField": "Neues Feld hinzufügen",
|
|||
|
|
"fields.addGroup": "Neue Gruppe hinzufügen",
|
|||
|
|
"fields.createField": "Feld erstellen",
|
|||
|
|
"fields.createGroup": "Gruppe erstellen",
|
|||
|
|
"fields.editField": "Feld bearbeiten",
|
|||
|
|
"fields.editGroup": "Gruppe bearbeiten",
|
|||
|
|
"fields.basicInfo": "Grundinformationen",
|
|||
|
|
"fields.createFieldHelp": "Erstellen Sie ein neues Standardfeld für Ihre Produktdaten",
|
|||
|
|
"fields.editFieldHelp": "Aktualisieren Sie die Details dieses Standardfelds",
|
|||
|
|
"fields.createGroupHelp": "Erstellen Sie eine neue Gruppe für Ihre Standardfelder",
|
|||
|
|
"fields.editGroupHelp": "Aktualisieren Sie die Details dieser Feldgruppe",
|
|||
|
|
"fields.dataTypeHint": "Datentyp für dieses Feld",
|
|||
|
|
"fields.defaultValueOptional": "Standardwert (optional)",
|
|||
|
|
"fields.fieldDescriptionPlaceholder": "Beschreibung für dieses Feld eingeben",
|
|||
|
|
"fields.groupDescriptionPlaceholder": "Beschreibung für diese Gruppe eingeben",
|
|||
|
|
"fields.keyHint": "Nur Kleinbuchstaben, Zahlen und Unterstriche",
|
|||
|
|
"fields.exampleTitle": "Produkttitel",
|
|||
|
|
"fields.noFields": "Keine Felder gefunden. Klicken Sie auf „Feld hinzufügen“, um eines zu erstellen.",
|
|||
|
|
"fields.noFieldsMatch": "Keine Felder entsprechen Ihrer Suche",
|
|||
|
|
"fields.noGroups": "Keine Gruppen gefunden. Erstellen Sie Ihre erste Gruppe.",
|
|||
|
|
"fields.noGroupsMatch": "Keine Gruppen entsprechen Ihrer Suche",
|
|||
|
|
"fields.fieldCreated": "Feld erfolgreich erstellt",
|
|||
|
|
"fields.fieldUpdated": "Feld erfolgreich aktualisiert",
|
|||
|
|
"fields.fieldDeleted": "Feld erfolgreich gelöscht",
|
|||
|
|
"fields.groupCreated": "Gruppe erfolgreich erstellt",
|
|||
|
|
"fields.groupUpdated": "Gruppe erfolgreich aktualisiert",
|
|||
|
|
"fields.groupDeleted": "Gruppe erfolgreich gelöscht",
|
|||
|
|
"fields.saveFieldFailed": "Feld konnte nicht gespeichert werden",
|
|||
|
|
"fields.saveGroupFailed": "Gruppe konnte nicht gespeichert werden",
|
|||
|
|
"fields.updateFieldFailed": "Feld konnte nicht aktualisiert werden",
|
|||
|
|
"fields.updateUnitFailed": "Einheit konnte nicht aktualisiert werden",
|
|||
|
|
"fields.deleteFieldFailed": "Feld konnte nicht gelöscht werden",
|
|||
|
|
"fields.deleteGroupFailed": "Gruppe konnte nicht gelöscht werden",
|
|||
|
|
"fields.bulkUpdateFailed": "Massenaktualisierung fehlgeschlagen",
|
|||
|
|
"fields.enableRecommendedFailed": "Empfohlene Felder konnten nicht aktiviert werden",
|
|||
|
|
"fields.enabledRecommended": "Empfohlene E-Commerce-Felder aktiviert",
|
|||
|
|
"fields.deleteFieldConfirm": "Diese Aktion kann nicht rückgängig gemacht werden. Das Feld wird dauerhaft gelöscht und aus allen Vorlagen entfernt, die es verwenden.",
|
|||
|
|
"fields.deleteGroupConfirm": "Diese Aktion kann nicht rückgängig gemacht werden. Die Gruppe wird dauerhaft gelöscht. Felder in dieser Gruppe müssen neu zugewiesen werden.",
|
|||
|
|
"fields.type.string": "Text",
|
|||
|
|
"fields.type.stringHint": "Freitext — Namen, Codes, kurze Notizen",
|
|||
|
|
"fields.type.number": "Zahl",
|
|||
|
|
"fields.type.numberHint": "Numerischer Wert; Einheit hinzufügen, wenn sinnvoll (EUR, pcs)",
|
|||
|
|
"fields.type.boolean": "Ja / Nein",
|
|||
|
|
"fields.type.booleanHint": "Wahr oder falsch",
|
|||
|
|
"fields.type.date": "Datum",
|
|||
|
|
"fields.type.dateHint": "Ein Kalenderdatum",
|
|||
|
|
"fields.type.url": "URL",
|
|||
|
|
"fields.type.urlHint": "Weblink (Produktseite, Video, Hersteller)",
|
|||
|
|
"fields.type.image": "Bild",
|
|||
|
|
"fields.type.imageHint": "Bild-URL oder Galeriebild",
|
|||
|
|
"fields.type.dimension": "Abmessung",
|
|||
|
|
"fields.type.dimensionHint": "Längenmessung (Breite, Höhe, Tiefe)",
|
|||
|
|
"fields.type.weight": "Gewicht",
|
|||
|
|
"fields.type.weightHint": "Masse / Versandgewicht",
|
|||
|
|
"fields.type.color": "Farbe",
|
|||
|
|
"fields.type.colorHint": "Farbname oder -code",
|
|||
|
|
"fields.type.custom": "Benutzerdefiniert",
|
|||
|
|
"fields.type.customHint": "Spezielles / freies Feld",
|
|||
|
|
"empty.admin.knowledgeHeading": "Support-Wissen",
|
|||
|
|
"empty.admin.translationsHeading": "Übersetzungen",
|
|||
|
|
"flash.attrs.createdLinkFailed": "Attribut erstellt, aber die Kategoriezuweisung ist fehlgeschlagen.",
|
|||
|
|
"flash.attrs.created": "Attribut erstellt.",
|
|||
|
|
"flash.attrs.csvImported": "CSV-Import abgeschlossen.",
|
|||
|
|
"flash.attrs.updated": "Attribut aktualisiert.",
|
|||
|
|
"flash.attrs.deleted": "Attribut gelöscht.",
|
|||
|
|
"flash.attrs.valueDeleted": "Wert gelöscht.",
|
|||
|
|
"flash.attrs.assignedLinks": "{count} Kategorie–Attribut-Verknüpfung(en) zugewiesen.",
|
|||
|
|
"flash.brand.saved": "Marken-Kit gespeichert.",
|
|||
|
|
"flash.brand.logoType": "Logo muss PNG, JPEG oder WebP sein",
|
|||
|
|
"flash.brand.logoSize": "Logo überschreitet das 2-MiB-Limit",
|
|||
|
|
"flash.brand.logoUploaded": "Logo hochgeladen.",
|
|||
|
|
"flash.categories.updated": "Die Kategorie wurde erfolgreich aktualisiert.",
|
|||
|
|
"flash.categories.deleted": "Die Kategorie wurde erfolgreich gelöscht.",
|
|||
|
|
"flash.categories.csvImported": "CSV-Import abgeschlossen.",
|
|||
|
|
"flash.products.csvImported": "Product CSV import finished.",
|
|||
|
|
"flash.categories.descFormulaAssigned": "Beschreibungsformel {count} Kategorien zugewiesen",
|
|||
|
|
"flash.categories.promptAssigned": "Prompt {count} {noun} zugewiesen.",
|
|||
|
|
"flash.categories.promptNounOne": "Kategorie",
|
|||
|
|
"flash.categories.promptNounMany": "Kategorien",
|
|||
|
|
"flash.categories.titleFormulaAssigned": "Titelformel {count} {noun} zugewiesen",
|
|||
|
|
"flash.categories.variableDeleted": "Variable erfolgreich gelöscht",
|
|||
|
|
"flash.export.updated": "Export-Feed aktualisiert.",
|
|||
|
|
"flash.export.created": "Export-Feed erstellt.",
|
|||
|
|
"flash.export.urlCopied": "Öffentliche {format}-Feed-URL kopiert. Fügen Sie sie in jedes System ein, das Produktfeeds abruft.",
|
|||
|
|
"flash.export.copyFailed": "URL konnte nicht in die Zwischenablage kopiert werden",
|
|||
|
|
"flash.export.refreshed": "Feed aktualisiert.",
|
|||
|
|
"flash.export.refreshedWithCount": "Feed aktualisiert ({count} Produkte).",
|
|||
|
|
"flash.export.deleted": "Export-Feed erfolgreich gelöscht.",
|
|||
|
|
"flash.export.tokenRotated": "Oeffentliches Feed-URL-Token rotiert. Systeme mit der alten URL aktualisieren.",
|
|||
|
|
"common.edit": "Bearbeiten",
|
|||
|
|
"common.previous": "Zurück",
|
|||
|
|
"common.next": "Weiter",
|
|||
|
|
"common.saving": "Speichern…",
|
|||
|
|
"common.deleting": "Löschen…",
|
|||
|
|
"common.adding": "Wird hinzugefügt…",
|
|||
|
|
"common.processing": "Verarbeitung…",
|
|||
|
|
"common.upload": "Hochladen",
|
|||
|
|
"common.expand": "Erweitern",
|
|||
|
|
"common.collapse": "Einklappen",
|
|||
|
|
"common.optional": "Optional",
|
|||
|
|
"common.enabled": "Aktiviert",
|
|||
|
|
"common.on": "An",
|
|||
|
|
"common.off": "Aus",
|
|||
|
|
"common.system": "Systembereich",
|
|||
|
|
"common.type": "Typ",
|
|||
|
|
"common.unit": "Einheit",
|
|||
|
|
"common.group": "Gruppe",
|
|||
|
|
"common.search": "Suchen",
|
|||
|
|
"common.openMenu": "Menü öffnen",
|
|||
|
|
"common.areYouSure": "Sind Sie sicher?",
|
|||
|
|
"common.selectGroup": "Gruppe auswählen",
|
|||
|
|
"attributes.addAttribute": "Attribut hinzufügen",
|
|||
|
|
"attributes.searchPlaceholder": "Attribute suchen…",
|
|||
|
|
"attributes.searchAria": "Attribute suchen (Eingabetaste zum Suchen)",
|
|||
|
|
"attributes.filterCategoryAria": "Nach Kategorie filtern",
|
|||
|
|
"attributes.allCategories": "Alle Kategorien",
|
|||
|
|
"attributes.col.name": "Bezeichnung",
|
|||
|
|
"attributes.col.key": "Attributschlüssel",
|
|||
|
|
"attributes.col.type": "Typ",
|
|||
|
|
"attributes.col.unit": "Einheit",
|
|||
|
|
"attributes.col.categories": "Kategorien",
|
|||
|
|
"attributes.col.updated": "Zuletzt aktualisiert",
|
|||
|
|
"attributes.col.actions": "Aktionen",
|
|||
|
|
"attributes.emptyTitle": "Keine Attribute gefunden",
|
|||
|
|
"attributes.emptyFiltered": "Versuchen Sie, die Suche oder den Kategoriefilter zu löschen.",
|
|||
|
|
"attributes.emptyHint": "Fügen Sie ein Attribut hinzu oder importieren Sie eine CSV, um zu starten.",
|
|||
|
|
"attributes.noValues": "Keine Werte",
|
|||
|
|
"attributes.actionsAria": "Attributaktionen",
|
|||
|
|
"attributes.editDetails": "Details bearbeiten",
|
|||
|
|
"attributes.loadingValues": "Werte werden geladen...",
|
|||
|
|
"attributes.noValuesYetHint": "Noch keine Werte hinzugefügt. Nutzen Sie „Manage Values“, um Werte hinzuzufügen.",
|
|||
|
|
"attributes.pageZero": "0 Attribute",
|
|||
|
|
"attributes.pageShowing": "Anzeige {from}–{to} von {total} Attributen",
|
|||
|
|
"attributes.linkCategoryFailed": "Attribut konnte der ausgewählten Kategorie nicht zugewiesen werden.",
|
|||
|
|
"attributes.createdLinkFailed": "Attribut erstellt, aber die Kategoriezuweisung ist fehlgeschlagen.",
|
|||
|
|
"attributes.createFailed": "Erstellen fehlgeschlagen",
|
|||
|
|
"attributes.importFinished": "CSV-Import abgeschlossen.",
|
|||
|
|
"attributes.importFailed": "Import fehlgeschlagen",
|
|||
|
|
"attributes.updateFailed": "Aktualisierung fehlgeschlagen",
|
|||
|
|
"attributes.deleteFailed": "Löschen fehlgeschlagen",
|
|||
|
|
"attributes.valueUpdated": "Wert aktualisiert.",
|
|||
|
|
"attributes.valueAdded": "Wert hinzugefügt.",
|
|||
|
|
"attributes.valueSaveFailed": "Wert konnte nicht gespeichert werden",
|
|||
|
|
"attributes.valueDeleted": "Wert gelöscht.",
|
|||
|
|
"attributes.valueDeleteFailed": "Wert konnte nicht gelöscht werden",
|
|||
|
|
"attributes.csvNeedRows": "CSV muss eine Kopfzeile und mindestens eine Zeile enthalten",
|
|||
|
|
"attributes.rowUnknown": "Zeile {row}: unbekannte Kategorie oder Attribut",
|
|||
|
|
"attributes.rowLinkFailed": "Zeile {row}: {detail}",
|
|||
|
|
"attributes.linkFailedShort": "Verknüpfung fehlgeschlagen",
|
|||
|
|
"attributes.assignedLinks": "{count} Kategorie–Attribut-Verknüpfung(en) zugewiesen.",
|
|||
|
|
"attributes.rowsFailed": "{count} Zeile(n) fehlgeschlagen.",
|
|||
|
|
"attributes.addTitle": "Neues Attribut hinzufügen",
|
|||
|
|
"attributes.addDesc": "Erstellen Sie eine neue Attributdefinition. Sie können sie während der Erstellung einer Kategorie zuweisen.",
|
|||
|
|
"attributes.tab.single": "Einzeln",
|
|||
|
|
"attributes.tab.bulk": "Massenimport",
|
|||
|
|
"attributes.field.key": "Attributschlüssel",
|
|||
|
|
"attributes.field.keyPlaceholder": "Attribut-key",
|
|||
|
|
"attributes.field.displayName": "Anzeigename",
|
|||
|
|
"attributes.field.displayNamePlaceholder": "Anzeigename des Attributs",
|
|||
|
|
"attributes.field.type": "Typ",
|
|||
|
|
"attributes.field.typeDefaultHint": "Wählen Sie, wie Werte für dieses Attribut eingegeben werden.",
|
|||
|
|
"attributes.field.category": "Kategorie",
|
|||
|
|
"attributes.field.categoryPlaceholder": "Kategorie auswählen…",
|
|||
|
|
"attributes.field.categoryHint": "Wählen Sie die Kategorie, zu der dieses Attribut gehört. Attribute sollten einer Kategorie zugewiesen werden.",
|
|||
|
|
"attributes.field.unitOptional": "Einheit (optional)",
|
|||
|
|
"attributes.field.unitPlaceholder": "z. B. cm, kg usw.",
|
|||
|
|
"attributes.field.exampleOptional": "Beispiel (optional)",
|
|||
|
|
"attributes.field.examplePlaceholder": "z. B. 100x200",
|
|||
|
|
"attributes.createAttribute": "Attribut erstellen",
|
|||
|
|
"attributes.bulk.fileLabel": "CSV- oder TSV-Datei",
|
|||
|
|
"attributes.bulk.downloadCsv": "CSV-Vorlage herunterladen",
|
|||
|
|
"attributes.bulk.downloadTsv": "TSV-Vorlage herunterladen",
|
|||
|
|
"attributes.bulk.uploadHint": "Laden Sie eine CSV- oder TSV-Datei mit den folgenden Spalten hoch:",
|
|||
|
|
"attributes.bulk.col.key": "Eindeutiger Bezeichner (erforderlich)",
|
|||
|
|
"attributes.bulk.col.name": "Anzeigename (erforderlich)",
|
|||
|
|
"attributes.bulk.col.valueType": "string (Text), number, boolean (Ja/Nein), date, list (Dropdown), multiselect",
|
|||
|
|
"attributes.bulk.col.categoryId": "Eindeutige Kategorie-ID",
|
|||
|
|
"attributes.bulk.col.unitExample": "optional",
|
|||
|
|
"attributes.bulk.col.parentKey": "Elternschlüssel für Listenwerte",
|
|||
|
|
"attributes.editTitle": "Attribut bearbeiten",
|
|||
|
|
"attributes.editDesc": "Details für Attribut „{name}“ aktualisieren",
|
|||
|
|
"attributes.field.keyHint": "Eindeutiger Bezeichner für dieses Attribut",
|
|||
|
|
"attributes.field.displayNameHint": "Der Name, der den Benutzern angezeigt wird",
|
|||
|
|
"attributes.deleteTitle": "Attribut löschen",
|
|||
|
|
"attributes.deleteDesc": "Möchten Sie „{name}“ wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
|
|||
|
|
"attributes.deleteWarningValues": "Warnung: Dadurch werden auch alle mit diesem Attribut verknüpften Werte gelöscht.",
|
|||
|
|
"attributes.manageTitleNamed": "Werte für {name} verwalten",
|
|||
|
|
"attributes.manageTitle": "Werte verwalten",
|
|||
|
|
"attributes.manageDesc": "Werte für dieses Listenattribut hinzufügen, bearbeiten oder entfernen.",
|
|||
|
|
"attributes.valueKey": "Wertschlüssel",
|
|||
|
|
"attributes.valueKeyHint": "Eindeutiger Bezeichner für diesen Wert",
|
|||
|
|
"attributes.displayValue": "Anzeigewert",
|
|||
|
|
"attributes.displayValuePlaceholder": "Anzuzeigender Wert",
|
|||
|
|
"attributes.displayValueHint": "Der Anzeigename, der für diesen Wert angezeigt wird",
|
|||
|
|
"attributes.updateValue": "Wert aktualisieren",
|
|||
|
|
"attributes.noValuesYet": "Noch keine Werte.",
|
|||
|
|
"attributes.assignTitle": "Attribute Kategorien zuweisen",
|
|||
|
|
"attributes.assignDesc": "Laden Sie eine CSV hoch, die eindeutige Kategorie-IDs Attributschlüsseln zuordnet.",
|
|||
|
|
"attributes.downloadTemplate": "Vorlage herunterladen",
|
|||
|
|
"attributes.csvFile": "CSV-Datei",
|
|||
|
|
"attributes.assignSuccess": "Zuweisungen erfolgreich angewendet.",
|
|||
|
|
"attributes.assigning": "Zuweisen…",
|
|||
|
|
"attributes.uploadAndAssign": "Hochladen & zuweisen",
|
|||
|
|
"attributes.type.string.label": "Text",
|
|||
|
|
"attributes.type.string.hint": "Freitext — Namen, Modelle, kurze Notizen",
|
|||
|
|
"attributes.type.number.label": "Zahl",
|
|||
|
|
"attributes.type.number.hint": "Numerischer Wert; Einheit hinzufügen, wenn sinnvoll (cm, kg, W)",
|
|||
|
|
"attributes.type.boolean.label": "Ja / Nein",
|
|||
|
|
"attributes.type.boolean.hint": "Wahr oder falsch — z. B. hat GPS, kabelloses Laden",
|
|||
|
|
"attributes.type.date.label": "Datum",
|
|||
|
|
"attributes.type.date.hint": "Ein Kalenderdatum (Veröffentlichung, Garantieende, …)",
|
|||
|
|
"attributes.type.list.label": "Dropdown",
|
|||
|
|
"attributes.type.list.hint": "Wählen Sie genau eine Option aus einer definierten Liste",
|
|||
|
|
"attributes.type.multiselect.label": "Mehrfachauswahl",
|
|||
|
|
"attributes.type.multiselect.hint": "Wählen Sie eine oder mehrere Optionen aus einer Liste",
|
|||
|
|
"standardFields.title": "Standardfelder",
|
|||
|
|
"standardFields.description": "Definieren Sie Standard-Produktfelder und organisieren Sie sie in Gruppen",
|
|||
|
|
"standardFields.apiUnavailable": "Die Standardfelder-API ist nicht verfügbar. Änderungen können nicht gespeichert werden.",
|
|||
|
|
"standardFields.apiUnreachable": "Die Standardfelder-API ist derzeit nicht erreichbar. Erstellen/Bearbeiten bleibt deaktiviert, bis /api/standard-fields und /api/field-groups antworten.",
|
|||
|
|
"standardFields.loading": "Standardfelder werden geladen…",
|
|||
|
|
"standardFields.tab.fields": "Felder",
|
|||
|
|
"standardFields.tab.groups": "Gruppen",
|
|||
|
|
"standardFields.heading": "Standardfelder",
|
|||
|
|
"standardFields.headingHint": "Felder für Zuordnung und Verarbeitung aktivieren — ein Schalter pro Zeile.",
|
|||
|
|
"standardFields.enableRecommended": "Empfohlene aktivieren",
|
|||
|
|
"standardFields.enableSelected": "Auswahl aktivieren ({count})",
|
|||
|
|
"standardFields.disableSelected": "Auswahl deaktivieren",
|
|||
|
|
"standardFields.addField": "Feld hinzufügen",
|
|||
|
|
"standardFields.searchFields": "Felder suchen...",
|
|||
|
|
"standardFields.col.enabled": "Aktiviert",
|
|||
|
|
"standardFields.col.name": "Bezeichnung",
|
|||
|
|
"standardFields.col.key": "Schlüssel",
|
|||
|
|
"standardFields.col.type": "Typ",
|
|||
|
|
"standardFields.col.unit": "Einheit",
|
|||
|
|
"standardFields.col.group": "Gruppe",
|
|||
|
|
"standardFields.col.status": "Zustand",
|
|||
|
|
"standardFields.emptySearch": "Keine Felder entsprechen Ihrer Suche",
|
|||
|
|
"standardFields.emptyHint": "Keine Felder gefunden. Klicken Sie auf „Feld hinzufügen“, um eines zu erstellen.",
|
|||
|
|
"standardFields.selectFieldAria": "{name} auswählen",
|
|||
|
|
"standardFields.enableFieldAria": "{name} aktivieren",
|
|||
|
|
"standardFields.systemFieldTitle": "Systemfeld — kann nicht gelöscht werden",
|
|||
|
|
"standardFields.groupsHeading": "Feldgruppen",
|
|||
|
|
"standardFields.addGroup": "Gruppe hinzufügen",
|
|||
|
|
"standardFields.searchGroups": "Gruppen suchen...",
|
|||
|
|
"standardFields.col.description": "Beschreibung",
|
|||
|
|
"standardFields.col.displayOrder": "Anzeigereihenfolge",
|
|||
|
|
"standardFields.emptyGroupsSearch": "Keine Gruppen entsprechen Ihrer Suche",
|
|||
|
|
"standardFields.emptyGroupsHint": "Keine Gruppen gefunden. Erstellen Sie Ihre erste Gruppe.",
|
|||
|
|
"standardFields.unknownGroup": "Unbekannte Gruppe",
|
|||
|
|
"standardFields.loadGroupsFailed": "Feldgruppen konnten nicht geladen werden",
|
|||
|
|
"standardFields.loadFieldsFailed": "Felder konnten nicht geladen werden",
|
|||
|
|
"standardFields.fieldUpdated": "Feld erfolgreich aktualisiert",
|
|||
|
|
"standardFields.fieldCreated": "Feld erfolgreich erstellt",
|
|||
|
|
"standardFields.saveFieldFailed": "Feld konnte nicht gespeichert werden",
|
|||
|
|
"standardFields.enabledNamed": "{name} aktiviert",
|
|||
|
|
"standardFields.disabledNamed": "{name} deaktiviert",
|
|||
|
|
"standardFields.updateFieldFailed": "Feld konnte nicht aktualisiert werden",
|
|||
|
|
"standardFields.updateUnitFailed": "Einheit konnte nicht aktualisiert werden",
|
|||
|
|
"standardFields.bulkEnabled": "{count} Feld(er) aktiviert",
|
|||
|
|
"standardFields.bulkDisabled": "{count} Feld(er) deaktiviert",
|
|||
|
|
"standardFields.bulkFailed": "Massenaktualisierung fehlgeschlagen",
|
|||
|
|
"standardFields.recommendedEnabled": "Empfohlene E-Commerce-Felder aktiviert",
|
|||
|
|
"standardFields.recommendedFailed": "Empfohlene Felder konnten nicht aktiviert werden",
|
|||
|
|
"standardFields.fieldDeleted": "Feld erfolgreich gelöscht",
|
|||
|
|
"standardFields.deleteFieldFailed": "Feld konnte nicht gelöscht werden",
|
|||
|
|
"standardFields.groupUpdated": "Gruppe erfolgreich aktualisiert",
|
|||
|
|
"standardFields.groupCreated": "Gruppe erfolgreich erstellt",
|
|||
|
|
"standardFields.saveGroupFailed": "Gruppe konnte nicht gespeichert werden",
|
|||
|
|
"standardFields.groupDeleted": "Gruppe erfolgreich gelöscht",
|
|||
|
|
"standardFields.deleteGroupFailed": "Gruppe konnte nicht gelöscht werden",
|
|||
|
|
"standardFields.editField": "Feld bearbeiten",
|
|||
|
|
"standardFields.addNewField": "Neues Feld hinzufügen",
|
|||
|
|
"standardFields.editFieldDesc": "Aktualisieren Sie die Details dieses Standardfelds",
|
|||
|
|
"standardFields.addFieldDesc": "Erstellen Sie ein neues Standardfeld für Ihre Produktdaten",
|
|||
|
|
"standardFields.field.name": "Bezeichnung",
|
|||
|
|
"standardFields.field.namePlaceholder": "Produkttitel",
|
|||
|
|
"standardFields.field.nameHint": "Anzeigename für dieses Feld",
|
|||
|
|
"standardFields.field.key": "Schlüssel",
|
|||
|
|
"standardFields.field.keyPlaceholder": "produkt_titel",
|
|||
|
|
"standardFields.field.keyTitle": "Nur Kleinbuchstaben, Zahlen und Unterstriche",
|
|||
|
|
"standardFields.field.keyHint": "Eindeutige Kennung (Kleinbuchstaben, keine Leerzeichen)",
|
|||
|
|
"standardFields.field.type": "Typ",
|
|||
|
|
"standardFields.field.typeDefaultHint": "Datentyp für dieses Feld",
|
|||
|
|
"standardFields.field.group": "Gruppe",
|
|||
|
|
"standardFields.field.groupHint": "Gruppe, zu der dieses Feld gehört",
|
|||
|
|
"standardFields.field.enabled": "Aktiviert",
|
|||
|
|
"standardFields.field.enabledHint": "Dieses Feld in Zuordnung und Verarbeitung verwenden",
|
|||
|
|
"standardFields.field.required": "Pflichtfeld",
|
|||
|
|
"standardFields.field.requiredHint": "Pflichtfelder müssen in jedem Feed zugeordnet sein, bevor Produkte synchronisiert werden können.",
|
|||
|
|
"standardFields.field.unit": "Einheit",
|
|||
|
|
"standardFields.field.unitPlaceholder": "kg, EUR, cm…",
|
|||
|
|
"standardFields.field.unitHint": "Optionale Einheit, die mit diesem Feld angezeigt wird",
|
|||
|
|
"standardFields.field.description": "Beschreibung",
|
|||
|
|
"standardFields.field.descriptionPlaceholder": "Beschreibung für dieses Feld eingeben",
|
|||
|
|
"standardFields.field.default": "Standardwert",
|
|||
|
|
"standardFields.field.defaultPlaceholder": "Standardwert (optional)",
|
|||
|
|
"standardFields.field.defaultHint": "Standardwert, wenn kein Wert angegeben ist",
|
|||
|
|
"standardFields.saveUnavailable": "Speichern (nicht verfügbar)",
|
|||
|
|
"standardFields.updateField": "Feld aktualisieren",
|
|||
|
|
"standardFields.createField": "Feld erstellen",
|
|||
|
|
"standardFields.editGroup": "Gruppe bearbeiten",
|
|||
|
|
"standardFields.addNewGroup": "Neue Gruppe hinzufügen",
|
|||
|
|
"standardFields.editGroupDesc": "Aktualisieren Sie die Details dieser Feldgruppe",
|
|||
|
|
"standardFields.addGroupDesc": "Erstellen Sie eine neue Gruppe für Ihre Standardfelder",
|
|||
|
|
"standardFields.group.name": "Bezeichnung",
|
|||
|
|
"standardFields.group.namePlaceholder": "Grundinformationen",
|
|||
|
|
"standardFields.group.nameHint": "Anzeigename für diese Gruppe",
|
|||
|
|
"standardFields.group.description": "Beschreibung",
|
|||
|
|
"standardFields.group.descriptionPlaceholder": "Beschreibung für diese Gruppe eingeben",
|
|||
|
|
"standardFields.group.descriptionHint": "Optionale Beschreibung des Zwecks dieser Gruppe",
|
|||
|
|
"standardFields.group.order": "Anzeigereihenfolge",
|
|||
|
|
"standardFields.group.orderHint": "Niedrigere Zahlen erscheinen zuerst",
|
|||
|
|
"standardFields.updateGroup": "Gruppe aktualisieren",
|
|||
|
|
"standardFields.createGroup": "Gruppe erstellen",
|
|||
|
|
"standardFields.deleteFieldDesc": "Diese Aktion kann nicht rückgängig gemacht werden. Das Feld wird dauerhaft gelöscht und aus allen Vorlagen entfernt, die es verwenden.",
|
|||
|
|
"standardFields.deleteGroupDesc": "Diese Aktion kann nicht rückgängig gemacht werden. Die Gruppe wird dauerhaft gelöscht. Felder in dieser Gruppe müssen neu zugewiesen werden.",
|
|||
|
|
"standardFields.type.string.label": "Text",
|
|||
|
|
"standardFields.type.string.hint": "Freitext — Namen, Codes, kurze Notizen",
|
|||
|
|
"standardFields.type.number.label": "Zahl",
|
|||
|
|
"standardFields.type.number.hint": "Numerischer Wert; Einheit hinzufügen, wenn sinnvoll (EUR, pcs)",
|
|||
|
|
"standardFields.type.boolean.label": "Ja / Nein",
|
|||
|
|
"standardFields.type.boolean.hint": "Wahr oder falsch",
|
|||
|
|
"standardFields.type.date.label": "Datum",
|
|||
|
|
"standardFields.type.date.hint": "Ein Kalenderdatum",
|
|||
|
|
"standardFields.type.url.label": "URL",
|
|||
|
|
"standardFields.type.url.hint": "Weblink (Produktseite, Video, Hersteller)",
|
|||
|
|
"standardFields.type.image.label": "Bild",
|
|||
|
|
"standardFields.type.image.hint": "Bild-URL oder Galeriebild",
|
|||
|
|
"standardFields.type.dimension.label": "Abmessung",
|
|||
|
|
"standardFields.type.dimension.hint": "Längenmessung (Breite, Höhe, Tiefe)",
|
|||
|
|
"standardFields.type.weight.label": "Gewicht",
|
|||
|
|
"standardFields.type.weight.hint": "Masse / Versandgewicht",
|
|||
|
|
"standardFields.type.color.label": "Farbe",
|
|||
|
|
"standardFields.type.color.hint": "Farbname oder -code",
|
|||
|
|
"standardFields.type.custom.label": "Benutzerdefiniert",
|
|||
|
|
"standardFields.type.custom.hint": "Spezielles / freies Feld",
|
|||
|
|
"standardFields.fallback.gtin": "GTIN/EAN",
|
|||
|
|
"standardFields.fallback.title": "Produktname",
|
|||
|
|
"standardFields.fallback.brand": "Marke",
|
|||
|
|
"standardFields.fallback.description": "Beschreibung",
|
|||
|
|
"standardFields.fallback.product_model": "Produktmodell",
|
|||
|
|
"standardFields.fallback.price": "Preis",
|
|||
|
|
"standardFields.fallback.sale_price": "Aktionspreis",
|
|||
|
|
"standardFields.fallback.purchase_price": "Einkaufspreis",
|
|||
|
|
"standardFields.fallback.currency": "Währung",
|
|||
|
|
"standardFields.fallback.image_url": "Bild-URL",
|
|||
|
|
"standardFields.fallback.main_image": "Hauptbild",
|
|||
|
|
"standardFields.fallback.additional_image_urls": "Zusätzliche Bilder",
|
|||
|
|
"standardFields.fallback.product_url": "Produkt-URL",
|
|||
|
|
"standardFields.fallback.official_link": "Offizieller Link",
|
|||
|
|
"standardFields.fallback.sku": "SKU",
|
|||
|
|
"standardFields.fallback.mpn": "MPN",
|
|||
|
|
"standardFields.fallback.category": "Kategorie",
|
|||
|
|
"standardFields.fallback.availability": "Verfügbarkeit",
|
|||
|
|
"standardFields.fallback.stock": "Bestand",
|
|||
|
|
"standardFields.fallback.color": "Farbe",
|
|||
|
|
"standardFields.fallback.size": "Größe",
|
|||
|
|
"standardFields.fallback.material": "Material",
|
|||
|
|
"standardFields.fallback.warranty": "Garantie",
|
|||
|
|
"standardFields.fallback.service": "Service",
|
|||
|
|
"standardFields.fallback.weight": "Gewicht",
|
|||
|
|
"standardFields.fallback.net_depth": "Nettotiefe",
|
|||
|
|
"standardFields.fallback.net_height": "Nettohöhe",
|
|||
|
|
"standardFields.fallback.net_width": "Nettubreite",
|
|||
|
|
"standardFields.fallback.net_mass": "Nettomasse",
|
|||
|
|
"standardFields.fallback.video_url": "Video-URL",
|
|||
|
|
"standardFields.fallback.eprel_id": "EPREL-ID",
|
|||
|
|
"standardFields.fallback.specs": "Spezifikationen",
|
|||
|
|
"standardFields.fallback.specifications": "Spezifikationen (Legacy)",
|
|||
|
|
"standardFields.tip.gtin": "Global Trade Item Number — Barcode/EAN/UPC zur Produktidentifikation.",
|
|||
|
|
"standardFields.tip.title": "Kundenorientierter Produktname in Katalogen und Kanälen.",
|
|||
|
|
"standardFields.tip.brand": "Name des Herstellers oder der Marke (nicht des Händlers).",
|
|||
|
|
"standardFields.tip.description": "Längerer Produkttext; für Anreicherung und Kanallistenungen.",
|
|||
|
|
"standardFields.tip.product_model": "Modellname/-nummer des Herstellers.",
|
|||
|
|
"standardFields.tip.price": "Regulärer Verkaufspreis (numerisch; Währung separat zugeordnet).",
|
|||
|
|
"standardFields.tip.sale_price": "Reduzierter oder Aktionspreis im Angebot.",
|
|||
|
|
"standardFields.tip.purchase_price": "Ihr Einkaufspreis (intern).",
|
|||
|
|
"standardFields.tip.currency": "ISO-Währungscode für Preisfelder (z. B. EUR, USD).",
|
|||
|
|
"standardFields.tip.image_url": "URL des primären Produktbilds.",
|
|||
|
|
"standardFields.tip.main_image": "URL des Hauptgaleriebilds (Alias von image).",
|
|||
|
|
"standardFields.tip.additional_image_urls": "Zusätzliche Bild-URLs (kommagetrennt oder wiederholte Knoten).",
|
|||
|
|
"standardFields.tip.product_url": "Öffentliche Produktseiten-URL in Ihrem Shop oder auf Ihrer Site.",
|
|||
|
|
"standardFields.tip.official_link": "URL der Produktseite des Herstellers oder der Marke.",
|
|||
|
|
"standardFields.tip.sku": "Stock Keeping Unit — Ihr interner Artikelcode.",
|
|||
|
|
"standardFields.tip.mpn": "Manufacturer Part Number — Teilecode des Lieferanten.",
|
|||
|
|
"standardFields.tip.category": "Produktkategorie oder Taxonomiepfad.",
|
|||
|
|
"standardFields.tip.availability": "Status wie auf Lager / nicht vorrätig / Vorbestellung.",
|
|||
|
|
"standardFields.tip.stock": "Numerische Bestandsmenge.",
|
|||
|
|
"standardFields.tip.color": "Farbattribut für Varianten.",
|
|||
|
|
"standardFields.tip.size": "Größenattribut für Varianten.",
|
|||
|
|
"standardFields.tip.material": "Hauptmaterial oder Zusammensetzung.",
|
|||
|
|
"standardFields.tip.warranty": "Garantiezeitraum oder -text.",
|
|||
|
|
"standardFields.tip.service": "Service- oder Supportnotizen.",
|
|||
|
|
"standardFields.tip.weight": "Versand- oder Nettogewicht.",
|
|||
|
|
"standardFields.tip.eprel_id": "Produktkennung des EU-Energielabels (EPREL).",
|
|||
|
|
"standardFields.tip.specs": "Strukturierte technische Spezifikationen.",
|
|||
|
|
"standardFields.tip.specifications": "Legacy-Specs-Feld; specs bevorzugen, wenn beides existiert.",
|
|||
|
|
"export.dialog.title": "Ausgewählte Produkte exportieren",
|
|||
|
|
"export.dialog.description": "{count} ausgewählte(s) Produkt(e) exportieren. Wählen Sie den Export-Feed für Format und Felder — wie „was synchronisieren“, aber für Download oder Partner-Feed.",
|
|||
|
|
"export.dialog.loadFailed": "Export-Feed-Optionen konnten nicht geladen werden. Bitte erneut versuchen.",
|
|||
|
|
"export.dialog.selectPlaceholder": "Export-Feed auswählen…",
|
|||
|
|
"export.dialog.help": "Ihre Auswahl bestimmt die Produkte; der Feed bestimmt Kanalformat und gemappte Felder.",
|
|||
|
|
"export.dialog.emptyTitle": "Noch keine Export-Feeds",
|
|||
|
|
"export.dialog.emptyMessage": "Erstellen Sie einen Export-Feed für Format und Felder und kehren Sie zurück, um diese Auswahl zu exportieren.",
|
|||
|
|
"export.dialog.createFeedCta": "Export-Feed erstellen",
|
|||
|
|
"export.dialog.confirmAria": "Export bestätigen",
|
|||
|
|
"export.dialog.export": "Exportieren",
|
|||
|
|
"billing.title": "Nutzung & Abrechnung",
|
|||
|
|
"billing.loadFailed": "Abrechnung konnte nicht geladen werden",
|
|||
|
|
"billing.usageLoadFailed": "Nutzung konnte nicht geladen werden",
|
|||
|
|
"billing.checkoutComplete": "Checkout abgeschlossen. Plan und Credits werden in Kürze aktualisiert.",
|
|||
|
|
"billing.checkoutCompletePlan": "Plan aktualisiert. Ihre {plan}-Credits sind bereit.",
|
|||
|
|
"billing.checkoutCanceled": "Checkout wurde abgebrochen. Es wurden keine Änderungen vorgenommen.",
|
|||
|
|
"billing.portalReturned": "Zurück vom Abrechnungsportal. Verwalten Sie Ihren Plan hier oder unter Plans.",
|
|||
|
|
"billing.comparePlans": "Pläne vergleichen",
|
|||
|
|
"billing.managePayment": "Zahlung verwalten",
|
|||
|
|
"billing.addCredits": "Credits hinzufügen",
|
|||
|
|
"billing.addingCredits": "Wird hinzugefügt…",
|
|||
|
|
"billing.addCreditsTitle": "Credits hinzufügen",
|
|||
|
|
"billing.addCreditsDescription": "Nur Plattform-Admin. Credits sind sofort für KI-Titel, Beschreibungen und andere kostenpflichtige Schritte verfügbar.",
|
|||
|
|
"billing.creditAmount": "Credit-Betrag",
|
|||
|
|
"billing.invalidCreditAmount": "Bitte geben Sie einen gültigen Credit-Betrag ein.",
|
|||
|
|
"billing.companyNotFound": "Unternehmen nicht gefunden.",
|
|||
|
|
"billing.creditsAdded": "{amount} Credits wurden hinzugefügt.",
|
|||
|
|
"billing.addCreditsFailed": "Credits konnten nicht hinzugefügt werden. Plattform-Admin-Zugriff kann erforderlich sein.",
|
|||
|
|
"billing.planApplied": "Plan angewendet. Ihre Credits sind bereit.",
|
|||
|
|
"billing.checkoutFailed": "Checkout fehlgeschlagen",
|
|||
|
|
"billing.portalFailed": "Abrechnungsportal konnte nicht geöffnet werden",
|
|||
|
|
"billing.noPlanAssigned": "Kein Plan zugewiesen",
|
|||
|
|
"billing.unlimited": "Unbegrenzt",
|
|||
|
|
"billing.payAsYouGo": "Pay as you go",
|
|||
|
|
"billing.noMonthlyAiCredits": "Keine monatlichen KI-Credits",
|
|||
|
|
"billing.header.noPlan": "Noch kein Plan zugewiesen. Wählen Sie einen Plan oder fragen Sie einen Firmen-Admin.",
|
|||
|
|
"billing.header.free": "Feeds zuordnen und Produktdaten bereinigen ohne KI-Credits.",
|
|||
|
|
"billing.header.enterprise": "Unbegrenzte Produkte und KI-Kapazität.",
|
|||
|
|
"billing.header.payg": "Pay as you go — Credits kommen aus dem Firmen-Wallet.",
|
|||
|
|
"billing.header.remaining": "{remaining} KI-Credits verbleiben in diesem Zeitraum.",
|
|||
|
|
"billing.na": "k. A.",
|
|||
|
|
"billing.range.7d": "letzte 7 Tage",
|
|||
|
|
"billing.range.30d": "letzte 30 Tage",
|
|||
|
|
"billing.range.cycle": "aktueller Abrechnungszeitraum",
|
|||
|
|
"billing.range.all": "gesamt",
|
|||
|
|
"billing.rangeOpt.7d": "Letzte 7 Tage",
|
|||
|
|
"billing.rangeOpt.30d": "Letzte 30 Tage",
|
|||
|
|
"billing.rangeOpt.cycle": "Aktueller Zyklus",
|
|||
|
|
"billing.rangeOpt.all": "Gesamt",
|
|||
|
|
"billing.freeBannerTitle": "Sie nutzen den Free-Plan",
|
|||
|
|
"billing.freeBannerMessage": "Upgraden für KI-Titel und -Beschreibungen sowie höhere Produktlimits.",
|
|||
|
|
"billing.outOfCreditsTitle": "Ihre KI-Credits sind aufgebraucht",
|
|||
|
|
"billing.productLimitTitle": "Produktlimit erreicht",
|
|||
|
|
"billing.outOfCreditsMessage": "KI-Titel und -Beschreibungen sind pausiert, bis Credits hinzugefügt oder ein Upgrade erfolgt.",
|
|||
|
|
"billing.productLimitMessage": "Upgraden Sie für mehr Produktkapazität.",
|
|||
|
|
"billing.lowCreditsTitle": "Credits werden knapp",
|
|||
|
|
"billing.lowCreditsMessage": "Nur noch {remaining} Credits auf {plan}. Upgraden Sie vor Ihrem nächsten großen Batch.",
|
|||
|
|
"billing.currentPlan": "Aktueller Plan",
|
|||
|
|
"billing.periodEnds": "Abrechnungszeitraum endet am {date}",
|
|||
|
|
"billing.openEndedContract": "Unbefristeter Vertrag",
|
|||
|
|
"billing.creditWallet": "Credit-Wallet",
|
|||
|
|
"billing.creditsRemaining": "Verbleibende Credits",
|
|||
|
|
"billing.enterpriseCapacity": "Enterprise-verwaltete Kapazität",
|
|||
|
|
"billing.paygUsed": "{used} verwendet · keine monatliche Zuteilung",
|
|||
|
|
"billing.trialLeftover": "Test- / Restcredits",
|
|||
|
|
"billing.aiLockedFree": "KI auf Free gesperrt",
|
|||
|
|
"billing.usedOf": "{used} von {total} verwendet",
|
|||
|
|
"billing.noBalanceTitle": "Noch kein Credit-Saldo",
|
|||
|
|
"billing.noBalanceBody": "Die Credits Ihres Plans erscheinen hier, sobald die Abrechnung für diesen Workspace eingerichtet ist.",
|
|||
|
|
"billing.needCapacity": "Mehr Kapazität nötig?",
|
|||
|
|
"billing.selfServeUpgrade": "Self-Service-Upgrade auf Starter, Growth oder Business",
|
|||
|
|
"billing.viaStripe": "über Stripe",
|
|||
|
|
"billing.upgradeToGrowth": "Auf Growth upgraden",
|
|||
|
|
"billing.askAdminPlan": "Bitten Sie einen Firmen-Admin, den Plan zu ändern.",
|
|||
|
|
"billing.usage": "Nutzung",
|
|||
|
|
"billing.productsProcessed": "{count} Produkte verarbeitet · {range}",
|
|||
|
|
"billing.updating": "Aktualisierung…",
|
|||
|
|
"billing.productsByDay": "Produkte pro Tag",
|
|||
|
|
"billing.chartAmber": "Amber = Tokens. Bereich: {range}.",
|
|||
|
|
"billing.chartRange": "Bereich: {range}.",
|
|||
|
|
"billing.nothingToChartTitle": "Noch nichts zu diagrammieren",
|
|||
|
|
"billing.nothingToChartBody": "Produkte hinzufügen oder einen Feed verbinden — die Nutzung erscheint hier.",
|
|||
|
|
"billing.dailyChartsHint": "Tagesdiagramme sind für die letzten 7 Tage, 30 Tage oder den aktuellen Abrechnungszyklus verfügbar.",
|
|||
|
|
"billing.noNewProducts": "Keine neuen Produkte in {range}",
|
|||
|
|
"billing.catalogOverall": "Der Katalog hat insgesamt {count} Produkte.",
|
|||
|
|
"billing.chartProducts": "Produkte",
|
|||
|
|
"billing.chartTokens": "Token-Einheiten",
|
|||
|
|
"billing.chartEmpty": "Keine Produkte in diesem Zeitraum.",
|
|||
|
|
"billing.adminStats": "{tokens} Tokens · {jobs} Jobs · {input} Input- / {export} Export-Feeds",
|
|||
|
|
"billing.whatUsesCredits": "Was Credits verbraucht",
|
|||
|
|
"billing.burnsCredits": "Verbraucht Credits",
|
|||
|
|
"billing.noCreditCost": "Keine Credit-Kosten",
|
|||
|
|
"billing.publicPricing": "Öffentliche Preise",
|
|||
|
|
"billing.managePlanOnPlans": "Plan unter Pläne verwalten",
|
|||
|
|
"billing.recovery.pastDueTitle": "Zahlung überfällig",
|
|||
|
|
"billing.recovery.pastDueAdmin": "Ihre Abonnementzahlung ist fehlgeschlagen. Aktualisieren Sie die Zahlung im Customer Portal — der Zugang bleibt in dieser Schonfrist offen.",
|
|||
|
|
"billing.recovery.pastDueMember": "Abrechnung erfordert Aufmerksamkeit. Bitten Sie einen Firmen-Admin, die Zahlung im Customer Portal zu aktualisieren. Der Zugang bleibt in dieser Schonfrist offen.",
|
|||
|
|
"billing.recovery.openPortal": "Customer Portal öffnen",
|
|||
|
|
"billing.recovery.contactAdmin": "Firmen-Admin kontaktieren",
|
|||
|
|
"billing.recovery.goToBilling": "Zur Abrechnung",
|
|||
|
|
"billing.recovery.missingPlanTitle": "Kein Plan zugewiesen",
|
|||
|
|
"billing.recovery.missingPlanMessage": "Dieses Unternehmen hat keinen aktiven Plan (oft nach einer übersprungenen Migration). Weisen Sie einen Plan über Checkout zu oder fragen Sie den Support — gehen Sie nicht von Unlimited-Kapazität aus.",
|
|||
|
|
"billing.recovery.choosePlan": "Plan wählen",
|
|||
|
|
"billing.upgrade": "Upgrade",
|
|||
|
|
"billing.askCompanyAdmin": "Fragen Sie einen Unternehmens-Admin",
|
|||
|
|
"billing.memberHint": "Nur Firmen-Admins können Pläne ändern oder Checkout öffnen.",
|
|||
|
|
"billing.unlimitedPlanWallet": "Unbegrenzter Plan · Wallet {wallet}",
|
|||
|
|
"billing.creditsSuffix": "{label} Credits",
|
|||
|
|
"billing.perMonth": "{amount} / Monat",
|
|||
|
|
"billing.zeroPerMonth": "0 / Monat",
|
|||
|
|
"billing.upTo": "Bis zu {count}",
|
|||
|
|
"billing.skusUnlimited": "{used} SKUs (unbegrenzt)",
|
|||
|
|
"billing.skusOnly": "{used} SKUs",
|
|||
|
|
"billing.skusOf": "{used} / {max} SKUs",
|
|||
|
|
"billing.planKind.none": "Kein aktiver Plan",
|
|||
|
|
"billing.planKind.enterprise": "Enterprise / individuell",
|
|||
|
|
"billing.planKind.trial": "Testphase",
|
|||
|
|
"billing.planKind.standard": "Standardplan",
|
|||
|
|
"billing.creditUsage.normalize.label": "Normalisieren, Specs & füllen",
|
|||
|
|
"billing.creditUsage.normalize.detail": "Datenbereinigung und Attributfüllung laufen ohne Verbrauch von KI-Credits.",
|
|||
|
|
"billing.creditUsage.ai.label": "KI-Titel & -Beschreibungen",
|
|||
|
|
"billing.creditUsage.ai.detail": "Abrechnung pro Produkt basierend auf der KI-Funktion und der generierten Textmenge.",
|
|||
|
|
"billing.creditUsage.eprel.label": "EPREL / Energieetiketten",
|
|||
|
|
"billing.creditUsage.eprel.detail": "Kostenlose öffentliche EU-EPREL-Daten auf allen Plänen (ohne Credits).",
|
|||
|
|
"billing.creditUsage.campaign.label": "Kampagnen-KI & Markenanwendung",
|
|||
|
|
"billing.creditUsage.campaign.detail": "Kostenpflichtige KI-Schritte mit dem verwalteten Modell verbrauchen Firmen-Credits.",
|
|||
|
|
"exports.title": "Export-Feeds",
|
|||
|
|
"exports.description": "Legen Sie pro Kanal fest, was veröffentlicht wird — welche Produkte und Felder — und teilen Sie eine öffentliche Feed-URL (ohne Login).",
|
|||
|
|
"exports.descriptionFiltered": "Öffentliche Google Shopping-, Meta- und benutzerdefinierte Feed-Links. Anzeige {filtered} von {total} Feeds.",
|
|||
|
|
"exports.loadFailed": "Export-Feeds konnten nicht geladen werden",
|
|||
|
|
"exports.loadFeedFailed": "Export-Feed konnte nicht geladen werden",
|
|||
|
|
"exports.refresh": "Aktualisieren",
|
|||
|
|
"exports.refreshing": "Aktualisieren…",
|
|||
|
|
"exports.create": "Export-Feed erstellen",
|
|||
|
|
"exports.edit": "Export-Feed bearbeiten",
|
|||
|
|
"exports.editDescription": "Name, Status, enthaltene Produkte und gemappte Felder aktualisieren.",
|
|||
|
|
"exports.howToTitle": "So wählen Sie, was exportiert wird",
|
|||
|
|
"exports.howTo.choose": "Was in den Feed kommt",
|
|||
|
|
"exports.howTo.chooseBody": "— Quell-Feed und Produktstatus beim Erstellen/Bearbeiten setzen, damit die öffentliche URL nur diese Produkte enthält.",
|
|||
|
|
"exports.howTo.subset": "Einmalige Teilmenge",
|
|||
|
|
"exports.howTo.subsetBody": "— unter",
|
|||
|
|
"exports.howTo.productsLink": "Produkte",
|
|||
|
|
"exports.howTo.subsetTail": " Zeilen auswählen und Exportieren, um nur diese Produkte mit Format und Feldern des Feeds herunterzuladen.",
|
|||
|
|
"exports.howTo.google": "Google Shopping",
|
|||
|
|
"exports.howTo.googleBody": "— erstellen Sie eine CSV- oder XML-Voreinstellung, Generate, kopieren Sie die öffentliche URL in Merchant Center → Products → Feeds → scheduled fetch.",
|
|||
|
|
"exports.howTo.meta": "Meta-Katalog",
|
|||
|
|
"exports.howTo.metaBody": "— CSV-Voreinstellung für Commerce Manager-Datenquellen.",
|
|||
|
|
"exports.howTo.custom": "Benutzerdefiniertes CSV/XML",
|
|||
|
|
"exports.howTo.customBody": "— jeder Partner; dieselbe öffentliche URL funktioniert für Cron-/Webhook-Poller.",
|
|||
|
|
"exports.howTo.rest": "REST",
|
|||
|
|
"exports.howTo.restBody": "— API-Schlüssel unter",
|
|||
|
|
"exports.howTo.settingsApiKeys": "Einstellungen → API-Schlüssel",
|
|||
|
|
"exports.howTo.restTail": "(Legacy-Schlüssel nicht migriert) pull",
|
|||
|
|
"exports.howTo.openapi": "OpenAPI",
|
|||
|
|
"exports.feedStatus": "Feed-Status",
|
|||
|
|
"exports.generating": "Export wird generiert — bei großen Katalogen kann das einen Moment dauern.",
|
|||
|
|
"exports.generationFailed": "Generierung fehlgeschlagen. Siehe den Fehler oben, dann Refresh Feed erneut versuchen.",
|
|||
|
|
"exports.exportedProducts": "{count} Produkte exportiert",
|
|||
|
|
"exports.lastGenerated": "Zuletzt generiert: {time}",
|
|||
|
|
"exports.neverGenerated": "Noch nie generiert",
|
|||
|
|
"exports.searchPlaceholder": "Feeds suchen...",
|
|||
|
|
"exports.searchAria": "Feeds suchen",
|
|||
|
|
"exports.clearSearch": "Suche löschen",
|
|||
|
|
"exports.loading": "Feeds werden geladen…",
|
|||
|
|
"exports.loadErrorTitle": "Export-Feeds konnten nicht geladen werden",
|
|||
|
|
"exports.loadErrorBody": "Beim Laden Ihrer Exporte ist etwas schiefgelaufen. Erneut versuchen oder den Fehler oben für Details prüfen.",
|
|||
|
|
"exports.tryAgain": "Erneut versuchen",
|
|||
|
|
"exports.emptyTitle": "Noch keine Export-Feeds",
|
|||
|
|
"exports.emptyBody": "Erstellen Sie einen Google-Shopping-, Meta- oder eigenen CSV/XML-Feed, um festzulegen, welche Produkte und Felder ausgegeben werden. Öffentliche URL für Merchant Center oder Partner erzeugen — oder eine Auswahl unter Produkte exportieren.",
|
|||
|
|
"exports.emptyCta": "Google-Shopping-Feed erstellen",
|
|||
|
|
"exports.noMatchTitle": "Keine passenden Feeds",
|
|||
|
|
"exports.noMatchBody": "Versuchen Sie einen anderen Suchbegriff.",
|
|||
|
|
"exports.col.name": "Bezeichnung",
|
|||
|
|
"exports.col.format": "Format",
|
|||
|
|
"exports.col.feedUrl": "Feed-URL",
|
|||
|
|
"exports.col.lastGenerated": "Zuletzt generiert",
|
|||
|
|
"exports.col.status": "Zustand",
|
|||
|
|
"exports.col.actions": "Aktionen",
|
|||
|
|
"exports.working": "Läuft.",
|
|||
|
|
"exports.generatingShort": "Wird generiert…",
|
|||
|
|
"exports.copyUrl": "URL kopieren",
|
|||
|
|
"exports.openMenu": "Menü öffnen",
|
|||
|
|
"exports.preview": "Vorschau",
|
|||
|
|
"exports.download": "Herunterladen",
|
|||
|
|
"exports.refreshFeed": "Feed aktualisieren",
|
|||
|
|
"exports.editAction": "Bearbeiten",
|
|||
|
|
"exports.delete": "Löschen",
|
|||
|
|
"exports.rotateToken": "URL-Token rotieren",
|
|||
|
|
"exports.rotateFailed": "Feed-URL-Token konnte nicht rotiert werden",
|
|||
|
|
"exports.deleting": "Löschen…",
|
|||
|
|
"exports.channelPreset": "Kanal-Voreinstellung",
|
|||
|
|
"exports.name": "Bezeichnung",
|
|||
|
|
"exports.format": "Format",
|
|||
|
|
"exports.sourceFeed": "Quell-Feed (optional)",
|
|||
|
|
"exports.sourceFeedHelp": "Diesen Feed auf Produkte eines Eingabe-Feeds beschränken oder Alle Produkte lassen — so steuern Sie, was die öffentliche URL enthält.",
|
|||
|
|
"exports.allProducts": "Alle Produkte",
|
|||
|
|
"exports.rootElement": "Root-Element",
|
|||
|
|
"exports.itemElement": "Item-Element",
|
|||
|
|
"exports.productStatuses": "Produktstatus (kommagetrennt)",
|
|||
|
|
"exports.productStatusesHelp": "Nur Produkte mit diesen Statuswerten einbeziehen (z. B. active). Leer lassen für alle Statuswerte.",
|
|||
|
|
"exports.status": "Zustand",
|
|||
|
|
"exports.active": "Aktiv",
|
|||
|
|
"exports.inactive": "Inaktiv",
|
|||
|
|
"exports.fieldMappings": "Feldzuordnungen",
|
|||
|
|
"exports.addField": "Feld hinzufügen",
|
|||
|
|
"exports.outputKey": "Ausgabeschlüssel",
|
|||
|
|
"exports.source": "Quelle",
|
|||
|
|
"exports.customSource": "Benutzerdefiniert (attr.* / spec.*)",
|
|||
|
|
"exports.removeField": "Feld entfernen",
|
|||
|
|
"exports.fieldHelp": "Exporte lesen verarbeitete Produkte (mit rohem mapped_data als Fallback). Nutzen Sie eprel_* / energy_* für EPREL-Felder, spec.* für eine Spezifikation oder specifications.*, um alle Specs als XML-Knoten zu erweitern.",
|
|||
|
|
"exports.saving": "Speichern…",
|
|||
|
|
"exports.saveChanges": "Änderungen speichern",
|
|||
|
|
"exports.createFeed": "Feed erstellen",
|
|||
|
|
"exports.updated": "Export-Feed aktualisiert.",
|
|||
|
|
"exports.created": "Export-Feed erstellt.",
|
|||
|
|
"exports.saveFailed": "Speichern fehlgeschlagen",
|
|||
|
|
"exports.urlCopied": "Öffentliche {format}-Feed-URL kopiert. Fügen Sie sie in jedes System ein, das Produktfeeds abruft.",
|
|||
|
|
"exports.copyFailed": "URL konnte nicht in die Zwischenablage kopiert werden",
|
|||
|
|
"exports.refreshed": "Feed aktualisiert",
|
|||
|
|
"exports.refreshedWithCount": "Feed aktualisiert ({count} Produkte).",
|
|||
|
|
"exports.refreshFailed": "Feed konnte nicht aktualisiert werden",
|
|||
|
|
"exports.deleteConfirm": "Möchten Sie diesen Export-Feed wirklich löschen?",
|
|||
|
|
"exports.deleted": "Export-Feed erfolgreich gelöscht.",
|
|||
|
|
"exports.deleteFailed": "Export-Feed konnte nicht gelöscht werden",
|
|||
|
|
"exports.defaultName": "Neuer Export-Feed",
|
|||
|
|
"exports.fallbackName": "Export-Feed",
|
|||
|
|
"exports.dialog.selectTitle": "Ausgewählte Produkte exportieren",
|
|||
|
|
"exports.dialog.selectDescription": "Wählen Sie eine Export-Feed-Konfiguration für die {count} ausgewählten Produkte.",
|
|||
|
|
"exports.dialog.noneFound": "Keine Export-Feed-Konfigurationen gefunden. Bitte erstellen Sie eine im Bereich Export Feeds.",
|
|||
|
|
"exports.dialog.loadFailed": "Export-Feed-Optionen konnten nicht geladen werden. Bitte erneut versuchen.",
|
|||
|
|
"exports.dialog.selectRequired": "Bitte wählen Sie ein Export-Feed-Format.",
|
|||
|
|
"exports.dialog.selectPlaceholder": "Export-Feed-Format auswählen...",
|
|||
|
|
"exports.dialog.confirmAria": "Export bestätigen",
|
|||
|
|
"exports.dialog.export": "Exportieren",
|
|||
|
|
"exports.preset.google_shopping_csv.label": "Google Shopping (CSV)",
|
|||
|
|
"exports.preset.google_shopping_csv.shortLabel": "Google Shopping CSV",
|
|||
|
|
"exports.preset.google_shopping_csv.description": "Merchant Center-Produktfeed mit den Standard-Google-Spalten (id, title, price, gtin, …).",
|
|||
|
|
"exports.preset.google_shopping_csv.hint": "Nach dem Aktualisieren des Feeds die öffentliche CSV-URL in Google Merchant Center → Products → Feeds → Add feed → Scheduled fetch kopieren.",
|
|||
|
|
"exports.preset.google_shopping_csv.defaultName": "Google Shopping CSV",
|
|||
|
|
"exports.preset.google_shopping_xml.label": "Google Shopping (XML)",
|
|||
|
|
"exports.preset.google_shopping_xml.shortLabel": "Google Shopping XML",
|
|||
|
|
"exports.preset.google_shopping_xml.description": "Dieselben Google-Spalten wie XML-Elemente (g:id, g:title, …) für Merchant Center-XML-Feeds.",
|
|||
|
|
"exports.preset.google_shopping_xml.hint": "Fügen Sie die öffentliche XML-URL in Merchant Center als scheduled fetch ein. Ordnen Sie fehlende Shop-Felder (link, price) unter Field mappings zu, falls nötig.",
|
|||
|
|
"exports.preset.google_shopping_xml.defaultName": "Google Shopping XML",
|
|||
|
|
"exports.preset.meta_csv.label": "Meta-Katalog (CSV)",
|
|||
|
|
"exports.preset.meta_csv.shortLabel": "Meta CSV",
|
|||
|
|
"exports.preset.meta_csv.description": "Spalten des Facebook-/Instagram-Commerce-Katalogs (id, title, availability, price, image_link, …).",
|
|||
|
|
"exports.preset.meta_csv.hint": "In Meta Commerce Manager → Catalog → Data sources → Add items → Use data feed die öffentliche CSV-URL einfügen.",
|
|||
|
|
"exports.preset.meta_csv.defaultName": "Meta-Katalog CSV",
|
|||
|
|
"exports.preset.custom_csv.label": "Benutzerdefiniertes CSV",
|
|||
|
|
"exports.preset.custom_csv.shortLabel": "Benutzerdefiniertes CSV",
|
|||
|
|
"exports.preset.custom_csv.description": "Wählen Sie eigene Spalten und Produktquellen für jeden Partner oder Webhook.",
|
|||
|
|
"exports.preset.custom_csv.hint": "Ausgabe-Schlüssel frei hinzufügen oder umbenennen. Die öffentliche URL benötigt keinen Login zum Download.",
|
|||
|
|
"exports.preset.custom_csv.defaultName": "Benutzerdefinierter CSV-Export",
|
|||
|
|
"exports.preset.custom_xml.label": "Benutzerdefiniertes XML",
|
|||
|
|
"exports.preset.custom_xml.shortLabel": "Benutzerdefiniertes XML",
|
|||
|
|
"exports.preset.custom_xml.description": "Erstellen Sie eine benutzerdefinierte XML-Struktur mit eigenen Root-/Item-Namen und Feldzuordnungen.",
|
|||
|
|
"exports.preset.custom_xml.hint": "Legen Sie Root- und Item-Elementnamen fest und ordnen Sie jeden Ausgabe-Schlüssel einer Produktquelle zu.",
|
|||
|
|
"exports.preset.custom_xml.defaultName": "Benutzerdefinierter XML-Export",
|
|||
|
|
"processing.title": "Verarbeitung",
|
|||
|
|
"processing.description": "Live-Pipeline-Fortschritt für Produktverarbeitungsjobs. Automatische Aktualisierung, solange dieser Tab sichtbar ist. Abgeschlossene Jobs verlinken zu Needs Review für Akzeptieren / Bearbeiten / Ablehnen.",
|
|||
|
|
"processing.refresh": "Aktualisieren",
|
|||
|
|
"processing.loadFailed": "Verarbeitungsjobs konnten nicht geladen werden",
|
|||
|
|
"processing.tooManyRequests": "Zu viele Anfragen — warten Sie einen Moment und versuchen Sie es erneut.",
|
|||
|
|
"processing.serverError": "{fallback} (Serverfehler {status}). Versuchen Sie es in Kürze erneut.",
|
|||
|
|
"processing.httpError": "{fallback} (HTTP {status})",
|
|||
|
|
"processing.cancelFailed": "Diese Aufgabe konnte nicht abgebrochen werden",
|
|||
|
|
"processing.retryFailed": "Diese Aufgabe konnte nicht erneut versucht werden",
|
|||
|
|
"processing.cancelledMsg": "„{name}“ wurde abgebrochen.",
|
|||
|
|
"processing.queuedRetry": "„{name}“ zur Wiederholung eingereiht.",
|
|||
|
|
"processing.jobFallback": "Job {id}",
|
|||
|
|
"processing.tasks": "Aufgaben",
|
|||
|
|
"processing.pipelineHint": "Pipeline: normalize → specs → fill → EPREL → AI. Große Starts können in Geschwister-Jobs aufgeteilt werden.",
|
|||
|
|
"processing.emptyTitle": "Noch keine Hintergrundaufgaben",
|
|||
|
|
"processing.emptyBody": "Noch keine Hintergrundaufgaben. Starten Sie bei Bedarf einen neuen Job unter Products.",
|
|||
|
|
"processing.startJob": "Auftrag starten",
|
|||
|
|
"processing.connectFeed": "Feed verbinden",
|
|||
|
|
"processing.splitBatch": "Batch geteilt · {jobs} Jobs · {products} Produkte",
|
|||
|
|
"processing.col.task": "Aufgabe",
|
|||
|
|
"processing.col.status": "Zustand",
|
|||
|
|
"processing.col.steps": "Schritte",
|
|||
|
|
"processing.col.progress": "Fortschritt",
|
|||
|
|
"processing.col.started": "Gestartet",
|
|||
|
|
"processing.col.completed": "Abgeschlossen",
|
|||
|
|
"processing.col.actions": "Aktionen",
|
|||
|
|
"processing.partOfBatch": "· Teil des Stapels",
|
|||
|
|
"processing.nowStep": "Jetzt: {step}",
|
|||
|
|
"processing.skip": "(überspringen)",
|
|||
|
|
"processing.reviewResults": "Ergebnisse prüfen",
|
|||
|
|
"processing.reviewTitle": "Öffnen Sie Needs Review, um die Anreicherung zu akzeptieren, zu bearbeiten oder abzulehnen",
|
|||
|
|
"processing.cancel": "Abbrechen",
|
|||
|
|
"processing.cancelling": "Wird abgebrochen…",
|
|||
|
|
"processing.cancelTitle": "Diesen ausstehenden oder laufenden Job abbrechen",
|
|||
|
|
"processing.retry": "Erneut versuchen",
|
|||
|
|
"processing.retrying": "Erneuter Versuch…",
|
|||
|
|
"processing.actions.onPage": "{count} auf dieser Seite",
|
|||
|
|
"processing.actions.clearSelection": "Auswahl leeren",
|
|||
|
|
"processing.actions.processSelected": "Auswahl verarbeiten",
|
|||
|
|
"processing.actions.processAria": "Ausgewählte Produkte verarbeiten",
|
|||
|
|
"processing.actions.processAriaCount": "{count} ausgewählte Produkt{plural} auf dieser Seite verarbeiten",
|
|||
|
|
"processing.actions.whatToProcess": "Was verarbeiten",
|
|||
|
|
"processing.actions.freeNoAiTitle": "Free-Plan — keine KI-Credits",
|
|||
|
|
"processing.actions.freeNoAiBody": "Normalize, specs, fill und EPREL laufen weiterhin. KI-Titel/-Beschreibungen erfordern einen bezahlten Plan oder Credits.",
|
|||
|
|
"processing.actions.comparePlans": "Pläne vergleichen",
|
|||
|
|
"processing.actions.selectAll": "Alles auswählen",
|
|||
|
|
"processing.actions.selectAllAria": "Alle Verarbeitungsmodi auswählen",
|
|||
|
|
"processing.actions.upgradeRequired": "{label} (Upgrade erforderlich)",
|
|||
|
|
"processing.actions.upgradeSuffix": " · Upgrade",
|
|||
|
|
"processing.actions.credits": "{credits} Credits",
|
|||
|
|
"processing.actions.free": "kostenlos",
|
|||
|
|
"processing.actions.autoCategorizeTitle": "Kategorisierung wird automatisch hinzugefügt",
|
|||
|
|
"processing.actions.autoCategorizeBody": "{count} Produkt(e) brauchen Kategorisierung für die {types}-Verarbeitung",
|
|||
|
|
"processing.actions.aiLocked": "KI-Optionen sind auf Free gesperrt. Upgraden Sie, um Titel/Beschreibungen zu verarbeiten.",
|
|||
|
|
"processing.actions.totalCredits": "Gesamt-Credits ({count} auf dieser Seite):",
|
|||
|
|
"processing.actions.starting": "Start…",
|
|||
|
|
"processing.actions.processCount": "{count} auf dieser Seite verarbeiten",
|
|||
|
|
"processing.actions.close": "Schließen",
|
|||
|
|
"processing.actions.accept": "Übernehmen",
|
|||
|
|
"processing.actions.acceptEnrichment": "Anreicherung akzeptieren",
|
|||
|
|
"processing.actions.export": "Exportieren",
|
|||
|
|
"processing.actions.exportSelected": "Auswahl exportieren",
|
|||
|
|
"processing.actions.reject": "Ablehnen",
|
|||
|
|
"processing.actions.rejectReset": "Ablehnen (zurücksetzen)",
|
|||
|
|
"processing.actions.resetUnprocessed": "Auf Unverarbeitet zurücksetzen",
|
|||
|
|
"processing.actions.confirmTitle": "Verarbeitung bestätigen",
|
|||
|
|
"processing.actions.confirmBody": "{count} Produkt(e) auf dieser Seite für {credits} Credits verarbeiten. Credits werden beim Start des Jobs verbraucht und können über diese Aktion nicht rückgängig gemacht werden.",
|
|||
|
|
"processing.actions.confirmStart": "Verarbeitung starten",
|
|||
|
|
"processing.option.category": "Kategorien",
|
|||
|
|
"processing.option.attributes": "Attribute / Specs",
|
|||
|
|
"processing.option.title": "Titel (KI)",
|
|||
|
|
"processing.option.description": "Beschreibungen (KI)",
|
|||
|
|
"processing.receipt.view": "In Verarbeitung anzeigen",
|
|||
|
|
"processing.receipt.undo": "Rückgängig",
|
|||
|
|
"processing.receipt.format": "{succeeded} erfolgreich · {skipped} übersprungen · {failed} fehlgeschlagen",
|
|||
|
|
"processing.receipt.cancelledOne": "Verarbeitung abgebrochen",
|
|||
|
|
"processing.receipt.cancelledMany": "Verarbeitungsjobs abgebrochen",
|
|||
|
|
"processing.receipt.cancelledDesc": "Der soeben gestartete Job wurde abgebrochen.",
|
|||
|
|
"processing.receipt.cancelFailed": "Verarbeitungsjob konnte nicht abgebrochen werden",
|
|||
|
|
"unsubscribe.title": "Abmelden",
|
|||
|
|
"unsubscribe.me": "Abonnement beenden",
|
|||
|
|
"unsubscribe.invalidLink": "Ungültiger Link",
|
|||
|
|
"unsubscribe.failedShort": "Abmeldung fehlgeschlagen",
|
|||
|
|
"unsubscribe.already": "Sie sind bereits abgemeldet.",
|
|||
|
|
"unsubscribe.confirmPrompt": "Bestätigen Sie unten, um Marketing-E-Mails abzubestellen.",
|
|||
|
|
"unsubscribe.done": "Sie wurden abgemeldet.",
|
|||
|
|
"stores.title": "Stores & Quellen",
|
|||
|
|
"stores.description": "Verbinden Sie Shop oder Lieferant an einem Ort — Woo, Shopify, Feed-URL oder CSV. Live-Shops: Produkte Descrybe → Shop; Bestellungen/Bewertungen Shop → Descrybe. Exportieren, wenn der Katalog bereit ist.",
|
|||
|
|
"stores.allInputFeeds": "Alle Eingabe-Feeds",
|
|||
|
|
"stores.exportFeeds": "Export-Feeds",
|
|||
|
|
"stores.migrationNote": "Nach einer Descrybe-Plattformmigration müssen WooCommerce- und Shopify-Zugangsdaten ggf. erneut eingegeben werden — das ist ein Reconnect, kein kaputter Sync.",
|
|||
|
|
"stores.docsPrefix": "Docs:",
|
|||
|
|
"stores.docsApiOverview": "API-Übersicht",
|
|||
|
|
"stores.docsSuffix": "für öffentlichen Produktzugriff; nutzen Sie WooCommerce oder Shopify unten für Live-Shop-Sync.",
|
|||
|
|
"stores.connectorsHeading": "Shop- und Katalog-Konnektoren",
|
|||
|
|
"stores.statusAria": "Status: {label}",
|
|||
|
|
"stores.ctaAria": "{cta}: {title}",
|
|||
|
|
"stores.startTitle": "Wo soll ich anfangen?",
|
|||
|
|
"stores.startBody": "Woo-Shop → WooCommerce. Shopify oder andere Plattform → Feed-URL oder CSV-Upload. Bereit für Merchant Center oder Partner → Export-Feeds (Google-Shopping-Preset oder eigene Felder). Nach einer Migration Woo/Shopify neu verbinden, bevor Sync erwartet wird.",
|
|||
|
|
"stores.startBodyMember": "Bitten Sie einen Unternehmens-Admin, WooCommerce oder Shopify zu verbinden. Verbundene Stores können Sie weiterhin öffnen (Sync/Browse); Feed-URL, CSV und Export-Feeds bleiben je nach Plan verfügbar.",
|
|||
|
|
"stores.wizard.title": "Geführte Store-Einrichtung",
|
|||
|
|
"stores.wizard.description": "Store verbinden, Verbindung testen, erste Produktsynchronisierung starten — fertig.",
|
|||
|
|
"stores.wizard.guidedSetup": "Geführte Einrichtung",
|
|||
|
|
"stores.wizard.guidedSetupAria": "Geführte Store-Einrichtung starten",
|
|||
|
|
"stores.wizard.adminOnly": "Nur Unternehmens-Admins können die geführte Store-Einrichtung ausführen (Zugangsdaten speichern und ersten Sync). Verbundene Stores können Sie weiterhin öffnen.",
|
|||
|
|
"stores.wizard.pickChannel": "Store-Konnektor wählen",
|
|||
|
|
"stores.wizard.pickChannelBody": "Wählen Sie WooCommerce oder Shopify. Verbinden → testen → erste Sync auf der Konnektor-Seite, dann hierher zurück.",
|
|||
|
|
"stores.wizard.channel.shopify": "Shopify",
|
|||
|
|
"stores.wizard.channel.woocommerce": "WooCommerce",
|
|||
|
|
"stores.wizard.channelLabel": "Einrichtung: {channel}",
|
|||
|
|
"stores.wizard.changeChannel": "Konnektor wechseln",
|
|||
|
|
"stores.wizard.noChannels": "Keine Store-Konnektoren in Ihrem Plan. Upgraden oder Admin fragen.",
|
|||
|
|
"stores.wizard.progress": "{done} von {total} erledigt",
|
|||
|
|
"stores.wizard.stepsLabel": "Store-Einrichtungsschritte",
|
|||
|
|
"stores.wizard.step.connect.title": "Verbinden",
|
|||
|
|
"stores.wizard.step.connect.body": "Zugangsdaten auf der Konnektor-Seite speichern.",
|
|||
|
|
"stores.wizard.step.test.title": "Verbindung testen",
|
|||
|
|
"stores.wizard.step.test.body": "Verbindung testen, bis sie erfolgreich ist.",
|
|||
|
|
"stores.wizard.step.sync.title": "Erste Synchronisierung",
|
|||
|
|
"stores.wizard.step.sync.body": "Erste Produktsynchronisierung in die Warteschlange stellen.",
|
|||
|
|
"stores.wizard.step.done.title": "Fertig",
|
|||
|
|
"stores.wizard.step.done.body": "Store ist verbunden und eine Sync wurde gestartet oder abgeschlossen.",
|
|||
|
|
"stores.wizard.openConnector": "Konnektor öffnen",
|
|||
|
|
"stores.wizard.viewProducts": "Produkte anzeigen",
|
|||
|
|
"stores.wizard.backToHub": "Zurück zu Stores",
|
|||
|
|
"stores.wizard.banner.generic": "Geführte Einrichtung: Schritt abschließen, dann zum Assistenten zurück.",
|
|||
|
|
"stores.wizard.banner.test": "Geführte Einrichtung — Verbindung testen, dann zum Assistenten zurück.",
|
|||
|
|
"stores.wizard.banner.sync": "Geführte Einrichtung — erste Produktsync starten, dann zum Assistenten zurück.",
|
|||
|
|
"stores.wizard.banner.return": "Zurück zum Assistenten",
|
|||
|
|
"stores.wizard.banner.dismiss": "Schließen",
|
|||
|
|
"stores.woo.title": "WooCommerce",
|
|||
|
|
"stores.woo.description": "Produkte von Descrybe → WooCommerce pushen. Bestellungen und Bewertungen von WooCommerce → Descrybe holen.",
|
|||
|
|
"stores.woo.ctaReconnect": "Woo erneut verbinden",
|
|||
|
|
"stores.woo.ctaOpen": "Woo öffnen",
|
|||
|
|
"stores.woo.ctaConnect": "Woo verbinden",
|
|||
|
|
"stores.woo.ctaView": "Woo ansehen",
|
|||
|
|
"stores.shopify.title": "Shopify",
|
|||
|
|
"stores.shopify.description": "Produkte pushen Descrybe → Shopify. Bestellungen pullen Shopify → Descrybe. Bewertungen sind über die Shopify Admin API nicht verfügbar.",
|
|||
|
|
"stores.shopify.ctaReconnect": "Shopify erneut verbinden",
|
|||
|
|
"stores.shopify.ctaOpen": "Shopify öffnen",
|
|||
|
|
"stores.shopify.ctaConnect": "Shopify verbinden",
|
|||
|
|
"stores.shopify.ctaView": "Shopify ansehen",
|
|||
|
|
"stores.feedUrl.title": "Feed-URL",
|
|||
|
|
"stores.feedUrl.description": "Pull any supplier or Shop catalog from a public CSV or XML URL on a schedule. Map fields, then sync.",
|
|||
|
|
"stores.feedUrl.cta": "Feed-URL hinzufügen",
|
|||
|
|
"stores.csv.title": "CSV-Upload",
|
|||
|
|
"stores.csv.description": "Laden Sie eine Produkt-CSV als Eingabe-Feed hoch. Ideal für einmalige Lieferantendateien oder Shopify-Admin-Exporte.",
|
|||
|
|
"stores.csv.cta": "CSV hochladen",
|
|||
|
|
"stores.export.title": "Export / REST",
|
|||
|
|
"stores.export.description": "Veröffentlichen Sie Google Shopping oder benutzerdefiniertes CSV/XML mit öffentlicher URL. Oder holen Sie Produkte per API-Schlüssel (/api/v1).",
|
|||
|
|
"stores.export.cta": "Exporte öffnen",
|
|||
|
|
"stores.apiKeys.title": "API-Schlüssel",
|
|||
|
|
"stores.apiKeys.description": "Legacy-API-Schlüssel wurden nicht migriert. Erstellen Sie unter Einstellungen einen neuen Schlüssel, um den /api/v1-Zugang wiederherzustellen — das Geheimnis wird nur einmal angezeigt.",
|
|||
|
|
"stores.apiKeys.descriptionMember": "Unternehmens-API-Schlüssel für /api/v1. Legacy-Schlüssel wurden nicht migriert — nur Admins können erstellen/widerrufen; Präfixe in den Einstellungen sichtbar.",
|
|||
|
|
"stores.apiKeys.cta": "API-Schlüssel verwalten",
|
|||
|
|
"stores.apiKeys.ctaView": "API-Schlüssel ansehen",
|
|||
|
|
"stores.status.needsReconnect": "Erneute Verbindung nötig",
|
|||
|
|
"stores.status.connected": "Verbunden",
|
|||
|
|
"stores.status.notConnected": "Nicht verbunden",
|
|||
|
|
"stores.status.ready": "Bereit",
|
|||
|
|
"stores.status.outbound": "Ausgehend",
|
|||
|
|
"stores.status.reissue": "Neu ausstellen",
|
|||
|
|
"store.tab.connection": "Verbindung",
|
|||
|
|
"store.tab.orders": "Bestellungen",
|
|||
|
|
"store.tab.settings": "Einstellungen",
|
|||
|
|
"store.tab.categories": "Kategorien",
|
|||
|
|
"store.tab.attributes": "Attribute",
|
|||
|
|
"store.tab.reviews": "Bewertungen",
|
|||
|
|
"store.badge.credentialsOnFile": "Anmeldedaten vorhanden",
|
|||
|
|
"store.badge.syncEnabled": "Produkt-Push aktiviert",
|
|||
|
|
"store.badge.syncDisabled": "Produkt-Push deaktiviert",
|
|||
|
|
"store.badge.syncQueued": "Produkt-Push in Warteschlange",
|
|||
|
|
"store.badge.dryRun": "Probelauf",
|
|||
|
|
"store.badge.testStatus": "Test: {status}",
|
|||
|
|
"store.badge.syncStatus": "Produkt-Push: {status}",
|
|||
|
|
"store.badge.ordersQueued": "Bestell-Sync in Warteschlange",
|
|||
|
|
"store.badge.ordersStatus": "Bestellungen: {status}",
|
|||
|
|
"store.badge.syncedCount": "{count} synchronisiert",
|
|||
|
|
"store.badge.mappedCount": "{count} zugeordnet",
|
|||
|
|
"store.badge.productsCount": "{count} Produkte",
|
|||
|
|
"store.badge.optionsCount": "{count} Optionen",
|
|||
|
|
"store.lastSync": "Letzte Sync: {date}",
|
|||
|
|
"store.noOrdersSyncYet": "Noch keine Bestell-Sync abgeschlossen.",
|
|||
|
|
"store.save": "Speichern",
|
|||
|
|
"store.saving": "Speichern...",
|
|||
|
|
"store.testing": "Test läuft...",
|
|||
|
|
"store.testConnection": "Verbindung testen",
|
|||
|
|
"store.queueing": "Wird eingereiht...",
|
|||
|
|
"store.queueProductPush": "Produkt-Push einreihen (Descrybe → Shop)",
|
|||
|
|
"store.queueFirstProductSync": "Ersten Produkt-Push einreihen (Descrybe → Shop)",
|
|||
|
|
"store.queueOrdersImport": "Bestellimport einreihen (Shop → Descrybe)",
|
|||
|
|
"store.refreshList": "Liste aktualisieren",
|
|||
|
|
"store.saveBeforeTest": "Anmeldedaten vor dem Test speichern",
|
|||
|
|
"store.saveTestBeforeQueue": "Speichern Sie Anmeldedaten und testen Sie die Verbindung vor dem Sync",
|
|||
|
|
"store.connectionOk": "Verbindung OK",
|
|||
|
|
"store.connectionSuccessful": "Verbindung erfolgreich",
|
|||
|
|
"store.connectionSuccessfulDot": "Verbindung erfolgreich.",
|
|||
|
|
"store.connectionFailed": "Verbindung fehlgeschlagen",
|
|||
|
|
"store.connectionFailedDot": "Verbindung fehlgeschlagen.",
|
|||
|
|
"store.connectionTestFailed": "Verbindungstest fehlgeschlagen",
|
|||
|
|
"store.testFailed": "Test fehlgeschlagen",
|
|||
|
|
"store.setupSteps": "Einrichtungsschritte",
|
|||
|
|
"store.col.order": "Bestellung",
|
|||
|
|
"store.col.customer": "Kunde",
|
|||
|
|
"store.col.status": "Zustand",
|
|||
|
|
"store.col.total": "Gesamt",
|
|||
|
|
"store.col.date": "Datum",
|
|||
|
|
"store.loadingOrders": "Bestellungen werden geladen…",
|
|||
|
|
"store.loadingOrdersDot": "Bestellungen werden geladen.",
|
|||
|
|
"flash.store.saveFailed": "Einstellungen konnten nicht gespeichert werden",
|
|||
|
|
"flash.store.queueSyncFailed": "Sync konnte nicht in die Warteschlange gestellt werden",
|
|||
|
|
"flash.store.queueOrdersFailed": "Bestell-Sync konnte nicht in die Warteschlange gestellt werden",
|
|||
|
|
"flash.store.connectedTo": "Verbunden mit {name}.",
|
|||
|
|
"flash.shopify.loadFailed": "Shopify-Konfiguration konnte nicht geladen werden",
|
|||
|
|
"flash.shopify.productSyncQueued": "Produkt-Sync in Warteschlange. Der Worker führt ihn bald aus.",
|
|||
|
|
"flash.shopify.ordersSyncQueued": "Bestell-Sync in Warteschlange. Der Worker führt ihn bald aus.",
|
|||
|
|
"flash.woo.loadFailed": "WooCommerce-Konfiguration konnte nicht geladen werden",
|
|||
|
|
"flash.woo.productSyncQueued": "Produkt-Sync in Warteschlange. Sync läuft bald.",
|
|||
|
|
"flash.woo.ordersSyncQueued": "Bestell-Sync in Warteschlange. Sync läuft bald.",
|
|||
|
|
"flash.woo.reviewsSyncQueued": "Bewertungs-Sync in Warteschlange. Sync läuft bald.",
|
|||
|
|
"flash.woo.queueReviewsFailed": "Bewertungs-Sync konnte nicht in die Warteschlange gestellt werden",
|
|||
|
|
"flash.woo.remoteMapsFailed": "Remote-Maps konnten nicht geladen werden",
|
|||
|
|
"flash.woo.syncSettingsFailed": "Sync-Einstellungen konnten nicht gespeichert werden",
|
|||
|
|
"flash.woo.categoryAutoMapFailed": "Kategorie-Auto-Map fehlgeschlagen",
|
|||
|
|
"flash.woo.attributeAutoMapFailed": "Attribut-Auto-Map fehlgeschlagen",
|
|||
|
|
"shopify.title": "Shopify-Integration",
|
|||
|
|
"shopify.description": "Connect a Shopify store with Dev Dashboard client credentials (recommended) or a legacy Admin API token. Products: Descrybe → Shopify. Orders: Shopify → Descrybe.",
|
|||
|
|
"shopify.adminOnly": "Only Unternehmen admins can change Shopify connection Einstellungen. Synchronisieren and browse stay verfügbar.",
|
|||
|
|
"shopify.lockedTitle": "Shopify-Verbindung gesperrt",
|
|||
|
|
"shopify.noCredentialsMember": "Noch keine Shopify-Zugangsdaten hinterlegt. Bitten Sie einen Unternehmens-Admin, den Shop zu verbinden. Sync und Bestellübersicht bleiben nach Speichern und Verbindungstest verfügbar.",
|
|||
|
|
"shopify.enterToken": "Anmeldedaten eingeben",
|
|||
|
|
"shopify.noCredentials": "Keine Shopify-Zugangsdaten hinterlegt. Geben Sie Ihre *.myshopify.com-Domain und Dev-Dashboard-Client-ID + Secret ein (oder ein Legacy-Admin-API-Token), dann Speichern und Verbindung testen. Nach einer Plattformmigration werden alte Secrets nicht übernommen — erneut mit einem frischen Token verbinden.",
|
|||
|
|
"shopify.allConnectors": "Alle Shop-Konnektoren",
|
|||
|
|
"shopify.setupDesc": "New Shopify apps are created in the Dev Dashboard (not Develop apps in Admin). Paste Client ID + secret below — Descrybe exchanges them for Admin API tokens and refreshes before they expire.",
|
|||
|
|
"shopify.setup.oauthNote": "Still manual: create/install the app in Shopify and paste Client ID + secret here. Descrybe does not host a one-click App Store install. Legacy permanent shpat_ tokens from older Admin custom apps still work.",
|
|||
|
|
"shopify.setup.scopesTitle": "Erforderliche Admin-API-Scopes",
|
|||
|
|
"shopify.setup.scopesIntro": "Add these scopes on the app version in the Dev Dashboard before you release and install:",
|
|||
|
|
"shopify.setup.step3.scopes": "write_products, read_products, read_orders",
|
|||
|
|
"shopify.setup.step3.mid": ", then",
|
|||
|
|
"shopify.setup.step3.release": "Release",
|
|||
|
|
"shopify.setup.step4.install": "Install app",
|
|||
|
|
"shopify.setup.step5.before": "In app Settings, copy",
|
|||
|
|
"shopify.setup.step5.clientId": "Client ID",
|
|||
|
|
"shopify.setup.step5.and": "and",
|
|||
|
|
"shopify.setup.step5.clientSecret": "Client secret",
|
|||
|
|
"shopify.setup.step5.mid": ". Below: enter shop domain, paste both, enable sync →",
|
|||
|
|
"shopify.setup.step5.save": "Save",
|
|||
|
|
"shopify.setup.step5.arrow": "→",
|
|||
|
|
"shopify.setup.step5.test": "Test Connection",
|
|||
|
|
"shopify.setup.step5.after": ". Descrybe stores secrets encrypted and refreshes the short-lived access token automatically.",
|
|||
|
|
"shopify.setup.step6.products": "Products",
|
|||
|
|
"shopify.setup.step6.productsTail": "Descrybe → Shopify (outbound push).",
|
|||
|
|
"shopify.setup.step6.orders": "Orders",
|
|||
|
|
"shopify.setup.step6.ordersTail": "Shopify → Descrybe (inbound pull).",
|
|||
|
|
"shopify.setup.step7.before": "No live shop yet? Enable",
|
|||
|
|
"shopify.setup.step7.dryRun": "Dry run",
|
|||
|
|
"shopify.setup.step7.after": "(or use the special dry-run access token) to walk through the flow without calling Shopify.",
|
|||
|
|
"shopify.setup.openDevDashboard": "Open Dev Dashboard",
|
|||
|
|
"shopify.setup.openDevelopApps": "Open shop Develop apps",
|
|||
|
|
"shopify.setup.openDevelopAppsNeedDomain": "Enter your shop domain below to unlock a direct Admin link for this store.",
|
|||
|
|
"shopify.setup.openDevelopAppsHint": "Opens Shopify Admin → Develop apps for this shop (legacy apps / install approvals). New apps start in the Dev Dashboard.",
|
|||
|
|
"shopify.setup.copyScopes": "Copy required scopes",
|
|||
|
|
"shopify.setup.scopesCopied": "Scopes copied",
|
|||
|
|
"shopify.setup.docsCreate": "Create app docs",
|
|||
|
|
"shopify.setup.docsTokens": "Access token docs",
|
|||
|
|
"shopify.setup.showLegacyToken": "I have a legacy Admin API access token (shpat_…)",
|
|||
|
|
"shopify.setup.hideLegacyToken": "Hide legacy token field",
|
|||
|
|
"shopify.field.shopDomainHelp": "Admin API host only — use the *.myshopify.com name, not a custom storefront domain.",
|
|||
|
|
"shopify.field.clientId": "Client ID",
|
|||
|
|
"shopify.field.clientSecret": "Client secret",
|
|||
|
|
"shopify.field.clientSecretHelp": "From Dev Dashboard → your app → Settings. Descrybe exchanges these for a short-lived Admin API token and refreshes it automatically.",
|
|||
|
|
"shopify.field.accessTokenHelp": "Only for custom apps created in Shopify Admin before January 2026. New apps should use Client ID + secret instead.",
|
|||
|
|
"shopify.placeholder.clientId": "Client ID from Dev Dashboard",
|
|||
|
|
"shopify.placeholder.clientIdKeep": "Client ID on file — enter a new one to replace",
|
|||
|
|
"shopify.placeholder.clientSecret": "Client secret",
|
|||
|
|
"shopify.placeholder.clientSecretKeep": "Secret on file — enter a new one to replace",
|
|||
|
|
"shopify.setup.scope.write_products": "write_products",
|
|||
|
|
"shopify.setup.scope.write_productsWhy": "Produkte in Shopify erstellen und aktualisieren (ausgehender Push)",
|
|||
|
|
"shopify.setup.scope.read_products": "read_products",
|
|||
|
|
"shopify.setup.scope.read_productsWhy": "Bestehende Produkte anhand der SKU vor dem Aktualisieren finden",
|
|||
|
|
"shopify.setup.scope.read_orders": "read_orders",
|
|||
|
|
"shopify.setup.scope.read_ordersWhy": "Bestellungen in Descrybe importieren (eingehend)",
|
|||
|
|
"shopify.setup.step1": "Wenn Sie Shopify vor einer Plattformmigration verbunden hatten: neue Dev-Dashboard-App erstellen (oder mit frischem Legacy-Token erneut verbinden) — alte gespeicherte Secrets werden nicht übernommen.",
|
|||
|
|
"shopify.setup.step2.before": "Open the",
|
|||
|
|
"shopify.setup.step2.path": "Shopify Dev Dashboard",
|
|||
|
|
"shopify.setup.step2.after": "→ Apps → Create app → Start from Dev Dashboard (or use the deep link below).",
|
|||
|
|
"shopify.setup.step3.before": "Create a version: set App URL (default home is fine for API-only), add scopes",
|
|||
|
|
"shopify.setup.step3.after": ".",
|
|||
|
|
"shopify.setup.step4.before": "From the app Home tab,",
|
|||
|
|
"shopify.setup.step4.after": "on your store (merchant must approve scopes).",
|
|||
|
|
"shopify.testSectionTitle": "Verbindung prüfen",
|
|||
|
|
"shopify.testHint": "Speichern Sie zuerst Shop-Domain und Token, und führen Sie dann Verbindung testen aus. Ein erfolgreicher Test bestätigt Token und Scopes, bevor Sie Sync einreihen.",
|
|||
|
|
"shopify.overwriteTitle": "Shopify-Produkte überschreiben?",
|
|||
|
|
"shopify.overwriteBodyCount": "Dies stellt einen ausgehenden Produkt-Push in die Warteschlange. {count} zuvor verknüpfte Shopify-Produkt(e) können mit Descrybe-Inhalten aktualisiert werden.",
|
|||
|
|
"shopify.overwriteBody": "Dies stellt einen ausgehenden Produkt-Push in die Warteschlange. Übereinstimmende Shopify-Produkte können mit Descrybe-Inhalten aktualisiert werden.",
|
|||
|
|
"shopify.credentialsTitle": "Shop-Anmeldedaten",
|
|||
|
|
"shopify.credentialsDesc.before": "Die Shop-Domain muss Ihre",
|
|||
|
|
"shopify.credentialsDesc.code": "*.myshopify.com",
|
|||
|
|
"shopify.credentialsDesc.after": "domain. Prefer Dev Dashboard Client ID + secret; legacy Admin API tokens still work.",
|
|||
|
|
"shopify.field.shopDomain": "Shop-Domain",
|
|||
|
|
"shopify.field.accessToken": "Admin-API-Zugriffstoken",
|
|||
|
|
"shopify.field.apiVersion": "API-Version",
|
|||
|
|
"shopify.placeholder.tokenKeep": "******** (leer lassen zum Behalten)",
|
|||
|
|
"shopify.enableSync": "Produkt-Push aktivieren (Descrybe → Shopify)",
|
|||
|
|
"shopify.dryRunLabel": "Dry Run (keine Live-Shopify-Aufrufe)",
|
|||
|
|
"shopify.ordersTitle": "Bestellimport (Shopify → Descrybe)",
|
|||
|
|
"shopify.ordersDesc": "Shopify → Descrybe — Bestellungen und Positionen nach Descrybe ziehen (schreibt nicht zurück nach Shopify).",
|
|||
|
|
"shopify.ordersNeedsReconnect": "Bestellimport kann erst laufen, wenn Zugangsdaten nach der Migration erneut verbunden sind. Im Reiter Verbindung: Speichern, dann Verbindung testen.",
|
|||
|
|
"shopify.notesTitle": "Notizen",
|
|||
|
|
"shopify.notesDesc": "Shopify-Connector-Funktionen",
|
|||
|
|
"shopify.notes.productsLabel": "Produkte (Descrybe → Shopify)",
|
|||
|
|
"shopify.notes.productsBody": "— verarbeitete Descrybe-Produkte werden in Shopify erstellt oder aktualisiert (SKU-Match via GraphQL, wenn keine gecachte Shopify-Produkt-ID). Re-Sync kann übereinstimmende Remote-Felder überschreiben.",
|
|||
|
|
"shopify.notes.ordersLabel": "Bestellungen (Shopify → Descrybe)",
|
|||
|
|
"shopify.notes.ordersBody": "— für Reporting und künftige Audience-Workflows abgerufen.",
|
|||
|
|
"shopify.notes.reviewsLabel": "Bewertungen",
|
|||
|
|
"shopify.notes.reviewsBody": "-- not Supported. Shopify has no first-party Produkt reviews Admin API (third-party review apps are out of scope here).",
|
|||
|
|
"shopify.notes.encryption.before": "Tokens werden ruhend verschlüsselt mit",
|
|||
|
|
"woo.title": "WooCommerce-Integration",
|
|||
|
|
"woo.description": "Create a WordPress REST API key, connect your store, then push products (Descrybe → WooCommerce) and pull orders/reviews (WooCommerce → Descrybe).",
|
|||
|
|
"woo.allStores": "Alle Stores",
|
|||
|
|
"woo.adminOnly": "Nur Unternehmens-Admins können WooCommerce-Verbindung und Mapping ändern. Sync und Durchsuchen bleiben verfügbar.",
|
|||
|
|
"woo.enterCredentials": "Anmeldedaten eingeben",
|
|||
|
|
"woo.noCredentials": "Keine WooCommerce-Zugangsdaten hinterlegt. Store-URL eingeben, in WordPress einen Read/Write-REST-API-Schlüssel erstellen, Consumer Key und Secret einfügen, dann Speichern und Verbindung testen. Nach einer Plattformmigration werden alte Secrets nicht übernommen — mit einem neuen Schlüssel erneut verbinden.",
|
|||
|
|
"woo.lockedTitle": "WooCommerce-Verbindung gesperrt",
|
|||
|
|
"woo.noCredentialsMember": "Noch keine WooCommerce-Zugangsdaten hinterlegt. Bitten Sie einen Unternehmens-Admin, den Shop zu verbinden. Sync, Bestellungen und Bewertungen bleiben nach Speichern und Verbindungstest verfügbar.",
|
|||
|
|
"woo.setupDesc": "Follow these steps to create a WooCommerce REST API key in WordPress and connect it here. Descrybe never creates keys on your store for you.",
|
|||
|
|
"woo.setup.step1": "Wenn Sie WooCommerce vor einer Plattformmigration verbunden hatten: neuen REST-API-Schlüssel erstellen — alte gespeicherte Zugangsdaten sind nicht nutzbar.",
|
|||
|
|
"woo.setup.step2.before": "Enter your store",
|
|||
|
|
"woo.setup.step2.path": "HTTPS URL",
|
|||
|
|
"woo.setup.step2.after": "in the form below (example: https://yourstore.com).",
|
|||
|
|
"woo.setup.step3.before": "In WordPress admin, open",
|
|||
|
|
"woo.setup.step3.path": "WooCommerce → Settings → Advanced → REST API",
|
|||
|
|
"woo.setup.step3.after": "(or use the deep link once your store URL is filled in).",
|
|||
|
|
"woo.setup.step4.before": "Click",
|
|||
|
|
"woo.setup.step4.addKey": "Add key",
|
|||
|
|
"woo.setup.step4.mid": ", set permissions to",
|
|||
|
|
"woo.setup.step4.permissions": "Read/Write",
|
|||
|
|
"woo.setup.step4.after": ", then copy the Consumer Key (ck_…) and Consumer Secret (cs_…). The secret is shown only once.",
|
|||
|
|
"woo.setup.step5.before": "Paste the key and secret below, enable sync if ready, then",
|
|||
|
|
"woo.setup.step5.save": "Save",
|
|||
|
|
"woo.setup.step5.arrow": "→",
|
|||
|
|
"woo.setup.step5.test": "Test Connection",
|
|||
|
|
"woo.setup.step5.after": ".",
|
|||
|
|
"woo.setup.step6.products": "Products",
|
|||
|
|
"woo.setup.step6.productsTail": "Descrybe → WooCommerce (outbound push).",
|
|||
|
|
"woo.setup.step6.orders": "Orders",
|
|||
|
|
"woo.setup.step6.and": "and",
|
|||
|
|
"woo.setup.step6.reviews": "reviews",
|
|||
|
|
"woo.setup.step6.inboundTail": "WooCommerce → Descrybe (inbound pull). Sync runs in the background — check status badges on this page.",
|
|||
|
|
"woo.setup.openKeys": "REST-API-Schlüssel öffnen",
|
|||
|
|
"woo.setup.addKey": "Schlüssel hinzufügen",
|
|||
|
|
"woo.setup.openKeysHint": "Öffnet WordPress-Admin → WooCommerce → Einstellungen → Erweitert → REST-API.",
|
|||
|
|
"woo.setup.openKeysNeedUrl": "Zuerst eine gültige Store-URL speichern, um Admin-Links zu öffnen.",
|
|||
|
|
"woo.setup.docsLink": "WooCommerce REST-API-Dokumentation",
|
|||
|
|
"woo.overwriteTitle": "WooCommerce-Produkte überschreiben?",
|
|||
|
|
"woo.overwriteBodyCount": "Dies stellt einen ausgehenden Produkt-Push in die Warteschlange. {count} zuvor verknüpfte WooCommerce-Produkt(e) können mit Descrybe-Inhalten aktualisiert werden.",
|
|||
|
|
"woo.overwriteBody": "Dies stellt einen ausgehenden Produkt-Push in die Warteschlange. Übereinstimmende WooCommerce-Produkte können mit Descrybe-Inhalten aktualisiert werden.",
|
|||
|
|
"woo.connectionTitle": "Store connection",
|
|||
|
|
"woo.connectionDesc": "Paste your store URL and a Read/Write REST API key pair. Save, then Test Connection before queuing syncs.",
|
|||
|
|
"woo.enableSync": "Produkt-Push aktivieren (Descrybe → WooCommerce)",
|
|||
|
|
"woo.field.storeUrl": "Shop-URL",
|
|||
|
|
"woo.field.storeUrlHelp": "Öffentliche Site-URL mit https. Für die WooCommerce-REST-API und Deep-Links in den WordPress-Admin.",
|
|||
|
|
"woo.field.consumerKey": "Consumer Key",
|
|||
|
|
"woo.field.consumerSecret": "Consumer Secret",
|
|||
|
|
"woo.field.credentialsHelp": "Consumer Key und Secret mit Lese-/Schreibrechten. Leer lassen, um vorhandene Zugangsdaten zu behalten.",
|
|||
|
|
"woo.placeholder.keep": "******** (unverändert)",
|
|||
|
|
"woo.keepCredentialsHint": "Lassen Sie Schlüssel/Geheimnis beim Speichern leer, um bestehende Anmeldedaten zu behalten.",
|
|||
|
|
"woo.saveConfiguration": "Konfiguration speichern",
|
|||
|
|
"woo.categoryMappingTitle": "Kategoriezuordnung",
|
|||
|
|
"woo.categoryMappingDesc": "Ordnen Sie Ihre internen Kategorien den WooCommerce-Kategorien zu",
|
|||
|
|
"woo.autoMapCategories": "Kategorien automatisch zuordnen",
|
|||
|
|
"woo.autoMapping": "Automatische Zuordnung...",
|
|||
|
|
"woo.refreshCategories": "Kategorien aktualisieren",
|
|||
|
|
"woo.availableCategories": "Verfügbare WooCommerce-Kategorien",
|
|||
|
|
"woo.categoriesEmptyHint": "Testen Sie die Verbindung und aktualisieren Sie dann, um WooCommerce-Kategorien zu laden.",
|
|||
|
|
"woo.attributeMappingTitle": "Attributzuordnung",
|
|||
|
|
"woo.attributeMappingDesc": "Ordnen Sie Ihre internen Attribute den WooCommerce-Attributen zu",
|
|||
|
|
"woo.autoMapAttributes": "Attribute automatisch zuordnen",
|
|||
|
|
"woo.refreshAttributes": "Attribute aktualisieren",
|
|||
|
|
"woo.availableAttributes": "Verfügbare WooCommerce-Attribute",
|
|||
|
|
"woo.attributesEmptyHint": "Testen Sie die Verbindung und aktualisieren Sie dann, um WooCommerce-Attribute zu laden.",
|
|||
|
|
"woo.ordersTitle": "Bestellimport (WooCommerce → Descrybe)",
|
|||
|
|
"woo.ordersDesc": "WooCommerce → Descrybe — Bestellungen und Positionen nach Descrybe ziehen (schreibt nicht zurück in den Shop).",
|
|||
|
|
"woo.ordersNeedsReconnect": "Bestellimport kann erst laufen, wenn Zugangsdaten nach der Migration erneut verbunden sind. Im Reiter Verbindung: Speichern, dann Verbindung testen.",
|
|||
|
|
"woo.syncSettingsTitle": "Sync-Einstellungen",
|
|||
|
|
"woo.syncSettingsDesc": "Konfigurieren, wie Produkte Descrybe → WooCommerce gepusht werden",
|
|||
|
|
"woo.matchStrategy": "Produkt Matching Strategy",
|
|||
|
|
"woo.matchStrategyHelp": "Produkt-Push (Descrybe → WooCommerce) matcht Remote-Produkte nach SKU oder EAN/GTIN. Syncs über den Reiter Verbindung einreihen (manuell).",
|
|||
|
|
"woo.lastSyncLabel": "Letzte Sync",
|
|||
|
|
"woo.saveSyncSettings": "Sync-Einstellungen speichern",
|
|||
|
|
"woo.match.sku": "SKU",
|
|||
|
|
"woo.match.ean": "EAN/GTIN",
|
|||
|
|
"plan.feature.section.shell": "Oberfläche",
|
|||
|
|
"plan.feature.section.dashboard": "Übersicht",
|
|||
|
|
"plan.feature.section.catalog": "Katalog",
|
|||
|
|
"plan.feature.section.feeds": "Feeds",
|
|||
|
|
"plan.feature.section.stores": "Shops",
|
|||
|
|
"plan.feature.section.processing": "Verarbeitung",
|
|||
|
|
"plan.feature.section.marketing": "Marketing",
|
|||
|
|
"plan.feature.section.integrations": "Integrationen",
|
|||
|
|
"plan.feature.section.billing": "Abrechnung",
|
|||
|
|
"plan.feature.section.settings": "Einstellungen",
|
|||
|
|
"plan.feature.section.support": "Hilfezentrum",
|
|||
|
|
"plan.feature.section.capabilities": "Funktionen",
|
|||
|
|
"plan.feature.shell.navigation": "Seitennavigation",
|
|||
|
|
"plan.feature.shell.command_palette": "Befehlspalette",
|
|||
|
|
"plan.feature.shell.company_switcher": "Unternehmenswechsler",
|
|||
|
|
"plan.feature.shell.support_notifications": "Support-Benachrichtigungsglocke",
|
|||
|
|
"plan.feature.shell.tutorial": "Produkt-Tutorial",
|
|||
|
|
"plan.feature.shell.account_menu": "Kontomenü",
|
|||
|
|
"plan.feature.shell.billing_recovery_banner": "Banner zur Abrechnungswiederherstellung",
|
|||
|
|
"plan.feature.dashboard.overview": "Dashboard-Übersicht",
|
|||
|
|
"plan.feature.dashboard.stats": "Statistikkarten",
|
|||
|
|
"plan.feature.dashboard.quick_links": "Schnelllinks",
|
|||
|
|
"plan.feature.dashboard.recent_jobs": "Aktuelle Aufträge",
|
|||
|
|
"plan.feature.dashboard.news_feed": "Nachrichtenfeed",
|
|||
|
|
"plan.feature.dashboard.activation_checklist": "Aktivierungs-Checkliste",
|
|||
|
|
"plan.feature.dashboard.migrated_checklist": "Checkliste für migrierte Kohorte",
|
|||
|
|
"plan.feature.dashboard.etl_gaps": "ETL-Lücken-Panel",
|
|||
|
|
"plan.feature.dashboard.store_reconnect": "Banner zur Shop-Neuverbindung",
|
|||
|
|
"plan.feature.dashboard.upgrade_banners": "Upgrade-Banner",
|
|||
|
|
"plan.feature.catalog.products": "Produkte",
|
|||
|
|
"plan.feature.catalog.products.tab_processed": "Produkte - Registerkarte Verarbeitet",
|
|||
|
|
"plan.feature.catalog.products.tab_needs_review": "Produkte - Registerkarte Prüfung nötig",
|
|||
|
|
"plan.feature.catalog.products.tab_error": "Produkte - Registerkarte Fehler",
|
|||
|
|
"plan.feature.catalog.products.tab_processing": "Produkte - Registerkarte In Verarbeitung",
|
|||
|
|
"plan.feature.catalog.products.tab_unprocessed": "Produkte - Registerkarte Unverarbeitet",
|
|||
|
|
"plan.feature.catalog.products.process_categories": "Kategorien verarbeiten",
|
|||
|
|
"plan.feature.catalog.products.process_attributes": "Attribute / Specs verarbeiten",
|
|||
|
|
"plan.feature.catalog.products.process_ai_titles": "KI-Titel verarbeiten",
|
|||
|
|
"plan.feature.catalog.products.process_ai_descriptions": "KI-Beschreibungen verarbeiten",
|
|||
|
|
"plan.feature.catalog.products.enrichment_review": "Anreicherungs-Prüfungsbereich",
|
|||
|
|
"plan.feature.catalog.products.export_selection": "Ausgewählte Produkte exportieren",
|
|||
|
|
"plan.feature.catalog.products.upgrade_prompt": "Produkt-Upgrade-Hinweise",
|
|||
|
|
"plan.feature.catalog.categories": "Kategorien",
|
|||
|
|
"plan.feature.catalog.categories.title_formula": "Kategorie-Titelformel",
|
|||
|
|
"plan.feature.catalog.categories.description_formula": "Kategorie-Beschreibungsformel",
|
|||
|
|
"plan.feature.catalog.attributes": "Attribute",
|
|||
|
|
"plan.feature.catalog.attributes.bulk_import": "Massenimport von Attributen",
|
|||
|
|
"plan.feature.catalog.standard_fields": "Standardfelder",
|
|||
|
|
"plan.feature.catalog.standard_fields.groups": "Standardfeldgruppen",
|
|||
|
|
"plan.feature.catalog.structured_descriptions": "Strukturierte Beschreibungsfelder",
|
|||
|
|
"plan.feature.catalog.vector_categories": "Vektor-Kategorien",
|
|||
|
|
"plan.feature.feeds.list": "Import-Feeds",
|
|||
|
|
"plan.feature.feeds.add_url": "Feed-URL hinzufügen",
|
|||
|
|
"plan.feature.feeds.add_csv": "Feed per CSV-Upload hinzufügen",
|
|||
|
|
"plan.feature.feeds.sync": "Feed synchronisieren",
|
|||
|
|
"plan.feature.feeds.mapping": "Feed-Zuordnung",
|
|||
|
|
"plan.feature.feeds.mapping.select_item": "Zuordnung - Item-Element auswählen",
|
|||
|
|
"plan.feature.feeds.mapping.map_fields": "Zuordnung - Felder zuordnen",
|
|||
|
|
"plan.feature.feeds.export_feeds": "Export-Feeds",
|
|||
|
|
"plan.feature.feeds.export_feeds.create": "Export-Feed erstellen",
|
|||
|
|
"plan.feature.feeds.export_feeds.generate": "Export-Feed erzeugen",
|
|||
|
|
"plan.feature.feeds.uploads": "Datei-Uploads",
|
|||
|
|
"plan.feature.stores.hub": "Shop-Zentrale",
|
|||
|
|
"plan.feature.stores.woocommerce": "WooCommerce-Integration",
|
|||
|
|
"plan.feature.stores.woocommerce.connection": "WooCommerce-Verbindung",
|
|||
|
|
"plan.feature.stores.woocommerce.categories": "WooCommerce-Kategorien-Sync",
|
|||
|
|
"plan.feature.stores.woocommerce.attributes": "WooCommerce-Attribute-Sync",
|
|||
|
|
"plan.feature.stores.woocommerce.orders": "WooCommerce-Bestellungen",
|
|||
|
|
"plan.feature.stores.woocommerce.reviews": "WooCommerce-Bewertungen",
|
|||
|
|
"plan.feature.stores.woocommerce.settings": "WooCommerce-Einstellungen",
|
|||
|
|
"plan.feature.stores.shopify": "Shopify-Integration",
|
|||
|
|
"plan.feature.stores.shopify.connection": "Shopify-Verbindung",
|
|||
|
|
"plan.feature.stores.shopify.orders": "Shopify-Bestellungen",
|
|||
|
|
"plan.feature.stores.shopify.settings": "Shopify-Einstellungen",
|
|||
|
|
"plan.feature.processing.monitor": "Verarbeitungsmonitor",
|
|||
|
|
"plan.feature.marketing.campaigns": "Kampagnen",
|
|||
|
|
"plan.feature.marketing.campaigns.create": "Assistent für neue Kampagne",
|
|||
|
|
"plan.feature.marketing.campaigns.generate_ai": "KI-Kampagnengenerierung",
|
|||
|
|
"plan.feature.marketing.campaigns.send": "Kampagne senden / Blast",
|
|||
|
|
"plan.feature.marketing.content_calendar": "Content-Kalender",
|
|||
|
|
"plan.feature.marketing.brand_kit": "Marken-Kit",
|
|||
|
|
"plan.feature.marketing.brand_ai_apply": "Marken-KI in Prompts anwenden",
|
|||
|
|
"plan.feature.marketing.seo": "SEO-Empfehlungen",
|
|||
|
|
"plan.feature.marketing.seo.template_fill": "SEO-Vorlage ausfüllen",
|
|||
|
|
"plan.feature.marketing.seo.ai_rewrite": "SEO-KI-Umschreibung",
|
|||
|
|
"plan.feature.marketing.reviews": "Bewertungen",
|
|||
|
|
"plan.feature.integrations.ai": "KI-Integrationen",
|
|||
|
|
"plan.feature.integrations.ai.byok": "Eigenen KI-Schlüssel verwenden",
|
|||
|
|
"plan.feature.integrations.email": "E-Mail-Versand",
|
|||
|
|
"plan.feature.integrations.email.test": "E-Mail-Testversand",
|
|||
|
|
"plan.feature.integrations.email.blast": "E-Mail-Massenversand",
|
|||
|
|
"plan.feature.billing.overview": "Abrechnungsübersicht",
|
|||
|
|
"plan.feature.billing.customer_portal": "Stripe-Kundenportal",
|
|||
|
|
"plan.feature.billing.quick_upgrade": "Schnell-Upgrade-Checkout",
|
|||
|
|
"plan.feature.billing.plans_compare": "Pläne vergleichen",
|
|||
|
|
"plan.feature.billing.checkout": "Stripe-Checkout",
|
|||
|
|
"plan.feature.settings.profile": "Profileinstellungen",
|
|||
|
|
"plan.feature.settings.company": "Unternehmenseinstellungen",
|
|||
|
|
"plan.feature.settings.alerts": "Alarmeinstellungen",
|
|||
|
|
"plan.feature.settings.api_keys": "API-Schlüssel",
|
|||
|
|
"plan.feature.settings.team": "Teamverwaltung",
|
|||
|
|
"plan.feature.settings.team_invite": "Teammitglied einladen",
|
|||
|
|
"plan.feature.support.center": "Hilfe-Center",
|
|||
|
|
"plan.feature.support.ticket_create": "Neues Support-Ticket",
|
|||
|
|
"plan.feature.support.ticket_thread": "Support-Ticket-Thread",
|
|||
|
|
"plan.feature.capability.sku_cap": "Produkt-SKU-Limit",
|
|||
|
|
"plan.feature.capability.ai_credits": "KI-Guthaben-Wallet",
|
|||
|
|
"plan.feature.capability.ai_processing": "KI-Verarbeitungsaufträge",
|
|||
|
|
"plan.feature.capability.eprel": "EPREL-Anreicherung",
|
|||
|
|
"plan.feature.capability.normalize_specs_fill": "Normalisieren / Specs / Ausfüllen",
|
|||
|
|
"plan.feature.capability.campaign_ai": "KI-Kampagnengenerierung",
|
|||
|
|
"plan.feature.capability.email_live_send": "Live-E-Mail-Zustellung",
|
|||
|
|
"plan.feature.capability.brand_ai_apply": "Markenstimme in KI-Prompts",
|
|||
|
|
"plan.feature.capability.seo_ai_rewrite": "SEO-KI-Umschreibung",
|
|||
|
|
"plan.feature.capability.feed_source_limit": "Feed-Quellenlimit (Marketing)",
|
|||
|
|
"plan.feature.capability.export_feed_limit": "Export-Feed-Limit (Marketing)",
|
|||
|
|
"plan.feature.capability.storage_limit": "Speicherlimit (Marketing)",
|
|||
|
|
"plan.feature.capability.api_access": "REST-API-Zugang (Marketing)",
|
|||
|
|
"plan.feature.capability.byok": "Eigenen KI-Schlüssel verwenden",
|
|||
|
|
"billing.plan.free": "Kostenlos",
|
|||
|
|
"products.actions.selectAll": "Alles auswählen",
|
|||
|
|
"products.actions.upgradeSuffix": " · Upgrade",
|
|||
|
|
"products.actions.upgradeRequired": "{label} (Upgrade erforderlich)",
|
|||
|
|
"products.actions.free": "kostenlos",
|
|||
|
|
"products.actions.credits": "{credits} Credits",
|
|||
|
|
"products.actions.autoCategorizeTitle": "Kategorisierung wird automatisch hinzugefügt",
|
|||
|
|
"products.actions.autoCategorizeBody": "{count} Produkt(e) brauchen Kategorisierung für die {types}-Verarbeitung",
|
|||
|
|
"products.actions.aiLocked": "KI-Optionen sind auf Free gesperrt. Upgraden Sie, um Titel/Beschreibungen zu verarbeiten.",
|
|||
|
|
"products.actions.processSelected": "Auswahl verarbeiten",
|
|||
|
|
"products.actions.markProcessed": "Als verarbeitet markieren",
|
|||
|
|
"products.actions.resetUnprocessed": "Auf unverarbeitet zurücksetzen",
|
|||
|
|
"products.actions.export": "Exportieren",
|
|||
|
|
"products.upload.dropHint": "CSV hier ablegen oder klicken zum Durchsuchen",
|
|||
|
|
"products.upload.supportsHint": "Unterstützt .csv-Produktimporte (ean, name, category…)",
|
|||
|
|
"products.export.chooseConfig": "{count} ausgewählte(s) Produkt(e) exportieren. Wählen Sie den Export-Feed für Format und Felder.",
|
|||
|
|
"products.export.selectPlaceholder": "Export-Feed auswählen…",
|
|||
|
|
"fields.typeLabel": "Typ",
|
|||
|
|
"fields.groupLabel": "Gruppe",
|
|||
|
|
"fields.selectGroup": "Gruppe auswählen",
|
|||
|
|
"fields.groupBelongsHint": "Gruppe, zu der dieses Feld gehört",
|
|||
|
|
"fields.addFieldShort": "Feld hinzufügen",
|
|||
|
|
"fields.enableRecommended": "Empfohlene aktivieren",
|
|||
|
|
"feeds.activated": "Feed aktiviert.",
|
|||
|
|
"feeds.deactivated": "Feed deaktiviert.",
|
|||
|
|
"feeds.syncTimeout": "Synchronisieren timed out waiting for the server. The job may still finish — open Synchronisieren History to check status.",
|
|||
|
|
"feeds.createdMapHint": "Feed erstellt. Ordnen Sie Felder vor dem Synchronisieren zu.",
|
|||
|
|
"feeds.createdPlain": "Feed erstellt.",
|
|||
|
|
"feeds.createdMapDesc": "Ordnen Sie Quellspalten Produktfeldern zu und synchronisieren Sie dann.",
|
|||
|
|
"feeds.lastLiveSync": "Letzte erfolgreiche Feed-Sync: {when}",
|
|||
|
|
"feeds.noLiveSyncProducts": "Noch keine erfolgreiche Feed-Sync. Katalog zuletzt aktualisiert {when}.",
|
|||
|
|
"feeds.noDataYet": "Noch keine Sync- oder Katalogdaten.",
|
|||
|
|
"products.filters.incomplete": "Unvollständig",
|
|||
|
|
"products.filters.complete44": "Vollständig (4/4)",
|
|||
|
|
"products.filters.missingName": "Name fehlt",
|
|||
|
|
"products.filters.missingDescription": "Beschreibung fehlt",
|
|||
|
|
"products.filters.missingAttributes": "Attribute fehlen",
|
|||
|
|
"products.filters.missingCategory": "Kategorie fehlt",
|
|||
|
|
"products.filters.hasEprel": "Hat EPREL",
|
|||
|
|
"products.filters.noEprel": "Kein EPREL",
|
|||
|
|
"products.filters.priceChanged": "Preis geändert",
|
|||
|
|
"products.filters.stockChanged": "Bestand geändert",
|
|||
|
|
"products.filters.titleChanged": "Titel geändert",
|
|||
|
|
"products.filters.newFromFeed": "Neu aus Feed",
|
|||
|
|
"products.filters.otherFieldChange": "Andere Feldänderung",
|
|||
|
|
"products.filters.sortUpdatedNewest": "Aktualisiert (neueste)",
|
|||
|
|
"products.filters.sortUpdatedOldest": "Aktualisiert (älteste)",
|
|||
|
|
"products.filters.sortNameAsc": "Name (A-Z)",
|
|||
|
|
"products.filters.sortNameDesc": "Name (Z-A)",
|
|||
|
|
"products.filters.searchPlaceholder": "Produkte suchen...",
|
|||
|
|
"products.filters.searchCategories": "Kategorien suchen...",
|
|||
|
|
"products.filters.selectFeed": "Feed auswählen",
|
|||
|
|
"products.filters.loadingFeeds": "Feeds werden geladen…",
|
|||
|
|
"products.table.loading": "Produkte werden geladen",
|
|||
|
|
"products.table.uncategorized": "Unkategorisiert",
|
|||
|
|
"products.table.assignCategory": "Kategorie zuweisen",
|
|||
|
|
"products.table.changeCategory": "Kategorie für {name} ändern",
|
|||
|
|
"products.table.selectCategory": "Kategorie auswählen…",
|
|||
|
|
"products.table.saveCategory": "Kategorie speichern",
|
|||
|
|
"products.table.cancelCategory": "Kategoriebearbeitung abbrechen",
|
|||
|
|
"products.table.categoryRequired": "Kategorie wählen",
|
|||
|
|
"products.table.noCategoriesAvailable": "Noch keine Kategorien — erstelle eine unter Katalog",
|
|||
|
|
"products.table.qualityUnavailable": "Qualität nicht verfügbar",
|
|||
|
|
"products.table.full": "Voll",
|
|||
|
|
"products.table.empty": "Leer",
|
|||
|
|
"products.table.saveName": "Name speichern",
|
|||
|
|
"products.table.cancelRename": "Umbenennen abbrechen",
|
|||
|
|
"products.table.noSyncYet": "Noch keine Sync",
|
|||
|
|
"products.feedSync.feedAndWhen": "{feed} · {when}",
|
|||
|
|
"products.feedSync.syncedWhen": "Synchronisiert {when}",
|
|||
|
|
"products.table.productOptions": "Produktoptionen",
|
|||
|
|
"products.edit.details": "Produktdetails",
|
|||
|
|
"products.edit.noEprel": "Keine EPREL-ID auf diesem Produkt.",
|
|||
|
|
"products.edit.specsPresent": "Technische Spezifikationen sind auf diesem Produkt vorhanden.",
|
|||
|
|
"products.edit.noEnrichedName": "Kein angereicherter Name",
|
|||
|
|
"products.edit.resetName": "Angereicherten Namen auf Original zurücksetzen",
|
|||
|
|
"products.edit.cannotClearName": "Original ist leer — angereicherter Name kann per PATCH nicht gelöscht werden",
|
|||
|
|
"products.edit.showPreview": "Vorschau anzeigen",
|
|||
|
|
"products.edit.editHtml": "HTML bearbeiten",
|
|||
|
|
"products.edit.noEnrichedDescription": "Keine angereicherte Beschreibung",
|
|||
|
|
"products.edit.resetDescription": "Angereicherte Beschreibung auf Original zurücksetzen",
|
|||
|
|
"products.edit.cannotClearDescription": "Original ist leer — angereicherte Beschreibung kann nicht per PATCH gelöscht werden",
|
|||
|
|
"products.edit.unknownFeed": "Unbekannter Feed",
|
|||
|
|
"products.edit.noProcessedName": "Kein verarbeiteter Name verfügbar",
|
|||
|
|
"products.edit.feedNamed": "Feed · {name}",
|
|||
|
|
"products.edit.noAiDescription": "Keine KI-Beschreibung",
|
|||
|
|
"products.edit.sourceLabel": "Quellenbezeichnung",
|
|||
|
|
"products.edit.coverageTitle": "Wie viele von Name, Beschreibung, Attributen und Kategorie vorhanden sind (Feed oder verarbeitet).",
|
|||
|
|
"products.edit.coverageReady": "{count}/4 bereit",
|
|||
|
|
"products.edit.eprelPresentTitle": "Die European Product Registry for Energy Labelling (EPREL)-ID ist auf diesem Produkt vorhanden.",
|
|||
|
|
"products.edit.noEprelBadge": "Kein EPREL",
|
|||
|
|
"products.edit.specsBadge": "Specs",
|
|||
|
|
"products.edit.reviewBannerTitle": "Angereicherte Felder vor dem Akzeptieren prüfen",
|
|||
|
|
"products.edit.reviewBannerHelp": "Nutzen Sie den Tab Prüfung, um Originale mit KI zu vergleichen. Kürzel: A akzeptieren · R ablehnen · Alt+1/2 Feld · ⌘/Ctrl+Enter alles akzeptieren.",
|
|||
|
|
"products.edit.tab.review": "Prüfen",
|
|||
|
|
"products.edit.tab.details": "Details",
|
|||
|
|
"products.edit.tab.content": "Inhalt",
|
|||
|
|
"products.edit.tab.attributes": "Attribute",
|
|||
|
|
"products.edit.tab.feed": "Feed",
|
|||
|
|
"products.edit.changed": "Geändert",
|
|||
|
|
"products.edit.matched": "Übereinstimmend",
|
|||
|
|
"products.edit.original": "Original",
|
|||
|
|
"products.edit.enriched": "Angereichert",
|
|||
|
|
"products.edit.discardName": "Name verwerfen",
|
|||
|
|
"products.edit.acceptName": "Name akzeptieren",
|
|||
|
|
"products.edit.discardDescription": "Beschreibung verwerfen",
|
|||
|
|
"products.edit.acceptDescription": "Beschreibung akzeptieren",
|
|||
|
|
"products.edit.noCategory": "No Kategorie",
|
|||
|
|
"products.edit.whatsFilledIn": "Was ausgefüllt ist",
|
|||
|
|
"products.edit.coverageLegend": "Gray = missing · Orange = from Feed · Green = processed",
|
|||
|
|
"products.edit.feedSource": "Feed-Quelle",
|
|||
|
|
"products.edit.updatedRelative": "· aktualisiert {when}",
|
|||
|
|
"products.edit.viewAllFeedFields": "View all Feed fields ({filled}/{total})",
|
|||
|
|
"products.edit.productIdentity": "Produkt identity",
|
|||
|
|
"products.edit.aiProcessedName": "AI-verarbeiteter Name",
|
|||
|
|
"products.edit.originalName": "Originalname",
|
|||
|
|
"products.edit.productIdSku": "Produkt ID / SKU",
|
|||
|
|
"products.edit.rowUpdated": "Produktzeile aktualisiert {when}",
|
|||
|
|
"products.edit.noRawUpdateTime": "No raw Produkt update time",
|
|||
|
|
"products.edit.feedSyncLabel": "· Feed sync {when}",
|
|||
|
|
"products.edit.neverRecorded": "nie erfasst",
|
|||
|
|
"products.edit.feedFilledCount": "{filled} ausgefüllt · {total} Felder",
|
|||
|
|
"products.edit.noMappedFeedFields": "No mapped Feed fields on this Produkt.",
|
|||
|
|
"products.edit.fieldCol": "Feld",
|
|||
|
|
"products.edit.valueFromFeed": "Wert from Feed",
|
|||
|
|
"products.edit.core": "Kern",
|
|||
|
|
"products.edit.aiProcessedDescription": "AI-Processed Beschreibung",
|
|||
|
|
"products.edit.originalDescription": "Originalbeschreibung",
|
|||
|
|
"products.edit.noAttrsYet": "No Attribut or specification data on this Produkt yet.",
|
|||
|
|
"products.edit.fromFeed": "Aus dem Feed",
|
|||
|
|
"products.edit.feedAttrsHelp": "Aus dem Feed geparste Werte (Spezifikationen HTML, Garantie, Maße, EPREL). Schlüssel werden nach Möglichkeit mit attribute_key verknüpft.",
|
|||
|
|
"products.edit.fieldsCount": "{count} Felder",
|
|||
|
|
"products.edit.originalAttributes": "Original-Attribute",
|
|||
|
|
"products.edit.aiAttributes": "KI- / angereicherte Attribute",
|
|||
|
|
"products.edit.editableAttributes": "Bearbeitbare Attribute",
|
|||
|
|
"products.edit.editableAttributesHelp": "Änderungen werden in der Produkt-Attributmap gespeichert. Feed- und KI-Zeilen darunter bleiben als Referenz, wenn sie abweichen.",
|
|||
|
|
"products.edit.addAttribute": "Attribut hinzufügen",
|
|||
|
|
"products.edit.attrKeyPlaceholder": "Schlüssel",
|
|||
|
|
"products.edit.attrValuePlaceholder": "Wert",
|
|||
|
|
"products.edit.removeAttribute": "{key} entfernen",
|
|||
|
|
"products.edit.noEditableAttrs": "Noch keine bearbeitbaren Attribute. Schlüssel/Wert-Paar hinzufügen.",
|
|||
|
|
"products.edit.reject": "Ablehnen",
|
|||
|
|
"products.edit.accept": "Übernehmen",
|
|||
|
|
"taskIndicator.title": "Hintergrundaufgaben",
|
|||
|
|
"taskIndicator.activeOne": "1 Job läuft",
|
|||
|
|
"taskIndicator.activeMany": "{count} Jobs laufen",
|
|||
|
|
"taskIndicator.view": "Fortschritt anzeigen",
|
|||
|
|
"taskIndicator.expand": "Aufgabenliste ausklappen",
|
|||
|
|
"taskIndicator.collapse": "Aufgabenliste einklappen",
|
|||
|
|
"taskIndicator.progressAria": "Job-Fortschritt {pct} Prozent",
|
|||
|
|
"taskIndicator.progressCounts": "{done} von {total} Produkten",
|
|||
|
|
"attributes.assignBulk": "Kategorien zuweisen",
|
|||
|
|
"products.filters.search": "Suchen",
|
|||
|
|
"products.filters.sortAria": "Sortierung: {label}",
|
|||
|
|
"products.filters.sortLabel": "Sortierung: {label}",
|
|||
|
|
"products.table.colIdName": "ID/Name",
|
|||
|
|
"products.table.colCoverage": "Abdeckung",
|
|||
|
|
"products.table.coverageTitle": "Abdeckung: N=Name, D=Beschreibung, A=Attribute, C=Kategorie. Grau=fehlend, orange=aus dem Feed, grün=verarbeitet. EPREL zeigt die Energieetiketten-Register-ID.",
|
|||
|
|
"products.table.colFeed": "Feed",
|
|||
|
|
"products.table.colCategory": "Kategorie",
|
|||
|
|
"products.table.colStatus": "Zustand",
|
|||
|
|
"products.table.colUpdated": "Zuletzt aktualisiert",
|
|||
|
|
"products.table.colActions": "Aktionen",
|
|||
|
|
"products.table.loadingDots": "Produkte werden geladen…",
|
|||
|
|
"products.table.noneFound": "Keine Produkte gefunden.",
|
|||
|
|
"products.table.selectProduct": "Produkt {name} auswählen",
|
|||
|
|
"products.table.rename": "{name} umbenennen",
|
|||
|
|
"products.table.productNameAria": "Produktname für {name}",
|
|||
|
|
"products.table.selectPage": "Auswählen {count} on this page",
|
|||
|
|
"products.table.deselectPage": "{count} auf dieser Seite abwählen",
|
|||
|
|
"categories.assign": "Zuweisen",
|
|||
|
|
"categories.titleFormulaSubtitle": "Legen Sie fest, wie Produkttitel für {name} erzeugt werden sollen",
|
|||
|
|
"categories.addText": "Text hinzufügen",
|
|||
|
|
"categories.aboutTitleFormulas": "Über Titelformeln",
|
|||
|
|
"categories.aboutTitleFormulasHelp": "Titel werden von links nach rechts aus den folgenden Elementen zusammengesetzt.",
|
|||
|
|
"categories.variablesReplacedHelp": "Variablen werden durch Produktdaten ersetzt, sofern verfügbar. Fehlende Werte werden übersprungen.",
|
|||
|
|
"categories.variableTypeHelp": "Dynamisches Feld aus Produktdaten (Beispiel: Marke).",
|
|||
|
|
"categories.textTypeHelp": "Statischer Text, der immer wie geschrieben erscheint.",
|
|||
|
|
"categories.assignTitleCopyHelp": "Mit Zuweisen kopieren Sie diese Formel auf andere Kategorien, die dasselbe Titelmuster teilen sollen.",
|
|||
|
|
"categories.titleFormulaInvalid": "Diese Titelformel-Seite benötigt eine gültige Kategorie. Kehren Sie zu Kategorien zurück und öffnen Sie Titelformel bearbeiten erneut.",
|
|||
|
|
"categories.preview.title": "Titelvorschau",
|
|||
|
|
"categories.preview.description": "So werden Ihre Produkttitel strukturiert",
|
|||
|
|
"categories.preview.exampleTab": "Beispielvorschau",
|
|||
|
|
"categories.preview.structureTab": "Formelstruktur",
|
|||
|
|
"categories.preview.noElements": "Noch keine Elemente hinzugefügt",
|
|||
|
|
"categories.brandTips.title": "Markenbezogene Tipps",
|
|||
|
|
"categories.brandTips.freePlan": "Das Marken-Kit ist im Free-Plan bearbeitbar; KI-Anwendung schaltet sich in bezahlten Plänen frei.",
|
|||
|
|
"categories.brandTips.editBrandKit": "Marken-Kit bearbeiten",
|
|||
|
|
"categories.brandTips.emptyBefore": "Fügen Sie Stimme oder bevorzugte Begriffe in ",
|
|||
|
|
"categories.brandTips.emptyAfter": " hinzu, um hier Tipps zu sehen.",
|
|||
|
|
"categories.brandTips.brandKit": "Marken-Kit",
|
|||
|
|
"categories.brandTips.descGuidanceBefore": "Hinweise aus Ihrem ",
|
|||
|
|
"categories.brandTips.descGuidanceAfter": " für Beschreibungsabschnitte.",
|
|||
|
|
"categories.formulaElementsTitle": "Formelelemente",
|
|||
|
|
"categories.formulaElementsHelp": "Elemente per Drag & Drop neu anordnen",
|
|||
|
|
"categories.noElementsAdded": "Keine Elemente hinzugefügt",
|
|||
|
|
"categories.addElementsHint": "Fügen Sie Variablen oder Text rechts im Panel hinzu",
|
|||
|
|
"categories.editTextElementAria": "Textelement {value} bearbeiten",
|
|||
|
|
"categories.removeElementAria": "{type}-Element {value} entfernen",
|
|||
|
|
"categories.tab.single": "Einzeln",
|
|||
|
|
"categories.tab.bulk": "Massenupload",
|
|||
|
|
"categories.uniqueIdLabel": "Eindeutige ID",
|
|||
|
|
"categories.parentLabel": "Übergeordnet",
|
|||
|
|
"categories.noneRoot": "Keine (Stamm)",
|
|||
|
|
"categories.descriptionLabel": "Beschreibung",
|
|||
|
|
"categories.csvUploadHelp": "Laden Sie eine CSV mit den Spalten name, unique_id sowie optional parent_unique_id und description hoch.",
|
|||
|
|
"categories.downloadTemplate": "Vorlage herunterladen",
|
|||
|
|
"categories.variableNameKey": "Name (Schlüssel)",
|
|||
|
|
"categories.displayName": "Anzeigename",
|
|||
|
|
"categories.exampleValue": "Beispielwert",
|
|||
|
|
"categories.variableExists": "Eine Variable mit dem Namen \"{name}\" existiert bereits.",
|
|||
|
|
"categories.addVariable": "Variable hinzufügen",
|
|||
|
|
"categories.updateVariable": "Variable aktualisieren",
|
|||
|
|
"categories.col.displayName": "Anzeigename",
|
|||
|
|
"categories.col.key": "Schlüssel",
|
|||
|
|
"categories.col.description": "Beschreibung",
|
|||
|
|
"categories.col.example": "Beispiel",
|
|||
|
|
"categories.noVariablesFound": "Keine Variablen gefunden",
|
|||
|
|
"categories.availableVariables": "Verfügbare Variablen",
|
|||
|
|
"categories.manage": "Verwalten",
|
|||
|
|
"categories.noVariablesMatch": "Keine Variablen entsprechen „{query}“.",
|
|||
|
|
"categories.noUnusedVariables": "Keine ungenutzten Variablen mehr. Fügen Sie eine benutzerdefinierte Variable hinzu oder entfernen Sie ein Element.",
|
|||
|
|
"categories.exampleColon": "Beispiel: {value}",
|
|||
|
|
"categories.editVariableAria": "{label} bearbeiten",
|
|||
|
|
"categories.deleteVariableAria": "{label} löschen",
|
|||
|
|
"categories.addVariableAria": "{label} hinzufügen",
|
|||
|
|
"categories.textLabel": "Text",
|
|||
|
|
"categories.textAppearsAsWritten": "Dieser Text erscheint in Ihren Titeln genau wie geschrieben",
|
|||
|
|
"categories.addTextButton": "Text hinzufügen",
|
|||
|
|
"categories.updateTextButton": "Text aktualisieren",
|
|||
|
|
"categories.structureDescriptionsFor": "Produktbeschreibungen für {name} strukturieren",
|
|||
|
|
"categories.metaInformation": "Meta-Informationen",
|
|||
|
|
"categories.metaInformationHelp": "Anweisungen, die die KI für SEO-Titel und Meta-Beschreibung verwendet.",
|
|||
|
|
"categories.metaTitleFormula": "Meta-Titelformel",
|
|||
|
|
"categories.metaTitleHint": "Wird in Suchergebnissen und Browser-Tabs angezeigt (etwa 50–60 Zeichen).",
|
|||
|
|
"categories.metaDescriptionFormula": "Meta-Beschreibungsformel",
|
|||
|
|
"categories.metaDescriptionHint": "Wird unter dem Titel in Suchergebnissen angezeigt (etwa 120–155 Zeichen).",
|
|||
|
|
"categories.resetToDefault": "Auf Standard zurücksetzen",
|
|||
|
|
"categories.descriptionSections": "Beschreibungsabschnitte",
|
|||
|
|
"categories.descriptionSectionsHelp": "Ziehen Sie Abschnitte, um die Reihenfolge der generierten Beschreibung festzulegen.",
|
|||
|
|
"categories.noSectionsYet": "Noch keine Abschnitte",
|
|||
|
|
"categories.addSectionsHint": "Fügen Sie eine Überschrift, einen Absatz oder eine Liste hinzu.",
|
|||
|
|
"categories.aiInstructions": "KI-Anweisungen",
|
|||
|
|
"categories.exportIdOptional": "Export-ID (optional)",
|
|||
|
|
"categories.exportIdUnique": "Export-ID muss eindeutig sein",
|
|||
|
|
"categories.addSection": "Abschnitt hinzufügen",
|
|||
|
|
"categories.aboutDescriptionFormulas": "Über Beschreibungsformeln",
|
|||
|
|
"categories.aboutDescriptionFormulasHelp": "Diese Anweisungen sagen der KI, wie Beschreibungen für Produkte in dieser Kategorie geschrieben werden sollen.",
|
|||
|
|
"categories.sectionTypesHeading": "Abschnittstypen",
|
|||
|
|
"categories.sectionTypeHeadings": "Überschriften (H1–H4):",
|
|||
|
|
"categories.sectionTypeHeadingsHelp": "Titel und Untertitel",
|
|||
|
|
"categories.sectionTypeParagraphs": "Absätze:",
|
|||
|
|
"categories.sectionTypeParagraphsHelp": "Hauptinhaltsblöcke",
|
|||
|
|
"categories.sectionTypeLists": "Aufzählungen:",
|
|||
|
|
"categories.sectionTypeListsHelp": "Features und Specs",
|
|||
|
|
"categories.aiInstructionsHeading": "KI-Anweisungen",
|
|||
|
|
"categories.aiInstructionsBody": "Schreiben Sie pro Abschnitt eine klare Aufgabe (Inhalt, Ton, Länge). Vage Prompts erzeugen vage Texte.",
|
|||
|
|
"categories.exportIdsHeading": "Export-IDs",
|
|||
|
|
"categories.exportIdsBody": "Optionale IDs ordnen einen Abschnitt Export-Feeds zu (zum Beispiel short_description).",
|
|||
|
|
"categories.assignDescCopyHelp": "Mit Zuweisen kopieren Sie diese Vorlage auf andere Kategorien mit derselben Struktur.",
|
|||
|
|
"categories.descriptionFormulaInvalid": "Diese Beschreibungsformel-Seite benötigt eine gültige Kategorie. Kehren Sie zu Kategorien zurück und öffnen Sie Beschreibungsformel bearbeiten erneut.",
|
|||
|
|
"categories.sectionType.h1": "Überschrift 1",
|
|||
|
|
"categories.sectionType.h2": "Überschrift 2",
|
|||
|
|
"categories.sectionType.h3": "Überschrift 3",
|
|||
|
|
"categories.sectionType.h4": "Überschrift 4",
|
|||
|
|
"categories.sectionType.p": "Absatz",
|
|||
|
|
"categories.sectionType.ul": "Aufzählung",
|
|||
|
|
"categories.aiGenerationPrompt": "KI-Generierungs-Prompt",
|
|||
|
|
"categories.aiPromptOverrides": "Überschreibt den Unternehmens-Prompt zur Produktverbesserung für {name}",
|
|||
|
|
"categories.promptTemplate": "Prompt-Vorlage",
|
|||
|
|
"categories.promptTemplateHelp": "Verwenden Sie Platzhalter wie {{name}} und {{description}}. Leer lassen, um den Unternehmensstandard unter Integrationen → KI zu verwenden.",
|
|||
|
|
"categories.clear": "Leeren",
|
|||
|
|
"categories.promptLabel": "Prompt",
|
|||
|
|
"categories.charactersCount": "{count} Zeichen",
|
|||
|
|
"categories.activeOverride": "· aktive Überschreibung für diese Kategorie",
|
|||
|
|
"categories.usingCompanyDefault": "· Unternehmens-/Standardvorgabe wird verwendet",
|
|||
|
|
"categories.usingCompanyDefaultForLang": "· leer für diese Sprache — Unternehmens-/integrierter Standard gilt",
|
|||
|
|
"categories.aiPromptSavedLang": "KI-Prompt für {lang} gespeichert.",
|
|||
|
|
"categories.aiPromptClearedLang": "KI-Prompt für {lang} gelöscht (Unternehmensstandard gilt).",
|
|||
|
|
"contentLang.switcherLabel": "Inhaltssprache",
|
|||
|
|
"contentLang.primary": "primär",
|
|||
|
|
"contentLang.hasOverride": "benutzerdefiniert",
|
|||
|
|
"contentLang.addLanguage": "Sprache hinzufügen…",
|
|||
|
|
"contentLang.add": "Hinzufügen",
|
|||
|
|
"contentLang.removeLanguage": "{lang} entfernen",
|
|||
|
|
"contentLang.resultsHint": "Sprache wechseln, um KI-Titel und -Beschreibungen für jede Inhaltssprache zu prüfen.",
|
|||
|
|
"contentLang.settingsTitle": "Inhaltssprachen",
|
|||
|
|
"contentLang.settingsHelp": "Die Primärsprache wird standardmäßig verwendet. Zusätzliche Sprachen erhalten eigene Prompts und KI-Ergebnisse (jeder Durchlauf verbraucht Credits).",
|
|||
|
|
"ai.prompts.languageHelp": "Unternehmens-Prompts je Inhaltssprache bearbeiten. Leere Sprache fällt auf die integrierte Standardeinstellung für diese Sprache zurück.",
|
|||
|
|
"header.accountSettingsAria": "Kontoeinstellungen für {email}",
|
|||
|
|
"switcher.switchUserAria": "Benutzer wechseln: {label}",
|
|||
|
|
"switcher.unavailable": "Benutzerwechsel ist in dieser Umgebung nicht verfügbar.",
|
|||
|
|
"switcher.loadFailed": "Benutzer konnten nicht geladen werden.",
|
|||
|
|
"support.notifications.aria": "Support-Benachrichtigungen",
|
|||
|
|
"support.notifications.ariaUnread": "Support-Benachrichtigungen, {count} ungelesen",
|
|||
|
|
"time.never": "Nie",
|
|||
|
|
"time.invalid": "Ungültiges Datum",
|
|||
|
|
"time.unknown": "Unbekanntes Datum",
|
|||
|
|
"time.justNow": "gerade eben",
|
|||
|
|
"time.neverUsed": "Nie verwendet",
|
|||
|
|
"billing.plan.enterprise": "Enterprise",
|
|||
|
|
"news.heading": "Plattform-Updates",
|
|||
|
|
"news.subtitle": "Neueste Funktionen und Verbesserungen",
|
|||
|
|
"news.keyFeatures": "Wichtige Funktionen:",
|
|||
|
|
"news.badge.new": "Neu",
|
|||
|
|
"news.footer": "Das war’s fürs Erste — schauen Sie nach dem nächsten Release wieder vorbei.",
|
|||
|
|
"news.category.enhancement": "Verbesserung",
|
|||
|
|
"news.category.feature": "Funktion",
|
|||
|
|
"news.category.integration": "Integration",
|
|||
|
|
"news.category.newFeature": "Neue Funktion",
|
|||
|
|
"news.category.billing": "Abrechnung",
|
|||
|
|
"news.uxImprovements.description": "Verbesserte Benutzerfreundlichkeit mit Tour-Steuerung, API-Verbesserungen und besserer Navigation.",
|
|||
|
|
"news.uxImprovements.f1": "Tour überspringen/ausblenden",
|
|||
|
|
"news.uxImprovements.f2": "API-Zuverlässigkeitsverbesserungen",
|
|||
|
|
"news.uxImprovements.f3": "Verbesserte UI-Navigation",
|
|||
|
|
"news.uxImprovements.f4": "Bessere Workflow-Effizienz",
|
|||
|
|
"news.multiselect.title": "Unterstützung für Mehrfachauswahl-Attribute",
|
|||
|
|
"news.multiselect.description": "Produkte können mehrere Werte für Listenattribute haben.",
|
|||
|
|
"news.multiselect.f1": "Mehrfachauswahl-Attributtyp",
|
|||
|
|
"news.multiselect.f2": "Mehrfachauswahl in der Produktbearbeitung",
|
|||
|
|
"news.multiselect.f3": "Mehrere Werte auf einem Attribut",
|
|||
|
|
"news.multiselect.f4": "Verbesserte Extraktion für Mehrfachauswahlfelder",
|
|||
|
|
"news.multiselect.f5": "Bessere Kompatibilität von Export-Feeds",
|
|||
|
|
"news.csvEan.title": "CSV-EAN-Upload",
|
|||
|
|
"news.csvEan.description": "CSV-Dateien mit EAN-Codes hochladen, um hunderte Produkte auf einmal zu verarbeiten.",
|
|||
|
|
"news.csvEan.f1": "CSV-Upload per Drag & Drop",
|
|||
|
|
"news.csvEan.f2": "EAN-Formatvalidierung (EAN-8, EAN-13, UPC-12, GTIN-14)",
|
|||
|
|
"news.csvEan.f3": "Automatische Duplikaterkennung",
|
|||
|
|
"news.csvEan.f4": "Massenverarbeitung von Produkten",
|
|||
|
|
"news.csvEan.f5": "Detaillierte Verarbeitungsstatistiken",
|
|||
|
|
"news.brick.title": "BRICK-Code-Attributunterstützung",
|
|||
|
|
"news.brick.description": "Attributsystem mit BRICK-Codes für standardisierte Klassifikation und Exporte.",
|
|||
|
|
"news.brick.f1": "BRICK-Code-Attributverarbeitung",
|
|||
|
|
"news.brick.f2": "Automatische Codeformatierung in Exporten",
|
|||
|
|
"news.brick.f3": "BRICK-Code-Integration in XML-Feeds",
|
|||
|
|
"news.brick.f4": "Kompatibilitätsverbesserungen für Export-Feeds",
|
|||
|
|
"news.apiV1.title": "API-v1-Veröffentlichung",
|
|||
|
|
"news.apiV1.description": "Neue API-v1-Endpunkte für Kategorien, Attribute, Feeds, Produkte und Exporte.",
|
|||
|
|
"news.apiV1.f1": "RESTful API-v1-Endpunkte",
|
|||
|
|
"news.apiV1.f2": "Verwaltung von Kategorien und Attributen",
|
|||
|
|
"news.apiV1.f3": "Feed-Erstellung und -Verwaltung",
|
|||
|
|
"news.apiV1.f4": "Produktverarbeitung über API",
|
|||
|
|
"news.apiV1.f5": "Programmatischer Zugriff auf Export-Feeds",
|
|||
|
|
"news.apiV1.f6": "Authentifizierung und Autorisierung",
|
|||
|
|
"news.feedFiltering.title": "Feed-Filterung auf der Produktseite",
|
|||
|
|
"news.feedFiltering.description": "Produktseite mit optimierter Feed-Filterung, Ladezuständen und besserer Performance.",
|
|||
|
|
"news.feedFiltering.f1": "Verbesserte Feed-Filterung",
|
|||
|
|
"news.feedFiltering.f2": "Verbesserte Ladezustände",
|
|||
|
|
"news.feedFiltering.f3": "Optimierte Abfrageleistung",
|
|||
|
|
"news.feedFiltering.f4": "Bessere Paginierungsbehandlung",
|
|||
|
|
"news.feedFiltering.f5": "Verbesserungen der Exportfunktion",
|
|||
|
|
"news.exportFeeds.title": "Export-Feed-System",
|
|||
|
|
"news.exportFeeds.description": "Umfassendes Export-Feed-System für XML/CSV mit benutzerdefinierten Konfigurationen.",
|
|||
|
|
"news.exportFeeds.f1": "XML- und CSV-Exportformate",
|
|||
|
|
"news.exportFeeds.f2": "Benutzerdefiniertes Feldmapping",
|
|||
|
|
"news.exportFeeds.f3": "Exportvorschau",
|
|||
|
|
"news.exportFeeds.f4": "Jobbasierter Produktexport",
|
|||
|
|
"news.exportFeeds.f5": "EPREL-Datenintegration",
|
|||
|
|
"news.exportFeeds.f6": "Öffentliche Export-Feed-URLs",
|
|||
|
|
"news.woocommerce.title": "WooCommerce-Integration",
|
|||
|
|
"news.woocommerce.description": "Produkte, Kategorien und Attribute mit WooCommerce-Shops synchronisieren.",
|
|||
|
|
"news.woocommerce.f1": "Shop-Anmeldedaten konfigurieren",
|
|||
|
|
"news.woocommerce.f2": "Kategorie- und Attributmapping",
|
|||
|
|
"news.woocommerce.f3": "Bidirektionale Produktsynchronisation",
|
|||
|
|
"news.woocommerce.f4": "Match-Strategieoptionen",
|
|||
|
|
"news.eprel.title": "EPREL-Energieetiketten-Integration",
|
|||
|
|
"news.eprel.description": "Anbindung an das europäische Energieetikettenregister für Effizienzdaten.",
|
|||
|
|
"news.eprel.f1": "Automatische EPREL-ID-Verarbeitung",
|
|||
|
|
"news.eprel.f2": "Abruf von Energieetikettenbildern",
|
|||
|
|
"news.eprel.f3": "Download von Produkt-Energiefiches",
|
|||
|
|
"news.eprel.f4": "Extraktion der Energieklasse",
|
|||
|
|
"news.eprel.f5": "Mehrsprachige Unterstützung",
|
|||
|
|
"news.aiCategorization.title": "Verbesserte Produktkategorisierung",
|
|||
|
|
"news.aiCategorization.description": "KI-Kategorisierung mit höherer Genauigkeit und hierarchischer Unterstützung.",
|
|||
|
|
"news.aiCategorization.f1": "Hierarchische Kategorienavigation",
|
|||
|
|
"news.aiCategorization.f2": "Konfidenzbewertung",
|
|||
|
|
"news.aiCategorization.f3": "Mehrsprachige Unterstützung",
|
|||
|
|
"news.aiCategorization.f4": "Automatische Fallback-Behandlung",
|
|||
|
|
"news.standardFields.title": "Verwaltung von Standardfeldern",
|
|||
|
|
"news.standardFields.description": "Standardproduktfelder mit Gruppen, Validierung und Standardwerten verwalten.",
|
|||
|
|
"news.standardFields.f1": "Organisation in Feldgruppen",
|
|||
|
|
"news.standardFields.f2": "System- und benutzerdefinierte Felder",
|
|||
|
|
"news.standardFields.f3": "Feldvalidierungsregeln",
|
|||
|
|
"news.standardFields.f4": "Unterstützung für Standardwerte",
|
|||
|
|
"news.standardFields.f5": "Automatische Feldeinrichtung",
|
|||
|
|
"news.billingSystem.title": "Kreditbasiertes Billing",
|
|||
|
|
"news.billingSystem.description": "Neues kreditbasiertes Abrechnungssystem mit Nutzungsverfolgung und flexiblen Zahlungsoptionen.",
|
|||
|
|
"news.billingSystem.f1": "Kreditbasierte Verarbeitung",
|
|||
|
|
"news.billingSystem.f2": "Nutzungsanalytik",
|
|||
|
|
"news.billingSystem.f3": "Flexible Abrechnungszyklen",
|
|||
|
|
"news.billingSystem.f4": "Verwaltung von Zahlungsmethoden",
|
|||
|
|
"news.billingSystem.f5": "Rechnungserstellung",
|
|||
|
|
"products.pageTitle": "Produktverwaltung",
|
|||
|
|
"products.pageDescriptionStoresBefore": "Verwalten, verarbeiten und optimieren Sie Ihren Katalog. Shop verbinden oder CSV importieren über",
|
|||
|
|
"products.pageDescriptionBasic": "Verwalten, verarbeiten und optimieren Sie Ihren Katalog. Import über Feeds oder CSV-Upload.",
|
|||
|
|
"products.keyboard.esc": "— Produktbearbeitungsbereich oder Dialoge schließen",
|
|||
|
|
"products.keyboard.toggle": "— diesen Tipp umschalten",
|
|||
|
|
"products.keyboard.reviewPrefix": "Im Bereich Needs Review:",
|
|||
|
|
"products.keyboard.acceptAll": "alles akzeptieren",
|
|||
|
|
"products.keyboard.rejectShort": "ablehnen",
|
|||
|
|
"products.keyboard.acceptFields": "Name / Beschreibung akzeptieren",
|
|||
|
|
"products.connectStore": "Shop verbinden",
|
|||
|
|
"products.updating": "Aktualisierung…",
|
|||
|
|
"products.needLinkedRaw": "Ausgewählte Produkte brauchen ein verknüpftes Rohprodukt zur Verarbeitung.",
|
|||
|
|
"products.selectToProcess": "Wählen Sie mindestens ein Produkt zur Verarbeitung.",
|
|||
|
|
"products.undoResetHint": "Rückgängig setzt das Produkt per Reset auf unverarbeitet.",
|
|||
|
|
"products.field.accepted": "{label} in Produkt übernommen.",
|
|||
|
|
"products.field.acceptFailed": "{field} konnte nicht akzeptiert werden",
|
|||
|
|
"products.field.discarded": "Anreicherung {label} verworfen.",
|
|||
|
|
"products.field.discardFailed": "{field} konnte nicht verworfen werden",
|
|||
|
|
"products.upgradeRequired": "Upgrade erforderlich",
|
|||
|
|
"products.upgradeBody": "Diese Funktion braucht einen kostenpflichtigen Plan oder KI-Credits.",
|
|||
|
|
"products.enrichment.rejectTitle": "Anreicherung ablehnen?",
|
|||
|
|
"products.enrichment.rejectSelectedTitle": "Ausgewählte Produkte ablehnen?",
|
|||
|
|
"products.enrichment.resetTitle": "Auf unverarbeitet zurücksetzen?",
|
|||
|
|
"products.selectedOnPage": "{count} auf dieser Seite ausgewählt",
|
|||
|
|
"products.selectionPageOnly": "{shown} von {total} — Auswahl nur diese Seite",
|
|||
|
|
"products.edit.coverageHint": "Wie viele von Name, Beschreibung, Attributen und Kategorie vorhanden sind (Feed oder verarbeitet).",
|
|||
|
|
"products.edit.noEprelShort": "Kein EPREL",
|
|||
|
|
"products.edit.specs": "Specs",
|
|||
|
|
"products.edit.reviewBannerBody": "Nutzen Sie den Tab Prüfung, um Originale mit KI zu vergleichen. Kürzel: A akzeptieren · R ablehnen · Alt+1/2 Feld · ⌘/Ctrl+Enter alles akzeptieren.",
|
|||
|
|
"products.edit.whatsFilled": "Was ausgefüllt ist",
|
|||
|
|
"products.edit.legend": "Gray = missing · Orange = from Feed · Green = processed",
|
|||
|
|
"products.edit.updatedAgo": "· aktualisiert {relative}",
|
|||
|
|
"products.edit.status": "Zustand",
|
|||
|
|
"products.edit.noRawUpdate": "No raw Produkt update time",
|
|||
|
|
"products.edit.feedSyncPart": "· Feed-Sync",
|
|||
|
|
"products.edit.filledFields": "{filled} ausgefüllt · {total} Felder",
|
|||
|
|
"products.edit.noMappedFields": "No mapped Feed fields on this Produkt.",
|
|||
|
|
"products.edit.emptyBadge": "Leer",
|
|||
|
|
"products.edit.coreBadge": "Kern",
|
|||
|
|
"products.edit.feedAttrsHint": "Aus dem Feed geparste Werte (Spezifikationen HTML, Garantie, Maße, EPREL). Schlüssel werden nach Möglichkeit mit attribute_key verknüpft.",
|
|||
|
|
"products.edit.originalAttrs": "Originalattribute",
|
|||
|
|
"products.edit.aiAttrs": "KI- / angereicherte Attribute",
|
|||
|
|
"mapping.confidence.exact": "Exakt",
|
|||
|
|
"mapping.confidence.alias": "Alias",
|
|||
|
|
"mapping.confidence.fuzzy": "Unscharf",
|
|||
|
|
"field.group.basic": "Grundinformationen",
|
|||
|
|
"field.group.pricing": "Preise",
|
|||
|
|
"field.group.media": "Medien",
|
|||
|
|
"field.group.taxonomy": "Taxonomie",
|
|||
|
|
"field.group.inventory": "Bestand",
|
|||
|
|
"field.group.attributes": "Attribute",
|
|||
|
|
"field.group.shipping": "Versand",
|
|||
|
|
"field.group.compliance": "Compliance",
|
|||
|
|
"field.group.other": "Sonstiges",
|
|||
|
|
"common.yes": "Ja",
|
|||
|
|
"common.no": "Nein",
|
|||
|
|
"status.running": "Läuft",
|
|||
|
|
"flash.admin.analyticsLoadFailed": "Analysen konnten nicht geladen werden",
|
|||
|
|
"flash.admin.diagnosticsLoadFailed": "Diagnose konnte nicht geladen werden",
|
|||
|
|
"flash.admin.diagnosticsUnavailable": "Diagnose ist in dieser Bereitstellung nicht verfügbar. Wenden Sie sich an den Plattform-Administrator.",
|
|||
|
|
"flash.admin.diagnosticsUnreachable": "Diagnose-API nicht erreichbar. Prüfen Sie, ob die API läuft und PUBLIC_API_URL / Vite-Proxy darauf zeigen.",
|
|||
|
|
"admin.charts.statusEmpty": "Noch keine Zeilen in dieser Aufschlüsselung.",
|
|||
|
|
"admin.charts.seriesEmpty": "Noch keine Daten in diesem Zeitraum.",
|
|||
|
|
"admin.charts.primaryDefault": "Primär",
|
|||
|
|
"admin.charts.statusAria": "Statusverteilung",
|
|||
|
|
"admin.charts.seriesAria": "{label}-Diagramm",
|
|||
|
|
"admin.analytics.lastNDaysAria": "Letzte {days} Tage",
|
|||
|
|
"admin.analytics.overview": "Übersicht",
|
|||
|
|
"admin.analytics.overviewHint": "Plattformsummen mit Periodenkontext der letzten {days} Tage.",
|
|||
|
|
"admin.analytics.tokensInPeriod": "{tokens} in der Periode · aus verarbeiteten Produkten",
|
|||
|
|
"admin.analytics.creditsRemainingOf": "{remaining} verbleibend von {allocated} zugewiesen",
|
|||
|
|
"admin.analytics.noJobsYet": "Noch keine Jobs",
|
|||
|
|
"admin.analytics.feedsVolume": "{input} Eingabe · {export} Export-Feeds",
|
|||
|
|
"admin.analytics.usersCompaniesRaw": "{users} Nutzer · {companies} Unternehmen · {raw} roh",
|
|||
|
|
"admin.analytics.operations": "Betrieb",
|
|||
|
|
"admin.analytics.operationsHint": "Zuverlässigkeitssignale, Schlüssel und Wachstum für den gewählten Zeitraum.",
|
|||
|
|
"admin.analytics.failedCompleted": "{failed} fehlgeschlagen · {completed} abgeschlossen",
|
|||
|
|
"admin.analytics.runningOver2h": "Läuft > 2 Std. ·",
|
|||
|
|
"admin.analytics.apiKeysTotal": "{total} insgesamt (widerrufene eingeschlossen)",
|
|||
|
|
"admin.analytics.signupsDetail": "Nutzer · {companies} Unternehmen · {tickets} offene/ausstehende Tickets",
|
|||
|
|
"admin.analytics.providerMix": "Anbieter-Mix",
|
|||
|
|
"admin.analytics.providerMixHint": "Token-Verbrauch danach, wie KI-Zugangsdaten konfiguriert sind.",
|
|||
|
|
"admin.analytics.productsJobs": "{products} Produkte · {jobs} Jobs",
|
|||
|
|
"admin.analytics.trends": "Trends",
|
|||
|
|
"admin.analytics.trendsHint": "Tagesreihen für Tokens, Anbieter, Jobs und Anmeldungen.",
|
|||
|
|
"admin.analytics.tokensByDayHint": "Tokens aus abgeschlossener Produktverarbeitung (sekundär = Produkte an dem Tag)",
|
|||
|
|
"admin.analytics.seriesTokens": "Token-Einheiten",
|
|||
|
|
"admin.analytics.seriesProducts": "Produkte",
|
|||
|
|
"admin.analytics.emptyTokens": "Keine verarbeiteten Produkte mit Tokens in diesem Zeitraum.",
|
|||
|
|
"admin.analytics.tokensByProviderHint": "Tagesaufteilung: intern / populär / benutzerdefiniert (nach Anbietertyp)",
|
|||
|
|
"admin.analytics.emptyProviderTokens": "Noch keine anbieter-markierten Tokens in diesem Zeitraum.",
|
|||
|
|
"admin.analytics.providerDayTip": "{date}: Intern {internal} · Populär {popular} · Benutzerdefiniert {custom}",
|
|||
|
|
"admin.analytics.seriesCreated": "Erstellt",
|
|||
|
|
"admin.analytics.seriesFailed": "Fehlgeschlagen",
|
|||
|
|
"admin.analytics.emptyJobsSeries": "Keine Verarbeitungsjobs in diesem Zeitraum erstellt.",
|
|||
|
|
"admin.analytics.seriesUsers": "Benutzer",
|
|||
|
|
"admin.analytics.seriesCompanies": "Unternehmen",
|
|||
|
|
"admin.analytics.emptySignups": "Keine Nutzer- oder Unternehmensanmeldungen in diesem Zeitraum.",
|
|||
|
|
"admin.analytics.statusMix": "Status-Mix",
|
|||
|
|
"admin.analytics.statusMixHint": "Gesamte Queues für Jobs, Feed-Sync und Support.",
|
|||
|
|
"admin.analytics.jobStatus": "Job-Status",
|
|||
|
|
"admin.analytics.feedSyncQueue": "Feed-Sync-Warteschlange",
|
|||
|
|
"admin.analytics.supportTickets": "Support-Tickets",
|
|||
|
|
"admin.analytics.emptyJobStatus": "Noch keine Verarbeitungsjobs.",
|
|||
|
|
"admin.analytics.emptyFeedSync": "Noch keine Feed-Sync-Jobs.",
|
|||
|
|
"admin.analytics.emptyTickets": "Noch keine Support-Tickets.",
|
|||
|
|
"admin.analytics.usageDetail": "Nutzungsdetails",
|
|||
|
|
"admin.analytics.usageDetailHint": "Anbietermodi, Top-Unternehmen und Abrechnungszyklus-Summen.",
|
|||
|
|
"admin.analytics.companyUsage": "Unternehmensnutzung",
|
|||
|
|
"admin.analytics.jobsCol": "Jobs",
|
|||
|
|
"admin.analytics.billingCycles": "Abrechnung cycles",
|
|||
|
|
"admin.analytics.billingCyclesHint": "Historische Summen vergangener Abrechnungszyklen (können hinter dem aktiven Abo zurückliegen)",
|
|||
|
|
"admin.analytics.periodCol": "Zeitraum",
|
|||
|
|
"admin.analytics.creditsCol": "Credits",
|
|||
|
|
"admin.analytics.dataNotes": "Datenhinweise",
|
|||
|
|
"admin.diagnostics.endpointNotMounted": "Endpoint nicht eingebunden",
|
|||
|
|
"admin.diagnostics.noPayload": "Keine Diagnose-Daten",
|
|||
|
|
"admin.diagnostics.unavailableShort": "Diagnose ist in dieser Bereitstellung nicht verfügbar.",
|
|||
|
|
"admin.diagnostics.fixThenRefresh": "Beheben Sie den Fehler oben und aktualisieren Sie dann.",
|
|||
|
|
"admin.diagnostics.refreshOrConfirm": "Aktualisieren oder prüfen, ob die API gesund ist.",
|
|||
|
|
"admin.diagnostics.systemStatus": "Systemstatus",
|
|||
|
|
"admin.diagnostics.snapshot": "Snapshot {when}",
|
|||
|
|
"admin.diagnostics.queueTotal": "{total} insgesamt",
|
|||
|
|
"admin.diagnostics.queueStuck": "processing_jobs · stecken geblieben (>2 Std.):",
|
|||
|
|
"admin.diagnostics.driver": "Treiber: {driver}",
|
|||
|
|
"admin.diagnostics.openStuck": "Hängende Produkte öffnen",
|
|||
|
|
"admin.diagnostics.configPresence": "Konfigurationspräsenz",
|
|||
|
|
"admin.diagnostics.configHint": "Nur Booleans · env {env} · RPM {rpm} · Batch {batch} · Retries {retries}",
|
|||
|
|
"admin.diagnostics.cutoverTitle": "Cutover-Bereitschaft",
|
|||
|
|
"admin.diagnostics.cutoverHint": "Nur Präsenzflags — Goose-Versionshinweise, Worker-Alter, fehlende Pläne. Kein Live-Stripe/SMTP.",
|
|||
|
|
"admin.diagnostics.cutoverGoose": "Goose",
|
|||
|
|
"admin.diagnostics.cutoverGooseVersion": "version_max {max} · erwartet ≥ {min}",
|
|||
|
|
"admin.diagnostics.cutoverGooseRequired": "Erforderliche Migrationen",
|
|||
|
|
"admin.diagnostics.cutoverWorker": "Worker",
|
|||
|
|
"admin.diagnostics.cutoverWorkerAge": "zuletzt vor {age}s · veraltet nach {stale}s",
|
|||
|
|
"admin.diagnostics.cutoverWorkerAgeUnknown": "Alter nicht verfügbar · veraltet nach {stale}s",
|
|||
|
|
"admin.diagnostics.cutoverPlansMissing": "Unternehmen ohne Plan",
|
|||
|
|
"admin.diagnostics.cutoverPlansUnavailable": "Planzählung nicht verfügbar",
|
|||
|
|
"admin.diagnostics.cutoverApiKeysMissing": "Unternehmen ohne API-Schlüssel",
|
|||
|
|
"admin.diagnostics.cutoverApiKeysUnavailable": "API-Schlüssel-Inventar nicht verfügbar",
|
|||
|
|
"admin.diagnostics.cutoverApiKeysHint": "Legacy-Schlüssel wurden nicht migriert — Mandanten müssen einen neuen dk_-Schlüssel erstellen (kein Fake-Import).",
|
|||
|
|
"admin.diagnostics.cutoverApiKeysLink": "Unternehmen zur Neuausstellung listen",
|
|||
|
|
"admin.diagnostics.cutoverApplied": "angewendet",
|
|||
|
|
"admin.diagnostics.cutoverPending": "ausstehend",
|
|||
|
|
"admin.diagnostics.etlInventoryTitle": "ETL gap inventory",
|
|||
|
|
"admin.diagnostics.etlInventoryHint": "Read-only COUNTs — no fake import. Blob bytes and default job history stay unmigrated unless ops ran optional domain jobs.",
|
|||
|
|
"admin.diagnostics.etlInventoryFiles": "Files metadata-only",
|
|||
|
|
"admin.diagnostics.etlInventoryFilesDetail": "metadata-only / total file rows",
|
|||
|
|
"admin.diagnostics.etlInventoryJobs": "Jobs migrated tag",
|
|||
|
|
"admin.diagnostics.etlInventoryJobsDefault": "jobs domain not run (empty history expected)",
|
|||
|
|
"admin.diagnostics.etlInventoryJobsRan": "optional jobs domain backfill detected",
|
|||
|
|
"admin.diagnostics.etlInventoryTasks": "Tasks rows",
|
|||
|
|
"admin.diagnostics.etlInventoryTasksDetail": "legacy task history present in Postgres",
|
|||
|
|
"admin.diagnostics.recentJobs": "Aktuelle Aufträge",
|
|||
|
|
"admin.diagnostics.recentAiFailures": "Aktuelle KI-Support-Fehler",
|
|||
|
|
"admin.diagnostics.aiFailuresHint": "support_ticket_activity · kind=ai_failed",
|
|||
|
|
"admin.diagnostics.relatedTools": "Verwandte Ops-Tools",
|
|||
|
|
"admin.diagnostics.toolStuckTitle": "Hängengebliebene Produkte",
|
|||
|
|
"admin.diagnostics.toolStuckDesc": "Jobs bereinigen, die länger als 2 Stunden laufen.",
|
|||
|
|
"admin.diagnostics.toolOrphanTitle": "Orphan processed",
|
|||
|
|
"admin.diagnostics.toolOrphanDesc": "Cutover ops #7 — dry-run report, then confirm delete.",
|
|||
|
|
"admin.diagnostics.toolAnalyticsTitle": "Analysen",
|
|||
|
|
"admin.diagnostics.toolAnalyticsDesc": "Trends und Plattform-Nutzungsdiagramme.",
|
|||
|
|
"admin.diagnostics.toolBootstrapTitle": "Bootstrap",
|
|||
|
|
"admin.diagnostics.toolBootstrapDesc": "Plattform-Admin-Zugriff für dieses Konto bestätigen.",
|
|||
|
|
"admin.diagnostics.toolSettingsTitle": "Einstellungen",
|
|||
|
|
"admin.diagnostics.toolSettingsDesc": "Plattform-Mail, KI und Systemmodus.",
|
|||
|
|
"admin.diagnostics.config.maintenance_mode": "Wartungsmodus",
|
|||
|
|
"admin.diagnostics.config.read_only_mode": "Nur-Lesen-Modus",
|
|||
|
|
"admin.diagnostics.config.session_secure": "Sicheres Session-Cookie",
|
|||
|
|
"admin.diagnostics.config.smtp_enabled": "SMTP aktiviert",
|
|||
|
|
"admin.diagnostics.config.email_dry_run": "E-Mail-Dry-Run",
|
|||
|
|
"admin.diagnostics.config.smtp_host_set": "SMTP-Host gesetzt",
|
|||
|
|
"admin.diagnostics.config.stripe_mock": "Stripe-Mock",
|
|||
|
|
"admin.diagnostics.config.eprel_enabled": "EPREL aktiviert",
|
|||
|
|
"admin.diagnostics.config.upload_dir_configured": "Upload-Verzeichnis konfiguriert",
|
|||
|
|
"admin.diagnostics.config.trusted_proxies_configured": "Vertrauenswürdige Proxys gesetzt",
|
|||
|
|
"admin.diagnostics.config.web_origin_set": "Web-Origin gesetzt",
|
|||
|
|
"admin.diagnostics.config.public_api_url_set": "Öffentliche API-URL gesetzt",
|
|||
|
|
"admin.diagnostics.config.token_signing_secret_set": "Token-Signaturgeheimnis gesetzt",
|
|||
|
|
"admin.diagnostics.config.openai_key_set": "OpenAI-Schlüssel gesetzt",
|
|||
|
|
"admin.diagnostics.config.pinecone_key_set": "Pinecone-Schlüssel gesetzt",
|
|||
|
|
"admin.diagnostics.config.stripe_secret_set": "Stripe-Geheimnis gesetzt",
|
|||
|
|
"admin.diagnostics.config.stripe_webhook_secret_set": "Stripe-Webhook-Geheimnis gesetzt",
|
|||
|
|
"admin.diagnostics.config.stripe_mock_rejected_in_prod": "Stripe-Mock in Produktion abgelehnt",
|
|||
|
|
"admin.diagnostics.config.credentials_encryption_key_set": "Anmeldedaten-Verschlüsselungsschlüssel gesetzt",
|
|||
|
|
"categories.selectAll": "Alle auswählen",
|
|||
|
|
"categories.selectedCount": "{count} ausgewählt",
|
|||
|
|
"categories.noMatchingCategories": "Keine passenden Kategorien",
|
|||
|
|
"categories.assigningProgress": "Zuweisen… {progress}%",
|
|||
|
|
"categories.assignToCount": "Zuweisen an {count}",
|
|||
|
|
"categories.aiPromptSavedForCategory": "Für diese Kategorie ist ein KI-Generierungs-Prompt gespeichert.",
|
|||
|
|
"categories.titleAndDescriptionFormulasSaved": "Titel- und Beschreibungsformeln sind für diese Kategorie gespeichert.",
|
|||
|
|
"categories.titleFormulaSavedForCategory": "Für diese Kategorie ist eine Titelformel gespeichert.",
|
|||
|
|
"categories.descriptionFormulaSavedForCategory": "Für diese Kategorie ist eine Beschreibungsformel gespeichert.",
|
|||
|
|
"site.account": "Konto",
|
|||
|
|
"site.goToApp": "Zur App",
|
|||
|
|
"site.logIn": "Anmelden",
|
|||
|
|
"site.getStarted": "Loslegen",
|
|||
|
|
"site.nav.primary": "Primär",
|
|||
|
|
"site.nav.mobile": "Mobil",
|
|||
|
|
"site.nav.home": "Start",
|
|||
|
|
"site.nav.pricing": "Preise",
|
|||
|
|
"site.nav.apiDocs": "API-Dokumentation",
|
|||
|
|
"seo.home.title": "Descrybe — Lieferanten-Feeds in fertige Produktseiten verwandeln",
|
|||
|
|
"seo.home.description": "Verbinden Sie CSV- oder XML-Lieferanten-Feeds, ordnen Sie sie Ihren Kategorien und Attributen zu, generieren Sie Titel und Beschreibungen nach Ihren Regeln und exportieren oder synchronisieren Sie mit WooCommerce.",
|
|||
|
|
"seo.pricing.title": "Preise — Free, Starter, Growth, Business | Descrybe",
|
|||
|
|
"seo.pricing.description": "Starten Sie kostenlos mit 100 Produkten und Feed-Mapping. Bezahlte Pläne bieten KI-Titel und -Beschreibungen, mehr SKUs, Export-Feeds und WooCommerce-Sync — ab 49 $/Monat. Enterprise für unbegrenzte Kataloge.",
|
|||
|
|
"seo.privacy.title": "Datenschutzerklärung | Descrybe",
|
|||
|
|
"seo.privacy.description": "Wie Descrybe Kontodaten, Produktkataloge und Lieferanten-Feeds erhebt, nutzt und schützt, wenn Sie unsere Produktdatenplattform verwenden.",
|
|||
|
|
"seo.terms.title": "Nutzungsbedingungen | Descrybe",
|
|||
|
|
"seo.terms.description": "Nutzungsbedingungen für Descrybe: Feed-Import, Kataloganreicherung, KI-gestützte Inhalte, Exporte und WooCommerce-Synchronisation für Ihr Unternehmen.",
|
|||
|
|
"seo.features.title": "Funktionen — Feeds, Anreicherung und Export | Descrybe",
|
|||
|
|
"seo.features.description": "Erfahren Sie, wie Descrybe Lieferanten-Feeds importiert, Felder Ihrer Taxonomie zuordnet, Produktdaten anreichert und Kataloge über Export-Feeds, WooCommerce oder API ausliefert.",
|
|||
|
|
"pricing.page.eyebrow": "Preise",
|
|||
|
|
"pricing.page.title": "Einfache Pläne für wachsende Kataloge",
|
|||
|
|
"pricing.page.lead": "Starten Sie kostenlos mit Feed-Mapping und grundlegender Bereinigung. Upgraden Sie, wenn Sie KI-Titel und -Beschreibungen, mehr Produkte, Export-Feeds oder WooCommerce-Sync brauchen — von Starter bis Enterprise.",
|
|||
|
|
"pricing.page.subscribedBefore": "Bereits abonniert? Nutzung verwalten unter",
|
|||
|
|
"pricing.page.subscribedMid": "oder Pläne vergleichen in",
|
|||
|
|
"pricing.page.plansLink": "Pläne",
|
|||
|
|
"pricing.page.subscribedAfter": ".",
|
|||
|
|
"legal.lastUpdated": "Zuletzt aktualisiert: {date}",
|
|||
|
|
"legal.backHome": "← Zurück zur Startseite",
|
|||
|
|
"legal.emailLabel": "E-Mail:",
|
|||
|
|
"legal.postalLabel": "Postanschrift:",
|
|||
|
|
"legal.privacy.title": "Datenschutzerklärung",
|
|||
|
|
"legal.privacy.intro.h": "Einführung",
|
|||
|
|
"legal.privacy.intro.p1": "Bei Descrybe (\"wir\", \"unser\" oder \"uns\") respektieren wir Ihre Privatsphäre und verpflichten uns, Ihre personenbezogenen Daten zu schützen. Diese Datenschutzerklärung erläutert, wie wir Ihre Informationen erheben, verwenden, offenlegen und schützen, wenn Sie die Produktdatenplattform von Descrybe und damit verbundene Dienste (zusammen die \"Dienste\") nutzen.",
|
|||
|
|
"legal.privacy.intro.p2": "Durch den Zugriff auf oder die Nutzung unserer Dienste stimmen Sie den in dieser Datenschutzerklärung beschriebenen Praktiken zu. Wenn Sie mit den hier beschriebenen Richtlinien und Praktiken nicht einverstanden sind, nutzen Sie bitte unsere Dienste nicht.",
|
|||
|
|
"legal.privacy.collect.h": "Informationen, die wir erheben",
|
|||
|
|
"legal.privacy.collect.lead": "Wir erheben verschiedene Arten von Informationen von und über Nutzer unserer Dienste, darunter:",
|
|||
|
|
"legal.privacy.collect.personal.h": "Personenbezogene Daten",
|
|||
|
|
"legal.privacy.collect.personal.p": "Wenn Sie ein Konto registrieren, erheben wir Informationen, die zur Identifizierung Ihrer Person verwendet werden könnten, wie Name, E-Mail-Adresse, Telefonnummer, Firmenname und Rechnungsinformationen. Wir erheben diese Informationen direkt von Ihnen, wenn Sie sie uns bereitstellen.",
|
|||
|
|
"legal.privacy.collect.userData.h": "Nutzerdaten",
|
|||
|
|
"legal.privacy.collect.userData.p": "Zur Erbringung unserer Dienste erheben und verarbeiten wir Produktdaten, Lieferanten-Feeds, Produktbeschreibungen und andere Inhalte, die Sie auf unsere Plattform hochladen, eingeben oder anderweitig übermitteln. Dazu können Produktattribute, Taxonomiestrukturen, Vorlagen und andere für den Betrieb unserer Dienste erforderliche Daten gehören.",
|
|||
|
|
"legal.privacy.collect.usage.h": "Nutzungsinformationen",
|
|||
|
|
"legal.privacy.collect.usage.p": "Wir erheben automatisch bestimmte Informationen über Ihr Gerät und Ihre Interaktion mit unseren Diensten, einschließlich IP-Adresse, Gerätetyp, Browsertyp, Betriebssystem, Zugriffszeiten, aufgerufene Seiten, genutzte Funktionen und andere Systemaktivitäten. Wir verwenden diese Informationen, um unsere Dienste und die Nutzererfahrung zu verbessern.",
|
|||
|
|
"legal.privacy.collect.cookies.h": "Cookies und Tracking-Technologien",
|
|||
|
|
"legal.privacy.collect.cookies.p": "Wir verwenden Cookies, Web-Beacons und ähnliche Tracking-Technologien, um Informationen über Ihre Surfaktivitäten auf unserer Website zu erheben. Sie können Cookies über Ihre Browsereinstellungen und andere Tools steuern. Wenn Sie jedoch bestimmte Cookies blockieren, können Sie möglicherweise nicht alle Funktionen unserer Dienste nutzen.",
|
|||
|
|
"legal.privacy.use.h": "Wie wir Ihre Informationen verwenden",
|
|||
|
|
"legal.privacy.use.lead": "Wir verwenden die erhobenen Informationen für verschiedene Zwecke, darunter:",
|
|||
|
|
"legal.privacy.use.li1": "Bereitstellung, Wartung und Verbesserung unserer Dienste",
|
|||
|
|
"legal.privacy.use.li2": "Abwicklung von Transaktionen und Versand zugehöriger Informationen, einschließlich Bestätigungen, Rechnungen und Servicebenachrichtigungen",
|
|||
|
|
"legal.privacy.use.li3": "Entwicklung neuer Produkte, Dienste, Funktionen und Funktionalitäten",
|
|||
|
|
"legal.privacy.use.li4": "Personalisierung Ihrer Erfahrung und Bereitstellung von Inhalten und Funktionen, die Ihren Interessen entsprechen",
|
|||
|
|
"legal.privacy.use.li5": "Beantwortung Ihrer Anfragen, Kommentare und Fragen",
|
|||
|
|
"legal.privacy.use.li6": "Versand technischer Hinweise, Updates, Sicherheitswarnungen sowie Support- und Verwaltungsnachrichten",
|
|||
|
|
"legal.privacy.use.li7": "Überwachung und Analyse von Trends, Nutzung und Aktivitäten im Zusammenhang mit unseren Diensten",
|
|||
|
|
"legal.privacy.use.li8": "Erkennung, Untersuchung und Verhinderung betrügerischer Transaktionen und anderer illegaler Aktivitäten",
|
|||
|
|
"legal.privacy.use.li9": "Schutz unserer Rechte, unseres Eigentums und unserer Sicherheit sowie der Rechte, des Eigentums und der Sicherheit unserer Nutzer oder Dritter",
|
|||
|
|
"legal.privacy.use.li10": "Erfüllung rechtlicher Verpflichtungen und Durchsetzung unserer Nutzungsbedingungen",
|
|||
|
|
"legal.privacy.ai.h": "KI und maschinelles Lernen",
|
|||
|
|
"legal.privacy.ai.p1": "Unsere Dienste nutzen Technologien der künstlichen Intelligenz und des maschinellen Lernens, um Produktdaten zu verarbeiten, Inhalte zu generieren und weitere automatisierte Funktionen bereitzustellen. Die Daten, die Sie unseren Diensten bereitstellen, können zum Trainieren und Verbessern unserer KI-Modelle verwendet werden. Wir setzen jedoch geeignete Schutzmaßnahmen um, um Ihre Daten zu schützen und ihre Vertraulichkeit zu wahren.",
|
|||
|
|
"legal.privacy.ai.p2": "Wir verwenden ohne Ihre ausdrückliche Einwilligung keine personenbezogenen Daten zum Trainieren unserer allgemeinen KI-Modelle. Produktdaten, die für das KI-Training verwendet werden, werden soweit möglich anonymisiert und aggregiert.",
|
|||
|
|
"legal.privacy.share.h": "Wie wir Ihre Informationen weitergeben",
|
|||
|
|
"legal.privacy.share.lead": "Wir können Ihre Informationen unter folgenden Umständen weitergeben:",
|
|||
|
|
"legal.privacy.share.providers.h": "Dienstleister",
|
|||
|
|
"legal.privacy.share.providers.p": "Wir können Ihre Informationen an Drittanbieter, Dienstleister, Auftragnehmer oder Agenten weitergeben, die in unserem Auftrag Dienstleistungen erbringen, z. B. Zahlungsabwicklung, Datenanalyse, E-Mail-Versand, Hosting, Kundenservice und Marketingunterstützung.",
|
|||
|
|
"legal.privacy.share.transfers.h": "Unternehmensübertragungen",
|
|||
|
|
"legal.privacy.share.transfers.p": "Wenn wir an einer Fusion, Übernahme, Finanzierung, Umstrukturierung, Insolvenz oder dem Verkauf von Unternehmensvermögen beteiligt sind, können Ihre Informationen im Rahmen dieser Transaktion übertragen werden. Wir werden Sie über jede derartige Änderung der Eigentumsverhältnisse oder der Kontrolle Ihrer personenbezogenen Daten informieren.",
|
|||
|
|
"legal.privacy.share.legal.h": "Rechtliche Anforderungen",
|
|||
|
|
"legal.privacy.share.legal.p": "Wir können Ihre Informationen offenlegen, wenn dies gesetzlich vorgeschrieben ist oder als Antwort auf gültige Anfragen öffentlicher Behörden (z. B. ein Gericht oder eine Regierungsbehörde). Wir können Ihre Informationen auch offenlegen, um unsere Nutzungsbedingungen durchzusetzen, unsere Rechte, Privatsphäre, Sicherheit oder unser Eigentum und/oder die unserer verbundenen Unternehmen, Nutzer oder Dritter zu schützen.",
|
|||
|
|
"legal.privacy.share.consent.h": "Mit Ihrer Einwilligung",
|
|||
|
|
"legal.privacy.share.consent.p": "Wir können Ihre Informationen an Dritte weitergeben, wenn Sie uns Ihre Einwilligung dazu erteilt haben.",
|
|||
|
|
"legal.privacy.security.h": "Datensicherheit",
|
|||
|
|
"legal.privacy.security.p1": "Wir haben geeignete technische und organisatorische Maßnahmen implementiert, um Ihre personenbezogenen Daten vor versehentlichem Verlust sowie vor unbefugtem Zugriff, unbefugter Nutzung, Veränderung und Offenlegung zu schützen. Alle Informationen, die Sie uns bereitstellen, werden auf sicheren Servern hinter Firewalls gespeichert.",
|
|||
|
|
"legal.privacy.security.p2": "Die Sicherheit Ihrer Informationen hängt auch von Ihnen ab. Wenn wir Ihnen ein Passwort für den Zugriff auf bestimmte Teile unserer Dienste bereitgestellt haben (oder Sie eines gewählt haben), sind Sie dafür verantwortlich, dieses Passwort vertraulich zu halten. Wir bitten Sie, Ihr Passwort mit niemandem zu teilen.",
|
|||
|
|
"legal.privacy.security.p3": "Leider ist die Übertragung von Informationen über das Internet nicht vollständig sicher. Obwohl wir unser Bestes tun, um Ihre personenbezogenen Daten zu schützen, können wir die Sicherheit der an unsere Dienste übermittelten personenbezogenen Daten nicht garantieren. Jede Übertragung personenbezogener Daten erfolgt auf Ihr eigenes Risiko.",
|
|||
|
|
"legal.privacy.rights.h": "Ihre Rechte und Wahlmöglichkeiten",
|
|||
|
|
"legal.privacy.rights.lead": "Wir bemühen uns, Ihnen Wahlmöglichkeiten hinsichtlich der personenbezogenen Daten zu bieten, die Sie uns bereitstellen. Je nach Ihrem Standort können Sie bestimmte Rechte in Bezug auf Ihre personenbezogenen Daten haben, darunter:",
|
|||
|
|
"legal.privacy.rights.li1": "Zugriff auf und Aktualisierung Ihrer personenbezogenen Daten",
|
|||
|
|
"legal.privacy.rights.li2": "Löschung Ihrer personenbezogenen Daten verlangen",
|
|||
|
|
"legal.privacy.rights.li3": "Der Verarbeitung Ihrer personenbezogenen Daten widersprechen oder sie einschränken",
|
|||
|
|
"legal.privacy.rights.li4": "Datenübertragbarkeit",
|
|||
|
|
"legal.privacy.rights.li5": "Einwilligung widerrufen (soweit anwendbar)",
|
|||
|
|
"legal.privacy.rights.footer": "Um Ihre Rechte auszuüben, kontaktieren Sie uns bitte über die am Ende dieser Datenschutzerklärung angegebenen Kontaktdaten. Bitte beachten Sie, dass einige dieser Rechte je nach Ihrem Standort und den konkreten Umständen eingeschränkt oder nicht anwendbar sein können.",
|
|||
|
|
"legal.privacy.retention.h": "Datenspeicherung",
|
|||
|
|
"legal.privacy.retention.p1": "Wir speichern Ihre personenbezogenen Daten so lange, wie es zur Erfüllung der in dieser Datenschutzerklärung dargelegten Zwecke erforderlich ist, es sei denn, eine längere Aufbewahrungsfrist ist gesetzlich vorgeschrieben oder zulässig. Bei der Festlegung der Speicherdauer berücksichtigen wir Menge, Art und Sensibilität der Informationen, das potenzielle Schadensrisiko durch unbefugte Nutzung oder Offenlegung, die Zwecke der Verarbeitung sowie geltende gesetzliche Anforderungen.",
|
|||
|
|
"legal.privacy.retention.p2": "Wir können bestimmte Informationen nach der Schließung Ihres Kontos speichern, unter anderem zur Erfüllung unserer gesetzlichen Verpflichtungen, zur Beilegung von Streitigkeiten und zur Durchsetzung unserer Vereinbarungen.",
|
|||
|
|
"legal.privacy.intl.h": "Internationale Datenübermittlungen",
|
|||
|
|
"legal.privacy.intl.p1": "Ihre personenbezogenen Daten können in andere Länder als das Land, in dem Sie ansässig sind, übermittelt und dort verarbeitet werden. Diese Länder können Datenschutzgesetze haben, die sich von denen Ihres Landes unterscheiden.",
|
|||
|
|
"legal.privacy.intl.p2": "Wenn wir Ihre personenbezogenen Daten in Länder außerhalb des Europäischen Wirtschaftsraums oder anderer Regionen mit umfassenden Datenschutzgesetzen übermitteln, stellen wir sicher, dass geeignete Schutzmaßnahmen zum Schutz Ihrer personenbezogenen Daten bestehen und dass die Übermittlung den geltenden Datenschutzvorschriften entspricht.",
|
|||
|
|
"legal.privacy.children.h": "Privatsphäre von Minderjährigen",
|
|||
|
|
"legal.privacy.children.p": "Unsere Dienste sind nicht für Personen unter 16 Jahren bestimmt, und wir erheben wissentlich keine personenbezogenen Daten von Personen unter 16 Jahren. Wenn wir feststellen, dass wir personenbezogene Daten eines Kindes unter 16 Jahren ohne Überprüfung der elterlichen Einwilligung erhoben oder erhalten haben, löschen wir diese Informationen. Wenn Sie glauben, dass wir Informationen von oder über eine Person unter 16 Jahren haben könnten, kontaktieren Sie uns bitte.",
|
|||
|
|
"legal.privacy.changes.h": "Änderungen unserer Datenschutzerklärung",
|
|||
|
|
"legal.privacy.changes.p1": "Wir können unsere Datenschutzerklärung von Zeit zu Zeit aktualisieren. Wenn wir wesentliche Änderungen daran vornehmen, wie wir personenbezogene Daten von Nutzern behandeln, benachrichtigen wir Sie per E-Mail an die in Ihrem Konto angegebene Adresse und/oder durch einen Hinweis auf unserer Website.",
|
|||
|
|
"legal.privacy.changes.p2": "Das Datum der letzten Überarbeitung der Datenschutzerklärung ist oben auf der Seite angegeben. Sie sind dafür verantwortlich, sicherzustellen, dass wir über eine aktuelle, aktive und zustellbare E-Mail-Adresse von Ihnen verfügen, und unsere Website sowie diese Datenschutzerklärung regelmäßig auf Änderungen zu prüfen.",
|
|||
|
|
"legal.privacy.contact.h": "Kontakt",
|
|||
|
|
"legal.privacy.contact.lead": "Wenn Sie Fragen oder Bedenken zu unserer Datenschutzerklärung oder unseren Datenpraktiken haben, kontaktieren Sie uns bitte unter:",
|
|||
|
|
"legal.terms.title": "Nutzungsbedingungen",
|
|||
|
|
"legal.terms.s1.h": "1. Zustimmung zu den Bedingungen",
|
|||
|
|
"legal.terms.s1.p": "Durch den Zugriff auf oder die Nutzung der Produktdatenplattform von Descrybe und damit verbundener Dienste (zusammen die \"Dienste\") erklären Sie sich damit einverstanden, an diese Nutzungsbedingungen sowie alle geltenden Gesetze und Vorschriften gebunden zu sein. Wenn Sie mit einer dieser Bedingungen nicht einverstanden sind, ist Ihnen die Nutzung oder der Zugriff auf die Dienste untersagt.",
|
|||
|
|
"legal.terms.s2.h": "2. Nutzungslizenz",
|
|||
|
|
"legal.terms.s2.p1": "Vorbehaltlich der Einhaltung dieser Nutzungsbedingungen gewährt Descrybe Ihnen eine beschränkte, nicht ausschließliche, nicht übertragbare und widerrufliche Lizenz zum Zugriff auf und zur Nutzung der Dienste für Ihre Geschäftszwecke.",
|
|||
|
|
"legal.terms.s2.lead": "Diese Lizenz umfasst nicht:",
|
|||
|
|
"legal.terms.s2.li1": "Das Ändern oder Kopieren der Dienste oder jeglicher darin enthaltener Inhalte",
|
|||
|
|
"legal.terms.s2.li2": "Die Nutzung der Dienste für andere kommerzielle Zwecke als die autorisierte geschäftliche Nutzung",
|
|||
|
|
"legal.terms.s2.li3": "Den Versuch, jegliche in den Diensten enthaltene Software zu dekompilieren oder zurückzuentwickeln",
|
|||
|
|
"legal.terms.s2.li4": "Das Entfernen von Urheberrechts- oder Eigentumshinweisen aus den Materialien",
|
|||
|
|
"legal.terms.s2.li5": "Die Übertragung der Materialien an eine andere Person oder das \"Spiegeln\" der Materialien auf einem anderen Server",
|
|||
|
|
"legal.terms.s2.p2": "Diese Lizenz endet automatisch, wenn Sie gegen eine dieser Einschränkungen verstoßen, und kann von Descrybe jederzeit beendet werden.",
|
|||
|
|
"legal.terms.s3.h": "3. Abonnement und Zahlung",
|
|||
|
|
"legal.terms.s3.p1": "Der Zugang zu den Diensten kann ein kostenpflichtiges Abonnement erfordern. Die Zahlungsbedingungen werden während des Abonnementvorgangs angegeben. Alle Zahlungen sind nicht erstattungsfähig, es sei denn, Descrybe gibt schriftlich etwas anderes an.",
|
|||
|
|
"legal.terms.s3.p2": "Descrybe behält sich das Recht vor, Abonnementgebühren mit angemessener Vorankündigung zu ändern. Die fortgesetzte Nutzung der Dienste nach einer Gebührenänderung gilt als Annahme der neuen Gebühren.",
|
|||
|
|
"legal.terms.s4.h": "4. Nutzerinhalte",
|
|||
|
|
"legal.terms.s4.p1": "Sie behalten alle Rechte an Inhalten, die Sie über die Dienste einreichen, veröffentlichen oder anzeigen (\"Nutzerinhalte\"). Indem Sie Descrybe Nutzerinhalte bereitstellen, gewähren Sie Descrybe eine weltweite, nicht ausschließliche und royaltyfreie Lizenz, solche Inhalte im Zusammenhang mit der Erbringung der Dienste zu nutzen, zu vervielfältigen, zu ändern, anzupassen, zu veröffentlichen, zu übersetzen und zu verbreiten.",
|
|||
|
|
"legal.terms.s4.lead": "Sie versichern und gewährleisten, dass:",
|
|||
|
|
"legal.terms.s4.li1": "Sie alle Rechte an den von Ihnen bereitgestellten Nutzerinhalten besitzen oder kontrollieren",
|
|||
|
|
"legal.terms.s4.li2": "Die Nutzerinhalte diese Nutzungsbedingungen nicht verletzen",
|
|||
|
|
"legal.terms.s4.li3": "Die Nutzerinhalte keiner Person oder Einrichtung Schaden zufügen werden",
|
|||
|
|
"legal.terms.s5.h": "5. Künstliche Intelligenz",
|
|||
|
|
"legal.terms.s5.p1": "Die Dienste nutzen Technologien der künstlichen Intelligenz und des maschinellen Lernens. Sie erkennen an, dass KI-generierte Inhalte möglicherweise nicht perfekt sind, und stimmen zu, alle KI-generierten Inhalte vor der Nutzung in Ihren Geschäftsabläufen zu prüfen.",
|
|||
|
|
"legal.terms.s5.p2": "Descrybe kann anonymisierte und aggregierte Nutzerinhalte zum Trainieren und Verbessern unserer KI-Modelle verwenden, vorbehaltlich unserer Datenschutzerklärung. Sie können der Verwendung Ihrer Daten für das KI-Training widersprechen, indem Sie uns kontaktieren.",
|
|||
|
|
"legal.terms.s6.h": "6. Geistiges Eigentum",
|
|||
|
|
"legal.terms.s6.p": "Die Dienste sowie ihre ursprünglichen Inhalte, Funktionen und Funktionalitäten sind Eigentum von Descrybe und durch internationale Urheberrechts-, Marken-, Patent-, Geschäftsgeheimnis- und sonstige Gesetze zum Schutz geistigen Eigentums oder Eigentumsrechte geschützt.",
|
|||
|
|
"legal.terms.s7.h": "7. Haftungsausschluss",
|
|||
|
|
"legal.terms.s7.p1": "Die Dienste werden \"wie besehen\" und \"wie verfügbar\" bereitgestellt. Descrybe gibt keine ausdrücklichen oder stillschweigenden Garantien und lehnt hiermit alle Garantien ab, einschließlich, ohne Einschränkung, stillschweigender Garantien der Marktgängigkeit, der Eignung für einen bestimmten Zweck, der Nichtverletzung von Rechten Dritter oder des Leistungsablaufs.",
|
|||
|
|
"legal.terms.s7.p2": "Descrybe garantiert nicht, dass die Dienste ununterbrochen, sicher oder zu einem bestimmten Zeitpunkt oder Ort verfügbar funktionieren oder dass Fehler oder Mängel behoben werden.",
|
|||
|
|
"legal.terms.s8.h": "8. Haftungsbeschränkung",
|
|||
|
|
"legal.terms.s8.lead": "In keinem Fall haftet Descrybe für indirekte, zufällige, besondere, Folgeschäden oder Strafschäden, einschließlich, ohne Einschränkung, Verlust von Gewinnen, Daten, Nutzung, Goodwill oder anderen immateriellen Verlusten, die sich ergeben aus:",
|
|||
|
|
"legal.terms.s8.li1": "Ihrem Zugriff auf oder Ihrer Nutzung der Dienste bzw. der Unfähigkeit, darauf zuzugreifen oder sie zu nutzen",
|
|||
|
|
"legal.terms.s8.li2": "Jeglichem Verhalten oder Inhalt Dritter auf den Diensten",
|
|||
|
|
"legal.terms.s8.li3": "Jeglichen aus den Diensten erhaltenen Inhalten",
|
|||
|
|
"legal.terms.s8.li4": "Unbefugtem Zugriff, Nutzung oder Veränderung Ihrer Übertragungen oder Inhalte",
|
|||
|
|
"legal.terms.s9.h": "9. Kündigung",
|
|||
|
|
"legal.terms.s9.p1": "Descrybe kann Ihren Zugang zu den Diensten sofort, ohne vorherige Ankündigung oder Haftung, aus beliebigem Grund kündigen oder aussetzen, einschließlich, ohne Einschränkung, wenn Sie gegen diese Nutzungsbedingungen verstoßen.",
|
|||
|
|
"legal.terms.s9.p2": "Nach der Kündigung erlischt Ihr Recht zur Nutzung der Dienste sofort. Wenn Sie Ihr Konto kündigen möchten, können Sie die Nutzung der Dienste einfach einstellen oder uns kontaktieren, um die Löschung des Kontos zu beantragen.",
|
|||
|
|
"legal.terms.s10.h": "10. Anwendbares Recht",
|
|||
|
|
"legal.terms.s10.p": "Diese Bedingungen unterliegen den Gesetzen Sloweniens und sind nach diesen auszulegen, ohne Rücksicht auf kollisionsrechtliche Grundsätze.",
|
|||
|
|
"legal.terms.s11.h": "11. Änderungen der Bedingungen",
|
|||
|
|
"legal.terms.s11.p": "Descrybe behält sich das Recht vor, diese Nutzungsbedingungen jederzeit zu ändern oder zu ersetzen. Es liegt in Ihrer Verantwortung, diese Bedingungen regelmäßig auf Änderungen zu prüfen. Die fortgesetzte Nutzung der Dienste nach der Veröffentlichung von Änderungen gilt als Annahme dieser Änderungen.",
|
|||
|
|
"legal.terms.s12.h": "12. Kontakt",
|
|||
|
|
"legal.terms.s12.lead": "Wenn Sie Fragen zu diesen Nutzungsbedingungen haben, kontaktieren Sie uns bitte unter:",
|
|||
|
|
"plans.loadFailed": "Pläne konnten nicht geladen werden",
|
|||
|
|
"plans.loading": "Pläne werden geladen…",
|
|||
|
|
"plans.apiUnavailable": "Die Plans-API ist auf diesem Backend noch nicht verfügbar. Öffentlicher Preisvergleich wird angezeigt.",
|
|||
|
|
"plans.title": "Wählen Sie Ihren Plan",
|
|||
|
|
"plans.sub.onPrefix": "Sie sind auf",
|
|||
|
|
"plans.sub.enterpriseSuffix": "— unbegrenzte Produkte und KI-Kapazität. Kein Self-Service-Upgrade erforderlich.",
|
|||
|
|
"plans.sub.paygSuffix": "— Pay-as-you-go. Vergleichen Sie die öffentlichen Pläne unten oder sprechen Sie mit dem Vertrieb über Enterprise.",
|
|||
|
|
"plans.sub.creditsMid": "mit {remaining} verbleibenden KI-Credits.",
|
|||
|
|
"plans.sub.creditsSuffix": "Upgrade Starter → Growth → Business über Checkout, oder sprechen Sie mit dem Vertrieb über Enterprise.",
|
|||
|
|
"plans.sub.none": "Noch kein Plan zugewiesen (z. B. nach einer übersprungenen Migration). Wählen Sie unten einen Plan — die Kapazität ist nicht Unbegrenzt, bis Checkout oder ein Admin einen zuweist.",
|
|||
|
|
"plans.stripeHint": "Self-Service-Upgrades nutzen Stripe Checkout.",
|
|||
|
|
"plans.fallbackName": "Tarifplan",
|
|||
|
|
"plans.fallbackDescription": "Kapazität für Ihren Katalog",
|
|||
|
|
"plans.badge.current": "Aktuell",
|
|||
|
|
"plans.badge.popular": "Am beliebtesten",
|
|||
|
|
"plans.price.custom": "Individuell",
|
|||
|
|
"plans.price.forever": "für immer",
|
|||
|
|
"plans.price.perMonth": "/Monat",
|
|||
|
|
"plans.price.seePricing": "Preise ansehen",
|
|||
|
|
"plans.capacity.unlimitedSkus": "Unbegrenzte SKUs",
|
|||
|
|
"plans.capacity.unlimitedAi": "Unbegrenzte KI-Credits",
|
|||
|
|
"plans.capacity.upToProducts": "Bis zu {count} Produkte",
|
|||
|
|
"plans.capacity.creditsPerMonth": "{count} KI-Credits / Monat",
|
|||
|
|
"plans.cta.requestUpgrade": "Upgrade anfordern",
|
|||
|
|
"plans.cta.current": "Aktueller Plan",
|
|||
|
|
"plans.cta.contactSales": "Vertrieb kontaktieren",
|
|||
|
|
"plans.cta.switchInBilling": "In der Abrechnung wechseln",
|
|||
|
|
"plans.cta.upgradeTo": "Upgrade auf {name}",
|
|||
|
|
"plans.cta.startingCheckout": "Checkout wird gestartet…",
|
|||
|
|
"plans.planApplied": "Plan {plan} angewendet. Ihre Credits sind bereit.",
|
|||
|
|
"plans.faq.title": "Häufig gestellte Fragen",
|
|||
|
|
"plans.faq.limit.q": "Was passiert, wenn ich ein Limit erreiche?",
|
|||
|
|
"plans.faq.limit.a": "Zuerst erscheinen sanfte Warnhinweise. Wenn Ihnen die KI-Credits ausgehen oder Sie Ihr SKU-Limit erreichen, werden Jobs, die diese Kapazität benötigen, blockiert, bis Sie Speicherplatz freigeben, den nächsten Zyklus abwarten oder upgraden.",
|
|||
|
|
"plans.faq.selfServe.q": "Kann ich selbst upgraden?",
|
|||
|
|
"plans.faq.selfServe.a": "Unternehmens-Admins können Starter, Growth und Business über Checkout auf der Plan-Karte im Self-Service buchen. Mitglieder sollten einen Admin fragen — Checkout erfordert die Admin-Rolle. Enterprise läuft immer über den Vertrieb. Plattform-Admins können Pläne weiterhin unter Billing Admin zuweisen.",
|
|||
|
|
"plans.faq.enterprise.q": "Enterprise und Millionen von SKUs",
|
|||
|
|
"plans.faq.enterprise.a": "Individuelle Kapazität, eigener KI-Schlüssel (BYOK), SLA und Account-Management laufen über den Vertrieb. Buchen Sie einen Termin über Calendly — Enterprise ist bei Millionen-SKU-Skala kein Self-Service. Die App zeigt Unbegrenzt für SKU- und KI-Kapazität.",
|
|||
|
|
"plans.faq.pricing.q": "Wo finde ich die öffentlichen Preise?",
|
|||
|
|
"plans.faq.pricing.aBefore": "Sehen Sie den Marketing-Vergleich auf der",
|
|||
|
|
"plans.faq.pricing.pricingPage": "Preisseite",
|
|||
|
|
"plans.faq.pricing.aMid": "— die CTAs sind Loslegen (Registrierung) oder Vertrieb kontaktieren. Verwalten Sie die Nutzung jederzeit unter",
|
|||
|
|
"plans.faq.pricing.aAfter": ".",
|
|||
|
|
"plans.custom.title": "Benötigen Sie einen individuellen Plan?",
|
|||
|
|
"plans.custom.body": "Enterprise-Kapazität, eigener KI-Schlüssel und SLAs werden mit unserem Team abgestimmt.",
|
|||
|
|
"plans.custom.looking": "Suchen Sie Details zu den öffentlichen Plänen?",
|
|||
|
|
"ai.title": "KI-Integrationen",
|
|||
|
|
"ai.description": "Wählen Sie Plattform-Credits oder Ihren eigenen Schlüssel und passen Sie Prompts mit Variablen an.",
|
|||
|
|
"ai.crumb": "KI-Integrationen",
|
|||
|
|
"ai.adminOnly": "Nur Unternehmens-Admins können KI-Einstellungen ändern. Sie können die aktuelle Konfiguration einsehen.",
|
|||
|
|
"ai.badge.ownKey": "Ihr eigener Schlüssel",
|
|||
|
|
"ai.badge.platform": "Plattform-Credits / Schlüssel",
|
|||
|
|
"ai.badge.active": "Aktiv: {label}",
|
|||
|
|
"ai.badge.platformKeyAvailable": "Plattform-Schlüssel verfügbar",
|
|||
|
|
"ai.badge.lastTest": "Letzter Test: {status}",
|
|||
|
|
"ai.providerMode.title": "Anbietermodus",
|
|||
|
|
"ai.providerMode.desc": "Die Plattform nutzt Descrybe-Credits und unseren Schlüssel. Beliebt oder Benutzerdefiniert nutzt Ihren OpenAI-kompatiblen Schlüssel (der Anbieteraufruf selbst verbraucht keine Plattform-Credits; Feature-Credit-Regeln gelten weiterhin).",
|
|||
|
|
"ai.whoPays": "Wer zahlt das Modell?",
|
|||
|
|
"ai.mode.internal": "Plattform (Descrybe-Credits / Schlüssel)",
|
|||
|
|
"ai.mode.popular": "Ihr Schlüssel — beliebter Anbieter",
|
|||
|
|
"ai.mode.custom": "Ihr Schlüssel — eigener Endpunkt",
|
|||
|
|
"ai.useCompanyKey": "Diesen Unternehmensschlüssel für Verarbeitung, SEO-KI und Kampagnen-KI verwenden",
|
|||
|
|
"ai.popular.title": "Beliebter Anbieter",
|
|||
|
|
"ai.popular.desc": "OpenAI-kompatible Endpunkte. Anthropic über OpenRouter.",
|
|||
|
|
"ai.field.provider": "Anbieter",
|
|||
|
|
"ai.field.model": "Modell",
|
|||
|
|
"ai.placeholder.modelId": "Modell-ID",
|
|||
|
|
"ai.baseUrlLabel": "Basis-URL: {url}",
|
|||
|
|
"ai.custom.title": "Eigener Endpunkt",
|
|||
|
|
"ai.custom.desc": "Geben Sie die HTTPS-Basis-URL Ihres KI-Anbieters ein.",
|
|||
|
|
"ai.field.baseUrl": "Basis-URL",
|
|||
|
|
"ai.apiKey.title": "API-Schlüssel",
|
|||
|
|
"ai.apiKey.desc": "Leer lassen, um den vorhandenen Schlüssel zu behalten. Rohgeheimnisse werden nie zurückgegeben — nur ein maskiertes last4.",
|
|||
|
|
"ai.storedKey": "Gespeicherter Schlüssel: {masked}",
|
|||
|
|
"ai.field.apiKey": "API-Schlüssel",
|
|||
|
|
"ai.placeholder.keepKey": "•••• leer lassen zum Behalten",
|
|||
|
|
"ai.clearStoredKey": "Gespeicherten API-Schlüssel löschen",
|
|||
|
|
"ai.saveProvider": "Anbieter speichern",
|
|||
|
|
"ai.testConnection": "Verbindung testen",
|
|||
|
|
"ai.prompts.title": "Prompt-Vorlagen",
|
|||
|
|
"ai.prompts.descBefore": "Passen Sie System- und Nutzer-Prompts für Produkttexte, SEO-Meta und Kampagnen-E-Mails an. Fügen Sie Variablen wie",
|
|||
|
|
"ai.prompts.descMid": "ein — sie werden zur Laufzeit befüllt. Die Markenstimme aus dem Brand Kit ist verfügbar als",
|
|||
|
|
"ai.prompts.descAfter": ".",
|
|||
|
|
"ai.field.feature": "Funktion",
|
|||
|
|
"ai.badge.custom": "Benutzerdefiniert",
|
|||
|
|
"ai.badge.builtin": "Integrierter Standard",
|
|||
|
|
"ai.badge.disabledDefault": "Deaktiviert → Standard wird verwendet",
|
|||
|
|
"ai.useCustomPrompt": "Diesen eigenen Prompt verwenden (aus = integrierter Standard)",
|
|||
|
|
"ai.insertVariableInto": "Variable einfügen in",
|
|||
|
|
"ai.insert.system": "Systembereich",
|
|||
|
|
"ai.insert.user": "Nutzer",
|
|||
|
|
"ai.field.systemPrompt": "System-Prompt",
|
|||
|
|
"ai.field.userPrompt": "Nutzer-Prompt",
|
|||
|
|
"ai.savePrompts": "Prompts speichern",
|
|||
|
|
"ai.resetDefault": "Auf Standard zurücksetzen",
|
|||
|
|
"ai.editBrandVoice": "Markenstimme bearbeiten",
|
|||
|
|
"ai.flash.loadFailed": "KI-Einstellungen konnten nicht geladen werden",
|
|||
|
|
"ai.flash.usingPlatform": "Plattform-KI wird verwendet (Descrybe-Credits / Schlüssel, sofern konfiguriert).",
|
|||
|
|
"ai.flash.providerSaved": "KI-Anbieter gespeichert. Schlüssel werden verschlüsselt und nie wieder angezeigt.",
|
|||
|
|
"ai.flash.saveFailed": "Speichern fehlgeschlagen",
|
|||
|
|
"ai.flash.savePromptsFailed": "Prompts konnten nicht gespeichert werden",
|
|||
|
|
"ai.flash.resetFailed": "Prompt konnte nicht zurückgesetzt werden",
|
|||
|
|
"ai.flash.connectionFailed": "Verbindung fehlgeschlagen",
|
|||
|
|
"ai.flash.testFailed": "Test fehlgeschlagen",
|
|||
|
|
"ai.action.changeSettings": "KI-Anbietereinstellungen ändern",
|
|||
|
|
"ai.action.changePrompts": "KI-Prompts ändern",
|
|||
|
|
"ai.action.testProvider": "den KI-Anbieter testen",
|
|||
|
|
"email.title": "E-Mail-Versand",
|
|||
|
|
"email.description": "Resend oder SMTP für Marketingkampagnen. Geheimnisse verschlüsselt im Ruhezustand.",
|
|||
|
|
"email.adminOnly": "Nur Unternehmens-Admins können E-Mail-Anbietereinstellungen ändern. Sie können die aktuelle Konfiguration einsehen.",
|
|||
|
|
"email.crumb": "E-Mail-Integration",
|
|||
|
|
"email.dryRunForced": "Dry-Run ist erzwungen ({reason}). Free-Pläne und EMAIL_DRY_RUN senden nie echte Massenmails.",
|
|||
|
|
"email.dryRunPolicy": "Richtlinie",
|
|||
|
|
"email.badge.verified": "Verifiziert",
|
|||
|
|
"email.badge.notVerified": "Nicht verifiziert",
|
|||
|
|
"email.badge.canSendReal": "Echter Versand möglich",
|
|||
|
|
"email.badge.realBlocked": "Echter Versand blockiert",
|
|||
|
|
"email.badge.lastTest": "Letzter Test: {status}",
|
|||
|
|
"email.provider.title": "Anbieter",
|
|||
|
|
"email.provider.desc": "Konfiguration pro Unternehmen. Plattform-SMTP/Resend-Umgebung dient nur als Fallback bei fehlenden Geheimnissen.",
|
|||
|
|
"email.field.provider": "Anbieter",
|
|||
|
|
"email.provider.resend": "Resend",
|
|||
|
|
"email.provider.smtp": "SMTP",
|
|||
|
|
"email.field.fromEmail": "Absender-E-Mail",
|
|||
|
|
"email.field.domain": "Domain",
|
|||
|
|
"email.field.from": "Von",
|
|||
|
|
"email.field.fromName": "Absendername",
|
|||
|
|
"email.field.replyTo": "Reply-To",
|
|||
|
|
"email.resendKeySaved": "Resend-API-Schlüssel (gespeichert — leer lassen zum Behalten)",
|
|||
|
|
"email.resendKey": "Resend-API-Schlüssel",
|
|||
|
|
"email.field.smtpHost": "SMTP-Host",
|
|||
|
|
"email.field.port": "Port",
|
|||
|
|
"email.field.username": "Benutzername",
|
|||
|
|
"email.field.passwordSaved": "Passwort (gespeichert)",
|
|||
|
|
"email.field.password": "Passwort",
|
|||
|
|
"email.verifyDomain": "Domain verifizieren",
|
|||
|
|
"email.testGate.title": "Test & Versandfreigabe",
|
|||
|
|
"email.testGate.desc": "Testsendungen prüfen die Absenderadresse. Echte Massenmails erfordern die Eingabe von “I understand”.",
|
|||
|
|
"email.field.recipient": "Empfänger",
|
|||
|
|
"email.sendTest": "Test senden",
|
|||
|
|
"email.confirmBlast": "Massenversand bestätigen…",
|
|||
|
|
"email.flash.loadFailed": "E-Mail-Einstellungen konnten nicht geladen werden",
|
|||
|
|
"email.flash.saveFailed": "Speichern fehlgeschlagen",
|
|||
|
|
"email.flash.verifyUpdated": "Verifizierung aktualisiert.",
|
|||
|
|
"email.flash.verifyFailed": "Verifizierung fehlgeschlagen",
|
|||
|
|
"email.flash.testFailed": "Testversand fehlgeschlagen",
|
|||
|
|
"email.flash.blastDryRun": "Zustellprüfung im Dry-Run-Modus erfasst — es wurde keine E-Mail gesendet.",
|
|||
|
|
"email.flash.blastDone": "Zustellprüfung abgeschlossen: {sent} gesendet, {failed} fehlgeschlagen.",
|
|||
|
|
"email.flash.blastFailed": "Massenversand fehlgeschlagen",
|
|||
|
|
"email.blast.subject": "Descrybe-E-Mail-Zustellprüfung",
|
|||
|
|
"email.blast.body": "Dies ist eine Ein-Adressen-Zustellprüfung von Descrybe, um zu bestätigen, dass Ihre E-Mail-Integration senden kann. Empfänger: {recipient}",
|
|||
|
|
"email.action.changeSettings": "E-Mail-Anbietereinstellungen ändern",
|
|||
|
|
"email.action.verifyDomain": "die E-Mail-Domain verifizieren",
|
|||
|
|
"email.action.sendTest": "Test-E-Mail senden",
|
|||
|
|
"email.action.sendBlasts": "E-Mail-Massenmails senden",
|
|||
|
|
"seo.title": "SEO-Empfehlungen",
|
|||
|
|
"seo.description": "Checklisten-Werte für Katalog-Meta, Titel, Bilder und Keywords. Vorlagenfüllung ist kostenlos; KI-Umschreibung ist kostenpflichtig.",
|
|||
|
|
"seo.upgradeTitle": "KI-Umschreibung ist eine kostenpflichtige Funktion",
|
|||
|
|
"seo.upgradeMessage": "Free-Pläne können fehlende Meta weiterhin mit regelbasierten Vorlagen beheben. Upgraden Sie oder fügen Sie Credits hinzu, um KI-Umschreibungen zu nutzen.",
|
|||
|
|
"seo.comparePlans": "Pläne vergleichen",
|
|||
|
|
"seo.openProducts": "Produkte öffnen",
|
|||
|
|
"seo.overallScore": "Gesamt-SEO-Score",
|
|||
|
|
"seo.overallScoreHint": "Durchschnitt über Checklistenpunkte",
|
|||
|
|
"seo.productsScanned": "Produkte gescannt",
|
|||
|
|
"seo.productsScannedHint": "Verarbeitete Produkte im Unternehmen",
|
|||
|
|
"seo.categoriesScanned": "Kategorien gescannt",
|
|||
|
|
"seo.categoriesScannedHint": "Einschließlich Meta-Formelprüfungen",
|
|||
|
|
"seo.aiRewrite": "KI-Umschreibung",
|
|||
|
|
"seo.available": "Verfügbar",
|
|||
|
|
"seo.gated": "Gesperrt",
|
|||
|
|
"seo.templateFree": "Vorlagenfüllung bleibt in allen Plänen kostenlos",
|
|||
|
|
"seo.checklist": "Checkliste",
|
|||
|
|
"seo.affectedFindings": "{affected} betroffen · {count} Befunde",
|
|||
|
|
"seo.fixable": "Behebbar",
|
|||
|
|
"seo.clearFilter": "Filter löschen",
|
|||
|
|
"seo.findings": "Befunde",
|
|||
|
|
"seo.noFindings": "Keine Befunde für diesen Filter — gute Arbeit.",
|
|||
|
|
"seo.col.issue": "Problem",
|
|||
|
|
"seo.col.entity": "Entität",
|
|||
|
|
"seo.col.severity": "Schwere",
|
|||
|
|
"seo.col.actions": "Aktionen",
|
|||
|
|
"seo.filling": "Wird gefüllt…",
|
|||
|
|
"seo.templateFill": "Vorlagenfüllung",
|
|||
|
|
"seo.aiTitleAllowed": "Mit KI umschreiben (nutzt Credits)",
|
|||
|
|
"seo.aiTitleGated": "Erfordert kostenpflichtigen Plan oder Credits",
|
|||
|
|
"seo.rewriting": "Wird umgeschrieben…",
|
|||
|
|
"seo.aiRewriteBtn": "KI-Umschreibung",
|
|||
|
|
"seo.viewProduct": "Produkt ansehen",
|
|||
|
|
"seo.flash.loadFailed": "SEO-Empfehlungen konnten nicht geladen werden",
|
|||
|
|
"seo.flash.aiPaid": "KI-Umschreibung erfordert einen kostenpflichtigen Plan oder Credits.",
|
|||
|
|
"seo.flash.applyFailed": "Korrektur konnte nicht angewendet werden",
|
|||
|
|
"brand.title": "Brand Kit",
|
|||
|
|
"brand.description": "Definieren Sie Stimme, Richtlinien und Farben, damit Produkttitel und -beschreibungen markenkonform bleiben.",
|
|||
|
|
"brand.loading": "Brand Kit wird geladen…",
|
|||
|
|
"brand.adminOnly": "Nur Unternehmens-Admins können das Brand Kit bearbeiten. Sie können die aktuelle Stimme, Farben und das Logo einsehen.",
|
|||
|
|
"brand.aiApplyFreeAdmin": "Sie können Ihr Brand Kit im Free-Plan bearbeiten. KI-Anwendung (Markenstimme in Enhance-Prompts einfügen) wird ab Starter freigeschaltet.",
|
|||
|
|
"brand.aiApplyGated": "KI-Anwendung (Markenstimme in Enhance-Prompts einfügen) wird ab Starter freigeschaltet.",
|
|||
|
|
"brand.aiEnhanceUses": "KI-Enhance nutzt diese Markenstimme beim Verarbeiten von Produkten.",
|
|||
|
|
"brand.comparePlans": "Pläne vergleichen",
|
|||
|
|
"brand.voice.title": "Stimme & Richtlinien",
|
|||
|
|
"brand.voice.desc": "Ton, Do/Don’t-Regeln und bevorzugte Formulierungen",
|
|||
|
|
"brand.field.voiceTone": "Stimme / Ton",
|
|||
|
|
"brand.placeholder.voiceTone": "z. B. Selbstbewusst, prägnant, technisch aber zugänglich",
|
|||
|
|
"brand.field.dos": "Do (eine pro Zeile)",
|
|||
|
|
"brand.placeholder.dos": "Mit dem Hauptnutzen beginnen\nTitel unter 80 Zeichen halten",
|
|||
|
|
"brand.field.donts": "Don’t (eine pro Zeile)",
|
|||
|
|
"brand.placeholder.donts": "Kein GROSSSCHREIBEN\nSuperlative ohne Beleg vermeiden",
|
|||
|
|
"brand.field.preferredTerms": "Bevorzugte Begriffe (eine pro Zeile oder kommagetrennt)",
|
|||
|
|
"brand.placeholder.preferredTerms": "kabellos, premium, Energieklasse",
|
|||
|
|
"brand.visual.title": "Visuelle Identität",
|
|||
|
|
"brand.visual.desc": "Farben und Logo für markenbezogene Tipps und Kampagnen",
|
|||
|
|
"brand.field.primaryColor": "Primärfarbe",
|
|||
|
|
"brand.field.secondaryColor": "Sekundärfarbe",
|
|||
|
|
"brand.field.logoImage": "Logo-Bild",
|
|||
|
|
"brand.logoHint": "PNG, JPEG oder WebP bis 2 MiB. Wird unter den Unternehmens-Uploads gespeichert.",
|
|||
|
|
"brand.uploading": "Wird hochgeladen…",
|
|||
|
|
"brand.uploadLogo": "Logo hochladen",
|
|||
|
|
"brand.clear": "Löschen",
|
|||
|
|
"brand.field.logoUrl": "Logo-URL",
|
|||
|
|
"brand.placeholder.logoUrl": "https://… oder hochgeladen /api/brand/logo/files/…",
|
|||
|
|
"brand.logoAlt": "Vorschau des Markenlogos",
|
|||
|
|
"brand.tipsTitle": "Formel- / Vorschautipps",
|
|||
|
|
"brand.saving": "Wird gespeichert…",
|
|||
|
|
"brand.save": "Brand Kit speichern",
|
|||
|
|
"brand.flash.loadFailed": "Brand Kit konnte nicht geladen werden",
|
|||
|
|
"structured.title": "Strukturierte Beschreibungsfelder",
|
|||
|
|
"structured.loading": "Strukturierte Beschreibungsfelder werden geladen…",
|
|||
|
|
"structured.backDashboard": "Zurück zum Dashboard",
|
|||
|
|
"structured.categoryFormulas": "Kategorieformeln",
|
|||
|
|
"structured.exportFeeds": "Export-Feeds",
|
|||
|
|
"structured.intro": "Diese Felder werden automatisch erstellt, wenn Sie Export IDs zu den Abschnitten Ihrer Beschreibungsformel hinzufügen. Sie können in Ihren Export-Feeds verwendet werden, um bestimmte Teile Ihrer Produktbeschreibungen einzubeziehen.",
|
|||
|
|
"structured.addField": "Feld hinzufügen",
|
|||
|
|
"structured.openCategories": "Kategorien öffnen",
|
|||
|
|
"structured.tableCaption": "Diese Felder strukturieren Teile von Produktbeschreibungen für den Export.",
|
|||
|
|
"structured.col.fieldKey": "Feldschlüssel",
|
|||
|
|
"structured.col.type": "Typ",
|
|||
|
|
"structured.col.created": "Erstellt",
|
|||
|
|
"structured.col.actions": "Aktionen",
|
|||
|
|
"structured.dialogTitle": "Strukturiertes Beschreibungsfeld hinzufügen",
|
|||
|
|
"structured.fieldKeyLabel": "Feldschlüssel (erforderlich)",
|
|||
|
|
"structured.fieldKeyPlaceholder": "z. B. features, specifications",
|
|||
|
|
"structured.fieldTypeLabel": "Feldtyp",
|
|||
|
|
"structured.type.text": "Text",
|
|||
|
|
"structured.type.number": "Zahl",
|
|||
|
|
"structured.type.boolean": "Boolesch",
|
|||
|
|
"structured.type.list": "Liste",
|
|||
|
|
"structured.adding": "Wird hinzugefügt...",
|
|||
|
|
"structured.flash.loadFailed": "Strukturierte Beschreibungsfelder konnten nicht geladen werden",
|
|||
|
|
"assistant.ariaLabel": "Systemassistent",
|
|||
|
|
"assistant.title": "Systemassistent",
|
|||
|
|
"assistant.subtitle": "Navigieren, führen und unterstützte Aktionen ausführen",
|
|||
|
|
"assistant.resetAria": "Unterhaltung zurücksetzen",
|
|||
|
|
"assistant.resetTitle": "Zurücksetzen",
|
|||
|
|
"assistant.closeAria": "Assistent schließen",
|
|||
|
|
"assistant.messageLabel": "Nachricht",
|
|||
|
|
"assistant.placeholder": "z. B. Feed-URL hinzufügen, API-Schlüssel, Attribute, Verarbeitung…",
|
|||
|
|
"assistant.sendAria": "Senden",
|
|||
|
|
"site.bookDemo": "Demo buchen",
|
|||
|
|
"site.demoShort": "Demo",
|
|||
|
|
"site.allRightsReserved": "Alle Rechte vorbehalten.",
|
|||
|
|
"site.cookiePolicy": "Cookie-Richtlinie",
|
|||
|
|
"site.cookieSettings": "Cookie-Einstellungen",
|
|||
|
|
"consent.title": "Cookies und Analysen",
|
|||
|
|
"consent.description": "Wir verwenden notwendige Cookies, damit Descrybe funktioniert. Optionale Analyse- und Marketing-Cookies helfen uns, die Nutzung zu verstehen und Kampagnen zu messen. Sie können Ihre Wahl jederzeit ändern.",
|
|||
|
|
"consent.acceptAll": "Alle akzeptieren",
|
|||
|
|
"consent.rejectNonEssential": "Nicht notwendige ablehnen",
|
|||
|
|
"consent.customize": "Anpassen",
|
|||
|
|
"consent.save": "Einstellungen speichern",
|
|||
|
|
"consent.necessary": "Notwendig",
|
|||
|
|
"consent.necessaryDesc": "Erforderlich für Anmeldung, Sicherheit (CSRF), Theme, Sprache und diese Auswahl.",
|
|||
|
|
"consent.alwaysOn": "Immer aktiv",
|
|||
|
|
"consent.analytics": "Analyse",
|
|||
|
|
"consent.analyticsDesc": "Hilft uns zu verstehen, wie das Produkt genutzt wird (Google Analytics über GTM).",
|
|||
|
|
"consent.marketing": "Marketing",
|
|||
|
|
"consent.marketingDesc": "Für Werbemessung und Personalisierung, wenn Anzeigen-Tags in GTM konfiguriert sind.",
|
|||
|
|
"consent.policyLink": "Cookie-Richtlinie lesen",
|
|||
|
|
"seo.cookies.title": "Cookie-Richtlinie | Descrybe",
|
|||
|
|
"seo.cookies.description": "Wie Descrybe notwendige, Analyse- und Marketing-Cookies nutzt, einschließlich GTM und GA4, und wie Sie Ihre Einwilligung ändern.",
|
|||
|
|
"legal.cookies.title": "Cookie-Richtlinie",
|
|||
|
|
"legal.cookies.intro.h": "Überblick",
|
|||
|
|
"legal.cookies.intro.p1": "Diese Cookie-Richtlinie erklärt, wie Descrybe Cookies und ähnliche Technologien auf Website und Anwendung verwendet. Bitte lesen Sie sie zusammen mit unserer Datenschutzrichtlinie.",
|
|||
|
|
"legal.cookies.intro.p2": "Soweit erforderlich, fragen wir vor dem Aktivieren von Analyse- oder Marketing-Cookies um Ihre Einwilligung. Notwendige Cookies dienen dem sicheren Betrieb und benötigen keine Einwilligung.",
|
|||
|
|
"legal.cookies.types.h": "Cookie-Kategorien",
|
|||
|
|
"legal.cookies.necessary.h": "Notwendig",
|
|||
|
|
"legal.cookies.necessary.p": "Diese Cookies halten Sie angemeldet, schützen Formulare mit CSRF-Tokens, speichern Theme- und Spracheinstellungen und merken sich Ihre Cookie-Wahl. Ohne sie funktioniert das Produkt nicht korrekt.",
|
|||
|
|
"legal.cookies.analytics.h": "Analyse",
|
|||
|
|
"legal.cookies.analytics.p": "Wenn Sie Analysen erlauben, laden wir Google-Tag-Manager-Tags, die Google-Analytics-4-Cookies setzen können, um Seitenaufrufe und Produkt-Events zu messen. Events starten erst nach Freigabe von analytics_storage.",
|
|||
|
|
"legal.cookies.marketing.h": "Marketing",
|
|||
|
|
"legal.cookies.marketing.p": "Wenn Sie Marketing erlauben, können werbebezogene Tags in GTM Ad-Storage und verwandte Signale für Kampagnenmessung und Personalisierung nutzen.",
|
|||
|
|
"legal.cookies.gtm.h": "Google Tag Manager und GA4",
|
|||
|
|
"legal.cookies.gtm.p": "Wenn konfiguriert, lädt Descrybe einen Google-Tag-Manager-Container. GA4 wird darin von Descrybe konfiguriert. Consent Mode v2 ist standardmäßig für Analyse- und Anzeigenspeicher abgelehnt, bis Sie die Kategorien akzeptieren.",
|
|||
|
|
"legal.cookies.third.h": "Drittanbieter",
|
|||
|
|
"legal.cookies.third.p": "Google (Tag Manager / Analytics) kann bei erteilter Einwilligung technische Daten wie Seiten-URLs, Geräte-/Browserinformationen und Eventnamen verarbeiten. Wir senden absichtlich keine Passwörter, API-Schlüssel oder Kontaktdaten in Analytics-Events.",
|
|||
|
|
"legal.cookies.manage.h": "Einwilligung ändern",
|
|||
|
|
"legal.cookies.manage.p": "Nutzen Sie Cookie-Einstellungen in der Fußzeile (oder die Schaltfläche unten), um das Banner erneut zu öffnen. Sie können auch die Websitedaten im Browser löschen.",
|
|||
|
|
"site.privacyPolicy": "Datenschutzrichtlinie",
|
|||
|
|
"site.termsOfService": "Nutzungsbedingungen",
|
|||
|
|
"site.legalNav": "Rechtliches",
|
|||
|
|
"site.footer.aria": "Website",
|
|||
|
|
"site.footer.description": "Descrybe verwandelt Lieferanten-Feeds in saubere, kanalbereite Produktkataloge — Felder zuordnen, Attribute und Listing-Texte anreichern, dann exportieren oder mit WooCommerce synchronisieren.",
|
|||
|
|
"site.footer.rightsLine": "© {year} {name}. Alle Rechte vorbehalten.",
|
|||
|
|
"site.footer.navTitle": "Navigation",
|
|||
|
|
"site.footer.platform": "Plattform",
|
|||
|
|
"site.footer.solutions": "Lösungen",
|
|||
|
|
"site.footer.contact": "Kontakt",
|
|||
|
|
"home.hero.tagline": "Produktdaten für E-Commerce-Teams",
|
|||
|
|
"home.hero.title": "Von Lieferanten-Feeds zu Produktseiten",
|
|||
|
|
"home.hero.lead": "Verbinden Sie Lieferanten-Feeds, ordnen Sie sie Ihren Kategorien zu, füllen Sie Pflichtattribute und schreiben Sie Titel und Beschreibungen nach Ihren Regeln — dann exportieren oder mit Ihrem Shop synchronisieren.",
|
|||
|
|
"home.hero.learnMore": "Mehr erfahren",
|
|||
|
|
"home.hero.apply": "Zugang beantragen",
|
|||
|
|
"home.hero.supportedBy": "Unterstützt von",
|
|||
|
|
"home.hero.msAlt": "Microsoft for Startups",
|
|||
|
|
"home.image.previewAlt": "Descrybe-Plattformvorschau: vom Feed zur Produktseite",
|
|||
|
|
"home.how.title": "So spart Descrybe Zeit, Produkte auf den Markt zu bringen",
|
|||
|
|
"home.how.lead": "Importieren Sie unordentliche Lieferantendaten einmal. Descrybe hilft beim Kategorisieren, Ausfüllen von Attributen, Listing-Texten und dem Versand fertiger Produkte an Ihre Kanäle.",
|
|||
|
|
"home.how.apply": "Zugang beantragen",
|
|||
|
|
"home.how.step1.title": "Taxonomie importieren",
|
|||
|
|
"home.how.step1.desc": "Richten Sie die Kategorien und Attribute ein, die Ihr Shop bereits nutzt",
|
|||
|
|
"home.how.step1.f1": "Pflichtattribute je Kategorie definieren",
|
|||
|
|
"home.how.step1.f2": "Titelformeln je Kategorie festlegen",
|
|||
|
|
"home.how.step1.f3": "Vorlagen für Beschreibung und Such-Snippet setzen",
|
|||
|
|
"home.how.step2.title": "Lieferantendaten importieren",
|
|||
|
|
"home.how.step2.desc": "Feed-URL verbinden oder Produktdatei hochladen",
|
|||
|
|
"home.how.step2.f1": "Import aus CSV, XML oder API",
|
|||
|
|
"home.how.step2.f2": "Automatische Importe von Lieferanten planen",
|
|||
|
|
"home.how.step2.f3": "Quellfelder per Drag-and-drop zuordnen",
|
|||
|
|
"home.how.step3.title": "Transformieren & anreichern",
|
|||
|
|
"home.how.step3.desc": "Produkte auswählen und Descrybe:",
|
|||
|
|
"home.how.step3.f1": "Die richtigen Kategorien zuweisen",
|
|||
|
|
"home.how.step3.f2": "Pflicht-Produktattribute füllen",
|
|||
|
|
"home.how.step3.f3": "Klare, suchfreundliche Titel und Beschreibungen erstellen",
|
|||
|
|
"home.how.step4.title": "In Kanäle exportieren",
|
|||
|
|
"home.how.step4.desc": "Fertige Produktdaten dorthin senden, wo Sie verkaufen",
|
|||
|
|
"home.how.step4.f1": "Kanalspezifische Produktfeeds erzeugen",
|
|||
|
|
"home.how.step4.f2": "Volle Kontrolle über exportierte Felder behalten",
|
|||
|
|
"home.how.step4.f3": "Aktuell bleiben, wenn sich Lieferantendaten ändern",
|
|||
|
|
"home.benefits.title": "Alles für sauberere Produktdaten",
|
|||
|
|
"home.benefits.lead": "Vom Feed-Import bis zu kanalbereiten Listings — ohne jede Datei von Hand neu aufzubauen.",
|
|||
|
|
"home.benefits.shield.title": "Unvollständige Listings früh erkennen",
|
|||
|
|
"home.benefits.shield.desc": "Prüfen Sie Produktdaten gegen Kategorieregeln, damit fehlende Attribute und dünne Texte vor dem Go-live behoben werden.",
|
|||
|
|
"home.benefits.chart.title": "Klarere Listings, stärkere Conversion",
|
|||
|
|
"home.benefits.chart.desc": "Titel und Beschreibungen, die hervorheben, was Käufer interessiert — Vorteile, Specs und Suchbegriffe Ihres Katalogs.",
|
|||
|
|
"home.benefits.database.title": "Eine konsistente Produktstruktur",
|
|||
|
|
"home.benefits.database.desc": "Gleicher Kategoriebaum und gleiche Attributform über Exports und Kanäle, damit Kunden Produkte überall gleich finden.",
|
|||
|
|
"home.benefits.search.title": "Suchfreundliche Produktinhalte",
|
|||
|
|
"home.benefits.search.desc": "Titel, Beschreibungen und Meta-Snippets, die für Käufer und Suchmaschinen leichter verständlich sind.",
|
|||
|
|
"home.benefits.cost.title": "Weniger manuelle Dateneingabe",
|
|||
|
|
"home.benefits.cost.desc": "Automatisieren Sie Mapping, Attributfüllung und Listing-Texte, damit das Team merchandising statt Tabellenpflege macht.",
|
|||
|
|
"home.benefits.scale.title": "Bereit für jeden Verkaufskanal",
|
|||
|
|
"home.benefits.scale.desc": "Formen Sie Export-Feeds und WooCommerce-Sync für die Formate jedes Kanals — ohne den Katalog von Hand neu zu bauen.",
|
|||
|
|
"home.cta.titleLead": "Produkte schneller auf den Markt ",
|
|||
|
|
"home.cta.titleHighlight": "bringen",
|
|||
|
|
"home.cta.description": "Hören Sie auf, Produktdaten aus jeder Lieferantendatei neu aufzubauen. Einmal mappen, mit Ihren Regeln anreichern und verkaufsbereite Listings veröffentlichen.",
|
|||
|
|
"home.cta.f1": "Persönliche Demo",
|
|||
|
|
"home.cta.f2": "Expertenberatung",
|
|||
|
|
"home.cta.f3": "Klare nächste Schritte",
|
|||
|
|
"home.cta.apply": "Zugang beantragen",
|
|||
|
|
"home.cta.imageAlt": "Descrybe-Produktseiten",
|
|||
|
|
"home.product.eyebrow": "Was Descrybe macht",
|
|||
|
|
"home.product.title": "Lieferanten-Feeds rein. Fertige Listings raus — Export, WooCommerce oder API.",
|
|||
|
|
"home.product.description": "Descrybe hilft E-Commerce-Teams, CSV- und XML-Lieferantenfeeds in saubere Produktkataloge zu verwandeln. Felder Ihren Kategorien zuordnen, Attribute und Texte anreichern, dann über Export-Feeds, WooCommerce-Sync oder die öffentliche API ausliefern.",
|
|||
|
|
"home.product.pipelineAria": "Produkt-Pipeline",
|
|||
|
|
"home.product.p1.label": "Feeds rein",
|
|||
|
|
"home.product.p1.detail": "CSV / XML von Lieferanten-URLs",
|
|||
|
|
"home.product.p2.label": "Zuordnen",
|
|||
|
|
"home.product.p2.detail": "Spalten Ihren Feldern zuordnen",
|
|||
|
|
"home.product.p3.label": "Anreichern",
|
|||
|
|
"home.product.p3.detail": "Kategorien, Attribute, Titel",
|
|||
|
|
"home.product.p4.label": "Ausliefern",
|
|||
|
|
"home.product.p4.detail": "Export · Woo · API",
|
|||
|
|
"pricing.section.badge": "SKU-Kapazität + KI-Credits",
|
|||
|
|
"pricing.section.title": "Kostenlos starten. Skalieren, wenn der Katalog wächst.",
|
|||
|
|
"pricing.section.lead": "Free umfasst Feed-Mapping, grundlegende Produktbereinigung und EU-Energielabels (EPREL) für bis zu 100 SKUs (ohne KI-Credits). Bezahlte Pläne bieten KI-Titel und -Beschreibungen, mehr Kapazität und Exportoptionen — Starter, Growth, Business oder Sales für Enterprise.",
|
|||
|
|
"pricing.section.billingPeriod": "Abrechnungszeitraum",
|
|||
|
|
"pricing.section.monthly": "Monatlich",
|
|||
|
|
"pricing.section.yearly": "Jährlich",
|
|||
|
|
"pricing.section.savePercent": "20 % sparen",
|
|||
|
|
"pricing.section.publicBefore": "Öffentliche Pläne: Free, Starter, Growth, Business und Enterprise. Free-Konto erstellen, dann upgraden unter",
|
|||
|
|
"pricing.section.publicOr": "oder",
|
|||
|
|
"pricing.section.publicAfter": "über Stripe Checkout. Enterprise bleibt sales-geführt.",
|
|||
|
|
"pricing.section.plansLink": "Pläne",
|
|||
|
|
"pricing.section.billingLink": "Abrechnung",
|
|||
|
|
"pricing.section.capabilitiesTitle": "Wofür jeder Plan gebaut ist",
|
|||
|
|
"pricing.section.capabilitiesLead": "Feeds importieren, Katalog anreichern, dann exportieren oder mit WooCommerce synchronisieren",
|
|||
|
|
"pricing.section.faqTitle": "Häufig gestellte Fragen",
|
|||
|
|
"pricing.section.readyTitle": "Bereit, Ihren ersten Feed zuzuordnen?",
|
|||
|
|
"pricing.section.readyLead": "Free-Konto erstellen — keine Karte nötig. Schon eines? App öffnen oder Pläne vergleichen.",
|
|||
|
|
"pricing.section.contactSales": "Vertrieb kontaktieren",
|
|||
|
|
"pricing.cap.feeds": "Feeds zum Katalog",
|
|||
|
|
"pricing.cap.feeds.f1": "CSV-/XML-/URL-Lieferantenfeeds",
|
|||
|
|
"pricing.cap.feeds.f2": "Feldmapping & Validierung",
|
|||
|
|
"pricing.cap.feeds.f3": "Multi-Lieferanten-Merge",
|
|||
|
|
"pricing.cap.feeds.f4": "Geplante Sync",
|
|||
|
|
"pricing.cap.feeds.f5": "Kategoriebezogene Transforms",
|
|||
|
|
"pricing.cap.processing": "Verarbeitung & KI",
|
|||
|
|
"pricing.cap.processing.f1": "Datenbereinigung & Attributfüllung (alle Pläne)",
|
|||
|
|
"pricing.cap.processing.f2": "KI-Titel & -Beschreibungen (bezahlt)",
|
|||
|
|
"pricing.cap.processing.f3": "EU-Energielabels / EPREL (alle Pläne)",
|
|||
|
|
"pricing.cap.processing.f4": "Formeln, Markenstimme, Variablen",
|
|||
|
|
"pricing.cap.processing.f5": "Verwaltete Credits oder eigener KI-Schlüssel",
|
|||
|
|
"pricing.cap.export": "Export & Kanäle",
|
|||
|
|
"pricing.cap.export.f1": "XML-/CSV-Export-Feeds",
|
|||
|
|
"pricing.cap.export.f2": "WooCommerce-/Shopify-Sync",
|
|||
|
|
"pricing.cap.export.f3": "Volle API",
|
|||
|
|
"pricing.cap.export.f4": "Kanalspezifische Formate",
|
|||
|
|
"pricing.cap.export.f5": "Massenupdates",
|
|||
|
|
"pricing.cap.limits": "Limits & Kontrolle",
|
|||
|
|
"pricing.cap.limits.f1": "SKU-(Produkt-)Obergrenzen",
|
|||
|
|
"pricing.cap.limits.f2": "Monatliche KI-Credit-Pakete",
|
|||
|
|
"pricing.cap.limits.f3": "Teamrollen & Einladungen",
|
|||
|
|
"pricing.cap.limits.f4": "Enterprise-SLA-Optionen",
|
|||
|
|
"pricing.faq.credits.q": "Was sind KI-Credits?",
|
|||
|
|
"pricing.faq.credits.a": "KI-Credits zahlen Schritte wie Titel- und Beschreibungsgenerierung. Free enthält 0 KI-Credits — Feeds mappen und Daten bereinigen geht trotzdem. Bezahlte Monatspakete: Starter 150, Plus 500, Growth 1.200, Business 4.000, Scale 8.000. Enterprise enthält ein großes verwaltetes Paket (und eigenen Schlüssel). Ab Growth optional eigener Schlüssel statt verwalteter Credits.",
|
|||
|
|
"pricing.faq.packs.q": "Can I buy extra AI credits?",
|
|||
|
|
"pricing.faq.packs.a": "Yes. One-time packs: Starter $19 / 500 credits, Growth $59 / 2,000, Catalog $199 / 10,000, Scale $599 / 40,000. Buy from Billing after you have a paid plan (or Free with leftover trial credits). Packs do not change your SKU or feed limits.",
|
|||
|
|
"pricing.faq.limits.q": "Was passiert bei Produkt- oder Credit-Limit?",
|
|||
|
|
"pricing.faq.limits.a": "Wir warnen rechtzeitig. Am Produktlimit oder ohne KI-Credits pausieren Jobs, die Kapazität brauchen, bis Platz frei wird, der nächste Zyklus kommt oder Sie upgraden.",
|
|||
|
|
"pricing.faq.change.q": "Kann ich up- oder downgraden?",
|
|||
|
|
"pricing.faq.change.a": "Ja. Starten Sie auf Free, dann Upgrade auf Starter, Plus, Growth, Business oder Scale unter Pläne oder Abrechnung (Stripe Checkout). Enterprise ist immer sales-geführt.",
|
|||
|
|
"pricing.faq.free.q": "Was enthält Free?",
|
|||
|
|
"pricing.faq.free.a": "Für immer Free: 50 Produkte, ein Feed, Datenbereinigung und Attributfüllung, EU-Energielabels (EPREL — öffentliche Daten, keine Credits) plus ein manueller Export — mit 0 KI-Credits. Keine Kreditkarte. Upgrade für KI-Titel/-Beschreibungen oder mehr Kapazität.",
|
|||
|
|
"pricing.faq.why.q": "Warum nicht pro Produkt wie reine Content-Tools?",
|
|||
|
|
"pricing.faq.why.a": "Descrybe deckt den Weg vom Lieferantenfeed über den Katalog bis WooCommerce oder Export ab — nicht nur KI-Copy. Sie zahlen Plattformkapazität (Produkte und Feeds); KI ist eine Nutzungsschicht darüber.",
|
|||
|
|
"pricing.faq.annual.q": "Wie funktioniert die Jahresabrechnung?",
|
|||
|
|
"pricing.faq.annual.a": "Jährliche Abrechnung ist etwa 20 % unter dem Monatspreis. Kostenlos starten, dann jährlich im Checkout wählen (oder Vertrieb kontaktieren).",
|
|||
|
|
"pricing.calc.badge": "Plan calculator",
|
|||
|
|
"pricing.calc.title": "Find the right plan",
|
|||
|
|
"pricing.calc.lead": "Enter feeds, catalog size, and how many products you want to enhance with AI (count each language pass).",
|
|||
|
|
"pricing.calc.feeds": "Feed sources",
|
|||
|
|
"pricing.calc.feedsHint": "Supplier / import feeds you need to connect",
|
|||
|
|
"pricing.calc.skus": "Catalog products (SKUs)",
|
|||
|
|
"pricing.calc.skusHint": "Total products you will store and process",
|
|||
|
|
"pricing.calc.aiVolume": "AI process volume",
|
|||
|
|
"pricing.calc.aiHint": "Roughly products × languages you want to enhance per month",
|
|||
|
|
"pricing.calc.recommendedLabel": "Recommended",
|
|||
|
|
"pricing.calc.budgetLabel": "Budget option",
|
|||
|
|
"pricing.calc.coversCredits": "Needs about {count} AI credits / month",
|
|||
|
|
"pricing.calc.aiIncluded": "Included monthly credits cover this AI volume",
|
|||
|
|
"pricing.calc.aiNeedsPacks": "Add {count}× {pack} (~{usd}) for the AI shortfall",
|
|||
|
|
"pricing.calc.orYearly": "or ~{amount}/mo yearly",
|
|||
|
|
"pricing.calc.budgetNote": "Lower list price with yearly discount and/or credit packs when that still fits.",
|
|||
|
|
"pricing.calc.noBudget": "The recommended plan is already the leanest fit for these inputs.",
|
|||
|
|
"pricing.calc.enterpriseTitle": "Sounds like Enterprise",
|
|||
|
|
"pricing.calc.enterpriseBody": "Your feeds or catalog size exceed self-serve caps. Talk to sales for unlimited capacity and a managed AI grant or BYOK.",
|
|||
|
|
"pricing.calc.ctaPlan": "Choose {name}",
|
|||
|
|
"pricing.calc.disclaimer": "Estimates use list prices and ~2 credits per AI product enhance. Checkout prices come from Stripe. A1 and other client deals stay admin-only.",
|
|||
|
|
"pricing.card.mostPopular": "Am beliebtesten",
|
|||
|
|
"pricing.card.custom": "Individuell",
|
|||
|
|
"pricing.card.forever": "für immer",
|
|||
|
|
"pricing.card.perMonth": "Monat",
|
|||
|
|
"pricing.card.perYear": "Jahr",
|
|||
|
|
"pricing.card.savePerMonth": "${amount}/Monat sparen",
|
|||
|
|
"pricing.card.discountBadge": "-20 %",
|
|||
|
|
"pricing.card.unlimitedSkus": "Unbegrenzte SKUs",
|
|||
|
|
"pricing.card.oneMSkus": "1M+ SKUs",
|
|||
|
|
"pricing.card.upToSkus": "Bis zu {count} SKUs",
|
|||
|
|
"pricing.card.unlimitedAi": "Unbegrenzte KI-Credits",
|
|||
|
|
"pricing.card.zeroCredits": "0 KI-Credits / Monat",
|
|||
|
|
"pricing.card.creditsPerMonth": "{count} KI-Credits / Monat",
|
|||
|
|
"pricing.card.showLess": "Weniger anzeigen",
|
|||
|
|
"pricing.card.showMoreFeature": "{count} weiteres Feature anzeigen",
|
|||
|
|
"pricing.card.showMoreFeatures": "{count} weitere Features anzeigen",
|
|||
|
|
"pricing.card.upgradeTo": "Upgrade auf {name}",
|
|||
|
|
"pricing.plan.free.description": "Beispiel-Feed mappen und Produktdaten bereinigen — ohne Karte",
|
|||
|
|
"pricing.plan.starter.description": "Kleine Kataloge mit KI-Titeln und -Beschreibungen",
|
|||
|
|
"pricing.plan.plus.description": "Mehr Produkte, Feeds und KI für wachsende Kataloge",
|
|||
|
|
"pricing.plan.growth.description": "Multi-Lieferanten-Feeds in Shops und Shopping-Exports",
|
|||
|
|
"pricing.plan.business.description": "Mid-Market-Kataloge mit BYOK",
|
|||
|
|
"pricing.plan.scale.description": "Distributor-Kataloge mit Priority-Support",
|
|||
|
|
"pricing.plan.enterprise.description": "Unbegrenzte Kapazität, SLA und dediziertes Account-Team",
|
|||
|
|
"pricing.feature.credits100": "100 AI credits / month (~50% catalog cover)",
|
|||
|
|
"pricing.feature.credits100starter": "100 AI credits / month (~50% catalog cover)",
|
|||
|
|
"pricing.feature.credits400": "400 AI credits / month (~50% catalog cover)",
|
|||
|
|
"pricing.feature.credits600": "600 AI credits / month (~10% credit base)",
|
|||
|
|
"pricing.feature.credits1800": "1,800 AI credits / month (~6% credit base)",
|
|||
|
|
"pricing.feature.credits2700": "2,700 AI credits / month (~15% credit base)",
|
|||
|
|
"pricing.feature.credits5000base": "5,000 AI credits / month (~10% credit base)",
|
|||
|
|
"pricing.feature.credits7000": "7,000 AI credits / month (~20% credit base)",
|
|||
|
|
"pricing.feature.credits12000": "12,000 AI credits / month (~50% catalog cover)",
|
|||
|
|
"pricing.feature.credits16000": "16,000 AI credits / month (~16% credit base)",
|
|||
|
|
"pricing.feature.upTo1mSkus": "Up to 1,000,000 SKUs",
|
|||
|
|
"pricing.feature.upTo15kSkus": "Up to 15,000 SKUs",
|
|||
|
|
"pricing.feature.credits15000": "15,000 AI credits / month (~75% catalog cover)",
|
|||
|
|
"pricing.feature.credits60000": "60,000 AI credits / month (~75% catalog cover)",
|
|||
|
|
"pricing.feature.upTo50Skus": "Bis zu 50 SKUs",
|
|||
|
|
"pricing.feature.upTo100Skus": "Up to 100 SKUs",
|
|||
|
|
"pricing.feature.upTo400Skus": "Up to 400 SKUs",
|
|||
|
|
"pricing.feature.upTo1200Skus": "Up to 1,200 SKUs",
|
|||
|
|
"pricing.feature.upTo4kSkus": "Up to 4,000 SKUs",
|
|||
|
|
"pricing.feature.upTo12kSkus": "Up to 12,000 SKUs",
|
|||
|
|
"pricing.feature.oneFeedSource": "1 Feed-Quelle",
|
|||
|
|
"pricing.feature.twoFeedSources": "2 feed sources",
|
|||
|
|
"pricing.feature.threeFeedSources": "3 Feed-Quellen",
|
|||
|
|
"pricing.feature.fourFeedSources": "4 feed sources",
|
|||
|
|
"pricing.feature.sixFeedSources": "6 feed sources",
|
|||
|
|
"pricing.feature.twelveFeedSources": "12 feed sources",
|
|||
|
|
"pricing.feature.twentyFiveFeedSources": "25 feed sources",
|
|||
|
|
"pricing.feature.cleanData": "Daten bereinigen, Specs parsen und Felder füllen",
|
|||
|
|
"pricing.feature.eprel": "EU-Energielabels (EPREL)",
|
|||
|
|
"pricing.feature.zeroCredits": "0 KI-Credits / Monat",
|
|||
|
|
"pricing.feature.oneManualExport": "1 manueller Export-Feed",
|
|||
|
|
"pricing.feature.twoExports": "2 export feeds",
|
|||
|
|
"pricing.feature.fourExports": "4 export feeds",
|
|||
|
|
"pricing.feature.wooTestOnly": "Nur WooCommerce-Verbindungstest",
|
|||
|
|
"pricing.feature.upTo2Seats": "Bis zu 2 Sitze",
|
|||
|
|
"pricing.feature.aiTitles": "KI-Titel & -Beschreibungen",
|
|||
|
|
"pricing.feature.liveStoreSync": "Live-Shop-Sync",
|
|||
|
|
"pricing.feature.apiAccess": "API-Zugang",
|
|||
|
|
"pricing.feature.byok": "Eigener KI-Schlüssel",
|
|||
|
|
"pricing.feature.upTo500Skus": "Bis zu 500 SKUs",
|
|||
|
|
"pricing.feature.upTo1000Skus": "Up to 1,000 SKUs",
|
|||
|
|
"pricing.feature.fiveFeedSources": "5 feed sources",
|
|||
|
|
"pricing.feature.fiveExports": "5 export feeds",
|
|||
|
|
"pricing.feature.credits250": "250 AI credits / month (~25% catalog cover)",
|
|||
|
|
"pricing.feature.credits1000": "1,000 AI credits / month (~50% catalog cover)",
|
|||
|
|
"pricing.feature.credits1000full": "1,000 AI credits / month (full primary-language catalog)",
|
|||
|
|
"pricing.feature.credits10000full": "10,000 AI credits / month (full primary-language catalog)",
|
|||
|
|
"pricing.feature.credits50000full": "50,000 AI credits / month (full primary-language catalog)",
|
|||
|
|
"pricing.feature.credits100000": "100,000 AI credits / month (full primary-language catalog)",
|
|||
|
|
"pricing.feature.credits225000": "225,000 AI credits / month (~75% catalog cover)",
|
|||
|
|
"pricing.feature.credits12500": "12,500 AI credits / month (~25% catalog cover)",
|
|||
|
|
"pricing.feature.credits30000": "30,000 AI credits / month (~20% catalog cover)",
|
|||
|
|
"pricing.feature.upTo75kSkus": "Up to 75,000 SKUs",
|
|||
|
|
"pricing.feature.threeExports": "3 Export-Feeds",
|
|||
|
|
"pricing.feature.sixExports": "6 export feeds",
|
|||
|
|
"pricing.feature.tenExports": "10 export feeds",
|
|||
|
|
"pricing.feature.fullWooSync": "Volle WooCommerce-Sync",
|
|||
|
|
"pricing.feature.readApi": "API-Lesezugriff",
|
|||
|
|
"pricing.feature.emailSupport": "E-Mail-Support",
|
|||
|
|
"pricing.feature.creditPacks": "Buy extra AI credit packs",
|
|||
|
|
"pricing.feature.upTo2500Skus": "Bis zu 2.500 SKUs",
|
|||
|
|
"pricing.feature.upTo1500Skus": "Up to 1,500 SKUs",
|
|||
|
|
"pricing.feature.upTo3500Skus": "Up to 3,500 SKUs",
|
|||
|
|
"pricing.feature.upTo9500Skus": "Up to 9,500 SKUs",
|
|||
|
|
"pricing.feature.upTo18kSkus": "Up to 18,000 SKUs",
|
|||
|
|
"pricing.feature.upTo55kSkus": "Up to 55,000 SKUs",
|
|||
|
|
"pricing.feature.upTo5000Skus": "Up to 5,000 SKUs",
|
|||
|
|
"pricing.feature.eightFeedSources": "8 Feed-Quellen",
|
|||
|
|
"pricing.feature.credits500": "500 KI-Credits / Monat",
|
|||
|
|
"pricing.feature.credits1250": "1,250 AI credits / month (~25% catalog cover)",
|
|||
|
|
"pricing.feature.credits5000": "5,000 AI credits / month (~25% catalog cover)",
|
|||
|
|
"pricing.feature.eightExports": "8 Export-Feeds",
|
|||
|
|
"pricing.feature.fifteenExports": "15 export feeds",
|
|||
|
|
"pricing.feature.wooShopifySync": "Volle WooCommerce- + Shopify-Sync",
|
|||
|
|
"pricing.feature.upTo10kSkus": "Bis zu 10.000 SKUs",
|
|||
|
|
"pricing.feature.upTo25kSkus": "Up to 25,000 SKUs",
|
|||
|
|
"pricing.feature.fifteenFeedSources": "15 Feed-Quellen",
|
|||
|
|
"pricing.feature.tenFeedSources": "10 feed sources",
|
|||
|
|
"pricing.feature.twentyFeedSources": "20 feed sources",
|
|||
|
|
"pricing.feature.thirtyFeedSources": "30 feed sources",
|
|||
|
|
"pricing.feature.credits1200": "1.200 KI-Credits / Monat",
|
|||
|
|
"pricing.feature.credits10000": "10,000 AI credits / month (~50% catalog cover)",
|
|||
|
|
"pricing.feature.credits25000": "25,000 AI credits / month (~50% catalog cover)",
|
|||
|
|
"pricing.feature.twentyExports": "20 Export-Feeds",
|
|||
|
|
"pricing.feature.fortyExports": "40 export feeds",
|
|||
|
|
"pricing.feature.fullFormulas": "Volle Formeln & Variablen",
|
|||
|
|
"pricing.feature.fullApi": "Voller API-Zugang",
|
|||
|
|
"pricing.feature.byokAddon": "Bring-your-own-key-Add-on",
|
|||
|
|
"pricing.feature.emailSupport24h": "E-Mail-Support (24 Std.)",
|
|||
|
|
"pricing.feature.upTo40kSkus": "Bis zu 40.000 SKUs",
|
|||
|
|
"pricing.feature.upTo50kSkus": "Up to 50,000 SKUs",
|
|||
|
|
"pricing.feature.fortyFeedSources": "40 Feed-Quellen",
|
|||
|
|
"pricing.feature.fiftyFeedSources": "50 feed sources",
|
|||
|
|
"pricing.feature.credits4000": "4.000 KI-Credits / Monat",
|
|||
|
|
"pricing.feature.credits40000": "40,000 AI credits / month (~50% catalog cover)",
|
|||
|
|
"pricing.feature.credits50000half": "50,000 AI credits / month (~50% catalog cover)",
|
|||
|
|
"pricing.feature.unlimitedExports": "Unbegrenzte Export-Feeds",
|
|||
|
|
"pricing.feature.fullApiWebhooks": "Volle API",
|
|||
|
|
"pricing.feature.byokIncluded": "Eigener KI-Schlüssel inklusive",
|
|||
|
|
"pricing.feature.priorityEmail": "Priorisierter E-Mail-Support",
|
|||
|
|
"pricing.feature.upTo100kSkus": "Bis zu 100.000 SKUs",
|
|||
|
|
"pricing.feature.upTo150kSkus": "Up to 150,000 SKUs",
|
|||
|
|
"pricing.feature.hundredFeedSources": "100 Feed-Quellen",
|
|||
|
|
"pricing.feature.hundredFiftyFeedSources": "150 feed sources",
|
|||
|
|
"pricing.feature.credits8000": "8.000 KI-Credits / Monat",
|
|||
|
|
"pricing.feature.credits50000": "50,000 AI credits / month (~25% catalog cover)",
|
|||
|
|
"pricing.feature.credits120000": "120,000 AI credits / month (~40% catalog cover)",
|
|||
|
|
"pricing.feature.prioritySlack": "Priority-Support + Slack",
|
|||
|
|
"pricing.feature.unlimitedSkus": "Unbegrenzte SKUs",
|
|||
|
|
"pricing.feature.unlimitedFeeds": "Unbegrenzte Feed-Quellen",
|
|||
|
|
"pricing.feature.unlimitedAiOwnKey": "Unbegrenzte KI-Credits / eigener Schlüssel",
|
|||
|
|
"pricing.feature.ssoWebhooksAm": "SSO, dedizierter Account Manager",
|
|||
|
|
"pricing.feature.customIntegrations": "Individuelle Integrationen",
|
|||
|
|
"pricing.feature.slaPriority": "SLA & Priority-Support",
|
|||
|
|
"pricing.pack.tiny.name": "Nano pack",
|
|||
|
|
"pricing.pack.tiny.desc": "Smoke tests / tiny fixes (25 credits ≈ 12 AI products)",
|
|||
|
|
"pricing.pack.small.name": "Starter pack",
|
|||
|
|
"pricing.pack.small.desc": "Extra AI for fixes and tests (~250 products)",
|
|||
|
|
"pricing.pack.medium.name": "Growth pack",
|
|||
|
|
"pricing.pack.medium.desc": "Keep enhancing after the monthly plan allowance (~1,000 products)",
|
|||
|
|
"pricing.pack.large.name": "Catalog pack",
|
|||
|
|
"pricing.pack.large.desc": "Big top-up for large catalogs and re-runs (~5,000 products)",
|
|||
|
|
"pricing.pack.xl.name": "Scale pack",
|
|||
|
|
"pricing.pack.xl.desc": "Heavy usage / agency bursts (~20,000 products)",
|
|||
|
|
"pricing.pack.xxl.name": "Business pack",
|
|||
|
|
"pricing.pack.xxl.desc": "Large multi-language buffer (3,000 credits ≈ 1,500 AI products)",
|
|||
|
|
"pricing.pack.mega.name": "Scale pack",
|
|||
|
|
"pricing.pack.mega.desc": "Distributor / agency burst (8,000 credits ≈ 4,000 AI products)",
|
|||
|
|
"pricing.section.faqDescription": "Klare Antworten zu Plänen, Credits und dem, was Free enthält.",
|
|||
|
|
"billing.buyCreditPacks": "Buy AI credit packs",
|
|||
|
|
"billing.buyCreditPacksHint": "Plans cover ~75% of your SKU cap with AI. Top up anytime for the rest, fixes, and tests — without changing your plan.",
|
|||
|
|
"billing.packCredits": "{credits} Credits",
|
|||
|
|
"billing.packApproxProducts": "~{count} AI products",
|
|||
|
|
"billing.buyPack": "Buy",
|
|||
|
|
"billing.checkoutCompletePack": "Credit pack purchased — {credits} AI credits added.",
|
|||
|
|
"billing.packCheckoutFailed": "Could not start credit pack checkout.",
|
|||
|
|
"empty.default.noItems": "Keine Einträge gefunden.",
|
|||
|
|
"settings.tabLockedHint": "Not on your plan",
|
|||
|
|
"stores.connectorLocked": "Not on your plan",
|
|||
|
|
"stores.connectorUpgrade": "Upgrade to unlock",
|
|||
|
|
"plan.upgrade.title": "Diese Funktion ist nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.message": "Upgraden Sie, um diesen Teil von Descrybe freizuschalten.",
|
|||
|
|
"plan.upgrade.defaultMessage": "Ihr aktueller Plan enthält diesen Teil von Descrybe nicht. Upgraden Sie, um ihn freizuschalten, oder fragen Sie einen Unternehmens-Admin, wenn Sie die Abrechnung nicht ändern können.",
|
|||
|
|
"plan.upgrade.sectionOff.title": "Diese Funktion ist vorübergehend nicht verfügbar",
|
|||
|
|
"plan.upgrade.sectionOff.message": "Dieser Teil von Descrybe ist auf der Plattform derzeit deaktiviert. Das ist kein Upgrade-Problem — versuchen Sie es später erneut oder kontaktieren Sie den Support.",
|
|||
|
|
"plan.upgrade.sectionOff.cta": "Zurück zum Dashboard",
|
|||
|
|
"plan.upgrade.stores.message": "WooCommerce- und Shopify-Konnektoren brauchen einen Plan mit Stores. Upgraden Sie, um diese Shops zu verbinden — oder arbeiten Sie weiter mit Feeds und der API in Ihrem aktuellen Plan.",
|
|||
|
|
"plan.upgrade.stillWorks.title": "Was in Ihrem Plan weiterhin funktioniert",
|
|||
|
|
"plan.upgrade.stillWorks.feeds.label": "Eingabe-Feeds",
|
|||
|
|
"plan.upgrade.stillWorks.feeds.description": "CSV- oder XML-URLs und Datei-Uploads hinzufügen, um Kataloge ohne Shop-Konnektoren zu synchronisieren.",
|
|||
|
|
"plan.upgrade.stillWorks.export.label": "Export-Feeds",
|
|||
|
|
"plan.upgrade.stillWorks.export.description": "Ausgehende Feeds für Shopping-Kanäle und Partner erzeugen.",
|
|||
|
|
"plan.upgrade.stillWorks.processing.label": "Hintergrundaufgaben",
|
|||
|
|
"plan.upgrade.stillWorks.processing.description": "KI- und Katalog-Jobs unter Verarbeitung überwachen — in Ihrem Plan auch ohne Shop-Konnektoren verfügbar.",
|
|||
|
|
"plan.upgrade.stillWorks.api.label": "API-Schlüssel",
|
|||
|
|
"plan.upgrade.stillWorks.api.description": "Erstellen Sie unter Einstellungen einen Schlüssel für /api/v1 — das Geheimnis wird nur einmal angezeigt.",
|
|||
|
|
"plan.upgrade.stillWorks.docs.label": "API-Dokumentation",
|
|||
|
|
"plan.upgrade.stillWorks.docs.description": "Lesen Sie die API-Übersicht und integrieren Sie ohne WooCommerce oder Shopify.",
|
|||
|
|
"plan.upgrade.feature.settings.api_keys": "API-Schlüssel brauchen einen bezahlten Plan",
|
|||
|
|
"plan.upgrade.feature.catalog.products.process_ai_titles": "KI-Titel sind eine bezahlte Funktion",
|
|||
|
|
"plan.upgrade.feature.catalog.products.process_ai_descriptions": "KI-Beschreibungen sind eine bezahlte Funktion",
|
|||
|
|
"plan.upgrade.feature.marketing.campaigns.generate_ai": "Kampagnen-KI braucht einen bezahlten Plan",
|
|||
|
|
"plan.upgrade.feature.marketing.campaigns.send": "Live-Kampagnenversand braucht einen bezahlten Plan",
|
|||
|
|
"plan.upgrade.feature.marketing.brand_ai_apply": "Markenstimme in der KI braucht einen bezahlten Plan",
|
|||
|
|
"plan.upgrade.feature.marketing.seo.ai_rewrite": "SEO-KI-Umschreiben braucht einen bezahlten Plan",
|
|||
|
|
"plan.upgrade.feature.integrations.ai.byok": "Eigener KI-Schlüssel ab Growth",
|
|||
|
|
"plan.upgrade.feature.capability.byok": "Eigener KI-Schlüssel ab Growth",
|
|||
|
|
"plan.upgrade.feature.marketing.campaigns": "Kampagnen sind nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.marketing.content_calendar": "Content-Kalender ist nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.marketing.seo": "SEO-Tools sind nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.marketing.brand_kit": "Brand-Kit ist nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.marketing.reviews": "Bewertungen sind nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.integrations.ai": "KI-Integrationen sind nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.integrations.email": "E-Mail-Versand ist nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.processing.monitor": "Verarbeitung ist nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.stores.hub": "Shop-Konnektoren sind nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.stores.woocommerce": "WooCommerce ist nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.stores.shopify": "Shopify ist nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.support.center": "Support-Center ist nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.support.ticket_create": "Support-Tickets erstellen ist nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.support.ticket_thread": "Support-Ticket-Threads sind nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.catalog.structured_descriptions": "Strukturierte Beschreibungen sind nicht in Ihrem Plan",
|
|||
|
|
"plan.upgrade.feature.catalog.vector_categories": "Vektor-Kategorien sind nicht in Ihrem Plan",
|
|||
|
|
"plan.checkingAccess": "Plan-Zugriff wird geprüft…",
|
|||
|
|
"upgradeBanner.comparePlans": "Pläne vergleichen",
|
|||
|
|
"upgradeBanner.talkToSales": "Vertrieb kontaktieren",
|
|||
|
|
"commandPalette.closeAria": "Suche schließen",
|
|||
|
|
"commandPalette.ariaLabel": "Seiten suchen",
|
|||
|
|
"commandPalette.placeholder": "Seiten suchen…",
|
|||
|
|
"commandPalette.searchAria": "Seiten suchen",
|
|||
|
|
"commandPalette.destinationsAria": "Seiten",
|
|||
|
|
"commandPalette.noMatches": "Keine passenden Seiten",
|
|||
|
|
"commandPalette.announceIdleOne": "Suche. {count} Seite.",
|
|||
|
|
"commandPalette.announceIdleMany": "Suche. {count} Seiten.",
|
|||
|
|
"commandPalette.announceNone": "Keine passenden Seiten.",
|
|||
|
|
"commandPalette.announceMatchOne": "{count} passende Seite.",
|
|||
|
|
"commandPalette.announceMatchMany": "{count} passende Seiten.",
|
|||
|
|
"vector.title": "Vektorkategorien-Test",
|
|||
|
|
"vector.description": "Durchsuchen Sie den Vektorkategorie-Index, wenn Pinecone konfiguriert ist. Index erstellen und Initialisieren sind in v2 noch nicht verfügbar.",
|
|||
|
|
"vector.probing": "Vektorkategorien-API wird geprüft…",
|
|||
|
|
"vector.unavailable": "Vektorkategorien sind auf diesem Backend noch nicht verfügbar. Hier gibt es nichts auszuführen, bis /api/vector-categories/* angebunden ist.",
|
|||
|
|
"vector.browseCategories": "Kategorien durchsuchen",
|
|||
|
|
"vector.initHeading": "Vektordatenbank initialisieren",
|
|||
|
|
"vector.initComingSoon": "Index erstellen und Vektor-DB initialisieren sind in v2 noch nicht verfügbar (demnächst). Suche funktioniert weiterhin, wenn Pinecone konfiguriert ist.",
|
|||
|
|
"vector.createIndex": "Index erstellen",
|
|||
|
|
"vector.initDb": "Vektor-DB initialisieren",
|
|||
|
|
"vector.searchHeading": "Kategorien suchen",
|
|||
|
|
"vector.searchPlaceholder": "Produktbeschreibung eingeben…",
|
|||
|
|
"vector.results": "Ergebnisse:",
|
|||
|
|
"vector.categoryLabel": "Kategorie:",
|
|||
|
|
"vector.idLabel": "ID:",
|
|||
|
|
"vector.scoreLabel": "Score:",
|
|||
|
|
"switcher.switching": "Wechsle…",
|
|||
|
|
"switcher.returnTo": "Zurück zu {email}",
|
|||
|
|
"switcher.switchUser": "Benutzer wechseln",
|
|||
|
|
"switcher.loadingUsers": "Benutzer werden geladen…",
|
|||
|
|
"switcher.empty": "Keine wechselbaren Benutzer gefunden.",
|
|||
|
|
"switcher.noCompany": "Kein Unternehmen",
|
|||
|
|
"switcher.unknownCompany": "Unbekanntes Unternehmen",
|
|||
|
|
"companySwitcher.select": "Unternehmen auswählen",
|
|||
|
|
"companySwitcher.switchAria": "Unternehmen wechseln: {label}",
|
|||
|
|
"companySwitcher.companies": "Unternehmen",
|
|||
|
|
"storeReconnect.primaryLabel": "Shop erneut verbinden",
|
|||
|
|
"storeReconnect.titlePlural": "Shops nach Migration erneut verbinden",
|
|||
|
|
"storeReconnect.titleChannel": "{channel} nach Migration erneut verbinden",
|
|||
|
|
"storeReconnect.titleSingular": "Shop nach Migration erneut verbinden",
|
|||
|
|
"storeReconnect.messageWithItems": "Shop-API-Zugangsdaten wurden nach der Plattformmigration nicht übernommen (oder sind nicht nutzbar). Das ist keine kaputte Sync — verbinden Sie jeden Shop erneut und testen Sie die Verbindung, bevor Sie eine Sync einreihen.",
|
|||
|
|
"storeReconnect.messageSingle": "{channel}-API-Zugangsdaten wurden nach der Plattformmigration nicht übernommen (oder sind nicht nutzbar). Das ist keine kaputte Sync — fügen Sie frische Zugangsdaten ein, speichern Sie und testen Sie die Verbindung, bevor Sie eine Sync einreihen.",
|
|||
|
|
"storeReconnect.channelFallback": "Shop",
|
|||
|
|
"storeReconnect.askAdmin": "Bitten Sie einen Unternehmens-Admin um die erneute Verbindung — nur Admins können Shop-Zugangsdaten speichern.",
|
|||
|
|
"storeReconnect.reconnectItem": "{label} erneut verbinden",
|
|||
|
|
"admin.storeReconnect.channel.other": "Other",
|
|||
|
|
"admin.storeReconnect.channel.woocommerce": "WooCommerce",
|
|||
|
|
"admin.storeReconnect.channel.shopify": "Shopify",
|
|||
|
|
"admin.storeReconnect.reason.other": "Other",
|
|||
|
|
"admin.storeReconnect.reason.missingCredentials": "Missing credentials",
|
|||
|
|
"admin.storeReconnect.enabledNo": "No",
|
|||
|
|
"admin.storeReconnect.enabledYes": "Yes",
|
|||
|
|
"admin.storeReconnect.colLastTest": "Last test",
|
|||
|
|
"admin.storeReconnect.colEnabled": "Enabled",
|
|||
|
|
"admin.storeReconnect.colReason": "Reason",
|
|||
|
|
"admin.storeReconnect.colIdentity": "Identity",
|
|||
|
|
"admin.storeReconnect.colChannel": "Channel",
|
|||
|
|
"admin.storeReconnect.colCompany": "Company",
|
|||
|
|
"admin.storeReconnect.noRows": "No rows in this page.",
|
|||
|
|
"admin.storeReconnect.noneFound": "No stores need reconnect right now.",
|
|||
|
|
"admin.storeReconnect.needsBadge": "Needs reconnect",
|
|||
|
|
"admin.storeReconnect.cleanBadge": "No gaps",
|
|||
|
|
"admin.storeReconnect.listDesc": "Store URL / shop domain present without usable secrets (matches merchant reconnect banner).",
|
|||
|
|
"admin.storeReconnect.listTitle": "Connected but invalid",
|
|||
|
|
"admin.storeReconnect.metric.showing": "Rows shown",
|
|||
|
|
"admin.storeReconnect.metric.total": "Gaps total",
|
|||
|
|
"admin.storeReconnect.cutoverHint": "Read-only inventory. Merchants reconnect via /stores/wizard or the channel Connection tab — this page does not mutate credentials.",
|
|||
|
|
"admin.storeReconnect.loadFailed": "Could not load store reconnect inventory.",
|
|||
|
|
"admin.storeReconnect.refresh": "Refresh",
|
|||
|
|
"admin.storeReconnect.description": "Companies with a connected store identity but missing or unusable API credentials (cutover credential gaps).",
|
|||
|
|
"admin.storeReconnect.title": "Store reconnect inventory",
|
|||
|
|
"admin.nav.storeReconnect": "Store reconnect",
|
|||
|
|
"storeReconnect.wizardHint": "Prefer a step-by-step flow? Open Guided setup (/stores/wizard), or reconnect the channel below and Test Connection before syncing.",
|
|||
|
|
"storeReconnect.wizardLabel": "Guided setup",
|
|||
|
|
"storeReconnect.reviewsHint": "Bewertungsimport kann erst laufen, wenn Zugangsdaten nach der Migration erneut verbunden sind. Im Reiter Verbindung: Speichern, dann Verbindung testen.",
|
|||
|
|
"storeReconnect.ordersHint": "Bestellimport kann erst laufen, wenn Zugangsdaten nach der Migration erneut verbunden sind. Im Reiter Verbindung: Speichern, dann Verbindung testen.",
|
|||
|
|
"productSync.directionTitle": "Produkte: Descrybe → Shop",
|
|||
|
|
"productSync.outbound": "Descrybe → {channel}",
|
|||
|
|
"productSync.outboundBody": "— sendet verarbeitete Descrybe-Produkte an den Shop (erstellt oder aktualisiert passende Remote-Produkte). Importiert den Shop-Katalog nicht nach Descrybe.",
|
|||
|
|
"productSync.firstSync": "Erste Sync",
|
|||
|
|
"productSync.firstSyncBody": "— nicht gematchte Produkte werden in {channel} erstellt. Spätere Syncs aktualisieren bereits per ID oder Match-Strategie verknüpfte Produkte.",
|
|||
|
|
"productSync.reSync": "Erneut synchronisieren",
|
|||
|
|
"productSync.reSyncBody": "— gematchte Remote-Produkte können mit Descrybe-Inhalt überschrieben werden ({count} bisher verknüpft).",
|
|||
|
|
"productSync.queued": "Produktsync in Warteschlange",
|
|||
|
|
"productSync.live.queued": "In Warteschlange — warte auf Worker",
|
|||
|
|
"productSync.live.running": "Sync läuft",
|
|||
|
|
"productSync.live.watching": "Status wird überwacht… Zähler erscheinen nach Abschluss.",
|
|||
|
|
"productSync.live.success": "Sync fertig: {total} gesamt · {created} erstellt · {updated} aktualisiert · {failed} fehlgeschlagen · {skipped} übersprungen",
|
|||
|
|
"productSync.live.partial": "Sync mit Fehlern: {total} gesamt · {created} erstellt · {updated} aktualisiert · {failed} fehlgeschlagen · {skipped} übersprungen",
|
|||
|
|
"productSync.live.failed": "Sync fehlgeschlagen{detail}.",
|
|||
|
|
"productSync.live.timedOut": "Läuft noch — später aktualisieren für finalen Status und Zähler.",
|
|||
|
|
"productSync.live.ordersSuccess": "Auftragssync fertig ({status}).",
|
|||
|
|
"productSync.live.reviewsSuccess": "Bewertungssync fertig ({status}).",
|
|||
|
|
"productSync.retry": "Sync erneut versuchen",
|
|||
|
|
"productSync.lastStatus": "Letzte: {status}",
|
|||
|
|
"productSync.dryRun": "Probelauf",
|
|||
|
|
"productSync.lastSyncAt": "Letzte Produktsync: {date}",
|
|||
|
|
"productSync.noneYet": "Noch keine Produktsync abgeschlossen.",
|
|||
|
|
"productSync.lastRun": "Letzter Lauf: {total} gesamt · {created} erstellt · {updated} aktualisiert · {failed} fehlgeschlagen · {skipped} übersprungen",
|
|||
|
|
"productSync.needsReconnect": "Produktsync kann erst laufen, wenn Zugangsdaten nach der Migration erneut verbunden sind. Im Reiter Verbindung: Speichern, dann Verbindung testen.",
|
|||
|
|
"productSync.scheduleTitle": "Automatischer Produkt-Sync-Zeitplan",
|
|||
|
|
"productSync.scheduleHelp": "Wie bei Feed-Intervallen: Legen Sie fest, wie oft Produkte gepusht werden, oder pausieren Sie den Zeitplan. Manuelle Warteschlange funktioniert weiter. Store-Webhooks werden nicht verwendet — nur Abruf/Warteschlange.",
|
|||
|
|
"productSync.scheduleInterval": "Sync-Intervall (Stunden)",
|
|||
|
|
"productSync.scheduleIntervalHint": "1–168 Stunden. Standard ist 6 Stunden, wenn serverseitig nicht gesetzt.",
|
|||
|
|
"productSync.schedulePause": "Automatischen Sync pausieren",
|
|||
|
|
"productSync.schedulePauseHint": "Stoppt nur geplante Pushes. Manueller Produkt-Sync bleibt möglich.",
|
|||
|
|
"productSync.scheduleSave": "Zeitplan speichern",
|
|||
|
|
"productSync.scheduleSaved": "Produkt-Sync-Zeitplan gespeichert.",
|
|||
|
|
"productSync.schedulePausedSaved": "Automatischer Produkt-Sync pausiert.",
|
|||
|
|
"productSync.scheduleSaveFailed": "Produkt-Sync-Zeitplan konnte nicht gespeichert werden",
|
|||
|
|
"productSync.schedulePausedBadge": "Zeitplan pausiert",
|
|||
|
|
"productSync.scheduleActiveBadge": "Zeitplan aktiv",
|
|||
|
|
"productSync.scheduleNeedsConfig": "Zuerst Shop-Verbindung speichern",
|
|||
|
|
"productSync.scheduleAdminOnly": "Firmen-Admin erforderlich",
|
|||
|
|
"productSync.delivery.title": "Aktualisierungen per Abruf, nicht per Store-Webhooks",
|
|||
|
|
"productSync.delivery.body": "Descrybe empfängt keine Shopify- oder WooCommerce-Webhooks. Produkt-Pushes laufen, wenn Sie sie in die Warteschlange stellen oder nach dem Automatik-Zeitplan. Diese Seite verfolgt den Fortschritt per Abfrage des Verbindungsstatus — nicht über Live-Push-Ereignisse aus dem Store.",
|
|||
|
|
"productSync.delivery.inboundNote": "Bestellungen und Bewertungen nutzen ebenfalls geplante oder manuelle Abrufe, keine Live-Webhooks.",
|
|||
|
|
"productSync.delivery.hubNote": "Store-Connectoren synchronisieren nach Zeitplan oder wenn Sie einen Job starten — nicht über Live-Store-Webhooks.",
|
|||
|
|
"productSync.delivery.badge.manual": "Manuelle Warteschlange",
|
|||
|
|
"productSync.delivery.badge.scheduled": "Geplant alle {hours} Std.",
|
|||
|
|
"productSync.delivery.badge.scheduledDefault": "Geplant (Server-Standard)",
|
|||
|
|
"productSync.delivery.badge.paused": "Zeitplan pausiert",
|
|||
|
|
"productSync.delivery.badge.webhooksOff": "Store-Webhooks: nicht verfügbar",
|
|||
|
|
"productSync.scope.title": "What to sync",
|
|||
|
|
"productSync.scope.hint": "Optional filters for this push only. Leave blank to sync the latest processed products up to the limit.",
|
|||
|
|
"productSync.scope.status": "Status",
|
|||
|
|
"productSync.scope.statusAll": "All statuses",
|
|||
|
|
"productSync.scope.statusCompleted": "Completed",
|
|||
|
|
"productSync.scope.statusNeedsReview": "Needs review",
|
|||
|
|
"productSync.scope.statusProcessing": "Processing",
|
|||
|
|
"productSync.scope.statusError": "Error",
|
|||
|
|
"productSync.scope.category": "Category",
|
|||
|
|
"productSync.scope.categoryPlaceholder": "Exact category name (optional)",
|
|||
|
|
"productSync.scope.limit": "Max products",
|
|||
|
|
"productSync.scope.products": "Specific products",
|
|||
|
|
"productSync.scope.productsHint": "Optional. Search and select processed products to push only those.",
|
|||
|
|
"productSync.scope.productsOverrideHint": "Selected products override status, category, and max-products filters for this sync.",
|
|||
|
|
"productSync.scope.productsSearch": "Search products…",
|
|||
|
|
"productSync.scope.productsLoading": "Loading products…",
|
|||
|
|
"productSync.scope.productsEmpty": "No processed products found.",
|
|||
|
|
"productSync.scope.productsSelected": "{count} selected",
|
|||
|
|
"productSync.scope.productsSelectedList": "Selected products",
|
|||
|
|
"productSync.scope.productsClear": "Clear selection",
|
|||
|
|
"productSync.scope.productsMax": "Maximum {max} products",
|
|||
|
|
"store.syncingLive": "Synchronisiere…",
|
|||
|
|
"files.recentUploads": "Aktuelle Uploads",
|
|||
|
|
"files.colFileName": "Dateiname",
|
|||
|
|
"files.colKind": "Art",
|
|||
|
|
"files.colUploaded": "Hochgeladen",
|
|||
|
|
"files.colRows": "Zeilen",
|
|||
|
|
"files.loading": "Uploads werden geladen…",
|
|||
|
|
"files.empty": "Noch keine Uploads.",
|
|||
|
|
"products.filters.sortProducts": "Produkte sortieren",
|
|||
|
|
"products.table.options": "Optionen",
|
|||
|
|
};
|