/** Dutch (nl) UI pack — keys must stay in sync with en.ts. */
exportconstnl: MessageDict={
"app.name":"Descrybe",
"app.home":"Descrybe-startpagina",
"common.cancel":"Annuleren",
"common.save":"Wijzigingen opslaan",
"common.saveShort":"Opslaan",
"common.continue":"Doorgaan",
"common.open":"Openen",
"common.markDone":"Markeren als gedaan",
"common.viewAll":"Alles bekijken",
"common.close":"Sluiten",
"common.askAdmin":"Vraag een bedrijfsbeheerder",
"common.you":"U",
"common.active":"Actief",
"common.pending":"In behandeling",
"common.email":"E-mail",
"common.password":"Wachtwoord",
"common.name":"Uw naam",
"common.viewPricing":"Prijzen bekijken",
"common.backToSignIn":"Terug naar inloggen",
"common.signingOut":"Bezig met uitloggen…",
"common.signOutAndContinue":"Uitloggen en doorgaan",
"common.staySignedIn":"Ingelogd blijven",
"a11y.skipToContent":"Ga naar inhoud",
"theme.switchToDark":"Overschakelen naar donker thema",
"theme.switchToLight":"Overschakelen naar licht thema",
"header.signOut":"Uitloggen",
"header.signingOut":"Bezig met uitloggen…",
"status.emDash":"—",
"status.pending":"In behandeling",
"status.processing":"Verwerken",
"status.completed":"Voltooid",
"status.failed":"Mislukt",
"status.cancelled":"Geannuleerd",
"nav.section.overview":"Overzicht",
"nav.section.catalog":"Catalogus",
"nav.section.feeds":"Feeds",
"nav.section.stores":"Winkels",
"nav.section.processing":"Verwerken",
"nav.section.marketing":"Marketing",
"nav.section.integrations":"Integraties",
"nav.section.account":"Account",
"nav.section.platform":"Platform",
"nav.dashboard":"Controlepaneel",
"nav.products":"Producten",
"nav.categories":"Categorieën",
"nav.attributes":"Attributen",
"nav.fields":"Velden",
"nav.feeds":"Feeds",
"nav.exports":"Exporten",
"nav.stores":"Winkels",
"nav.jobs":"Jobs",
"nav.campaigns":"Campagnes",
"nav.calendar":"Kalender",
"nav.seo":"SEO",
"nav.brand":"Merk",
"nav.reviews":"Beoordelingen",
"nav.ai":"AI",
"nav.email":"E-mail",
"nav.billing":"Facturering",
"nav.settings":"Instellingen",
"nav.support":"Ondersteuning",
"nav.admin":"Admin",
"nav.main":"Hoofdnavigatie",
"nav.sidebar":"App-zijbalk",
"nav.close":"Navigatie sluiten",
"nav.closeMenu":"Menu sluiten",
"nav.open":"Navigatie openen",
"nav.commandPalette":"Pagina's zoeken",
"nav.commandPaletteLabel":"Zoeken",
"auth.login.title":"Inloggen",
"auth.login.description":"Gebruik uw Descrybe e-mailadres en wachtwoord.",
"auth.login.submit":"Inloggen",
"auth.login.submitting":"Bezig met inloggen…",
"auth.login.failed":"Inloggen mislukt",
"auth.login.passwordNotSet":"Dit account heeft nog een wachtwoord nodig. Open uw uitnodigingslink of vraag een beheerder om een nieuwe.",
"auth.login.setPasswordFirstTitle":"Stel eerst een wachtwoord in:",
"auth.login.setPasswordFirstBody":"gebruik de uitnodigingslink uit uw e-mail. Als de link naar een oud adres ging (e-maildrift), vraag dan een bedrijfsbeheerder om een nieuwe set-wachtwoorduitnodiging naar {email} te sturen.",
"auth.login.yourEmail":"uw e-mail",
"auth.login.platformAdminsReissue":"Platformbeheerders kunnen opnieuw uitgeven via",
"auth.login.adminUsersLink":"Admin → Gebruikers",
"auth.login.haveToken":"Heeft u een token? Open uitnodiging accepteren",
"auth.login.noAccount":"Geen account?",
"auth.login.createCompany":"Bedrijf aanmaken",
"auth.login.haveInvite":"Heeft u een uitnodiging of set-wachtwoordlink?",
"auth.login.forgotPasswordHelp":"Voer je e-mail in op de resetpagina. Als je nog geen wachtwoord hebt ingesteld, gebruik dan je uitnodigings-/set-passwordlink.",
"auth.forgot.title":"Wachtwoord vergeten",
"auth.forgot.description":"Voer het e-mailadres van je account in. Als het bij een actief account hoort, sturen we een resetlink.",
"auth.forgot.submit":"Resetlink versturen",
"auth.forgot.submitting":"Versturen…",
"auth.forgot.failed":"Kon geen reset aanvragen",
"auth.forgot.sentTitle":"Controleer je e-mail",
"auth.forgot.sentBody":"Als er een account bestaat voor dat adres, is er een resetlink onderweg. De link verloopt over één uur.",
"auth.forgot.backToSignIn":"Terug naar inloggen",
"auth.reset.title":"Wachtwoord resetten",
"auth.reset.description":"Kies een nieuw wachtwoord voor je Descrybe-account (minstens 8 tekens).",
"auth.reset.submit":"Nieuw wachtwoord opslaan",
"auth.reset.submitting":"Opslaan…",
"auth.reset.failed":"Kon wachtwoord niet resetten",
"auth.reset.doneTitle":"Wachtwoord bijgewerkt",
"auth.reset.doneDescription":"Log in met je e-mail en nieuwe wachtwoord.",
"auth.invite.description":"Stel uw wachtwoord in om toe te treden tot het bedrijf. Uw beheerder heeft Lid (dagelijks werk) of Admin (team en facturering) toegewezen.",
"auth.invite.setPasswordDescription":"Kies een wachtwoord voor uw gemigreerde Descrybe-account (minimaal 8 tekens).",
"auth.invite.forEmail":"Uitnodiging voor {email}.",
"auth.invite.linkRecognized":"Uitnodigingslink herkend. Voer hieronder een wachtwoord in om door te gaan — het geheim wordt op deze pagina niet getoond.",
"auth.invite.resetLinkRecognized":"Resetlink herkend. Voer hieronder een wachtwoord in om door te gaan — het geheim wordt op deze pagina niet getoond.",
"auth.invite.tokenLabel":"Uitnodigingstoken",
"auth.invite.resetTokenLabel":"Resettoken",
"auth.invite.tokenHelp":"Plak het token uit uw uitnodigingsmail. Het wordt in dit veld gemaskeerd.",
"auth.invite.passwordHint":"Minimaal 8 tekens. Geen andere complexiteitsregels.",
"auth.invite.verifyFailed":"Uitnodiging kon niet worden geverifieerd",
"auth.invite.verifySetPasswordFailed":"Set-wachtwoordlink kon niet worden geverifieerd",
"auth.invite.acceptFailed":"Uitnodiging kon niet worden geaccepteerd",
"auth.invite.setPasswordFailed":"Wachtwoord kon niet worden ingesteld",
"auth.invite.expired":"Deze uitnodiging is ongeldig of verlopen. Vraag uw bedrijfsbeheerder om een nieuwe uitnodiging te sturen en open de nieuwe link (of plak het nieuwe token hieronder).",
"auth.invite.setPasswordExpired":"Deze set-wachtwoordlink is ongeldig of verlopen. Vraag een bedrijfs- of platformbeheerder om hem opnieuw uit te geven en open de nieuwe link (of plak het nieuwe token hieronder).",
"auth.invite.emailMismatchDefault":"U bent ingelogd met een ander e-mailadres dan deze uitnodiging.",
"auth.invite.expiredFooter":"Verlopen link? Vraag een beheerder om opnieuw uit te geven — er is geen self-service-API voor opnieuw verzenden. Platformbeheerders:",
"auth.invite.doneDescription":"Uw account is klaar. Open vervolgens het dashboard om met feeds en producten te werken, of bekijk de bedrijfsinstellingen.",
"auth.invite.doneSetPasswordDescription":"Log in met uw e-mailadres en nieuwe wachtwoord om uw werkruimte te openen.",
"auth.invite.afterSignInNote":"Na het inloggen komt u in uw werkruimte — de greenfield-instellingstour wordt overgeslagen.",
"auth.invite.mismatchTitle":"Verkeerd account voor deze uitnodiging",
"auth.invite.mismatchDescription":"Deze link is voor een ander e-mailadres dan waarmee u bent ingelogd. Log uit om door te gaan als de uitgenodigde gebruiker, of blijf ingelogd en vraag een beheerder om de uitnodiging opnieuw uit te geven.",
"auth.invite.mismatchDetail":"Ingelogd als {session}, maar deze uitnodiging is voor {invite}.",
"auth.invite.mismatchFallback":"Het ingelogde e-mailadres komt niet overeen met deze uitnodiging.",
"auth.invite.switchAccountBody":"log uit en voltooi dit formulier met het uitgenodigde e-mailadres{emailSuffix}.",
"auth.invite.reissueTitle":"Pad voor opnieuw uitgeven:",
"auth.invite.reissueBody":"als uw echte login-e-mail is gewijzigd (e-maildrift), vraag dan een bedrijfsbeheerder om deze uitnodiging in te trekken en een nieuwe te sturen naar het e-mailadres waarmee u inlogt. Platformbeheerders kunnen ook set-wachtwoordlinks opnieuw uitgeven via Admin → Gebruikers.",
"locale.switcher":"Interfacetaal",
"locale.menu":"Kies interfacetaal",
"locale.label":"Dashboardtaal",
"locale.help":"Wijzigt labels in navigatie en instellingen. De taal voor gegenereerde content stelt u apart in onder Bedrijf.",
"settings.contentLanguage":"Contenttaal",
"settings.contentLanguageHelp":"Taal voor producttitels, beschrijvingen en andere gegenereerde content",
"settings.tab.profile":"Profiel",
"settings.tab.company":"Bedrijf",
"settings.tab.alerts":"Meldingen",
"settings.tab.apiKeys":"API-sleutels",
"settings.tab.team":"Teamleden",
"settings.title":"Instellingen",
"settings.description":"Account, bedrijf, API-sleutels en team.",
"settings.accessDenied":"U hebt geen toestemming om bedrijfsinstellingen te openen. Vraag een bedrijfsbeheerder om hulp.",
"settings.shareAcceptLinkHelp":"Uitgaande e-mail is niet geconfigureerd. Kopieer deze eenmalige link en stuur hem naar de genodigde. Die stelt een wachtwoord in (minimaal 8 tekens) en treedt toe met de rol die u koos.",
"settings.teamForbidden":"U hebt geen toestemming om de teamlijst te bekijken. Vraag een bedrijfsbeheerder om hulp.",
"settings.noTeammates":"Nog geen teamleden",
"settings.noTeammatesHelp":"Nodig collega's uit als Lid (producten en feeds) of Admin (team en bedrijfsinstellingen). Openstaande uitnodigingen verschijnen hier tot ze zijn geaccepteerd.",
"settings.noTeammatesMemberHelp":"Nog geen teamleden weergegeven. Vraag een bedrijfsbeheerder om uitnodigingen te sturen.",
"settings.memberActions":"Acties voor lid",
"settings.makeAdmin":"Admin maken",
"settings.makeMember":"Lid maken",
"settings.removeMember":"Verwijderen",
"settings.revokeInvite":"Uitnodiging intrekken",
"settings.needOneAdmin":"Bedrijven hebben minstens één beheerder nodig",
"settings.expires":"Verloopt op {date}",
"settings.invalidEmail":"Voer een geldig e-mailadres in.",
"settings.inviteCreatedNoMail":"Uitnodiging aangemaakt voor {email} als {role}. Kopieer de acceptatielink hieronder en deel hem — uitgaande e-mail is niet geconfigureerd.",
"settings.inviteSent":"Uitnodiging verzonden naar {email} als {role}. Die moet de e-mail openen en accepteren vóór de vervaldatum.",
"settings.inviteFailed":"Uitnodiging kon niet worden verzonden",
"settings.mergeProducts":"Producten met dezelfde GTIN samenvoegen",
"settings.emailIntegration":"E-mailintegratie",
"settings.aiIntegrations":"AI-integraties",
"settings.alertsHeading":"Operator-meldingen",
"settings.inAppToasts":"Meldingen in de app",
"settings.emailAlerts":"E-mailmeldingen",
"settings.apiKeysHeading":"API-sleutels",
"settings.createApiKey":"API-sleutel maken",
"settings.createApiKeyShort":"API-sleutel maken",
"settings.createApiKeyTitle":"API-sleutel maken",
"settings.apiKeyLabel":"API-sleutel",
"settings.keyName":"Sleutelnaam",
"settings.storeKeySafe":"Bewaar hem op een veilige plek — u kunt het volledige geheim daarna niet meer bekijken.",
"settings.apiKeysIntro":"Maak een bedrijfs-API-sleutel om de openbare /api/v1-endpoints aan te roepen. Het volledige geheim wordt slechts één keer bij aanmaken getoond — kopieer het meteen.",
"settings.apiKeysUseWhere":"Stuur hem als Authorization: Bearer <key> (voorkeur) of X-API-Key.",
"dashboard.emptyPaygHint":"Descrybe haalt een catalogus binnen, verrijkt en verwerkt hem, en exporteert of pusht daarna naar winkels. Gebruik Aan de slag hieronder.",
"dashboard.emptyCreditsHint":"Descrybe haalt een catalogus binnen, verrijkt en verwerkt hem, en exporteert of pusht daarna naar winkels. U heeft {credits} — begin met Aan de slag hieronder.",
"dashboard.workflow.exportMap":"Mappen en exporteren",
"dashboard.workflowHint":"Catalogus in → verrijken / verwerken → exporteren of pushen naar winkels. Ga naar de volgende stap voor {name}.",
"dashboard.overviewHint":"Live totalen voor {name}",
"dashboard.demoEmptyMessage":"Schakel in de header over naar A1 (of een ander geseeded bedrijf), of koppel hier een feed om deze sandbox te vullen.",
"dashboard.emptyTitle":"Haal een catalogus binnen",
"dashboard.emptyMessage":"Catalogus in → verrijken / verwerken → exporteren of pushen naar winkels. Begin met Aan de slag hieronder (of koppel een feed / upload een CSV).",
"dashboard.freePlanTitle":"U zit op het Free-plan",
"dashboard.freePlanMessageWithLimit":"{used} van {max} producten gebruikt. Feed-mapping, basisopschoning en EU-energielabels (EPREL) zijn inbegrepen; upgrade voor AI-titels en -beschrijvingen en meer capaciteit.",
"dashboard.freePlanMessage":"Feed-mapping, basisopschoning en EU-energielabels (EPREL) zijn inbegrepen; upgrade voor AI-titels en -beschrijvingen en meer capaciteit.",
"dashboard.outOfCreditsTitle":"Uw AI-credits zijn op",
"dashboard.outOfCreditsMessage":"Koop meer credits of upgrade uw plan om te blijven verwerken.",
"activation.description":"Descrybe haalt een catalogus binnen, verrijkt en verwerkt hem, en exporteert of pusht daarna naar winkels. Rond de huidige stap af en ga verder — de demotour legt schermen uit zonder de checklistvoortgang te wijzigen.",
"activation.descriptionShort":"Begin met de gemarkeerde stap hieronder — één actie tegelijk. Winkel koppelen is optioneel.",
"activation.nextCta":"Deze stap doen",
"activation.valueProp":"Descrybe haalt een catalogus binnen, verrijkt en verwerkt hem, en exporteert of pusht daarna naar uw winkels.",
"activation.focus.map":"Volgende: open Map op een feed, koppel kolommen en sla op. Voeg eerst een feed toe als de lijst leeg is.",
"activation.focus.sync":"Volgende: synchroniseer een steekproef na het opslaan van de mapping. Gebruik Sync op een gemapte feed — vermijd ongemapte bronnen.",
"activation.focus.dismiss":"Hint sluiten",
"activation.dismiss":"Checklist verbergen",
"hypercare.report.title":"Cutover-hypercare",
"hypercare.report.message":"Ontbrekende of verkeerde data na migratie? Meld het zodat we je workspace kunnen herstellen.",
"hypercare.report.cta":"Ontbrekende of verkeerde data melden",
"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} van {total} voltooid",
"activation.stepsLabel":"Activeringsstappen",
"activation.pausedTitle":"Aan de slag is gepauzeerd",
"activation.pausedBody":"Hervat wanneer u wilt — van productvelden tot export. Winkel koppelen blijft optioneel.",
"activation.step.connect-source.body":"Voeg een CSV- of XML-catalogusfeed toe zodat producten Descrybe binnenkomen. Een live winkel koppelen is een latere optionele stap.",
"activation.step.sync-sample.body":"Synchroniseer op Feeds een kleine steekproef van een gemapte feed om de mapping vóór de volledige run te controleren.",
"activation.step.process.body":"Open onverwerkte producten en start verwerking om schone catalogusinhoud te genereren.",
"activation.step.store-connect.title":"Koppel een winkel",
"activation.step.store-connect.body":"Optioneel. Koppel WooCommerce of Shopify om producten naar je winkel te pushen. Sla over als je alleen feeds en exports gebruikt.",
"activation.step.export.title":"Export maken",
"activation.step.export.body":"Maak een exportfeed om schone producten als XML of CSV te downloaden of te publiceren.",
"docs.tryIt.memberCannotCreate":"Alleen bedrijfsadmins kunnen API-sleutels maken. Legacy-sleutels zijn niet gemigreerd — plak hieronder een sleutel of vraag een admin om een nieuwe.",
"docs.tryIt.noKeysLegacyAdmin":"Legacy API-sleutels zijn niet gemigreerd. Maak een nieuwe via Use my API key of Instellingen → API-sleutels — het geheim wordt slechts één keer getoond.",
"docs.tryIt.noKeysLegacyMember":"Geen API-sleutels vermeld. Legacy-sleutels niet gemigreerd — vraag een admin er een aan te maken, of plak een dk_-sleutel.",
"errors.couldNotUpdateLanguage":"Taal kon niet worden bijgewerkt",
"toast.support.replyTitle":"Supportantwoord",
"toast.support.replyBody":"Medewerkers hebben gereageerd op uw supportticket.",
"tutorial.startFromBeginning":"Vanaf het begin starten",
"tutorial.stepOf":"Stap {current} van {total}",
"tutorial.jumpTo":"Ga naar…",
"tutorial.jumpToSectionAria":"Ga naar sectie",
"tutorial.back":"Terug",
"tutorial.pause":"Pauzeren",
"tutorial.continue":"Doorgaan",
"tutorial.finishTour":"Tour afronden",
"tutorial.missingTargetHint":"Die bediening staat nog niet op dit scherm. U kunt toch Doorgaan — de tour vereist nooit opslaan of synchroniseren.",
"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":"Welkom bij Descrybe",
"tutorial.step.welcome.body":"Descrybes kernlus is Feeds → Process → Export / Stores. Deze begeleide demo markeert die schermen op uw echte dashboard — zonder opslaan, synchroniseren, velden inschakelen of feeds maken. Pauzeer wanneer u wilt; hervat via de header. Spring naar een sectie als u alleen bij één onderwerp hulp nodig hebt.",
"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.body":"De catalogus-workflowstrook toont het dagelijkse pad: Feeds → Map → Sync → Process. Getting started volgt echte workspace-voortgang (los van deze demo). Wanneer u klaar bent, gebruikt u Manage feeds of Start processing — daarna exporteren of een winkel koppelen.",
"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.body":"Standard Fields zijn de productkolommen die Descrybe mapt, verwerkt en exporteert — titel, beschrijving, GTIN, afbeeldingen en meer. Enable recommended zet een verstandige standaardset aan voor de meeste catalogi. U kunt de lijst later verfijnen zonder bestaande mappings te breken.",
"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.body":"In de Catalog-sectie van de zijbalk vindt u ook Categories en Attributes. Categories organiseren de catalogus; attributen voeden filters en gestructureerde beschrijvingen. U hoeft ze niet te configureren om deze tour af te ronden.",
"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.body":"Feeds brengen leverancierscatalogi in Descrybe — CSV-, XML- of URL-bestanden. Add Feed maakt een nieuwe bron; elke rij toont de status (klaar voor mapping, gemapt, actief). Map opent het veldkoppelingsscherm voor die 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":"Bronvelden mappen",
"tutorial.step.map.body":"Op het Map-scherm van een feed koppelt u leverancierskolommen aan Descrybe-standard fields. Auto-map stelt matches voor op basis van kolomnamen; bevestig vage matches en corrigeer wat fout is. Save Mappings slaat de map op zodat sync en verwerking elke rij kunnen lezen.",
"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.body":"Na opgeslagen mappings haalt Sync + Process sample een kleine batch op en start verwerking zodat u titels, afbeeldingen en attributen kunt controleren vóór een volledige run. Full Sync now op de feedlijst is voor grotere imports zodra de steekproef goed lijkt.",
"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.body":"Products toont gesynchroniseerde en verwerkte catalogusitems. Filter op status, open een rij voor details en gebruik EPREL-badges wanneer energielabelgegevens bestaan. Hier spot u mappingfouten vóór export of winkelsync.",
"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.body":"Jobs onder Processing tonen AI- en pipelinevoortgang: voltooide runs en fouten. Start jobs vanaf dashboard of producten wanneer u bewust credits aan een batch wilt besteden.",
"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.body":"Na verwerking verbindt Stores WooCommerce of Shopify om schone catalogusdata naar uw winkel te pushen. Gebruik dit wanneer marketplace/CMS de bestemming is — of ga naar Export feeds als partners alleen bestand/URL nodig hebben.",
"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.body":"Export feeds publiceren schone producten als XML of CSV voor kanalen, partners of uw winkel. Maak een export, kies formaat en filters, deel daarna de feed-URL of download. Exports lezen verwerkte catalogusgegevens — map en verwerk eerst voor de beste resultaten.",
"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.body":"Billing toont uw plan, wallet en resterende credits. Verwerking en sommige AI-functies putten uit dit saldo. Houd het gebruik in de gaten vóór grote catalogusruns.",
"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":"Campagnes, SEO & reviews",
"tutorial.step.grow-hub.body":"Onder Marketing: Campaigns genereert content, Content calendar plant posts, SEO controleert listings en Reviews koppelt aan WooCommerce. Ze bouwen op een gezond gemapte catalogus — rond Feeds → Process → Export / Stores af voordat u erop leunt.",
"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":"Klaar om te verkennen",
"tutorial.step.tour-done.body":"Dat is de productkaart: Feeds → Map → Sync → Process → Export / Stores. Gebruik Getting started op het dashboard voor echte setup. Hervat of herstart deze tour via de header, of Jump to… een sectie. Skip tour beëindigt de demo zonder checklistwijziging.",
"tutorial.step.tour-done.tip":"Demo complete — no cleanup needed. Your account was not modified by Continue alone.",
"admin.users.description":"Platformgebruikersdirectory, medewerkerrollen en bedrijfsplantoewijzingen.",
"admin.users.staffRoleUnavailable":"Updates van medewerkerrollen zijn op deze deployment nog niet beschikbaar. Neem contact op met uw platformbeheerder indien nodig.",
"admin.users.cloneCatalogWarning":"Vervangt categorieën, feeds, producten, attributen, mappings en merk op de bestemming. Plan, facturatie, leden, API-sleutels en store-connectors worden niet gekopieerd.",
"admin.users.fixA1Desc":"Past gecorrigeerde AI-prompts opnieuw toe, wist zwakke enhance-hashes en vult categorieën bij vanuit mapped_data.",
"admin.users.fixA1Company":"Bedrijf: {name}",
"admin.users.fixA1Warning":"Geef voorkeur aan Platform Demo of een expliciet bedrijf. Verwijdert geen feeds, mappings of ruwe producten. Beschermt A1-cohort-overschrijfregels.",
"admin.users.assignRoleDesc":"Platformrollen beheren het adminpaneel (Admin & Developer) en de support-desk (supportmedewerkers).",
"admin.users.staffRole":"Personeelsrol",
"admin.users.saveRole":"Rol opslaan",
"admin.users.assignPlanTitle":"Plan toewijzen",
"admin.users.assignPlanDesc":"Koppel een openbaar, legacy- of aangepast plan aan dit bedrijf.",
"admin.users.selectPlan":"Plan selecteren",
"admin.users.assign":"Toewijzen",
"admin.settings.title":"Platforminstellingen",
"admin.settings.description":"Platformreferenties, AI-rollen, mail en integraties voor deze deployment",
"admin.settings.intro":"Configureer hier platform-AI-rollen, SMTP, OAuth, EPREL, Pinecone en Stripe. Laat geheime velden leeg om de opgeslagen waarde te behouden. Bedrijfssleutels blijven onder tenant-Integraties.",
"admin.settings.aiRolesUnavailable":"Volledige AI-rollen zijn op deze deployment nog niet beschikbaar. Verwerking blijft opslaan via platform-OpenAI-instellingen; andere rollen worden bewaard zodra ondersteund.",
"admin.settings.tab.integrations":"Overzicht",
"admin.settings.tab.ai":"AI-rollen",
"admin.settings.tab.mail":"Mail",
"admin.settings.tab.other":"Overig",
"admin.settings.tab.admins":"Admin-gebruikers",
"admin.settings.mailCardDesc":"Uitnodigingen voor wachtwoord instellen en uitgaande platformmail",
"admin.settings.creditPackPricesHint":"Create one-time Prices in Stripe (mode=payment products). Paste Price IDs here — same sync path as plan subscriptions.",
"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.diagnostics.description":"Ops-console voor appgezondheid, wachtrijdiepte, recente taken en configflags. Secrets en DSN's worden nooit getoond; taakfouten zijn geschoond.",
"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":"Beheer plannen, credits, functiepermissies per pakket en platformbrede functieschakelaars.",
"admin.billing.noCompaniesFilter":"Geen bedrijven komen overeen met dit filter.",
"admin.billing.assignPlanTitle":"Plan toewijzen",
"admin.billing.assignPlanDesc":"Koppel een factureringsplan aan een bedrijf. Optionele proefcredits zetten het bedrijfssaldo voor de proefperiode terug.",
"admin.plans.description":"Openenbaar ladder, A1 / Legacy, Platform Demo, and custom deals. Ephemeral test and obsolete ladder rows stay under Verborgen.",
"admin.plans.searchPlaceholder":"Zoek naam of beschrijving…",
"admin.plans.searchAria":"Plannen zoeken",
"admin.plans.filterAria":"Filter plannen op zichtbaarheid",
"admin.permissions.noteBody":"These toggles set what this package may include. Platform-wide on/uit masters are on the {global} tab — a plan can enable a feature that still stays uit when the platform switch is uitgeschakeld.",
"admin.permissions.profilesHint":"One-click matrices for public ladder packages and migrated legacy navigation. Opslaans overrides for the geselecteerd package only.",
"admin.profile.legacy.description":"Migrated legacy navigation: catalog, feeds, facturering, and instellingen; no Terugground Tasks, winkels, or marketing.",
"admin.profile.free.label":"Gratis",
"admin.profile.free.description":"Openenbaar Free ladder — AI, API-sleutels, live email, and own-key AI uit.",
"admin.profile.starter.label":"Starter",
"admin.profile.starter.description":"Openenbaar Starter — AI on; own-key AI uit.",
"admin.gates.noteBody":"Deze schakelaars gelden voor elk pakket. Effectieve toegang is {combo}. Rechten per pakket blijven op het tabblad {permissions}.",
"admin.gates.combo":"planmachtiging EN globale sectie EN globale functie",
"admin.gates.sectionsDesc":"Turn an entire product area on or uit for all packages. “Sectie + features” also updates every feature master in that section.",
"admin.settings.card.aiRolesDesc":"Verwerking, vectorization, docs/API, and ondersteuning — separate keys/models",
"admin.settings.roleOff":" (uit)",
"admin.settings.roleNotSet":"· not set",
"admin.settings.someRolesUnavailable":"Some AI roles are not beschikbaar on this deployment yet. Verwerking still uses the platform OpenenAI instellingen until all roles are ondersteuninged.",
"admin.support.reenableAuto":"Auto opnieuw inschakelen",
"admin.support.disableAuto":"Auto uitschakelen voor dit ticket",
"admin.support.aiDraftTitle":"AI-concept (goedkeuren of bewerken)",
"admin.support.aiDraftDesc":"Alleen-conceptmodus heeft een interne notitie achtergelaten. Bewerk indien nodig en stuur naar de klant — of verwerp en neem handmatig over.",
"admin.support.confidence":"Vertrouwen {value}",
"admin.support.statusAfterSend":"Status na verzenden",
"admin.support.replyDesc":"Openbare antwoorden informeren de klant. Interne notities blijven staff-only. Standaardstatus na een openbaar antwoord is in afwachting.",
"admin.support.internalNote":"Interne notitie (niet zichtbaar voor klant)",
"admin.settings.tenantDesc":"Bedrijfs-AI-sleutels en marketing-e-mail blijven onder Integraties. Sessie- en versleutelingsgeheimen blijven in de serveromgeving en worden hier niet bewerkt.",
"admin.settings.perCompanyAiEmail":"AI/e-mail per bedrijf —",
"admin.settings.plansCredits":"Plannen en credits —",
"admin.settings.fromDatabase":"Uit de database",
"admin.settings.fromEnvironment":"Uit de omgeving",
"admin.settings.apiKeyKeepPlaceholder":"•••• leeg laten om te behouden",
"admin.settings.apiKeyNewPlaceholder":"sk-… of lokaal",
"admin.settings.smtpCardTitle":"Platform-SMTP",
"admin.settings.smtpCardDesc":"Gebruikt voor set-password-uitnodigingen en uitgaande platform-e-mail. Marketing Resend/SMTP blijft per bedrijf onder Integraties → E-mail.",
"admin.settings.eprelDesc":"Gratis openbare EU-energieetiketgegevens tijdens verwerking. Standaard aan voor alle plannen — geen activatie of betaalde upgrade. Gebruik de bediening alleen om uit te schakelen of af te stemmen.",
"admin.settings.pineconeDesc":"Optionele vectorcategorie-suggesties tijdens verwerking. Hostomgevingswaarden worden gebruikt als deze velden leeg blijven.",
"admin.settings.stripeDesc":"Optionele overrides van de server-Stripe-configuratie. Gebruik bij voorkeur wachtwoordvelden; waarden worden na opslaan niet opnieuw getoond.",
"admin.settings.aiRole.support.desc":"AI-fallback voor ticket-auto-antwoord — configureer provider/sleutel/model hier; schakel verzenden in onder Supportkennis → Auto-antwoord.",
"admin.knowledge.articleDesc":"Markdown-tekst ondersteunt afbeeldingen via veilige upload. Verzin geen productfeiten — laat plaatsaanduidingen voor contentagents.",
"admin.bootstrap.description":"Bevestig of uw account al platform-admintoegang heeft. Nieuwe admins moeten door een bestaande beheerder worden verleend.",
"admin.bootstrap.notAdminMsg":"Uw account is aangemeld maar niet gemarkeerd als platform-admin. Vraag een bestaande admin om toegang, log uit en weer in.",
"admin.migrate.description":"Deze migratietool is buiten gebruik en wijzigt geen gegevens.",
"admin.migrate.notAvailable":"Niet beschikbaar",
"admin.migrate.body":"Organisatiemigratie vanaf de vorige identity provider is niet meer nodig. Bedrijven en lokale auth worden beheerd in Gebruikers & organisaties.",
"admin.migrate.hint":"Als u dit via een oude bladwijzer opende, ga verder met Gebruikers & organisaties, Platformfacturering of Vastgelopen producten.",
"admin.migrate.adminHome":"Admin-start",
"admin.migrate.users":"Gebruikers",
"admin.redirect.diagnostics":"Doorverwijzen naar Diagnostiek…",
"admin.redirect.stuck":"Doorverwijzen naar Vastgelopen producten…",
"feeds.field.intervalHint":"Hoe vaak Descrybe deze feed automatisch moet ophalen zolang die actief is. Sync in de feedlijst doet een eenmalige pull — dat wijzigt dit schema niet.",
"feeds.createFeed":"Feed maken",
"feeds.editTitle":"Feed bewerken",
"feeds.editDesc":"Werk naam, type, auto-sync-schema of bron-URL bij. Sync in de feedlijst voert een eenmalige pull uit.",
"feeds.csvSource":"CSV-bron",
"feeds.uploadedCsv":"Geüploade CSV",
"feeds.replaceFileHint":"Om het bestand te vervangen, maak een nieuwe feed. Sync leest de opgeslagen upload opnieuw.",
"feeds.csvTypeLocked":"Geüploade CSV-feeds blijven type CSV.",
"feeds.saveChanges":"Wijzigingen opslaan",
"feeds.historyTitle":"Syncgeschiedenis",
"feeds.historyDesc":"Recente sync-taken voor “{name}”.",
"feeds.ftpUnsupported":"FTP/FTPS-sync wordt niet ondersteund. Vraag je leverancier om een openbare HTTPS-feed-URL, upload hier een CSV-feed of importeer een bestand via Uploads.",
"feeds.ftpUnsupportedShort":"FTP-sync niet ondersteund",
"feeds.ftpBadge":"FTP",
"feeds.ftpMigrateBanner":"Sommige feeds gebruiken nog FTP/FTPS. Descrybe kan die links niet ophalen. Schakel over naar een openbare HTTPS-URL, voeg een CSV-feed toe of upload via Uploads.",
"feeds.preflight.unknownSource":"Sommige gemapte bronnen ontbreken in het geëxtraheerde schema: {fields}{more}. Extraheer opnieuw of herstel paden voordat u steekproefwaarden vertrouwt.",
"feeds.preflight.emptySample":"Verplichte velden hebben lege steekproefwaarden: {fields}. Controleer bronkolommen vóór een volledige sync.",
"mapping.description":"Selecteer het herhalende productelement, extraheer bronvelden en map ze vervolgens naar Descrybe-productvelden.",
"mapping.autoMap":"Automatisch mappen",
"mapping.fuzzy":"{count} vaag",
"mapping.extractSchema":"Schema extraheren",
"mapping.backToFeeds":"Terug naar Feeds",
"mapping.ftpStillEdit":"{message} U kunt hier nog steeds mappings bewerken. Om producten te vernieuwen, schakel over naar HTTPS of upload een bestand.",
"mapping.unmappedRequired":"{count} verplicht niet gemapt",
"mapping.sourceFieldsBadge":"{count} bronvelden",
"mapping.suggestedBadge":"{count} voorgesteld",
"mapping.step2Help":"Map bronkolommen of XPath-knooppunten naar uw productvelden. Verplichte velden zijn gemarkeerd met *. Beweeg over het hulpicoon voor een korte woordenlijsttip.",
"mapping.formatHelp.also":"Ook ondersteund: prijzen, voorraad, afbeeldingen, categorie, garantie, EPREL-ID, HTML-beschrijvingen, extra afbeeldingen, video-URL en meer — download de volledige steekproef.",
"mapping.sourcePreview.errorHint":"U kunt het pad van het productelement nog steeds handmatig invoeren. Extraheer het schema wanneer de feed-URL bereikbaar is.",
"mapping.sourcePreview.retry":"Opnieuw",
"mapping.sourcePreview.empty":"Nog geen voorbeeld",
"mapping.sourcePreview.emptyHintXml":"Klik op “Schema extraheren” om een steekproef te downloaden en velden te ontdekken, of voer handmatig een itempad in.",
"mapping.sourcePreview.emptyHintCsv":"Klik op “Schema extraheren” om een steekproef te downloaden en velden te ontdekken.",
"imports.description":"CSV-imports opgeslagen voor deze workspace — producten, categorieën en attributen.",
"imports.importProducts":"Producten importeren",
"imports.emptyTitle":"Nog geen uploads",
"imports.emptyMessage":"CSV-imports van producten, categorieën en attributen verschijnen hier na upload.",
"imports.goProducts":"Naar producten",
"imports.categories":"Categorieën",
"imports.recent":"Recente uploads",
"imports.fileCount":"{count} bestand",
"imports.fileCountPlural":"{count} bestanden",
"imports.col.fileName":"Bestandsnaam",
"imports.col.kind":"Soort",
"imports.col.uploaded":"Geüpload",
"imports.col.size":"Grootte",
"imports.actions":"Uploadacties",
"imports.loadFailed":"Uploads laden mislukt",
"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}” verwijderen? Dit verwijdert het uploadrecord (en de lokale blob indien aanwezig).",
"reviews.syncDesc":"Inkomende import — haal WooCommerce-productreviews naar Descrybe voor campagnes en reputatie",
"reviews.syncQueued":"Reviews-sync in wachtrij",
"reviews.statusBadge":"Reviews: {status}",
"reviews.syncedCount":"{count} gesynchroniseerd",
"reviews.lastSync":"Laatste sync: {date}",
"reviews.noSyncYet":"Er is nog geen reviews-sync voltooid.",
"reviews.needsReconnect":"Reviews-import kan pas draaien als referenties na migratie opnieuw zijn verbonden. Op het tabblad Verbinding: Opslaan, daarna Verbinding testen.",
"reviews.queueImport":"Reviewimport in wachtrij (winkel → Descrybe)",
"reviews.queueing":"In de wachtrij...",
"reviews.saveTestFirst":"Sla referenties op en test de verbinding vóór sync",
"reviews.refreshList":"Lijst vernieuwen",
"reviews.loading":"Reviews laden…",
"reviews.emptyTitle":"Nog geen reviews",
"reviews.emptyMessage":"Zet een reviewsync in de wachtrij na het koppelen van uw winkel. Dit tabblad blijft bruikbaar met een lege lijst.",
"reviews.col.product":"Product",
"reviews.col.reviewer":"Reviewer",
"reviews.col.rating":"Beoordeling",
"reviews.col.review":"Controleren",
"reviews.queuedSuccess":"Reviewsync in de wachtrij. Sync start zo.",
"reviews.queueFailed":"Reviewsync in de wachtrij zetten mislukt",
"campaigns.title":"Campagnes",
"campaigns.description":"Maak seizoensgebonden e-mailcampagnes vanuit je catalogus — kies een seizoen, selecteer producten, stel het publiek in en genereer.",
"campaigns.new":"Nieuwe campagne",
"campaigns.loading":"Laden campagnes…",
"campaigns.loadFailed":"Laden mislukt campagnes",
"campaigns.deleteConfirm":"Campagne “{name}” verwijderen? Dit kan niet ongedaan worden gemaakt.",
"campaigns.unavailableTitle":"Campagnes niet beschikbaar",
"campaigns.unavailableMessage":"De campagnedienst is niet bereikbaar. U kunt de wizard openen, maar genereren en verzenden wachten tot de dienst terug is.",
"campaigns.openWizard":"Aanmaakwizard openen",
"campaigns.backDashboard":"Terug naar dashboard",
"campaigns.browseProducts":"Producten bekijken",
"campaigns.emptyTitle":"Nog geen campagnes",
"campaigns.noMatches":"Geen overeenkomsten",
"campaigns.emptyMessage":"Maak in een paar stappen een Black Friday-, kerst- of aangepaste campagne — seizoenspresets staan klaar om mee te starten.",
"campaigns.noMatchesMessage":"Probeer een andere naam, seizoen of status.",
"campaigns.create":"Aanmaken campagne",
"campaigns.col.season":"Seizoen",
"campaigns.col.updated":"Bijgewerkt",
"campaigns.scheduled":"Gepland {date}",
"campaigns.newTitle":"Nieuwe campagne",
"campaigns.newDesc":"Kies een seizoen, selecteer producten en publiek, schrijf de prompt, en genereer, test en plan daarna.",
"campaigns.editTitle":"Bewerken campagne",
"campaigns.editDesc":"Werk seizoen, producten en publiek bij — genereer opnieuw, stuur een test of plan in.",
"campaignWizard.loading":"Campagnewizard laden…",
"campaignWizard.apiMissing":"Campagnes-API tijdelijk niet beschikbaar. U kunt de wizard verkennen; opslaan / genereren / verzenden vereisen bereikbare /api/campaigns.",
"campaignWizard.upgradeTitle":"AI-campagnes zijn een betaalde functie",
"campaignWizard.upgradeMessage":"Free-plannen kunnen seizoenen en doelgroepen voorbereiden, maar AI genereren vereist Starter of hoger. Upgrade om AI-e-mailconcepten te ontgrendelen.",
"campaignWizard.advancedHelp":"AI-generatie gebruikt uw brandkit (indien ingesteld) en geselecteerde producten. Alleen-sjabloonvoorbeeld slaat AI over en is een layoutstub.",
"campaignWizard.planFree":"Gratis",
"campaignWizard.planPaid":"Betaald",
"campaignWizard.planLine":"Abonnement:",
"campaignWizard.aiLocked":"— AI genereren is vergrendeld.",
"settings.creditsOverviewHelp":"AI-creditsaldo van het actieve bedrijf. Gedetailleerd gebruik staat onder Facturering.",
"settings.billingLabel":"Facturering",
"settings.remainingLabel":"Resterend",
"settings.creditsUnavailable":"Creditsaldo is voor deze workspace nog niet beschikbaar.",
"settings.openBilling":"Gebruik en facturering openen",
"settings.companyNameHelp":"Deze naam verschijnt in uitnodigingen en organisatie-instellingen",
"settings.contentSettingsHelp":"Configureer taal en productmatching voor gegenereerde content",
"settings.mergeProductsHelp":"Indien ingeschakeld combineren CSV-imports rijen met hetzelfde GTIN tot één product. Schakel uit om elke rij apart te houden.",
"settings.emailIntegrationHelp":"Stel Resend of SMTP in voor uitnodigingen, campagnes en transactionele mail.",
"settings.configureEmail":"E-mail configureren",
"settings.aiIntegrationsHelp":"Platformcredits of uw eigen sleutel, plus bewerkbare prompts voor titels, beschrijvingen, SEO en campagnes. Sleutels versleuteld in rust.",
"settings.inAppToastsHelp":"Alleen in deze browser. Mislukkingen staan standaard aan; voltooiingen zijn gedempt om ruis te verminderen. Formfeedback en Ongedaan maken worden nooit gedempt.",
"settings.emailAlertsHelp":"E-mailwaarschuwingsvoorkeuren komen binnenkort. Foutmeldingen standaard aan (zoals in-app); voltooiingsmails blijven uit tenzij u zich aanmeldt.",
"settings.emailAlertsBody":"Configureer voorlopig transactionele mail onder Bedrijf → E-mailintegratie. In-app-alerts hierboven blijven gelden.",
"settings.apiKeysLegacyNotice":"Legacy API-sleutels zijn niet gemigreerd. Maak een nieuwe aan — het geheim wordt slechts één keer getoond.",
"settings.apiKeysAdminOnly":"Alleen bedrijfsbeheerders kunnen API-sleutels aanmaken of intrekken. U kunt bestaande voorvoegsels bekijken.",
"settings.apiKeysCopyUnavailableNotice":"Kopiëren niet beschikbaar voor bestaande sleutels — alleen voorvoegsel opgeslagen. Maak een nieuwe aan om het geheim één keer te kopiëren en trek de oude in indien nodig.",
"settings.apiKeysForbidden":"U mag geen API-sleutels bekijken. Vraag een bedrijfsbeheerder om hulp.",
"settings.noApiKeys":"Nog geen API-sleutels",
"settings.noApiKeysHelpAdmin":"Legacy API-sleutels zijn niet gemigreerd. Maak een nieuwe voor Descrybe API-verzoeken (X-API-Key). Het volledige geheim wordt slechts één keer getoond.",
"settings.noApiKeysHelpMember":"Nog geen API-sleutels voor dit bedrijf. Legacy-sleutels niet gemigreerd — vraag een beheerder er een aan te maken.",
"settings.unnamedKey":"Naamloze sleutel",
"settings.neverUsed":"Nooit gebruikt",
"settings.apiKeyActions":"API-sleutelacties",
"settings.copyUnavailable":"Kopiëren niet beschikbaar",
"settings.copyUnavailableTitle":"Volledig geheim wordt slechts één keer getoond bij aanmaken",
"settings.revoke":"Intrekken",
"settings.apiKeyNameRequired":"Voer een naam in voor deze API-sleutel.",
"settings.apiKeyCreatedOnce":"API-sleutel aangemaakt. Kopieer nu — wordt niet opnieuw getoond.",
"settings.createApiKeyOnceHelp":"Kopieer deze sleutel nu — hij wordt niet opnieuw getoond. Gebruik als Authorization: Bearer of X-API-Key op /api/v1.",
"settings.createApiKeyNameHelp":"Geef de sleutel een naam om hem later te herkennen. Na aanmaken versturen als Authorization: Bearer (voorkeur) of X-API-Key.",
"settings.keyNamePlaceholder":"bijv. Production",
"settings.newApiKeyAria":"Nieuwe API-sleutel één keer getoond",
"settings.copyApiKeyAria":"API-sleutel kopiëren",
"settings.alert.sync_fail.title":"Syncfouten",
"settings.alert.sync_fail.description":"Wanneer een feedsync een time-out heeft of de API een fout teruggeeft.",
"settings.alert.sync_done.title":"Sync voltooid",
"settings.alert.sync_done.description":"Wanneer een feedsync succesvol eindigt.",
"settings.alert.ai_done.description":"Wanneer een achtergrondtaak succesvol eindigt. Starttoasts blijven altijd aan zodat Ongedaan maken beschikbaar blijft.",
"flash.admin.featuresAllOn":"Alle functies ingeschakeld voor dit plan.",
"flash.admin.featuresAllOff":"Alle functies uitgeschakeld voor dit plan.",
"flash.admin.profileApplied":"Profiel {label} toegepast op {name}.",
"flash.admin.overridesCleared":"Overrides gewist — standaardwaarden van plannaam worden gebruikt.",
"empty.plans.none":"Geen plannen gevonden.",
"empty.plans.noMatch":"Geen plannen komen overeen met dit filter.",
"empty.plans.selectPackage":"Selecteer een pakket om functies te bewerken.",
"empty.products.processingTitle":"Geen producten in verwerking",
"empty.products.processingMessageCan":"Live voortgang staat op Verwerking. Open daar een lopende taak voor stapstatus; dit tabblad toont producten in uitvoering zodra job-itemfiltering beschikbaar is.",
"empty.products.processingMessageCannot":"Producten in een taak verschijnen hier zodra verwerking vanuit de catalogus is gestart.",
"empty.products.reviewTitle":"Geen producten die beoordeling nodig hebben",
"empty.products.reviewMessage":"Na een taak landen verrijkte producten hier. Open een rij om te vergelijken, daarna Accepteren, bewerken of Afwijzen.",
"empty.products.errorTitle":"Geen producten met fouten",
"empty.products.errorMessage":"Als een taak voor een product mislukt, verschijnt het hier zodat u opnieuw kunt proberen.",
"empty.export.loadFailedMessage":"Er ging iets mis bij het laden van uw exports. Probeer opnieuw of bekijk de fout hierboven voor details.",
"empty.export.noneTitle":"Nog geen exportfeeds",
"empty.export.noneMessage":"Maak een Google Shopping-, Meta- of aangepaste CSV/XML-feed om te kiezen welke producten en velden eruit gaan. Genereer een openbare URL voor Merchant Center of elke partner — of exporteer een subset via Producten.",
"empty.export.noMatchMessage":"Probeer een andere zoekterm.",
"empty.files.noneTitle":"Nog geen uploads",
"empty.files.noneMessage":"CSV-imports voor producten, categorieën en attributen verschijnen hier na upload. Na een platformmigratie zijn bestandsinhouden (blobs) niet gekopieerd — upload opnieuw als je die nodig hebt.",
"empty.dashboard.noJobsMessage":"Jobs verschijnen hier nadat u verwerking start vanuit Producten. Verrijk titels en beschrijvingen vóór export.",
"empty.stores.noneTitle":"Nog geen winkel verbonden",
"empty.stores.noneMessage":"Verbind WooCommerce of Shopify om catalogus en bestellingen te synchroniseren. Leveranciersbestand? Gebruik feed-URL of CSV-upload.",
"empty.stores.noneTitleMember":"Nog geen store verbonden",
"empty.stores.noneMessageMember":"Alleen bedrijfsadmins kunnen WooCommerce of Shopify verbinden. Vraag een admin om hulp, of gebruik Feed-URL/CSV als je rol dat toelaat.",
"empty.processing.noneMessage":"Start een job vanuit Producten wanneer je klaar bent. Voortgang en geschiedenis verschijnen hier.",
"empty.campaigns.unavailableTitle":"Campagnes niet beschikbaar",
"empty.campaigns.unavailableMessage":"De campagnedienst is niet bereikbaar. U kunt de wizard openen, maar genereren en verzenden wachten tot de dienst terug is.",
"empty.calendar.noneMessage":"Kalenderpresets verschijnen hier wanneer de marketing-API beschikbaar is.",
"empty.seo.noneTitle":"Geen catalogus om te scoren",
"empty.seo.noneMessage":"Verwerk eerst producten of voeg categorieën toe. SEO-scores verschijnen zodra er catalogusgegevens zijn.",
"empty.vector.unavailableTitle":"Vectorcategorieën niet beschikbaar",
"empty.vector.noMatchTitle":"Nog geen overeenkomsten",
"empty.vector.noMatchMessage":"Voer een productbeschrijving in en zoek om vectorcategorie-overeenkomsten te zien.",
"empty.structured.unavailableTitle":"Gestructureerde beschrijvingen niet beschikbaar",
"empty.structured.unavailableMessage":"Deze API zit nog niet op deze backend. U kunt Export ID-velden hier pas beheren als /api/structured-descriptions is aangesloten.",
"empty.structured.noneTitle":"Nog geen gestructureerde beschrijvingsvelden",
"empty.structured.noneMessage":"Voeg hier een veld toe of maak Export ID’s in een categoriebeschrijvingsformule — ze verschijnen voor exportfeeds.",
"empty.support.unavailableTitle":"Support niet beschikbaar",
"empty.support.noneTitle":"Nog geen tickets",
"empty.support.unavailableMessage":"De support-API is niet bereikbaar. Probeer zo opnieuw of open een nieuw ticket als de dienst online is.",
"empty.support.filterMessage":"Geen tickets komen overeen met deze status. Probeer een ander filter of maak een nieuw ticket.",
"empty.support.noneMessage":"Beschrijf uw probleem; ons team antwoordt in deze thread. U krijgt ook een in-app-melding wanneer medewerkers antwoorden.",
"empty.support.createTicket":"Ticket maken",
"empty.support.clearFilter":"Filter wissen",
"empty.support.ticketNotFoundTitle":"Ticket niet gevonden",
"empty.support.ticketNotFoundMessage":"Dit ticket is mogelijk verwijderd of u heeft geen toegang.",
"empty.support.noMessagesTitle":"Geen berichten",
"empty.support.noMessagesMessage":"Deze thread heeft nog geen berichten.",
"empty.settings.noApiKeysTitle":"Nog geen API-sleutels",
"empty.shopify.noOrdersTitle":"Nog geen bestellingen",
"empty.shopify.noOrdersMessage":"Bestellingen verschijnen nadat Shopify is verbonden en een orderimport loopt. Lege lijsten zijn normaal tot de eerste sync.",
"empty.woo.noOrdersTitle":"Nog geen bestellingen",
"empty.woo.noOrdersMessage":"Bestellingen verschijnen nadat WooCommerce is verbonden en een ordersync loopt. Lege lijsten zijn normaal tot de eerste sync.",
"empty.woo.noReviewsTitle":"Nog geen reviews",
"empty.woo.noReviewsMessage":"Reviews verschijnen nadat u een review-import vanuit een verbonden winkel in de wachtrij zet. Dit tabblad blijft bruikbaar met een lege lijst.",
"empty.admin.notPlatformMessage":"Uw account is aangemeld maar niet gemarkeerd als platform-admin. Vraag een bestaande admin om toegang, log uit en weer in.",
"empty.admin.noJobsFilter":"Geen taken voor dit filter.",
"support.unavailableBanner":"Ondersteuning is not fully beschikbaar yet. You can still prepare a ticket; submitting may wait until the service is ready.",
"support.yourTickets":"Jouw tickets",
"support.ticketCount":"{count} tickets",
"support.ticketCountOne":"{count} ticket",
"support.statusFilterSuffix":"· status {status}",
"support.filterByStatus":"Filteren by status",
"support.unavailableTitle":"Support niet beschikbaar",
"support.emptyTitle":"Nog geen tickets",
"support.unavailableEmpty":"De support-API is niet bereikbaar. Probeer zo opnieuw of open een nieuw ticket als de dienst online is.",
"support.emptyFiltered":"Geen tickets komen overeen met deze status. Probeer een ander filter of maak een nieuw ticket.",
"support.emptyHelp":"Beschrijf uw probleem; ons team antwoordt in deze thread. U krijgt ook een in-app-melding wanneer medewerkers antwoorden.",
"support.new.description":"Vertel waar je hulp bij nodig hebt. Voeg stappen, foutmeldingen of factuurgegevens toe indien relevant.",
"support.new.back":"Terug to tickets",
"support.new.details":"Ticketdetails",
"support.new.detailsHelp":"Status begint als open. Je kunt eerst een geautomatiseerd antwoord krijgen; een menselijke collega kan altijd overnemen in dezelfde thread.",
"products.description":"Blader, beoordeel en verwerk uw catalogus.",
"products.loadFailed":"Producten laden mislukt",
"products.unnamed":"Naamloos product",
"products.tabs.navLabel":"Productweergaven",
"products.tab.processed":"Verwerkt",
"products.tab.processedHint":"Voltooide producten klaar om te exporteren of synchroniseren",
"products.tab.needsReview":"Te beoordelen",
"products.tab.needsReviewHint":"Verrijkte producten om te accepteren, bewerken of afwijzen",
"products.tab.needsReviewShort":"Controleren",
"products.tab.error":"Fouten",
"products.tab.errorHint":"Producten die tijdens een job zijn mislukt",
"products.tab.processing":"Bezig",
"products.tab.processingHint":"Producten in een lopende job",
"products.tab.busy":"Bezig",
"products.tab.unprocessed":"Onverwerkt",
"products.tab.unprocessedHint":"Catalogusproducten die nog niet zijn verwerkt",
"products.tab.raw":"Onverwerkt",
"products.status.processed":"Verwerkt",
"products.status.needsReview":"Moet worden beoordeeld",
"products.status.processing":"Verwerking",
"products.status.error":"Fout",
"products.status.failed":"Mislukt",
"products.status.unprocessed":"Onverwerkt",
"products.status.pending":"In behandeling",
"products.status.unknown":"Onbekend",
"products.pagination.showing":"Weergave {start}–{end} van {total}",
"products.empty.processing.title":"Nog geen jobs",
"products.empty.processing.messageJobs":"Er draait nu niets. Start een job vanaf Onverwerkt, of open Verwerking om de voortgang te volgen.",
"products.empty.processing.messageBasic":"Producten verschijnen hier terwijl een job draait.",
"products.empty.needsReview.title":"Geen producten die beoordeling nodig hebben",
"products.empty.needsReview.message":"Na een taak landen verrijkte producten hier. Open een rij om te vergelijken, daarna Accepteren, bewerken of Afwijzen.",
"products.empty.error.title":"Geen producten met fouten",
"products.empty.error.message":"Als een taak voor een product mislukt, verschijnt het hier zodat u opnieuw kunt proberen.",
"categories.noCategoriesYet":"Nog geen categorieën",
"categories.noMatch":"Geen categorieën komen overeen met “{query}”. Wis de zoekopdracht of probeer een andere term.",
"categories.emptyHint":"Voeg een categorie toe of importeer een CSV om uw boom te bouwen.",
"categories.promptCountOne":"{count} categorie heeft een AI-generatieprompt. Open het menu ⋮ → AI-prompt bewerken, of bewerk een categorie en kies AI-prompt bewerken.",
"categories.promptCountMany":"{count} categorieën hebben een AI-generatieprompt. Open het menu ⋮ → AI-prompt bewerken, of bewerk een categorie en kies AI-prompt bewerken.",
"categories.actions":"Categorie-acties",
"categories.chooseCsv":"CSV kiezen",
"categories.createSingleOrImport":"Maak één categorie of importeer er veel via CSV.",
"fields.deleteFieldConfirm":"Deze actie kan niet ongedaan worden gemaakt. Het veld wordt permanent verwijderd en uit alle sjablonen gehaald die het gebruiken.",
"fields.deleteGroupConfirm":"Deze actie kan niet ongedaan worden gemaakt. De groep wordt permanent verwijderd. Velden in deze groep moeten opnieuw worden toegewezen.",
"fields.type.string":"Tekst",
"fields.type.stringHint":"Vrije tekst — namen, codes, korte notities",
"fields.type.number":"Nummer",
"fields.type.numberHint":"Numerieke waarde; voeg een eenheid toe indien nuttig (EUR, pcs)",
"attributes.type.multiselect.hint":"Kies een of meer opties uit een lijst",
"standardFields.title":"Standaardvelden",
"standardFields.description":"Definieer standaard productvelden en organiseer ze in groepen",
"standardFields.apiUnavailable":"De standaardvelden-API is niet beschikbaar. Wijzigingen kunnen niet worden opgeslagen.",
"standardFields.apiUnreachable":"De standaardvelden-API is nu niet bereikbaar. Maken/bewerken blijft uitgeschakeld tot /api/standard-fields en /api/field-groups reageren.",
"standardFields.deleteFieldDesc":"Deze actie kan niet ongedaan worden gemaakt. Het veld wordt permanent verwijderd en uit alle sjablonen gehaald die het gebruiken.",
"standardFields.deleteGroupDesc":"Deze actie kan niet ongedaan worden gemaakt. De groep wordt permanent verwijderd. Velden in deze groep moeten opnieuw worden toegewezen.",
"standardFields.type.string.label":"Tekst",
"standardFields.type.string.hint":"Vrije tekst — namen, codes, korte notities",
"standardFields.type.number.label":"Nummer",
"standardFields.type.number.hint":"Numerieke waarde; voeg een eenheid toe indien nuttig (EUR, pcs)",
"standardFields.type.boolean.label":"Ja / Nee",
"standardFields.type.boolean.hint":"Waar of onwaar",
"export.dialog.description":"Exporteer {count} geselecteerde product(en). Kies de exportfeed die formaat en velden bepaalt — zoals kiezen wat te synchroniseren, maar voor een download of partnerfeed.",
"export.dialog.loadFailed":"Exportfeedopties laden mislukt. Probeer het opnieuw.",
"export.dialog.selectPlaceholder":"Selecteer een exportfeed…",
"export.dialog.help":"Je selectie kiest de producten; de feed kiest kanaalformaat en gemapte velden.",
"export.dialog.emptyTitle":"Nog geen exportfeeds",
"export.dialog.emptyMessage":"Maak een exportfeed om formaat en velden te kiezen, en kom daarna terug om deze selectie te exporteren.",
"billing.checkoutComplete":"Checkout voltooid. Uw plan en credits worden zo vernieuwd.",
"billing.checkoutCompletePlan":"Plan bijgewerkt. Uw {plan}-credits zijn klaar.",
"billing.checkoutCanceled":"Checkout is geannuleerd. Er zijn geen wijzigingen aangebracht.",
"billing.portalReturned":"Terug van het factureringsportaal. Beheer uw plan hier of op Plans.",
"billing.comparePlans":"Plannen vergelijken",
"billing.managePayment":"Betaling beheren",
"billing.addCredits":"Credits toevoegen",
"billing.addingCredits":"Bezig met toevoegen…",
"billing.addCreditsTitle":"Credits toevoegen",
"billing.addCreditsDescription":"Alleen platformbeheerder. Credits zijn meteen beschikbaar voor AI-titels, beschrijvingen en andere betaalde stappen.",
"billing.creditAmount":"Creditbedrag",
"billing.invalidCreditAmount":"Voer een geldig creditaantal in.",
"billing.companyNotFound":"Bedrijf niet gevonden.",
"billing.creditsAdded":"{amount} credits zijn toegevoegd.",
"billing.addCreditsFailed":"Credits toevoegen mislukt. Platformbeheerderstoegang kan vereist zijn.",
"billing.planApplied":"Plan toegepast. Uw credits zijn klaar.",
"billing.checkoutFailed":"Afrekenen mislukt",
"billing.portalFailed":"Kon factureringsportaal niet openen",
"billing.checkoutUnavailable":"Self-serviceaankopen zijn niet beschikbaar totdat Stripe is geconfigureerd. Neem contact op met sales voor een abonnement.",
"billing.recovery.pastDueAdmin":"Uw abonnementsbetaling is mislukt. Werk de betaling bij in het Customer Portal — toegang blijft open tijdens deze respijtperiode.",
"billing.recovery.pastDueMember":"Facturering vereist aandacht. Vraag een bedrijfsbeheerder om de betaling bij te werken in het Customer Portal. Toegang blijft open tijdens deze respijtperiode.",
"billing.recovery.missingPlanTitle":"Geen plan toegewezen",
"billing.recovery.missingPlanMessage":"Dit bedrijf heeft geen actief plan (vaak na een overgeslagen migratie). Wijs een plan toe via Checkout of vraag support — ga niet uit van Unlimited-capaciteit.",
"billing.recovery.choosePlan":"Kies een plan",
"billing.upgrade":"Upgraden",
"billing.askCompanyAdmin":"Vraag een bedrijfsbeheerder",
"billing.memberHint":"Alleen bedrijfsbeheerders kunnen plannen wijzigen of Checkout openen.",
"billing.unlimitedPlanWallet":"Onbeperkt plan · wallet {wallet}",
"exports.editDescription":"Werk naam, status, opgenomen producten en gemapte velden bij.",
"exports.howToTitle":"Zo kies je wat je exporteert",
"exports.howTo.choose":"Wat in de feed komt",
"exports.howTo.chooseBody":"— stel bronfeed en productstatussen in bij aanmaken/bewerken zodat de openbare URL alleen die producten bevat.",
"exports.howTo.subset":"Eenmalige subset",
"exports.howTo.subsetBody":"— op",
"exports.howTo.productsLink":"Producten",
"exports.howTo.subsetTail":", selecteer rijen en Exporteer om alleen die producten te downloaden met formaat en velden van de feed.",
"exports.howTo.google":"Google Shopping",
"exports.howTo.googleBody":"— maak een CSV- of XML-preset, Generate, kopieer de openbare URL naar Merchant Center → Products → Feeds → scheduled fetch.",
"exports.howTo.meta":"Meta-catalogus",
"exports.howTo.metaBody":"— CSV-preset voor Commerce Manager-gegevensbronnen.",
"exports.howTo.custom":"Aangepaste CSV/XML",
"exports.howTo.customBody":"— elke partner; dezelfde openbare URL werkt voor cron-/webhook-pollers.",
"exports.loadErrorTitle":"Kon exportfeeds niet laden",
"exports.loadErrorBody":"Er ging iets mis bij het laden van uw exports. Probeer opnieuw of bekijk de fout hierboven voor details.",
"exports.tryAgain":"Opnieuw proberen",
"exports.emptyTitle":"Nog geen exportfeeds",
"exports.emptyBody":"Maak een Google Shopping-, Meta- of aangepaste CSV/XML-feed om te kiezen welke producten en velden eruit gaan. Genereer een openbare URL voor Merchant Center of elke partner — of exporteer een subset via Producten.",
"exports.fieldHelp":"Exports lezen verwerkte producten (met ruwe mapped_data als fallback). Gebruik eprel_* / energy_* voor EPREL-velden, spec.* voor één specificatie, of specifications.* om alle specs als XML-knooppunten uit te vouwen.",
"exports.saving":"Opslaan…",
"exports.saveChanges":"Wijzigingen opslaan",
"exports.createFeed":"Feed maken",
"exports.updated":"Exportfeed bijgewerkt.",
"exports.created":"Exportfeed aangemaakt.",
"exports.saveFailed":"Opslaan mislukt",
"exports.urlCopied":"Openbare {format}-feed-URL gekopieerd. Plak deze in elk systeem dat productfeeds ophaalt.",
"exports.copyFailed":"URL kopiëren naar klembord mislukt",
"exports.preset.google_shopping_csv.description":"Merchant Center-productfeed met de standaard Google-kolommen (id, title, price, gtin, …).",
"exports.preset.google_shopping_csv.hint":"Nadat u de feed hebt vernieuwd, kopieert u de openbare CSV-URL naar Google Merchant Center → Products → Feeds → Add feed → Scheduled fetch.",
"exports.preset.google_shopping_xml.description":"Dezelfde Google-kolommen als XML-elementen (g:id, g:title, …) voor Merchant Center-XML-feeds.",
"exports.preset.google_shopping_xml.hint":"Plak de openbare XML-URL in Merchant Center als scheduled fetch. Map ontbrekende winkelvelden (link, price) onder Field mappings indien nodig.",
"processing.description":"Live pipelinevoortgang voor productverwerkingstaken. Vernieuwt automatisch terwijl dit tabblad zichtbaar is. Voltooide taken linken naar Needs Review voor accepteren / bewerken / afwijzen.",
"processing.actions.freeNoAiTitle":"Free-plan — geen AI-credits",
"processing.actions.freeNoAiBody":"Normalize, specs, fill en EPREL draaien nog steeds. AI-titels/-beschrijvingen vereisen een betaald plan of credits.",
"processing.actions.confirmBody":"{count} product(en) op deze pagina verwerken voor {credits} credits. Credits worden verbruikt wanneer de taak start en kunnen niet via deze actie ongedaan worden gemaakt.",
"processing.receipt.cancelledDesc":"De zojuist gestarte taak is geannuleerd.",
"processing.receipt.cancelFailed":"Kon verwerkingstaak niet annuleren",
"unsubscribe.title":"Uitschrijven",
"unsubscribe.me":"Mij uitschrijven",
"unsubscribe.invalidLink":"Ongeldige link",
"unsubscribe.failedShort":"Uitschrijven mislukt",
"unsubscribe.already":"U bent al uitgeschreven.",
"unsubscribe.confirmPrompt":"Bevestig hieronder om u uit te schrijven voor marketingmails.",
"unsubscribe.done":"U bent uitgeschreven.",
"stores.title":"Stores en bronnen",
"stores.description":"Koppel elke winkel of leverancier op één plek — Woo, Shopify, feed-URL of CSV. Live winkels: producten Descrybe → winkel; orders/reviews winkel → Descrybe. Exporteer wanneer de catalogus klaar is.",
"stores.allInputFeeds":"Alle invoerfeeds",
"stores.exportFeeds":"Exportfeeds",
"stores.migrationNote":"Na een Descrybe-platformmigratie moeten WooCommerce- en Shopify-gegevens mogelijk opnieuw worden ingevoerd — dat is herverbinden, geen kapotte sync.",
"stores.docsPrefix":"Docs:",
"stores.docsApiOverview":"API-overzicht",
"stores.docsSuffix":"voor openbare producttoegang; gebruik hieronder WooCommerce of Shopify voor live winkelsync.",
"stores.connectorsHeading":"Winkel- en catalogusconnectors",
"stores.statusAria":"Status: {label}",
"stores.ctaAria":"{cta}: {title}",
"stores.startTitle":"Waar moet ik beginnen?",
"stores.startBody":"Woo-winkel → WooCommerce. Shopify of een ander platform → Feed-URL of CSV-upload. Klaar voor Merchant Center of partners → Exportfeeds (Google Shopping-preset of eigen velden). Na een migratie Woo/Shopify opnieuw verbinden voordat u sync verwacht.",
"stores.startBodyMember":"Vraag een bedrijfsadmin om WooCommerce of Shopify te verbinden. Je kunt verbonden stores nog openen om te syncen en te browsen, en Feed-URL, CSV of exportfeeds gebruiken als je plan dat toelaat.",
"stores.wizard.title":"Begeleide store-setup",
"stores.wizard.description":"Koppel een store, test de verbinding, zet de eerste productsync in de wachtrij en klaar.",
"stores.wizard.adminOnly":"Alleen bedrijfsadmins kunnen de begeleide store-setup uitvoeren (credentials opslaan en eerste sync). Je kunt verbonden stores nog openen.",
"stores.wizard.pickChannel":"Kies een store-connector",
"stores.wizard.pickChannelBody":"Kies WooCommerce of Shopify. Voltooi verbinden → testen → eerste sync op de connectorpagina en keer hier terug.",
"stores.woo.ctaReconnect":"Woo opnieuw verbinden",
"stores.woo.ctaOpen":"Woo openen",
"stores.woo.ctaConnect":"Woo verbinden",
"stores.woo.ctaView":"Woo bekijken",
"stores.shopify.title":"Shopify",
"stores.shopify.description":"Push producten Descrybe → Shopify. Pull orders Shopify → Descrybe. Reviews zijn niet beschikbaar via de Shopify Admin API.",
"stores.shopify.ctaReconnect":"Shopify opnieuw verbinden",
"stores.shopify.ctaOpen":"Shopify openen",
"stores.shopify.ctaConnect":"Shopify verbinden",
"stores.shopify.ctaView":"Shopify bekijken",
"stores.feedUrl.title":"Feed-URL",
"stores.feedUrl.description":"Pull any supplier or winkel catalog from a public CSV or XML URL on a schedule. Map fields, then sync.",
"stores.feedUrl.cta":"Feed-URL toevoegen",
"stores.csv.title":"CSV-upload",
"stores.csv.description":"Upload een product-CSV als invoerfeed. Ideaal voor eenmalige leveranciersbestanden of Shopify-admin-exports.",
"stores.csv.cta":"CSV uploaden",
"stores.export.title":"Export / REST",
"stores.export.description":"Publiceer Google Shopping of aangepaste CSV/XML met een openbare URL. Of haal producten op via API-sleutel (/api/v1).",
"stores.export.cta":"Exports openen",
"stores.apiKeys.title":"API-sleutels",
"stores.apiKeys.description":"Oude API-sleutels zijn niet gemigreerd. Maak in Instellingen een nieuwe sleutel om /api/v1-toegang te herstellen — het geheim wordt slechts één keer getoond.",
"stores.apiKeys.descriptionMember":"Bedrijfs-API-sleutels voor /api/v1. Legacy-sleutels zijn niet gemigreerd — alleen admins kunnen maken of intrekken; prefixes zie je in Instellingen.",
"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 bedrijf admins can change Shopify connection instellingen. Synchroniseren and browse stay beschikbaar.",
"shopify.noCredentialsMember":"Er staan nog geen Shopify-gegevens. Vraag een bedrijfsbeheerder de winkel te verbinden. Sync en bestellingen bekijken blijven beschikbaar nadat zij opslaan en de verbinding testen.",
"shopify.enterToken":"Referenties invoeren",
"shopify.noCredentials":"Geen Shopify-gegevens. Voer je *.myshopify.com-domein en Dev Dashboard Client ID + secret in (of een legacy Admin API-token), daarna Opslaan en Verbinding testen. Na een platformmigratie worden oude secrets niet overgenomen — verbind opnieuw met een verse token.",
"shopify.allConnectors":"Alle winkelconnectors",
"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.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.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.setup.scope.read_productsWhy":"Bestaande producten op SKU vinden vóór bijwerken",
"shopify.setup.scope.read_orders":"read_orders",
"shopify.setup.scope.read_ordersWhy":"Bestellingen importeren in Descrybe (inkomend)",
"shopify.setup.step1":"Als je Shopify vóór een platformmigratie hebt verbonden: maak een nieuwe Dev Dashboard-app (of verbind opnieuw met een verse legacy-token) — oude opgeslagen secrets worden niet overgenomen.",
"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.testHint":"Sla eerst je shopdomein en token op, en voer daarna Verbinding testen uit. Een geslaagde test bevestigt token en scopes vóór je sync in de wachtrij zet.",
"shopify.overwriteBodyCount":"Dit zet een uitgaande productpush in de wachtrij. {count} eerder gekoppelde Shopify-product(en) kunnen worden bijgewerkt met Descrybe-inhoud.",
"shopify.overwriteBody":"Dit zet een uitgaande productpush in de wachtrij. Overeenkomende Shopify-producten kunnen worden bijgewerkt met Descrybe-inhoud.",
"shopify.credentialsTitle":"Winkelreferenties",
"shopify.credentialsDesc.before":"Het shopdomein moet uw",
"shopify.credentialsDesc.code":"*.myshopify.com",
"shopify.credentialsDesc.after":"domain. Prefer Dev Dashboard Client ID + secret; legacy Admin API tokens still work.",
"shopify.ordersDesc":"Shopify → Descrybe — haal orders en regels naar Descrybe (schrijft niet terug naar Shopify).",
"shopify.ordersNeedsReconnect":"Bestellingenimport kan pas draaien als referenties na migratie opnieuw zijn verbonden. Op het tabblad Verbinding: Opslaan, daarna Verbinding testen.",
"shopify.notes.productsBody":"— verwerkte Descrybe-producten worden in Shopify aangemaakt of bijgewerkt (SKU-match via GraphQL als er geen gecachte Shopify-product-id is). Re-sync kan overeenkomende remote velden overschrijven.",
"shopify.notes.ordersBody":"— opgehaald voor rapportage en toekomstige audience-workflows.",
"shopify.notes.reviewsLabel":"Beoordelingen",
"shopify.notes.reviewsBody":"-- not ondersteuninged. Shopify has no first-party product reviews Admin API (third-party review apps are out of scope here).",
"shopify.notes.encryption.before":"Tokens worden versleuteld in rust met",
"woo.title":"WooCommerce-integratie",
"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":"Alleen bedrijfsadmins kunnen de WooCommerce-verbinding en mapping wijzigen. Synchroniseren en bladeren blijven beschikbaar.",
"woo.enterCredentials":"Referenties invoeren",
"woo.noCredentials":"Geen WooCommerce-gegevens. Voer de winkel-URL in, maak in WordPress een Read/Write REST API-sleutel, plak Consumer Key en Secret, daarna Opslaan en Verbinding testen. Na een platformmigratie worden oude secrets niet overgenomen — verbind opnieuw met een verse sleutel.",
"woo.noCredentialsMember":"Er staan nog geen WooCommerce-gegevens. Vraag een bedrijfsbeheerder de winkel te verbinden. Sync, bestellingen en reviews blijven beschikbaar nadat zij opslaan en de verbinding testen.",
"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":"Als je WooCommerce vóór een platformmigratie hebt verbonden: maak een nieuwe REST API-sleutel — oude opgeslagen gegevens zijn niet bruikbaar.",
"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.overwriteBodyCount":"Dit zet een uitgaande productpush in de wachtrij. {count} eerder gekoppelde WooCommerce-product(en) kunnen worden bijgewerkt met Descrybe-inhoud.",
"woo.overwriteBody":"Dit zet een uitgaande productpush in de wachtrij. Overeenkomende WooCommerce-producten kunnen worden bijgewerkt met Descrybe-inhoud.",
"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.ordersDesc":"WooCommerce → Descrybe — haal orders en regels naar Descrybe (schrijft niet terug naar de winkel).",
"woo.ordersNeedsReconnect":"Bestellingenimport kan pas draaien als referenties na migratie opnieuw zijn verbonden. Op het tabblad Verbinding: Opslaan, daarna Verbinding testen.",
"woo.syncSettingsTitle":"Sync-instellingen",
"woo.syncSettingsDesc":"Configureer hoe producten Descrybe → WooCommerce worden gepusht",
"woo.matchStrategy":"Productmatchingstrategie",
"woo.matchStrategyHelp":"Productpush (Descrybe → WooCommerce) matcht remote producten op SKU of EAN/GTIN. Zet syncs in de wachtrij via het tabblad Verbinding (handmatig).",
"products.edit.reviewBannerHelp":"Gebruik het tabblad Review om originelen vs AI te vergelijken. Sneltoetsen: A accepteren · R afwijzen · Alt+1/2 veld · ⌘/Ctrl+Enter alles accepteren.",
"products.edit.noAttrsYet":"No attribuut or specification data on this product yet.",
"products.edit.fromFeed":"Uit feed",
"products.edit.feedAttrsHelp":"Waarden geparseerd uit de feed (specificaties HTML, garantie, afmetingen, EPREL). Sleutels worden waar mogelijk aan attribute_key gekoppeld.",
"products.edit.editableAttributesHelp":"Wijzigingen worden opgeslagen in de productattributenmap. Feed- en AI-rijen hieronder blijven ter referentie als ze verschillen.",
"categories.aboutTitleFormulasHelp":"Titels worden van links naar rechts samengesteld uit de onderstaande elementen.",
"categories.variablesReplacedHelp":"Variabelen worden vervangen door productgegevens wanneer beschikbaar. Ontbrekende waarden worden overgeslagen.",
"categories.variableTypeHelp":"Dynamisch veld uit productgegevens (voorbeeld: merk).",
"categories.textTypeHelp":"Statische tekst die altijd verschijnt zoals geschreven.",
"categories.assignTitleCopyHelp":"Gebruik Toewijzen om deze formule te kopiëren naar andere categorieën die hetzelfde titelpatroon moeten delen.",
"categories.titleFormulaInvalid":"Deze titelformulepagina heeft een geldige categorie nodig. Ga terug naar categorieën en open Titelformule bewerken opnieuw.",
"categories.preview.title":"Titelvoorbeeld",
"categories.preview.description":"Zo worden uw producttitels gestructureerd",
"categories.noVariablesMatch":"Geen variabelen komen overeen met “{query}”.",
"categories.noUnusedVariables":"Geen ongebruikte variabelen meer. Voeg een aangepaste variabele toe of verwijder een element om er een vrij te maken.",
"categories.aiInstructionsBody":"Schrijf per sectie één duidelijke taak (wat te dekken, toon, lengte). Vage prompts geven vage tekst.",
"categories.exportIdsHeading":"Export-ID’s",
"categories.exportIdsBody":"Optionele ID’s mappen een sectie naar exportfeeds (bijvoorbeeld short_description).",
"categories.assignDescCopyHelp":"Gebruik Toewijzen om dit sjabloon te kopiëren naar andere categorieën met dezelfde structuur.",
"categories.descriptionFormulaInvalid":"Deze beschrijvingsformulepagina heeft een geldige categorie nodig. Ga terug naar categorieën en open Beschrijvingsformule bewerken opnieuw.",
"categories.aiPromptOverrides":"Overschrijft de bedrijfs-prompt voor productverbetering voor {name}",
"categories.promptTemplate":"Prompt-sjabloon",
"categories.promptTemplateHelp":"Gebruik plaatsaanduidingen zoals {{name}} en {{description}}. Laat leeg om de bedrijfsstandaard uit Integraties → AI te gebruiken.",
"categories.clear":"Wissen",
"categories.promptLabel":"Prompt",
"categories.charactersCount":"{count} tekens",
"categories.activeOverride":"· actieve overschrijving voor deze categorie",
"categories.usingCompanyDefault":"· bedrijfs-/ingebouwde standaard wordt gebruikt",
"categories.usingCompanyDefaultForLang":"· leeg voor deze taal — bedrijfs-/ingebouwde standaard geldt",
"categories.aiPromptSavedLang":"AI-prompt opgeslagen voor {lang}.",
"categories.aiPromptClearedLang":"AI-prompt gewist voor {lang} (bedrijfsstandaard geldt).",
"contentLang.resultsHint":"Wissel van taal om AI-titels en -beschrijvingen per contenttaal te bekijken.",
"contentLang.settingsTitle":"Contenttalen",
"contentLang.settingsHelp":"De primaire taal wordt standaard gebruikt. Extra talen krijgen eigen prompts en AI-resultaten (elke run verbruikt credits).",
"ai.prompts.languageHelp":"Bewerk bedrijfsprompts per contenttaal. Lege taal valt terug op de ingebouwde standaard voor die taal.",
"header.accountSettingsAria":"Accountinstellingen voor {email}",
"products.enrichment.resetTitle":"Terugzetten naar onverwerkt?",
"products.selectedOnPage":"{count} op deze pagina geselecteerd",
"products.selectionPageOnly":"{shown} van {total} — selectie alleen deze pagina",
"products.edit.coverageHint":"Hoeveel van Naam, Beschrijving, Attributen en Categorie aanwezig zijn (feed of verwerkt).",
"products.edit.noEprelShort":"Geen EPREL",
"products.edit.specs":"Specs",
"products.edit.reviewBannerBody":"Gebruik het tabblad Review om originelen vs AI te vergelijken. Sneltoetsen: A accepteren · R afwijzen · Alt+1/2 veld · ⌘/Ctrl+Enter alles accepteren.",
"products.edit.noMappedFields":"Geen gemapte feedvelden op dit product.",
"products.edit.emptyBadge":"Leeg",
"products.edit.coreBadge":"Kern",
"products.edit.feedAttrsHint":"Waarden geparseerd uit de feed (specificaties HTML, garantie, afmetingen, EPREL). Sleutels worden waar mogelijk aan attribute_key gekoppeld.",
"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.",
"categories.assignToCount":"Toewijzen aan {count}",
"categories.aiPromptSavedForCategory":"Er is een AI-generatieprompt opgeslagen voor deze categorie.",
"categories.titleAndDescriptionFormulasSaved":"Titel- en beschrijvingsformules zijn opgeslagen voor deze categorie.",
"categories.titleFormulaSavedForCategory":"Er is een titelformule opgeslagen voor deze categorie.",
"categories.descriptionFormulaSavedForCategory":"Er is een beschrijvingsformule opgeslagen voor deze categorie.",
"site.account":"Account",
"site.goToApp":"Naar de app",
"site.logIn":"Inloggen",
"site.getStarted":"Aan de slag",
"site.nav.primary":"Primair",
"site.nav.mobile":"Mobiel",
"site.nav.home":"Home",
"site.nav.pricing":"Prijzen",
"site.nav.apiDocs":"API-docs",
"seo.home.title":"Descrybe — Zet leveranciersfeeds om in kant-en-klare productpagina's",
"seo.home.description":"Koppel CSV- of XML-leveranciersfeeds, wijs ze toe aan uw categorieën en attributen, genereer titels en beschrijvingen volgens uw regels en exporteer of synchroniseer met WooCommerce.",
"seo.pricing.title":"Prijzen — Free, Starter, Growth, Business | Descrybe",
"seo.pricing.description":"Begin gratis met 100 producten en feed-mapping. Betaalde abonnementen voegen AI-titels en -beschrijvingen toe, meer SKU's, exportfeeds en WooCommerce-sync — vanaf 49 $/maand. Enterprise voor onbeperkte catalogi.",
"seo.privacy.title":"Privacybeleid | Descrybe",
"seo.privacy.description":"Hoe Descrybe accountgegevens, productcatalogi en leveranciersfeeds verzamelt, gebruikt en beschermt wanneer u ons productgegevensplatform gebruikt.",
"seo.terms.description":"Gebruiksvoorwaarden van Descrybe: feed-import, catalogusverrijking, AI-ondersteunde content, exporten en synchronisatie met WooCommerce voor uw bedrijf.",
"seo.features.title":"Functies — Feeds, verrijking en export | Descrybe",
"seo.features.description":"Ontdek hoe Descrybe leveranciersfeeds importeert, velden toewijst aan uw taxonomie, productgegevens verrijkt en catalogi levert via exportfeeds, WooCommerce of API.",
"pricing.page.eyebrow":"Prijzen",
"pricing.page.title":"Eenvoudige plannen voor groeiende catalogi",
"pricing.page.lead":"Begin gratis met feed-mapping en basisopschoning. Upgrade wanneer je AI-titels en -beschrijvingen, meer producten, exportfeeds of WooCommerce-sync nodig hebt — van Starter tot Enterprise.",
"pricing.page.subscribedBefore":"Al geabonneerd? Beheer gebruik onder",
"legal.privacy.intro.p1":"Bij Descrybe (\"wij\", \"ons\" of \"onze\") respecteren wij uw privacy en verbinden wij ons ertoe uw persoonsgegevens te beschermen. Dit Privacybeleid legt uit hoe wij uw gegevens verzamelen, gebruiken, openbaar maken en beschermen wanneer u het productgegevensplatform van Descrybe en de gerelateerde diensten (gezamenlijk de \"Diensten\") gebruikt.",
"legal.privacy.intro.p2":"Door toegang te krijgen tot of gebruik te maken van onze Diensten, stemt u in met de praktijken die in dit Privacybeleid worden beschreven. Als u niet akkoord gaat met de hier beschreven beleidsregels en praktijken, dient u onze Diensten niet te gebruiken.",
"legal.privacy.collect.h":"Gegevens die wij verzamelen",
"legal.privacy.collect.lead":"Wij verzamelen verschillende soorten gegevens van en over gebruikers van onze Diensten, waaronder:",
"legal.privacy.collect.personal.p":"Wanneer u zich registreert voor een account, verzamelen wij gegevens die kunnen worden gebruikt om u te identificeren, zoals uw naam, e-mailadres, telefoonnummer, bedrijfsnaam en factureringsgegevens. Wij verzamelen deze gegevens rechtstreeks van u wanneer u ze aan ons verstrekt.",
"legal.privacy.collect.userData.p":"Om onze Diensten te leveren, verzamelen en verwerken wij productgegevens, leveranciersfeeds, productbeschrijvingen en andere content die u uploadt, invoert of anderszins naar ons platform stuurt. Dit kan productattributen, taxonomiestructuren, sjablonen en andere gegevens omvatten die nodig zijn voor de werking van onze Diensten.",
"legal.privacy.collect.usage.p":"Wij verzamelen automatisch bepaalde gegevens over uw apparaat en over hoe u met onze Diensten omgaat, waaronder het IP-adres, het apparaattype, het browsertype, het besturingssysteem, toegangstijden, bekeken pagina's, gebruikte functies en andere systeemactiviteit. Wij gebruiken deze gegevens om onze Diensten en de gebruikerservaring te verbeteren.",
"legal.privacy.collect.cookies.h":"Cookies en trackingtechnologieën",
"legal.privacy.collect.cookies.p":"Wij gebruiken cookies, web beacons en vergelijkbare trackingtechnologieën om gegevens te verzamelen over uw browse-activiteiten op onze website. U kunt cookies beheren via de instellingen van uw browser en andere hulpmiddelen. Als u echter bepaalde cookies blokkeert, kunt u mogelijk niet alle functies van onze Diensten gebruiken.",
"legal.privacy.use.lead":"Wij gebruiken de gegevens die wij verzamelen voor verschillende doeleinden, waaronder:",
"legal.privacy.use.li1":"Het leveren, onderhouden en verbeteren van onze Diensten",
"legal.privacy.use.li2":"Het verwerken van transacties en het verzenden van gerelateerde informatie, waaronder bevestigingen, facturen en servicemeldingen",
"legal.privacy.use.li3":"Het ontwikkelen van nieuwe producten, diensten, functies en functionaliteiten",
"legal.privacy.use.li4":"Het personaliseren van uw ervaring en het aanbieden van content en functies die relevant zijn voor uw interesses",
"legal.privacy.use.li5":"Het reageren op uw verzoeken, feedback en vragen",
"legal.privacy.use.li6":"Het sturen van technische kennisgevingen, updates, beveiligingswaarschuwingen en berichten voor ondersteuning en beheer",
"legal.privacy.use.li7":"Het monitoren en analyseren van trends, gebruik en activiteiten in verband met onze Diensten",
"legal.privacy.use.li8":"Het detecteren, onderzoeken en voorkomen van frauduleuze transacties en andere illegale activiteiten",
"legal.privacy.use.li9":"Het beschermen van onze rechten, eigendom en veiligheid, evenals de rechten, eigendom en veiligheid van onze gebruikers of anderen",
"legal.privacy.use.li10":"Het naleven van wettelijke verplichtingen en het handhaven van onze servicevoorwaarden",
"legal.privacy.ai.h":"AI en machine learning",
"legal.privacy.ai.p1":"Onze Diensten gebruiken kunstmatige intelligentie en machine learning om productgegevens te verwerken, content te genereren en andere geautomatiseerde functies te bieden. De gegevens die u aan onze Diensten verstrekt, kunnen worden gebruikt om onze AI-modellen te trainen en te verbeteren. Wij passen echter passende waarborgen toe om uw gegevens te beschermen en de vertrouwelijkheid te waarborgen.",
"legal.privacy.ai.p2":"Wij gebruiken geen persoonsidentificeerbare informatie om onze algemene AI-modellen te trainen zonder uw uitdrukkelijke toestemming. Productgegevens die worden gebruikt voor AI-training worden waar mogelijk geanonimiseerd en geaggregeerd.",
"legal.privacy.share.providers.p":"Wij kunnen uw gegevens delen met externe leveranciers, dienstverleners, aannemers of agenten die namens ons diensten verrichten, zoals betalingsverwerking, data-analyse, e-mailverzending, hosting, klantenondersteuning en marketingondersteuning.",
"legal.privacy.share.transfers.p":"Als wij betrokken zijn bij een fusie, overname, financiering, reorganisatie, faillissement of verkoop van bedrijfsactiva, kunnen uw gegevens als onderdeel van die transactie worden overgedragen. Wij zullen u informeren over dergelijke wijzigingen in het eigendom of de controle van uw persoonsgegevens.",
"legal.privacy.share.legal.p":"Wij kunnen uw gegevens openbaar maken indien de wet dit vereist of in antwoord op geldige verzoeken van overheidsinstanties (bijv. een rechter of een overheidsorgaan). Wij kunnen uw gegevens ook openbaar maken om onze servicevoorwaarden te handhaven, onze rechten, privacy, veiligheid of eigendom te beschermen, en/of die van onze gelieerde ondernemingen, gebruikers of anderen.",
"legal.privacy.share.consent.p":"Wij kunnen uw gegevens met derden delen wanneer u ons daarvoor toestemming heeft gegeven.",
"legal.privacy.security.h":"Gegevensbeveiliging",
"legal.privacy.security.p1":"Wij hebben passende technische en organisatorische maatregelen geïmplementeerd die zijn ontworpen om uw persoonsgegevens te beschermen tegen onopzettelijk verlies en tegen ongeautoriseerde toegang, gebruik, wijziging en openbaarmaking. Alle informatie die u aan ons verstrekt, wordt opgeslagen op beveiligde servers achter firewalls.",
"legal.privacy.security.p2":"De beveiliging van uw gegevens hangt ook van u af. Wanneer wij u een wachtwoord hebben verstrekt (of u er een heeft gekozen) om toegang te krijgen tot bepaalde delen van onze Diensten, bent u verantwoordelijk voor het geheim houden van dat wachtwoord. Wij verzoeken u uw wachtwoord met niemand te delen.",
"legal.privacy.security.p3":"Helaas is de overdracht van gegevens via internet niet volledig veilig. Hoewel wij al het mogelijke doen om uw persoonsgegevens te beschermen, kunnen wij de beveiliging van persoonsgegevens die naar onze Diensten worden verzonden niet garanderen. Elke overdracht van persoonsgegevens geschiedt op uw eigen risico.",
"legal.privacy.rights.h":"Uw rechten en keuzes",
"legal.privacy.rights.lead":"Wij streven ernaar u keuzes te bieden met betrekking tot de persoonsgegevens die u aan ons verstrekt. Afhankelijk van uw locatie kunt u bepaalde rechten hebben met betrekking tot uw persoonsgegevens, waaronder:",
"legal.privacy.rights.li1":"Toegang tot en actualisering van uw persoonsgegevens",
"legal.privacy.rights.li2":"Verzoek tot verwijdering van uw persoonsgegevens",
"legal.privacy.rights.li3":"Bezwaar maken tegen of beperking van de verwerking van uw persoonsgegevens",
"legal.privacy.rights.li5":"Intrekking van de toestemming (waar van toepassing)",
"legal.privacy.rights.footer":"Om uw rechten uit te oefenen, kunt u contact met ons opnemen via de contactgegevens onderaan dit Privacybeleid. Houd er rekening mee dat sommige van deze rechten beperkt of niet van toepassing kunnen zijn, afhankelijk van uw locatie en de specifieke omstandigheden.",
"legal.privacy.retention.h":"Bewaring van gegevens",
"legal.privacy.retention.p1":"Wij bewaren uw persoonsgegevens zolang als nodig is om de doeleinden te vervullen die in dit Privacybeleid worden beschreven, tenzij de wet een langere bewaartermijn vereist of toestaat. Bij het bepalen hoe lang wij uw gegevens bewaren, houden wij rekening met de hoeveelheid, aard en gevoeligheid van de gegevens, het potentiële risico op schade door ongeautoriseerd gebruik of openbaarmaking, de verwerkingsdoeleinden en de toepasselijke wettelijke vereisten.",
"legal.privacy.retention.p2":"Wij kunnen bepaalde gegevens bewaren nadat u uw account heeft gesloten, onder meer om te voldoen aan onze wettelijke verplichtingen, geschillen op te lossen en onze overeenkomsten te handhaven.",
"legal.privacy.intl.p1":"Uw persoonsgegevens kunnen worden overgedragen naar en verwerkt in landen anders dan het land waar u woont. Dergelijke landen kunnen andere wetten inzake gegevensbescherming hebben dan die van uw land.",
"legal.privacy.intl.p2":"Als wij uw persoonsgegevens overdragen naar landen buiten de Europese Economische Ruimte of andere regio's met uitgebreide wetgeving inzake gegevensbescherming, zorgen wij ervoor dat er passende waarborgen bestaan om uw persoonsgegevens te beschermen en dat de overdracht voldoet aan de toepasselijke regelgeving inzake gegevensbescherming.",
"legal.privacy.children.h":"Privacy van minderjarigen",
"legal.privacy.children.p":"Onze Diensten zijn niet bestemd voor personen jonger dan 16 jaar, en wij verzamelen niet bewust persoonsgegevens van personen jonger dan 16 jaar. Als wij ontdekken dat wij persoonsgegevens hebben verzameld of ontvangen van een persoon jonger dan 16 jaar zonder verificatie van ouderlijke toestemming, zullen wij die gegevens verwijderen. Als u denkt dat wij gegevens van of over een persoon jonger dan 16 jaar zouden kunnen hebben, kunt u contact met ons opnemen.",
"legal.privacy.changes.h":"Wijzigingen in ons Privacybeleid",
"legal.privacy.changes.p1":"Wij kunnen ons Privacybeleid van tijd tot tijd bijwerken. Als wij wezenlijke wijzigingen aanbrengen in de wijze waarop wij persoonsgegevens van gebruikers verwerken, zullen wij u hiervan op de hoogte stellen per e-mail op het adres dat in uw account is vermeld en/of via een kennisgeving op onze website.",
"legal.privacy.changes.p2":"De datum van de laatste herziening van het Privacybeleid staat bovenaan de pagina. U bent verantwoordelijk voor het ervoor zorgen dat wij over een actueel, actief en bezorgbaar e-mailadres beschikken, en voor het periodiek bezoeken van onze website en dit Privacybeleid om te controleren op wijzigingen.",
"legal.privacy.contact.h":"Contact",
"legal.privacy.contact.lead":"Als u vragen of zorgen heeft over ons Privacybeleid of onze gegevenspraktijken, kunt u contact met ons opnemen via:",
"legal.terms.title":"Servicevoorwaarden",
"legal.terms.s1.h":"1. Aanvaarding van de voorwaarden",
"legal.terms.s1.p":"Door toegang te krijgen tot of gebruik te maken van het productgegevensplatform van Descrybe en de gerelateerde diensten (gezamenlijk de \"Diensten\"), stemt u ermee in gebonden te zijn aan deze Servicevoorwaarden en aan alle toepasselijke wet- en regelgeving. Als u niet akkoord gaat met een van deze voorwaarden, is het u verboden de Diensten te gebruiken of daartoe toegang te krijgen.",
"legal.terms.s2.h":"2. Gebruikslicentie",
"legal.terms.s2.p1":"Onder voorbehoud van naleving van deze Servicevoorwaarden verleent Descrybe u een beperkte, niet-exclusieve, niet-overdraagbare en herroepelijke licentie om toegang te krijgen tot en gebruik te maken van de Diensten voor bedrijfsdoeleinden.",
"legal.terms.s2.li1":"Het wijzigen of kopiëren van de Diensten of enige content daarvan",
"legal.terms.s2.li2":"Het gebruik van de Diensten voor enig commercieel doel anders dan het geautoriseerde bedrijfsgebruik",
"legal.terms.s2.li3":"Pogingen tot decompilatie of reverse engineering van enige software in de Diensten",
"legal.terms.s2.li4":"Het verwijderen van enig auteursrecht- of eigendomsvermelding van de materialen",
"legal.terms.s2.li5":"Het overdragen van de materialen aan een ander persoon of het \"spiegelen\" van de materialen op enige andere server",
"legal.terms.s2.p2":"Deze licentie eindigt automatisch als u een van deze beperkingen schendt en kan te allen tijde door Descrybe worden beëindigd.",
"legal.terms.s3.h":"3. Abonnement en betaling",
"legal.terms.s3.p1":"Toegang tot de Diensten kan een betaald abonnement vereisen. De betalingsvoorwaarden worden gespecificeerd tijdens het abonnementsproces. Alle betalingen zijn niet-restitueerbaar, tenzij Descrybe dit schriftelijk anders bepaalt.",
"legal.terms.s3.p2":"Descrybe behoudt zich het recht voor om abonnementstarieven te wijzigen met een redelijke kennisgeving. Voortgezet gebruik van de Diensten na een tariefwijziging vormt aanvaarding van de nieuwe tarieven.",
"legal.terms.s4.h":"4. Gebruikerscontent",
"legal.terms.s4.p1":"U behoudt alle rechten op enige content die u indient, plaatst of weergeeft op of via de Diensten (\"Gebruikerscontent\"). Door Gebruikerscontent aan Descrybe te verstrekken, verleent u Descrybe een wereldwijde, niet-exclusieve en royaltyvrije licentie om die content te gebruiken, te reproduceren, te wijzigen, aan te passen, te publiceren, te vertalen en te verspreiden in verband met het leveren van de Diensten.",
"legal.terms.s4.lead":"U verklaart en garandeert dat:",
"legal.terms.s4.li1":"U alle rechten bezit of beheert op de Gebruikerscontent die u verstrekt",
"legal.terms.s4.li2":"De Gebruikerscontent deze Servicevoorwaarden niet schendt",
"legal.terms.s4.li3":"De Gebruikerscontent geen schade zal toebrengen aan enige persoon of entiteit",
"legal.terms.s5.p1":"De Diensten maken gebruik van kunstmatige intelligentie en machine learning. U erkent dat door AI gegenereerde content mogelijk niet perfect is en stemt ermee in alle door AI gegenereerde content te controleren voordat u deze in uw bedrijfsactiviteiten gebruikt.",
"legal.terms.s5.p2":"Descrybe kan geanonimiseerde en geaggregeerde Gebruikerscontent gebruiken om onze AI-modellen te trainen en te verbeteren, onder voorbehoud van ons Privacybeleid. U kunt ervoor kiezen niet toe te staan dat uw gegevens worden gebruikt voor AI-training door contact met ons op te nemen.",
"legal.terms.s6.h":"6. Intellectuele eigendom",
"legal.terms.s6.p":"De Diensten en de oorspronkelijke content, functies en functionaliteit daarvan zijn eigendom van Descrybe en worden beschermd door internationale wetten inzake auteursrechten, merken, octrooien, handelsgeheimen en andere intellectuele-eigendoms- of eigendomsrechten.",
"legal.terms.s7.h":"7. Uitsluiting van garanties",
"legal.terms.s7.p1":"De Diensten worden geleverd \"zoals ze zijn\" en \"zoals beschikbaar\". Descrybe doet geen garanties, uitdrukkelijk of stilzwijgend, en doet hierbij afstand van alle garanties, met inbegrip van, zonder beperking, de stilzwijgende garanties van verkoopbaarheid, geschiktheid voor een bepaald doel, niet-inbreuk of handelsgebruik.",
"legal.terms.s7.p2":"Descrybe garandeert niet dat de Diensten ononderbroken, veilig of beschikbaar zullen functioneren op een bepaald moment of op een bepaalde plaats, noch dat fouten of gebreken zullen worden gecorrigeerd.",
"legal.terms.s8.h":"8. Beperking van aansprakelijkheid",
"legal.terms.s8.lead":"In geen geval is Descrybe aansprakelijk voor indirecte, incidentele, speciale, gevolg- of punitieve schade, met inbegrip van, zonder beperking, verlies van winst, gegevens, gebruik, goodwill of andere immateriële verliezen, voortvloeiend uit:",
"legal.terms.s8.li1":"Uw toegang tot of gebruik van, of het onvermogen tot toegang tot of gebruik van, de Diensten",
"legal.terms.s8.li2":"Enig gedrag of enige content van derden op de Diensten",
"legal.terms.s8.li3":"Enige content verkregen van de Diensten",
"legal.terms.s8.li4":"Ongeautoriseerde toegang tot, gebruik of wijziging van uw transmissies of content",
"legal.terms.s9.h":"9. Beëindiging",
"legal.terms.s9.p1":"Descrybe kan uw toegang tot de Diensten onmiddellijk beëindigen of opschorten, zonder voorafgaande kennisgeving of aansprakelijkheid, om welke reden dan ook, met inbegrip van, zonder beperking, als u deze Servicevoorwaarden schendt.",
"legal.terms.s9.p2":"Na beëindiging eindigt uw recht om de Diensten te gebruiken onmiddellijk. Als u uw account wilt beëindigen, kunt u eenvoudigweg stoppen met het gebruik van de Diensten of contact met ons opnemen om verwijdering van het account te verzoeken.",
"legal.terms.s10.h":"10. Toepasselijk recht",
"legal.terms.s10.p":"Deze Voorwaarden worden beheerst door en geïnterpreteerd in overeenstemming met de wetten van Slovenië, zonder rekening te houden met de beginselen inzake conflicterende wetten.",
"legal.terms.s11.h":"11. Wijzigingen in de voorwaarden",
"legal.terms.s11.p":"Descrybe behoudt zich het recht voor om deze Servicevoorwaarden te allen tijde te wijzigen of te vervangen. Het is uw verantwoordelijkheid om deze Voorwaarden periodiek te controleren op wijzigingen. Voortgezet gebruik van de Diensten na publicatie van enige wijziging vormt aanvaarding van die wijzigingen.",
"legal.terms.s12.h":"12. Contact",
"legal.terms.s12.lead":"Als u vragen heeft over deze Servicevoorwaarden, kunt u contact met ons opnemen via:",
"plans.loadFailed":"Abonnementen konden niet worden geladen",
"plans.loading":"Abonnementen laden…",
"plans.apiUnavailable":"De abonnementen-API is nog niet beschikbaar op deze backend. De openbare prijsvergelijking wordt weergegeven.",
"plans.title":"Kies uw abonnement",
"plans.sub.onPrefix":"U bent op",
"plans.sub.enterpriseSuffix":"— onbeperkte producten en AI. Een zelfbedieningsupgrade is niet nodig.",
"plans.sub.paygSuffix":"— betalen naar gebruik. Vergelijk de openbare abonnementen hieronder of neem contact op met sales voor Enterprise.",
"plans.sub.creditsSuffix":"Upgrade Starter → Growth → Business via Checkout, of neem contact op met sales voor Enterprise.",
"plans.sub.none":"Er is nog geen abonnement toegewezen (bijvoorbeeld na een overgeslagen migratie). Kies hieronder een abonnement — de capaciteit is niet Onbeperkt totdat Checkout of een beheerder er een toewijst.",
"plans.checkoutUnavailable":"Self-service-checkout is niet beschikbaar totdat Stripe is geconfigureerd. Neem contact op met sales voor een abonnement.",
"plans.cta.switchInBilling":"Wisselen in facturering",
"plans.cta.upgradeTo":"Upgraden naar {name}",
"plans.cta.startingCheckout":"Checkout starten…",
"plans.planApplied":"Abonnement {plan} toegepast. Uw credits zijn klaar.",
"plans.faq.title":"Veelgestelde vragen",
"plans.faq.limit.q":"Wat gebeurt er als ik een limiet bereik?",
"plans.faq.limit.a":"U ziet eerst zachte waarschuwingen. Wanneer u geen AI-credits meer heeft of de SKU-limiet bereikt, worden taken die die capaciteit nodig hebben geblokkeerd totdat u ruimte vrijmaakt, wacht op de volgende cyclus of het abonnement upgradet.",
"plans.faq.selfServe.q":"Kan ik zelf upgraden?",
"plans.faq.selfServe.a":"Bedrijfsbeheerders kunnen Starter, Growth en Business zelf afsluiten via Checkout op de abonnementskaart. Leden moeten een beheerder vragen — Checkout vereist de beheerdersrol. Enterprise gaat altijd via sales. Platformbeheerders kunnen nog steeds abonnementen toewijzen in Billing Admin.",
"plans.faq.enterprise.q":"Enterprise en miljoenen SKU's",
"plans.faq.enterprise.a":"Maatwerkcapaciteit, eigen AI-sleutel (BYOK), SLA en accountbeheer gaan via sales. Reserveer tijd via Calendly — Enterprise is geen zelfbediening op schaal van miljoenen SKU's. De app toont Onbeperkt voor SKU- en AI-capaciteit.",
"plans.faq.pricing.q":"Waar staat de openbare prijs?",
"plans.faq.pricing.aBefore":"Bekijk de marketingvergelijking op de",
"plans.faq.pricing.pricingPage":"Prijzenpagina",
"plans.faq.pricing.aMid":"— de CTA's zijn Beginnen (registratie) of Contact sales. Beheer het gebruik op elk moment in",
"plans.faq.pricing.aAfter":".",
"plans.custom.title":"Heeft u een abonnement op maat nodig?",
"plans.custom.body":"Enterprise-capaciteit, eigen AI-sleutel en SLA's worden met ons team geregeld.",
"plans.custom.looking":"Zoekt u details van de openbare abonnementen?",
"ai.title":"AI-integraties",
"ai.description":"Kies platformcredits of je eigen sleutel en pas prompts aan met variabelen.",
"ai.crumb":"AI-integraties",
"ai.adminOnly":"Alleen bedrijfsbeheerders kunnen AI-instellingen wijzigen. Je kunt de huidige configuratie bekijken.",
"ai.providerMode.desc":"Het platform gebruikt Descrybe-credits en onze sleutel. Populair of Aangepast gebruikt je OpenAI-compatibele sleutel (de provider-aanroep zelf verbruikt geen platformcredits; creditregels voor functies gelden nog steeds).",
"email.blast.body":"Dit is een bezorgingscontrole naar één adres van Descrybe om te bevestigen dat je e-mailintegratie kan verzenden. Ontvanger: {recipient}",
"seo.description":"Checklist-scores voor catalogusmeta, titels, afbeeldingen en zoekwoorden. Sjablooninvulling is gratis; AI-herschrijving is betaald.",
"seo.upgradeTitle":"AI-herschrijving is een betaalde functie",
"seo.upgradeMessage":"Free-abonnementen kunnen ontbrekende meta nog steeds herstellen met op regels gebaseerde sjablonen. Upgrade of voeg credits toe om AI-herschrijvingen te gebruiken.",
"seo.comparePlans":"Abonnementen vergelijken",
"seo.openProducts":"Producten openen",
"seo.overallScore":"Algemene SEO-score",
"seo.overallScoreHint":"Gemiddelde over checklistitems",
"seo.productsScanned":"Producten gescand",
"seo.productsScannedHint":"Verwerkte producten in het bedrijf",
"brand.description":"Definieer stem, richtlijnen en kleuren zodat producttitels en -beschrijvingen on-brand blijven.",
"brand.loading":"Brand kit laden…",
"brand.adminOnly":"Alleen bedrijfsbeheerders kunnen de brand kit bewerken. Je kunt de huidige stem, kleuren en logo bekijken.",
"brand.aiApplyFreeAdmin":"Je kunt je brand kit bewerken op Free. AI-toepassing (merkstem injecteren in enhance-prompts) wordt ontgrendeld vanaf Starter.",
"brand.aiApplyGated":"AI-toepassing (merkstem injecteren in enhance-prompts) wordt ontgrendeld vanaf Starter.",
"brand.aiEnhanceUses":"AI-enhance gebruikt deze merkstem bij het verwerken van producten.",
"brand.comparePlans":"Abonnementen vergelijken",
"brand.voice.title":"Stem & richtlijnen",
"brand.voice.desc":"Toon, do/don’t-regels en voorkeursformuleringen",
"brand.field.voiceTone":"Stem / toon",
"brand.placeholder.voiceTone":"bijv. Zelfverzekerd, beknopt, technisch maar toegankelijk",
"brand.field.dos":"Do (één per regel)",
"brand.placeholder.dos":"Begin met het hoofdvoordeel\nHoud titels onder de 80 tekens",
"brand.field.donts":"Don’t (één per regel)",
"brand.placeholder.donts":"Geen HOOFDLETTERS\nVermijd superlatieven zonder bewijs",
"brand.field.preferredTerms":"Voorkeurstermen (één per regel of kommagescheiden)",
"structured.intro":"Deze velden worden automatisch aangemaakt wanneer je Export IDs toevoegt aan de secties van je beschrijvingsformule. Ze kunnen in je exportfeeds worden gebruikt om specifieke delen van je productbeschrijvingen op te nemen.",
"structured.addField":"Veld toevoegen",
"structured.openCategories":"Categorieën openen",
"structured.tableCaption":"Deze velden structureren delen van productbeschrijvingen voor export.",
"consent.description":"We gebruiken noodzakelijke cookies om Descrybe te laten werken. Optionele analytics- en marketingcookies helpen ons gebruik te begrijpen en campagnes te meten. U kunt uw keuze altijd wijzigen.",
"consent.necessaryDesc":"Vereist voor inloggen, beveiliging (CSRF), thema, taal en het onthouden van deze keuze.",
"consent.alwaysOn":"Altijd aan",
"consent.analytics":"Analytics",
"consent.analyticsDesc":"Helpt ons te begrijpen hoe het product wordt gebruikt (Google Analytics via GTM).",
"consent.marketing":"Marketing",
"consent.marketingDesc":"Voor advertentiemeting en personalisatie wanneer ads-tags in GTM zijn geconfigureerd.",
"consent.policyLink":"Lees ons Cookiebeleid",
"seo.cookies.title":"Cookiebeleid | Descrybe",
"seo.cookies.description":"Hoe Descrybe noodzakelijke, analytics- en marketingcookies gebruikt, inclusief GTM en GA4, en hoe u toestemming wijzigt.",
"legal.cookies.title":"Cookiebeleid",
"legal.cookies.intro.h":"Overzicht",
"legal.cookies.intro.p1":"Dit Cookiebeleid legt uit hoe Descrybe cookies en vergelijkbare technologieën gebruikt op website en applicatie. Lees het samen met ons Privacybeleid.",
"legal.cookies.intro.p2":"Waar vereist vragen we toestemming voordat analytics- of marketingcookies worden ingeschakeld. Noodzakelijke cookies leveren de dienst veilig en vereisen geen toestemming.",
"legal.cookies.types.h":"Cookiecategorieën",
"legal.cookies.necessary.h":"Noodzakelijk",
"legal.cookies.necessary.p":"Houden u ingelogd, beschermen formulieren met CSRF, slaan thema en taal op en onthouden uw cookiekeuze. Zonder hen werkt het product niet correct.",
"legal.cookies.analytics.h":"Analytics",
"legal.cookies.analytics.p":"Als u analytics toestaat, laden we GTM-tags die GA4-cookies kunnen zetten om pagina’s en events te meten. Events blijven geblokkeerd tot analytics_storage is verleend.",
"legal.cookies.marketing.h":"Marketing",
"legal.cookies.marketing.p":"Als u marketing toestaat, kunnen advertentietags in GTM ad-opslag en gerelateerde signalen gebruiken voor meting en personalisatie.",
"legal.cookies.gtm.h":"Google Tag Manager en GA4",
"legal.cookies.gtm.p":"Indien geconfigureerd laadt Descrybe een GTM-container. GA4 wordt daarin geconfigureerd. Consent Mode v2 weigert standaard analytics- en ads-opslag tot u de categorieën accepteert.",
"legal.cookies.third.h":"Derden",
"legal.cookies.third.p":"Google (Tag Manager / Analytics) kan bij toestemming technische gegevens verwerken zoals URL’s, apparaat/browser en eventnamen. We sturen bewust geen wachtwoorden, API-sleutels of contactgegevens in analytics-events.",
"legal.cookies.manage.h":"Toestemming wijzigen",
"legal.cookies.manage.p":"Gebruik Cookie-instellingen in de footer (of de knop hieronder) om de banner opnieuw te openen. U kunt ook sitegegevens in de browser wissen.",
"site.privacyPolicy":"Privacybeleid",
"site.termsOfService":"Servicevoorwaarden",
"site.legalNav":"Juridisch",
"site.footer.aria":"Site",
"site.footer.description":"Descrybe zet leveranciersfeeds om in schone, kanaalklare productcatalogi — map velden, verrijk attributen en listingteksten, exporteer of synchroniseer daarna met WooCommerce.",
"home.hero.tagline":"Productdata voor ecommerce-teams",
"home.hero.title":"Van leveranciersfeeds naar productpagina's",
"home.hero.lead":"Koppel leveranciersfeeds, map ze naar je categorieën, vul verplichte attributen in en schrijf titels en beschrijvingen volgens jouw regels — exporteer of synchroniseer daarna met je winkel.",
"home.hero.learnMore":"Meer informatie",
"home.hero.apply":"Toegang aanvragen",
"home.hero.supportedBy":"Ondersteund door",
"home.hero.msAlt":"Microsoft for Startups",
"home.image.previewAlt":"Descrybe-platformvoorbeeld: van feed naar productpagina",
"home.how.title":"Zo bespaart Descrybe tijd bij het op de markt brengen van producten",
"home.how.lead":"Importeer rommelige leveranciersdata één keer. Descrybe helpt je categoriseren, attributen invullen, listingteksten schrijven en kant-en-klare producten naar je kanalen sturen.",
"home.how.apply":"Toegang aanvragen",
"home.how.step1.title":"Importeer je taxonomie",
"home.how.step1.desc":"Stel de categorieën en attributen in die je winkel al gebruikt",
"home.how.step1.f1":"Definieer verplichte attributen per categorie",
"home.how.step1.f2":"Stel titelformules per categorie in",
"home.how.step1.f3":"Stel sjablonen in voor beschrijving en zoeksnippet",
"home.benefits.shield.desc":"Controleer productdata tegen je categorieregels zodat ontbrekende attributen en dunne teksten worden hersteld voordat ze live gaan.",
"home.benefits.chart.desc":"Titels en beschrijvingen die benadrukken wat shoppers belangrijk vinden — voordelen, specificaties en zoektermen die bij je catalogus passen.",
"home.benefits.database.desc":"Houd dezelfde categorizatiestructuur en attribuutvorm aan over exports en kanalen, zodat klanten producten overal op dezelfde manier vinden.",
"home.benefits.cost.desc":"Automatiseer mapping, attribuutvulling en listingteksten zodat je team tijd besteedt aan merchandising — niet aan spreadsheetopschoning.",
"home.benefits.scale.title":"Klaar voor elk verkoopkanaal",
"home.benefits.scale.desc":"Vorm exportfeeds en WooCommerce-sync naar de formaten die elk kanaal verwacht, zonder de catalogus handmatig opnieuw op te bouwen.",
"home.cta.titleLead":"Breng producten sneller ",
"home.cta.titleHighlight":"op de markt",
"home.cta.description":"Stop met productdata opnieuw opbouwen uit elk leveranciersbestand. Map één keer, verrijk met jouw regels en publiceer listings die klaar zijn om te verkopen.",
"home.cta.f1":"Persoonlijke demo",
"home.cta.f2":"Expertconsult",
"home.cta.f3":"Duidelijke vervolgstappen",
"home.cta.apply":"Toegang aanvragen",
"home.cta.imageAlt":"Descrybe-productpagina's",
"home.product.eyebrow":"Wat Descrybe doet",
"home.product.title":"Leveranciersfeeds in. Kant-en-klare listings uit — export, WooCommerce of API.",
"home.product.description":"Descrybe helpt ecommerce-teams leveranciers-CSV- en XML-feeds om te zetten in schone productcatalogi. Map velden naar je categorieën, verrijk attributen en listingteksten, en lever data via exportfeeds, WooCommerce-sync of de publieke API.",
"home.product.pipelineAria":"Productpipeline",
"home.product.p1.label":"Feeds in",
"home.product.p1.detail":"CSV / XML vanaf leveranciers-URL's",
"home.product.p2.label":"Mappen",
"home.product.p2.detail":"Koppel kolommen aan je velden",
"pricing.section.title":"Begin gratis. Schaal mee als je catalogus groeit.",
"pricing.section.lead":"Free omvat feedmapping, basisproductopschoning en EU-energielabels (EPREL) voor tot 100 SKU's (geen AI-credits). Betaalde plannen voegen AI-titels en -beschrijvingen, meer capaciteit en exportopties toe — Starter, Growth, Business, of neem contact op met sales voor Enterprise.",
"pricing.faq.credits.a":"AI-credits betalen stappen zoals het genereren van titels en beschrijvingen. Free bevat 0 AI-credits — je kunt nog steeds feeds mappen en productdata opschonen. Betaalde maandpakketten: Starter 150, Plus 500, Growth 1.200, Business 4.000, Scale 8.000. Enterprise bevat een groot beheerd pakket (en je eigen AI-sleutel). Vanaf Growth kun je optioneel AI op je eigen sleutel draaien in plaats van beheerde 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":"Wat gebeurt er als ik mijn product- of creditlimiet bereik?",
"pricing.faq.limits.a":"We waarschuwen je wanneer je dichtbij komt. Als je je productplafond bereikt of AI-credits opraken, pauzeren jobs die die capaciteit nodig hebben tot je ruimte vrijmaakt, wacht op de volgende factureringscyclus of upgrade.",
"pricing.faq.change.q":"Kan ik upgraden of downgraden?",
"pricing.faq.change.a":"Ja. Begin op Free en upgrade daarna naar Starter, Plus, Growth, Business of Scale via Plannen of Facturering (Stripe Checkout). Enterprise is altijd sales-gestuurd.",
"pricing.faq.free.q":"Wat zit er in Free?",
"pricing.faq.free.a":"Voor altijd Free: 50 producten, één feed, dataopschoning en attribuutvulling, EU-energielabels (EPREL — openbare data, geen credits), plus één handmatige export — met 0 AI-credits. Geen creditcard. Upgrade wanneer je AI-titels, -beschrijvingen of meer capaciteit nodig hebt.",
"pricing.faq.why.q":"Waarom niet per product betalen zoals content-only tools?",
"pricing.faq.why.a":"Descrybe is gebouwd voor het volledige pad van leveranciersfeed via catalogus naar WooCommerce of export — niet alleen AI-teksten. Je betaalt voor platformcapaciteit (producten en feeds); AI is een gebruikslaag daarbovenop.",
"pricing.faq.annual.a":"Jaarlijkse facturering is ongeveer 20% goedkoper dan de maandelijkse prijs. Begin gratis en kies jaarlijks in Checkout bij upgrade (of neem contact op met sales).",
"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.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":"Duidelijke antwoorden over plannen, credits en wat Free omvat.",
"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":"Geen items gevonden.",
"settings.tabLockedHint":"Not on your plan",
"stores.connectorLocked":"Not on your plan",
"stores.connectorUpgrade":"Upgrade to unlock",
"plan.upgrade.title":"Deze functie zit niet in je plan",
"plan.upgrade.message":"Upgrade om dit deel van Descrybe te ontgrendelen.",
"plan.upgrade.defaultMessage":"Je huidige plan bevat dit deel van Descrybe niet. Upgrade om het te ontgrendelen, of vraag een bedrijfsadmin als je de facturatie niet kunt wijzigen.",
"plan.upgrade.sectionOff.title":"Deze functie is tijdelijk niet beschikbaar",
"plan.upgrade.sectionOff.message":"Dit deel van Descrybe staat momenteel uit op het platform. Dit is geen upgradeprobleem — probeer later opnieuw of neem contact op met support.",
"plan.upgrade.sectionOff.cta":"Terug naar dashboard",
"plan.upgrade.stores.message":"WooCommerce- en Shopify-connectors vereisen een plan met Stores. Upgrade om die winkels te koppelen — of blijf werken met feeds en de API op je huidige plan.",
"plan.upgrade.stillWorks.title":"Wat nog werkt op je plan",
"vector.description":"Doorzoek de vectorcategorie-index wanneer Pinecone is geconfigureerd. Index maken en initialiseren zijn in v2 nog niet beschikbaar.",
"vector.initComingSoon":"Index maken en Vector-DB initialiseren zijn in v2 nog niet beschikbaar (binnenkort). Zoeken werkt nog steeds wanneer Pinecone is geconfigureerd.",
"storeReconnect.primaryLabel":"Winkel opnieuw verbinden",
"storeReconnect.titlePlural":"Winkels opnieuw verbinden na migratie",
"storeReconnect.titleChannel":"{channel} opnieuw verbinden na migratie",
"storeReconnect.titleSingular":"Winkel opnieuw verbinden na migratie",
"storeReconnect.messageWithItems":"Winkel-API-referenties zijn niet overgenomen (of niet bruikbaar) na de platformmigratie. Dit is geen kapotte sync — verbind elke winkel opnieuw en Test verbinding voordat je een sync in de wachtrij zet.",
"storeReconnect.messageSingle":"{channel}-API-referenties zijn niet overgenomen (of niet bruikbaar) na de platformmigratie. Dit is geen kapotte sync — plak nieuwe referenties, Opslaan, en Test verbinding voordat je een sync in de wachtrij zet.",
"storeReconnect.channelFallback":"Winkel",
"storeReconnect.askAdmin":"Vraag een bedrijfsbeheerder om opnieuw te verbinden — alleen beheerders kunnen winkelreferenties opslaan.",
"storeReconnect.reconnectItem":"{label} opnieuw verbinden",
"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).",
"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":"Reviews-import kan pas draaien als referenties na migratie opnieuw zijn verbonden. Op het tabblad Verbinding: Opslaan, daarna Verbinding testen.",
"storeReconnect.ordersHint":"Bestellingenimport kan pas draaien als referenties na migratie opnieuw zijn verbonden. Op het tabblad Verbinding: Opslaan, daarna Verbinding testen.",
"productSync.outboundBody":"— stuurt verwerkte Descrybe-producten naar de winkel (maakt of werkt overeenkomende remote producten bij). Importeert de winkelcatalogus niet naar Descrybe.",
"productSync.firstSync":"Eerste sync",
"productSync.firstSyncBody":"— niet-overeenkomende producten worden in {channel} aangemaakt. Latere syncs werken producten bij die al gekoppeld zijn via id of matchstrategie.",
"productSync.reSync":"Opnieuw synchroniseren",
"productSync.reSyncBody":"— overeenkomende remote producten kunnen worden overschreven met Descrybe-inhoud ({count} tot nu toe gekoppeld).",
"productSync.queued":"Productsync in wachtrij",
"productSync.live.queued":"In wachtrij — wachten op worker",
"productSync.live.running":"Sync bezig",
"productSync.live.watching":"Status volgen… tellingen verschijnen als de run klaar is.",
"productSync.needsReconnect":"Productsync kan pas draaien als referenties na migratie opnieuw zijn verbonden. Op het tabblad Verbinding: Opslaan, daarna Verbinding testen.",
"productSync.scheduleHelp":"Net als feed-intervallen: stel in hoe vaak Descrybe producten naar de winkel pusht, of pauzeer het schema. Handmatige wachtrij blijft werken tijdens pauze. Store-webhooks worden niet gebruikt — alleen polling/wachtrij.",
"productSync.delivery.title":"Updates via polling, niet via store-webhooks",
"productSync.delivery.body":"Descrybe ontvangt geen Shopify- of WooCommerce-webhooks. Product-pushes draaien wanneer je ze in de wachtrij zet of volgens het automatische schema. Deze pagina volgt voortgang door de verbindingsstatus te pollen — niet via live store push-events.",
"productSync.delivery.inboundNote":"Bestellingen en reviews gebruiken ook wachtrij-pulls (gepland of handmatig), geen live webhooks.",
"productSync.delivery.hubNote":"Store-connectors synchroniseren op schema of wanneer je een job in de wachtrij zet — niet via live store-webhooks.",